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/*
33Always uses the Movie Shadow skin across the game.
44
55Notes;
66- This requires the Sonic the Hedgehog 3 Movie Pack DLC.
77
88Known 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+ };
1828
19- /* v1.10.0.0: 0x146AF7E00 */
29+ foreach (var addr in addrs)
30+ WriteProtected<byte>(addr, Assemble("mov al, 2; nop; nop; nop"));
31+
32+ // Force load Movie Shadow resources.
33+ WriteNop
34+ (
35+ /* v1.10.0.0: 0x1401806D0 */
2036 ScanSignature
2137 (
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 "
38+ "\x0F\x84\x13\x0E\x00\x00\x49\x8B\xCE ",
39+ "xxxxxxxxx "
2440 ),
2541
26- HookBehavior.Replace
42+ 6
2743 );
28-
29- WriteProtected<byte>
44+
45+ // Disable Movie Shadow grind rail code.
46+ Memory.WriteForceJump
3047 (
31- /* v1.10.0.0: 0x14060E211 */
48+ /* v1.10.0.0: 0x1406F10CA */
3249 ScanSignature
3350 (
34- "\x75\x55\x45\x33\xC0",
35- "xxxxx"
36- ),
37-
38- 0xEB
51+ "\x0F\x84\x38\x01\x00\x00\x48\x8D\x54\x24\x30",
52+ "xxxxxxxxxxx"
53+ )
3954 );
4055}
0 commit comments