Update Sprites and Items
- Add the Portal Rod item (WIP) - Add Twinrova Boss Sprite - Update the Minecart Sprite - Fix the HUD magic meter draw - Fix some Zora Mask bugs (WIP) - General housekeeping
This commit is contained in:
@@ -49,10 +49,7 @@ org $2E8000
|
||||
|
||||
HUD_Update:
|
||||
{
|
||||
; JSL LinkState_GameboyForm
|
||||
|
||||
JSR HUD_UpdateItemBox
|
||||
|
||||
.ignoreItemBox ; ALTERNATE ENTRY POINT
|
||||
|
||||
SEP #$30
|
||||
@@ -122,11 +119,10 @@ HUD_Update:
|
||||
LDA $7EF36E : AND.w #$00FF : CLC : ADC #$0007 : AND.w #$FFF8 : TAX
|
||||
|
||||
; these four writes draw the magic power bar based on how much MP you have
|
||||
LDA.l (MagicTilemap)+0, X : STA $7EC76A
|
||||
LDA.l (MagicTilemap)+2, X : STA $7EC76C
|
||||
LDA.l (MagicTilemap)+4, X : STA $7EC76E
|
||||
LDA.l (MagicTilemap)+6, X : STA $7EC770
|
||||
LDA.l (MagicTilemap)+8, X : STA $7EC772
|
||||
LDA.l (MagicTilemap)+0, X : STA $7EC76C
|
||||
LDA.l (MagicTilemap)+2, X : STA $7EC76E
|
||||
LDA.l (MagicTilemap)+4, X : STA $7EC770
|
||||
LDA.l (MagicTilemap)+6, X : STA $7EC772
|
||||
|
||||
; Load how many rupees the player has
|
||||
LDA $7EF362
|
||||
@@ -206,52 +202,31 @@ HUD_Update:
|
||||
|
||||
; =============================================================================
|
||||
|
||||
Full = $3C5F
|
||||
Full = $3C5F
|
||||
MostlyFull = $3C4D
|
||||
KindaFull = $3C4E
|
||||
HalfEmpty = $3C4F
|
||||
KindaFull = $3C4E
|
||||
HalfEmpty = $3C4F
|
||||
AlmostEmpty = $3C5E
|
||||
Empty = $3C4C
|
||||
|
||||
New_MagicTilemap:
|
||||
dw Empty, Empty, Empty, Empty, Empty
|
||||
dw Empty, Empty, Empty, Empty, AlmostEmpty
|
||||
dw Empty, Empty, Empty, Empty, HalfEmpty
|
||||
dw Empty, Empty, Empty, Empty, KindaFull
|
||||
dw Empty, Empty, Empty, Empty, MostlyFull
|
||||
dw Empty, Empty, Empty, HalfEmpty, Full
|
||||
Empty = $3C4C
|
||||
|
||||
MagicTilemap:
|
||||
dw $3C4C, $3C4C, $3C4C, $3C4C, $3C4C
|
||||
dw $3C4C, $3C4C, $3C4C, $3C4C, $3C5F
|
||||
dw $3C4C, $3C4C, $3C4C, $3C4C, $3C4C
|
||||
dw $3C4C, $3C4C, $3C4C, $3C4C, $3C4D
|
||||
dw $3C4C, $3C4C, $3C4C, $3C4C, $3C4E
|
||||
dw $3C4C, $3C4C, $3C4C, $3C5F, $3C5F
|
||||
dw $3C4C, $3C4C, $3C4C, $3C4C, $3C5F
|
||||
dw $3C4C, $3C4C, $3C4C, $3C4D, $3C5F
|
||||
dw $3C4C, $3C4C, $3C4C, $3C4E, $3C5F
|
||||
dw $3C4D, $3C5F, $3C5F, $3C5F, $3C5F
|
||||
dw $3C4E, $3C5F, $3C5F, $3C5F, $3C5F
|
||||
dw $3C4F, $3C5F, $3C5F, $3C5F, $3C5F
|
||||
dw $3C5E, $3C5F, $3C5F, $3C5F, $3C5F
|
||||
dw $3C5F, $3C5F, $3C5F, $3C5F, $3C5F
|
||||
; value 0x80 aka 128
|
||||
|
||||
HUD_DrawMagicMeter:
|
||||
{
|
||||
; check player magic (ranges from 0 to 0x7F)
|
||||
; X = ((MP & 0xFF)) + 7) & 0xFFF8)
|
||||
LDA $7EF36E : AND.w #$00FF : CLC : ADC #$0007 : AND.w #$FFF8 : TAX
|
||||
|
||||
.draw_magic_meter
|
||||
|
||||
LDA.l (MagicTilemap)+0, X : STA $7EC76A
|
||||
LDA.l (MagicTilemap)+2, X : STA $7EC76C
|
||||
LDA.l (MagicTilemap)+4, X : STA $7EC76E
|
||||
LDA.l (MagicTilemap)+6, X : STA $7EC770
|
||||
LDA.l (MagicTilemap)+8, X : STA $7EC772
|
||||
}
|
||||
dw Empty, Empty, Empty, Empty
|
||||
dw Empty, Empty, Empty, AlmostEmpty
|
||||
dw Empty, Empty, Empty, HalfEmpty
|
||||
dw Empty, Empty, Empty, KindaFull
|
||||
dw Empty, Empty, Empty, MostlyFull
|
||||
dw Empty, Empty, AlmostEmpty, Full
|
||||
dw Empty, Empty, HalfEmpty, Full
|
||||
dw Empty, Empty, KindaFull, Full
|
||||
dw Empty, Empty, MostlyFull, Full
|
||||
dw Empty, AlmostEmpty, Full, Full
|
||||
dw Empty, HalfEmpty, Full, Full
|
||||
dw Empty, KindaFull, Full, Full
|
||||
dw Empty, MostlyFull, Full, Full
|
||||
dw AlmostEmpty, Full, Full, Full
|
||||
dw HalfEmpty, Full, Full, Full
|
||||
dw KindaFull, Full, Full, Full
|
||||
dw MostlyFull, Full, Full, Full
|
||||
|
||||
; ============================================================================
|
||||
; *$6FAFD-$6FB90 LOCAL
|
||||
@@ -477,12 +452,11 @@ org $0DF6B1
|
||||
|
||||
; Mirror
|
||||
org $0DF7C9
|
||||
dw $20F5, $20F5, $20F5, $20F5 ; No mirror
|
||||
dw $2C62, $2C63, $2C72, $2C73 ; Mirror
|
||||
dw $2C62, $2C63, $2C72, $2C73 ; Mirror
|
||||
|
||||
; Byrna
|
||||
org $0DF7A9
|
||||
dw $20F5, $20F5, $20F5, $20F5 ; No Byrna
|
||||
dw $2CDC, $2CDD, $2CEC, $2CED ; Cane of Byrna
|
||||
|
||||
org $0DF731
|
||||
@@ -517,58 +491,59 @@ org $0DF811
|
||||
; =============================================================================
|
||||
; $6FE77-$6FFC0
|
||||
|
||||
org $0DFE77
|
||||
org $0DFE77
|
||||
HUD_Tilemap:
|
||||
{
|
||||
dw $207F, $207F, $207F, $207F, $207F, $207F, $207F, $207F
|
||||
dw $207F, $207F, $207F, $207F, $207F, $207F, $207F, $207F
|
||||
dw $207F, $207F, $207F, $207F
|
||||
incbin tilemaps/hud.tilemap
|
||||
; {
|
||||
; dw $207F, $207F, $207F, $207F, $207F, $207F, $207F, $207F
|
||||
; dw $207F, $207F, $207F, $207F, $207F, $207F, $207F, $207F
|
||||
; dw $207F, $207F, $207F, $207F
|
||||
|
||||
; magic bar top part
|
||||
dw $200B, $200C, $200C, $200C, $200C, $200C
|
||||
; item frame top part
|
||||
dw $206C, $206D, $206E, $206F
|
||||
; ; magic bar top part
|
||||
; dw $200B, $200C, $200C, $200C, $200C, $200C
|
||||
; ; item frame top part
|
||||
; dw $206C, $206D, $206E, $206F
|
||||
|
||||
dw $207F, $207F, $207F, $207F, $207F, $207F, $207F, $207F
|
||||
dw $207F, $207F, $207F, $207F, $207F, $207F, $207F, $207F
|
||||
dw $207F
|
||||
; dw $207F, $207F, $207F, $207F, $207F, $207F, $207F, $207F
|
||||
; dw $207F, $207F, $207F, $207F, $207F, $207F, $207F, $207F
|
||||
; dw $207F
|
||||
|
||||
; rupee icon key icon
|
||||
dw $3CA8, $FCA8, $207F, $2071, $207F
|
||||
; ; rupee icon key icon
|
||||
; dw $3CA8, $FCA8, $207F, $2071, $207F
|
||||
|
||||
; magic bar
|
||||
dw $201B, $344B
|
||||
dw $344B, $344B, $344B, $344B
|
||||
; ; magic bar
|
||||
; dw $201B, $344B
|
||||
; dw $344B, $344B, $344B, $344B
|
||||
|
||||
; item frame left part
|
||||
dw $20DE, $207F, $207F, $20DF
|
||||
; ; item frame left part
|
||||
; dw $20DE, $207F, $207F, $20DF
|
||||
|
||||
dw $207F, $207F, $207F, $207F, $207F, $207F, $207F, $207F
|
||||
dw $207F, $207F, $207F, $207F, $207F, $207F, $207F, $207F
|
||||
dw $207F, $207F, $207F, $207F, $207F, $207F
|
||||
; dw $207F, $207F, $207F, $207F, $207F, $207F, $207F, $207F
|
||||
; dw $207F, $207F, $207F, $207F, $207F, $207F, $207F, $207F
|
||||
; dw $207F, $207F, $207F, $207F, $207F, $207F
|
||||
|
||||
; magic bar bottom part
|
||||
dw $A00B, $A00C
|
||||
dw $A00C, $A00C, $A00C, $A00C
|
||||
; ; magic bar bottom part
|
||||
; dw $A00B, $A00C
|
||||
; dw $A00C, $A00C, $A00C, $A00C
|
||||
|
||||
; item frame right part
|
||||
dw $20EE, $207F, $207F, $20EF
|
||||
; ; item frame right part
|
||||
; dw $20EE, $207F, $207F, $20EF
|
||||
|
||||
dw $207F, $207F, $207F, $207F, $207F, $207F, $207F, $207F
|
||||
dw $207F, $207F, $207F, $207F, $207F, $207F, $207F, $207F
|
||||
dw $207F, $207F, $207F, $207F, $207F, $207F, $207F, $207F
|
||||
dw $207F, $207F, $207F, $207F
|
||||
; dw $207F, $207F, $207F, $207F, $207F, $207F, $207F, $207F
|
||||
; dw $207F, $207F, $207F, $207F, $207F, $207F, $207F, $207F
|
||||
; dw $207F, $207F, $207F, $207F, $207F, $207F, $207F, $207F
|
||||
; dw $207F, $207F, $207F, $207F
|
||||
|
||||
; item frame bottom part
|
||||
dw $207C, $207D, $207E, $201D
|
||||
; ; item frame bottom part
|
||||
; dw $207C, $207D, $207E, $201D
|
||||
|
||||
dw $207F, $207F, $207F, $207F, $207F, $207F, $207F, $207F
|
||||
dw $207F, $207F, $207F, $207F, $207F, $207F, $207F, $207F
|
||||
dw $207F, $207F, $207F, $207F, $207F, $207F, $207F, $207F
|
||||
dw $207F, $207F, $207F, $207F, $207F, $207F, $207F, $207F
|
||||
dw $207F, $207F, $207F, $207F, $207F, $207F, $207F, $207F
|
||||
dw $207F
|
||||
}
|
||||
; dw $207F, $207F, $207F, $207F, $207F, $207F, $207F, $207F
|
||||
; dw $207F, $207F, $207F, $207F, $207F, $207F, $207F, $207F
|
||||
; dw $207F, $207F, $207F, $207F, $207F, $207F, $207F, $207F
|
||||
; dw $207F, $207F, $207F, $207F, $207F, $207F, $207F, $207F
|
||||
; dw $207F, $207F, $207F, $207F, $207F, $207F, $207F, $207F
|
||||
; dw $207F
|
||||
; }
|
||||
|
||||
; ==============================================================================
|
||||
|
||||
@@ -661,4 +636,4 @@ FloorIndicator:
|
||||
SEP #$30
|
||||
|
||||
RTL
|
||||
}
|
||||
}
|
||||
@@ -5,61 +5,61 @@
|
||||
Menu_ItemIndex:
|
||||
db $00
|
||||
; Bow, Boomerang, Hookshot, Bombs, Powder, Bottle 1
|
||||
db $03, $02, $0E, $01, $0A, $0B
|
||||
db $03, $02, $0E, $01, $0A, $0B
|
||||
; Hammer, Lamp, Fire Rod, Ice Rod, Mirror, Bottle 2
|
||||
db $04, $09, $05, $06, $14, $0B
|
||||
db $04, $09, $05, $06, $14, $0B
|
||||
; Ocarina, Book, Somaria, Byrna, Feather, Bottle3
|
||||
db $08, $0C, $12, $0D, $07, $0B
|
||||
db $08, $0C, $12, $0D, $07, $0B
|
||||
; Deku, Zora, Wolf, Bunny Hood, Stone Mask, Bottle4
|
||||
db $11, $0F, $08, $10, $13, $0B
|
||||
db $11, $0F, $08, $10, $13, $0B
|
||||
|
||||
; -----------------------------------------------------------------------------
|
||||
; Decides which graphics is drawn
|
||||
Menu_AddressIndex:
|
||||
db $7EF340 ; bow
|
||||
db $7EF341 ; boom
|
||||
db $7EF342 ; hookshot
|
||||
db $7EF343 ; bombs
|
||||
db $7EF344 ; powder
|
||||
db $7EF35C ; bottle1
|
||||
db $7EF340 ; Bow
|
||||
db $7EF341 ; Boomerang
|
||||
db $7EF342 ; Hookshot
|
||||
db $7EF343 ; Bombs
|
||||
db $7EF344 ; Powder
|
||||
db $7EF35C ; Bottle 1
|
||||
|
||||
db $7EF34B ; hammer
|
||||
db $7EF34A ; lamp
|
||||
db $7EF345 ; firerod
|
||||
db $7EF346 ; icerod
|
||||
db $7EF353 ; mirror
|
||||
db $7EF35D ; bottle2
|
||||
db $7EF34B ; Hammer
|
||||
db $7EF34A ; Lamp
|
||||
db $7EF345 ; Fire Rod
|
||||
db $7EF346 ; Ice Rod
|
||||
db $7EF353 ; Magic Mirror
|
||||
db $7EF35D ; Bottle 2
|
||||
|
||||
db $7EF34C ; shovel 7EF34F
|
||||
db $7EF34E ; book
|
||||
db $7EF350 ; somaria
|
||||
db $7EF351 ; byrna
|
||||
db $7EF34D ; feather
|
||||
db $7EF35E ; bottle3
|
||||
db $7EF34E ; Book
|
||||
db $7EF350 ; Cane of Somaria
|
||||
db $7EF351 ; Cane of Byrna
|
||||
db $7EF34D ; Roc's Feather
|
||||
db $7EF35E ; Bottle 3
|
||||
|
||||
db $7EF348 ; deku mask
|
||||
db $7EF349 ; Deku Mask
|
||||
db $7EF347 ; Zora Mask
|
||||
db $7EF349 ; Bunny Hood
|
||||
db $7EF34C ; ocarina
|
||||
db $7EF352 ; stone mask
|
||||
db $7EF35F ; bottle4
|
||||
db $7EF358 ; Wolf Mask
|
||||
db $7EF348 ; Bunny Hood
|
||||
db $7EF352 ; Stone Mask
|
||||
db $7EF35F ; Bottle #4
|
||||
|
||||
; -----------------------------------------------------------------------------
|
||||
|
||||
Menu_ItemCursorPositions:
|
||||
dw menu_offset(6,2) ; bow
|
||||
dw menu_offset(6,5) ; boom
|
||||
dw menu_offset(6,8) ; hookshot
|
||||
dw menu_offset(6,12) ; bombs
|
||||
dw menu_offset(6,15) ; deku mask
|
||||
dw menu_offset(6,18) ; bottle1
|
||||
dw menu_offset(6,2) ; bow
|
||||
dw menu_offset(6,5) ; boom
|
||||
dw menu_offset(6,8) ; hookshot
|
||||
dw menu_offset(6,12) ; bombs
|
||||
dw menu_offset(6,15) ; deku mask
|
||||
dw menu_offset(6,18) ; bottle1
|
||||
|
||||
dw menu_offset(9,2) ; hammer
|
||||
dw menu_offset(9,5) ; lamp
|
||||
dw menu_offset(9,8) ; firerod
|
||||
dw menu_offset(9,12) ; icerod
|
||||
dw menu_offset(9,15) ; goron
|
||||
dw menu_offset(9,18) ; bottle2
|
||||
dw menu_offset(9,2) ; hammer
|
||||
dw menu_offset(9,5) ; lamp
|
||||
dw menu_offset(9,8) ; firerod
|
||||
dw menu_offset(9,12) ; icerod
|
||||
dw menu_offset(9,15) ; goron
|
||||
dw menu_offset(9,18) ; bottle2
|
||||
|
||||
dw menu_offset(12,2) ; shovel
|
||||
dw menu_offset(12,5) ; feather
|
||||
@@ -80,14 +80,14 @@ Menu_ItemCursorPositions:
|
||||
|
||||
Menu_FindNextItem:
|
||||
{
|
||||
LDY.w $0202 : INY
|
||||
CPY.b #$19 : BCC .no_reset
|
||||
LDY.b #$01
|
||||
LDY.w $0202 : INY
|
||||
CPY.b #$19 : BCC .no_reset
|
||||
LDY.b #$01
|
||||
.no_reset
|
||||
STY.w $0202
|
||||
LDX.w Menu_AddressIndex-1, Y
|
||||
LDA.l $7EF300, X
|
||||
BEQ Menu_FindNextItem
|
||||
LDA.l $7EF300, X
|
||||
BEQ Menu_FindNextItem
|
||||
RTS
|
||||
}
|
||||
|
||||
@@ -95,13 +95,13 @@ Menu_FindNextItem:
|
||||
|
||||
Menu_FindPrevItem:
|
||||
{
|
||||
LDY.w $0202 : DEY : BNE .no_reset
|
||||
LDY.w $0202 : DEY : BNE .no_reset
|
||||
LDY.b #$18
|
||||
.no_reset
|
||||
STY.w $0202
|
||||
LDX.w Menu_AddressIndex-1, Y
|
||||
LDA.l $7EF300, X
|
||||
BEQ Menu_FindPrevItem
|
||||
LDA.l $7EF300, X
|
||||
BEQ Menu_FindPrevItem
|
||||
RTS
|
||||
}
|
||||
|
||||
@@ -109,14 +109,14 @@ Menu_FindPrevItem:
|
||||
|
||||
Menu_FindNextDownItem:
|
||||
{
|
||||
LDA.w $0202 : CLC : ADC.b #$06
|
||||
LDA.w $0202 : CLC : ADC.b #$06
|
||||
CMP.b #$19 : BCC .no_reset
|
||||
SBC.b #$18
|
||||
.no_reset
|
||||
TAY : STY.w $0202
|
||||
LDX.w Menu_AddressIndex-1, Y
|
||||
LDA.l $7EF300, X
|
||||
BEQ Menu_FindNextItem
|
||||
TAY : STY.w $0202
|
||||
LDX.w Menu_AddressIndex-1, Y
|
||||
LDA.l $7EF300, X
|
||||
BEQ Menu_FindNextItem
|
||||
RTS
|
||||
}
|
||||
|
||||
@@ -124,14 +124,14 @@ Menu_FindNextDownItem:
|
||||
|
||||
Menu_FindNextUpItem:
|
||||
{
|
||||
LDA.w $0202 : SEC : SBC.b #$06
|
||||
BPL .no_reset : BNE .no_reset
|
||||
CLC : ADC.b #$18
|
||||
LDA.w $0202 : SEC : SBC.b #$06
|
||||
BPL .no_reset : BNE .no_reset
|
||||
CLC : ADC.b #$18
|
||||
.no_reset
|
||||
TAY : STY.w $0202
|
||||
LDX.w Menu_AddressIndex-1, Y
|
||||
LDA.l $7EF300, X
|
||||
BEQ Menu_FindNextItem
|
||||
TAY : STY.w $0202
|
||||
LDX.w Menu_AddressIndex-1, Y
|
||||
LDA.l $7EF300, X
|
||||
BEQ Menu_FindNextItem
|
||||
RTS
|
||||
}
|
||||
|
||||
@@ -140,20 +140,20 @@ Menu_FindNextUpItem:
|
||||
|
||||
Menu_DeleteCursor:
|
||||
{
|
||||
REP #$30
|
||||
REP #$30
|
||||
LDX.w Menu_ItemCursorPositions-2, Y
|
||||
|
||||
LDA.w #$20F5
|
||||
STA.w $1108, X
|
||||
STA.w $1148, X
|
||||
STA.w $114E, X
|
||||
STA.w $110E, X
|
||||
STA.w $11C8, X
|
||||
STA.w $114E, X
|
||||
STA.w $110E, X
|
||||
STA.w $11C8, X
|
||||
STA.w $1188, X
|
||||
STA.w $118E, X
|
||||
STA.w $11CE, X
|
||||
SEP #$30
|
||||
STZ $0207
|
||||
STA.w $118E, X
|
||||
STA.w $11CE, X
|
||||
SEP #$30
|
||||
STZ $0207
|
||||
RTS
|
||||
}
|
||||
|
||||
@@ -161,24 +161,157 @@ Menu_DeleteCursor:
|
||||
|
||||
Menu_InitItemScreen:
|
||||
{
|
||||
SEP #$30
|
||||
SEP #$30
|
||||
LDY.w $0202 : BNE .all_good
|
||||
|
||||
.loop
|
||||
INY : CPY.b #$25 : BCS .bad
|
||||
INY : CPY.b #$25 : BCS .bad
|
||||
LDX.w Menu_AddressIndex-1, Y
|
||||
LDA.l $7EF300, X
|
||||
BEQ .loop
|
||||
LDA.l $7EF300, X
|
||||
BEQ .loop
|
||||
|
||||
STY.w $0202
|
||||
BRA .all_good
|
||||
BRA .all_good
|
||||
|
||||
.bad
|
||||
STZ.w $0202
|
||||
|
||||
.all_good
|
||||
STZ $0207
|
||||
STZ $0207
|
||||
LDA.b #$04
|
||||
STA.w $0200
|
||||
RTS
|
||||
}
|
||||
}
|
||||
|
||||
; -----------------------------------------------------------------------------
|
||||
|
||||
Menu_AddressLong:
|
||||
dl $7EF340 ; Bow
|
||||
dl $7EF341 ; Boomerang
|
||||
dl $7EF342 ; Hookshot
|
||||
dl $7EF343 ; Bombs
|
||||
dl $7EF344 ; Powder
|
||||
dl $7EF35C ; Bottle 1
|
||||
|
||||
dl $7EF34B ; Hammer
|
||||
dl $7EF34A ; Lamp
|
||||
dl $7EF345 ; Fire Rod
|
||||
dl $7EF346 ; Ice Rod
|
||||
dl $7EF353 ; Magic Mirror
|
||||
dl $7EF35D ; Bottle 2
|
||||
|
||||
dl $7EF34C ; shovel 7EF34F
|
||||
dl $7EF34E ; Book
|
||||
dl $7EF350 ; Cane of Somaria
|
||||
dl $7EF351 ; Cane of Byrna
|
||||
dl $7EF34D ; Roc's Feather
|
||||
dl $7EF35E ; Bottle 3
|
||||
|
||||
dl $7EF349 ; Deku Mask
|
||||
dl $7EF347 ; Zora Mask
|
||||
dl $7EF358 ; Wolf Mask
|
||||
dl $7EF348 ; Bunny Hood
|
||||
dl $7EF352 ; Stone Mask
|
||||
dl $7EF35F ; Bottle #4
|
||||
|
||||
GotoNextItem_Override:
|
||||
{
|
||||
; Load our currently equipped item, and move to the next one
|
||||
; If we reach our limit (21), set it back to the bow and arrow slot.
|
||||
LDA $0202 : INC A : CMP.b #$18 : BCC .dontReset
|
||||
|
||||
LDA.b #$01
|
||||
|
||||
.dontReset
|
||||
|
||||
; Otherwise try to equip the item in the next slot
|
||||
STA $0202
|
||||
|
||||
RTS
|
||||
}
|
||||
|
||||
DoWeHaveThisItem_Override:
|
||||
{
|
||||
LDY $0202
|
||||
LDX.w Menu_AddressIndex-1, Y
|
||||
LDA.l $7EF300, X
|
||||
BNE .have_this_item
|
||||
CLC
|
||||
RTL
|
||||
.have_this_item
|
||||
SEC
|
||||
RTL
|
||||
}
|
||||
|
||||
TryEquipNextItem_Override:
|
||||
{
|
||||
.keep_looking
|
||||
JSL GotoNextItem_Override
|
||||
JSL DoWeHaveThisItem_Override : BCC .keep_looking
|
||||
RTL
|
||||
}
|
||||
|
||||
SearchForEquippedItem_Override:
|
||||
{
|
||||
SEP #$30
|
||||
|
||||
STY.w $0202
|
||||
LDX.w Menu_AddressIndex-1, Y
|
||||
LDA.l $7EF300, X
|
||||
|
||||
CMP.b #$00 : BNE .equippableItemAvailable
|
||||
|
||||
; In this case we have no equippable items
|
||||
STZ $0202
|
||||
STZ $0203
|
||||
STZ $0204
|
||||
|
||||
.weHaveThatItem
|
||||
|
||||
RTL
|
||||
|
||||
.equippableItemAvailable
|
||||
|
||||
; Is there an item currently equipped (in the HUD slot)?
|
||||
LDA $0202
|
||||
BNE .alreadyEquipped
|
||||
|
||||
; If not, set the equipped item to the Bow and Arrow (even if we don't actually have it)
|
||||
LDA.b #$01
|
||||
STA $0202
|
||||
|
||||
.alreadyEquipped
|
||||
|
||||
; Checks to see if we actually have that item
|
||||
; We're done if we have that item
|
||||
JSR DoWeHaveThisItem_Override
|
||||
BCS .weHaveThatItem
|
||||
|
||||
JMP TryEquipNextItem_Override
|
||||
}
|
||||
|
||||
; -----------------------------------------------------------------------------
|
||||
|
||||
pushpc
|
||||
|
||||
org $0DDEB0
|
||||
DoWeHaveThisItem:
|
||||
{
|
||||
JSL DoWeHaveThisItem_Override
|
||||
RTS
|
||||
}
|
||||
|
||||
org $0DDEE2
|
||||
TryEquipNextItem:
|
||||
JSL TryEquipNextItem_Override
|
||||
RTS
|
||||
|
||||
org $0DE399
|
||||
SearchForEquippedItem:
|
||||
{
|
||||
JSL SearchForEquippedItem_Override
|
||||
RTS
|
||||
}
|
||||
warnpc $0DE3C7
|
||||
|
||||
pullpc
|
||||
BIN
Menu/tilemaps/hud.tilemap
Normal file
BIN
Menu/tilemaps/hud.tilemap
Normal file
Binary file not shown.
Reference in New Issue
Block a user