Skip to content

Commit c4fae20

Browse files
committed
[Shadow Gens] Always Use Movie Shadow Skin: fix missing assets and RH1 softlock
1 parent ab57480 commit c4fae20

File tree

1 file changed

+37
-20
lines changed

1 file changed

+37
-20
lines changed
Lines changed: 37 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,57 @@
1-
Patch "Always Use Movie Shadow Skin (experimental)" in "Gameplay" by "Hyper & angryzor" does
1+
Patch "Always Use Movie Shadow Skin (experimental)" in "Gameplay" by "Hyper" does
22
/*
33
Always uses the Movie Shadow skin across the game.
44

55
Notes;
66
- This requires the Sonic the Hedgehog 3 Movie Pack DLC.
77

88
Known issues;
9-
- Stage-specific animations and cutscenes outside of the Tokyo mission will not be animated properly.
9+
- All animations and cutscenes that are not used by the Tokyo mission will not be animated properly.
10+
- Swing poles are unusable.
1011
*/
12+
//
13+
#lib "Memory"
14+
//
1115
{
12-
WriteAsmHook
13-
(
14-
$@"
15-
mov al, 2
16-
ret
17-
",
16+
long[] addrs =
17+
{
18+
/* v1.10.0.0: 0x1406836D9 */ ScanSignature("\xE8\xCC\xCC\xCC\xCC\x44\x0F\xB6\xE0\x3C\x02", "x????xxxxxx"),
19+
/* v1.10.0.0: 0x14011785D */ ScanSignature("\xE8\xCC\xCC\xCC\xCC\x88\x85\x40\x01\x00\x00", "x????xxxxxx"),
20+
/* v1.10.0.0: 0x1400FF474 */ ScanSignature("\xE8\xCC\xCC\xCC\xCC\x0F\xBE\xD0\x33\xC9", "x????xxxxx"),
21+
/* v1.10.0.0: 0x140180D11 */ ScanSignature("\xE8\xCC\xCC\xCC\xCC\x3C\x02\x0F\x85\xBC\x01\x00\x00", "x????xxxxxxxx"),
22+
/* v1.10.0.0: 0x140180EE0 */ ScanSignature("\xE8\xCC\xCC\xCC\xCC\x3C\x02\x0F\x85\xFC\x05\x00\x00", "x????xxxxxxxx"),
23+
/* v1.10.0.0: 0x14A93E2F3 */ ScanSignature("\xE8\xCC\xCC\xCC\xCC\x31\xDB\x3C\x02\x0F\x85\x80\x00\x00\x00", "x????xxxxxxxxxx"),
24+
/* v1.10.0.0: 0x1407EB9AB */ ScanSignature("\xE8\xCC\xCC\xCC\xCC\x84\xC0\x41\x0F\x95\xC7", "x????xxxxxx"),
25+
/* v1.10.0.0: 0x14B5ACCE4 */ ScanSignature("\xE8\xCC\xCC\xCC\xCC\x66\x89\x0D\xCC\xCC\xCC\xCC\x3C\x01", "x????xxx????xx"),
26+
/* v1.10.0.0: 0x14060DC48 */ ScanSignature("\xE8\xCC\xCC\xCC\xCC\x88\x45\x67\xC6\x45\x77\x01", "x????xxxxxxx")
27+
};
28+
29+
var asm = Assemble("mov al, 2; nop; nop; nop");
1830

19-
/* v1.10.0.0: 0x146AF7E00 */
31+
foreach (var addr in addrs)
32+
WriteProtected<byte>(addr, asm);
33+
34+
// Force load Movie Shadow resources.
35+
WriteNop
36+
(
37+
/* v1.10.0.0: 0x1401806D0 */
2038
ScanSignature
2139
(
22-
"\x40\x53\x48\x83\xEC\x20\x48\x89\xCB\xE8\xCC\xCC\xCC\xCC\x48\x89\xC2\x48\x89\xD9\xE8\xCC\xCC\xCC\xCC\x48\x85\xC0\x74\x15",
23-
"xxxxxxxxxx????xxxxxxx????xxxxx"
40+
"\x0F\x84\x13\x0E\x00\x00\x49\x8B\xCE",
41+
"xxxxxxxxx"
2442
),
2543

26-
HookBehavior.Replace
44+
6
2745
);
28-
29-
WriteProtected<byte>
46+
47+
// Disable Movie Shadow grind rail code.
48+
Memory.WriteForceJump
3049
(
31-
/* v1.10.0.0: 0x14060E211 */
50+
/* v1.10.0.0: 0x1406F10CA */
3251
ScanSignature
3352
(
34-
"\x75\x55\x45\x33\xC0",
35-
"xxxxx"
36-
),
37-
38-
0xEB
53+
"\x0F\x84\x38\x01\x00\x00\x48\x8D\x54\x24\x30",
54+
"xxxxxxxxxxx"
55+
)
3956
);
4057
}

0 commit comments

Comments
 (0)