equip mask fix, wolf mask hook, include boat gfx

This commit is contained in:
scawful
2022-12-21 12:33:32 -05:00
parent fbabd08dbb
commit 2833312b98
5 changed files with 112 additions and 63 deletions

View File

@@ -24,21 +24,21 @@ org $07A494
LinkItem_Ether:
{
JSR Link_CheckNewY_ButtonPress : BCC .return
LDA $3A : AND.b #$BF : STA $3A ; clear the Y button state
LDA $6C : BNE .return ; doorway
LDA $0FFC : BNE .return ; cant open menu
LDY.b #$04
LDA.b #$23
LDA $6C : BNE .return ; in a doorway
LDA $0FFC : BNE .return ; can't open menu
LDY.b #$04 : LDA.b #$23
JSL AddTransformationCloud
LDA $02B2 : CMP #$01 : BNE .continue ; is the hood already on?
LDA #$10 : STA $BC ; take the hood off
STZ $02B2
BRA .return ; do not.
.continue
LDA #$37 : STA $BC
LDA #$01 : STA $02B2 ; set the bunny hood on
LDA.b #$14 : JSR Player_DoSfx2
LDA $02B2 : CMP #$04 : BEQ .unequip ; is the hood already on?
LDA #$37 : STA $BC ; change link's sprite
LDA #$04 : STA $02B2
BRA .return
.unequip
LDA #$10 : STA $BC : STZ $02B2 ; take the hood off
.return
CLC
@@ -48,37 +48,30 @@ LinkItem_Ether:
org $378000
incbin bunny_link.4bpp
namespace BunnyHood
{
Main:
{
lorom
org $87E330
JSR $FD66
CLC
org $87FD66
JSL $20AF20
RTS
org $87E330
JSR $FD66
CLC
org $20AF20
CPX.b #$11 : BCS end ; speed value upper bound check
LDA.w $0202 ; check the current item
CMP.b #$16 : BNE end ; is it the bunny hood?
LDA.w $02B2 ; did you put it on?
BEQ end
LDA $20AF70,X ; load new speed values
CLC
RTL
org $87FD66
JSL $20AF20
RTS
end: {
LDA $87E227,X ; load native speed values
CLC
RTL
}
org $20AF20
CPX.b #$11 : BCS end ; speed value upper bound check
LDA.w $0202 ; check the current item
CMP.b #$16 : BNE end ; is it the bunny hood?
LDA.w $02B2 ; did you put it on?
BEQ end
LDA $20AF70,X ; load new speed values
CLC
RTL
org $20AF70 ; this selects the new speed values
db $20, $12, $0a, $18, $10, $08, $08, $04, $0c, $10, $09, $19, $14, $0d, $10, $08, $40
} ; label Main
end: {
LDA $87E227,X ; load native speed values
CLC
RTL
}
} ; namespace BunnyHood
org $20AF70 ; this selects the new speed values
db $20, $12, $0a, $18, $10, $08, $08, $04, $0c, $10, $09, $19, $14, $0d, $10, $08, $40

View File

@@ -4,30 +4,43 @@ incsrc "../Sprites/sprite_functions_hooks.asm"
org $008A01
LDA $BC
; =============================================================================
org $07A64B
LinkItem_Quake:
{
JSR Link_CheckNewY_ButtonPress : BCC .return
LDA $3A : AND.b #$BF : STA $3A ; clear the Y button state
LDA $6C : BNE .return ; doorway
LDA $6C : BNE .return ; in a doorway
LDA $0FFC : BNE .return ; can't open menu
LDA $0FFC : BNE .return ; cantopen menu
LDY.b #$04
LDA.b #$23
LDY.b #$04 : LDA.b #$23
JSL AddTransformationCloud
LDA.b #$14 : JSR Player_DoSfx2
LDA #$35 : STA $BC
LDA $02B2 : CMP #$01 : BEQ .unequip ; is the deku mask on?
LDA #$35 : STA $BC ; put the mask on
LDA #$01 : STA $02B2
BRA .return
.unequip
LDA #$10 : STA $BC : STZ $02B2 ; take the mask off
.return
RTS
}
; =============================================================================
org $358000
incbin deku_link.bin
; =============================================================================
org $1BEDF9
JSL Palette_ArmorAndGloves ; 4bytes
RTL ; 1byte
@@ -37,6 +50,8 @@ org $1BEE1B
JSL Palette_ArmorAndGloves_part_two
RTL
; =============================================================================
; Code :
org $308000
Palette_ArmorAndGloves:
@@ -92,14 +107,13 @@ Palette_ArmorAndGloves:
RTL
}
; org $07A666
; Deku_Entry:
; {
; LDA.b #$20 : STA $BC
; STA $7EC178
; JSL Palette_ArmorAndGloves
; STZ $0710
; STA $7EC178
; JSL Palette_ArmorAndGloves
; STZ $0710
; RTS
; }

