From 2771040cb32ae9dbade05234e9c499e01f87e37d Mon Sep 17 00:00:00 2001 From: codemann8 Date: Fri, 7 Nov 2025 22:06:07 -0600 Subject: [PATCH] Added custom gfx for Ped and Murahdahla --- Rom.py | 21 ++++++++++++++------- data/base2current.bps | Bin 137065 -> 137148 bytes 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/Rom.py b/Rom.py index 43c3006e..b471867c 100644 --- a/Rom.py +++ b/Rom.py @@ -43,7 +43,7 @@ from source.enemizer.Enemizer import write_enemy_shuffle_settings JAP10HASH = '03a63945398191337e896e5771f77173' -RANDOMIZERBASEHASH = '72c4b2d00057d1faced32871d8081f3a' +RANDOMIZERBASEHASH = 'a1c8a1c9b4a626f25a240d5b35b17ffe' class JsonRom(object): @@ -1338,12 +1338,19 @@ def patch_rom(world, rom, player, team, is_mystery=False, rom_header=None): if start_address > 0x81D8: raise Exception("Custom Goal data too long to fit in allocated space, try reducing the amount of requirements.") - # gt entry - gtentry = world.custom_goals[player]['gtentry'] - if gtentry and 'cutscene_gfx' in gtentry: - gfx = gtentry['cutscene_gfx'] - write_int16(rom, snes_to_pc(0x3081D8), gfx[0]) - rom.write_byte(snes_to_pc(0x3081E6), gfx[1]) + # goal cutscene gfx + goals = { + #goal: gfx addr, palette addr + 'gtentry': (0x3081D8, 0x3081E6), + 'pedgoal': (0x3081ED, 0x3081F3), + 'murahgoal': (0x3081F6, 0x3081FC), + } + for goal_type, gfx_addr in goals.items(): + goal = world.custom_goals[player][goal_type] + if goal and 'cutscene_gfx' in goal: + gfx = goal['cutscene_gfx'] + write_int16(rom, snes_to_pc(gfx_addr[0]), gfx[0]) + rom.write_byte(snes_to_pc(gfx_addr[1]), gfx[1]) # block HC upstairs doors in rain state in standard mode prevent_rain = world.mode[player] == 'standard' and world.shuffle[player] != 'vanilla' and world.logic[player] != 'nologic' diff --git a/data/base2current.bps b/data/base2current.bps index 224e1fb6c7a305d7eaf1f730f18852f88bc3c6fd..9560fa8a184ce289aed573bdfbe895330229f819 100644 GIT binary patch delta 1993 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