Skip to content
This repository was archived by the owner on May 22, 2025. It is now read-only.

Commit b4f1bc2

Browse files
committed
1589 Fixes
1 parent 9e32cb3 commit b4f1bc2

File tree

1 file changed

+6
-15
lines changed

1 file changed

+6
-15
lines changed

byond-extools/src/core/find_functions.cpp

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)