SM: 0.4.2 broken quick save and reload fix (#2204)

This commit is contained in:
lordlou 2023-09-21 20:49:27 -04:00 committed by GitHub
parent 638d6807db
commit 5e46967b7d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 136 additions and 126 deletions

View File

@ -2,7 +2,7 @@
; generated by asar ; generated by asar
[labels] [labels]
82:FA35 :neg_1_1 82:FA40 :neg_1_1
B8:83C1 :neg_1_2 B8:83C1 :neg_1_2
B8:85DA :neg_1_3 B8:85DA :neg_1_3
B8:85F9 :neg_1_4 B8:85F9 :neg_1_4
@ -177,7 +177,7 @@ A0:FE00 setup_music
A0:FE0B setup_music_quick A0:FE0B setup_music_quick
A0:FE94 setup_samus A0:FE94 setup_samus
A0:FEA5 setup_samus_normal A0:FEA5 setup_samus_normal
82:FA27 sm_fix_checksum 82:FA2A sm_fix_checksum
B8:8800 sm_item_graphics B8:8800 sm_item_graphics
B8:882E sm_item_plm_pickup_sequence_pointers B8:882E sm_item_plm_pickup_sequence_pointers
B8:847B sm_save_done_hook B8:847B sm_save_done_hook
@ -192,7 +192,7 @@ B8:83F4 write_repeated_memory_loop
[source files] [source files]
0000 fe019f55 main.asm 0000 fe019f55 main.asm
0001 be17692f ../common/fast_reload.asm 0001 62a29254 ../common/fast_reload.asm
0002 06780555 ../common/nofanfare.asm 0002 06780555 ../common/nofanfare.asm
0003 7a8904b6 ../common/multiworld.asm 0003 7a8904b6 ../common/multiworld.asm
0004 f7e9db95 ../common/itemextras.asm 0004 f7e9db95 ../common/itemextras.asm
@ -200,7 +200,7 @@ B8:83F4 write_repeated_memory_loop
0006 dbfcb38d ../common/startitem.asm 0006 dbfcb38d ../common/startitem.asm
[rom checksum] [rom checksum]
979ac031 e50233eb
[addr-to-line mapping] [addr-to-line mapping]
ff:ffff 0000:00000001 ff:ffff 0000:00000001
@ -245,125 +245,132 @@ ce:ff0a 0001:00000013
82:f9e6 0001:00000040 82:f9e6 0001:00000040
82:f9ea 0001:00000042 82:f9ea 0001:00000042
82:f9ee 0001:00000043 82:f9ee 0001:00000043
82:f9f0 0001:00000044 82:f9f1 0001:00000044
82:f9f1 0001:00000045 82:f9f2 0001:00000045
82:f9f2 0001:00000046 82:f9f4 0001:00000046
82:f9f6 0001:00000047 82:f9f5 0001:00000047
82:f9f9 0001:00000048 82:f9f9 0001:00000048
82:f9fa 0001:00000049 82:f9fc 0001:00000049
82:f9fb 0001:0000004a 82:f9fd 0001:0000004a
82:f9fc 0001:0000004b 82:f9fe 0001:0000004b
82:f9ff 0001:0000004b 82:f9ff 0001:0000004c
82:fa00 0001:0000004b 82:fa02 0001:0000004c
82:fa04 0001:0000004c 82:fa03 0001:0000004c
82:fa05 0001:0000004d 82:fa07 0001:0000004d
82:fa08 0001:0000004d 82:fa08 0001:0000004e
82:fa0c 0001:0000004e 82:fa0b 0001:0000004e
82:fa10 0001:00000050 82:fa0f 0001:0000004f
82:fa14 0001:00000051 82:fa13 0001:00000051
82:fa17 0001:00000052 82:fa17 0001:00000052
82:fa1b 0001:00000053 82:fa1a 0001:00000053
82:fa1f 0001:00000054 82:fa1e 0001:00000054
82:fa22 0001:00000055 82:fa22 0001:00000055
82:fa25 0001:00000056 82:fa25 0001:00000056
82:fa26 0001:00000057 82:fa28 0001:00000057
82:fa27 0001:0000005a 82:fa29 0001:00000058
82:fa28 0001:0000005b 82:fa2a 0001:0000005b
82:fa29 0001:0000005c 82:fa2b 0001:0000005c
82:fa2a 0001:0000005d 82:fa2c 0001:0000005d
82:fa2b 0000:00000013 82:fa2d 0001:0000005e
82:fa2d 0001:00000061 82:fa2e 0000:00000013
82:fa2f 0001:00000062 82:fa30 0001:00000062
82:fa30 0001:00000063 82:fa32 0001:00000063
82:fa32 0001:00000064 82:fa33 0001:00000064
82:fa35 0001:00000066 82:fa35 0001:00000065
82:fa39 0001:00000067 82:fa37 0001:00000066
82:fa3a 0001:00000068 82:fa38 0001:00000067
82:fa3c 0001:00000069 82:fa3c 0001:00000068
82:fa3e 0001:0000006a 82:fa3d 0001:00000069
82:fa3f 0001:0000006b 82:fa40 0001:0000006b
82:fa40 0001:0000006c 82:fa44 0001:0000006c
82:fa43 0001:0000006d 82:fa45 0001:0000006d
82:fa45 0001:0000006f 82:fa47 0001:0000006e
82:fa48 0001:00000070 82:fa49 0001:0000006f
82:fa4a 0001:00000071 82:fa4a 0001:00000070
82:fa4e 0001:00000072 82:fa4b 0001:00000071
82:fa52 0001:00000073 82:fa4c 0001:00000072
82:fa55 0001:00000074 82:fa4d 0001:00000073
82:fa59 0001:00000075 82:fa50 0001:00000074
82:fa5d 0001:00000076 82:fa52 0001:00000076
82:fa5e 0001:00000077 82:fa54 0001:00000077
82:fa60 0001:00000079 82:fa56 0001:00000078
82:fa61 0001:0000007a 82:fa5a 0001:00000079
82:fa62 0001:0000007b 82:fa5e 0001:0000007a
82:fa63 0001:0000007c 82:fa61 0001:0000007b
82:fa64 0001:0000007d 82:fa65 0001:0000007c
80:a088 0001:00000083 82:fa69 0001:0000007d
80:a08c 0001:00000083 82:fa6a 0001:0000007e
80:a08d 0001:00000083 82:fa6c 0001:00000080
80:a095 0001:00000086 82:fa6d 0001:00000081
80:a0ce 0001:00000089 82:fa6e 0001:00000082
80:a113 0001:0000008c 82:fa6f 0001:00000083
91:e164 0001:0000008f 82:fa70 0001:00000084
91:e168 0001:0000008f 80:a088 0001:0000008a
91:e169 0001:0000008f 80:a08c 0001:0000008a
a0:fe00 0001:00000094 80:a08d 0001:0000008a
a0:fe03 0001:00000095 80:a095 0001:0000008d
a0:fe05 0001:00000096 80:a0ce 0001:00000090
a0:fe08 0001:00000097 80:a113 0001:00000093
a0:fe0b 0001:00000099 91:e164 0001:00000096
a0:fe0c 0001:0000009c 91:e168 0001:00000096
a0:fe10 0001:0000009d 91:e169 0001:00000096
a0:fe13 0001:0000009e a0:fe00 0001:0000009b
a0:fe15 0001:0000009f a0:fe03 0001:0000009c
a0:fe18 0001:000000a0 a0:fe05 0001:0000009d
a0:fe1b 0001:000000a1 a0:fe08 0001:0000009e
a0:fe1f 0001:000000a3 a0:fe0b 0001:000000a0
a0:fe23 0001:000000a4 a0:fe0c 0001:000000a3
a0:fe27 0001:000000a5 a0:fe10 0001:000000a4
a0:fe2b 0001:000000a6 a0:fe13 0001:000000a5
a0:fe2f 0001:000000a9 a0:fe15 0001:000000a6
a0:fe33 0001:000000aa a0:fe18 0001:000000a7
a0:fe36 0001:000000ab a0:fe1b 0001:000000a8
a0:fe38 0001:000000ac a0:fe1f 0001:000000aa
a0:fe3c 0001:000000ad a0:fe23 0001:000000ab
a0:fe40 0001:000000af a0:fe27 0001:000000ac
a0:fe44 0001:000000b2 a0:fe2b 0001:000000ad
a0:fe48 0001:000000b3 a0:fe2f 0001:000000b0
a0:fe49 0001:000000b4 a0:fe33 0001:000000b1
a0:fe4c 0001:000000b5 a0:fe36 0001:000000b2
a0:fe4e 0001:000000b6 a0:fe38 0001:000000b3
a0:fe4f 0001:000000b7 a0:fe3c 0001:000000b4
a0:fe53 0001:000000b8 a0:fe40 0001:000000b6
a0:fe57 0001:000000ba a0:fe44 0001:000000b9
a0:fe58 0001:000000bb a0:fe48 0001:000000ba
a0:fe5c 0001:000000bc a0:fe49 0001:000000bb
a0:fe5f 0001:000000bd a0:fe4c 0001:000000bc
a0:fe62 0001:000000be a0:fe4e 0001:000000bd
a0:fe65 0001:000000bf a0:fe4f 0001:000000be
a0:fe67 0001:000000c0 a0:fe53 0001:000000bf
a0:fe6a 0001:000000c1 a0:fe57 0001:000000c1
a0:fe6d 0001:000000c2 a0:fe58 0001:000000c2
a0:fe6f 0001:000000c3 a0:fe5c 0001:000000c3
a0:fe73 0001:000000c6 a0:fe5f 0001:000000c4
a0:fe76 0001:000000c7 a0:fe62 0001:000000c5
a0:fe79 0001:000000c8 a0:fe65 0001:000000c6
a0:fe7c 0001:000000c9 a0:fe67 0001:000000c7
a0:fe7f 0001:000000cb a0:fe6a 0001:000000c8
a0:fe82 0001:000000cc a0:fe6d 0001:000000c9
a0:fe85 0001:000000cd a0:fe6f 0001:000000ca
a0:fe89 0001:000000ce a0:fe73 0001:000000cd
a0:fe8c 0001:000000cf a0:fe76 0001:000000ce
a0:fe90 0001:000000d1 a0:fe79 0001:000000cf
a0:fe94 0001:000000d4 a0:fe7c 0001:000000d0
a0:fe97 0001:000000d5 a0:fe7f 0001:000000d2
a0:fe99 0001:000000d6 a0:fe82 0001:000000d3
a0:fe9c 0001:000000d7 a0:fe85 0001:000000d4
a0:fe9f 0001:000000d8 a0:fe89 0001:000000d5
a0:fea2 0001:000000d9 a0:fe8c 0001:000000d6
a0:fea5 0001:000000db a0:fe90 0001:000000d8
a0:fea8 0001:000000dc a0:fe94 0001:000000db
a0:feab 0001:000000dd a0:fe97 0001:000000dc
a0:fe99 0001:000000dd
a0:fe9c 0001:000000de
a0:fe9f 0001:000000df
a0:fea2 0001:000000e0
a0:fea5 0001:000000e2
a0:fea8 0001:000000e3
a0:feab 0001:000000e4
85:ff00 0002:0000010b 85:ff00 0002:0000010b
85:ff03 0002:0000010c 85:ff03 0002:0000010c
85:ff06 0002:0000010d 85:ff06 0002:0000010d

View File

@ -158,7 +158,7 @@
"setup_music_quick": "A0:FE0B", "setup_music_quick": "A0:FE0B",
"setup_samus": "A0:FE94", "setup_samus": "A0:FE94",
"setup_samus_normal": "A0:FEA5", "setup_samus_normal": "A0:FEA5",
"sm_fix_checksum": "82:FA27", "sm_fix_checksum": "82:FA2A",
"sm_item_graphics": "B8:8800", "sm_item_graphics": "B8:8800",
"sm_item_plm_pickup_sequence_pointers": "B8:882E", "sm_item_plm_pickup_sequence_pointers": "B8:882E",
"sm_save_done_hook": "B8:847B", "sm_save_done_hook": "B8:847B",
@ -172,7 +172,7 @@
"write_repeated_memory_loop": "B8:83F4", "write_repeated_memory_loop": "B8:83F4",
"deathhook82": "82:DDC7", "deathhook82": "82:DDC7",
"freespace82_start": "82:F990", "freespace82_start": "82:F990",
"freespace82_end": "82:FA65", "freespace82_end": "82:FA71",
"freespacea0": "a0:fe00", "freespacea0": "a0:fe00",
"SRAM_SAVING": "70:2604", "SRAM_SAVING": "70:2604",
"current_save_slot": "7e:0952", "current_save_slot": "7e:0952",

View File

@ -34,5 +34,6 @@ When the player receives an item, a text box will appear to show which item was
It can happen that a required item is in a place where you cant get back from. While in normal gameplay state, by holding It can happen that a required item is in a place where you cant get back from. While in normal gameplay state, by holding
Start+Select+L+R at the same time, the game will save your progress and put you back at your original starting position. Start+Select+L+R at the same time, the game will save your progress and put you back at your original starting position.
This can be required by the logic. This can be required by the logic. Since the addition of that feature, VARIA's automatic backup saves are disabled since
you can't softlock anymore.

View File

@ -238,10 +238,12 @@ class RomPatcher:
plms.append('WS_Save_Blinking_Door') plms.append('WS_Save_Blinking_Door')
if self.settings["boss"] == True: if self.settings["boss"] == True:
stdPatches.append("Phantoon_Eye_Door") stdPatches.append("Phantoon_Eye_Door")
if (self.settings["area"] == True # rolling saves is not required anymore since the addition of fast_save_reload
or self.settings["doorsColorsRando"] == True # also, both arent completely compatible as-is
or not GraphUtils.isStandardStart(self.settings["startLocation"])): #if (self.settings["area"] == True
stdPatches.append("Enable_Backup_Saves") # or self.settings["doorsColorsRando"] == True
# or not GraphUtils.isStandardStart(self.settings["startLocation"])):
# stdPatches.append("Enable_Backup_Saves")
if 'varia_hud.ips' in self.settings["optionalPatches"]: if 'varia_hud.ips' in self.settings["optionalPatches"]:
# varia hud can make demos glitch out # varia hud can make demos glitch out
self.applyIPSPatch("no_demo.ips") self.applyIPSPatch("no_demo.ips")