diff --git a/Main.py b/Main.py index a4dc5d68..0d5dcbd4 100644 --- a/Main.py +++ b/Main.py @@ -30,7 +30,7 @@ from Fill import sell_potions, sell_keys, balance_multiworld_progression, balanc from ItemList import generate_itempool, difficulties, fill_prizes, customize_shops from Utils import output_path, parse_player_names -__version__ = '0.5.1.6-u' +__version__ = '0.5.1.7-u' from source.classes.BabelFish import BabelFish diff --git a/RELEASENOTES.md b/RELEASENOTES.md index eaa45e2b..50cf5282 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -15,6 +15,13 @@ CLI: ```--bombbag``` # Bug Fixes and Notes. +* 0.5.1.7 + * Baserom update + * Fix for Inverted Mode: Dark Lake Hylia shop defaults to selling a blue potion + * Fix for Ijwu's enemizer: Boss door in Thieves' Town no longer closes after the maiden hint if Blind is shuffled to Theives' Town in boss shuffle + crossed mode + * No logic now sets the AllowAccidentalMajorGlitches flag in the rom appropriately + * Houlihan room now exits wherever Link's House is shuffled to + * Rom fixes from Catobat and Codemann8. Thanks! * 0.5.1.6 * Rules fixes for TT (Boss and Cell) can now have TT Big Key if not otherwise required (boss shuffle + crossed dungeon) * BUg fix for money balancing diff --git a/Regions.py b/Regions.py index f1d372cf..0dd69282 100644 --- a/Regions.py +++ b/Regions.py @@ -1125,8 +1125,8 @@ def create_shops(world, player): if (0x35 not in world.owswaps[player][0] and region_name == 'Dark Lake Hylia Shop') \ or (0x35 in world.owswaps[player][0] and region_name == 'Cave Shop (Lake Hylia)'): locked = True - custom = True inventory = [('Blue Potion', 160), ('Blue Shield', 50), ('Bombs (10)', 50)] + custom = True region = world.get_region(region_name, player) shop = Shop(region, room_id, type, shopkeeper, custom, locked, sram) region.shop = shop diff --git a/Rom.py b/Rom.py index b2db34b9..a4a64dc9 100644 --- a/Rom.py +++ b/Rom.py @@ -33,7 +33,7 @@ from source.classes.SFX import randomize_sfx JAP10HASH = '03a63945398191337e896e5771f77173' -RANDOMIZERBASEHASH = 'c1a00c60144c6cc5a6ef5f00617a9b38' +RANDOMIZERBASEHASH = 'a85465d4ceb66703e60dd2eef42a9a0d' class JsonRom(object): @@ -334,6 +334,7 @@ def patch_enemizer(world, player, rom, local_rom, enemizercli, random_sprite_on_ rom.write_bytes(0xEA081, [0x5c, 0x00, 0x80, 0xb7, 0xc9, 0x6, 0xf0, 0x24, 0xad, 0x3, 0x4, 0x29, 0x20, 0xf0, 0x1d]) rom.write_byte(0x200101, 0) # Do not close boss room door on entry. + rom.write_byte(0x1B0101, 0) # Do not close boss room door on entry. (for Ijwu's enemizer) if random_sprite_on_hit: _populate_sprite_table() @@ -1550,6 +1551,7 @@ def patch_rom(world, rom, player, team, enemized, is_mystery=False): rom.write_byte(0x1800A3, 0x01) # enable correct world setting behaviour after agahnim kills rom.write_byte(0x1800A4, 0x01 if world.logic[player] != 'nologic' else 0x00) # enable POD EG fix rom.write_byte(0x180042, 0x01 if world.save_and_quit_from_boss else 0x00) # Allow Save and Quit after boss kill + rom.write_byte(0x180358, 0x01 if world.logic[player] == 'nologic' else 0x00) # remove shield from uncle rom.write_bytes(0x6D253, [0x00, 0x00, 0xf6, 0xff, 0x00, 0x0E]) diff --git a/asm/drhooks.asm b/asm/drhooks.asm index 1d3b485b..a5815d98 100644 --- a/asm/drhooks.asm +++ b/asm/drhooks.asm @@ -76,6 +76,9 @@ nop : jsl OverridePaletteHeader org $02817e ; Bank02.asm : 414 (LDA $02811E, X) jsl FixAnimatedTiles +org $0aef43 ; UnderworldMap_RecoverGFX +jsl FixCloseDungeonMap + org $028a06 ; Bank02.asm : 1941 Dungeon_ResetTorchBackgroundAndPlayer JSL FixWallmasterLamp @@ -186,9 +189,9 @@ Main_ShowTextMessage: ; Conditionally disable UW music changes in Door Rando org $028ADB ; <- Bank02.asm:2088-2095 (LDX.b #$14 : LDA $A0 ...) -JSL.l Underworld_DoorDown_Entry : CPX #$10 -db $B0, $21 ; BCS $028B04 -BRA + : NOP #6 : + +JSL.l Underworld_DoorDown_Entry : CPX #$FF +BEQ + : db $80, $1C ; BRA $028B04 +NOP #6 : + org $02C3F2 ; <- Bank02.asm:10521 Unused call Underworld_DoorDown_Call: diff --git a/asm/gfx.asm b/asm/gfx.asm index b22fba62..94cb8848 100644 --- a/asm/gfx.asm +++ b/asm/gfx.asm @@ -45,6 +45,16 @@ FixAnimatedTiles: + LDA $02802E, X ; what we wrote over RTL +FixCloseDungeonMap: + LDA.l DRMode : CMP #$02 : BNE .vanilla + LDA $040C : BMI .vanilla + LSR : TAX + LDA.l DungeonTilesets,x + RTL + .vanilla + LDA $7EC20E + RTL + FixWallmasterLamp: ORA $0458 STY $1C : STA $1D : RTL ; what we wrote over diff --git a/data/base2current.bps b/data/base2current.bps index bac70e13..6e708352 100644 Binary files a/data/base2current.bps and b/data/base2current.bps differ