Hey kidpaddle, great work on these. I took some of the changes you provided and incorporated it into my mod: Vanilla Frosting:
https://github.com/fearedbliss/Diablo-I ... a-Frosting
I'm on 1.13d so I went ahead and found the new offsets for the following:
- Hyperjoin
- Classic Whirlwind
I also found the new offset for the "Classic Shield Block/ Shield Block Fix" based on an old 1.10f DLL that Nefarius created and is on PhrozenKeep:
https://d2mods.info/filecenter/dload.ph ... le_id=1352
Since I didn't know what the changes to Nefarius's dll were, I decided
to open both dlls up in olly (his modded dll, and a vanilla 1.10f dll),
exported the entire dll into a plain text file, and then used Linux's 'diff' utility
to see if the differences would be pointed, luckily they were

:
jon@octopus ~ $ diff -u vanilla.txt modded.txt
--- vanilla.txt 2014-06-12 15:31:53.495472800 -0400
+++ modded.txt 2014-06-12 15:31:07.041407500 -0400
@@ -162585,7 +162585,7 @@
00080CF6 0FAFC5 IMUL EAX,EBP
00080CF9 99 CDQ
00080CFA F7F9 IDIV ECX
-00080CFC 8BE8 MOV EBP,EAX
+00080CFC 8BED MOV EBP,EBP
00080CFE 83FD 4B CMP EBP,4B
00080D01 7D 08 JGE SHORT 00080D0B
00080D03 5F POP EDI
After that I went ahead and searched for it on 1.13d. Here is the code and changes/offset for that:
Code: Select all
000189E1 E8 FAFA0300 CALL 000584E0
000189E6 8BC8 MOV ECX,EAX
000189E8 83F9 01 CMP ECX,1
000189EB 7F 05 JG SHORT 000189F2
000189ED B9 01000000 MOV ECX,1
000189F2 8D43 F1 LEA EAX,DWORD PTR DS:[EBX-F]
000189F5 0FAFC7 IMUL EAX,EDI
000189F8 99 CDQ
000189F9 03C9 ADD ECX,ECX
000189FB F7F9 IDIV ECX
000189FD 8BF8 MOV EDI,EAX <<< Make second register equal to first (EDI = First, EAX = Second)
000189FF 83FF 4B CMP EDI,4B
00018A02 7D 08 JGE SHORT 00018A0C
00018A04 8BC7 MOV EAX,EDI
00018A06 5F POP EDI
00018A07 5E POP ESI
00018A08 5B POP EBX
00018A09 C2 0800 RETN 8
Here is the code sequence I used to find it:
Code: Select all
IDIV R32
MOV R32,R32
CMP R32,4B
JGE SHORT const
WHAT TO DO:
Code: Select all
000189FD 8BF8 MOV EDI,EAX
Make the second register equal to the first, so it will become MOV EDI,EDI:
000189FD 8BFF MOV EDI,EDI
Offsets:
1.13d Offset: 189FD
1.10f Offset (Thanks to Nefarius): 80CFC
---------------
1.13d Hyperjoin:
Code:
Code: Select all
000B6B62 75 08 JNZ SHORT 000B6B6C
000B6B64 892D 60CABC6F MOV DWORD PTR DS:[6FBCCA60],EBP
000B6B6A EB 0A JMP SHORT 000B6B76
000B6B6C 8BC6 MOV EAX,ESI
000B6B6E 99 CDQ
000B6B6F F7FD IDIV EBP
000B6B71 A3 60CABC6F MOV DWORD PTR DS:[6FBCCA60],EAX
000B6B76 6A 00 PUSH 0
000B6B78 E8 B346F6FF CALL 0001B230
000B6B7D 68 FA000000 PUSH 0FA <<<< Change this to PUSH 5, and the next 3 will be NOP
000B6B82 FFD3 CALL EBX
000B6B84 81C6 00010000 ADD ESI,100
000B6B8A 4F DEC EDI
000B6B8B ^ 75 D3 JNZ SHORT 000B6B60
000B6B8D 5F POP EDI
000B6B8E 5E POP ESI
000B6B8F 5D POP EBP
000B6B90 5B POP EBX
000B6B91 C2 0400 RETN 4
WHAT TO DO:
Code: Select all
Change the following line to PUSH 5 and NOP the rest:
000B6B7D 68 FA000000 PUSH 0FA
Will become the following:
000B6B7D 6A 05 PUSH 5
000B6B7F 90 NOP
000B6B80 90 NOP
000B6B81 90 NOP
HOW TO FIND OFFSET:
Search for the following code sequence:
Code: Select all
PUSH 0
CALL const
PUSH 0FA
CALL R32
ADD R32,100
There will only be one match.
1.13d Offset: B6B7D
1.13c Offset (Thanks to kidpaddle94): 14D6D
----------------
Classic Whirlwind:
CODE:
Code: Select all
000C14A0 C2 0800 RETN 8
000C14A3 55 PUSH EBP
000C14A4 8B6C24 0C MOV EBP,DWORD PTR SS:[ESP+C]
000C14A8 8B45 70 MOV EAX,DWORD PTR SS:[EBP+70]
000C14AB 85C0 TEST EAX,EAX
000C14AD 75 0A JNZ SHORT 000C14B9 <<<< NOP this (There will be two consecutive NOPs)
000C14AF 5D POP EBP
000C14B0 B8 01000000 MOV EAX,1
000C14B5 5F POP EDI
000C14B6 C2 0800 RETN 8
000C14B9 8B7C24 10 MOV EDI,DWORD PTR SS:[ESP+10]
WHAT TO DO:
Code: Select all
NOP the following line (There will be two consecutive NOPs):
000C14AD 75 0A JNZ SHORT 000C14B9
Which will turn into:
000C14AD 90 NOP
000C14AE 90 NOP
HOW TO FIND OFFSET:
Search for the following code sequence:
Code: Select all
MOV R32,[R32+const]
MOV R32,[R32+const]
TEST R32,R32
JNZ SHORT const
POP R32
MOV R32,1
POP R32
RETN 8
There will only be one match.
1.13d Offset: C14AD
1.13c Offset (Thanks to kidpaddle94): 26E7D
I tested all except the classic whirlwind, however I'm sure it will work.