Bug fix for vanilla BK at Ball n Chain guard
Bug fix for camera unlock Bug fix for bad pseudo layer at PoD Map Balcony Minor fix for non-retro key hud info
This commit is contained in:
2
Main.py
2
Main.py
@@ -24,7 +24,7 @@ from Fill import distribute_items_cutoff, distribute_items_staleness, distribute
|
||||
from ItemList import generate_itempool, difficulties, fill_prizes
|
||||
from Utils import output_path, parse_player_names
|
||||
|
||||
__version__ = '0.2.0.2-u'
|
||||
__version__ = '0.2.0.3-u'
|
||||
|
||||
class EnemizerError(RuntimeError):
|
||||
pass
|
||||
|
||||
@@ -1,12 +1,22 @@
|
||||
# New Features
|
||||
|
||||
* Lobby shuffle added as Intensity level 3
|
||||
* Can now be found in the spoiler
|
||||
* Known issues:
|
||||
* Palettes aren't perfect - may add Sanctuary and Sewer palette back. May add a way to turn off palette "fixing"
|
||||
* Certain hints in ER due to lobby changes
|
||||
* Animated tiles aren't loaded correctly in lobbies
|
||||
* If a wallmaster grabs you and the lobby is dark, the lamp doesn't turn on
|
||||
* --keydropshuffle added (coming to the GUI soon). This add 33 new locations to the game where keys are found under pots
|
||||
and where enemies drop keys. This includes 32 small key location and the ball and chain guard who normally drop the HC
|
||||
Big Key.
|
||||
* Multiworld untested - May need changes to MultiClient/MultiServer to recognize new locations
|
||||
|
||||
### Experimental features
|
||||
|
||||
* Redesign of Keysanity Menu for Crossed Dungeon
|
||||
* Redesign of Keysanity Menu for Crossed Dungeon - soon to move out of experimental
|
||||
|
||||
#### Temporary debug features:
|
||||
#### Temporary debug features
|
||||
|
||||
* Removed the red square in the upper right corner of the hud if the castle gate is closed
|
||||
|
||||
@@ -14,3 +24,13 @@
|
||||
|
||||
* Fixed a situation where logic did not account properly for Big Key doors in standard Hyrule Castle
|
||||
* Fixed a problem ER shuffle generation that did not account for lobbies moving around
|
||||
* Fixed a problem with camera unlock (GT Mimics and Mire Minibridge)
|
||||
* Fixed a problem with bad-pseudo layer at PoD map Balcony (unable to hit switch with Bomb)
|
||||
|
||||
# Known Issues
|
||||
|
||||
(I'm planning to fix theese in this Unstable iteration hopefully)
|
||||
|
||||
* Hammerjump (et al) rails
|
||||
* Backward TR Crystal Maze locking Somaria
|
||||
* Ganon hint when hints are turned off not correct
|
||||
10
Rom.py
10
Rom.py
@@ -22,7 +22,7 @@ from EntranceShuffle import door_addresses, exit_ids
|
||||
|
||||
|
||||
JAP10HASH = '03a63945398191337e896e5771f77173'
|
||||
RANDOMIZERBASEHASH = '890bac9433ffda07aeeb858cfdb41e4a'
|
||||
RANDOMIZERBASEHASH = '796d527e1a2ebbcac4023f6b8b9444bf'
|
||||
|
||||
|
||||
class JsonRom(object):
|
||||
@@ -1328,7 +1328,13 @@ def patch_rom(world, rom, player, team, enemized):
|
||||
|
||||
# set correct flag for hera basement item
|
||||
hera_basement = world.get_location('Tower of Hera - Basement Cage', player)
|
||||
if hera_basement.item is not None and hera_basement.item.name == 'Small Key (Tower of Hera)' and hera_basement.item.player == player:
|
||||
is_small_key_this_dungeon = False
|
||||
if hera_basement.item is not None and hera_basement.item.smallkey:
|
||||
item_dungeon = hera_basement.item.name.split('(')[1][:-1]
|
||||
if item_dungeon == 'Escape':
|
||||
item_dungeon = 'Hyrule Castle'
|
||||
is_small_key_this_dungeon = hera_basement.dungeon.name == item_dungeon
|
||||
if is_small_key_this_dungeon:
|
||||
rom.write_byte(0x4E3BB, 0xE4)
|
||||
else:
|
||||
rom.write_byte(0x4E3BB, 0xEB)
|
||||
|
||||
@@ -32,7 +32,7 @@ HudAdditions:
|
||||
lda $7ef368 : and.l $0098c0, x : beq .restore
|
||||
txa : lsr : tax
|
||||
|
||||
lda.l GenericKeys : bne +
|
||||
lda.l GenericKeys : and #$00ff : bne +
|
||||
lda $7ef4e0, x : jsr ConvertToDisplay : sta $7ec7a2
|
||||
lda #$2830 : sta $7ec7a4
|
||||
+
|
||||
|
||||
@@ -5,7 +5,7 @@ org $06d049 ; <- 35049 sprite_absorbable : 31-32 (JSL Sprite_DrawRippleIfInWater
|
||||
jsl SpriteKeyDrawGFX : bra + : nop : +
|
||||
|
||||
org $06d180
|
||||
jsl BigKeyGet : bcs $07
|
||||
jsl BigKeyGet : bcs $07 : nop #5
|
||||
|
||||
org $06d18d ; <- 3518D - sprite_absorbable.asm : 274 (LDA $7EF36F : INC A : STA $7EF36F)
|
||||
jsl KeyGet
|
||||
@@ -80,8 +80,9 @@ SpriteKeyPrep:
|
||||
inx : lda.l LootTable, x : sta !MULTIWORLD_SPRITEITEM_PLAYER_ID
|
||||
inx : lda.l LootTable, x
|
||||
plx : sta $0e80, x
|
||||
cmp #$24 : beq +
|
||||
jsl PrepDynamicTile : bra +
|
||||
cmp #$24 : bne +++
|
||||
lda $a0 : cmp #$80 : bne + : lda #$24
|
||||
+++ jsl PrepDynamicTile : bra +
|
||||
++ plx : lda #$24 : sta $0e80, x
|
||||
+ pla
|
||||
rtl
|
||||
@@ -99,8 +100,9 @@ SpriteKeyDrawGFX:
|
||||
.jslrtsreturn
|
||||
rtl
|
||||
+ lda $0e80, x
|
||||
cmp #$24 : beq -
|
||||
jsl DrawDynamicTile ; see DrawHeartPieceGFX if problems
|
||||
cmp #$24 : bne +
|
||||
lda $a0 : cmp #$80 : bne - : lda #$24
|
||||
+ jsl DrawDynamicTile ; see DrawHeartPieceGFX if problems
|
||||
cmp #$03 : bne +
|
||||
pha : lda $0e60, x : ora.b #$20 : sta $0E60, x : pla
|
||||
+
|
||||
@@ -138,7 +140,8 @@ KeyGet:
|
||||
BigKeyGet:
|
||||
{
|
||||
lda.l ShuffleKeyDrops : bne +
|
||||
- stz $02e9 : ldy.b #$32 : phx ; what we wrote over
|
||||
- stz $02e9 : ldy.b #$32 ; what we wrote over
|
||||
phx : jsl Link_ReceiveItem : plx ; what we wrote over
|
||||
clc : rtl
|
||||
+
|
||||
ldy $0e80, x
|
||||
|
||||
@@ -190,8 +190,9 @@ PrepScrollToEdge:
|
||||
+ sta $05
|
||||
lda $01 : and #$10 : beq +
|
||||
lda #01
|
||||
+ sta $ee
|
||||
rts
|
||||
+ sta $ee : bne +
|
||||
stz $0476
|
||||
+ rts
|
||||
}
|
||||
|
||||
; Normal Flags should be in $01
|
||||
@@ -199,7 +200,9 @@ PrepScrollToEdge:
|
||||
PrepScrollToNormal:
|
||||
{
|
||||
lda $01 : sta $fe : and #$04 : lsr #2 : sta $ee ; trap door and layer
|
||||
stz $05 : lda #$78 : sta $04
|
||||
bne +
|
||||
stz $0476
|
||||
+ stz $05 : lda #$78 : sta $04
|
||||
lda $01 : and #$03 : beq .end
|
||||
cmp #$02 : !bge +
|
||||
lda #$f8 : sta $04 : bra .end
|
||||
|
||||
@@ -188,9 +188,9 @@ CheckRoomLayoutX:
|
||||
jsr LoadRoomLayout ;switches to 8-bit
|
||||
cmp #$04 : !blt .lock
|
||||
cmp #$05 : bne +
|
||||
lda $06 : cmp #$ff : beq .lock
|
||||
lda $04 : cmp #$f8 : beq .lock
|
||||
+ cmp #$06 : bne .free
|
||||
lda $06 : cmp #$ff : bne .lock
|
||||
lda $04 : cmp #$f8 : bne .lock
|
||||
.free rep #$30 : clc : rts
|
||||
.lock rep #$30 : sec : rts
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user