@@ -40,18 +40,9 @@ bool Core::find_functions()
4040{
4141 bool failed = false ;
4242#ifdef _WIN32
43- if ( ByondBuild >= 1561 )
44- {
45- FIND_OR_DIE (ToString, " 55 8B EC 6A FF 68 ?? ?? ?? ?? 64 A1 ?? ?? ?? ?? 50 83 EC 18 53 56 57 A1 ?? ?? ?? ?? 33 C5 50 8D 45 ?? 64 A3 ?? ?? ?? ?? 8B 4D ?? 0F B6 C1" );
46- FIND_OR_DIE (TopicFloodCheck, " 55 8B EC 6A FF 68 ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 50 83 EC 2C 53 56 57 A1 ?? ?? ?? ?? 33 C5 50 8D 45 F4 ?? ?? ?? ?? ?? ?? FF 75 08 E8 ?? ?? ?? ??" );
47- FIND_OR_DIE (DelDatum, " 55 8B EC 8B 4D 08 3B 0D ?? ?? ?? ?? 73 55 A1 ?? ?? ?? ?? 8B 04 88 85 C0 74 49 8B 50 18 81 FA 00 00 00 70" );
48- }
49- else
50- {
51- FIND_OR_DIE (ToString, " 55 8B EC 6A FF 68 ?? ?? ?? ?? 64 A1 ?? ?? ?? ?? 50 83 EC 14 53 56 57 A1 ?? ?? ?? ?? 33 C5 50 8D 45 ?? 64 A3 ?? ?? ?? ?? 8B 4D ??" );
52- FIND_OR_DIE (TopicFloodCheck, " 55 8B EC 6A FF 68 ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 50 83 EC 2C 53 56 57 A1 ?? ?? ?? ?? 33 C5 50 8D 45 F4 ?? ?? ?? ?? ?? ?? FF 75 08 E8 ?? ?? ?? ?? 83 C4 04 85 C0" );
53- FIND_OR_DIE (DelDatum, " 55 8b ec 8b 4d 08 3b 0d ?? ?? ?? ?? 73 55 a1 ?? ?? ?? ?? 8b 04 88 85 c0 74 49 8b 50 14 81 fa 00 00 00 70" );
54- }
43+ FIND_OR_DIE (ToString, " 55 8B EC 6A FF 68 ?? ?? ?? ?? 64 A1 ?? ?? ?? ?? 50 83 EC ?? 53 56 57 A1 ?? ?? ?? ?? 33 C5 50 8D 45 ?? 64 A3 ?? ?? ?? ?? 8B 1D ?? ?? ?? ??" );
44+ FIND_OR_DIE (TopicFloodCheck, " 55 8B EC 6A FF 68 ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? 50 83 EC 2C 53 56 57 A1 ?? ?? ?? ?? 33 C5 50 8D 45 F4 ?? ?? ?? ?? ?? ?? FF 75 08 E8 ?? ?? ?? ??" );
45+ FIND_OR_DIE (DelDatum, " 55 8B EC 8B 4D 08 3B 0D ?? ?? ?? ?? 73 55 A1 ?? ?? ?? ?? 8B 04 88 85 C0 74 49 8B 50 18 81 FA 00 00 00 70" );
5546 FIND_OR_DIE (Suspend, " 55 8B EC 53 56 57 8B 7D 08 57 E8 ?? ?? ?? ?? 8B 1F 8B F0 8A 4F 69 83 C4 04 8B 56 18 88 4A 69 8B 4B 20 89 4E 20 8B 43 24 89 46 24 8B 45 0C C6 47 69 00 C7 43 ?? ?? ?? ?? ?? C7 43 ?? ?? ?? ?? ?? 8B 4E 18 89 41 04 F6 43 04 10" );
5647 FIND_OR_DIE (StartTiming, " 55 8B EC 56 8B 75 ?? 56 80 4E ?? ??" );
5748 FIND_OR_DIE (SetVariable, " 55 8B EC 8B 4D 08 0F B6 C1 48 57 8B 7D 10 83 F8 53 0F ?? ?? ?? ?? ?? 0F B6 80 ?? ?? ?? ?? FF 24 85 ?? ?? ?? ?? FF 75 18 FF 75 14 57 FF 75 0C E8 ?? ?? ?? ?? 83 C4 10 5F 5D C3" );
@@ -124,7 +115,7 @@ bool Core::find_functions()
124115 FIND_OR_DIE (DisconnectClient2, " 55 89 E5 57 56 53 83 EC ?? 0F B7 7D ?? 66 3B 3D ?? ?? ?? ??" );
125116 FIND_OR_DIE (CreateList, " 55 89 E5 57 56 53 83 EC ?? A1 ?? ?? ?? ?? 8B 75 ?? 85 C0 0F 84 ?? ?? ?? ??" );
126117 FIND_OR_DIE (SendMaps, " 55 89 E5 57 56 53 81 EC ?? ?? ?? ?? 80 3D ?? ?? ?? ?? ?? 0F 85 ?? ?? ?? ??" );
127- FIND_OR_DIE (ToString, " 55 89 E5 83 EC 68 A1 ?? ?? ?? ?? 8B 15 ?? ?? ?? ?? 8B 0D ?? ?? ?? ?? 89 5D ?? " );
118+ FIND_OR_DIE (ToString, " 55 89 E5 57 56 53 ?? ?? ?? ?? 45 E4 ?? ?? ?? 85 " );
128119 FIND_OR_DIE (Length, " 55 89 E5 57 56 53 83 EC ?? 8B 45 ?? 8B 5D ?? 3C ??" );
129120 FIND_OR_DIE (PrintToDD, " 55 89 E5 53 83 EC ?? 8B 1D ?? ?? ?? ?? 8B 55 ?? 85 DB" );
130121 FIND_OR_DIE (TopicFloodCheck, " 55 89 E5 57 56 53 83 EC ?? 0F B7 45 ?? 89 04 24 E8 ?? ?? ?? ?? BA ?? ?? ?? ??" );
@@ -140,10 +131,10 @@ bool Core::find_functions()
140131 FIND_OR_DIE (DecRefCount, " 55 89 E5 83 EC ?? 8B 45 08 89 5D ?? 8B 5D 0C 89 75 ?? 3C 54" );
141132 FIND_OR_DIE (IncRefCount, " 55 89 E5 83 EC ?? 8B 55 08 8b 45 0C 80 FA 54 76 07 c9 c3 90" );
142133 FIND_OR_DIE (GetAssocElement, " 55 89 E5 83 EC ?? 89 4D C4 B9 7B 00 00 00 89 5D F4 89 D3 89 75 F8 89 C6 89 D0 8B 55 C4 89 7D FC C7 44 24 04 00 00 00 00 C7 04 24 00 00 00 00 E8 ?? ?? ?? ?? 3D FF FF 00 00" ); // regparm3
143- FIND_OR_DIE (SetVariable, " 55 89 E5 81 EC A8 00 00 00 8B 55 ?? 89 5D ?? 8B 4D ?? 89 7D ?? 8B 5D ??" );
134+ FIND_OR_DIE (SetVariable, " 55 89 E5 81 EC A8 00 00 00 8B 55 ?? 8B 45 ?? 89 5D ?? 8b 5D ?? 89 7D ??" );
144135 FIND_OR_DIE (GetStringTableIndexUTF8, " 55 89 E5 57 56 89 CE 53 89 D3 83 EC ?? 8B 55 ?? 85 C0" ) // regparm3
145136 if (failed) return false ;
146-
137+
147138 // De-inlines DelDatum, very hackily.
148139 char *datum_dec_function_deinline = (char *)Pocket::Sigscan::FindPattern (BYONDCORE, " 55 89 e5 53 83 ec 44 8b 45 08 3b 05 ?? ?? ?? ?? 72 46" , 114 );
149140 subhook_unprotect (datum_dec_function_deinline, 3 +5 +2 );
0 commit comments