From 57bdd9fdb062292726e7101eda1d8e21c97d1ec3 Mon Sep 17 00:00:00 2001 From: caxanga334 <10157643+caxanga334@users.noreply.github.com> Date: Mon, 30 Dec 2024 03:22:56 -0300 Subject: [PATCH] Add Gamedata For Half-Life 1: Deathmatch Source (#2237) --- gamedata/sdkhooks.games/game.hl1mp.txt | 124 ++++++++++++++++ gamedata/sdkhooks.games/master.games.txt | 4 + gamedata/sdktools.games/game.hl1mp.txt | 176 +++++++++++++++++++++++ gamedata/sdktools.games/master.games.txt | 4 + 4 files changed, 308 insertions(+) create mode 100644 gamedata/sdkhooks.games/game.hl1mp.txt create mode 100644 gamedata/sdktools.games/game.hl1mp.txt diff --git a/gamedata/sdkhooks.games/game.hl1mp.txt b/gamedata/sdkhooks.games/game.hl1mp.txt new file mode 100644 index 000000000..dac18a30b --- /dev/null +++ b/gamedata/sdkhooks.games/game.hl1mp.txt @@ -0,0 +1,124 @@ +"Games" +{ + "hl1mp" + { + "Offsets" + { + "Blocked" + { + "windows" "102" + "linux" "103" + } + "EndTouch" + { + "windows" "100" + "linux" "101" + } + "FireBullets" + { + "windows" "112" + "linux" "113" + } + "GroundEntChanged" + { + "windows" "177" + "linux" "179" + } + "OnTakeDamage" + { + "windows" "62" + "linux" "63" + } + "OnTakeDamage_Alive" + { + "windows" "272" + "linux" "273" + } + "PreThink" + { + "windows" "332" + "linux" "333" + } + "PostThink" + { + "windows" "333" + "linux" "334" + } + "Reload" + { + "windows" "270" + "linux" "271" + } + "SetTransmit" + { + "windows" "20" + "linux" "21" + } + "ShouldCollide" + { + "windows" "16" + "linux" "17" + } + "Spawn" + { + "windows" "22" + "linux" "23" + } + "StartTouch" + { + "windows" "98" + "linux" "99" + } + "Think" + { + "windows" "47" + "linux" "48" + } + "Touch" + { + "windows" "99" + "linux" "100" + } + "TraceAttack" + { + "windows" "60" + "linux" "61" + } + "Use" + { + "windows" "97" + "linux" "98" + } + "VPhysicsUpdate" + { + "windows" "157" + "linux" "158" + } + "Weapon_CanSwitchTo" + { + "windows" "266" + "linux" "267" + } + "Weapon_CanUse" + { + "windows" "260" + "linux" "261" + } + "Weapon_Drop" + { + "windows" "263" + "linux" "264" + } + "Weapon_Equip" + { + "windows" "261" + "linux" "262" + } + "Weapon_Switch" + { + "windows" "264" + "linux" "265" + } + } + } +} diff --git a/gamedata/sdkhooks.games/master.games.txt b/gamedata/sdkhooks.games/master.games.txt index f7f23c0e2..b6249593b 100644 --- a/gamedata/sdkhooks.games/master.games.txt +++ b/gamedata/sdkhooks.games/master.games.txt @@ -224,4 +224,8 @@ { "game" "gmod9" } + "game.hl1mp.txt" + { + "game" "hl1mp" + } } diff --git a/gamedata/sdktools.games/game.hl1mp.txt b/gamedata/sdktools.games/game.hl1mp.txt new file mode 100644 index 000000000..49abb0a36 --- /dev/null +++ b/gamedata/sdktools.games/game.hl1mp.txt @@ -0,0 +1,176 @@ +/** + * Do not edit this file. Any changes will be overwritten by the gamedata + * updater or by upgrading your SourceMod install. + * + * To override data in this file, create a subdirectory named "custom" and + * place your own gamedata file(s) inside of it. Such files will be parsed + * after SM's own. + * + * For more information, see http://wiki.alliedmods.net/Gamedata_Updating_(SourceMod) + */ + +"Games" +{ + /* General GameRules */ + "#default" + { + "Offsets" + { + /* Offset into CreateGameRulesObject */ + "g_pGameRules" + { + "windows" "5" + } + } + + "Signatures" + { + /* This signature sometimes has multiple matches, but this + * does not matter as g_pGameRules is involved in all of them. + * The same g_pGameRules offset applies to each match. + * + * Sometimes this block of bytes is at the beginning of the static + * CreateGameRulesObject function and sometimes it is in the middle + * of an entirely different function. This depends on the game. + */ + "CreateGameRulesObject" + { + "library" "server" + "windows" "\x55\x8B\xEC\x8B\x0D\x2A\x2A\x2A\x2A\x85\xC9\x74\x2A\x8B\x01\x6A\x01" + } + "g_pGameRules" + { + "library" "server" + "linux" "@g_pGameRules" + } + } + } + + /* CBaseEntityOutput::FireOutput */ + "#default" + { + "Signatures" + { + "FireOutput" + { + "library" "server" + "windows" "\x55\x8B\xEC\x81\xEC\x24\x01\x00\x00\x53\x8B\xC1" + "linux" "@_ZN17CBaseEntityOutput10FireOutputE9variant_tP11CBaseEntityS2_f" + } + } + } + + /* CBaseAnimating::LookupAttachment */ + "#default" + { + "Signatures" + { + /* Windows: Called with string "vehicle_driver_eyes" as the second parameter */ + "LookupAttachment" + { + "library" "server" + "windows" "\x55\x8B\xEC\x56\x8B\xF1\x80\xBE\x2A\x2A\x2A\x2A\x00\x75\x2A\x83\xBE\x2A\x2A\x2A\x2A\x00\x75\x2A\xE8\x2A\x2A\x2A\x2A\x85\xC0\x74\x2A\x8B\xCE\xE8\x2A\x2A\x2A\x2A\x8B\x86\x2A\x2A\x2A\x2A\x85\xC0\x74\x2A\x83\x38\x00\x74\x2A\xFF\x75\x2A\x50\xE8\x2A\x2A\x2A\x2A\x83\xC4\x08\x40" + "linux" "@_ZN14CBaseAnimating16LookupAttachmentEPKc" + } + } + } + + /* Half-Life Deathmatch: Source */ + "hl1mp" + { + "Offsets" + { + "SetOwnerEntity" + { + "windows" "17" + "linux" "18" + } + "GiveNamedItem" + { + "windows" "400" + "linux" "401" + } + "RemovePlayerItem" + { + "windows" "270" + "linux" "271" + } + "Weapon_GetSlot" + { + "windows" "268" + "linux" "269" + } + "Ignite" + { + "windows" "209" + "linux" "210" + } + "Extinguish" + { + "windows" "213" + "linux" "214" + } + "Teleport" + { + "windows" "108" + "linux" "109" + } + "CommitSuicide" + { + "windows" "439" + "linux" "439" + } + "GetVelocity" + { + "windows" "140" + "linux" "141" + } + "EyeAngles" + { + "windows" "131" + "linux" "132" + } + "AcceptInput" + { + "windows" "36" + "linux" "37" + } + "SetEntityModel" + { + "windows" "24" + "linux" "25" + } + "WeaponEquip" + { + "windows" "261" + "linux" "262" + } + "Activate" + { + "windows" "33" + "linux" "34" + } + "PlayerRunCmd" + { + "windows" "418" + "linux" "419" + } + "GiveAmmo" + { + "windows" "252" + "linux" "253" + } + "GetAttachment" + { + "windows" "205" + "linux" "206" + } + } + + "Keys" + { + "GameRulesProxy" "CHL1MPGameRulesProxy" + "GameRulesDataTable" "hl1mp_gamerules_data" + } + } +} diff --git a/gamedata/sdktools.games/master.games.txt b/gamedata/sdktools.games/master.games.txt index 1c4f9c078..50a5e1188 100644 --- a/gamedata/sdktools.games/master.games.txt +++ b/gamedata/sdktools.games/master.games.txt @@ -285,4 +285,8 @@ { "game" "gmod9" } + "game.hl1mp.txt" + { + "game" "hl1mp" + } }