From 6cfcdf039c822c4c8efe197a2dc1869732212393 Mon Sep 17 00:00:00 2001 From: codemann8 Date: Mon, 1 Nov 2021 02:09:29 -0500 Subject: [PATCH] Preserve Sanc music change in Standard --- Rom.py | 42 +++++++++++++++++++++++++++++++++++++++--- data/base2current.bps | Bin 141110 -> 141113 bytes 2 files changed, 39 insertions(+), 3 deletions(-) diff --git a/Rom.py b/Rom.py index 502eb4b2..181396b9 100644 --- a/Rom.py +++ b/Rom.py @@ -33,7 +33,7 @@ from source.classes.SFX import randomize_sfx JAP10HASH = '03a63945398191337e896e5771f77173' -RANDOMIZERBASEHASH = '4f22298a5c72fff1b04b5bb3278ce13d' +RANDOMIZERBASEHASH = 'a83652bc433c024cff1e277e1afeb627' class JsonRom(object): @@ -688,8 +688,44 @@ def patch_rom(world, rom, player, team, enemized, is_mystery=False): for edge in world.owedges: if edge.dest is not None and isinstance(edge.dest, OWEdge) and edge.player == player: - write_int16(rom, edge.getAddress() + 0x0a, edge.vramLoc) - write_int16(rom, edge.getAddress() + 0x0e, edge.getTarget()) + if edge.name == 'Lost Woods NW': + if edge.dest.name != 'Master Sword Meadow SC': + write_int16(rom, 0x15e53 + 0x96, edge.dest.midpoint) + write_int16(rom, 0x15bdb + 0x96, edge.dest.vramLoc) + rom.write_byte(0x15b8c + 0x4b, edge.dest.owIndex) + if edge.dest.owIndex == 0x81: + write_int16(rom, 0x15c79 + 0x96, 0x320) + write_int16(rom, 0x15d17 + 0x96, 0x21e) + write_int16(rom, 0x15db5 + 0x96, 0x3e8) + write_int16(rom, 0x15ef1 + 0x96, 0x019) + write_int16(rom, 0x15f8f + 0x96, 0x2a1) + rom.write_byte(0x1607c + 0x4b, 0xf2) + else: + o = ((edge.dest.owSlotIndex >> 3 + 1) * 2 - 1) * 0x100 + 0xe8 + write_int16(rom, 0x15db5 + 0x96, o) + elif edge.name == 'Zora Waterfall NE': + if edge.dest.name != 'Zoras Domain SW': + write_int16(rom, 0x15e53 + 0x9a, edge.dest.midpoint) + write_int16(rom, 0x15bdb + 0x9a, edge.dest.vramLoc) + rom.write_byte(0x15b8c + 0x4d, edge.dest.owIndex) + if edge.dest.owIndex == 0x80: + write_int16(rom, 0x15c79 + 0x9a, 0x120) + write_int16(rom, 0x15d17 + 0x9a, 0x0) + write_int16(rom, 0x15db5 + 0x9a, 0x1e8) + write_int16(rom, 0x15ef1 + 0x9a, 0x19d) + write_int16(rom, 0x15f8f + 0x9a, 0x083) + rom.write_byte(0x1607c + 0x4d, 0x0e) + else: + o = ((edge.dest.owSlotIndex >> 3 + 1) * 2 - 1) * 0x100 + 0xe8 + write_int16(rom, 0x15db5 + 0x96, o) + elif edge.name == 'Stone Bridge WC': + if edge.dest.name != 'Hobo EC': + write_int16(rom, 0x15db5 + 0x98, edge.dest.midpoint) + write_int16(rom, 0x15bdb + 0x98, edge.dest.vramLoc) + rom.write_byte(0x15b8c + 0x4c, edge.dest.owIndex) + else: + write_int16(rom, edge.getAddress() + 0x0a, edge.vramLoc) + write_int16(rom, edge.getAddress() + 0x0e, edge.getTarget()) write_int16(rom, 0x150002, owMode) write_int16(rom, 0x150004, owFlags) diff --git a/data/base2current.bps b/data/base2current.bps index 1422496b838cfc81a3c47b8a7c72df8b6cfba202..3e30500e3acaafe3ea50406c90b492eafb86239f 100644 GIT binary patch delta 5581 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 Z^HW9q{Cv7)G=G;kIrehUpS}+l{vXZo3Zei2 delta 5597 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