Correcting OW screen palette on transition
This commit is contained in:
2
Rom.py
2
Rom.py
@@ -38,7 +38,7 @@ from source.dungeon.RoomList import Room0127
|
|||||||
|
|
||||||
|
|
||||||
JAP10HASH = '03a63945398191337e896e5771f77173'
|
JAP10HASH = '03a63945398191337e896e5771f77173'
|
||||||
RANDOMIZERBASEHASH = '8862307c3bdf3ae838f7e07b5df6596b'
|
RANDOMIZERBASEHASH = '155051ece07ef1b60c875a5746189c26'
|
||||||
|
|
||||||
|
|
||||||
class JsonRom(object):
|
class JsonRom(object):
|
||||||
|
|||||||
@@ -47,6 +47,9 @@ Overworld_LoadSpecialOverworld_RoomId:
|
|||||||
org $04E8B4
|
org $04E8B4
|
||||||
Overworld_LoadSpecialOverworld:
|
Overworld_LoadSpecialOverworld:
|
||||||
|
|
||||||
|
org $02A9DA
|
||||||
|
JSL OWSkipMosiac
|
||||||
|
|
||||||
org $07982A
|
org $07982A
|
||||||
Link_ResetSwimmingState:
|
Link_ResetSwimmingState:
|
||||||
|
|
||||||
@@ -945,7 +948,20 @@ OWNewDestination:
|
|||||||
; crossed OW shuffle and terrain
|
; crossed OW shuffle and terrain
|
||||||
ldx $05 : ldy $08 : jsr OWWorldTerrainUpdate
|
ldx $05 : ldy $08 : jsr OWWorldTerrainUpdate
|
||||||
|
|
||||||
lda $05 : sta $8a
|
lda $8a : JSR OWDetermineScreensPaletteSet : STX $04
|
||||||
|
lda $05 : sta $8a : JSR OWDetermineScreensPaletteSet
|
||||||
|
|
||||||
|
;PLA : AND.b #$3F : BEQ .leaving_woods
|
||||||
|
;LDA $8A : AND.b #$3F : BEQ .entering_woods
|
||||||
|
CPX $04 : BEQ .skip_palette ; check if next screen's palette is different
|
||||||
|
LDA $00 : PHA
|
||||||
|
JSL OverworldLoadScreensPaletteSet_long ; loading correct OW palette
|
||||||
|
PLA : STA $00
|
||||||
|
;.leaving_woods
|
||||||
|
;.entering_woods
|
||||||
|
.skip_palette
|
||||||
|
lda $8a
|
||||||
|
|
||||||
rep #$30 : rts
|
rep #$30 : rts
|
||||||
}
|
}
|
||||||
OWLoadSpecialArea:
|
OWLoadSpecialArea:
|
||||||
@@ -1085,6 +1101,30 @@ OWLoadGearPalettes:
|
|||||||
PLA : STA $00 : PLY : PLX
|
PLA : STA $00 : PLY : PLX
|
||||||
RTS
|
RTS
|
||||||
}
|
}
|
||||||
|
OWDetermineScreensPaletteSet: ; A = OWID to check
|
||||||
|
{
|
||||||
|
LDX.b #$02
|
||||||
|
PHA : AND.b #$3F
|
||||||
|
CMP.b #$03 : BEQ .death_mountain
|
||||||
|
CMP.b #$05 : BEQ .death_mountain
|
||||||
|
CMP.b #$07 : BEQ .death_mountain
|
||||||
|
LDX.b #$00
|
||||||
|
.death_mountain
|
||||||
|
PLA : PHX : TAX : LDA.l OWTileWorldAssoc,x : BEQ +
|
||||||
|
PLX : INX : RTS
|
||||||
|
+ PLX : RTS
|
||||||
|
}
|
||||||
|
OWSkipMosiac:
|
||||||
|
{
|
||||||
|
LDA.l OWMode : ORA.l OWMode+1 : BEQ .vanilla
|
||||||
|
PLA : PLA : PEA $A9F2
|
||||||
|
RTL
|
||||||
|
.vanilla
|
||||||
|
LDA.b $8A : AND.b #$3F : BNE + ; what we wrote over, kinda
|
||||||
|
PLA : PLA : PEA $A9E3
|
||||||
|
+
|
||||||
|
RTL
|
||||||
|
}
|
||||||
OWAdjustExitPosition:
|
OWAdjustExitPosition:
|
||||||
{
|
{
|
||||||
LDA.w $06FC : CMP.b #$60 : BEQ .stone_bridge
|
LDA.w $06FC : CMP.b #$60 : BEQ .stone_bridge
|
||||||
|
|||||||
Binary file not shown.
Reference in New Issue
Block a user