From 3d4cc99ac594f53617dc4b525175829d869a16c0 Mon Sep 17 00:00:00 2001 From: codemann8 Date: Sun, 4 Jul 2021 13:13:44 -0500 Subject: [PATCH 1/7] Added install instruction --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8e836500..fa7bf418 100644 --- a/README.md +++ b/README.md @@ -36,7 +36,7 @@ Download the source code from the repository directly and put it in a folder of You must have Python installed (version 3.6 - 3.9 supported) -This program requires all python dependencies that are necessary to run Aerinon's Door Randomizer plus an additional 'sortedcontainers' package. Try running ```pip install sortedcontainers``` on the command line to install the dependency. +This program requires all python dependencies that are necessary to run Aerinon's Door Randomizer plus an additional 'sortedcontainers' package. Try running ```pip install sortedcontainers``` or ```python -m pip install sortedcontainers``` on the command line to install the dependency. Alternatively, run ```resources/ci/common/local_install.py``` to install all the missing dependencies as well. From e2604d992e485726d374c7ad558d4c25c417b46f Mon Sep 17 00:00:00 2001 From: codemann8 Date: Tue, 6 Jul 2021 12:15:17 -0500 Subject: [PATCH 2/7] Fixed Frogsmith spawn to load correct sprite and accept him at home --- OWEdges.py | 26 +++++++++++++------------- Rom.py | 29 +++++++++++++++-------------- Rules.py | 2 -- asm/owrando.asm | 16 ++++++++++++++++ data/base2current.bps | Bin 138611 -> 138641 bytes 5 files changed, 44 insertions(+), 29 deletions(-) diff --git a/OWEdges.py b/OWEdges.py index 67c2dd4d..d1e6941f 100644 --- a/OWEdges.py +++ b/OWEdges.py @@ -958,19 +958,19 @@ OWTileGroups = { 'Palace of Darkness Area' ] ), - # ("Blacksmith", "Regular"): ( - # [ - # 0x22, 0x62 - # ], - # [ - # 'Blacksmith Area', - # 'Bat Cave Ledge' - # ], - # [ - # 'Hammer Pegs Area', - # 'Hammer Pegs Entry' - # ] - # ), + ("Blacksmith", "Regular"): ( + [ + 0x22, 0x62 + ], + [ + 'Blacksmith Area', + 'Bat Cave Ledge' + ], + [ + 'Hammer Peg Area', + 'Hammer Peg Entry' + ] + ), ("Dunes", "Regular"): ( [ 0x25, 0x65 diff --git a/Rom.py b/Rom.py index 36687a45..76f5d39f 100644 --- a/Rom.py +++ b/Rom.py @@ -28,7 +28,7 @@ from OverworldShuffle import default_flute_connections, flute_data JAP10HASH = '03a63945398191337e896e5771f77173' -RANDOMIZERBASEHASH = 'f10e887af782159e242c99a74df13874' +RANDOMIZERBASEHASH = 'a79956c1c0e5583ad694ac4296911e95' class JsonRom(object): @@ -593,19 +593,6 @@ def patch_rom(world, rom, player, team, enemized, is_mystery=False): # patch overworld edges inverted_buffer = [0] * 0x82 if world.owShuffle[player] != 'vanilla' or world.owSwap[player] != 'vanilla': - rom.write_byte(0x18004C, 0x01) #patch for allowing Frogsmith to enter multi-entrance caves - # patches map data specific for OW Shuffle - inverted_buffer[0x03] = inverted_buffer[0x03] | 0x2 # convenient portal on WDM - inverted_buffer[0x1A] = inverted_buffer[0x1A] | 0x2 # rocks added to prevent OWG hardlock - inverted_buffer[0x1B] = inverted_buffer[0x1B] | 0x2 # rocks added to prevent OWG hardlock - inverted_buffer[0x22] = inverted_buffer[0x22] | 0x2 # rocks added to prevent OWG hardlock - inverted_buffer[0x3F] = inverted_buffer[0x3F] | 0x2 # added C to terrain - inverted_buffer[0x43] = inverted_buffer[0x43] | 0x2 # convenient portal on WDDM - inverted_buffer[0x5A] = inverted_buffer[0x5A] | 0x2 # rocks added to prevent OWG hardlock - inverted_buffer[0x5B] = inverted_buffer[0x5B] | 0x2 # rocks added to prevent OWG hardlock - inverted_buffer[0x62] = inverted_buffer[0x62] | 0x2 # rocks added to prevent OWG hardlock - inverted_buffer[0x7F] = inverted_buffer[0x7F] | 0x2 # added C to terrain - owMode = 0 if world.owShuffle[player] == 'parallel': owMode = 1 @@ -629,6 +616,20 @@ def patch_rom(world, rom, player, team, enemized, is_mystery=False): write_int16(rom, 0x150004, owFlags) + rom.write_byte(0x18004C, 0x01) # patch for allowing Frogsmith to enter multi-entrance caves + + # patches map data specific for OW Shuffle + inverted_buffer[0x03] = inverted_buffer[0x03] | 0x2 # convenient portal on WDM + inverted_buffer[0x1A] = inverted_buffer[0x1A] | 0x2 # rocks added to prevent OWG hardlock + inverted_buffer[0x1B] = inverted_buffer[0x1B] | 0x2 # rocks added to prevent OWG hardlock + inverted_buffer[0x22] = inverted_buffer[0x22] | 0x2 # rocks added to prevent OWG hardlock + inverted_buffer[0x3F] = inverted_buffer[0x3F] | 0x2 # added C to terrain + inverted_buffer[0x43] = inverted_buffer[0x43] | 0x2 # convenient portal on WDDM + inverted_buffer[0x5A] = inverted_buffer[0x5A] | 0x2 # rocks added to prevent OWG hardlock + inverted_buffer[0x5B] = inverted_buffer[0x5B] | 0x2 # rocks added to prevent OWG hardlock + inverted_buffer[0x62] = inverted_buffer[0x62] | 0x2 # rocks added to prevent OWG hardlock + inverted_buffer[0x7F] = inverted_buffer[0x7F] | 0x2 # added C to terrain + if world.owSwap[player] == 'mixed': for b in world.owswaps[player][0]: # load inverted maps diff --git a/Rules.py b/Rules.py index 83d9aac5..ad8b4dd6 100644 --- a/Rules.py +++ b/Rules.py @@ -74,8 +74,6 @@ def set_rules(world, player): # TODO: Remove these rules when these scenarios aren't a problem if world.owSwap[player] == 'mixed': - if 'Frog Area' in world.owswaps[player][2]: - set_rule(world.get_location('Frog', player), lambda state: False) if 'Stumpy Area' in world.owswaps[player][2]: set_rule(world.get_location('Stumpy', player), lambda state: False) diff --git a/asm/owrando.asm b/asm/owrando.asm index 3bfb5b67..84bf06ae 100644 --- a/asm/owrando.asm +++ b/asm/owrando.asm @@ -18,6 +18,15 @@ jml OWFluteCancel2 : nop org $0ab90d ;JSL $02E99D jsl OWFluteCancel +; allows Frog sprite to spawn in LW and also allows his friend to spawn in their house +org $068a76 ;LDA $7EF3CA : AND.w #$40 +lda $1b : eor #1 : nop #2 + +; allows Frog to be accepted at Blacksmith +org $06b3ee ;LDA $7EF3CC : CMP #$07 : BEQ $06B42E +jsl OWSmithAccept : nop #2 +db #$b0 ; BCS instead of BEQ + ;(replacing -> LDA $8A : AND.b #$40) org $00d8c4 ; < ? - Bank00.asm 4068 () jsl.l OWWorldCheck @@ -122,6 +131,13 @@ OWFluteCancel2: lda #$01 : sta $7f5006 + rtl } +OWSmithAccept: +{ + lda $7ef3cc : cmp #$07 : beq + + cmp #$08 : beq + + clc : rtl + + sec : rtl +} org $aa9000 OWEdgeTransition: diff --git a/data/base2current.bps b/data/base2current.bps index c7dd4c1c93a938e513d179043cf6e1ee114241d6..48b974508ab7fa2742c3a074234f672cd2274158 100644 GIT binary patch delta 140 zcmV;70CWHIx(JcG2(UZ>1S$>H^0Pnzlm!c9ft95jNdfBWJcyIl29FGIl$j!lh^p%9 zuuOxqX9uiJ7Mc++*0BSr2WzPVYr-I}6M`_7RBwrsDODl@MuW3XRR^jOmm^E2mN<3D ui5P1*AG&sOfs63W>Ap>4mql29Px19e0&m9ODap2e~-@pG#Sv_O` delta 132 zcmV-~0DJ$Dy9o2T2(UZ>1OycO>$5-slm!Aji<935j{;novw8=tO%|JN59qN2sRwJR z18c${uM>hWmM=cblRQ--10)pavtU&Rsv}#vT|J562wJZKfT|AzfU58YA|jBgfCM5L mkg9qpYo0kbpOcpVAp?9qiG#ZTx4QoU&m9QV@-vT#V=v{3pf;}n From 491580beada46be194c39968bc9cee101c40a1f4 Mon Sep 17 00:00:00 2001 From: codemann8 Date: Tue, 6 Jul 2021 12:16:04 -0500 Subject: [PATCH 3/7] Added OW Shuffle examples to sample Mystery yaml file --- mystery_example.yml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/mystery_example.yml b/mystery_example.yml index e349063d..bf0987c6 100644 --- a/mystery_example.yml +++ b/mystery_example.yml @@ -1,4 +1,19 @@ description: Example door rando weights + ow_shuffle: + vanilla: 0 + parallel: 2 + full: 2 + ow_keepsimilar: + on: 1 + off: 1 + ow_swap: + vanilla: 0 + mixed: 2 + crossed: 2 + ow_fluteshuffle: + vanilla: 0 + balanced: 1 + random: 1 door_shuffle: vanilla: 0 basic: 2 From a420d80d93dc4a0af435204fa92f57f921de01db Mon Sep 17 00:00:00 2001 From: codemann8 Date: Tue, 6 Jul 2021 14:31:25 -0500 Subject: [PATCH 4/7] Fixed Stumpy not loading --- Rom.py | 2 +- Rules.py | 5 ----- asm/owrando.asm | 46 +++++++++++++++++++++++------------------- data/base2current.bps | Bin 138641 -> 138647 bytes 4 files changed, 26 insertions(+), 27 deletions(-) diff --git a/Rom.py b/Rom.py index 76f5d39f..289d0cb8 100644 --- a/Rom.py +++ b/Rom.py @@ -28,7 +28,7 @@ from OverworldShuffle import default_flute_connections, flute_data JAP10HASH = '03a63945398191337e896e5771f77173' -RANDOMIZERBASEHASH = 'a79956c1c0e5583ad694ac4296911e95' +RANDOMIZERBASEHASH = '3da95206e813425551577d6854fdf7ab' class JsonRom(object): diff --git a/Rules.py b/Rules.py index ad8b4dd6..2b263c38 100644 --- a/Rules.py +++ b/Rules.py @@ -72,11 +72,6 @@ def set_rules(world, player): set_bunny_rules(world, player, world.mode[player] == 'inverted') - # TODO: Remove these rules when these scenarios aren't a problem - if world.owSwap[player] == 'mixed': - if 'Stumpy Area' in world.owswaps[player][2]: - set_rule(world.get_location('Stumpy', player), lambda state: False) - def mirrorless_path_to_location(world, startName, targetName, player): # If Agahnim is defeated then the courtyard needs to be accessible without using the mirror for the mirror offset glitch. diff --git a/asm/owrando.asm b/asm/owrando.asm index 84bf06ae..8837f8a8 100644 --- a/asm/owrando.asm +++ b/asm/owrando.asm @@ -19,54 +19,58 @@ org $0ab90d ;JSL $02E99D jsl OWFluteCancel ; allows Frog sprite to spawn in LW and also allows his friend to spawn in their house -org $068a76 ;LDA $7EF3CA : AND.w #$40 +org $068a76 ; < 30a76 - sprite_prep.asm:785 (LDA $7EF3CA : AND.w #$40) lda $1b : eor #1 : nop #2 ; allows Frog to be accepted at Blacksmith -org $06b3ee ;LDA $7EF3CC : CMP #$07 : BEQ $06B42E +org $06b3ee ; < 333ee - sprite_smithy_bros.asm:347 (LDA $7EF3CC : CMP.b #$08 : BEQ .no_returning_smithy_tagalong) jsl OWSmithAccept : nop #2 -db #$b0 ; BCS instead of BEQ +db #$b0 ; BCS to replace BEQ + +; load Stumpy per screen's original world, not current world flag +org $06907f ; < 3107f - sprite_prep.asm:2170 (LDA $7EF3CA) +lda $8a : eor #$40 ;(replacing -> LDA $8A : AND.b #$40) -org $00d8c4 ; < ? - Bank00.asm 4068 () +org $00d8c4 ; < ? - Bank00.asm:4068 () jsl.l OWWorldCheck -org $0283dc ; < ? - Bank02.asm 816 () +org $0283dc ; < ? - Bank02.asm:816 () jsl.l OWWorldCheck -org $02aa36 ; < ? - Bank02.asm 6559 () +org $02aa36 ; < ? - Bank02.asm:6559 () jsl.l OWWorldCheck -org $02aeca ; < ? - Bank02.asm 7257 () +org $02aeca ; < ? - Bank02.asm:7257 () jsl.l OWWorldCheck16 : nop -org $02b349 ; < ? - Bank02.asm 7902 () +org $02b349 ; < ? - Bank02.asm:7902 () jsl.l OWWorldCheck -org $02c40a ; < ? - Bank02.asm 10547 () +org $02c40a ; < ? - Bank02.asm:10547 () jsl.l OWWorldCheck -org $05afd9 ; < ? - sprite_warp_vortex.asm 60 () +org $05afd9 ; < ? - sprite_warp_vortex.asm:60 () jsl.l OWWorldCheck -org $07a3f0 ; < ? - Bank07.asm 5772 () ; flute activation/use +org $07a3f0 ; < ? - Bank07.asm:5772 () ; flute activation/use jsl.l OWWorldCheck -org $07a967 ; < ? - Bank07.asm 6578 () +org $07a967 ; < ? - Bank07.asm:6578 () jsl.l OWWorldCheck -org $07a9a1 ; < ? - Bank07.asm 6622 () +org $07a9a1 ; < ? - Bank07.asm:6622 () jsl.l OWWorldCheck -org $07a9ed ; < ? - Bank07.asm 6677 () +org $07a9ed ; < ? - Bank07.asm:6677 () jsl.l OWWorldCheck -org $07aa34 ; < ? - Bank07.asm 6718 () +org $07aa34 ; < ? - Bank07.asm:6718 () jsl.l OWWorldCheck -org $08d408 ; < ? - ancilla_morph_poof.asm 48 () +org $08d408 ; < ? - ancilla_morph_poof.asm:48 () jsl.l OWWorldCheck -org $0aba6c ; < ? - Bank0a.asm 474 () +org $0aba6c ; < ? - Bank0a.asm:474 () jsl.l OWWorldCheck16 : nop -org $0aba99 ; < ? - Bank0a.asm 515 () +org $0aba99 ; < ? - Bank0a.asm:515 () jsl.l OWWorldCheck -org $0bfeab ; < ? - Bank0b.asm 36 () +org $0bfeab ; < ? - Bank0b.asm:36 () jsl.l OWWorldCheck16 : nop org $0cffb6 ; < ? - ?.asm ? () jsl.l OWWorldCheck16 : nop org $0cffe8 ; < ? - ?.asm ? () jsl.l OWWorldCheck16 : nop -org $1beca2 ; < ? - palettes.asm 556 () +org $1beca2 ; < ? - palettes.asm:556 () jsl.l OWWorldCheck16 : nop -org $1bed95 ; < ? - palettes.asm 748 () +org $1bed95 ; < ? - palettes.asm:748 () jsl.l OWWorldCheck16 : nop org $02b16e ; AND #$3F : ORA 7EF3CA diff --git a/data/base2current.bps b/data/base2current.bps index 48b974508ab7fa2742c3a074234f672cd2274158..05da53960d04d50fc4af9952e68693d9e39b1b36 100644 GIT binary patch delta 50 zcmV-20L}lAy9k%N2(UZ>1Y8cI@v}ey&jkp0iH)U-NkF875eJ762LZPc2LgB&2+^tA I8BoMlblj^FMgRZ+ delta 44 zcmV+{0Mq}My9klH2(UZ>1S$>H^0Pnz&jkW7ih~yihZhF{w-*Njcoqm4ap2e~-@pG> CqYvEx From 26ee44fa2150c267649b4af98c2067191ad446c8 Mon Sep 17 00:00:00 2001 From: codemann8 Date: Tue, 6 Jul 2021 14:35:14 -0500 Subject: [PATCH 5/7] Version bump 0.1.6.4 --- CHANGELOG.md | 4 ++++ OverworldShuffle.py | 2 +- README.md | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index dc84da1d..44e65526 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +### 0.1.6.4 +- Fixed Frogsmith and Stumpy and restored progression in these locations +- Added Blacksmith/Hammer Pegs to OW Tile Swap pool + ### 0.1.6.3 - Fixed borked credits (and missing Sprite Author) when collection rate isn't 216 or if GTBK count isn't /22 - Added OW Rando in credits diff --git a/OverworldShuffle.py b/OverworldShuffle.py index cc0c6491..5e335e66 100644 --- a/OverworldShuffle.py +++ b/OverworldShuffle.py @@ -3,7 +3,7 @@ from sortedcontainers import SortedList from BaseClasses import OWEdge, WorldType, RegionType, Direction, Terrain, PolSlot from OWEdges import OWTileGroups, OWEdgeGroups, OpenStd, parallel_links, IsParallel -__version__ = '0.1.6.3-u' +__version__ = '0.1.6.4-u' def link_overworld(world, player): # setup mandatory connections diff --git a/README.md b/README.md index fa7bf418..0f495d1f 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ This is a very new mode of LTTPR so the tools and info is very limited. - There - In Crossed OW Tile Swap, there are some interesting bunny water-walk situations that can occur, these are mean to be out-of-logic but beware of logic bugs around this area. ### Known bugs: -- In Mixed OW Tile Swap, Smith and Stumpy have issues when their tiles are swapped. Progression cannot be found on them when these tiles are swapped +- ~~In Mixed OW Tile Swap, Smith and Stumpy have issues when their tiles are swapped. Progression cannot be found on them when these tiles are swapped~~ (Fixed in 0.1.6.4) - Screens that loop on itself and also have free-standing items, the sprites are duplicated and can cause item duplication - When OWG are performed to enter mega-tile screens (large OW screens), there is a small chance that an incorrect VRAM reference value causes the map graphics to offset in increments of 16 pixels From 0dd5516e07c720a8dd480e72865b2770857c475b Mon Sep 17 00:00:00 2001 From: codemann8 Date: Tue, 6 Jul 2021 14:44:13 -0500 Subject: [PATCH 6/7] Renamed Hammer Pegs regions --- OWEdges.py | 4 ++-- OverworldGlitchRules.py | 6 +++--- OverworldShuffle.py | 8 ++++---- Regions.py | 4 ++-- data/base2current.bps | Bin 138647 -> 138647 bytes 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/OWEdges.py b/OWEdges.py index d1e6941f..dd77f8e7 100644 --- a/OWEdges.py +++ b/OWEdges.py @@ -967,8 +967,8 @@ OWTileGroups = { 'Bat Cave Ledge' ], [ - 'Hammer Peg Area', - 'Hammer Peg Entry' + 'Hammer Pegs Area', + 'Hammer Pegs Entry' ] ), ("Dunes", "Regular"): ( diff --git a/OverworldGlitchRules.py b/OverworldGlitchRules.py index ea6b90ce..fcb9a18d 100644 --- a/OverworldGlitchRules.py +++ b/OverworldGlitchRules.py @@ -254,11 +254,11 @@ def get_boots_clip_exits_dw(inverted): yield ('VoO To Dig Game Clip', 'Village of Outcasts Area', 'Dig Game Area') yield ('VoO To Dig Game Hook Clip', 'Village of Outcasts Area', 'Dig Game Ledge') #requires hookshot yield ('Broken Bridge To Dunes Clip', 'Broken Bridge West', 'Dark Dunes Area') - yield ('Broken Bridge To Hammer Pegs Clip', 'Broken Bridge West', 'Hammer Peg Area') #fake flipper + yield ('Broken Bridge To Hammer Pegs Clip', 'Broken Bridge West', 'Hammer Pegs Area') #fake flipper yield ('Broken Bridge To Bomb Shop Clip', 'Broken Bridge West', 'Big Bomb Shop Area') #fake flipper yield ('PoD To Cliff Clip', 'Palace of Darkness Area', 'Darkness Cliff') yield ('Dark Dunes To Cliff Clip', 'Dark Dunes Area', 'Darkness Cliff') - yield ('Dark Dunes To Hammer Pegs Clip', 'Dark Dunes Area', 'Hammer Peg Area') + yield ('Dark Dunes To Hammer Pegs Clip', 'Dark Dunes Area', 'Hammer Pegs Area') yield ('Dark Dunes To Bomb Shop Clip', 'Dark Dunes Area', 'Big Bomb Shop Area') yield ('Dig Game To Mire Clip', 'Dig Game Area', 'Misery Mire Area') @@ -267,7 +267,7 @@ def get_boots_clip_exits_dw(inverted): yield ('Bomb Shop To Cliff Clip', 'Big Bomb Shop Area', 'Dark Central Cliffs') yield ('Bomb Shop To Hammer Bridge FAWT Clip', 'Big Bomb Shop Area', 'Hammer Bridge North Area') yield ('Hammer Bridge To Bomb Shop Clip', 'Hammer Bridge North Area', 'Big Bomb Shop Area') - yield ('Hammer Bridge To Hammer Pegs Clip', 'Hammer Bridge North Area', 'Hammer Peg Area') + yield ('Hammer Bridge To Hammer Pegs Clip', 'Hammer Bridge North Area', 'Hammer Pegs Area') yield ('Hammer Bridge To Cliff Clip', 'Hammer Bridge South Area', 'Dark Central Cliffs') yield ('Dark Tree Line Water Clip', 'Dark Tree Line Area', 'Dark Tree Line Water') #requires flippers yield ('PoD Nook To Shopping Mall FAWT Clip', 'Palace of Darkness Nook Area', 'Shopping Mall Area') diff --git a/OverworldShuffle.py b/OverworldShuffle.py index 5e335e66..a0622ede 100644 --- a/OverworldShuffle.py +++ b/OverworldShuffle.py @@ -640,8 +640,8 @@ mandatory_connections = [('Flute Away', 'Flute Sky'), ('Broken Bridge Water Drop', 'Broken Bridge Water'), #flippers ('Broken Bridge Northeast Water Drop', 'Broken Bridge Water'), #flippers ('Broken Bridge West Water Drop', 'Broken Bridge Water'), #flippers - ('Peg Area Rocks (West)', 'Hammer Peg Area'), #mitts - ('Peg Area Rocks (East)', 'Hammer Peg Entry'), #mitts + ('Peg Area Rocks (West)', 'Hammer Pegs Area'), #mitts + ('Peg Area Rocks (East)', 'Hammer Pegs Entry'), #mitts ('Dig Game To Ledge Drop', 'Dig Game Ledge'), #mitts ('Dig Game Ledge Drop', 'Dig Game Area'), ('Frog Ledge Drop', 'Archery Game Area'), @@ -923,8 +923,8 @@ ow_connections = { ('Blacksmith Entry Mirror Spot', 'Blacksmith Area'), ('Bat Cave Ledge Mirror Spot', 'Bat Cave Ledge') ], [ - ('Hammer Pegs Mirror Spot', 'Hammer Peg Area'), - ('Hammer Pegs Entry Mirror Spot', 'Hammer Peg Entry') + ('Hammer Pegs Mirror Spot', 'Hammer Pegs Area'), + ('Hammer Pegs Entry Mirror Spot', 'Hammer Pegs Entry') ]), 0x25: ([ ('Sand Dunes Mirror Spot', 'Sand Dunes Area') diff --git a/Regions.py b/Regions.py index 6fd64c33..1138c900 100644 --- a/Regions.py +++ b/Regions.py @@ -171,8 +171,8 @@ def create_regions(world, player): create_dw_region(player, 'Broken Bridge Water', None, ['Broken Bridge NC']), create_dw_region(player, 'Palace of Darkness Area', None, ['Palace of Darkness Hint', 'Palace of Darkness', 'Eastern Palace Mirror Spot', 'Palace of Darkness SW', 'Palace of Darkness SE']), create_dw_region(player, 'Darkness Cliff', None, ['Dark Dunes Ledge Drop', 'Hammer Bridge North Ledge Drop', 'Dark Tree Line Ledge Drop', 'Palace of Darkness Ledge Drop']), - create_dw_region(player, 'Hammer Peg Entry', None, ['Peg Area Rocks (West)', 'Blacksmith Entry Mirror Spot', 'Hammer Pegs WS']), - create_dw_region(player, 'Hammer Peg Area', ['Dark Blacksmith Ruins'], ['Peg Area Rocks (East)', 'Dark World Hammer Peg Cave', 'Blacksmith Mirror Spot', 'Bat Cave Ledge Mirror Spot']), + create_dw_region(player, 'Hammer Pegs Entry', None, ['Peg Area Rocks (West)', 'Blacksmith Entry Mirror Spot', 'Hammer Pegs WS']), + create_dw_region(player, 'Hammer Pegs Area', ['Dark Blacksmith Ruins'], ['Peg Area Rocks (East)', 'Dark World Hammer Peg Cave', 'Blacksmith Mirror Spot', 'Bat Cave Ledge Mirror Spot']), create_dw_region(player, 'Dark Dunes Area', None, ['Sand Dunes Mirror Spot', 'Dark Dunes NW', 'Dark Dunes WN', 'Dark Dunes SC']), create_dw_region(player, 'Dig Game Area', ['Digging Game'], ['Dig Game To Ledge Drop', 'Maze Race Mirror Spot', 'Dig Game ES']), create_dw_region(player, 'Dig Game Ledge', None, ['Dig Game Ledge Drop', 'Maze Race Ledge Mirror Spot', 'Dig Game EC']), diff --git a/data/base2current.bps b/data/base2current.bps index 05da53960d04d50fc4af9952e68693d9e39b1b36..2d526a6a8afa4f714fbe004442a30563775c210a 100644 GIT binary patch delta 42 ycmbQfn`8QJjtw@9%r$(?o9!8|vNCEmi?X+ivNLWMWoN1q?%Lk`ve delta 42 ycmbQfn`8QJjtw@9%rSh6H`_B_Wo7hi7G-Z2WoO(j%Fa|J#&L1wZOMQmVI=@3p$)|V From 0b1562dab8b4f7c77e1e983c90c4d707ab25e093 Mon Sep 17 00:00:00 2001 From: codemann8 Date: Tue, 6 Jul 2021 14:44:40 -0500 Subject: [PATCH 7/7] Fixed Stumpy --- Rom.py | 2 +- asm/owrando.asm | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Rom.py b/Rom.py index 289d0cb8..3f46f8d9 100644 --- a/Rom.py +++ b/Rom.py @@ -28,7 +28,7 @@ from OverworldShuffle import default_flute_connections, flute_data JAP10HASH = '03a63945398191337e896e5771f77173' -RANDOMIZERBASEHASH = '3da95206e813425551577d6854fdf7ab' +RANDOMIZERBASEHASH = '5d2041f4387123c2de98dd41e6e5c4c6' class JsonRom(object): diff --git a/asm/owrando.asm b/asm/owrando.asm index 8837f8a8..03a4443f 100644 --- a/asm/owrando.asm +++ b/asm/owrando.asm @@ -20,7 +20,7 @@ jsl OWFluteCancel ; allows Frog sprite to spawn in LW and also allows his friend to spawn in their house org $068a76 ; < 30a76 - sprite_prep.asm:785 (LDA $7EF3CA : AND.w #$40) -lda $1b : eor #1 : nop #2 +lda $1b : eor.b #1 : nop #2 ; allows Frog to be accepted at Blacksmith org $06b3ee ; < 333ee - sprite_smithy_bros.asm:347 (LDA $7EF3CC : CMP.b #$08 : BEQ .no_returning_smithy_tagalong) @@ -29,7 +29,7 @@ db #$b0 ; BCS to replace BEQ ; load Stumpy per screen's original world, not current world flag org $06907f ; < 3107f - sprite_prep.asm:2170 (LDA $7EF3CA) -lda $8a : eor #$40 +lda $8a : and.b #$40 ;(replacing -> LDA $8A : AND.b #$40) org $00d8c4 ; < ? - Bank00.asm:4068 ()