Fixed issue with MW Player ID on Bonk Locations

This commit is contained in:
codemann8
2023-03-19 11:01:22 -05:00
parent d3cdb2fffc
commit 504f2e6a3a
3 changed files with 4 additions and 9 deletions

2
Rom.py
View File

@@ -38,7 +38,7 @@ from source.dungeon.RoomList import Room0127
JAP10HASH = '03a63945398191337e896e5771f77173' JAP10HASH = '03a63945398191337e896e5771f77173'
RANDOMIZERBASEHASH = '155051ece07ef1b60c875a5746189c26' RANDOMIZERBASEHASH = '109fde24581211c605a1d4836dd8d470'
class JsonRom(object): class JsonRom(object):

View File

@@ -494,9 +494,7 @@ OWBonkGoodBeeDrop:
; spawn itemget item ; spawn itemget item
.spawn_item ; A = item id ; Y = bonk sprite slot ; S = Collected .spawn_item ; A = item id ; Y = bonk sprite slot ; S = Collected
PLX : BEQ + : LDA.b #$00 : STA.w $0DD0,Y : BRA .return PLX : BEQ + : LDA.b #$00 : STA.w $0DD0,Y : BRA .return
+ LDA.l OWBonkPrizeTable[42].mw_player : STA.l !MULTIWORLD_SPRITEITEM_PLAYER_ID + LDA.b #$01 : STA !REDRAW
LDA.b #$01 : STA !REDRAW
LDA.b #$EB : STA.l $7FFE00 LDA.b #$EB : STA.l $7FFE00
JSL Sprite_SpawnDynamically+15 ; +15 to skip finding a new slot, use existing sprite JSL Sprite_SpawnDynamically+15 ; +15 to skip finding a new slot, use existing sprite
@@ -618,9 +616,7 @@ OWBonkDrops:
; spawn itemget item ; spawn itemget item
.spawn_item ; A = item id ; Y = tree sprite slot ; S = Collected, FlagBitmask, X (row + 2) .spawn_item ; A = item id ; Y = tree sprite slot ; S = Collected, FlagBitmask, X (row + 2)
PLX : BEQ + : LDA.b #$00 : STA.w $0DD0,Y : JMP .return ; S = FlagBitmask, X (row + 2) PLX : BEQ + : LDA.b #$00 : STA.w $0DD0,Y : JMP .return ; S = FlagBitmask, X (row + 2)
+ LDA 2,S : TAX : INX : INX + LDA 2,S : TAX : INX
LDA.w OWBonkPrizeData,X : STA.l !MULTIWORLD_SPRITEITEM_PLAYER_ID
DEX
LDA.b #$01 : STA !REDRAW LDA.b #$01 : STA !REDRAW
@@ -948,12 +944,11 @@ OWNewDestination:
; crossed OW shuffle and terrain ; crossed OW shuffle and terrain
ldx $05 : ldy $08 : jsr OWWorldTerrainUpdate ldx $05 : ldy $08 : jsr OWWorldTerrainUpdate
lda $8a : JSR OWDetermineScreensPaletteSet : STX $04
lda $05 : sta $8a : JSR OWDetermineScreensPaletteSet lda $05 : sta $8a : JSR OWDetermineScreensPaletteSet
;PLA : AND.b #$3F : BEQ .leaving_woods ;PLA : AND.b #$3F : BEQ .leaving_woods
;LDA $8A : AND.b #$3F : BEQ .entering_woods ;LDA $8A : AND.b #$3F : BEQ .entering_woods
CPX $04 : BEQ .skip_palette ; check if next screen's palette is different CPX.w $0AB3 : BEQ .skip_palette ; check if next screen's palette is different
LDA $00 : PHA LDA $00 : PHA
JSL OverworldLoadScreensPaletteSet_long ; loading correct OW palette JSL OverworldLoadScreensPaletteSet_long ; loading correct OW palette
PLA : STA $00 PLA : STA $00

Binary file not shown.