Finish pseudoflute

This commit is contained in:
2025-12-13 22:48:03 -06:00
parent 74d9c72cc8
commit a6ad4c082b
4 changed files with 58 additions and 1 deletions

View File

@@ -248,8 +248,12 @@ DrawPlayerFileShared:
; Flute ; Flute
LDA.l InventoryTrackingSRAM : AND.w #$0003 : BEQ + LDA.l InventoryTrackingSRAM : AND.w #$0003 : BEQ +
LDA.l $7003C2 : AND.w #$00FF : CMP.w #$00FF : BNE .pseudo
%fs_drawItem(7,16,FileSelectItems_flute) %fs_drawItem(7,16,FileSelectItems_flute)
BRA ++ BRA ++
.pseudo
%fs_drawItem(7,16,FileSelectItems_flute_green)
BRA ++
+ +
%fs_drawItemGray(7,16,FileSelectItems_flute) %fs_drawItemGray(7,16,FileSelectItems_flute)
++ ++
@@ -539,6 +543,8 @@ FileSelectItems:
dw #$0264|!FS_COLOR_BROWN, #$0265|!FS_COLOR_BROWN, #$0274|!FS_COLOR_BROWN, #$0275|!FS_COLOR_BROWN dw #$0264|!FS_COLOR_BROWN, #$0265|!FS_COLOR_BROWN, #$0274|!FS_COLOR_BROWN, #$0275|!FS_COLOR_BROWN
.flute .flute
dw #$0266|!FS_COLOR_BLUE, #$0267|!FS_COLOR_BLUE, #$0276|!FS_COLOR_BLUE, #$0277|!FS_COLOR_BLUE dw #$0266|!FS_COLOR_BLUE, #$0267|!FS_COLOR_BLUE, #$0276|!FS_COLOR_BLUE, #$0277|!FS_COLOR_BLUE
.flute_green
dw #$0266|!FS_COLOR_GREEN, #$0267|!FS_COLOR_GREEN, #$0276|!FS_COLOR_GREEN, #$0277|!FS_COLOR_GREEN
.book .book
dw #$026A|!FS_COLOR_GREEN, #$026B|!FS_COLOR_GREEN, #$027A|!FS_COLOR_GREEN, #$027B|!FS_COLOR_GREEN dw #$026A|!FS_COLOR_GREEN, #$026B|!FS_COLOR_GREEN, #$027A|!FS_COLOR_GREEN, #$027B|!FS_COLOR_GREEN
.redcane .redcane

View File

@@ -2807,3 +2807,14 @@ org $82A9A1 ; bank_02.asm@7655 (STA.b $8A : STA.w $040A)
JSL CheckTransitionOverworld JSL CheckTransitionOverworld
NOP NOP
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------
org $8DF741
dw $3CD4, $3CD5, $3CE4, $3CE5
;--------------------------------------------------------------------------------
org $8DE58E ; bank_0D.asm@15401 (AND.w #$00FF : STA.b $02)
JSL DrawFluteIcon
NOP
;--------------------------------------------------------------------------------
org $8DFB63 ; bank_0D.asm@18092 (LDA.l $7EF33F, X : AND.w #$00FF)
JSL CheckFluteInHUD
NOP #3
;--------------------------------------------------------------------------------

View File

@@ -188,10 +188,12 @@ ItemBehavior:
BRA .store_inventory_tracking BRA .store_inventory_tracking
.flute_inactive .flute_inactive
LDA.b #$FF : STA.l FluteBitfield
LDA.l InventoryTracking : ORA.b #$02 LDA.l InventoryTracking : ORA.b #$02
BRA .store_inventory_tracking BRA .store_inventory_tracking
.flute_active .flute_active
LDA.b #$FF : STA.l FluteBitfield
LDA.l InventoryTracking : ORA.b #$01 LDA.l InventoryTracking : ORA.b #$01
BRA .store_inventory_tracking BRA .store_inventory_tracking

View File

@@ -1,7 +1,9 @@
SelectFirstFluteSpot: SelectFirstFluteSpot:
LDA.l FluteBitfield LDA.l FluteBitfield
BNE .try_next BNE +
RTL RTL
+ LDA.b #$07
STA.w $1AF0
.try_next .try_next
LDA.w $1AF0 LDA.w $1AF0
INC A INC A
@@ -110,3 +112,39 @@ CheckTransitionOverworld:
STA.b $8A STA.b $8A
STA.w $040A ; what we wrote over STA.w $040A ; what we wrote over
JML MaybeMarkFluteSpotVisited JML MaybeMarkFluteSpotVisited
DrawFluteIcon:
AND.w #$00FF
CMP.w #$0002
BCC .write
LDA.l FluteBitfield
AND.w #$00FF
CMP.w #$00FF
BNE .pseudo
.real
LDA.w #$0003
BRA .write
.pseudo
LDA.w #$0002
.write
STA.b $02
RTL
CheckFluteInHUD:
LDA.l $7EF33F, X
AND.w #$00FF ; what we wrote over
CPX.w #$000D
BNE .done
CMP.w #$0002
BCC .done
LDA.l FluteBitfield
AND.w #$00FF
CMP.w #$00FF
BNE .pseudo
.real
LDA.w #$0003
BRA .done
.pseudo
LDA.w #$0002
.done
RTL