From a2b23110c4dd7310dbe53e6d1b76d00e83014925 Mon Sep 17 00:00:00 2001 From: aerinon Date: Fri, 16 Jan 2026 15:46:37 -0700 Subject: [PATCH] fix: started using the map_hud_mode flag (somewhat against my better judgement, there's some crufty asm lying about) --- PastReleaseNotes.md | 2 ++ RELEASENOTES.md | 5 +++-- Rom.py | 40 ++++++++++++++++++++------------- data/base2current.bps | Bin 118474 -> 118471 bytes resources/app/gui/lang/en.json | 4 ++-- 5 files changed, 32 insertions(+), 19 deletions(-) diff --git a/PastReleaseNotes.md b/PastReleaseNotes.md index adf09b6a..7890e51f 100644 --- a/PastReleaseNotes.md +++ b/PastReleaseNotes.md @@ -10,6 +10,8 @@ # Patch Notes Changelog archive +* 1.5.1 + * Bugfix: Fixed an issue with keys not counting correctly * 1.5.0 * Logic: Fixed vanilla key logic for GT basement * Logic (Playthrough): Fixed an issue where enemy kill rules were not applied during playthrough calculation. (Thanks Catobat for the catch) diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 07edbb58..98c16bcc 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -1,4 +1,5 @@ # Patch Notes -* 1.5.1 - * Bugfix: Fixed an issue with keys not counting correctly +* Logic: Key logic fix for part of a dungeon located at Skull 3 (or other similar restricted entrancs). Appropriate key logic was not being applied, causing progression issues. This mostly affect crosskey style seeds. +* Standard: Rupee balancing algorithm can no longer switch out the weapon on uncle for money. +* Dungeon Counters: Some fixes for inconsistent tracking and display of dungeon counters on the keysanity menu. \ No newline at end of file diff --git a/Rom.py b/Rom.py index d4c3c894..e56b6985 100644 --- a/Rom.py +++ b/Rom.py @@ -42,7 +42,7 @@ from source.enemizer.Enemizer import write_enemy_shuffle_settings JAP10HASH = '03a63945398191337e896e5771f77173' -RANDOMIZERBASEHASH = '3f033ac891acfcedce26c00d5cd880ed' +RANDOMIZERBASEHASH = '794b7cd02f429873c3ad6dc74490279c' class JsonRom(object): @@ -465,9 +465,9 @@ def patch_rom(world, rom, player, team, is_mystery=False): itemid = 0x5A if not location.locked and ((location.item.smallkey and world.keyshuffle[player] == 'none') or ( - location.item.bigkey and world.bigkeyshuffle[player] == 'none') or ( - location.item.map and world.mapshuffle[player] == 'none') or ( - location.item.compass and world.compassshuffle[player] == 'none')): + location.item.bigkey and world.bigkeyshuffle[player] == 'none') or ( + location.item.map and world.mapshuffle[player] == 'none') or ( + location.item.compass and world.compassshuffle[player] == 'none')): itemid = handle_native_dungeon(location, itemid) rom.write_byte(location.address, itemid) @@ -556,15 +556,15 @@ def patch_rom(world, rom, player, team, is_mystery=False): if world.mirrorscroll[player] or world.doorShuffle[player] != 'vanilla': dr_flags |= DROptions.Town_Portal if world.doorShuffle[player] == 'vanilla': - dr_flags |= DROptions.Eternal_Mini_Bosses + dr_flags |= DROptions.Eternal_Mini_Bosses if world.doorShuffle[player] not in ['vanilla', 'basic']: dr_flags |= DROptions.Map_Info if ((world.collection_rate[player] or world.goal[player] == 'completionist') - and world.goal[player] not in ['triforcehunt', 'trinity', 'ganonhunt']): + and world.goal[player] not in ['triforcehunt', 'trinity', 'ganonhunt']): dr_flags |= DROptions.Debug rom.write_byte(snes_to_pc(0x308039), 1) - if world.doorShuffle[player] not in ['vanilla', 'basic'] and world.logic[player] != 'nologic'\ - and world.mixed_travel[player] == 'prevent': + if world.doorShuffle[player] not in ['vanilla', 'basic'] and world.logic[player] != 'nologic' \ + and world.mixed_travel[player] == 'prevent': # PoD Falling Bridge or Hammjump # 1FA607: db $2D, $79, $69 ; 0x0069: Vertical Rail ↕ | { 0B, 1E } | Size: 05 # 1FA60A: db $14, $99, $5D ; 0x005D: Large Horizontal Rail ↔ | { 05, 26 } | Size: 01 @@ -649,9 +649,9 @@ def patch_rom(world, rom, player, team, is_mystery=False): if world.doorShuffle[player] == 'basic': rom.write_byte(0x138002, 1) for door in world.doors: - if door.dest is not None and isinstance(door.dest, Door) and\ - door.player == player and door.type in [DoorType.Normal, DoorType.SpiralStairs, - DoorType.Open, DoorType.StraightStairs, DoorType.Ladder]: + if door.dest is not None and isinstance(door.dest, Door) and \ + door.player == player and door.type in [DoorType.Normal, DoorType.SpiralStairs, + DoorType.Open, DoorType.StraightStairs, DoorType.Ladder]: rom.write_bytes(door.getAddress(), door.dest.getTarget(door)) for paired_door in world.paired_doors[player]: rom.write_bytes(paired_door.address_a(world, player), paired_door.rom_data_a(world, player)) @@ -1108,7 +1108,7 @@ def patch_rom(world, rom, player, team, is_mystery=False): gametype = 0x04 # item if (world.shuffle[player] != 'vanilla' or world.doorShuffle[player] != 'vanilla' - or world.dropshuffle[player] != 'none' or world.pottery[player] != 'none'): + or world.dropshuffle[player] != 'none' or world.pottery[player] != 'none'): gametype |= 0x02 # entrance/door rom.write_byte(0x180211, gametype) # Game type @@ -1201,8 +1201,18 @@ def patch_rom(world, rom, player, team, is_mystery=False): | (0x02 if world.compassshuffle[player] else 0x00) | (0x04 if world.mapshuffle[player] else 0x00) | (0x08 if world.bigkeyshuffle[player] else 0x00))) # free roaming item text boxes - rom.write_byte(0x18003B, 0x01 if world.mapshuffle[player] else 0x00) # maps showing crystals on overworld + map_hud_mode = 0x00 + if world.dungeon_counters[player] == 'on': + map_hud_mode = 0x02 # always on + elif world.dungeon_counters[player] == 'off': + pass + elif world.keyshuffle[player] != 'universal' and (world.mapshuffle[player] != 'none' or world.doorShuffle[player] != 'vanilla' + or world.dropshuffle[player] != 'none' or world.pottery[player] not in ['none', 'cave'] or world.dungeon_counters[player] == 'pickup'): + map_hud_mode = 0x01 # show on pickup + rom.write_byte(0x18003A, map_hud_mode) + + rom.write_byte(0x18003B, 0x01 if world.mapshuffle[player] else 0x00) # maps showing crystals on overworld # compasses showing dungeon count compass_mode = 0x00 if world.clock_mode != 'none' or world.dungeon_counters[player] == 'off': @@ -1408,7 +1418,7 @@ def patch_rom(world, rom, player, team, is_mystery=False): write_enemy_shuffle_settings(world, player, rom) if (world.doorShuffle[player] != 'vanilla' or world.dropshuffle[player] != 'none' - or world.pottery[player] != 'none'): + or world.pottery[player] != 'none'): for room in world.rooms: if room.player == player and room.modified: if room.index in world.data_tables[player].room_list: @@ -1453,7 +1463,7 @@ def patch_rom(world, rom, player, team, is_mystery=False): (hashint >> 10) & 0x1F, (hashint >> 5) & 0x1F, hashint & 0x1F, - ] + ] rom.write_bytes(0x180215, code) rom.hash = code diff --git a/data/base2current.bps b/data/base2current.bps index d13f4483e65f1b2935b0d6fac0e3a117e44cbc60..b499ded82f8231c4e574e1c36ca11b7618fe370b 100644 GIT binary patch delta 7225 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 delta 7122 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 diff --git a/resources/app/gui/lang/en.json b/resources/app/gui/lang/en.json index 92318d72..bd8f9fa6 100644 --- a/resources/app/gui/lang/en.json +++ b/resources/app/gui/lang/en.json @@ -92,11 +92,11 @@ "randomizer.dungeon.experimental": "Enable Experimental Features", - "randomizer.dungeon.dungeon_counters": "Dungeon Chest Counters", + "randomizer.dungeon.dungeon_counters": "Dungeon Counters", "randomizer.dungeon.dungeon_counters.default": "Auto", "randomizer.dungeon.dungeon_counters.off": "Off", "randomizer.dungeon.dungeon_counters.on": "On", - "randomizer.dungeon.dungeon_counters.pickup": "On Compass Pickup", + "randomizer.dungeon.dungeon_counters.pickup": "On Item Pickup", "randomizer.dungeon.mixed_travel": "Mixed Dungeon Travel ", "randomizer.dungeon.mixed_travel.prevent": "Prevent Mixed Dungeon Travel",