| author | Matt Woodrow <pred@alliedmods.net> |
| Sun Jul 06 03:30:06 2008 +0000 (2008-07-06) | |
| changeset 2165 | ca3757e676f6 |
| parent 2148 | 4202fd210f20 |
| child 2289 | 44045ead61cd |
| permissions | -rw-r--r-- |
1 "Games"
2 {
3 /* Sounds */
4 "#default"
5 {
6 "Keys"
7 {
8 "SlapSoundCount" "3"
9 "SlapSound1" "player/pl_fallpain1.wav"
10 "SlapSound2" "player/pl_fallpain3.wav"
11 "SlapSound3" "player/pl_pain5.wav"
12 "m_iFrags" "m_iFrags"
13 }
14 "Offsets"
15 {
16 "m_iHealth"
17 {
18 "class" "CBasePlayer"
19 "prop" "m_iHealth"
20 }
21 "m_lifeState"
22 {
23 "class" "CBasePlayer"
24 "prop" "m_lifeState"
25 }
26 }
27 }
29 /* General Temp Entities */
30 "#default"
31 {
32 "#supported"
33 {
34 "game" "cstrike"
35 "game" "hl2mp"
36 "game" "ship"
37 "game" "!Dystopia"
38 "game" "!Insurgency"
39 "game" "pvkii"
40 "game" "!SourceForts v1.9.2"
41 "game" "$SourceForts v1.9.3"
42 "game" "FortressForever"
43 "game" "empires"
44 "game" "synergy"
45 "game" "hidden"
46 "game" "zombie_master"
47 }
49 "Offsets"
50 {
51 /* Offset into CBaseTempEntity constructor */
52 "s_pTempEntities"
53 {
54 "windows" "17"
55 }
56 "GetTEName"
57 {
58 "windows" "4"
59 "linux" "4"
60 }
61 "GetTENext"
62 {
63 "windows" "8"
64 "linux" "8"
65 }
66 "TE_GetServerClass"
67 {
68 "windows" "1"
69 "linux" "1"
70 }
71 }
73 "Signatures"
74 {
75 "CBaseTempEntity"
76 {
77 "library" "server"
78 "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"
79 }
80 "s_pTempEntities"
81 {
82 "library" "server"
83 "linux" "@_ZN15CBaseTempEntity15s_pTempEntitiesE"
84 }
85 }
86 }
88 /* General GameRules */
89 "#default"
90 {
91 "#supported"
92 {
93 "game" "cstrike"
94 "game" "garrysmod"
95 "game" "hl2mp"
96 "game" "ship"
97 "game" "!Dystopia"
98 "game" "!Insurgency"
99 "game" "pvkii"
100 "game" "!SourceForts v1.9.2"
101 "game" "$SourceForts v1.9.3"
102 "game" "FortressForever"
103 "game" "empires"
104 "game" "synergy"
105 "game" "hidden"
106 }
108 "Offsets"
109 {
110 /* Offset into CreateGameRulesObject */
111 "g_pGameRules"
112 {
113 "windows" "2"
114 }
115 }
117 "Signatures"
118 {
119 /* This signature sometimes has multiple matches, but this
120 * does not matter as g_pGameRules is involved in all of them.
121 * The same g_pGameRules offset applies to each match.
122 *
123 * Sometimes this block of bytes is at the beginning of the static
124 * CreateGameRulesObject function and sometimes it is in the middle
125 * of an entirely different function. This depends on the game.
126 */
127 "CreateGameRulesObject"
128 {
129 "library" "server"
130 "windows" "\x8B\x0D\x2A\x2A\x2A\x2A\x85\xC9\x74\x2A\x8B\x01\x6A\x01\xFF\x50"
131 }
132 "g_pGameRules"
133 {
134 "library" "server"
135 "linux" "@g_pGameRules"
136 }
137 }
138 }
140 /* CGlobalEntityList */
141 "#default"
142 {
143 "#supported"
144 {
145 "game" "cstrike"
146 "game" "garrysmod"
147 "game" "hl2mp"
148 "game" "ship"
149 "game" "!Insurgency"
150 "game" "pvkii"
151 "game" "!SourceForts v1.9.2"
152 "game" "$SourceForts v1.9.3"
153 "game" "FortressForever"
154 "game" "empires"
155 "game" "synergy"
156 "game" "hidden"
157 "game" "zombie_master"
158 }
160 "Offsets"
161 {
162 /* Offset into LevelShutdown */
163 "gEntList"
164 {
165 "windows" "11"
166 }
167 }
169 "Signatures"
170 {
171 "LevelShutdown"
172 {
173 "library" "server"
174 "windows" "\xE8\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\xB9\x2A\x2A\x2A\x2A\xE8\x2A\x2A\x2A\x2A\xE8"
175 }
176 "gEntList"
177 {
178 "library" "server"
179 "linux" "@gEntList"
180 }
182 /* Functions in CGlobalEntityList */
183 "FindEntityByClassname"
184 {
185 "library" "server"
186 "windows" "\x53\x55\x56\x8B\xF1\x8B\x4C\x24\x2A\x85\xC9\x57\x74\x2A\x8B\x01\xFF\x50\x2A\x8B\x08\x81\xE1\x2A\x2A\x2A\x2A\x83\xC1\x2A\xC1\xE1\x2A\x8B\x3C\x31\xEB\x2A\x8B\xBE\x2A\x2A\x2A\x2A\x85\xFF\x74\x2A\x8B\x5C\x24\x2A\x8B\x2D\x2A\x2A\x2A\x2A\x8D\x9B\x00\x00\x00\x00\x8B\x37\x85\xF6\x75\x2A\x68\x2A\x2A\x2A\x2A\xFF\x2A\x83\xC4\x2A\xEB\x2A\x39"
187 "linux" "@_ZN17CGlobalEntityList21FindEntityByClassnameEP11CBaseEntityPKc"
188 }
189 }
190 }
192 /* Create Entity Signatures */
193 "#default"
194 {
195 "#supported"
196 {
197 "game" "cstrike"
198 "game" "hl2mp"
199 "game" "!Insurgency"
200 "game" "pvkii"
201 "game" "$SourceForts v1.9.3"
202 "game" "empires"
203 "game" "synergy"
204 "game" "hidden"
205 "game" "FortressForever"
206 }
208 "Signatures"
209 {
210 "DispatchSpawn"
211 {
212 "library" "server"
213 "linux" "@_Z13DispatchSpawnP11CBaseEntity"
214 "windows" "\x53\x55\x56\x8B\x74\x24\x10\x85\xF6\x57\x0F\x84\x2A\x2A\x2A\x2A\x8B\x1D\x2A\x2A\x2A\x2A\x8B\x03\x8B\xCB\xFF\x50\x60"
215 }
216 "CreateEntityByName"
217 {
218 "library" "server"
219 "linux" "@_Z18CreateEntityByNamePKci"
220 "windows" "\x56\x8B\x74\x24\x0C\x83\xFE\xFF\x57\x8B\x7C\x24\x0C\x74\x25\x8B\x0D\x2A\x2A\x2A\x2A\x8B\x01\x56\xFF\x50\x54\x85\xC0"
221 }
222 }
223 }
225 /* IServer interface pointer */
226 "#default"
227 {
228 "Offsets"
229 {
230 /* Offset into IVEngineServer::CreateFakeClient */
231 "sv"
232 {
233 "windows" "6"
234 }
235 }
237 "Signatures"
238 {
239 /* CBaseServer object for IServer interface */
240 "sv"
241 {
242 "library" "engine"
243 "linux" "@sv"
244 }
245 }
246 }
248 /* EntityFactoryDictionary function */
249 "#default"
250 {
251 "Signatures"
252 {
253 "EntityFactory"
254 {
255 "library" "server"
256 "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"
257 "linux" "@_Z23EntityFactoryDictionaryv"
258 }
259 }
260 }
261 /* CBaseEntityOutput::FireOutput */
262 "#default"
263 {
264 "#supported"
265 {
266 "game" "cstrike"
267 "game" "hl2mp"
268 }
269 "Signatures"
270 {
271 "FireOutput"
272 {
273 "library" "server"
274 "windows" "\x81\xEC\x1C\x03\x00\x00\x53\x55\x56\x8B\x71\x14"
275 "linux" "@_ZN17CBaseEntityOutput10FireOutputE9variant_tP11CBaseEntityS2_f"
276 }
277 }
278 "Offsets"
279 {
280 "FireOutputBackup"
281 {
282 "windows" "6"
283 "linux" "6"
284 }
285 }
286 }
288 /* SetUserInfo data */
289 "#default"
290 {
291 "Offsets"
292 {
293 /**
294 * CBaseClient::SetUserCVar(char const*,char const*);
295 * Linux offset straight from VTable dump.
296 * Windows offset is crazy. Found the windows 'SetName' function using string "(%d)%-0.*s"
297 * Cross referenced back to the vtable and counted manually (SetUserCvar is 1 higher, offsets start from 1)
298 */
299 "SetUserCvar"
300 {
301 "windows" "17"
302 "linux" "53"
303 }
304 /**
305 * Offset into CBaseClient - Used by CBaseServer::UpdateUserSettings to determine when changes have been made.
306 * Find CBaseClient::UpdateUserSettings (strings "net_maxroutable", "cl_updaterate" etc) and the offset is set to 0 near the end.
307 * Linux: mov byte ptr [esi+98h], 0
308 * Win: mov byte ptr [esi+0A4h], 0
309 */
310 "InfoChanged"
311 {
312 "windows" "164"
313 "linux" "152"
314 }
315 }
316 }
318 /* Counter-Strike: Source */
319 "cstrike"
320 {
321 "Keys"
322 {
323 "SlapSoundCount" "3"
324 "SlapSound1" "player/damage1.wav"
325 "SlapSound2" "player/damage2.wav"
326 "SlapSound3" "player/damage3.wav"
327 }
329 "Offsets"
330 {
331 "GiveNamedItem"
332 {
333 "windows" "329"
334 "linux" "330"
335 }
336 "RemovePlayerItem"
337 {
338 "windows" "226"
339 "linux" "227"
340 }
341 "Weapon_GetSlot"
342 {
343 "windows" "224"
344 "linux" "225"
345 }
346 "Ignite"
347 {
348 "windows" "188"
349 "linux" "189"
350 }
351 "Extinguish"
352 {
353 "windows" "189"
354 "linux" "190"
355 }
356 "Teleport"
357 {
358 "windows" "98"
359 "linux" "99"
360 }
361 "CommitSuicide"
362 {
363 "windows" "357"
364 "linux" "358"
365 }
366 "GetVelocity"
367 {
368 "windows" "126"
369 "linux" "127"
370 }
371 "EyeAngles"
372 {
373 "windows" "118"
374 "linux" "119"
375 }
376 "AcceptInput"
377 {
378 "windows" "35"
379 "linux" "36"
380 }
381 "DispatchKeyValue"
382 {
383 "windows" "31"
384 "linux" "30"
385 }
386 "DispatchKeyValueFloat"
387 {
388 "windows" "30"
389 "linux" "31"
390 }
391 "DispatchKeyValueVector"
392 {
393 "windows" "29"
394 "linux" "32"
395 }
396 "SetEntityModel"
397 {
398 "windows" "25"
399 "linux" "26"
400 }
401 "WeaponEquip"
402 {
403 "windows" "217"
404 "linux" "218"
405 }
406 "Activate"
407 {
408 "windows" "32"
409 "linux" "33"
410 }
411 }
412 }
415 /* Half-Life 2: Deathmatch */
416 "hl2mp"
417 {
418 "Offsets"
419 {
420 "GiveNamedItem"
421 {
422 "windows" "328"
423 "linux" "329"
424 }
425 "RemovePlayerItem"
426 {
427 "windows" "226"
428 "linux" "227"
429 }
430 "Weapon_GetSlot"
431 {
432 "windows" "224"
433 "linux" "225"
434 }
435 "Ignite"
436 {
437 "windows" "188"
438 "linux" "189"
439 }
440 "Extinguish"
441 {
442 "windows" "189"
443 "linux" "190"
444 }
445 "Teleport"
446 {
447 "windows" "98"
448 "linux" "99"
449 }
450 "CommitSuicide"
451 {
452 "windows" "356"
453 "linux" "357"
454 }
455 "GetVelocity"
456 {
457 "windows" "126"
458 "linux" "127"
459 }
460 "EyeAngles"
461 {
462 "windows" "118"
463 "linux" "119"
464 }
465 "AcceptInput"
466 {
467 "windows" "35"
468 "linux" "36"
469 }
470 "DispatchKeyValue"
471 {
472 "windows" "31"
473 "linux" "30"
474 }
475 "DispatchKeyValueFloat"
476 {
477 "windows" "30"
478 "linux" "31"
479 }
480 "DispatchKeyValueVector"
481 {
482 "windows" "29"
483 "linux" "32"
484 }
485 "SetEntityModel"
486 {
487 "windows" "25"
488 "linux" "26"
489 }
490 "WeaponEquip"
491 {
492 "windows" "217"
493 "linux" "218"
494 }
495 "Activate"
496 {
497 "windows" "32"
498 "linux" "33"
499 }
500 }
501 }
503 /* The Ship */
504 "ship"
505 {
506 "Offsets"
507 {
508 /* CBasePlayer */
509 "GiveNamedItem"
510 {
511 "windows" "316"
512 "linux" "317"
513 }
514 "RemovePlayerItem"
515 {
516 "windows" "220"
517 "linux" "221"
518 }
519 "Weapon_GetSlot"
520 {
521 "windows" "218"
522 "linux" "219"
523 }
524 "Ignite"
525 {
526 "windows" "180"
527 "linux" "181"
528 }
529 "Extinguish"
530 {
531 "windows" "181"
532 "linux" "182"
533 }
534 "Teleport"
535 {
536 "windows" "100"
537 "linux" "101"
538 }
539 "CommitSuicide"
540 {
541 "windows" "343"
542 "linux" "344"
543 }
544 "GetVelocity"
545 {
546 "windows" "124"
547 "linux" "125"
548 }
549 "EyeAngles"
550 {
551 "windows" "116"
552 "linux" "117"
553 }
554 "DispatchKeyValue"
555 {
556 "windows" "35"
557 "linux" "34"
558 }
559 "DispatchKeyValueFloat"
560 {
561 "windows" "34"
562 "linux" "35"
563 }
564 "DispatchKeyValueVector"
565 {
566 "windows" "33"
567 "linux" "36"
568 }
569 "AcceptInput"
570 {
571 "windows" "39"
572 "linux" "40"
573 }
574 "SetEntityModel"
575 {
576 "windows" "30"
577 "linux" "31"
578 }
579 "WeaponEquip"
580 {
581 "windows" "211"
582 "linux" "212"
583 }
584 "Activate"
585 {
586 "windows" "37"
587 "linux" "38"
588 }
590 /* Temp Entities */
591 "TE_GetServerClass"
592 {
593 "windows" "0"
594 "linux" "0"
595 }
596 }
598 "Signatures"
599 {
600 "DispatchSpawn"
601 {
602 "library" "server"
603 "linux" "@_Z13DispatchSpawnP11CBaseEntity"
604 "windows" "\x53\x56\x8B\x74\x24\x0C\x85\xF6\x57\x0F\x84\x2A\x2A\x2A\x2A\x8B\x1D\x2A\x2A\x2A\x2A\x8B\x03\x8B\xCB\xFF\x50\x60\x8B\0x16"
605 }
606 "CreateEntityByName"
607 {
608 "library" "server"
609 "linux" "@_Z18CreateEntityByNamePKci"
610 "windows" "\x56\x8B\x74\x24\x0C\x83\xFE\xFF\x57\x8B\x7C\x24\x0C\x74\x25\x8B\x0D\x2A\x2A\x2A\x2A\x8B\x01\x56\xFF\x50\x54\x85\xC0"
611 }
612 }
613 }
615 /* Dsytopia */
616 "!Dystopia"
617 {
619 "Offsets"
620 {
621 /* CBasePlayer */
622 "GiveNamedItem"
623 {
624 "windows" "331"
625 "linux" "332"
626 }
627 "RemovePlayerItem"
628 {
629 "windows" "229"
630 "linux" "230"
631 }
632 "Weapon_GetSlot"
633 {
634 "windows" "227"
635 "linux" "228"
636 }
637 "Ignite"
638 {
639 "windows" "191"
640 "linux" "192"
641 }
642 "Extinguish"
643 {
644 "windows" "192"
645 "linux" "193"
646 }
647 "Teleport"
648 {
649 "windows" "100"
650 "linux" "101"
651 }
652 "CommitSuicide"
653 {
654 "windows" "360"
655 "linux" "361"
656 }
657 "GetVelocity"
658 {
659 "windows" "128"
660 "linux" "129"
661 }
662 "EyeAngles"
663 {
664 "windows" "120"
665 "linux" "121"
666 }
667 "AcceptInput"
668 {
669 "windows" "35"
670 "linux" "36"
671 }
672 "DispatchKeyValue"
673 {
674 "windows" "31"
675 "linux" "30"
676 }
677 "DispatchKeyValueFloat"
678 {
679 "windows" "30"
680 "linux" "31"
681 }
682 "DispatchKeyValueVector"
683 {
684 "windows" "29"
685 "linux" "32"
686 }
687 "SetEntityModel"
688 {
689 "windows" "25"
690 "linux" "26"
691 }
692 "WeaponEquip"
693 {
694 "windows" "220"
695 "linux" "221"
696 }
697 "Activate"
698 {
699 "windows" "32"
700 "linux" "33"
701 }
703 /* Offset into CBaseTempEntity constructor.
704 * On Windows Dsytopia is heavily inlined; we use the function
705 * surrounding "aCouldnTFindTem" in IDA instead.
706 */
707 "s_pTempEntities"
708 {
709 "windows" "70"
710 }
711 }
713 "Signatures"
714 {
715 /* On Windows Dsytopia is heavily inlined; we use the function
716 * surrounding "aCouldnTFindTem" in IDA instead.
717 */
718 "CBaseTempEntity"
719 {
720 "library" "server"
721 "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"
722 }
724 /* Dystopia always has to be different, doesn't it
725 *
726 * This is very similar to the general signature, except that
727 * it does "mov edx, [eax+2Ch]" before making a call rather than
728 * doing "call dword ptr [eax+2Ch]"
729 */
730 "CreateGameRulesObject"
731 {
732 "library" "server"
733 "windows" "\x8B\x0D\x2A\x2A\x2A\x2A\x85\xC9\x74\x2A\x8B\x01\x8B\x50\x2A\x6A\x01\xFF\xD2"
734 }
735 }
736 }
738 /* Insurgency Generic */
739 "!Insurgency"
740 {
741 "Offsets"
742 {
743 /* CBasePlayer */
744 "Ignite"
745 {
746 "windows" "174"
747 "linux" "175"
748 }
749 "Extinguish"
750 {
751 "windows" "175"
752 "linux" "176"
753 }
754 "Teleport"
755 {
756 "windows" "90"
757 "linux" "91"
758 }
759 "GetVelocity"
760 {
761 "windows" "115"
762 "linux" "116"
763 }
764 "EyeAngles"
765 {
766 "windows" "107"
767 "linux" "108"
768 }
769 "AcceptInput"
770 {
771 "windows" "34"
772 "linux" "35"
773 }
774 "DispatchKeyValue"
775 {
776 "windows" "30"
777 "linux" "29"
778 }
779 "DispatchKeyValueFloat"
780 {
781 "windows" "29"
782 "linux" "30"
783 }
784 "DispatchKeyValueVector"
785 {
786 "windows" "28"
787 "linux" "31"
788 }
789 "SetEntityModel"
790 {
791 "windows" "24"
792 "linux" "25"
793 }
794 "WeaponEquip"
795 {
796 "windows" "215"
797 "linux" "216"
798 }
799 "Activate"
800 {
801 "windows" "31"
802 "linux" "32"
803 }
804 }
805 }
807 /* Pirates, Vikings and Knights II */
808 "pvkii"
809 {
810 "Offsets"
811 {
812 /* CBasePlayer */
813 "GiveNamedItem"
814 {
815 "windows" "328"
816 "linux" "329"
817 }
818 "RemovePlayerItem"
819 {
820 "windows" "226"
821 "linux" "227"
822 }
823 "Weapon_GetSlot"
824 {
825 "windows" "224"
826 "linux" "225"
827 }
828 "Ignite"
829 {
830 "windows" "188"
831 "linux" "189"
832 }
833 "Extinguish"
834 {
835 "windows" "189"
836 "linux" "190"
837 }
838 "Teleport"
839 {
840 "windows" "98"
841 "linux" "99"
842 }
843 "CommitSuicide"
844 {
845 "windows" "356"
846 "linux" "357"
847 }
848 "GetVelocity"
849 {
850 "windows" "126"
851 "linux" "127"
852 }
853 "EyeAngles"
854 {
855 "windows" "118"
856 "linux" "119"
857 }
858 "AcceptInput"
859 {
860 "windows" "35"
861 "linux" "36"
862 }
863 "DispatchKeyValue"
864 {
865 "windows" "31"
866 "linux" "30"
867 }
868 "DispatchKeyValueFloat"
869 {
870 "windows" "30"
871 "linux" "31"
872 }
873 "DispatchKeyValueVector"
874 {
875 "windows" "29"
876 "linux" "32"
877 }
878 "SetEntityModel"
879 {
880 "windows" "25"
881 "linux" "26"
882 }
883 "WeaponEquip"
884 {
885 "windows" "217"
886 "linux" "218"
887 }
888 "Activate"
889 {
890 "windows" "32"
891 "linux" "33"
892 }
893 }
894 }
896 /* SourceForts 1.9.2 */
897 "!SourceForts v1.9.2"
898 {
899 "Offsets"
900 {
901 /* CBasePlayer */
902 "GiveNamedItem"
903 {
904 "windows" "294"
905 "linux" "295"
906 }
907 "RemovePlayerItem"
908 {
909 "windows" "207"
910 "linux" "208"
911 }
912 "Weapon_GetSlot"
913 {
914 "windows" "205"
915 "linux" "206"
916 }
917 "Ignite"
918 {
919 "windows" "170"
920 "linux" "171"
921 }
922 "Extinguish"
923 {
924 "windows" "171"
925 "linux" "172"
926 }
927 "Teleport"
928 {
929 "windows" "90"
930 "linux" "91"
931 }
932 "GetVelocity"
933 {
934 "windows" "114"
935 "linux" "115"
936 }
937 "EyeAngles"
938 {
939 "windows" "106"
940 "linux" "107"
941 }
942 "DispatchKeyValue"
943 {
944 "windows" "30"
945 "linux" "29"
946 }
947 "DispatchKeyValueFloat"
948 {
949 "windows" "29"
950 "linux" "30"
951 }
952 "DispatchKeyValueVector"
953 {
954 "windows" "28"
955 "linux" "31"
956 }
957 "AcceptInput"
958 {
959 "windows" "34"
960 "linux" "35"
961 }
962 "SetEntityModel"
963 {
964 "windows" "25"
965 "linux" "26"
966 }
968 "TE_GetServerClass"
969 {
970 "windows" "0"
971 "linux" "0"
972 }
973 }
975 "Signatures"
976 {
977 "DispatchSpawn"
978 {
979 "library" "server"
980 "linux" "@_Z13DispatchSpawnP11CBaseEntity"
981 "windows" "\x53\x56\x8B\x74\x24\x0C\x85\xF6\x57\x0F\x84\x2A\x2A\x2A\x2A\x8B\x1D\x2A\x2A\x2A\x2A\x8B\x03\x8B\xCB\xFF\x50\x14\x8B\x16\x8B\xCE"
982 }
983 "CreateEntityByName"
984 {
985 "library" "server"
986 "linux" "@_Z18CreateEntityByNamePKci"
987 "windows" "\x56\x8B\x74\x24\x0C\x83\xFE\xFF\x57\x8B\x7C\x24\x0C\x74\x25\x8B\x0D\x2A\x2A\x2A\x2A\x8B\x01\x56\xFF\x50\x54\x85\xC0"
988 }
989 }
990 }
992 /* Fortress Forever */
993 "FortressForever"
994 {
995 "Offsets"
996 {
997 "GiveNamedItem"
998 {
999 "windows" "338"
1000 "linux" "339"
1001 }
1002 "RemovePlayerItem"
1003 {
1004 "windows" "236"
1005 "linux" "237"
1006 }
1007 "Weapon_GetSlot"
1008 {
1009 "windows" "234"
1010 "linux" "235"
1011 }
1012 "Ignite"
1013 {
1014 "windows" "198"
1015 "linux" "199"
1016 }
1017 "Extinguish"
1018 {
1019 "windows" "199"
1020 "linux" "200"
1021 }
1022 "Teleport"
1023 {
1024 "windows" "104"
1025 "linux" "105"
1026 }
1027 "CommitSuicide"
1028 {
1029 "windows" "366"
1030 "linux" "367"
1031 }
1032 "GetVelocity"
1033 {
1034 "windows" "136"
1035 "linux" "137"
1036 }
1037 "EyeAngles"
1038 {
1039 "windows" "128"
1040 "linux" "129"
1041 }
1042 "AcceptInput"
1043 {
1044 "windows" "39"
1045 "linux" "40"
1046 }
1047 "DispatchKeyValue"
1048 {
1049 "windows" "35"
1050 "linux" "34"
1051 }
1052 "DispatchKeyValueFloat"
1053 {
1054 "windows" "34"
1055 "linux" "35"
1056 }
1057 "DispatchKeyValueVector"
1058 {
1059 "windows" "33"
1060 "linux" "36"
1061 }
1062 "SetEntityModel"
1063 {
1064 "windows" "27"
1065 "linux" "28"
1066 }
1067 "WeaponEquip"
1068 {
1069 "windows" "227"
1070 "linux" "228"
1071 }
1072 "Activate"
1073 {
1074 "windows" "36"
1075 "linux" "37"
1076 }
1077 }
1079 "Signatures"
1080 {
1081 "CreateGameRulesObject"
1082 {
1083 "library" "server"
1084 "windows" "8B\x0D\x2A\x2A\x2A\x2A\x85\xC9\x74\x09\x8B\x01\x8B\x50\x2C\x6A\x01"
1085 }
1086 "FindEntityByClassname"
1087 {
1088 "library" "server"
1089 "windows" "\x53\x55\x56\x8B\xF1\x8B\x4C\x24\x10\x85\xC9\x57\x74\x19\x8B\x01\x8B\x50\x08\xFF\xD2\x8B\x00\x25\xFF\x0F\x00\x00\x83\xC0\x01\xC1\xE0\x04\x8B\x3C\x30\xEB\x06\x8B\xBE\x04\x00\x01\x00\x85\xFF\x74\x39\x8B\x5C\x24\x18\x8B\x2D\x2A\x2A\x2A\x2A\xEB\x03"
1090 }
1091 "DispatchSpawn"
1092 {
1093 "library" "server"
1094 "windows" "\x53\x55\x56\x8B\x74\x24\x10\x85\xF6\x57\x0F\x84\x2A\x2A\x2A\x2A\x8B\x1D\x2A\x2A\x2A\x2A\x8B\x03\x8B\x50\x60\x8B\xCB"
1095 }
1096 "CreateEntityByName"
1097 {
1098 "library" "server"
1099 "windows" "\x56\x8B\x74\x24\x0C\x83\xFE\xFF\x57\x8B\x7C\x24\x0C\x74\x27\x8B\x0D\x2A\x2A\x2A\x2A\x8B\x01\x8B\x50\x54\x56\xFF\xD2"
1100 }
1101 }
1102 }
1104 /* Garry's Mod 10 - Windows only
1105 * This mod is not officially supported, and the definitions are
1106 * for Garry's Mod pre-Orange Box.
1107 * (credits: Damaged Soul)
1108 */
1109 "garrysmod"
1110 {
1111 "Offsets"
1112 {
1113 "GiveNamedItem"
1114 {
1115 "windows" "366"
1116 }
1117 "RemovePlayerItem"
1118 {
1119 "windows" "264"
1120 }
1121 "Weapon_GetSlot"
1122 {
1123 "windows" "262"
1124 }
1125 "Ignite"
1126 {
1127 "windows" "220"
1128 }
1129 "Extinguish"
1130 {
1131 "windows" "221"
1132 }
1133 "Teleport"
1134 {
1135 "windows" "99"
1136 }
1137 "CommitSuicide"
1138 {
1139 "windows" "394"
1140 }
1141 "GetVelocity"
1142 {
1143 "windows" "127"
1144 }
1145 "EyeAngles"
1146 {
1147 "windows" "119"
1148 }
1149 "AcceptInput"
1150 {
1151 "windows" "35"
1152 }
1153 "DispatchKeyValue"
1154 {
1155 "windows" "31"
1156 }
1157 "DispatchKeyValueFloat"
1158 {
1159 "windows" "30"
1160 }
1161 "DispatchKeyValueVector"
1162 {
1163 "windows" "29"
1164 }
1165 }
1166 }
1168 /* Empires 2 */
1169 "empires"
1170 {
1172 "Offsets"
1173 {
1174 "GiveNamedItem"
1175 {
1176 "windows" "332"
1177 "linux" "333"
1178 }
1179 "RemovePlayerItem"
1180 {
1181 "windows" "230"
1182 "linux" "231"
1183 }
1184 "Weapon_GetSlot"
1185 {
1186 "windows" "228"
1187 "linux" "229"
1188 }
1189 "Ignite"
1190 {
1191 "windows" "192"
1192 "linux" "193"
1193 }
1194 "Extinguish"
1195 {
1196 "windows" "193"
1197 "linux" "194"
1198 }
1199 "Teleport"
1200 {
1201 "windows" "102"
1202 "linux" "103"
1203 }
1204 "CommitSuicide"
1205 {
1206 "windows" "360"
1207 "linux" "361"
1208 }
1209 "GetVelocity"
1210 {
1211 "windows" "130"
1212 "linux" "131"
1213 }
1214 "EyeAngles"
1215 {
1216 "windows" "122"
1217 "linux" "123"
1218 }
1219 "AcceptInput"
1220 {
1221 "windows" "36"
1222 "linux" "37"
1223 }
1224 "DispatchKeyValue"
1225 {
1226 "windows" "31"
1227 "linux" "30"
1228 }
1229 "DispatchKeyValueFloat"
1230 {
1231 "windows" "30"
1232 "linux" "31"
1233 }
1234 "DispatchKeyValueVector"
1235 {
1236 "windows" "29"
1237 "linux" "32"
1238 }
1239 "SetEntityModel"
1240 {
1241 "windows" "25"
1242 "linux" "26"
1243 }
1244 "WeaponEquip"
1245 {
1246 "windows" "221"
1247 "linux" "222"
1248 }
1249 "Activate"
1250 {
1251 "windows" "32"
1252 "linux" "33"
1253 }
1255 /* Offset into LevelShutdown for CGlobalEntList */
1256 "gEntList"
1257 {
1258 "windows" "64"
1259 }
1260 }
1262 "Signatures"
1263 {
1264 "LevelShutdown"
1265 {
1266 "library" "server"
1267 "windows" "\x8B\x0D\x2A\x2A\x2A\x2A\x85\xC9\x74\x2B\x56\xE8\x2A\x2A\x2A\x2A\x8B\x0D\x2A\x2A\x2A\x2A\x85\xC9\x8B\xF1\x74\x0E"
1268 }
1269 }
1270 }
1272 /* SourceForts 1.9.3 */
1273 "$SourceForts v1.9.3"
1274 {
1275 "Offsets"
1276 {
1277 /* CBasePlayer */
1278 "GiveNamedItem"
1279 {
1280 "windows" "328"
1281 "linux" "329"
1282 }
1283 "RemovePlayerItem"
1284 {
1285 "windows" "226"
1286 "linux" "227"
1287 }
1288 "Weapon_GetSlot"
1289 {
1290 "windows" "224"
1291 "linux" "225"
1292 }
1293 "Ignite"
1294 {
1295 "windows" "188"
1296 "linux" "189"
1297 }
1298 "Extinguish"
1299 {
1300 "windows" "189"
1301 "linux" "190"
1302 }
1303 "Teleport"
1304 {
1305 "windows" "98"
1306 "linux" "99"
1307 }
1308 "CommitSuicide"
1309 {
1310 "windows" "356"
1311 "linux" "357"
1312 }
1313 "GetVelocity"
1314 {
1315 "windows" "126"
1316 "linux" "127"
1317 }
1318 "EyeAngles"
1319 {
1320 "windows" "118"
1321 "linux" "119"
1322 }
1323 "DispatchKeyValue"
1324 {
1325 "windows" "31"
1326 "linux" "30"
1327 }
1328 "DispatchKeyValueFloat"
1329 {
1330 "windows" "30"
1331 "linux" "31"
1332 }
1333 "DispatchKeyValueVector"
1334 {
1335 "windows" "29"
1336 "linux" "32"
1337 }
1338 "AcceptInput"
1339 {
1340 "windows" "35"
1341 "linux" "36"
1342 }
1343 "SetEntityModel"
1344 {
1345 "windows" "25"
1346 "linux" "26"
1347 }
1348 "WeaponEquip"
1349 {
1350 "windows" "217"
1351 "linux" "218"
1352 }
1353 "Activate"
1354 {
1355 "windows" "32"
1356 "linux" "33"
1357 }
1358 }
1359 }
1361 /* Synergy Release 1 */
1362 "synergy"
1363 {
1364 "Offsets"
1365 {
1366 /* CBasePlayer */
1367 "GiveNamedItem"
1368 {
1369 "windows" "334"
1370 "linux" "335"
1371 }
1372 "RemovePlayerItem"
1373 {
1374 "windows" "226"
1375 "linux" "227"
1376 }
1377 "Weapon_GetSlot"
1378 {
1379 "windows" "224"
1380 "linux" "225"
1381 }
1382 "Ignite"
1383 {
1384 "windows" "188"
1385 "linux" "189"
1386 }
1387 "Extinguish"
1388 {
1389 "windows" "189"
1390 "linux" "190"
1391 }
1392 "Teleport"
1393 {
1394 "windows" "98"
1395 "linux" "99"
1396 }
1397 "CommitSuicide"
1398 {
1399 "windows" "362"
1400 "linux" "363"
1401 }
1402 "GetVelocity"
1403 {
1404 "windows" "126"
1405 "linux" "127"
1406 }
1407 "EyeAngles"
1408 {
1409 "windows" "118"
1410 "linux" "119"
1411 }
1412 "DispatchKeyValue"
1413 {
1414 "windows" "31"
1415 "linux" "30"
1416 }
1417 "DispatchKeyValueFloat"
1418 {
1419 "windows" "30"
1420 "linux" "31"
1421 }
1422 "DispatchKeyValueVector"
1423 {
1424 "windows" "29"
1425 "linux" "32"
1426 }
1427 "AcceptInput"
1428 {
1429 "windows" "35"
1430 "linux" "36"
1431 }
1432 "SetEntityModel"
1433 {
1434 "windows" "25"
1435 "linux" "26"
1436 }
1437 "WeaponEquip"
1438 {
1439 "windows" "217"
1440 "linux" "218"
1441 }
1442 "Activate"
1443 {
1444 "windows" "32"
1445 "linux" "33"
1446 }
1447 }
1448 }
1450 /* Hidden:Source Beta 4b */
1451 "hidden"
1452 {
1453 "Offsets"
1454 {
1455 /* CBasePlayer */
1456 "GiveNamedItem"
1457 {
1458 "windows" "348"
1459 "linux" "349"
1460 }
1461 "RemovePlayerItem"
1462 {
1463 "windows" "207"
1464 "linux" "208"
1465 }
1466 "Weapon_GetSlot"
1467 {
1468 "windows" "205"
1469 "linux" "206"
1470 }
1471 "Ignite"
1472 {
1473 "windows" "170"
1474 "linux" "171"
1475 }
1476 "Extinguish"
1477 {
1478 "windows" "171"
1479 "linux" "172"
1480 }
1481 "Teleport"
1482 {
1483 "windows" "90"
1484 "linux" "91"
1485 }
1486 "GetVelocity"
1487 {
1488 "windows" "114"
1489 "linux" "115"
1490 }
1491 "EyeAngles"
1492 {
1493 "windows" "106"
1494 "linux" "107"
1495 }
1496 "DispatchKeyValue"
1497 {
1498 "windows" "30"
1499 "linux" "29"
1500 }
1501 "DispatchKeyValueFloat"
1502 {
1503 "windows" "29"
1504 "linux" "30"
1505 }
1506 "DispatchKeyValueVector"
1507 {
1508 "windows" "28"
1509 "linux" "31"
1510 }
1511 "AcceptInput"
1512 {
1513 "windows" "34"
1514 "linux" "35"
1515 }
1516 "SetEntityModel"
1517 {
1518 "windows" "25"
1519 "linux" "26"
1520 }
1521 "Activate"
1522 {
1523 "windows" "32"
1524 "linux" "33"
1525 }
1526 "TE_GetServerClass"
1527 {
1528 "windows" "0"
1529 "linux" "0"
1530 }
1531 "WeaponEquip"
1532 {
1533 "windows" "198"
1534 "linux" "199"
1535 }
1536 }
1538 "Signatures"
1539 {
1540 "DispatchSpawn"
1541 {
1542 "library" "server"
1543 "linux" "@_Z13DispatchSpawnP11CBaseEntity"
1544 "windows" "\x53\x56\x8B\x74\x24\x0C\x85\xF6\x57\x0F\x84\x2A\x2A\x2A\x2A\x8B\x1D\x2A\x2A\x2A\x2A\x8B\x03\x8B\xCB\xFF\x50\x14"
1545 }
1546 }
1547 }
1549 /* Zombie Master 1.1.3 */
1550 "zombie_master"
1551 {
1552 "Offsets"
1553 {
1554 /* CBasePlayer */
1555 "GiveNamedItem"
1556 {
1557 "windows" "329"
1558 "linux" "330"
1559 }
1560 "RemovePlayerItem"
1561 {
1562 "windows" "226"
1563 "linux" "227"
1564 }
1565 "Weapon_GetSlot"
1566 {
1567 "windows" "224"
1568 "linux" "225"
1569 }
1570 "Ignite"
1571 {
1572 "windows" "188"
1573 "linux" "189"
1574 }
1575 "Extinguish"
1576 {
1577 "windows" "189"
1578 "linux" "190"
1579 }
1580 "Teleport"
1581 {
1582 "windows" "98"
1583 "linux" "99"
1584 }
1585 "CommitSuicide"
1586 {
1587 "windows" "357"
1588 "linux" "358"
1589 }
1590 "GetVelocity"
1591 {
1592 "windows" "126"
1593 "linux" "127"
1594 }
1595 "EyeAngles"
1596 {
1597 "windows" "118"
1598 "linux" "119"
1599 }
1600 "DispatchKeyValue"
1601 {
1602 "windows" "31"
1603 "linux" "30"
1604 }
1605 "DispatchKeyValueFloat"
1606 {
1607 "windows" "30"
1608 "linux" "31"
1609 }
1610 "DispatchKeyValueVector"
1611 {
1612 "windows" "29"
1613 "linux" "32"
1614 }
1615 "AcceptInput"
1616 {
1617 "windows" "35"
1618 "linux" "36"
1619 }
1620 "SetEntityModel"
1621 {
1622 "windows" "25"
1623 "linux" "26"
1624 }
1625 "s_pTempEntities"
1626 {
1627 "windows" "30"
1628 }
1629 "g_pGameRules"
1630 {
1631 "windows" "7"
1632 }
1633 "WeaponEquip"
1634 {
1635 "windows" "198"
1636 "linux" "199"
1637 }
1638 "Activate"
1639 {
1640 "windows" "32"
1641 "linux" "33"
1642 }
1643 }
1645 "Signatures"
1646 {
1647 "CBaseTempEntity"
1648 {
1649 "library" "server"
1650 "windows" "\x55\x8B\xEC\x51\x89\x4D\xFC\x8B\x45\xFC\xC7\x00\x2A\x2A\x2A\x2A\x8B\x4D\xFC\x8B\x55\x08\x89\x51\x04\x8B\x45\xFC\x8B\x0D\x2A\x2A"
1651 }
1652 "DispatchSpawn"
1653 {
1654 "library" "server"
1655 "linux" "@_Z13DispatchSpawnP11CBaseEntity"
1656 "windows" "\x55\x8B\xEC\x83\xEC\x20\x83\x7D\x08\x00\x0F\x84\x95\x01\x00\x00\xA1\x2A\x2A\x2A\x2A\x50\x8D\x4D\xF0\xE8\x2A\x2A\x2A\x2A\x8D\x4D"
1657 }
1658 "CreateEntityByName"
1659 {
1660 "library" "server"
1661 "linux" "@_Z18CreateEntityByNamePKci"
1662 "windows" "\x55\x8B\xEC\x83\xEC\x0C\x83\x7D\x0C\xFF\x74\x39\x8B\x45\x0C\x50\x8B\x0D\x2A\x2A\x2A\x2A\x8B\x11\x8B\x0D\x2A\x2A\x2A\x2A\xFF\x52"
1663 }
1664 "FindEntityByClassname"
1665 {
1666 "library" "server"
1667 "windows" "\x55\x8B\xEC\x83\xEC\x10\x89\x4D\xF4\x83\x7D\x08\x00\x74\x1C\x8B\x45\x08\x8B\x10\x8B\x4D\x08\xFF\x52\x08\x50\x8B\x4D\xF4\xE8\x2A\x2A\x2A\x2A\x8B\x40\x0C\x89\x45\x\xF0\xEB\x0B\x8B\x4D\xF4\xE8\x2A\x2A\x2A\x2A\x89\x45\xF0\x8B\x4D\xF0\x89\x4D\xFC\xEB\x09\x8B\x55\xFC\x8B\x42\x0C\x89\x45\xFC\x83\x7D\xFC\x00\x74\x38\x8B\x4D\xFC\x8B\x11\x89"
1668 "linux" "@_ZN17CGlobalEntityList21FindEntityByClassnameEP11CBaseEntityPKc"
1669 }
1670 "CreateGameRulesObject"
1671 {
1672 "library" "server"
1673 "windows" "\x55\x8B\xEC\x83\xEC\x10\xA1\x2A\x2A\x2A\x2A\x89\x45\xF4\x8B\x4D\xF4\x89\x4D\xF8\x83\x7D\xF8\x00"
1674 }
1675 "g_pGameRules"
1676 {
1677 "library" "server"
1678 "linux" "@g_pGameRules"
1679 }
1680 }
1681 }
1683 /* Zombie Panic! Source 1.2b
1684 * Note: This mod is not fully supported yet.
1685 * The definitions below were supplied by a third party.
1686 * (thanks "noob cannon lol")
1687 */
1688 "$Zombie Panic! Source"
1689 {
1690 "Offsets"
1691 {
1692 "GiveNamedItem"
1693 {
1694 "windows" "333"
1695 "linux" "334"
1696 }
1697 "RemovePlayerItem"
1698 {
1699 "windows" "230"
1700 "linux" "231"
1701 }
1702 "Weapon_GetSlot"
1703 {
1704 "windows" "226"
1705 "linux" "227"
1706 }
1707 "Ignite"
1708 {
1709 "windows" "190"
1710 "linux" "191"
1711 }
1712 "Extinguish"
1713 {
1714 "windows" "191"
1715 "linux" "192"
1716 }
1717 "Teleport"
1718 {
1719 "windows" "100"
1720 "linux" "101"
1721 }
1722 "CommitSuicide"
1723 {
1724 "windows" "361"
1725 "linux" "362"
1726 }
1727 "GetVelocity"
1728 {
1729 "windows" "128"
1730 "linux" "129"
1731 }
1732 "EyeAngles"
1733 {
1734 "windows" "120"
1735 "linux" "121"
1736 }
1737 "AcceptInput"
1738 {
1739 "windows" "35"
1740 "linux" "36"
1741 }
1742 "DispatchKeyValue"
1743 {
1744 "windows" "31"
1745 "linux" "30"
1746 }
1747 "DispatchKeyValueFloat"
1748 {
1749 "windows" "30"
1750 "linux" "31"
1751 }
1752 "DispatchKeyValueVector"
1753 {
1754 "windows" "29"
1755 "linux" "32"
1756 }
1757 "SetEntityModel"
1758 {
1759 "windows" "25"
1760 "linux" "26"
1761 }
1762 "WeaponEquip"
1763 {
1764 "windows" "219"
1765 "linux" "220"
1766 }
1767 "Activate"
1768 {
1769 "windows" "32"
1770 "linux" "33"
1771 }
1772 }
1773 "Signatures"
1774 {
1775 "CreateGameRulesObject"
1776 {
1777 "library" "server"
1778 "windows" "\x8B\x0D\x2A\x2A\x2A\x2A\x85\xC9\x74\x2A\x8B\x01\x8B\x50\x2C\x6A\x01"
1779 }
1780 "FindEntityByClassname"
1781 {
1782 "library" "server"
1783 "windows" "\x53\x55\x56\x8B\xF1\x8B\x4C\x24\x2A\x2A\x85\xC9\x74\x2A\x8B\x01\x8B\x50\x2A\x2A\x2A\x8B\x00\x25\xFF\x0F\x00\x00\x40\xC1\xC1\xE0\x04\x8B\x2A\x2A\xEB\x2A\x8B\xBE\x2A\x2A\x2A\x2A\x85\xFF\x74\x2A\x8B\x5C\x24\x2A\x8B\x2D\x2A\x2A\x2A\x2A\x8D\xA4\x24\x00\x00\x00\x00\x8B\x37\x85\xF6\x75\x2A\x68\x2A\x2A\x2A\x2A\xFF\x2A\x83\xC4\x2A\xEB\x2A\x39"
1784 "linux" "@_ZN17CGlobalEntityList21FindEntityByClassnameEP11CBaseEntityPKc"
1785 }
1786 "CreateEntityByName"
1787 {
1788 "library" "server"
1789 "linux" "@_Z18CreateEntityByNamePKci"
1790 "windows" "\x56\x8B\x74\x24\x2A\x57\x8B\x7C\x24\x2A\x83\xFE\xFF\x74\x2A\x8B\x0D\x2A\x2A\x2A\x2A\x8B\x01\x8B\x50\x2A\x56\xFF\xD2"
1791 }
1792 "DispatchSpawn"
1793 {
1794 "library" "server"
1795 "linux" "@_Z13DispatchSpawnP11CBaseEntity"
1796 "windows" "\x53\x55\x56\x8B\x74\x24\x10\x2A\x85\xF6\x0F\x84\x2A\x2A\x2A\x2A\x8B\x1D\x2A\x2A\x2A\x2A\x8B\x03\x8B\x50\x60\x8B\xCB"
1797 }
1798 }
1799 }
1800 }