diff --git a/worlds/sm/data/SMBasepatch_prebuilt/multiworld-basepatch.ips b/worlds/sm/data/SMBasepatch_prebuilt/multiworld-basepatch.ips index 67863bb9..7854ca33 100644 Binary files a/worlds/sm/data/SMBasepatch_prebuilt/multiworld-basepatch.ips and b/worlds/sm/data/SMBasepatch_prebuilt/multiworld-basepatch.ips differ diff --git a/worlds/sm/data/SMBasepatch_prebuilt/multiworld.sym b/worlds/sm/data/SMBasepatch_prebuilt/multiworld.sym index 470b7a8a..0a76c207 100644 --- a/worlds/sm/data/SMBasepatch_prebuilt/multiworld.sym +++ b/worlds/sm/data/SMBasepatch_prebuilt/multiworld.sym @@ -2,7 +2,7 @@ ; generated by asar [labels] -82:FA35 :neg_1_1 +82:FA40 :neg_1_1 B8:83C1 :neg_1_2 B8:85DA :neg_1_3 B8:85F9 :neg_1_4 @@ -177,7 +177,7 @@ A0:FE00 setup_music A0:FE0B setup_music_quick A0:FE94 setup_samus A0:FEA5 setup_samus_normal -82:FA27 sm_fix_checksum +82:FA2A sm_fix_checksum B8:8800 sm_item_graphics B8:882E sm_item_plm_pickup_sequence_pointers B8:847B sm_save_done_hook @@ -192,7 +192,7 @@ B8:83F4 write_repeated_memory_loop [source files] 0000 fe019f55 main.asm -0001 be17692f ../common/fast_reload.asm +0001 62a29254 ../common/fast_reload.asm 0002 06780555 ../common/nofanfare.asm 0003 7a8904b6 ../common/multiworld.asm 0004 f7e9db95 ../common/itemextras.asm @@ -200,7 +200,7 @@ B8:83F4 write_repeated_memory_loop 0006 dbfcb38d ../common/startitem.asm [rom checksum] -979ac031 +e50233eb [addr-to-line mapping] ff:ffff 0000:00000001 @@ -245,125 +245,132 @@ ce:ff0a 0001:00000013 82:f9e6 0001:00000040 82:f9ea 0001:00000042 82:f9ee 0001:00000043 -82:f9f0 0001:00000044 -82:f9f1 0001:00000045 -82:f9f2 0001:00000046 -82:f9f6 0001:00000047 +82:f9f1 0001:00000044 +82:f9f2 0001:00000045 +82:f9f4 0001:00000046 +82:f9f5 0001:00000047 82:f9f9 0001:00000048 -82:f9fa 0001:00000049 -82:f9fb 0001:0000004a -82:f9fc 0001:0000004b -82:f9ff 0001:0000004b -82:fa00 0001:0000004b -82:fa04 0001:0000004c -82:fa05 0001:0000004d -82:fa08 0001:0000004d -82:fa0c 0001:0000004e -82:fa10 0001:00000050 -82:fa14 0001:00000051 +82:f9fc 0001:00000049 +82:f9fd 0001:0000004a +82:f9fe 0001:0000004b +82:f9ff 0001:0000004c +82:fa02 0001:0000004c +82:fa03 0001:0000004c +82:fa07 0001:0000004d +82:fa08 0001:0000004e +82:fa0b 0001:0000004e +82:fa0f 0001:0000004f +82:fa13 0001:00000051 82:fa17 0001:00000052 -82:fa1b 0001:00000053 -82:fa1f 0001:00000054 +82:fa1a 0001:00000053 +82:fa1e 0001:00000054 82:fa22 0001:00000055 82:fa25 0001:00000056 -82:fa26 0001:00000057 -82:fa27 0001:0000005a -82:fa28 0001:0000005b -82:fa29 0001:0000005c -82:fa2a 0001:0000005d -82:fa2b 0000:00000013 -82:fa2d 0001:00000061 -82:fa2f 0001:00000062 -82:fa30 0001:00000063 -82:fa32 0001:00000064 -82:fa35 0001:00000066 -82:fa39 0001:00000067 -82:fa3a 0001:00000068 -82:fa3c 0001:00000069 -82:fa3e 0001:0000006a -82:fa3f 0001:0000006b -82:fa40 0001:0000006c -82:fa43 0001:0000006d -82:fa45 0001:0000006f -82:fa48 0001:00000070 -82:fa4a 0001:00000071 -82:fa4e 0001:00000072 -82:fa52 0001:00000073 -82:fa55 0001:00000074 -82:fa59 0001:00000075 -82:fa5d 0001:00000076 -82:fa5e 0001:00000077 -82:fa60 0001:00000079 -82:fa61 0001:0000007a -82:fa62 0001:0000007b -82:fa63 0001:0000007c -82:fa64 0001:0000007d -80:a088 0001:00000083 -80:a08c 0001:00000083 -80:a08d 0001:00000083 -80:a095 0001:00000086 -80:a0ce 0001:00000089 -80:a113 0001:0000008c -91:e164 0001:0000008f -91:e168 0001:0000008f -91:e169 0001:0000008f -a0:fe00 0001:00000094 -a0:fe03 0001:00000095 -a0:fe05 0001:00000096 -a0:fe08 0001:00000097 -a0:fe0b 0001:00000099 -a0:fe0c 0001:0000009c -a0:fe10 0001:0000009d -a0:fe13 0001:0000009e -a0:fe15 0001:0000009f -a0:fe18 0001:000000a0 -a0:fe1b 0001:000000a1 -a0:fe1f 0001:000000a3 -a0:fe23 0001:000000a4 -a0:fe27 0001:000000a5 -a0:fe2b 0001:000000a6 -a0:fe2f 0001:000000a9 -a0:fe33 0001:000000aa -a0:fe36 0001:000000ab -a0:fe38 0001:000000ac -a0:fe3c 0001:000000ad -a0:fe40 0001:000000af -a0:fe44 0001:000000b2 -a0:fe48 0001:000000b3 -a0:fe49 0001:000000b4 -a0:fe4c 0001:000000b5 -a0:fe4e 0001:000000b6 -a0:fe4f 0001:000000b7 -a0:fe53 0001:000000b8 -a0:fe57 0001:000000ba -a0:fe58 0001:000000bb -a0:fe5c 0001:000000bc -a0:fe5f 0001:000000bd -a0:fe62 0001:000000be -a0:fe65 0001:000000bf -a0:fe67 0001:000000c0 -a0:fe6a 0001:000000c1 -a0:fe6d 0001:000000c2 -a0:fe6f 0001:000000c3 -a0:fe73 0001:000000c6 -a0:fe76 0001:000000c7 -a0:fe79 0001:000000c8 -a0:fe7c 0001:000000c9 -a0:fe7f 0001:000000cb -a0:fe82 0001:000000cc -a0:fe85 0001:000000cd -a0:fe89 0001:000000ce -a0:fe8c 0001:000000cf -a0:fe90 0001:000000d1 -a0:fe94 0001:000000d4 -a0:fe97 0001:000000d5 -a0:fe99 0001:000000d6 -a0:fe9c 0001:000000d7 -a0:fe9f 0001:000000d8 -a0:fea2 0001:000000d9 -a0:fea5 0001:000000db -a0:fea8 0001:000000dc -a0:feab 0001:000000dd +82:fa28 0001:00000057 +82:fa29 0001:00000058 +82:fa2a 0001:0000005b +82:fa2b 0001:0000005c +82:fa2c 0001:0000005d +82:fa2d 0001:0000005e +82:fa2e 0000:00000013 +82:fa30 0001:00000062 +82:fa32 0001:00000063 +82:fa33 0001:00000064 +82:fa35 0001:00000065 +82:fa37 0001:00000066 +82:fa38 0001:00000067 +82:fa3c 0001:00000068 +82:fa3d 0001:00000069 +82:fa40 0001:0000006b +82:fa44 0001:0000006c +82:fa45 0001:0000006d +82:fa47 0001:0000006e +82:fa49 0001:0000006f +82:fa4a 0001:00000070 +82:fa4b 0001:00000071 +82:fa4c 0001:00000072 +82:fa4d 0001:00000073 +82:fa50 0001:00000074 +82:fa52 0001:00000076 +82:fa54 0001:00000077 +82:fa56 0001:00000078 +82:fa5a 0001:00000079 +82:fa5e 0001:0000007a +82:fa61 0001:0000007b +82:fa65 0001:0000007c +82:fa69 0001:0000007d +82:fa6a 0001:0000007e +82:fa6c 0001:00000080 +82:fa6d 0001:00000081 +82:fa6e 0001:00000082 +82:fa6f 0001:00000083 +82:fa70 0001:00000084 +80:a088 0001:0000008a +80:a08c 0001:0000008a +80:a08d 0001:0000008a +80:a095 0001:0000008d +80:a0ce 0001:00000090 +80:a113 0001:00000093 +91:e164 0001:00000096 +91:e168 0001:00000096 +91:e169 0001:00000096 +a0:fe00 0001:0000009b +a0:fe03 0001:0000009c +a0:fe05 0001:0000009d +a0:fe08 0001:0000009e +a0:fe0b 0001:000000a0 +a0:fe0c 0001:000000a3 +a0:fe10 0001:000000a4 +a0:fe13 0001:000000a5 +a0:fe15 0001:000000a6 +a0:fe18 0001:000000a7 +a0:fe1b 0001:000000a8 +a0:fe1f 0001:000000aa +a0:fe23 0001:000000ab +a0:fe27 0001:000000ac +a0:fe2b 0001:000000ad +a0:fe2f 0001:000000b0 +a0:fe33 0001:000000b1 +a0:fe36 0001:000000b2 +a0:fe38 0001:000000b3 +a0:fe3c 0001:000000b4 +a0:fe40 0001:000000b6 +a0:fe44 0001:000000b9 +a0:fe48 0001:000000ba +a0:fe49 0001:000000bb +a0:fe4c 0001:000000bc +a0:fe4e 0001:000000bd +a0:fe4f 0001:000000be +a0:fe53 0001:000000bf +a0:fe57 0001:000000c1 +a0:fe58 0001:000000c2 +a0:fe5c 0001:000000c3 +a0:fe5f 0001:000000c4 +a0:fe62 0001:000000c5 +a0:fe65 0001:000000c6 +a0:fe67 0001:000000c7 +a0:fe6a 0001:000000c8 +a0:fe6d 0001:000000c9 +a0:fe6f 0001:000000ca +a0:fe73 0001:000000cd +a0:fe76 0001:000000ce +a0:fe79 0001:000000cf +a0:fe7c 0001:000000d0 +a0:fe7f 0001:000000d2 +a0:fe82 0001:000000d3 +a0:fe85 0001:000000d4 +a0:fe89 0001:000000d5 +a0:fe8c 0001:000000d6 +a0:fe90 0001:000000d8 +a0:fe94 0001:000000db +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:ff03 0002:0000010c 85:ff06 0002:0000010d diff --git a/worlds/sm/data/SMBasepatch_prebuilt/sm-basepatch-symbols.json b/worlds/sm/data/SMBasepatch_prebuilt/sm-basepatch-symbols.json index 813937d3..0be5a057 100644 --- a/worlds/sm/data/SMBasepatch_prebuilt/sm-basepatch-symbols.json +++ b/worlds/sm/data/SMBasepatch_prebuilt/sm-basepatch-symbols.json @@ -158,7 +158,7 @@ "setup_music_quick": "A0:FE0B", "setup_samus": "A0:FE94", "setup_samus_normal": "A0:FEA5", - "sm_fix_checksum": "82:FA27", + "sm_fix_checksum": "82:FA2A", "sm_item_graphics": "B8:8800", "sm_item_plm_pickup_sequence_pointers": "B8:882E", "sm_save_done_hook": "B8:847B", @@ -172,7 +172,7 @@ "write_repeated_memory_loop": "B8:83F4", "deathhook82": "82:DDC7", "freespace82_start": "82:F990", - "freespace82_end": "82:FA65", + "freespace82_end": "82:FA71", "freespacea0": "a0:fe00", "SRAM_SAVING": "70:2604", "current_save_slot": "7e:0952", diff --git a/worlds/sm/docs/en_Super Metroid.md b/worlds/sm/docs/en_Super Metroid.md index c177582e..5c87e026 100644 --- a/worlds/sm/docs/en_Super Metroid.md +++ b/worlds/sm/docs/en_Super Metroid.md @@ -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 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. diff --git a/worlds/sm/variaRandomizer/rom/rompatcher.py b/worlds/sm/variaRandomizer/rom/rompatcher.py index 1120eacf..2dcf554a 100644 --- a/worlds/sm/variaRandomizer/rom/rompatcher.py +++ b/worlds/sm/variaRandomizer/rom/rompatcher.py @@ -238,10 +238,12 @@ class RomPatcher: plms.append('WS_Save_Blinking_Door') if self.settings["boss"] == True: stdPatches.append("Phantoon_Eye_Door") - if (self.settings["area"] == True - or self.settings["doorsColorsRando"] == True - or not GraphUtils.isStandardStart(self.settings["startLocation"])): - stdPatches.append("Enable_Backup_Saves") + # rolling saves is not required anymore since the addition of fast_save_reload + # also, both arent completely compatible as-is + #if (self.settings["area"] == True + # 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"]: # varia hud can make demos glitch out self.applyIPSPatch("no_demo.ips")