Add gamedata for Black Mesa.

This commit is contained in:
Nicholas Hastings 2015-05-06 22:01:29 -04:00
parent 64f9aedebc
commit 9164730b07
8 changed files with 406 additions and 0 deletions

View File

@ -236,6 +236,7 @@
"game" "berimbau"
"game" "cstrike"
"game" "synergy"
"game" "bms"
}
"Keys"

View File

@ -0,0 +1,60 @@
/**
* 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"
{
/* CGlobalEntityList */
"#default"
{
"Offsets"
{
/* Offset into LevelShutdown */
"gEntList"
{
"windows" "11"
}
}
"Signatures"
{
"LevelShutdown"
{
"library" "server"
"windows" "\xE8\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\xB9\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\xE8"
"linux" "\xE8\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\xC7\x2A\x2A\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\xE8"
}
"gEntList"
{
"library" "server"
"linux" "@gEntList"
"mac" "@gEntList"
}
}
}
"#default"
{
"Keys"
{
"UseInvalidUniverseInSteam2IDs" "1"
}
"Offsets"
{
"EntInfo"
{
"windows" "4"
"linux" "4"
"mac" "4"
}
}
}
}

View File

@ -50,6 +50,11 @@
"engine" "sdk2013"
}
"engine.bms.txt"
{
"engine" "bms"
}
"engine.css.txt"
{
"engine" "css"

View File

@ -0,0 +1,129 @@
"Games"
{
"#default"
{
"Offsets"
{
"Blocked"
{
"windows" "108"
"linux" "109"
"mac" "109"
}
"EndTouch"
{
"windows" "106"
"linux" "107"
"mac" "107"
}
"FireBullets"
{
"windows" "119"
"linux" "120"
"mac" "120"
}
"OnTakeDamage"
{
"windows" "66"
"linux" "67"
"mac" "67"
}
"OnTakeDamage_Alive"
{
"windows" "287"
"linux" "288"
"mac" "288"
}
"PreThink"
{
"windows" "349"
"linux" "350"
"mac" "350"
}
"PostThink"
{
"windows" "350"
"linux" "351"
"mac" "351"
}
"SetTransmit"
{
"windows" "20"
"linux" "21"
"mac" "21"
}
"ShouldCollide"
{
"windows" "16"
"linux" "17"
"mac" "17"
}
"Spawn"
{
"windows" "22"
"linux" "23"
"mac" "23"
}
"StartTouch"
{
"windows" "104"
"linux" "105"
"mac" "105"
}
"Think"
{
"windows" "48"
"linux" "49"
"mac" "49"
}
"Touch"
{
"windows" "105"
"linux" "106"
"mac" "106"
}
"TraceAttack"
{
"windows" "64"
"linux" "65"
"mac" "65"
}
"VPhysicsUpdate"
{
"windows" "155"
"linux" "156"
"mac" "156"
}
"Weapon_CanSwitchTo"
{
"windows" "281"
"linux" "282"
"mac" "282"
}
"Weapon_CanUse"
{
"windows" "275"
"linux" "276
"mac" "276"
}
"Weapon_Drop"
{
"windows" "278"
"linux" "279"
"mac" "279"
}
"Weapon_Equip"
{
"windows" "276"
"linux" "277"
"mac" "277"
}
"Weapon_Switch"
{
"windows" "279"
"linux" "280"
"mac" "280"
}
}
}
}

View File

@ -179,4 +179,9 @@
{
"game" "hl2ctf"
}
"game.bms.txt"
{
"game" "bms"
}
}

View File

