gamedata/sdktools.games.txt
author David Anderson <dvander@alliedmods.net>
Wed Jul 25 01:18:11 2007 +0000 (2007-07-25)
changeset 1163 0bb03cb6277b
parent 1151 71424ad456bc
child 1169 47a8892d2c81
permissions -rw-r--r--
- added MenuAction_DisplayItem callback for plugins
- fixed various bugs in MenuAction_Display
- added an "access" parameter for IMenuManager. better to do this now than later, even though it's not used yet
- hard bumped menu api to change the OnMenuDisplayItem callback. sorry!
dvander@945
     1
"Games"
dvander@945
     2
{
dvander@1056
     3
	/* General Temp Entities */
faluco@1031
     4
	"#default"
faluco@1031
     5
	{
faluco@1031
     6
		"#supported"
faluco@1031
     7
		{
faluco@1031
     8
			"game"		"cstrike"
faluco@1031
     9
			"game"		"dod"
faluco@1031
    10
			"game"		"hl2mp"
ds@1068
    11
			"game"		"ship"
ds@1065
    12
			"game"		"!Dystopia"
ds@1065
    13
			"game"		"!Insurgency"
ds@1068
    14
			"game"		"!Pirates, Vikings and Knights II"
ds@1065
    15
			"game"		"!SourceForts v1.9.2"
faluco@1031
    16
		}
faluco@1031
    17
faluco@1031
    18
		"Offsets"
faluco@1031
    19
		{
faluco@1031
    20
			/* Offset into CBaseTempEntity constructor */
faluco@1031
    21
			"s_pTempEntities"
faluco@1031
    22
			{
faluco@1031
    23
				"windows"	"17"
faluco@1031
    24
				"linux"		"27"
faluco@1031
    25
			}
faluco@1031
    26
			"GetTEName"
faluco@1031
    27
			{
faluco@1031
    28
				"windows"	"4"
faluco@1031
    29
				"linux"		"4"
faluco@1031
    30
			}
faluco@1031
    31
			"GetTENext"
faluco@1031
    32
			{
faluco@1031
    33
				"windows"	"8"
faluco@1031
    34
				"linux"		"8"
faluco@1031
    35
			}
faluco@1031
    36
			"TE_GetServerClass"
faluco@1031
    37
			{
faluco@1031
    38
				"windows"	"1"
faluco@1031
    39
				"linux"		"1"
faluco@1031
    40
			}
faluco@1031
    41
		}
faluco@1031
    42
faluco@1031
    43
		"Signatures"
faluco@1031
    44
		{
faluco@1031
    45
			"CBaseTempEntity"
faluco@1031
    46
			{
faluco@1031
    47
				"library"	"server"
faluco@1031
    48
				"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"
faluco@1031
    49
				"linux"		"@_ZN15CBaseTempEntityC2EPKc"
faluco@1031
    50
			}
faluco@1031
    51
		}
faluco@1031
    52
	}
ds@1065
    53
	
ds@1065
    54
	/* General GameRules */
ds@1065
    55
	"#default"
dvander@1056
    56
	{
ds@1065
    57
		"#supported"
ds@1065
    58
		{
ds@1065
    59
			"game"		"cstrike"
ds@1065
    60
			"game"		"dod"
ds@1065
    61
			"game"		"garrysmod"
ds@1065
    62
			"game"		"hl2mp"
ds@1065
    63
			"game"		"ship"
ds@1065
    64
			"game"		"!Dystopia"
ds@1065
    65
			"game"		"!Insurgency"
ds@1068
    66
			"game"		"!Pirates, Vikings and Knights II"
ds@1065
    67
			"game"		"!SourceForts v1.9.2"
ds@1065
    68
		}
ds@1065
    69
		
dvander@1056
    70
		"Offsets"
dvander@1056
    71
		{
ds@1065
    72
			/* Offset into CreateGameRulesObject */
ds@1065
    73
			"g_pGameRules"
dvander@1056
    74
			{
ds@1065
    75
				"windows"	"2"
dvander@1056
    76
			}
ds@1065
    77
		}
ds@1065
    78
		
ds@1065
    79
		"Signatures"
ds@1065
    80
		{
ds@1065
    81
			/* This signature sometimes has multiple matches, but this
ds@1065
    82
			 * does not matter as g_pGameRules is involved in all of them.
ds@1065
    83
			 * The same g_pGameRules offset applies to each match.
ds@1065
    84
			 *
ds@1065
    85
			 * Sometimes this block of bytes is at the beginning of the static
ds@1065
    86
			 * CreateGameRulesObject function and sometimes it is in the middle
ds@1065
    87
			 * of an entirely different function. This depends on the game.
ds@1065
    88
			 */
ds@1065
    89
			"CreateGameRulesObject"
dvander@1056
    90
			{
ds@1065
    91
				"library"	"server"
ds@1065
    92
				"windows"	"\x8B\x0D\x2A\x2A\x2A\x2A\x85\xC9\x74\x2A\x8B\x01\x6A\x01\xFF\x50"
dvander@1056
    93
			}
ds@1065
    94
			"g_pGameRules"
dvander@1056
    95
			{
ds@1065
    96
				"library"	"server"
ds@1065
    97
				"linux"		"@g_pGameRules"
dvander@1056
    98
			}
dvander@1056
    99
		}
dvander@1056
   100
	}
dvander@1056
   101
dvander@1056
   102
	/* Counter-Strike: Source */
dvander@1056
   103
	"cstrike"
dvander@1056
   104
	{
dvander@1056
   105
		"Offsets"
dvander@1056
   106
		{
dvander@1056
   107
			"GiveNamedItem"
dvander@1056
   108
			{
dvander@1056
   109
				"windows"	"329"
dvander@1056
   110
				"linux"		"330"
dvander@1056
   111
			}
dvander@1056
   112
			"RemovePlayerItem"
dvander@1056
   113
			{
dvander@1056
   114
				"windows"	"226"
dvander@1056
   115
				"linux"		"227"
dvander@1056
   116
			}
dvander@1056
   117
			"Weapon_GetSlot"
dvander@1056
   118
			{
dvander@1056
   119
				"windows"	"224"
dvander@1056
   120
				"linux"		"225"
dvander@1056
   121
			}
dvander@1056
   122
			"Ignite"
dvander@1056
   123
			{
dvander@1056
   124
				"windows"	"188"
dvander@1056
   125
				"linux"		"189"
dvander@1056
   126
			}
dvander@1056
   127
			"Extinguish"
dvander@1056
   128
			{
dvander@1056
   129
				"windows"	"189"
dvander@1056
   130
				"linux"		"190"
dvander@1056
   131
			}
dvander@1056
   132
			"Teleport"
dvander@1056
   133
			{
dvander@1056
   134
				"windows"	"98"
dvander@1056
   135
				"linux"		"99"
dvander@1056
   136
			}
dvander@1151
   137
			"CommitSuicide"
dvander@1151
   138
			{
dvander@1151
   139
				"windows"	"357"
dvander@1151
   140
				"linux"		"358"
dvander@1151
   141
			}
dvander@1056
   142
		}
dvander@1056
   143
	}
dvander@1056
   144
dvander@1056
   145
	/* Day of Defeat */
dvander@1056
   146
	"dod"
dvander@1056
   147
	{
dvander@1056
   148
		"Offsets"
dvander@1056
   149
		{
dvander@1056
   150
			"GiveNamedItem"
dvander@1056
   151
			{
dvander@1056
   152
				"windows"	"328"
dvander@1056
   153
				"linux"		"330"
dvander@1056
   154
			}
dvander@1056
   155
			"RemovePlayerItem"
dvander@1056
   156
			{
dvander@1056
   157
				"windows"	"226"
dvander@1056
   158
				"linux"		"227"
dvander@1056
   159
			}
dvander@1056
   160
			"Weapon_GetSlot"
dvander@1056
   161
			{
dvander@1056
   162
				"windows"	"224"
dvander@1056
   163
				"linux"		"225"
dvander@1056
   164
			}
dvander@1056
   165
			"Ignite"
dvander@1056
   166
			{
dvander@1056
   167
				"windows"	"188"
dvander@1056
   168
				"linux"		"189"
dvander@1056
   169
			}
dvander@1056
   170
			"Extinguish"
dvander@1056
   171
			{
dvander@1056
   172
				"windows"	"189"
dvander@1056
   173
				"linux"		"190"
dvander@1056
   174
			}
dvander@1056
   175
			"Teleport"
dvander@1056
   176
			{
dvander@1056
   177
				"windows"	"98"
dvander@1056
   178
				"linux"		"99"
dvander@1056
   179
			}
dvander@1151
   180
			"CommitSuicide"
dvander@1151
   181
			{
dvander@1151
   182
				"windows"	"356"
dvander@1151
   183
				"linux"		"357"
dvander@1151
   184
			}
dvander@1056
   185
		}
dvander@1056
   186
	}
ds@1065
   187
	
ds@1065
   188
	/* Half-Life 2: Deathmatch */
ds@1065
   189
	"hl2mp"
dvander@1062
   190
	{
dvander@1062
   191
		"Offsets"
dvander@1062
   192
		{
dvander@1062
   193
			"GiveNamedItem"
dvander@1062
   194
			{
ds@1065
   195
				"windows"	"327"
ds@1065
   196
				"linux"		"328"
dvander@1062
   197
			}
dvander@1062
   198
			"RemovePlayerItem"
dvander@1062
   199
			{
ds@1065
   200
				"windows"	"225"
ds@1065
   201
				"linux"		"226"
dvander@1062
   202
			}
dvander@1062
   203
			"Weapon_GetSlot"
dvander@1062
   204
			{
ds@1065
   205
				"windows"	"223"
ds@1065
   206
				"linux"		"224"
dvander@1062
   207
			}
dvander@1062
   208
			"Ignite"
dvander@1062
   209
			{
ds@1065
   210
				"windows"	"187"
ds@1065
   211
				"linux"		"188"
dvander@1062
   212
			}
dvander@1062
   213
			"Extinguish"
dvander@1062
   214
			{
ds@1065
   215
				"windows"	"188"
ds@1065
   216
				"linux"		"189"
dvander@1062
   217
			}
dvander@1062
   218
			"Teleport"
dvander@1062
   219
			{
ds@1065
   220
				"windows"	"97"
ds@1065
   221
				"linux"		"98"
dvander@1062
   222
			}
dvander@1151
   223
			"CommitSuicide"
dvander@1151
   224
			{
dvander@1151
   225
				"windows"	"356"
dvander@1151
   226
				"linux"		"357"
dvander@1151
   227
			}
dvander@1062
   228
		}
dvander@1062
   229
	}
ds@1065
   230
	
ds@1068
   231
	/* The Ship */
ds@1068
   232
	"ship"
ds@1068
   233
	{
ds@1068
   234
		"Offsets"
ds@1068
   235
		{
ds@1068
   236
			/* CBasePlayer */
ds@1068
   237
			"GiveNamedItem"
ds@1068
   238
			{
ds@1068
   239
				"windows"	"316"
ds@1068
   240
				"linux"		"317"
ds@1068
   241
			}
ds@1068
   242
			"RemovePlayerItem"
ds@1068
   243
			{
ds@1068
   244
				"windows"	"220"
ds@1068
   245
				"linux"		"221"
ds@1068
   246
			}
ds@1068
   247
			"Weapon_GetSlot"
ds@1068
   248
			{
ds@1068
   249
				"windows"	"218"
ds@1068
   250
				"linux"		"219"
ds@1068
   251
			}
ds@1068
   252
			"Ignite"
ds@1068
   253
			{
ds@1068
   254
				"windows"	"180"
ds@1068
   255
				"linux"		"181"
ds@1068
   256
			}
ds@1068
   257
			"Extinguish"
ds@1068
   258
			{
ds@1068
   259
				"windows"	"181"
ds@1068
   260
				"linux"		"182"
ds@1068
   261
			}
ds@1068
   262
			"Teleport"
ds@1068
   263
			{
ds@1068
   264
				"windows"	"100"
ds@1068
   265
				"linux"		"101"
ds@1068
   266
			}
dvander@1151
   267
			"CommitSuicide"
dvander@1151
   268
			{
dvander@1151
   269
				"windows"	"343"
dvander@1151
   270
				"linux"		"344"
dvander@1151
   271
			}
ds@1068
   272
			
ds@1068
   273
			/* Temp Entities */
ds@1068
   274
			"TE_GetServerClass"
ds@1068
   275
			{
ds@1068
   276
				"windows"	"0"
ds@1068
   277
				"linux"		"0"
ds@1068
   278
			}
ds@1068
   279
		}
ds@1068
   280
	}
ds@1068
   281
	
dvander@1056
   282
	/* Dsytopia */
ds@1065
   283
	"!Dystopia"
dvander@1056
   284
	{
dvander@1056
   285
dvander@1056
   286
		"Offsets"
dvander@1056
   287
		{
dvander@1062
   288
			/* CBasePlayer */
dvander@1062
   289
			"GiveNamedItem"
dvander@1062
   290
			{
dvander@1062
   291
				"windows"	"331"
dvander@1062
   292
				"linux"		"332"
dvander@1062
   293
			}
dvander@1062
   294
			"RemovePlayerItem"
dvander@1062
   295
			{
dvander@1062
   296
				"windows"	"229"
dvander@1062
   297
				"linux"		"230"
dvander@1062
   298
			}
dvander@1062
   299
			"Weapon_GetSlot"
dvander@1062
   300
			{
dvander@1062
   301
				"windows"	"227"
dvander@1062
   302
				"linux"		"228"
dvander@1062
   303
			}
dvander@1062
   304
			"Ignite"
dvander@1062
   305
			{
dvander@1062
   306
				"windows"	"191"
dvander@1062
   307
				"linux"		"192"
dvander@1062
   308
			}
dvander@1062
   309
			"Extinguish"
dvander@1062
   310
			{
dvander@1062
   311
				"windows"	"192"
dvander@1062
   312
				"linux"		"193"
dvander@1062
   313
			}
dvander@1062
   314
			"Teleport"
dvander@1062
   315
			{
dvander@1062
   316
				"windows"	"100"
dvander@1062
   317
				"linux"		"101"
dvander@1062
   318
			}
dvander@1151
   319
			"CommitSuicide"
dvander@1151
   320
			{
dvander@1151
   321
				"windows"	"360"
dvander@1151
   322
				"linux"		"361"
dvander@1151
   323
			}
dvander@1062
   324
dvander@1056
   325
			/* Offset into CBaseTempEntity constructor.
dvander@1056
   326
			 * On Windows Dsytopia is heavily inlined; we use the function 
dvander@1056
   327
			 * surrounding "aCouldnTFindTem" in IDA instead.
dvander@1056
   328
			 */
dvander@1056
   329
			"s_pTempEntities"
dvander@1056
   330
			{
dvander@1056
   331
				"windows"	"70"
dvander@1056
   332
				"linux"		"29"
dvander@1056
   333
			}
dvander@1056
   334
		}
dvander@1056
   335
dvander@1056
   336
		"Signatures"
dvander@1056
   337
		{
dvander@1062
   338
			/* On Windows Dsytopia is heavily inlined; we use the function 
dvander@1062
   339
			 * surrounding "aCouldnTFindTem" in IDA instead.
dvander@1062
   340
			 */
dvander@1056
   341
			"CBaseTempEntity"
dvander@1056
   342
			{
dvander@1056
   343
				"library"	"server"
dvander@1056
   344
				"windows"	"\x81\xEC\x84\x00\x00\x00\x56\x8B\xF1\x8B\x46\x6C\x57\x8D\x7E\x6C\x8D\x4C\x24\x08\x83\xC8\x20\x51\x89\x44\x24\x0C\xE8\x2A\x2A\x2A"
dvander@1056
   345
			}
ds@1065
   346
ds@1065
   347
			/* Dystopia always has to be different, doesn't it
ds@1065
   348
			 *
ds@1065
   349
			 * This is very similar to the general signature, except that
ds@1065
   350
			 * it does "mov edx, [eax+2Ch]" before making a call rather than
ds@1065
   351
			 * doing "call dword ptr [eax+2Ch]"
ds@1065
   352
			 */
ds@1065
   353
			"CreateGameRulesObject"
ds@1065
   354
			{
ds@1065
   355
				"library"	"server"
ds@1065
   356
				"windows"	"\x8B\x0D\x2A\x2A\x2A\x2A\x85\xC9\x74\x2A\x8B\x01\x8B\x50\x2A\x6A\x01\xFF\xD2"
ds@1065
   357
			}
ds@1065
   358
		}
ds@1065
   359
	}
ds@1065
   360
ds@1065
   361
	/* Insurgency */
ds@1065
   362
	"!Insurgency"
ds@1065
   363
	{
ds@1065
   364
		"Offsets"
ds@1065
   365
		{
ds@1065
   366
			/* CBasePlayer */
ds@1065
   367
			"Ignite"
ds@1065
   368
			{
ds@1065
   369
				"windows"	"174"
ds@1065
   370
				"linux"		"175"
ds@1065
   371
			}
ds@1065
   372
			"Extinguish"
ds@1065
   373
			{
ds@1065
   374
				"windows"	"175"
ds@1065
   375
				"linux"		"176"
ds@1065
   376
			}
ds@1065
   377
			"Teleport"
ds@1065
   378
			{
ds@1065
   379
				"windows"	"90"
ds@1065
   380
				"linux"		"91"
ds@1065
   381
			}
ds@1065
   382
ds@1065
   383
			/* Temp Entities */
ds@1065
   384
			"s_pTempEntities"
ds@1065
   385
			{
ds@1065
   386
				"linux"		"28"
ds@1065
   387
			}
ds@1065
   388
		}
ds@1065
   389
	}
ds@1068
   390
	
ds@1068
   391
	/* Pirates, Vikings and Knights II */
ds@1068
   392
	"!Pirates, Vikings and Knights II"
ds@1068
   393
	{
ds@1068
   394
		"Offsets"
ds@1068
   395
		{
ds@1068
   396
			/* CBasePlayer */
ds@1068
   397
			"GiveNamedItem"
ds@1068
   398
			{
ds@1068
   399
				"windows"	"328"
ds@1068
   400
				"linux"		"329"
ds@1068
   401
			}
ds@1068
   402
			"RemovePlayerItem"
ds@1068
   403
			{
ds@1068
   404
				"windows"	"226"
ds@1068
   405
				"linux"		"227"
ds@1068
   406
			}
ds@1068
   407
			"Weapon_GetSlot"
ds@1068
   408
			{
ds@1068
   409
				"windows"	"224"
ds@1068
   410
				"linux"		"225"
ds@1068
   411
			}
ds@1068
   412
			"Ignite"
ds@1068
   413
			{
ds@1068
   414
				"windows"	"188"
ds@1068
   415
				"linux"		"189"
ds@1068
   416
			}
ds@1068
   417
			"Extinguish"
ds@1068
   418
			{
ds@1068
   419
				"windows"	"189"
ds@1068
   420
				"linux"		"190"
ds@1068
   421
			}
ds@1068
   422
			"Teleport"
ds@1068
   423
			{
ds@1068
   424
				"windows"	"98"
ds@1068
   425
				"linux"		"99"
ds@1068
   426
			}
dvander@1151
   427
			"CommitSuicide"
dvander@1151
   428
			{
dvander@1151
   429
				"windows"	"356"
dvander@1151
   430
				"linux"		"357"
dvander@1151
   431
			}
ds@1068
   432
			
ds@1068
   433
			/* Temp Entities */
ds@1068
   434
			"s_pTempEntities"
ds@1068
   435
			{
ds@1068
   436
				"linux"		"29"
ds@1068
   437
			}
ds@1068
   438
		}
ds@1068
   439
	}
ds@1065
   440
ds@1065
   441
	/* SourceForts 1.9.2 */
ds@1065
   442
	"!SourceForts v1.9.2"
ds@1065
   443
	{
ds@1065
   444
		"Offsets"
ds@1065
   445
		{
ds@1065
   446
			/* CBasePlayer */
ds@1065
   447
			"GiveNamedItem"
ds@1065
   448
			{
ds@1065
   449
				"windows"	"294"
ds@1065
   450
				"linux"		"295"
ds@1065
   451
			}
ds@1065
   452
			"RemovePlayerItem"
ds@1065
   453
			{
ds@1065
   454
				"windows"	"207"
ds@1065
   455
				"linux"		"208"
ds@1065
   456
			}
ds@1065
   457
			"Weapon_GetSlot"
ds@1065
   458
			{
ds@1065
   459
				"windows"	"205"
ds@1065
   460
				"linux"		"206"
ds@1065
   461
			}
ds@1065
   462
			"Ignite"
ds@1065
   463
			{
ds@1065
   464
				"windows"	"170"
ds@1065
   465
				"linux"		"171"
ds@1065
   466
			}
ds@1065
   467
			"Extinguish"
ds@1065
   468
			{
ds@1065
   469
				"windows"	"171"
ds@1065
   470
				"linux"		"172"
ds@1065
   471
			}
ds@1065
   472
			"Teleport"
ds@1065
   473
			{
ds@1065
   474
				"windows"	"90"
ds@1065
   475
				"linux"		"91"
ds@1065
   476
			}
ds@1065
   477
ds@1065
   478
			/* Temp Entities */
ds@1065
   479
			"s_pTempEntities"
ds@1065
   480
			{
ds@1065
   481
				"linux"		"29"
ds@1065
   482
			}
ds@1065
   483
			"TE_GetServerClass"
ds@1065
   484
			{
ds@1065
   485
				"windows"	"0"
ds@1065
   486
				"linux"		"0"
ds@1065
   487
			}
dvander@1056
   488
		}
dvander@1056
   489
	}
dvander@945
   490
}