From de41f6b7b41565a29fdce5431e29819ed32fbdbf Mon Sep 17 00:00:00 2001 From: codemann8 Date: Mon, 1 Nov 2021 11:03:49 -0500 Subject: [PATCH] Fake flipper kill fix reversal and replacement --- Rom.py | 42 +++--------------------------------------- data/base2current.bps | Bin 141113 -> 141231 bytes 2 files changed, 3 insertions(+), 39 deletions(-) diff --git a/Rom.py b/Rom.py index 181396b9..e1f2a276 100644 --- a/Rom.py +++ b/Rom.py @@ -33,7 +33,7 @@ from source.classes.SFX import randomize_sfx JAP10HASH = '03a63945398191337e896e5771f77173' -RANDOMIZERBASEHASH = 'a83652bc433c024cff1e277e1afeb627' +RANDOMIZERBASEHASH = '9b5682d6bbf65457ba03eda9c9a0b5c9' class JsonRom(object): @@ -688,44 +688,8 @@ 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: - 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, 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 3e30500e3acaafe3ea50406c90b492eafb86239f..be13fe553cb3aa8f502484eb38aaa9523627028f 100644 GIT binary patch delta 13080 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 ULi(IPk;8qWn{;|ziel~m0n~XZ{Qv*} delta 12904 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