Format fishing rod code

This commit is contained in:
scawful
2024-02-24 08:15:20 -05:00
parent 253fe3174d
commit 35d87ec280

View File

@@ -9,24 +9,25 @@
; $7F5BA2 RAM for fishing mode - 1 = rod out, 2 = pull ; $7F5BA2 RAM for fishing mode - 1 = rod out, 2 = pull
; $7F5BA3 RAM Index for the fishing floater ; $7F5BA3 RAM Index for the fishing floater
; Modify the code of the sprite "RunningBoy" 0x74 ; Modify the code of the sprite "RunningBoy" 0x74
;===================================================== ; =========================================================
; Values ; Values
;#$400 ; to show fishing hud ;#$400 ; to show fishing hud
;#$14A ; only the hud ;#$14A ; only the hud
; ================= USED FOR THE FLOATER ================== ; ================= USED FOR THE FLOATER ==================
;(could probably be changed to something else)
org $06C058 ; JSL Sprite_74_RunningBoy org $06C058 ; JSL Sprite_74_RunningBoy
; org $1E9A6D ; Sprite_9F_HauntedGroveRabbit {
JSL FloaterBoySpriteCheck JSL FloaterBoySpriteCheck
RTS RTS
}
org $07AF3E ; Cane of Byrna - End: $07AFB4
;org $07A569 ; Bombos code ; could be changed just need to replace the org with the item you want LinkItem_CaneOfByrna:
org $07AF3E ; Cane of Byrna {
JSL FishingRod JSL FishingRod
RTS RTS
}
pullpc pullpc
@@ -207,38 +208,25 @@ incbin gfx/hammergfx.bin
CheckYButtonPress: CheckYButtonPress:
BIT.b $3A {
BVS .fail BIT.b $3A : BVS .fail
LDA.b $46 : BNE .fail
LDA.b $46 LDA.b $F4 : AND.b #$40 : BEQ .fail
BNE .fail
LDA.b $F4
AND.b #$40
BEQ .fail
TSB.b $3A TSB.b $3A
SEC SEC
RTS RTS
.fail .fail
CLC CLC
RTS RTS
}
AltLinkUsingItem: AltLinkUsingItem:
LDA.b $AD {
CMP.b #$02 LDA.b $AD : CMP.b #$02 : BNE .skip
BNE .skip
LDA.w $0322 LDA.w $0322 : AND.b #$03 : CMP.b #$03 : BNE .skip
AND.b #$03
CMP.b #$03
BNE .skip
STZ.b $30 STZ.b $30
STZ.b $31 STZ.b $31
@@ -251,16 +239,16 @@ STZ.b $2B
STZ.b $6B STZ.b $6B
.skip .skip
LDA.w $02F5 LDA.w $02F5 : BEQ .return
BEQ .return
STZ.b $67 STZ.b $67
.return .return
RTS RTS
}
FishingSwapCaneBlockHammerGfx: FishingSwapCaneBlockHammerGfx:
{
PHX ; keep X PHX ; keep X
PHP ; keep processor byte PHP ; keep processor byte
@@ -276,8 +264,10 @@ BPL --
PLP PLP
PLX PLX
RTL RTL
}
RestoreCaneBlockHammerGfx: RestoreCaneBlockHammerGfx:
{
PHX ; keep X PHX ; keep X
PHP ; keep processor byte PHP ; keep processor byte
@@ -294,11 +284,13 @@ BPL --
PLP PLP
PLX PLX
RTL RTL
}
FloaterBoySpriteCheck: FloaterBoySpriteCheck:
{
LDA.w $0E70, X : BEQ .noThatsRunningBoy LDA.w $0E70, X : BEQ .noThatsRunningBoy
PHB : PHK : PLB PHB : PHK : PLB
JSR Sprite_Floater JSR Sprite_Floater
@@ -307,9 +299,10 @@ RTL
.noThatsRunningBoy .noThatsRunningBoy
JSL $05E8A2 ; Sprite_74_RunningBoy JSL $05E8A2 ; Sprite_74_RunningBoy
RTL RTL
}
Sprite_CheckIfActive: Sprite_CheckIfActive:
{
LDA.w $0FC1 ; Remove that if want to be able to pause all other sprites LDA.w $0FC1 ; Remove that if want to be able to pause all other sprites
BNE .inactive BNE .inactive
@@ -328,10 +321,12 @@ PLA
.active .active
RTS RTS
}
;====================================================================== ;======================================================================
;Floater sprite code ;Floater sprite code
SpritePrep_Floater: SpritePrep_Floater:
{
LDA.b $66 : CMP.b #$03 : BNE .notRight LDA.b $66 : CMP.b #$03 : BNE .notRight
LDA.b #$12 : STA.w $0D50, X ; XSpeed LDA.b #$12 : STA.w $0D50, X ; XSpeed
BRA .DoInitFloater BRA .DoInitFloater
@@ -362,11 +357,12 @@ LDA.b #$00 : STA.w $0DB0, X ; if we have a fish on line
;$0EE0 Timer for when floater is in water waiting for a fish to catch ;$0EE0 Timer for when floater is in water waiting for a fish to catch
RTL RTL
}
;--------------------------------------------------------------------- ;---------------------------------------------------------------------
Sprite_Floater: Sprite_Floater:
{
; Floater Draw, allocate 4 tiles to use for the hud ; Floater Draw, allocate 4 tiles to use for the hud
LDA $0ED0, X : BEQ + LDA $0ED0, X : BEQ +
JSL $059FFA ; draw water ripple JSL $059FFA ; draw water ripple
@@ -496,46 +492,36 @@ JSL $1EA820 ; Sprite_SpawnSmallSplash
LDA.b #$01 : STA.w $0E70, X ; restore floater sprite seems to be overwriten LDA.b #$01 : STA.w $0E70, X ; restore floater sprite seems to be overwriten
RTS RTS
}
Sprite_Floater_Draw: Sprite_Floater_Draw:
{
LDA.b #$4 ; 1 oam slots LDA.b #$4 ; 1 oam slots
JSL $0DBA88 ; SpriteDraw_AllocateOAMFromRegionC JSL $0DBA88 ; SpriteDraw_AllocateOAMFromRegionC
JSL $06E416 ; Sprite_PrepOamCoord JSL $06E416 ; Sprite_PrepOamCoord
REP #$20 REP #$20
LDA.b $00 LDA.b $00 : STA.b ($90),Y
STA.b ($90),Y CLC : AND.w #$0100 : STA.b $0E
CLC LDA.b $02 : INY
AND.w #$0100
STA.b $0E
LDA.b $02
INY
STA.b ($90),Y STA.b ($90),Y
CMP.w #$0100 CMP.w #$0100
SEP #$20 SEP #$20
BCC .on_screen BCC .on_screen
LDA.b #$F0 LDA.b #$F0 : STA.b ($90),Y
STA.b ($90),Y
.on_screen .on_screen
LDA.b #$0C LDA.b #$0C : INY : STA.b ($90),Y
INY
STA.b ($90),Y
LDA.b #$32 LDA.b #$32 : INY : STA.b ($90),Y
INY
STA.b ($90),Y
LDA.b #$02 LDA.b #$02 : STA.b ($92)
STA.b ($92)
RTS RTS
}
WigglingTable: WigglingTable: