wolf mask shovel code, zora mask labels
This commit is contained in:
@@ -1,3 +1,7 @@
|
||||
; no glove color
|
||||
org $0DEE24
|
||||
db $80
|
||||
|
||||
org $09912C
|
||||
AddTransformationCloud:
|
||||
|
||||
@@ -7,7 +11,6 @@ Link_CheckNewY_ButtonPress:
|
||||
org $078028
|
||||
Player_DoSfx2:
|
||||
|
||||
|
||||
org $278000
|
||||
StartupMasks:
|
||||
{
|
||||
@@ -22,4 +25,4 @@ StartupMasks:
|
||||
}
|
||||
|
||||
org $008827
|
||||
JSL StartupMasks
|
||||
JSL StartupMasks
|
||||
|
||||
@@ -1,6 +1,51 @@
|
||||
; =============================================================================
|
||||
; Wolf Mask
|
||||
|
||||
; =============================================================================
|
||||
|
||||
org $098F5B
|
||||
AddShovelDirt:
|
||||
|
||||
org $098C73
|
||||
AddRecoveredFlute:
|
||||
|
||||
org $098024
|
||||
AddHitStars:
|
||||
|
||||
org $1DFD5C
|
||||
DiggingGameGuy_AttemptPrizeSpawn:
|
||||
|
||||
|
||||
; =============================================================================
|
||||
|
||||
org $07D077
|
||||
Link_ShovelTileDetect:
|
||||
|
||||
org $07F8D1
|
||||
Link_ShovelTileDetect_Long:
|
||||
{
|
||||
PHB : PHK : PLB
|
||||
JSR Link_ShovelTileDetect
|
||||
PLB
|
||||
RTL
|
||||
}
|
||||
|
||||
org $07802F
|
||||
Player_DoSfx3:
|
||||
|
||||
org $07A772
|
||||
Player_DoSfx3_Long:
|
||||
{
|
||||
PHB : PHK : PLB
|
||||
JSR Player_DoSfx3
|
||||
PLB
|
||||
RTL
|
||||
}
|
||||
|
||||
print "Next address for jump in bank07: ", pc
|
||||
|
||||
; =============================================================================
|
||||
|
||||
org $07A3DB
|
||||
LinkItem_Flute:
|
||||
|
||||
@@ -21,6 +66,7 @@ LinkItem_ShovelAndFlute:
|
||||
org $07A32C
|
||||
LinkItem_WolfMask:
|
||||
{
|
||||
JSL LinkItem_UsingWolfMask
|
||||
JSR Link_CheckNewY_ButtonPress : BCC .return
|
||||
LDA $3A : AND.b #$BF : STA $3A ; clear the Y button state
|
||||
|
||||
@@ -75,4 +121,156 @@ WolfPalette:
|
||||
dw #$6565, #$7271, #$14B5, #$459B, #$3D95, #$22D0, #$567C, #$1890
|
||||
dw #$7616, #$0000
|
||||
|
||||
; =============================================================================
|
||||
; =============================================================================
|
||||
|
||||
LinkItem_Return:
|
||||
{
|
||||
RTL
|
||||
}
|
||||
|
||||
print pc
|
||||
LinkItem_UsingWolfMask:
|
||||
{
|
||||
; Shovel item code
|
||||
|
||||
BIT $3A : BVS .in_use
|
||||
LDA $6C : BNE LinkItem_Return ; .BRANCH_$3A312 ; (RTS, BASICALLY)
|
||||
|
||||
LDA $F2 ; load unfiltered joypad 1 register (AXLR|????)
|
||||
CMP #$10 ; R button pressed?
|
||||
BEQ $03 ; if yes, branch behind the jump that leads to the end and load items instead
|
||||
JMP LinkItem_Return
|
||||
; JSR Link_CheckNewY_ButtonPress : BCC LinkItem_Return ;.BRANCH_$3A312
|
||||
|
||||
LDA $A320 : STA $3D
|
||||
|
||||
STZ $030D
|
||||
STZ $0300
|
||||
|
||||
LDA.b #$01 : STA $037A
|
||||
LDA.b #$01 : TSB $50
|
||||
STZ $2E
|
||||
|
||||
.in_use
|
||||
|
||||
JSR HaltLinkWhenUsingItems ; $AE65 ; $3AE65 IN ROM
|
||||
|
||||
LDA $67 : AND.b #$F0 : STA $67
|
||||
|
||||
DEC $3D : BMI .continue
|
||||
|
||||
RTL
|
||||
|
||||
.continue
|
||||
|
||||
LDX $030D : INX : STX $030D
|
||||
|
||||
LDA $A320, X : STA $3D
|
||||
|
||||
LDA $A326, X : STA $0300 : CMP.b #$01 : BNE .BRANCH_GAMMA
|
||||
|
||||
LDY.b #$02
|
||||
|
||||
PHX
|
||||
|
||||
; JSR $D077 ; $3D077 IN ROM
|
||||
JSL Link_ShovelTileDetect_Long
|
||||
|
||||
PLX
|
||||
|
||||
LDA $04B2 : BEQ .not_flute_spot
|
||||
|
||||
LDA.b #$1B : JSL Player_DoSfx3_Long
|
||||
|
||||
PHX
|
||||
|
||||
; Add recovered flute (from digging). Interesting...
|
||||
LDY.b #$00
|
||||
LDA.b #$36
|
||||
|
||||
JSL AddRecoveredFlute
|
||||
|
||||
PLX
|
||||
|
||||
.not_flute_spot
|
||||
|
||||
LDA $0357 : ORA $035B : AND.b #$01 : BNE .dont_clink
|
||||
|
||||
PHX
|
||||
|
||||
LDY.b #$00
|
||||
LDA.b #$16
|
||||
|
||||
JSL AddHitStars
|
||||
|
||||
PLX
|
||||
|
||||
LDA.b #$05 : JSL Player_DoSfx2
|
||||
|
||||
BRA .finish_up
|
||||
|
||||
.dont_clink
|
||||
|
||||
PHX
|
||||
|
||||
; Add shovel dirt? what? I thought these were aftermath tiles
|
||||
LDY.b #$00
|
||||
LDA.b #$17
|
||||
|
||||
JSL AddShovelDirt
|
||||
|
||||
LDA $03FC : BEQ .digging_game_inactive
|
||||
|
||||
JSL DiggingGameGuy_AttemptPrizeSpawn
|
||||
|
||||
.digging_game_inactive
|
||||
|
||||
PLX
|
||||
|
||||
LDA.b #$12 : JSL Player_DoSfx2
|
||||
|
||||
.finish_up
|
||||
|
||||
CPX.b #$03 : BNE .return
|
||||
|
||||
STZ $030D
|
||||
STZ $0300
|
||||
|
||||
LDA $3A : AND.b #$80 : STA $3A
|
||||
|
||||
STZ $037A
|
||||
|
||||
LDA $50 : AND.b #$FE : STA $50
|
||||
|
||||
.return
|
||||
|
||||
RTL
|
||||
}
|
||||
|
||||
; ==============================================================================
|
||||
|
||||
; *$3AE65-$3AE87 LOCAL
|
||||
HaltLinkWhenUsingItems:
|
||||
{
|
||||
LDA $AD : CMP.b #$02 : BNE .BRANCH_ALPHA
|
||||
|
||||
LDA $0322 : AND.b #$03 : CMP.b #$03 : BNE .BRANCH_ALPHA
|
||||
|
||||
STZ $30
|
||||
STZ $31
|
||||
STZ $67
|
||||
STZ $2A
|
||||
STZ $2B
|
||||
STZ $6B
|
||||
|
||||
.BRANCH_ALPHA:
|
||||
|
||||
; Cane of Somaria transit lines?
|
||||
LDA $02F5 : BEQ .BRANCH_BETA
|
||||
|
||||
STZ $67
|
||||
|
||||
.BRANCH_BETA:
|
||||
|
||||
RTS
|
||||
}
|
||||
@@ -63,7 +63,7 @@ zora_palette:
|
||||
|
||||
; =============================================================================
|
||||
|
||||
LinkItem_UsingZoraMask:
|
||||
; LinkItem_UsingZoraMask:
|
||||
{
|
||||
|
||||
}
|
||||
@@ -75,19 +75,23 @@ LinkItem_UsingZoraMask:
|
||||
; =============================================================================
|
||||
; 22E0E0
|
||||
|
||||
FairyFlippers_E0E0:
|
||||
{
|
||||
LDA $1B
|
||||
BNE $22E0F7
|
||||
LDA $7F500E
|
||||
LDA $1B ; 1 if the player is in indoors and 0 otherwise.
|
||||
BNE .alpha ; we are outdoors
|
||||
|
||||
LDA $7F500E ; are we currently underwater?
|
||||
CMP #$01
|
||||
BNE $22E0F7
|
||||
BNE .alpha ; we are not underwater
|
||||
|
||||
LDA #$01
|
||||
STA $55
|
||||
STZ $5D
|
||||
STA $55 ; activate cape flag (invisible, invincible)
|
||||
STZ $5D ; reset player to ground state
|
||||
LDA #$08
|
||||
STA $5E
|
||||
STA $5E ; set the player speed
|
||||
RTL
|
||||
;-------
|
||||
.alpha
|
||||
LDA #$01
|
||||
STA $4D
|
||||
RTL
|
||||
@@ -96,6 +100,7 @@ LinkItem_UsingZoraMask:
|
||||
; =============================================================================
|
||||
; 22E100
|
||||
|
||||
FairyFlippers_E100:
|
||||
{
|
||||
LDA $2F ; The direction the player is currently facing
|
||||
STA $0323 ; Mirror of $2F
|
||||
@@ -106,7 +111,7 @@ LinkItem_UsingZoraMask:
|
||||
NOP
|
||||
LDA $0345 ; Set to 1 when we are in deep water, 0 otherwise
|
||||
CMP #$01 ; Are we in deep water?
|
||||
BEQ $22E120
|
||||
BEQ FairyFlippers_E120
|
||||
LDA $7F500E
|
||||
CMP #$01
|
||||
BEQ $22E11C
|
||||
@@ -116,6 +121,7 @@ LinkItem_UsingZoraMask:
|
||||
; =============================================================================
|
||||
; 22E120
|
||||
|
||||
FairyFlippers_E120:
|
||||
{
|
||||
LDA $F0 ; Joypad 1 Register
|
||||
CMP #$40
|
||||
@@ -146,6 +152,7 @@ LinkItem_UsingZoraMask:
|
||||
; =============================================================================
|
||||
; 22E17D
|
||||
|
||||
FairyFlippers_E17D:
|
||||
{
|
||||
LDA $7F500E
|
||||
CMP #$00
|
||||
@@ -186,6 +193,7 @@ LinkItem_UsingZoraMask:
|
||||
; Returns to 3C30B below
|
||||
; Noted changes added
|
||||
|
||||
FairyFlippers_SetFlipperAbilities:
|
||||
{
|
||||
LDA $1B ; Flag set to 1 when indoors, 0 otherwise
|
||||
BNE $22E1F7
|
||||
@@ -209,6 +217,7 @@ LinkItem_UsingZoraMask:
|
||||
; =============================================================================
|
||||
; *$3C2C3-$3C30B LOCAL
|
||||
|
||||
Vanilla_UntitledRoutine:
|
||||
{
|
||||
LDA $1B : BNE .alpha ; Set to 1 if indoors, 0 otherwise
|
||||
LDX #$02
|
||||
@@ -251,6 +260,7 @@ LinkItem_UsingZoraMask:
|
||||
; =============================================================================
|
||||
; 22E260
|
||||
|
||||
FairyFlippers_E260:
|
||||
{
|
||||
LDA $7EF33C ; fairy flippers save ram
|
||||
AND #$00FF
|
||||
@@ -282,7 +292,7 @@ LinkItem_UsingZoraMask:
|
||||
; Observed behavior of preserving the direction link was facing when diving
|
||||
; E.g. face left, dive, turn right underwater, and resurface facing left
|
||||
|
||||
FairyFlipper_Prepare:
|
||||
FairyFlippers_Prepare:
|
||||
{
|
||||
JSR FairyFlippers_Main ; $E530
|
||||
JSL FairyFlippers_HandleMagic ; $22E670
|
||||
@@ -303,7 +313,8 @@ FairyFlipper_Prepare:
|
||||
|
||||
LDA #$40
|
||||
STA $F0
|
||||
JMP $079657 ; Apart of LinkState_Swimming
|
||||
; TODO: RESTORE ME
|
||||
; JMP $079657 ; Apart of LinkState_Swimming
|
||||
|
||||
.gamma
|
||||
LDA $F0 ; Joypad 1 Register (preserves previous press)
|
||||
@@ -322,12 +333,14 @@ FairyFlippers_RestoreControlHandler:
|
||||
LDA $5D ; Player Handler or "State"
|
||||
ASL
|
||||
TAX
|
||||
JMP $078106 ; Link_ControlHandler Jump Table Statement
|
||||
; TODO: RESTORE ME
|
||||
; JMP $078106 ; Link_ControlHandler Jump Table Statement
|
||||
}
|
||||
|
||||
; =============================================================================
|
||||
; 22E300
|
||||
|
||||
FairyFlippers_E300:
|
||||
{
|
||||
LDA #$00
|
||||
STA $5D ; Player Handler or "State"
|
||||
@@ -342,6 +355,7 @@ FairyFlippers_RestoreControlHandler:
|
||||
; =============================================================================
|
||||
; 22E340
|
||||
|
||||
FairyFlippers_E340:
|
||||
{
|
||||
LDA $1B ; 1 if indoors, 0 otherwise
|
||||
BEQ $22E34E
|
||||
@@ -359,7 +373,7 @@ FairyFlippers_RestoreControlHandler:
|
||||
; =============================================================================
|
||||
; 22E460
|
||||
|
||||
FairyFlippers_Untitled:
|
||||
FairyFlippers_E460:
|
||||
{
|
||||
LDA $02E4 ; If flag nonzero, Link cannot move
|
||||
AND #$00FF
|
||||
@@ -385,6 +399,7 @@ FairyFlippers_Untitled:
|
||||
; =============================================================================
|
||||
; 22E500
|
||||
|
||||
FairyFlippers_E500:
|
||||
{
|
||||
CMP #$5A
|
||||
BEQ $22E507
|
||||
@@ -428,6 +443,7 @@ FairyFlippers_Main:
|
||||
; =============================================================================
|
||||
; 22E5F0
|
||||
|
||||
FairyFlippers_E5F0:
|
||||
{
|
||||
LDA $7EF33C
|
||||
BNE $22E5F7
|
||||
@@ -446,6 +462,7 @@ FairyFlippers_Main:
|
||||
|
||||
; Referenced at: 0D:E507
|
||||
|
||||
FairyFlippers_E600:
|
||||
{
|
||||
LDA $7EF34A
|
||||
AND #$00FF
|
||||
@@ -487,7 +504,8 @@ FairyFlippers_HandleMagic:
|
||||
BNE $22E688 ; branch if != 0
|
||||
LDA #$3C
|
||||
STA $012E
|
||||
JMP $22E141
|
||||
; TODO: RESTORE ME
|
||||
; JMP $22E141
|
||||
LDA $7F500D ; load timer
|
||||
BNE $22E69E ; branch if != 0
|
||||
LDA #$18
|
||||
@@ -505,6 +523,7 @@ FairyFlippers_HandleMagic:
|
||||
; =============================================================================
|
||||
; 22E700
|
||||
|
||||
FairyFlippers_E700:
|
||||
{
|
||||
STA $F6
|
||||
STY $FA
|
||||
@@ -527,6 +546,7 @@ FairyFlippers_HandleMagic:
|
||||
; =============================================================================
|
||||
; 22E760
|
||||
|
||||
FairyFlippers_E760:
|
||||
{
|
||||
LDA #$0E10
|
||||
STA $7EE000
|
||||
@@ -539,6 +559,7 @@ FairyFlippers_HandleMagic:
|
||||
; 22E780
|
||||
; Jesucristo...
|
||||
|
||||
FairyFlippers_E780:
|
||||
{
|
||||
REP #$30
|
||||
LDY #$0000
|
||||
@@ -624,6 +645,7 @@ FairyFlippers_HandleMagic:
|
||||
; =============================================================================
|
||||
; 22E830
|
||||
|
||||
FairyFlippers_E830:
|
||||
{
|
||||
ADC #$0020
|
||||
STA $1CD0
|
||||
|
||||
Reference in New Issue
Block a user