@ -0,0 +1,200 @@
/**
* 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 Temp Entities */
"#default"
{
"Offsets"
{
"GetTEName"
{
"windows" "4"
"linux" "4"
"mac" "4"
}
"GetTENext"
{
"windows" "8"
"linux" "8"
"mac" "8"
}
"TE_GetServerClass"
{
"windows" "0"
"linux" "0"
"mac" "0"
}
}
}
/* CBaseEntityOutput::FireOutput */
"#default"
{
"Signatures"
{
"FireOutput"
{
"library" "server"
"windows" "\x55\x8B\xEC\x81\xEC\x2A\x2A\x2A\x2A\xA1\x2A\x2A\x2A\x2A\x33\xC5\x89\x45\xFC\x53\x8B\x5D\x20\x8B\xC1\x8B\x4D\x1C\x56\x57\x8B"
"linux" "@_ZN17CBaseEntityOutput10FireOutputE9variant_tP11CBaseEntityS2_f"
"mac" "@_ZN17CBaseEntityOutput10FireOutputE9variant_tP11CBaseEntityS2_f"
}
}
}
/* SetUserInfo data */
"#default"
{
"Offsets"
{
/**
* CBaseClient::SetUserCVar(char const*,char const*);
* Linux offset straight from VTable dump.
* Windows offset is crazy. Found the windows SetName function using string "(%d)%-0.*s"
* Cross referenced back to the vtable and counted manually (SetUserCvar is 1 higher, offsets start from 1)
*/
"SetUserCvar"
{
"windows" "18"
"linux" "58"
"mac" "58"
}
/**
* CBaseClient::SetName(char const*);
* Linux offset straight from VTable dump.
* Has string "(%d)%-0.*s"
*/
"SetClientName"
{
"windows" "17"
"linux" "57"
"mac" "57"
}
/**
* Offset into CBaseClient - Used by CBaseServer::UpdateUserSettings to determine when changes have been made.
* Find CBaseClient::UpdateUserSettings (strings "net_maxroutable", "cl_updaterate" etc) and the offset is set to 0 near the end.
* Linux: mov byte ptr [esi+98h], 0
* Win: mov byte ptr [esi+0A4h], 0
*/
"InfoChanged"
{
"windows" "140"
"linux" "140"
"mac" "140"
}
}
}
"#default"
{
"Offsets"
{
"GiveNamedItem"
{
"windows" "418"
"linux" "419"
"mac" "419"
}
"RemovePlayerItem"
{
"windows" "285"
"linux" "286"
"mac" "286"
}
"Weapon_GetSlot"
{
"windows" "283"
"linux" "284"
"mac" "284"
}
"Ignite"
{
"windows" "222"
"linux" "223"
"mac" "223"
}
"Extinguish"
{
"windows" "226"
"linux" "227"
"mac" "227"
}
"Teleport"
{
"windows" "115"
"linux" "116"
"mac" "116"
}
"CommitSuicide"
{
"windows" "458"
"linux" "458"
"mac" "458"
}
"GetVelocity"
{
"windows" "148"
"linux" "149"
"mac" "149"
}
"EyeAngles"
{
"windows" "138"
"linux" "139"
"mac" "139"
}
"SetEntityModel"
{
"windows" "24"
"linux" "25"
"mac" "25"
}
"AcceptInput"
{
"windows" "37"
"linux" "38"
"mac" "38"
}
"WeaponEquip"
{
"windows" "276"
"linux" "277"
"mac" "277"
}
"Activate"
{
"windows" "34"
"linux" "35"
"mac" "35"
}
"PlayerRunCmd"
{
"windows" "437"
"linux" "438"
"mac" "438"
}
"GiveAmmo"
{
"windows" "267"
"linux" "268"
"mac" "268"
}
}
"Keys"
{
"GameRulesProxy" "CTFGameRulesProxy"
"GameRulesDataTable" "tf_gamerules_data"
}
}
}

View File

@ -243,4 +243,8 @@
{
"game" "nmrih"
}
"game.bms.txt"
{
"game" "bms"
}
}

View File

@ -150,6 +150,7 @@ CopyFiles('gamedata/sdkhooks.games', 'addons/sourcemod/gamedata/sdkhooks.games',
'game.ag2.txt',
'game.alienswarm.txt',
'game.aoc.txt',
'game.bms.txt',
'game.cspromod.txt',
'game.cstrike.txt',
'game.dinodday.txt',
@ -195,6 +196,7 @@ CopyFiles('gamedata/sdktools.games', 'addons/sourcemod/gamedata/sdktools.games',
'game.alienswarm.txt',
'game.aoc.txt',
'game.bg2.txt',
'game.bms.txt',
'game.cspromod.txt',
'game.cstrike.txt',
'game.dinodday.txt',