Item and mask cleanup
This commit is contained in:
@@ -1,13 +1,13 @@
|
|||||||
; =============================================================================
|
; ===========================================================
|
||||||
; Bottle Net Code
|
; Bottle Net Code
|
||||||
; =============================================================================
|
; ===========================================================
|
||||||
|
|
||||||
!BottleFlag = $0AA6
|
!BottleFlag = $0AA6
|
||||||
|
|
||||||
PlayerItem_SpawnFaerie = $1EFE33
|
PlayerItem_SpawnFaerie = $1EFE33
|
||||||
PlayerItem_ReleaseBee = $1EDCCF
|
PlayerItem_ReleaseBee = $1EDCCF
|
||||||
|
|
||||||
; =============================================================================
|
; ===========================================================
|
||||||
; LinkItem_Bottle
|
; LinkItem_Bottle
|
||||||
|
|
||||||
org $07A15B
|
org $07A15B
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
; $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
|
||||||
; =========================================================
|
; ====================================================
|
||||||
|
|
||||||
; Sprite_2D_NecklessMan_bounce
|
; Sprite_2D_NecklessMan_bounce
|
||||||
org $06C0B2
|
org $06C0B2
|
||||||
@@ -285,9 +285,6 @@ RestoreCaneBlockHammerGfx:
|
|||||||
RTL
|
RTL
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
FloaterBoySpriteCheck:
|
FloaterBoySpriteCheck:
|
||||||
{
|
{
|
||||||
PHB : PHK : PLB
|
PHB : PHK : PLB
|
||||||
|
|||||||
@@ -9,9 +9,9 @@
|
|||||||
pullpc
|
pullpc
|
||||||
TransferGFXinRAM:
|
TransferGFXinRAM:
|
||||||
{
|
{
|
||||||
PHX ; keep X
|
PHX
|
||||||
PHP ; keep processor byte
|
PHP
|
||||||
REP #$20 ; 16bit is a bit faster
|
REP #$20
|
||||||
|
|
||||||
LDX #$80
|
LDX #$80
|
||||||
--
|
--
|
||||||
@@ -28,8 +28,7 @@ TransferGFXinRAM:
|
|||||||
|
|
||||||
pushpc
|
pushpc
|
||||||
; OAM Draw Pattern for spikeball gfx
|
; OAM Draw Pattern for spikeball gfx
|
||||||
org $0085C4
|
org $0085C4 : dw $0040
|
||||||
dw $0040
|
|
||||||
|
|
||||||
; =========================================================
|
; =========================================================
|
||||||
; Zarby Code
|
; Zarby Code
|
||||||
|
|||||||
@@ -25,15 +25,11 @@ DekuFloating = $70
|
|||||||
; Unset, will shoot deku bubble instead
|
; Unset, will shoot deku bubble instead
|
||||||
DekuHover = $71
|
DekuHover = $71
|
||||||
|
|
||||||
; =========================================================
|
|
||||||
|
|
||||||
AddTransformationCloud = $09912C
|
AddTransformationCloud = $09912C
|
||||||
Link_CheckNewY_ButtonPress = $07B073
|
Link_CheckNewY_ButtonPress = $07B073
|
||||||
LinkItem_EvaluateMagicCost = $07B0AB
|
LinkItem_EvaluateMagicCost = $07B0AB
|
||||||
Player_DoSfx2 = $078028
|
Player_DoSfx2 = $078028
|
||||||
|
|
||||||
; =========================================================
|
|
||||||
|
|
||||||
incsrc "Masks/mask_routines.asm"
|
incsrc "Masks/mask_routines.asm"
|
||||||
|
|
||||||
; Start of free space in bank 07
|
; Start of free space in bank 07
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
macro PlayerTransform()
|
macro PlayerTransform()
|
||||||
LDY.b #$04 : LDA.b #$23
|
LDY.b #$04 : LDA.b #$23
|
||||||
JSL AddTransformationCloud
|
JSL AddTransformationCloud
|
||||||
LDA.b #$14 : STA.w $0CF8
|
LDA.b #$14 : STA.w $0CF8
|
||||||
JSL $0DBB67 ; Link_CalculateSFXPan
|
JSL $0DBB67 ; Link_CalculateSFXPan
|
||||||
ORA.w $0CF8
|
ORA.w $0CF8
|
||||||
@@ -21,7 +21,7 @@ endmacro
|
|||||||
org $008827 : JSL StartupMasks
|
org $008827 : JSL StartupMasks
|
||||||
|
|
||||||
; Link Sprite hook before game starts
|
; Link Sprite hook before game starts
|
||||||
org $008A01 : LDA $BC
|
org $008A01 : LDA $BC
|
||||||
|
|
||||||
; =========================================================
|
; =========================================================
|
||||||
; Change Link's palette based on $02B2 (mask value)
|
; Change Link's palette based on $02B2 (mask value)
|
||||||
@@ -102,50 +102,45 @@ ForceResetMask_SaveAndQuit:
|
|||||||
|
|
||||||
Palette_ArmorAndGloves:
|
Palette_ArmorAndGloves:
|
||||||
{
|
{
|
||||||
LDA !CurrentMask : CMP #$01 : BEQ .deku_mask
|
LDA !CurrentMask : CMP.b #$01 : BEQ .deku_mask
|
||||||
CMP.b #$02 : BEQ .zora_mask
|
CMP.b #$02 : BEQ .zora_mask
|
||||||
CMP.b #$03 : BEQ .wolf_mask
|
CMP.b #$03 : BEQ .wolf_mask
|
||||||
CMP.b #$04 : BEQ .bunny_hood
|
CMP.b #$04 : BEQ .bunny_hood
|
||||||
CMP.b #$05 : BEQ .minish_form
|
CMP.b #$05 : BEQ .minish_form
|
||||||
CMP.b #$06 : BEQ .gbc_form
|
CMP.b #$06 : BEQ .gbc_form
|
||||||
CMP.b #$07 : BEQ .moosh_form
|
CMP.b #$07 : BEQ .moosh_form
|
||||||
JMP .original_sprite
|
JMP .original_sprite
|
||||||
|
|
||||||
.deku_mask
|
.deku_mask
|
||||||
; Load Deku Mask Location
|
LDA.b #$35 : STA $BC
|
||||||
LDA.b #$35 : STA $BC
|
JSL UpdateDekuPalette
|
||||||
JSL UpdateDekuPalette
|
RTL
|
||||||
RTL
|
|
||||||
|
|
||||||
.zora_mask
|
.zora_mask
|
||||||
; Load Zora Mask Location
|
LDA.b #$36 : STA $BC
|
||||||
LDA.b #$36 : STA $BC
|
JSL UpdateZoraPalette
|
||||||
JSL UpdateZoraPalette
|
RTL
|
||||||
RTL
|
|
||||||
|
|
||||||
.wolf_mask
|
.wolf_mask
|
||||||
; Load Wolf Mask Location
|
LDA.b #$38 : STA $BC
|
||||||
LDA.b #$38 : STA $BC
|
JSL $38F000
|
||||||
JSL $38F000
|
RTL
|
||||||
RTL
|
|
||||||
|
|
||||||
.bunny_hood
|
.bunny_hood
|
||||||
; Load Bunny Hood Location
|
LDA.b #$37 : STA $BC
|
||||||
LDA.b #$37 : STA $BC
|
JSL $37F000
|
||||||
JSL $37F000
|
RTL
|
||||||
RTL
|
|
||||||
|
|
||||||
.minish_form
|
.minish_form
|
||||||
; Load Minish Form Location
|
LDA.b #$39 : STA $BC : JMP .original_palette
|
||||||
LDA.b #$39 : STA $BC : JMP .original_palette
|
|
||||||
|
|
||||||
.gbc_form
|
.gbc_form
|
||||||
JSL UpdateGbcPalette
|
JSL UpdateGbcPalette
|
||||||
RTL
|
RTL
|
||||||
|
|
||||||
.moosh_form
|
.moosh_form
|
||||||
JSL UpdateMooshPalette
|
JSL UpdateMooshPalette
|
||||||
RTL
|
RTL
|
||||||
|
|
||||||
.original_sprite
|
.original_sprite
|
||||||
; Load Original Sprite Location
|
; Load Original Sprite Location
|
||||||
@@ -212,17 +207,17 @@ Overworld_CgramAuxToMain_Override:
|
|||||||
LDX.b #$00
|
LDX.b #$00
|
||||||
|
|
||||||
.loop
|
.loop
|
||||||
LDA $7EC300, X : STA $7EC500, X
|
LDA $7EC300, X : STA $7EC500, X
|
||||||
LDA $7EC340, X : STA $7EC540, X
|
LDA $7EC340, X : STA $7EC540, X
|
||||||
LDA $7EC380, X : STA $7EC580, X
|
LDA $7EC380, X : STA $7EC580, X
|
||||||
LDA $7EC3C0, X : STA $7EC5C0, X
|
LDA $7EC3C0, X : STA $7EC5C0, X
|
||||||
LDA $7EC400, X : STA $7EC600, X
|
LDA $7EC400, X : STA $7EC600, X
|
||||||
LDA $7EC440, X : STA $7EC640, X
|
LDA $7EC440, X : STA $7EC640, X
|
||||||
LDA $7EC480, X : STA $7EC680, X
|
LDA $7EC480, X : STA $7EC680, X
|
||||||
LDA !CurrentMask : BNE .has_mask_palette
|
LDA !CurrentMask : BNE .has_mask_palette
|
||||||
LDA $7EC4C0, X : STA $7EC6C0, X
|
LDA $7EC4C0, X : STA $7EC6C0, X
|
||||||
.has_mask_palette
|
.has_mask_palette
|
||||||
INX #2 : CPX.b #$40 : BNE .loop
|
INX #2 : CPX.b #$40 : BNE .loop
|
||||||
|
|
||||||
SEP #$20
|
SEP #$20
|
||||||
|
|
||||||
@@ -238,13 +233,13 @@ LinkState_ResetMaskAnimated:
|
|||||||
{
|
{
|
||||||
STZ.b $55
|
STZ.b $55
|
||||||
LDA.w !CurrentMask : BEQ .no_transform
|
LDA.w !CurrentMask : BEQ .no_transform
|
||||||
CMP.b #$01 : BEQ .check_item_slot
|
CMP.b #$01 : BEQ .check_item_slot
|
||||||
CMP.b #$02 : BEQ .no_transform
|
CMP.b #$02 : BEQ .no_transform
|
||||||
CMP.b #$03 : BEQ .check_item_slot
|
CMP.b #$03 : BEQ .check_item_slot
|
||||||
CMP.b #$04 : BEQ .check_item_slot
|
CMP.b #$04 : BEQ .check_item_slot
|
||||||
CMP.b #$05 : BEQ .no_transform
|
CMP.b #$05 : BEQ .no_transform
|
||||||
CMP.b #$06 : BEQ .gbc_form
|
CMP.b #$06 : BEQ .gbc_form
|
||||||
CMP.b #$07 : BEQ .moosh_form
|
CMP.b #$07 : BEQ .moosh_form
|
||||||
|
|
||||||
.check_item_slot
|
.check_item_slot
|
||||||
LDA.w $0202 : SEC : SBC.b #$13 : BEQ .no_transform
|
LDA.w $0202 : SEC : SBC.b #$13 : BEQ .no_transform
|
||||||
@@ -279,12 +274,11 @@ org $079CD9
|
|||||||
pullpc
|
pullpc
|
||||||
LinkItem_CheckForSwordSwing_Masks:
|
LinkItem_CheckForSwordSwing_Masks:
|
||||||
{
|
{
|
||||||
LDA !CurrentMask : BEQ .return
|
LDA !CurrentMask : BEQ .return
|
||||||
CMP.b #$02 : BEQ .return ; zora mask can use sword
|
CMP.b #$02 : BEQ .return ; zora mask can use sword
|
||||||
CMP.b #$06 : BEQ .return ; gbc link can use sword
|
CMP.b #$06 : BEQ .return ; gbc link can use sword
|
||||||
LDA #$01
|
LDA #$01
|
||||||
RTL
|
RTL
|
||||||
|
|
||||||
.return
|
.return
|
||||||
LDA $3B : AND.b #$10 ; Restore Link_CheckForSwordSwing
|
LDA $3B : AND.b #$10 ; Restore Link_CheckForSwordSwing
|
||||||
RTL
|
RTL
|
||||||
@@ -399,17 +393,6 @@ PrepareQuakeSpell:
|
|||||||
|
|
||||||
; =========================================================
|
; =========================================================
|
||||||
|
|
||||||
InitCamera:
|
|
||||||
{
|
|
||||||
LDA.b $22 : STA.b $3F
|
|
||||||
LDA.b $23 : STA.b $41
|
|
||||||
LDA.b LinkY : STA.b $3E
|
|
||||||
LDA.b LinkYH : STA.b $40
|
|
||||||
RTS
|
|
||||||
}
|
|
||||||
|
|
||||||
; =========================================================
|
|
||||||
|
|
||||||
HandleMovement:
|
HandleMovement:
|
||||||
{
|
{
|
||||||
LDA $F0 : AND #$08 : BEQ .not_up
|
LDA $F0 : AND #$08 : BEQ .not_up
|
||||||
@@ -550,22 +533,18 @@ DekuLink_SkipPitSlip:
|
|||||||
|
|
||||||
pushpc
|
pushpc
|
||||||
|
|
||||||
org $07C729
|
org $07C729 : JSL DekuLink_SkipPitSlip
|
||||||
JSL DekuLink_SkipPitSlip
|
|
||||||
|
|
||||||
org $07BCEE
|
org $07BCEE : JSL DekuLink_SkipPitSlip
|
||||||
JSL DekuLink_SkipPitSlip
|
|
||||||
|
|
||||||
org $088399
|
org $088399 : dw Ancilla0E_MagicBubble
|
||||||
dw Ancilla0E_MagicBubble
|
|
||||||
|
|
||||||
org $08FFDA ; Bank 08 Free space
|
org $08FFDA ; Bank 08 Free space
|
||||||
Ancilla0E_MagicBubble:
|
Ancilla0E_MagicBubble:
|
||||||
JSL Ancilla0E_MagicBubbleLong
|
JSL Ancilla0E_MagicBubbleLong
|
||||||
RTS
|
RTS
|
||||||
|
|
||||||
org $07903F
|
org $07903F : JSL DekuLink_CheckForDash
|
||||||
JSL DekuLink_CheckForDash
|
|
||||||
|
|
||||||
pullpc
|
pullpc
|
||||||
|
|
||||||
@@ -849,9 +828,7 @@ Ancilla_Move_Z:
|
|||||||
Ancilla_Killa:
|
Ancilla_Killa:
|
||||||
PLA
|
PLA
|
||||||
PLA
|
PLA
|
||||||
|
|
||||||
STZ.w AnciType, X
|
STZ.w AnciType, X
|
||||||
|
|
||||||
RTS
|
RTS
|
||||||
|
|
||||||
Ancilla_BoundsCheck:
|
Ancilla_BoundsCheck:
|
||||||
@@ -1312,8 +1289,7 @@ MagicBubbleSwapDynamicGfx:
|
|||||||
pushpc
|
pushpc
|
||||||
|
|
||||||
; Magic Bubble Ancilla damage class
|
; Magic Bubble Ancilla damage class
|
||||||
org $06EC8C
|
org $06EC8C : db $01
|
||||||
db $01
|
|
||||||
|
|
||||||
; =========================================================
|
; =========================================================
|
||||||
|
|
||||||
@@ -1328,14 +1304,9 @@ LinkOAM_DrawShield:
|
|||||||
|
|
||||||
NOP #3
|
NOP #3
|
||||||
BEQ .no_shield
|
BEQ .no_shield
|
||||||
|
LDA.l $7EF35A : AND.w #$00FF : BEQ .no_shield
|
||||||
LDA.l $7EF35A
|
JSR LinkOAM_SetEquipmentVRAMOffsets
|
||||||
AND.w #$00FF
|
BCC .shield_continue
|
||||||
BEQ .no_shield
|
|
||||||
|
|
||||||
JSR LinkOAM_SetEquipmentVRAMOffsets
|
|
||||||
BCC .shield_continue
|
|
||||||
|
|
||||||
.no_shield
|
.no_shield
|
||||||
BRL LinkOAM_DrawShadow
|
BRL LinkOAM_DrawShadow
|
||||||
|
|
||||||
@@ -1353,9 +1324,9 @@ pullpc
|
|||||||
LinkOAM_CheckForDrawShield:
|
LinkOAM_CheckForDrawShield:
|
||||||
{
|
{
|
||||||
LDA.w !CurrentMask : AND.w #$00FF : CMP.w #$0005 : BNE +
|
LDA.w !CurrentMask : AND.w #$00FF : CMP.w #$0005 : BNE +
|
||||||
.no_shield
|
.no_shield
|
||||||
LDA.w #$0000
|
LDA.w #$0000
|
||||||
RTL
|
RTL
|
||||||
+
|
+
|
||||||
CMP.w #$0001 : BEQ .no_shield
|
CMP.w #$0001 : BEQ .no_shield
|
||||||
CMP.w #$0003 : BEQ .no_shield
|
CMP.w #$0003 : BEQ .no_shield
|
||||||
@@ -1366,8 +1337,7 @@ LinkOAM_CheckForDrawShield:
|
|||||||
|
|
||||||
pushpc
|
pushpc
|
||||||
|
|
||||||
org $07A94F
|
org $07A94F : JSL CheckForTwoWayMirror
|
||||||
JSL CheckForTwoWayMirror
|
|
||||||
|
|
||||||
pullpc
|
pullpc
|
||||||
|
|
||||||
@@ -1377,8 +1347,8 @@ CheckForTwoWayMirror:
|
|||||||
LDA.b #$01
|
LDA.b #$01
|
||||||
RTL
|
RTL
|
||||||
.vanilla_code
|
.vanilla_code
|
||||||
#_07A94F: LDA.b $8A
|
LDA.b $8A
|
||||||
#_07A951: AND.b #$40
|
AND.b #$40
|
||||||
RTL
|
RTL
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -15,10 +15,7 @@ org $07D8A0
|
|||||||
dw LinkState_CheckMinishTile
|
dw LinkState_CheckMinishTile
|
||||||
|
|
||||||
; LinkState_Bunny.not_moving
|
; LinkState_Bunny.not_moving
|
||||||
org $078427
|
org $078427 : JSR $9BAA ; Link_HandleAPress
|
||||||
JSR $9BAA ; Link_HandleAPress
|
|
||||||
|
|
||||||
; =========================================================
|
|
||||||
|
|
||||||
pullpc
|
pullpc
|
||||||
LinkState_CheckForMinishForm:
|
LinkState_CheckForMinishForm:
|
||||||
|
|||||||
Reference in New Issue
Block a user