Fix partial hearts draw location on HUD
This commit is contained in:
@@ -11,7 +11,7 @@ org $0DFB91
|
|||||||
RTS
|
RTS
|
||||||
|
|
||||||
newIgnoreItemBox:
|
newIgnoreItemBox:
|
||||||
JSL HUD_Update_ignoreItemBox
|
JSL HUD_Update
|
||||||
RTS
|
RTS
|
||||||
|
|
||||||
org $0DDD21
|
org $0DDD21
|
||||||
@@ -28,6 +28,20 @@ org $0DFC09
|
|||||||
org $0DFC1B
|
org $0DFC1B
|
||||||
JSR $F1BC
|
JSR $F1BC
|
||||||
|
|
||||||
|
org $0DDB85
|
||||||
|
JSL HUD_Update
|
||||||
|
|
||||||
|
org $0DFDAB
|
||||||
|
JSL HUD_UpdateHearts
|
||||||
|
RTS
|
||||||
|
|
||||||
|
; Partial hearts draw position
|
||||||
|
org $0DF14F
|
||||||
|
SEP #$30
|
||||||
|
LDA.b #$44 : STA $00
|
||||||
|
LDA.b #$C7 : STA $01
|
||||||
|
LDA.b #$7E : STA $02
|
||||||
|
|
||||||
; ==============================================================================
|
; ==============================================================================
|
||||||
; New Code Region Starts Here
|
; New Code Region Starts Here
|
||||||
|
|
||||||
@@ -95,7 +109,7 @@ HUD_Update:
|
|||||||
.healthUpdated
|
.healthUpdated
|
||||||
|
|
||||||
; A = actual health + 0x03;
|
; A = actual health + 0x03;
|
||||||
LDA $7EF36D : SEC : SBC #$03
|
LDA $7EF36D : CLC : ADC.b #$03
|
||||||
|
|
||||||
REP #$30
|
REP #$30
|
||||||
|
|
||||||
@@ -129,13 +143,11 @@ HUD_Update:
|
|||||||
; LDA MagicTilemap+2, X : STA $7EC76D
|
; LDA MagicTilemap+2, X : STA $7EC76D
|
||||||
; LDA MagicTilemap+4, X : STA $7EC76D
|
; LDA MagicTilemap+4, X : STA $7EC76D
|
||||||
; LDA MagicTilemap+6, X : STA $7EC76F
|
; LDA MagicTilemap+6, X : STA $7EC76F
|
||||||
; LDA MagicTilemap+8, X : STA $7EC771
|
|
||||||
|
|
||||||
; LDA #$3C4C : STA $7EC76A
|
; LDA #$3C4C : STA $7EC76A
|
||||||
; LDA #$3C4C : STA $7EC76E
|
; LDA #$3C4C : STA $7EC76E
|
||||||
; LDA #$3C4C : STA $7EC773
|
; LDA #$3C4C : STA $7EC773
|
||||||
; LDA #$3C4C : STA $7EC777
|
; LDA #$3C4C : STA $7EC777
|
||||||
; LDA #$3C4C : STA $7EC78B
|
|
||||||
|
|
||||||
; Load how many rupees the player has
|
; Load how many rupees the player has
|
||||||
LDA $7EF362
|
LDA $7EF362
|
||||||
@@ -231,7 +243,7 @@ MagicTilemap:
|
|||||||
; *$6F14F-$6F1B2 LOCAL
|
; *$6F14F-$6F1B2 LOCAL
|
||||||
|
|
||||||
HUD_HeartDisplayFrames:
|
HUD_HeartDisplayFrames:
|
||||||
dw $24A3, $24A4, $24A3, $24A0
|
dw $24A3, $24A4, $24A3, $24A3
|
||||||
|
|
||||||
HUD_AnimateHeartRefill:
|
HUD_AnimateHeartRefill:
|
||||||
{
|
{
|
||||||
@@ -242,7 +254,7 @@ HUD_AnimateHeartRefill:
|
|||||||
LDA.b #$C7 : STA $01
|
LDA.b #$C7 : STA $01
|
||||||
LDA.b #$7E : STA $02
|
LDA.b #$7E : STA $02
|
||||||
|
|
||||||
DEC $0208 : BNE .return
|
DEC.w $0208 : BNE .return
|
||||||
|
|
||||||
REP #$30
|
REP #$30
|
||||||
|
|
||||||
@@ -254,77 +266,29 @@ HUD_AnimateHeartRefill:
|
|||||||
SBC.w #$0014 : TAY
|
SBC.w #$0014 : TAY
|
||||||
|
|
||||||
; $00[3] = $7EC7A8 (wram address of second row of hearts)
|
; $00[3] = $7EC7A8 (wram address of second row of hearts)
|
||||||
LDA $00 : CLC : ADC.w #$0040 : STA $00
|
LDA $00 : CLC : ADC.w #$0040 : STA.b $00
|
||||||
|
|
||||||
.halfHealthOrLess
|
.halfHealthOrLess
|
||||||
|
|
||||||
SEP #$30
|
SEP #$30
|
||||||
|
LDX.w $0209 : LDA.l $0DFA11, X : STA.w $0208
|
||||||
LDX $0209 : LDA $0DFA11, X : STA $0208
|
|
||||||
|
|
||||||
TXA : ASL A : TAX
|
TXA : ASL A : TAX
|
||||||
|
|
||||||
LDA HUD_HeartDisplayFrames, X : STA [$00], Y
|
LDA.l HUD_HeartDisplayFrames+0, X : STA.b [$00], Y : INY
|
||||||
|
LDA.l HUD_HeartDisplayFrames+1, X : STA.b [$00], Y
|
||||||
INY : LDA HUD_HeartDisplayFrames+1, X : STA [$00], Y
|
|
||||||
|
|
||||||
LDA $0209 : INC A : AND.b #$03 : STA $0209
|
|
||||||
|
|
||||||
|
LDA.w $0209 : INC A : AND.b #$03 : STA.w $0209
|
||||||
BNE .return
|
BNE .return
|
||||||
|
|
||||||
SEP #$30
|
SEP #$30
|
||||||
|
JSL $0DFA70 ; Rebuild Vanilla
|
||||||
JSL $0DFA70
|
|
||||||
|
|
||||||
STZ $020A
|
STZ $020A
|
||||||
|
|
||||||
.return
|
.return
|
||||||
|
|
||||||
CLC
|
CLC
|
||||||
|
|
||||||
RTS
|
RTS
|
||||||
}
|
}
|
||||||
|
|
||||||
; *$6FA70-$6FA92 LOCAL
|
|
||||||
Rebuild:
|
|
||||||
{
|
|
||||||
REP #$30
|
|
||||||
|
|
||||||
PHB
|
|
||||||
|
|
||||||
; Preparing for the MVN transfer
|
|
||||||
LDA.w #$0149
|
|
||||||
LDX.w #HUD_Tilemap
|
|
||||||
LDY.w #$C700
|
|
||||||
|
|
||||||
MVN $0D, $7E ; $Transfer 0x014A bytes from $6FE77 -> $7EC700
|
|
||||||
|
|
||||||
PLB ; The above sets up a template for the status bar.
|
|
||||||
|
|
||||||
PHB : PHK : PLB
|
|
||||||
|
|
||||||
BRA .alpha
|
|
||||||
|
|
||||||
; *$6FA85 ALTERNATE ENTRY POINT
|
|
||||||
.updateOnly
|
|
||||||
|
|
||||||
REP #$30
|
|
||||||
|
|
||||||
PHB : PHK : PLB
|
|
||||||
|
|
||||||
.alpha
|
|
||||||
|
|
||||||
JSR HUD_Update
|
|
||||||
|
|
||||||
PLB
|
|
||||||
|
|
||||||
SEP #$30
|
|
||||||
|
|
||||||
INC $16 ; Indicate this shit needs drawing.
|
|
||||||
|
|
||||||
RTL
|
|
||||||
}
|
|
||||||
|
|
||||||
; ============================================================================
|
; ============================================================================
|
||||||
; *$6FAFD-$6FB90 LOCAL
|
; *$6FAFD-$6FB90 LOCAL
|
||||||
|
|
||||||
@@ -384,9 +348,9 @@ HUD_UpdateHearts:
|
|||||||
LDX.w #$0000
|
LDX.w #$0000
|
||||||
|
|
||||||
.nextHeart
|
.nextHeart
|
||||||
LDA $00 : CMP.w #$0008 : BCC .lessThanOneHeart
|
LDA.b $00 : CMP.w #$0008 : BCC .lessThanOneHeart
|
||||||
; Notice no SEC was needed since carry is assumedly set.
|
; Notice no SEC was needed since carry is assumedly set.
|
||||||
SBC.w #$0008 : STA $00
|
SBC.w #$0008 : STA.b $00
|
||||||
LDY.w #$0004
|
LDY.w #$0004
|
||||||
JSR .drawHeart
|
JSR .drawHeart
|
||||||
INX #2
|
INX #2
|
||||||
@@ -410,10 +374,10 @@ HUD_UpdateHearts:
|
|||||||
CPX.w #$0014 : BCC .noLineChange
|
CPX.w #$0014 : BCC .noLineChange
|
||||||
; if not, we have to move down one tile in the tilemap
|
; if not, we have to move down one tile in the tilemap
|
||||||
LDX.w #$0000
|
LDX.w #$0000
|
||||||
LDA $07 : CLC : ADC #$0040 : STA $07
|
LDA.b $07 : CLC : ADC.w #$0040 : STA.b $07
|
||||||
|
|
||||||
.noLineChange
|
.noLineChange
|
||||||
LDA [$0A], Y : TXY : STA [$07], Y
|
LDA.b [$0A], Y : TXY : STA.b [$07], Y
|
||||||
RTS
|
RTS
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -446,6 +410,35 @@ HexToDecimal:
|
|||||||
RTS
|
RTS
|
||||||
}
|
}
|
||||||
|
|
||||||
|
; =============================================================================
|
||||||
|
|
||||||
|
; dw BowsGFX, BoomsGFX, HookGFX
|
||||||
|
; dw BombsGFX, PowderGFX, BottlesGFX
|
||||||
|
; dw HammerGFX, LampGFX, Fire_rodGFX
|
||||||
|
; dw Ice_rodGFX, MirrorGFX, BottlesGFX
|
||||||
|
; dw OcarinaGFX, BookGFX, SomariaGFX
|
||||||
|
; dw ByrnaGFX, JumpFeatherGFX, BottlesGFX
|
||||||
|
; dw DekuMaskGFX, ZoraMaskGFX, WolfMaskGFX
|
||||||
|
; dw BunnyHoodGFX, StoneMaskGFX, BottlesGFX
|
||||||
|
|
||||||
|
; $6FA93-$6FAFC DATA
|
||||||
|
org $0DFA93
|
||||||
|
HudItems:
|
||||||
|
{
|
||||||
|
; bows, boomerang, hookshot, bombs, powder, bottle1
|
||||||
|
dw $F629, $F651, $F669, $F679, $F689, $F751
|
||||||
|
; hammer, lamp, fire rod, Ice Rod, mirror, bottle2
|
||||||
|
dw $F701, $F6F1, $F6A1, $F6B1, $F7C9, $F751
|
||||||
|
; flute, book, somaria, byrna, feather, bottle3
|
||||||
|
dw $F711, $F741, $F799, $F7A9, $F731, $F751
|
||||||
|
; bombos, quake, ether, stone mask
|
||||||
|
dw $F6E1, $F6C1, $F6D1, $F7B9, $F811, $F751
|
||||||
|
}
|
||||||
|
|
||||||
|
org $0DF651
|
||||||
|
dw $2CB8, $2CB9, $2CF5, $2CC9 ; Blue boomerang
|
||||||
|
dw $24B8, $24B9, $24F5, $24C9 ; Red boomerang
|
||||||
|
|
||||||
; =============================================================================
|
; =============================================================================
|
||||||
; $6FE77-$6FFC0
|
; $6FE77-$6FFC0
|
||||||
|
|
||||||
@@ -591,28 +584,3 @@ FloorIndicator:
|
|||||||
|
|
||||||
RTL
|
RTL
|
||||||
}
|
}
|
||||||
|
|
||||||
; =============================================================================
|
|
||||||
|
|
||||||
; dw BowsGFX, BoomsGFX, HookGFX
|
|
||||||
; dw BombsGFX, PowderGFX, BottlesGFX
|
|
||||||
; dw HammerGFX, LampGFX, Fire_rodGFX
|
|
||||||
; dw Ice_rodGFX, MirrorGFX, BottlesGFX
|
|
||||||
; dw OcarinaGFX, BookGFX, SomariaGFX
|
|
||||||
; dw ByrnaGFX, JumpFeatherGFX, BottlesGFX
|
|
||||||
; dw DekuMaskGFX, ZoraMaskGFX, WolfMaskGFX
|
|
||||||
; dw BunnyHoodGFX, StoneMaskGFX, BottlesGFX
|
|
||||||
|
|
||||||
; $6FA93-$6FAFC DATA
|
|
||||||
org $0DFA93
|
|
||||||
HudItems:
|
|
||||||
{
|
|
||||||
; bows, boomerang, hookshot, bombs, powder, bottle1
|
|
||||||
dw $F629, $F651, $F669, $F679, $F689, $F751
|
|
||||||
; hammer, lamp, fire rod, Ice Rod, mirror, bottle2
|
|
||||||
dw $F701, $F6F1, $F6A1, $F6B1, $F7C9, $F751
|
|
||||||
; flute, book, somaria, byrna, feather, bottle3
|
|
||||||
dw $F711, $F741, $F799, $F7A9, $F731, $F751
|
|
||||||
; bombos, quake, ether, stone mask
|
|
||||||
dw $F6C1, $F6E1, $F6D1, $F7B9, $F811, $F751
|
|
||||||
}
|
|
||||||
@@ -22,9 +22,11 @@ namespace Oracle
|
|||||||
incsrc "Util/ram.asm"
|
incsrc "Util/ram.asm"
|
||||||
incsrc "Util/functions.asm"
|
incsrc "Util/functions.asm"
|
||||||
|
|
||||||
|
; ---------------------------------------------------------
|
||||||
incsrc "Items/jump_feather.asm"
|
incsrc "Items/jump_feather.asm"
|
||||||
print "End of Items/jump_feather.asm ", pc
|
print "End of Items/jump_feather.asm ", pc
|
||||||
|
|
||||||
|
; ---------------------------------------------------------
|
||||||
incsrc "Graphics/boat_gfx.asm"
|
incsrc "Graphics/boat_gfx.asm"
|
||||||
print "End of Graphics/boat_gfx.asm ", pc
|
print "End of Graphics/boat_gfx.asm ", pc
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user