Bottles/Bug Catching Net, fix menu item icons
This commit is contained in:
@@ -2,12 +2,6 @@
|
|||||||
; Bottle Net Code
|
; Bottle Net Code
|
||||||
; =============================================================================
|
; =============================================================================
|
||||||
|
|
||||||
org $07B073
|
|
||||||
Link_CheckNewY_ButtonPress:
|
|
||||||
|
|
||||||
org $078028
|
|
||||||
Player_DoSfx2:
|
|
||||||
|
|
||||||
org $1EFE33
|
org $1EFE33
|
||||||
PlayerItem_SpawnFaerie:
|
PlayerItem_SpawnFaerie:
|
||||||
|
|
||||||
@@ -18,123 +12,9 @@ PlayerItem_ReleaseBee:
|
|||||||
; LinkItem_Bottle
|
; LinkItem_Bottle
|
||||||
|
|
||||||
org $07A15B
|
org $07A15B
|
||||||
JMP $FFA0 ; Local Bank Conditional
|
JSL LinkItem_NewBottle
|
||||||
|
|
||||||
; =============================================================================
|
|
||||||
; $07FFA0
|
|
||||||
|
|
||||||
org $07FFA0
|
|
||||||
{
|
|
||||||
LDA $030D
|
|
||||||
|
|
||||||
BNE $07FFBD
|
|
||||||
LDA $0300
|
|
||||||
BNE $07FFBD
|
|
||||||
LDA $7F5020
|
|
||||||
TAX
|
|
||||||
LDA $7EF35B, X
|
|
||||||
CMP #$02
|
|
||||||
BEQ $07FFBD
|
|
||||||
JSR $B073
|
|
||||||
JMP $A15E
|
|
||||||
|
|
||||||
; 07FFBD
|
|
||||||
JMP $AFF8 ; LinkItem_BugCatchingNet
|
|
||||||
JMP $FAF0 ;
|
|
||||||
NOP
|
|
||||||
JSR $B073
|
|
||||||
STZ $030F
|
|
||||||
RTS
|
RTS
|
||||||
}
|
; *$3A15B-$3A249 FREE SPACE STILL AVAILABLE
|
||||||
|
|
||||||
; =============================================================================
|
|
||||||
; LinkItem_BugCatchingNet
|
|
||||||
|
|
||||||
org $07AFF8
|
|
||||||
{
|
|
||||||
BIT $3A
|
|
||||||
BVS $07B029
|
|
||||||
LDA $6C
|
|
||||||
BNE $07AFB4
|
|
||||||
JSR $B073
|
|
||||||
BCC $07AFB4
|
|
||||||
LDA $2F
|
|
||||||
LSR
|
|
||||||
TAY
|
|
||||||
LDX $AFF4,Y
|
|
||||||
LDA $AFCC,X
|
|
||||||
STA $0300
|
|
||||||
LDA #$03
|
|
||||||
STA $3D
|
|
||||||
STZ $030D
|
|
||||||
LDA #$10
|
|
||||||
STA $037A
|
|
||||||
JSL $8EFEF0
|
|
||||||
STZ $2E
|
|
||||||
LDA #$32
|
|
||||||
JSR $8028
|
|
||||||
JSR $AE65
|
|
||||||
LDA $67
|
|
||||||
AND #$F0
|
|
||||||
STA $67
|
|
||||||
DEC $3D
|
|
||||||
BPL $07B072
|
|
||||||
LDX $030D
|
|
||||||
INX
|
|
||||||
STX $030D
|
|
||||||
LDA #$03
|
|
||||||
STA $3D
|
|
||||||
LDA $2F
|
|
||||||
LSR
|
|
||||||
TAY
|
|
||||||
LDA $AFF4,Y
|
|
||||||
CLC
|
|
||||||
ADC $030D
|
|
||||||
TAY
|
|
||||||
LDA $AFCC,Y
|
|
||||||
STA $0300
|
|
||||||
CPX #$0A
|
|
||||||
BNE $07B072
|
|
||||||
STZ $030D
|
|
||||||
STZ $0300
|
|
||||||
LDA $3A
|
|
||||||
AND #$80
|
|
||||||
STA $3A
|
|
||||||
STZ $037A
|
|
||||||
JSL $8EFEF8
|
|
||||||
STA $50
|
|
||||||
LDA #$80
|
|
||||||
STA $44
|
|
||||||
STA $45
|
|
||||||
RTS
|
|
||||||
}
|
|
||||||
|
|
||||||
; 07B073
|
|
||||||
org $07B073
|
|
||||||
{
|
|
||||||
BIT $3A
|
|
||||||
BVS $07B085
|
|
||||||
LDA $46
|
|
||||||
BNE $07B085
|
|
||||||
LDA $F4
|
|
||||||
AND #$40
|
|
||||||
BEQ $07B085
|
|
||||||
TSB $3A
|
|
||||||
SEC
|
|
||||||
RTS
|
|
||||||
|
|
||||||
; 07B085
|
|
||||||
org $07B085
|
|
||||||
CLC
|
|
||||||
RTS
|
|
||||||
}
|
|
||||||
|
|
||||||
; $8EFEF0
|
|
||||||
LDA #$01
|
|
||||||
TSB $50
|
|
||||||
STA $0112
|
|
||||||
RTL
|
|
||||||
|
|
||||||
|
|
||||||
; =============================================================================
|
; =============================================================================
|
||||||
|
|
||||||
@@ -148,122 +28,28 @@ LinkItem_NewBottle:
|
|||||||
; Check if the bottle is empty
|
; Check if the bottle is empty
|
||||||
CMP.b #$03 : BCC .empty_bottle
|
CMP.b #$03 : BCC .empty_bottle
|
||||||
|
|
||||||
; If so, prepare and call the LinkItem_Bottles routine
|
; If no, prepare and call the LinkItem_Bottles routine
|
||||||
JSR LinkItem_Bottles
|
JSL LinkItem_Bottles_Long
|
||||||
|
BRA .exit
|
||||||
|
|
||||||
.empty_bottle
|
.empty_bottle
|
||||||
; Otherwise, prepare and call the LinkItem_BugCatchingNet routien
|
; Otherwise, prepare and call the LinkItem_BugCatchingNet routine
|
||||||
JSR LinkItem_BugCatchingNet
|
JSL LinkItem_BugCatchingNet_Long
|
||||||
|
|
||||||
.exit
|
.exit
|
||||||
RTL
|
RTL
|
||||||
}
|
}
|
||||||
|
|
||||||
; =============================================================================
|
; =============================================================================
|
||||||
|
|
||||||
; *$3A15B-$3A249 JUMP LOCATION
|
org $07FA9F
|
||||||
LinkItem_Bottles:
|
LinkItem_BugCatchingNet_Long:
|
||||||
{
|
{
|
||||||
LDA.b $3A : AND.b #$BF : STA.b $3A
|
PHB : PHK : PLB
|
||||||
|
JSR LinkItem_NewBugCatchingNet
|
||||||
; Check if we have a bottle or not
|
PLB
|
||||||
LDA.l $7EF34F : DEC A : TAX
|
RTL
|
||||||
|
|
||||||
LDA.l $7EF35C, X : BEQ .exit ; (RTS)
|
|
||||||
CMP.b #$03 : BCC .LinkItem_UselessBottle
|
|
||||||
CMP.b #$03 : BEQ .LinkItem_RedPotion
|
|
||||||
CMP.b #$04 : BEQ .LinkItem_GreenPotion
|
|
||||||
CMP.b #$05 : BEQ .LinkItem_BluePotion
|
|
||||||
CMP.b #$06 : BEQ .fairy
|
|
||||||
|
|
||||||
BRL .LinkItem_BeeBottle
|
|
||||||
|
|
||||||
.exit
|
|
||||||
RTS
|
|
||||||
|
|
||||||
.fairy:
|
|
||||||
BRL .LinkItem_FairyBottle
|
|
||||||
|
|
||||||
.LinkItem_RedPotion:
|
|
||||||
LDA.l $7EF36C : CMP.l $7EF36D : BNE .can_drink_red
|
|
||||||
|
|
||||||
.LinkItem_UselessBottle:
|
|
||||||
BRL $07A955 ; LinkGoBeep TODO(scawful): Investigate
|
|
||||||
|
|
||||||
.can_drink_red:
|
|
||||||
LDA.b #$02 : STA.l $7EF35C, X : STZ.w $0301
|
|
||||||
|
|
||||||
LDA.b #$04 : STA.b $11
|
|
||||||
LDA.b $10 : STA.w $010C
|
|
||||||
LDA.b #$0E : STA.b $10
|
|
||||||
LDA.b #$07 : STA.w $0208
|
|
||||||
|
|
||||||
JSL $0DFA58
|
|
||||||
|
|
||||||
RTS
|
|
||||||
|
|
||||||
.LinkItem_GreenPotion:
|
|
||||||
LDA $7EF36E : CMP.b #$80 : BNE .can_drink
|
|
||||||
BRL $07A955 ; LinkGoBeep TODO(scawful): Investigate
|
|
||||||
|
|
||||||
.can_drink:
|
|
||||||
LDA $02 : STA $7EF35C, X : STZ $0301
|
|
||||||
|
|
||||||
; submodule ????
|
|
||||||
LDA.b #$08 : STA $11
|
|
||||||
LDA $10 : STA $010C
|
|
||||||
|
|
||||||
; Go to text mode
|
|
||||||
LDA.b #$0E : STA $10
|
|
||||||
LDA.b #$07 : STA $0208
|
|
||||||
|
|
||||||
JSL $0DFA58 ; RebuildHUD_long TODO(scawful)
|
|
||||||
BRA .bottle_exit
|
|
||||||
|
|
||||||
.LinkItem_BluePotion:
|
|
||||||
LDA $7EF36C : CMP $7EF36D : BNE .useBluePotion
|
|
||||||
LDA $7EF36E : CMP.b #$80 : BNE .useBluePotion
|
|
||||||
BRL $07A955
|
|
||||||
|
|
||||||
.useBluePotion
|
|
||||||
LDA.b #$02 : STA $7EF35C, X : STZ $0301
|
|
||||||
|
|
||||||
; more submodule code
|
|
||||||
LDA.b #$09 : STA.b $11
|
|
||||||
LDA.b $10 : STA.w $010C
|
|
||||||
|
|
||||||
; Go to text mode (?)
|
|
||||||
LDA.b #$0E : STA.b $10
|
|
||||||
LDA.b #$07 : STA.w $0208
|
|
||||||
|
|
||||||
JSL $0DFA58 ; RebuildHUD_Long TODO(scawful)
|
|
||||||
BRA .bottle_exit
|
|
||||||
|
|
||||||
.LinkItem_FairyBottle:
|
|
||||||
STZ.w $0301
|
|
||||||
JSL PlayerItem_SpawnFaerie : BPL .BRANCH_NU
|
|
||||||
BRL $07A955
|
|
||||||
|
|
||||||
.BRANCH_NU:
|
|
||||||
LDA.b #$02 : STA.l $7EF35C, X
|
|
||||||
JSL $0DFA58 ; RebuildHUD_Long TODO(scawful)
|
|
||||||
BRA .bottle_exit
|
|
||||||
|
|
||||||
.LinkItem_BeeBottle:
|
|
||||||
STZ.w $0301
|
|
||||||
JSL PlayerItem_ReleaseBee : BPL .bee_spawn_success
|
|
||||||
BRL $07A955 ; LinkGoBeep
|
|
||||||
|
|
||||||
.bee_spawn_success
|
|
||||||
LDA.b #$02 : STA.l $7EF35C, X
|
|
||||||
JSL $0DFA58 ; RebuildHUD_Long TODO(scawful)
|
|
||||||
|
|
||||||
.bottle_exit:
|
|
||||||
RTS
|
|
||||||
}
|
}
|
||||||
|
|
||||||
; =============================================================================
|
|
||||||
|
|
||||||
pose_id:
|
pose_id:
|
||||||
db $0B, $06, $07, $08, $01, $02, $03, $04, $05, $06 ; up
|
db $0B, $06, $07, $08, $01, $02, $03, $04, $05, $06 ; up
|
||||||
db $01, $02, $03, $04, $05, $06, $07, $08, $01, $02 ; down
|
db $01, $02, $03, $04, $05, $06, $07, $08, $01, $02 ; down
|
||||||
@@ -277,8 +63,15 @@ pose_offset:
|
|||||||
db $1E ; right
|
db $1E ; right
|
||||||
|
|
||||||
; *$3AFF8-$3B072 LOCAL
|
; *$3AFF8-$3B072 LOCAL
|
||||||
LinkItem_BugCatchingNet:
|
|
||||||
|
LinkItem_NewBugCatchingNet:
|
||||||
{
|
{
|
||||||
|
BIT $3A : BVS .y_press
|
||||||
|
|
||||||
|
LDA $6C : BNE .bottle_exit ; (RTS)
|
||||||
|
|
||||||
|
JSR Link_CheckNewY_ButtonPress : BCC .bottle_exit ; (RTS)
|
||||||
|
|
||||||
LDA $2F : LSR A : TAY
|
LDA $2F : LSR A : TAY
|
||||||
LDX pose_offset, Y
|
LDX pose_offset, Y
|
||||||
LDA pose_id, X : STA $0300
|
LDA pose_id, X : STA $0300
|
||||||
@@ -291,20 +84,20 @@ LinkItem_BugCatchingNet:
|
|||||||
|
|
||||||
STZ $2E
|
STZ $2E
|
||||||
|
|
||||||
; LDA.b #$32 : JSL Player_DoSfx2
|
LDA.b #$32 : JSR Player_DoSfx2
|
||||||
|
|
||||||
.y_press:
|
.y_press:
|
||||||
|
|
||||||
JSR Unknown ; $3AE65 IN ROM
|
JSR Unknown ; $3AE65 IN ROM
|
||||||
|
|
||||||
LDA $67 : AND.b #$F0 : STA $67
|
LDA $67 : AND.b #$F0 : STA $67
|
||||||
DEC $3D : BPL .BRANCH_BETA
|
DEC $3D : BPL .bottle_exit
|
||||||
LDX $030D : INX : STX $030D
|
LDX $030D : INX : STX $030D
|
||||||
LDA.b #$03 : STA $3D
|
LDA.b #$03 : STA $3D
|
||||||
LDA $2F : LSR A : TAY
|
LDA $2F : LSR A : TAY
|
||||||
LDA pose_offset, Y : CLC : ADC $030D : TAY
|
LDA pose_offset, Y : CLC : ADC $030D : TAY
|
||||||
LDA pose_id, Y : STA $0300
|
LDA pose_id, Y : STA $0300
|
||||||
CPX.b #$0A : BNE .BRANCH_BETA
|
CPX.b #$0A : BNE .bottle_exit
|
||||||
|
|
||||||
STZ $030D
|
STZ $030D
|
||||||
STZ $0300
|
STZ $0300
|
||||||
@@ -315,7 +108,7 @@ LinkItem_BugCatchingNet:
|
|||||||
LDA $50 : AND.b #$FE : STA $50
|
LDA $50 : AND.b #$FE : STA $50
|
||||||
LDA.b #$80 : STA $44 : STA $45
|
LDA.b #$80 : STA $44 : STA $45
|
||||||
|
|
||||||
.BRANCH_BETA:
|
.bottle_exit:
|
||||||
|
|
||||||
RTS
|
RTS
|
||||||
}
|
}
|
||||||
@@ -341,9 +134,122 @@ Unknown:
|
|||||||
|
|
||||||
STZ $67
|
STZ $67
|
||||||
|
|
||||||
.BRANCH_BETA:
|
.BRANCH_BETA:
|
||||||
|
NetExit:
|
||||||
RTS
|
RTS
|
||||||
}
|
}
|
||||||
|
|
||||||
|
print "Next address for jump in bank07: ", pc
|
||||||
|
|
||||||
; =============================================================================
|
; =============================================================================
|
||||||
|
|
||||||
|
org $07FB71
|
||||||
|
LinkItem_Bottles_Long:
|
||||||
|
{
|
||||||
|
PHB : PHK : PLB
|
||||||
|
JSR LinkItem_Bottles
|
||||||
|
PLB
|
||||||
|
RTL
|
||||||
|
}
|
||||||
|
|
||||||
|
LinkItem_Bottles:
|
||||||
|
{
|
||||||
|
JSR Link_CheckNewY_ButtonPress : BCC NetExit ; (RTS)
|
||||||
|
|
||||||
|
LDA.b $3A : AND.b #$BF : STA.b $3A
|
||||||
|
|
||||||
|
; Check if we have a bottle or not
|
||||||
|
LDA.l $7EF34F : DEC A : TAX
|
||||||
|
|
||||||
|
LDA.l $7EF35C, X : BEQ NetExit ; (RTS)
|
||||||
|
CMP.b #$03 : BCC .LinkItem_UselessBottle
|
||||||
|
CMP.b #$03 : BEQ .LinkItem_RedPotion
|
||||||
|
CMP.b #$04 : BEQ .LinkItem_GreenPotion
|
||||||
|
CMP.b #$05 : BEQ .LinkItem_BluePotion
|
||||||
|
CMP.b #$06 : BEQ .fairy
|
||||||
|
|
||||||
|
BRL .LinkItem_BeeBottle
|
||||||
|
|
||||||
|
.fairy:
|
||||||
|
BRL .LinkItem_FairyBottle
|
||||||
|
|
||||||
|
.LinkItem_RedPotion:
|
||||||
|
LDA.l $7EF36C : CMP.l $7EF36D : BNE .can_drink_red
|
||||||
|
|
||||||
|
.LinkItem_UselessBottle:
|
||||||
|
BRL $07A955 ; LinkGoBeep TODO(scawful): Investigate
|
||||||
|
|
||||||
|
.can_drink_red:
|
||||||
|
LDA.b #$02 : STA.l $7EF35C, X : STZ.w $0301
|
||||||
|
|
||||||
|
LDA.b #$04 : STA.b $11
|
||||||
|
LDA.b $10 : STA.w $010C
|
||||||
|
LDA.b #$0E : STA.b $10
|
||||||
|
LDA.b #$07 : STA.w $0208
|
||||||
|
|
||||||
|
JSL $0DFA58
|
||||||
|
|
||||||
|
RTS
|
||||||
|
|
||||||
|
.LinkItem_GreenPotion:
|
||||||
|
JSR $A1A9
|
||||||
|
LDA $7EF36E : CMP.b #$80 : BNE .can_drink
|
||||||
|
BRL $07A955 ; LinkGoBeep TODO(scawful): Investigate
|
||||||
|
|
||||||
|
.can_drink:
|
||||||
|
LDA $02 : STA $7EF35C, X : STZ $0301
|
||||||
|
|
||||||
|
; submodule ????
|
||||||
|
LDA.b #$08 : STA $11
|
||||||
|
LDA $10 : STA $010C
|
||||||
|
|
||||||
|
; Go to text mode
|
||||||
|
LDA.b #$0E : STA $10
|
||||||
|
LDA.b #$07 : STA $0208
|
||||||
|
|
||||||
|
JSL $0DFA58 ; RebuildHUD_long TODO(scawful)
|
||||||
|
RTS
|
||||||
|
|
||||||
|
.LinkItem_BluePotion:
|
||||||
|
LDA $7EF36C : CMP $7EF36D : BNE .useBluePotion
|
||||||
|
LDA $7EF36E : CMP.b #$80 : BNE .useBluePotion
|
||||||
|
BRL $07A955
|
||||||
|
|
||||||
|
.useBluePotion
|
||||||
|
LDA.b #$02 : STA $7EF35C, X : STZ $0301
|
||||||
|
|
||||||
|
; more submodule code
|
||||||
|
LDA.b #$09 : STA.b $11
|
||||||
|
LDA.b $10 : STA.w $010C
|
||||||
|
|
||||||
|
; Go to text mode (?)
|
||||||
|
LDA.b #$0E : STA.b $10
|
||||||
|
LDA.b #$07 : STA.w $0208
|
||||||
|
|
||||||
|
JSL $0DFA58 ; RebuildHUD_Long TODO(scawful)
|
||||||
|
RTS
|
||||||
|
|
||||||
|
.LinkItem_FairyBottle:
|
||||||
|
STZ.w $0301
|
||||||
|
JSL PlayerItem_SpawnFaerie : BPL .BRANCH_NU
|
||||||
|
BRL $07A955
|
||||||
|
|
||||||
|
.BRANCH_NU:
|
||||||
|
LDA.b #$02 : STA.l $7EF35C, X
|
||||||
|
JSL $0DFA58 ; RebuildHUD_Long TODO(scawful)
|
||||||
|
BRA .bottle_exit
|
||||||
|
|
||||||
|
.LinkItem_BeeBottle:
|
||||||
|
STZ.w $0301
|
||||||
|
JSL PlayerItem_ReleaseBee : BPL .bee_spawn_success
|
||||||
|
BRL $07A955 ; LinkGoBeep
|
||||||
|
|
||||||
|
.bee_spawn_success
|
||||||
|
LDA.b #$02 : STA.l $7EF35C, X
|
||||||
|
JSL $0DFA58 ; RebuildHUD_Long TODO(scawful)
|
||||||
|
|
||||||
|
.bottle_exit:
|
||||||
|
RTS
|
||||||
|
}
|
||||||
|
|
||||||
|
; =============================================================================
|
||||||
@@ -30,8 +30,6 @@ Link_HandleDekuTransformation:
|
|||||||
RTS
|
RTS
|
||||||
}
|
}
|
||||||
|
|
||||||
print "here", pc
|
|
||||||
|
|
||||||
org $07811A
|
org $07811A
|
||||||
JSR Link_HandleDekuTransformation
|
JSR Link_HandleDekuTransformation
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -34,22 +34,10 @@ org $07B073
|
|||||||
org $078028
|
org $078028
|
||||||
Player_DoSfx2:
|
Player_DoSfx2:
|
||||||
|
|
||||||
|
|
||||||
; =============================================================================
|
; =============================================================================
|
||||||
|
|
||||||
org $008827
|
org $008827
|
||||||
JSL StartupMasks
|
JSL StartupMasks
|
||||||
|
|
||||||
org $1BEDF9
|
|
||||||
JSL Palette_ArmorAndGloves ; 4bytes
|
|
||||||
RTL ; 1byte
|
|
||||||
NOP #$01
|
|
||||||
|
|
||||||
org $1BEE1B
|
|
||||||
JSL Palette_ArmorAndGloves_part_two
|
|
||||||
RTL
|
|
||||||
|
|
||||||
; =============================================================================
|
|
||||||
|
|
||||||
org $278000
|
org $278000
|
||||||
StartupMasks:
|
StartupMasks:
|
||||||
@@ -66,16 +54,15 @@ StartupMasks:
|
|||||||
|
|
||||||
; =============================================================================
|
; =============================================================================
|
||||||
|
|
||||||
CancelMask:
|
org $1BEDF9
|
||||||
{
|
JSL Palette_ArmorAndGloves ; 4bytes
|
||||||
JSL Palette_ArmorAndGloves
|
RTL ; 1byte
|
||||||
LDA #$10 : STA $BC : STZ $02B2
|
NOP #$01
|
||||||
|
|
||||||
|
org $1BEE1B
|
||||||
|
JSL Palette_ArmorAndGloves_part_two
|
||||||
RTL
|
RTL
|
||||||
}
|
|
||||||
|
|
||||||
; =============================================================================
|
|
||||||
|
|
||||||
; Code :
|
|
||||||
org $398000
|
org $398000
|
||||||
Palette_ArmorAndGloves:
|
Palette_ArmorAndGloves:
|
||||||
{
|
{
|
||||||
@@ -239,7 +226,54 @@ LinkState_ResetMaskAnimated:
|
|||||||
RTL
|
RTL
|
||||||
}
|
}
|
||||||
|
|
||||||
print "Next address for jump in bank07: ", pc
|
Link_CheckNewL_ButtonPress:
|
||||||
|
{
|
||||||
|
; Check if the L button is already down.
|
||||||
|
BIT $3B : BVS .noNewInput
|
||||||
|
|
||||||
|
; Flag to see if Link is recoiling from damage or other stuff.
|
||||||
|
LDA $46 : BNE .noNewInput
|
||||||
|
|
||||||
|
; Check joypad readings for new input during this frame.
|
||||||
|
LDA $F6 : AND.b #$08 : BEQ .noNewInput ; AND with 00001000 to isolate L
|
||||||
|
|
||||||
|
TSB $3B
|
||||||
|
|
||||||
|
SEC
|
||||||
|
|
||||||
|
RTS
|
||||||
|
|
||||||
|
.noNewInput
|
||||||
|
|
||||||
|
; I'm guessing this is like a cancel indicator.
|
||||||
|
CLC
|
||||||
|
|
||||||
|
RTS
|
||||||
|
}
|
||||||
|
|
||||||
|
Link_CheckNewR_ButtonPress:
|
||||||
|
{
|
||||||
|
; Check if the R button is already down.
|
||||||
|
BIT $3B : BVS .noNewInput
|
||||||
|
|
||||||
|
; Flag to see if Link is recoiling from damage or other stuff.
|
||||||
|
LDA $46 : BNE .noNewInput
|
||||||
|
|
||||||
|
; Check joypad readings for new input during this frame.
|
||||||
|
LDA $F6 : AND.b #$04 : BEQ .noNewInput ; AND with 00000100 to isolate R
|
||||||
|
|
||||||
|
TSB $3B
|
||||||
|
|
||||||
|
SEC
|
||||||
|
|
||||||
|
RTS
|
||||||
|
|
||||||
|
.noNewInput
|
||||||
|
|
||||||
|
; I'm guessing this is like a cancel indicator.
|
||||||
|
CLC
|
||||||
|
|
||||||
|
RTS
|
||||||
|
}
|
||||||
|
|
||||||
; =============================================================================
|
; =============================================================================
|
||||||
@@ -31,6 +31,8 @@ LinkItem_WolfMask:
|
|||||||
{
|
{
|
||||||
LDA $02B2 : CMP #$03 : BNE .equip
|
LDA $02B2 : CMP #$03 : BNE .equip
|
||||||
|
|
||||||
|
; FIXME: activates whenever you press the Y button
|
||||||
|
; needs a delay or something?
|
||||||
JSR LinkItem_Shovel
|
JSR LinkItem_Shovel
|
||||||
|
|
||||||
.equip
|
.equip
|
||||||
@@ -61,6 +63,8 @@ LinkItem_WolfMask:
|
|||||||
RTS
|
RTS
|
||||||
}
|
}
|
||||||
|
|
||||||
|
print "End of LinkItem_WolfMask ", pc
|
||||||
|
|
||||||
; =============================================================================
|
; =============================================================================
|
||||||
|
|
||||||
org $388000
|
org $388000
|
||||||
|
|||||||
@@ -240,3 +240,5 @@ org $0782D2
|
|||||||
org $07C307
|
org $07C307
|
||||||
JSR LinkState_UsingZoraMask_dungeon_stairs
|
JSR LinkState_UsingZoraMask_dungeon_stairs
|
||||||
RTS
|
RTS
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -374,6 +374,7 @@ Menu_ScrollFrom:
|
|||||||
|
|
||||||
Menu_ScrollUp:
|
Menu_ScrollUp:
|
||||||
{
|
{
|
||||||
|
JSL $0DFA58 ; HUD_Rebuild_Long
|
||||||
LDA.b #$12 : STA.w $012F ; play menu exit sound effect
|
LDA.b #$12 : STA.w $012F ; play menu exit sound effect
|
||||||
SEP #$10
|
SEP #$10
|
||||||
REP #$20
|
REP #$20
|
||||||
@@ -396,22 +397,23 @@ Menu_ScrollUp:
|
|||||||
; =============================================================================
|
; =============================================================================
|
||||||
; 09 CHECK BOTTLE
|
; 09 CHECK BOTTLE
|
||||||
|
|
||||||
|
print pc
|
||||||
Menu_CheckBottle:
|
Menu_CheckBottle:
|
||||||
{
|
{
|
||||||
LDA.w $0202 : CMP.b #$06 : BNE .not_first
|
LDA.w $0202 : CMP.b #$06 : BNE .not_first
|
||||||
LDA.b #$01 : BRA .prepare_bottle
|
LDA.b #$0001 : JMP .prepare_bottle
|
||||||
|
|
||||||
.not_first
|
.not_first
|
||||||
LDA.w $0202 : CMP.b #$0C : BNE .not_second
|
LDA.w $0202 : CMP.b #$0C : BNE .not_second
|
||||||
LDA.b #$02 : BRA .prepare_bottle
|
LDA.b #$0002 : JMP .prepare_bottle
|
||||||
|
|
||||||
.not_second
|
.not_second
|
||||||
LDA.w $0202 : CMP.b #$12 : BNE .not_third
|
LDA.w $0202 : CMP.b #$12 : BNE .not_third
|
||||||
LDA.b #$03 : BRA .prepare_bottle
|
LDA.b #$03 : JMP .prepare_bottle
|
||||||
|
|
||||||
.not_third
|
.not_third
|
||||||
LDA.w $0202 : CMP.b #$18 : BNE .not_any
|
LDA.w $0202 : CMP.b #$18 : BNE .not_any
|
||||||
LDA.b #$04 : BRA .prepare_bottle
|
LDA.b #$04
|
||||||
|
|
||||||
.prepare_bottle
|
.prepare_bottle
|
||||||
STA.l $7EF34F
|
STA.l $7EF34F
|
||||||
@@ -427,7 +429,6 @@ Menu_CheckBottle:
|
|||||||
Menu_Exit:
|
Menu_Exit:
|
||||||
{
|
{
|
||||||
JSL LinkState_ResetMaskAnimated
|
JSL LinkState_ResetMaskAnimated
|
||||||
|
|
||||||
REP #$20
|
REP #$20
|
||||||
|
|
||||||
; reset submodule
|
; reset submodule
|
||||||
|
|||||||
@@ -105,7 +105,7 @@ BookGFX:
|
|||||||
; -------------------------------------
|
; -------------------------------------
|
||||||
|
|
||||||
BottlesGFX:
|
BottlesGFX:
|
||||||
dw $2044, $2045, $2046, $2047 ; Mushroom
|
dw $2044, $2045, $2046, $2047 ; Mushroom
|
||||||
dw $2837, $2838, $2CC3, $2CD3 ; Empty bottle
|
dw $2837, $2838, $2CC3, $2CD3 ; Empty bottle
|
||||||
dw $24D2, $64D2, $24E2, $24E3 ; Red potion
|
dw $24D2, $64D2, $24E2, $24E3 ; Red potion
|
||||||
dw $3CD2, $7CD2, $3CE2, $3CE3 ; Green potion
|
dw $3CD2, $7CD2, $3CE2, $3CE3 ; Green potion
|
||||||
|
|||||||
@@ -319,14 +319,27 @@ HUD_UpdateItemBox:
|
|||||||
LDA.w #$0001
|
LDA.w #$0001
|
||||||
|
|
||||||
.bombsNotEquipped
|
.bombsNotEquipped
|
||||||
CPX.w #$0010 : BNE .bottleNotEquipped
|
|
||||||
TXY : TAX : LDA $7EF35B, X : AND.w #$00FF : TYX
|
|
||||||
|
|
||||||
.bottleNotEquipped
|
CPX.w #$0006 : BNE .bottle1NotEquipped
|
||||||
|
JMP .loadBottleContent
|
||||||
|
.bottle1NotEquipped
|
||||||
|
CPX.w #$000C : BNE .bottle2NotEquipped
|
||||||
|
LDA.w #$0002
|
||||||
|
JMP .loadBottleContent
|
||||||
|
.bottle2NotEquipped
|
||||||
|
CPX.w #$0012 : BNE .bottle3NotEquipped
|
||||||
|
LDA.w #$0003
|
||||||
|
JMP .loadBottleContent
|
||||||
|
.bottle3NotEquipped
|
||||||
|
CPX.w #$0018 : BNE .bottleNotEquipped
|
||||||
|
LDA.w #$0004
|
||||||
|
.loadBottleContent
|
||||||
|
TXY : TAX : LDA $7EF35B, X : AND.w #$00FF : TYX
|
||||||
|
|
||||||
|
.bottleNotEquipped
|
||||||
STA $02
|
STA $02
|
||||||
TXA : DEC A : ASL A : TAX
|
TXA : DEC A : ASL A : TAX
|
||||||
LDA $FA93, X : STA $04
|
LDA $FA93, X : STA $04
|
||||||
; LDA.w HudItems, X : STA $04
|
|
||||||
LDA $02 : ASL #3 : TAY
|
LDA $02 : ASL #3 : TAY
|
||||||
|
|
||||||
; These addresses form the item box graphics.
|
; These addresses form the item box graphics.
|
||||||
@@ -412,15 +425,6 @@ HexToDecimal:
|
|||||||
|
|
||||||
; =============================================================================
|
; =============================================================================
|
||||||
|
|
||||||
; 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
|
; $6FA93-$6FAFC DATA
|
||||||
org $0DFA93
|
org $0DFA93
|
||||||
HudItems:
|
HudItems:
|
||||||
@@ -431,13 +435,70 @@ HudItems:
|
|||||||
dw $F701, $F6F1, $F6A1, $F6B1, $F7C9, $F751
|
dw $F701, $F6F1, $F6A1, $F6B1, $F7C9, $F751
|
||||||
; flute, book, somaria, byrna, feather, bottle3
|
; flute, book, somaria, byrna, feather, bottle3
|
||||||
dw $F711, $F741, $F799, $F7A9, $F731, $F751
|
dw $F711, $F741, $F799, $F7A9, $F731, $F751
|
||||||
; bombos, quake, ether, stone mask
|
; deku, zora, wolf, bunny, stne
|
||||||
dw $F6E1, $F6C1, $F6D1, $F7B9, $F811, $F751
|
dw $F6E1, $F821, $F6D1, $F7B9, $F811, $F751
|
||||||
}
|
}
|
||||||
|
|
||||||
|
org $0DF751
|
||||||
|
dw $20F5, $20F5, $20F5, $20F5 ; No bottle
|
||||||
|
dw $2044, $2045, $2046, $2047 ; Mushroom
|
||||||
|
dw $2837, $2838, $2CC3, $2CD3 ; Empty bottle
|
||||||
|
dw $24D2, $64D2, $24E2, $24E3 ; Red potion
|
||||||
|
dw $3CD2, $7CD2, $3CE2, $3CE3 ; Green potion
|
||||||
|
dw $2CD2, $6CD2, $2CE2, $2CE3 ; Blue potion
|
||||||
|
dw $2855, $6855, $2C57, $2C5A ; Fairy
|
||||||
|
dw $2837, $2838, $2839, $283A ; Bee
|
||||||
|
dw $2837, $2838, $2839, $283A ; Good bee
|
||||||
|
|
||||||
|
; Boomerang
|
||||||
org $0DF651
|
org $0DF651
|
||||||
dw $2CB8, $2CB9, $2CF5, $2CC9 ; Blue boomerang
|
dw $20F5, $20F5, $20F5, $20F5 ; No boomerang
|
||||||
dw $24B8, $24B9, $24F5, $24C9 ; Red boomerang
|
dw $2CB8, $2CB9, $2CC9, $ACB9 ; Blue boomerang
|
||||||
|
dw $24B8, $24B9, $24C9, $A4B9 ; Red boomerang
|
||||||
|
|
||||||
|
; Powder
|
||||||
|
org $0DF689
|
||||||
|
dw $20F5, $20F5, $20F5, $20F5 ; No powder
|
||||||
|
dw $2444, $2445, $2446, $2447 ; Mushroom
|
||||||
|
dw $283B, $283C, $283D, $283E ; Powder
|
||||||
|
|
||||||
|
; Hammer
|
||||||
|
org $0DF701
|
||||||
|
dw $20F5, $20F5, $20F5, $20F5 ; No
|
||||||
|
dw $24B6, $24B7, $20C6, $24C7 ; Hammer
|
||||||
|
|
||||||
|
; Mirror
|
||||||
|
org $0DF7C9
|
||||||
|
dw $20F5, $20F5, $20F5, $20F5 ; No 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 $0DF6E1
|
||||||
|
dw $20F5, $20F5, $20F5, $20F5 ; No bombos
|
||||||
|
dw $2066, $6066, $2076, $6076 ; Deku Mask
|
||||||
|
|
||||||
|
; Zora
|
||||||
|
org $0DF821
|
||||||
|
dw $20F5, $20F5, $20F5, $20F5
|
||||||
|
dw $2C88, $6C88, $2C89, $6C89
|
||||||
|
dw $2C88, $6C88, $2C89, $6C89
|
||||||
|
|
||||||
|
; Wolf
|
||||||
|
org $0DF6D1
|
||||||
|
dw $3086, $7086, $3087, $7087
|
||||||
|
|
||||||
|
; Bunny
|
||||||
|
org $0DF7B9
|
||||||
|
dw $3469, $7469, $3479, $7479
|
||||||
|
|
||||||
|
; Stone Mask
|
||||||
|
org $0DF811
|
||||||
|
dw $20F5, $20F5, $20F5, $20F5
|
||||||
|
dw $30B4, $30B5, $30C4, $30C5
|
||||||
|
|
||||||
; =============================================================================
|
; =============================================================================
|
||||||
; $6FE77-$6FFC0
|
; $6FE77-$6FFC0
|
||||||
@@ -462,7 +523,7 @@ HUD_Tilemap:
|
|||||||
dw $201B, $344B
|
dw $201B, $344B
|
||||||
dw $344B, $344B, $344B, $344B
|
dw $344B, $344B, $344B, $344B
|
||||||
|
|
||||||
; item frame left part
|
; item frame left part
|
||||||
dw $20DE, $207F, $207F, $20DF
|
dw $20DE, $207F, $207F, $20DF
|
||||||
|
|
||||||
dw $207F, $207F, $207F, $207F, $207F, $207F, $207F, $207F
|
dw $207F, $207F, $207F, $207F, $207F, $207F, $207F, $207F
|
||||||
|
|||||||
Reference in New Issue
Block a user