From fe520626e9f8e59fae9efc6b4bb7deba6c258bc9 Mon Sep 17 00:00:00 2001 From: aerinon Date: Wed, 8 Jan 2025 09:19:38 -0700 Subject: [PATCH] fix: rain state + activated flute --- InitialSram.py | 17 +++++++++++++++++ RELEASENOTES.md | 3 ++- Rom.py | 2 +- data/base2current.bps | Bin 117954 -> 117954 bytes 4 files changed, 20 insertions(+), 2 deletions(-) diff --git a/InitialSram.py b/InitialSram.py index c5c6a814..742e4fe3 100644 --- a/InitialSram.py +++ b/InitialSram.py @@ -53,6 +53,9 @@ class InitialSram: def pre_open_pyramid_hole(self): self._or_value(OVERWORLD_DATA+0x5B, 0x20) + def pre_set_overworld_flag(self, owid, bitmask): + self._or_value(OVERWORLD_DATA+owid, bitmask) + def pre_open_tr_bomb_doors(self): self._or_value(ROOM_DATA+0x47, 0x80) self._or_value(ROOM_DATA+0x01AB, 0x80) @@ -111,6 +114,20 @@ class InitialSram: equip[0x37B] = 1 starting_magic = 0x80 + if world.mode[player] == 'standard' and world.logic[player] not in ['noglitches', 'minorglitches']: + if startingstate.has('Ocarina (Activated)', player): + self.pre_set_overworld_flag(0x18, 0x20) + + if startingstate.has('Return Old Man', player): + self._initial_sram_bytes[0x410] |= 0x01 + + if startingstate.has('Beat Agahnim 1', player): + self.pre_open_lumberjack() + if world.mode[player] == 'standard': + self.set_progress_indicator(0x80) # todo: probably missing some code rom side for this + else: + self.set_progress_indicator(0x03) + for item in world.precollected_items: if item.player != player: continue diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 3fe217ac..414346ab 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -3,4 +3,5 @@ * 1.4.8 - New option: Mirror Scroll - to add the item to the starting inventory in non-doors modes (Thanks Telethar!) - Fixed a key logic bug with decoupled doors when a big key door leads to a small key door (the small key door was missing appropriate logic) - - Minor documentation fixes (thanks Codemann8!) + - Fixed an issue with flute activation in rain mode. (thanks Codemann!) + - Minor documentation fixes (thanks Codemann!) diff --git a/Rom.py b/Rom.py index df032a83..2d666de2 100644 --- a/Rom.py +++ b/Rom.py @@ -42,7 +42,7 @@ from source.enemizer.Enemizer import write_enemy_shuffle_settings JAP10HASH = '03a63945398191337e896e5771f77173' -RANDOMIZERBASEHASH = '1cbe62592c0e9a7d224232c62292ecc9' +RANDOMIZERBASEHASH = '403d349584246fd845c3a9c78a55b3d4' class JsonRom(object): diff --git a/data/base2current.bps b/data/base2current.bps index a54460176d1154a5ed35259a748b73b4324c5c25..0292d6f7bd5188d22f912d6816b65e3388782b64 100644 GIT binary patch delta 37 vcmV+=0NVe;nFqp|2e1MI1VI140J8=IYwH7;@_w^)?nd4SG~}{G)uMC{FoF=` delta 37 vcmV+=0NVe;nFqp|2e1MI1Ox#4|FZ@IYwH6Ng0Qo6?nd4S2Is*;YiTD)9a;}c