View File

@@ -1,9 +1,41 @@
org $318000
LinkItem_WolfMask:
{
org $07A3DB
LinkItem_Flute:
org $07A313
LinkItem_ShovelAndFlute:
{
; Play flute or use the Wolf Mask
LDA $0202 : CMP.b #$0D : BNE LinkItem_WolfMask
BRL LinkItem_Flute
}
; TODO: Make sure there's no inaccessible code issues past here
; LinkItem_Shovel
org $07A32C
LinkItem_WolfMask:
{
JSR Link_CheckNewY_ButtonPress : BCC .return
LDA $3A : AND.b #$BF : STA $3A ; clear the Y button state
LDA $6C : BNE .return ; in a doorway
LDA $0FFC : BNE .return ; can't open menu
LDY.b #$04 : LDA.b #$23
JSL AddTransformationCloud
LDA.b #$14 : JSR Player_DoSfx2
LDA $02B2 : CMP #$03 : BEQ .unequip ; is the wolf mask already on?
LDA #$38 : STA $BC ; change link's sprite
LDA #$03 : STA $02B2
BRA .return
.unequip
LDA #$10 : STA $BC : STZ $02B2 ; take the mask off
.return
CLC
RTS
}
org $388000
incbin wolf_link.4bpp

View File

@@ -4,21 +4,24 @@ org $07A569
LinkItem_ZoraMask:
{
JSR Link_CheckNewY_ButtonPress : BCC .return
LDA $3A : AND.b #$BF : STA $3A ; clear the Y button state
LDA $6C : BNE .return ; doorway
LDA $6C : BNE .return ; in a doorway
LDA $0FFC : BNE .return ; can't open menu
LDA $0FFC : BNE .return ; cantopen menu
LDY.b #$04
LDA.b #$23
LDY.b #$04 : LDA.b #$23
JSL AddTransformationCloud
LDA.b #$14 : JSR Player_DoSfx2
LDA $02B2 : CMP #$02 : BEQ .unequip ; is the zora mask on?
LDA #$36 : STA $BC
LDA #$02 : STA $02B2
BRA .return
.unequip
LDA #$10 : STA $BC : STZ $02B2 ; take the mask off
.return
CLC
RTS
}

View File

@@ -22,6 +22,9 @@ namespace Oracle
incsrc "Util/ram.asm"
incsrc "Util/functions.asm"
incsrc "Graphics/boat_gfx.asm"
print "End of Graphics/boat_gfx.asm ", pc
; ---------------------------------------------------------
incsrc "KeyBlock/keyblock.asm"
print "End of KeyBlock/keyblock.asm ", pc
@@ -61,15 +64,19 @@ namespace Oracle
; ---------------------------------------------------------
incsrc "Masks/mask_routines.asm"
; ---------------------------------------------------------
incsrc "Masks/deku_mask.asm"
print "End of Masks/deku_mask.asm ", pc
; ---------------------------------------------------------
incsrc "Masks/zora_mask.asm"
print "End of Masks/zora_mask.asm ", pc
; ---------------------------------------------------------
incsrc "Masks/wolf_mask.asm"
print "End of Masks/wolf_mask.asm ", pc
; ---------------------------------------------------------
incsrc "Masks/bunny_hood.asm"
print "End of Masks/bunny_hood.asm ", pc