gamedata/sdktools.games/engine.bgt.txt
author Asher Baker <asherkin@gmail.com>
Wed Aug 22 23:23:31 2012 +0100 (2012-08-22)
changeset 3623 3fd87cb487f8
parent 3353 c73d0ba1110b
permissions -rw-r--r--
Updated cstrike gamedata.
     1 /**
     2  * Do not edit this file.  Any changes will be overwritten by the gamedata
     3  * updater or by upgrading your SourceMod install.
     4  *
     5  * To override data in this file, create a subdirectory named "custom" and
     6  * place your own gamedata file(s) inside of it.  Such files will be parsed
     7  * after SM's own.
     8  *
     9  * For more information, see http://wiki.alliedmods.net/Gamedata_Updating_(SourceMod)
    10  */
    11 
    12 "Games"
    13 {
    14 	/* General Temp Entities */
    15 	"#default"
    16 	{
    17 		"Offsets"
    18 		{
    19 			/* Offset into CBaseTempEntity constructor */
    20 			"s_pTempEntities"
    21 			{
    22 				"windows"	"17"
    23 			}
    24 			"GetTEName"
    25 			{
    26 				"windows"	"4"
    27 			}
    28 			"GetTENext"
    29 			{
    30 				"windows"	"8"
    31 			}
    32 			"TE_GetServerClass"
    33 			{
    34 				"windows"	"0"
    35 			}
    36 		}
    37 
    38 		"Signatures"
    39 		{
    40 			"CBaseTempEntity"
    41 			{
    42 				"library"	"server"
    43 				"windows"	"\x8B\xC1\x8B\x4C\x24\x04\xC7\x00\x2A\x2A\x2A\x2A\x89\x48\x04\x8B\x15\x2A\x2A\x2A\x2A\x89\x50\x08\xA3\x2A\x2A\x2A\x2A\xC2\x04\x00"
    44 			}
    45 		}
    46 	}
    47 	
    48 
    49 	/* CGlobalEntityList */
    50 	"#default"
    51 	{
    52 		"Signatures"
    53 		{
    54 			/* Functions in CGlobalEntityList */
    55 			"FindEntityByClassname"
    56 			{
    57 				"library"	"server"
    58 				"windows"	"\x53\x55\x56\x8B\xF1\x8B\x2A\x2A\x2A\x85\xC9\x57\x74\x2A\x8B\x01\x8B\x50\x2A\xFF\xD2\x8B\x00\x25\xFF\x0F\x00\x00\x83\xC0\x2A\xC1\xE0\x2A\x8B\x3C\x30\xEB\x2A\x8B\xBE\x2A\x2A\x2A\x2A\x85\xFF\x74\x2A\x8B\x2A\x2A\x2A\x8B\x2A\x2A\x2A\x2A\x2A\xEB\x2A\x8D\x2A\x2A\x8B\x37\x85\xF6\x75\x2A\x68\x2A\x2A\x2A\x2A\xFF\x2A\x83\xC4\x2A\xEB\x2A\x39"
    59 			}
    60 		}
    61 	}
    62 
    63 	/* General GameRules */
    64 	"#default"
    65 	{
    66 		"Offsets"
    67 		{
    68 			/* Offset into CreateGameRulesObject */
    69 			"g_pGameRules"
    70 			{
    71 				"windows"	"2"
    72 			}
    73 		}
    74 		
    75 		"Signatures"
    76 		{
    77 			/* This signature sometimes has multiple matches, but this
    78 			 * does not matter as g_pGameRules is involved in all of them.
    79 			 * The same g_pGameRules offset applies to each match.
    80 			 *
    81 			 * Sometimes this block of bytes is at the beginning of the static
    82 			 * CreateGameRulesObject function and sometimes it is in the middle
    83 			 * of an entirely different function. This depends on the game.
    84 			 */
    85 			"CreateGameRulesObject"
    86 			{
    87 				"library"	"server"
    88 				"windows"	"\x8B\x0D\x2A\x2A\x2A\x2A\x85\xC9\x74\x2A\x8B\x01\x8B\x50\x2A\x6A\x01\xFF\xD2"
    89 			}
    90 		}
    91 	}
    92 
    93 	/* IServer interface pointer */
    94 	"#default"
    95 	{
    96 		"Keys"
    97 		{
    98 			"CreateFakeClient_Windows"	"\x8B\x44\x24\x2A\x50\xB9\x2A\x2A\x2A\x2A\xE8"
    99 		}
   100 		"Offsets"
   101 		{
   102 			/* Offset into IVEngineServer::CreateFakeClient */
   103 			"sv"
   104 			{
   105 				"windows"	"6"
   106 			}
   107 		}
   108 	}
   109 	
   110 	/* EntityFactoryDictionary function */
   111 	"#default"
   112 	{
   113 		"Signatures"
   114 		{
   115 			"EntityFactory"
   116 			{
   117 				"library"	"server"
   118 				"windows"	"\xB8\x01\x00\x00\x00\x84\x2A\x2A\x2A\x2A\x2A\x75\x1D\x09\x2A\x2A\x2A\x2A\x2A\xB9\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\xC3"
   119 			}
   120 		}
   121 	}
   122 
   123 	/* CBaseEntityOutput::FireOutput */
   124 	"#default"
   125 	{
   126 		"Signatures"
   127 		{
   128 			"FireOutput"
   129 			{
   130 				"library"	"server"
   131 				"windows"	"\x81\xEC\x2A\x2A\x2A\x2A\x53\x55\x56\x8B\x71\x2A\x85\xF6\x57"
   132 			}
   133 		}
   134 		"Offsets"
   135 		{
   136 			"FireOutputBackup"
   137 			{
   138 				"windows"	"6"
   139 			}
   140 		}
   141 	}
   142 	
   143 	/* SetUserInfo data */
   144 	"#default"
   145 	{
   146 		"Offsets"
   147 		{
   148 			/**
   149 			 * CBaseClient::SetUserCVar(char  const*,char  const*);
   150 			 * Linux offset straight from VTable dump.
   151 			 * Windows offset is crazy. Found the windows SetName function using string "(%d)%-0.*s"
   152 			 * Cross referenced back to the vtable and counted manually (SetUserCvar is 1 higher, offsets start from 1)
   153 			 */
   154 			"SetUserCvar"
   155 			{
   156 				"windows"	"17"
   157 			}
   158 			
   159 			/**
   160 			 * Offset into CBaseClient - Used by CBaseServer::UpdateUserSettings to determine when changes have been made.
   161 			 * Find CBaseClient::UpdateUserSettings (strings "net_maxroutable", "cl_updaterate" etc) and the offset is set to 0 near the end.
   162 			 * Linux: 	mov     byte ptr [esi+98h], 0
   163 			 * Win:	mov     byte ptr [esi+0A4h], 0
   164 			 */
   165 			"InfoChanged"
   166 			{
   167 				"windows"	"140"
   168 			}
   169 		}
   170 	}
   171 	
   172 	/* Bloody Good Time */
   173 	"#default"
   174 	{	
   175 		"Offsets"
   176 		{
   177 			"GiveNamedItem"
   178 			{
   179 				"windows"	"359"
   180 			}
   181 			"RemovePlayerItem"
   182 			{
   183 				"windows"	"247"
   184 			}
   185 			"Weapon_GetSlot"
   186 			{
   187 				"windows"	"245"
   188 			}
   189 			"Ignite"
   190 			{
   191 				"windows"	"202"
   192 			}
   193 			"Extinguish"
   194 			{
   195 				"windows"	"206"
   196 			}
   197 			"Teleport"
   198 			{
   199 				"windows"	"107"
   200 			}
   201 			"CommitSuicide"
   202 			{
   203 				"windows"	"397"
   204 			}
   205 			"GetVelocity"
   206 			{
   207 				"windows"	"136"
   208 			}
   209 			"EyeAngles"
   210 			{
   211 				"windows"	"128"
   212 			}
   213 			"AcceptInput"
   214 			{
   215 				"windows"	"42"
   216 			}
   217 			"SetEntityModel"
   218 			{
   219 				"windows"	"31"
   220 			}
   221 			"WeaponEquip"
   222 			{
   223 				"windows"	"238"
   224 			}
   225 			"Activate"
   226 			{
   227 				"windows"	"39"
   228 			}
   229 			"PlayerRunCmd"
   230 			{
   231 				"windows"	"377"
   232 			}
   233 		}
   234 	}
   235 }