diff --git a/gamedata/core.games/engine.swarm.txt b/gamedata/core.games/engine.swarm.txt index e422de4c..7673c509 100644 --- a/gamedata/core.games/engine.swarm.txt +++ b/gamedata/core.games/engine.swarm.txt @@ -12,14 +12,8 @@ "Games" { /* CGlobalEntityList */ - "#default" + "swarm" { - "#supported" - { - "game" "swarm" - "game" "reactivedrop" - } - "Offsets" { /* Offset into LevelShutdown */ @@ -43,4 +37,36 @@ } } } + + "reactivedrop" + { + /* + * Alien Swarm: Reactive Drop + * Symbol Server: https://symsrv.reactivedrop.com + */ + + "Offsets" + { + /* Offset into "LevelShutdown" */ + "gEntList" + { + "windows" "28" + } + + "EntInfo" + { + "windows" "4" + } + } + + "Signatures" + { + /* CGlobalEntityList::Clear() */ + "LevelShutdown" + { + "library" "server" + "windows" "\x55\x8B\xEC\x51\xA1\x2A\x2A\x2A\x2A\xC6\x05\x2A\x2A\x2A\x2A\x01" + } + } + } } diff --git a/gamedata/sdkhooks.games/game.reactivedrop.txt b/gamedata/sdkhooks.games/game.reactivedrop.txt index 18c49e5e..7d16bea4 100644 --- a/gamedata/sdkhooks.games/game.reactivedrop.txt +++ b/gamedata/sdkhooks.games/game.reactivedrop.txt @@ -1,20 +1,25 @@ "Games" { + /* + * Alien Swarm: Reactive Drop + * Symbol Server: https://symsrv.reactivedrop.com + */ + "#default" { "Offsets" { "EndTouch" { - "windows" "102" + "windows" "104" } "FireBullets" { - "windows" "115" + "windows" "117" } "GetMaxHealth" { - "windows" "119" + "windows" "121" } "OnTakeDamage" { @@ -22,11 +27,11 @@ } "PreThink" { - "windows" "347" + "windows" "349" } "PostThink" { - "windows" "348" + "windows" "350" } "SetTransmit" { @@ -42,7 +47,7 @@ } "StartTouch" { - "windows" "100" + "windows" "102" } "Think" { @@ -50,7 +55,7 @@ } "Touch" { - "windows" "101" + "windows" "103" } "TraceAttack" { @@ -58,31 +63,31 @@ } "Use" { - "windows" "99" + "windows" "101" } "VPhysicsUpdate" { - "windows" "160" + "windows" "162" } "Weapon_CanSwitchTo" { - "windows" "283" + "windows" "285" } "Weapon_CanUse" { - "windows" "277" + "windows" "279" } "Weapon_Drop" { - "windows" "280" + "windows" "282" } "Weapon_Equip" { - "windows" "278" + "windows" "280" } "Weapon_Switch" { - "windows" "281" + "windows" "283" } } } diff --git a/gamedata/sdktools.games/game.reactivedrop.txt b/gamedata/sdktools.games/game.reactivedrop.txt index 21ae7896..db0e354f 100644 --- a/gamedata/sdktools.games/game.reactivedrop.txt +++ b/gamedata/sdktools.games/game.reactivedrop.txt @@ -1,6 +1,9 @@ "Games" { - /* Alien Swarm: Reactive Drop */ + /* + * Alien Swarm: Reactive Drop + * Symbol Server: https://symsrv.reactivedrop.com + */ /* General Temp Entities */ "#default" @@ -10,16 +13,17 @@ /* Offset into CBaseTempEntity constructor */ "s_pTempEntities" { - "windows" "16" + "windows" "17" } } "Signatures" { + /* Ctor is inlined. This is CTEMetalSparks::CTEMetalSparks instead */ "CBaseTempEntity" { "library" "server" - "windows" "\x55\x8B\xEC\x8B\x45\x08\x89\x41\x04\xC7\x01" + "windows" "\x55\x8B\xEC\x8B\x45\x08\x0F\x57\xC0\x0F\x2E\x41\x0C" } } } @@ -33,7 +37,7 @@ "FindEntityByClassname" { "library" "server" - "windows" "\x55\x8B\xEC\x53\x56\x8B\xF1\x8B\x4D\x08\x57\x85\xC9\x74\x2A\x8B\x01\xFF\x50\x08\x8B\x00\x83\xF8\xFF\x75\x2A\xB8\xFF\x1F\x00\x00\x40\x03\xC0\x8B\x34\xC6\xEB\x2A\x0F\xB7\xC0\x40\x03\xC0\x8B\x34\xC6\xEB\x2A\x8B\xB6\x04\x00\x02\x00\x85\xF6\x74\x2A\x8B\x5D\x0C\x8B\x3E\x85\xFF\x75\x2A\x68\x2A\x2A\x2A\x2A\xFF\x15\x2A\x2A\x2A\x2A\x83\xC4\x04\xEB\x2A\x39\x5F\x5C" + "windows" "\x55\x8B\xEC\x8B\x4D\x08\x53\x56\x57\x85\xC9\x74\x2A\x8B\x01\xFF\x50\x08\xBE\xFF\x1F\x00\x00\x8B\x00\x83\xF8\xFF\x74\x2A\x0F\xB7\xF0\xC1\xE6\x04\x8B\xB6\x2A\x2A\x2A\x2A\xEB\x2A\x8B\x35\x2A\x2A\x2A\x2A\x85\xF6\x74\x2A\x8B\x5D\x0C\x0F\x1F\x80\x00\x00\x00\x00\x8B\x3E\x85\xFF\x75\x2A\x68\x2A\x2A\x2A\x2A\xFF\x15\x2A\x2A\x2A\x2A\x83\xC4\x04\xEB\x2A\x39\x5F\x5C" } } } @@ -46,7 +50,7 @@ "EntityFactory" { "library" "server" - "windows" "\xA1\x2A\x2A\x2A\x2A\xA8\x01\x75\x2A\x83\xC8\x01\xB9\x2A\x2A\x2A\x2A\xA3\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\x68\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\x83\xC4\x04\xB8\x2A\x2A\x2A\x2A" + "windows" "\x64\xA1\x2C\x00\x00\x00\x8B\x0D\x2A\x2A\x2A\x2A\x8B\x0C\x88\xA1\x2A\x2A\x2A\x2A\x3B\x81\x04\x00\x00\x00\x7F\x2A\xB8\x2A\x2A\x2A\x2A\xC3\x68\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\x83\xC4\x04\x83\x3D\x2A\x2A\x2A\x2A\xFF\x75\x2A\xA1\x2A\x2A\x2A\x2A" } } } @@ -59,7 +63,7 @@ "FireOutput" { "library" "server" - "windows" "\x55\x8B\xEC\x81\xEC\x20\x01\x00\x00\x53\x8B\xC1" + "windows" "\x55\x8B\xEC\x83\xE4\xF0\x81\xEC\x78\x01\x00\x00\x8B\xC1" } } } @@ -70,23 +74,23 @@ { "Ignite" { - "windows" "219" + "windows" "221" } "Extinguish" { - "windows" "222" + "windows" "224" } "Teleport" { - "windows" "111" + "windows" "113" } "GetVelocity" { - "windows" "144" + "windows" "146" } "EyeAngles" { - "windows" "135" + "windows" "137" } "AcceptInput" { @@ -102,7 +106,7 @@ } "PlayerRunCmd" { - "windows" "442" + "windows" "444" } }