Compare commits
18 Commits
JaredMenuF
...
feather-it
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
34334bc30c | ||
|
|
1cde67578a | ||
|
|
6480fdbb9e | ||
|
|
bbb3b85def | ||
|
|
2c058e049e | ||
|
|
c6b9541977 | ||
|
|
dd68a4929d | ||
|
|
ef7d3af09b | ||
|
|
3ee5871f86 | ||
|
|
ef1540f3f6 | ||
|
|
f4ae06bfd1 | ||
|
|
c3b40b21fb | ||
|
|
6f4392aa0e | ||
|
|
0adc6f17bf | ||
|
|
93b63032da | ||
|
|
ea00780785 | ||
|
|
2e22114d8a | ||
|
|
4fac78bbba |
@@ -1,66 +1,95 @@
|
||||
; =============================================================================
|
||||
; =========================================================
|
||||
; Zarby Feather
|
||||
|
||||
org $07AFF8 ; LinkItem_BugCatchingNet
|
||||
{
|
||||
BIT $3A : BVS .return ;if Y or B are already pressed
|
||||
|
||||
LDA $6C : BNE .return ; if we are standing in a dooray or not
|
||||
|
||||
; Link_CheckNewY_ButtonPress
|
||||
JSR $B073 : BCC .return ; Check if we just pressed Y Button
|
||||
JSL NewBookCode
|
||||
|
||||
.return
|
||||
RTS
|
||||
BIT $3A : BVS .return ;if Y or B are already pressed
|
||||
LDA $6C : BNE .return ; if we are standing in a dooray or not
|
||||
; Link_CheckNewY_ButtonPress
|
||||
JSR $B073 : BCC .return ; Check if we just pressed Y Button
|
||||
JSL LinkItem_JumpFeather
|
||||
.return
|
||||
RTS
|
||||
}
|
||||
|
||||
; =============================================================================
|
||||
; =========================================================
|
||||
; Prevent Link from taking damage while jumping spikes
|
||||
; The game originally differentiates between your armor
|
||||
; for the damage take, however the table has all the same
|
||||
; values, so it's effectively useless.
|
||||
|
||||
; TileDetect_MainHandler_no_moon_pearl
|
||||
; org $07D23D
|
||||
org $07D242
|
||||
JSL CheckIfJumpingForSpikeDamage
|
||||
NOP #2
|
||||
warnpc $07D248
|
||||
|
||||
; =========================================================
|
||||
|
||||
org $2B8000
|
||||
NewBookCode:
|
||||
LinkItem_JumpFeather:
|
||||
{
|
||||
JSL $07983A ; Reset swim state
|
||||
LDA $46 : BNE .cantuseit
|
||||
LDA #$02 : STA $5D ; state recoil
|
||||
LDA #$01 : STA $4D ; state recoil 2
|
||||
LDA #$02 : STA $5D ; set link state recoil
|
||||
LDA #$02 : STA $4D ; set jumping state (ledge hop)
|
||||
|
||||
; Length of the jump
|
||||
LDA #$20
|
||||
; Length of the jump
|
||||
LDA #$20 : STA $46
|
||||
|
||||
STA $46
|
||||
; Height of the jump
|
||||
LDA #$24
|
||||
|
||||
; Height of the jump
|
||||
LDA #$24
|
||||
; Set vertical resistance
|
||||
STA $29
|
||||
STA $02C7
|
||||
|
||||
; Set vertical resistance
|
||||
STA $29
|
||||
STA $02C7
|
||||
; Set Links direction to right(?)
|
||||
LDA #$08 : STA $0340 : STA $67
|
||||
; Set Links direction to right(?)
|
||||
LDA #$08 : STA $0340 : STA $67
|
||||
|
||||
; Reset Link movement offsets
|
||||
STZ $31
|
||||
STZ $30
|
||||
; Reset Link movement offsets
|
||||
STZ $31 : STZ $30
|
||||
|
||||
LDA $F4 : AND #$08 : BEQ .noUp
|
||||
LDA #-8 ; Change that -8 if you want higher speed moving up
|
||||
STA $27 ; Vertical recoil
|
||||
.noUp
|
||||
LDA $F4 : AND #$04 : BEQ .noDown
|
||||
LDA #8 ; Change that -8 if you want higher speed moving down
|
||||
STA $27
|
||||
.noDown
|
||||
LDA $F4 : AND #$02 : BEQ .noLeft
|
||||
LDA #-8 ; Change that -8 if you want higher speed moving left
|
||||
STA $28 ; Horizontal recoil
|
||||
.noLeft
|
||||
LDA $F4 : AND #$01 : BEQ .noRight
|
||||
LDA #8 ; Change that 8 if you want higher speed moving right
|
||||
STA $28
|
||||
.noRight
|
||||
|
||||
LDA $F4 : AND #$08 : BEQ .noUp
|
||||
LDA #-8 ; Change that -8 if you want higher speed moving up
|
||||
STA $27 ; Vertical recoil
|
||||
.noUp
|
||||
LDA $F4 : AND #$04 : BEQ .noDown
|
||||
LDA #8 ; Change that -8 if you want higher speed moving down
|
||||
STA $27
|
||||
.noDown
|
||||
LDA $F4 : AND #$02 : BEQ .noLeft
|
||||
LDA #-8 ; Change that -8 if you want higher speed moving left
|
||||
STA $28 ; Horizontal recoil
|
||||
.noLeft
|
||||
LDA $F4 : AND #$01 : BEQ .noRight
|
||||
LDA #8 ; Change that 8 if you want higher speed moving right
|
||||
STA $28
|
||||
.noRight
|
||||
.cantuseit
|
||||
RTL
|
||||
RTL
|
||||
}
|
||||
|
||||
; =========================================================
|
||||
; Y contains our armor value
|
||||
; Currently requires a very close jump and will still
|
||||
; damage the player midair if you jump from too far away.
|
||||
|
||||
CheckIfJumpingForSpikeDamage:
|
||||
{
|
||||
PHB : PHK : PLB
|
||||
LDA $29 : BNE .airborne
|
||||
LDA.w .spike_floor_damage, Y : STA.w $0373
|
||||
.airborne
|
||||
PLB
|
||||
RTL
|
||||
|
||||
.spike_floor_damage
|
||||
db $08 ; green
|
||||
db $08 ; blue
|
||||
db $04 ; red
|
||||
}
|
||||
|
||||
print "End of Items/jump_feather.asm ", pc
|
||||
|
||||
@@ -95,6 +95,7 @@ LinkState_UsingQuake:
|
||||
db 5, 5, 5, 19
|
||||
|
||||
; INC.w $0FC1 ; Keep sprites frozen
|
||||
JSR $F514 ; CacheCameraPropertiesIfOutdoors
|
||||
|
||||
STZ.b $27 : STZ.b $28 ; Reset recoil X and Y
|
||||
|
||||
@@ -175,9 +176,8 @@ LinkState_UsingQuake:
|
||||
|
||||
.special
|
||||
DEC $5C
|
||||
; JSR $F514 ; CacheCameraPropertiesIfOutdoors
|
||||
JSL DekuLink_HoverBasedOnInput
|
||||
; JSR $E8F0
|
||||
JSR $E8F0 ; HandleIndoorCameraAndDoors
|
||||
RTS
|
||||
}
|
||||
|
||||
|
||||
@@ -199,6 +199,7 @@ Menu_DrawHeartPieces:
|
||||
|
||||
; =========================================================
|
||||
|
||||
; TODO: Attach SRAM values to these for progression
|
||||
Menu_DrawMusicNotes:
|
||||
{
|
||||
LDA.w #$02
|
||||
|
||||
@@ -10,10 +10,12 @@ Build using [Asar](https://github.com/RPGHacker/asar) with `build.bat`
|
||||

|
||||

|
||||
|
||||
## Custom Menu
|
||||
## Custom Menu and HUD
|
||||
|
||||

|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
## Custom Sprites
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,6 @@
|
||||
;==============================================================================
|
||||
; =========================================================
|
||||
; Sprite Properties
|
||||
;==============================================================================
|
||||
; =========================================================
|
||||
!SPRID = $9E ; The sprite ID you are overwriting (HEX)
|
||||
!NbrTiles = 00 ; Number of tiles used in a frame
|
||||
!Harmless = 01 ; 00 = Sprite is Harmful, 01 = Sprite is Harmless
|
||||
@@ -31,81 +31,79 @@
|
||||
|
||||
%Set_Sprite_Properties(Sprite_MakuTree_Prep, Sprite_MakuTree_Long)
|
||||
|
||||
;==============================================================================
|
||||
; =========================================================
|
||||
|
||||
Sprite_MakuTree_Long:
|
||||
{
|
||||
PHB : PHK : PLB
|
||||
PHB : PHK : PLB
|
||||
|
||||
JSR Sprite_MakuTree_Draw ; Call the draw code
|
||||
JSL Sprite_CheckActive ; Check if game is not paused
|
||||
BCC .SpriteIsNotActive ; Skip Main code is sprite is innactive
|
||||
JSR Sprite_MakuTree_Draw ; Call the draw code
|
||||
JSL Sprite_CheckActive ; Check if game is not paused
|
||||
BCC .SpriteIsNotActive ; Skip Main code is sprite is innactive
|
||||
|
||||
JSR Sprite_MakuTree_Main ; Call the main sprite code
|
||||
JSR Sprite_MakuTree_Main ; Call the main sprite code
|
||||
|
||||
.SpriteIsNotActive
|
||||
PLB ; Get back the databank we stored previously
|
||||
RTL ; Go back to original code
|
||||
PLB ; Get back the databank we stored previously
|
||||
RTL ; Go back to original code
|
||||
}
|
||||
;==============================================================================
|
||||
; =========================================================
|
||||
|
||||
Sprite_MakuTree_Prep:
|
||||
{
|
||||
PHB : PHK : PLB
|
||||
|
||||
LDA.l $7EF300
|
||||
BNE .intro_is_done
|
||||
PHB : PHK : PLB
|
||||
; Check if the intro has executed already.
|
||||
LDA.l $7EF300 : BNE .intro_is_done
|
||||
STZ.w $0DD0, X ; Kill the sprite
|
||||
.intro_is_done
|
||||
|
||||
PLB
|
||||
RTL
|
||||
PLB
|
||||
RTL
|
||||
}
|
||||
|
||||
;==============================================================================
|
||||
; =========================================================
|
||||
|
||||
Sprite_MakuTree_Main:
|
||||
{
|
||||
LDA.w SprAction, X ; Load the SprAction
|
||||
JSL UseImplicitRegIndexedLocalJumpTable ; Goto the SprAction we are currently in
|
||||
LDA.w SprAction, X
|
||||
JSL UseImplicitRegIndexedLocalJumpTable
|
||||
|
||||
dw MakuTree_Handler
|
||||
dw MakuTree_MeetLink
|
||||
dw MakuTree_GiveBow
|
||||
dw MakuTree_GiveMoonPearl
|
||||
|
||||
MakuTree_Handler:
|
||||
{
|
||||
; Check the progress flags
|
||||
LDA $7EF3D4 : CMP.b #$01 : BEQ .has_met_link
|
||||
%GotoAction(1)
|
||||
RTS
|
||||
; Check the progress flags
|
||||
LDA $7EF3D4 : CMP.b #$01 : BEQ .has_met_link
|
||||
%GotoAction(1)
|
||||
RTS
|
||||
|
||||
.has_met_link
|
||||
%ShowSolicitedMessage($22)
|
||||
RTS
|
||||
.has_met_link
|
||||
%ShowSolicitedMessage($22)
|
||||
RTS
|
||||
}
|
||||
|
||||
MakuTree_MeetLink:
|
||||
{
|
||||
%ShowSolicitedMessage($20) : BCC .no_talk
|
||||
LDA #$01 : STA $7EF3D4
|
||||
LDA #$06 : STA $7EF3C7
|
||||
%GotoAction(2)
|
||||
.no_talk
|
||||
RTS
|
||||
%ShowSolicitedMessage($20) : BCC .no_talk
|
||||
LDA #$01 : STA $7EF3D4
|
||||
LDA #$06 : STA $7EF3C7
|
||||
%GotoAction(2)
|
||||
.no_talk
|
||||
RTS
|
||||
}
|
||||
|
||||
MakuTree_GiveBow:
|
||||
MakuTree_GiveMoonPearl:
|
||||
{
|
||||
; Give Link the Moon Pearl
|
||||
LDY #$1F : JSL Link_ReceiveItem
|
||||
%GotoAction(0)
|
||||
RTS
|
||||
; Give Link the Moon Pearl
|
||||
LDY #$1F : JSL Link_ReceiveItem
|
||||
%GotoAction(0)
|
||||
RTS
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
;==============================================================================
|
||||
; =========================================================
|
||||
|
||||
Sprite_MakuTree_Draw:
|
||||
{
|
||||
@@ -163,7 +161,7 @@ Sprite_MakuTree_Draw:
|
||||
|
||||
RTS
|
||||
|
||||
;==============================================================================
|
||||
; =========================================================
|
||||
|
||||
.start_index
|
||||
.nbr_of_tiles
|
||||
@@ -45,7 +45,7 @@ print "End of kydrog.asm ", pc
|
||||
incsrc "Sprites/Bosses/kydrog_boss.asm"
|
||||
print "End of kydrog_boss.asm ", pc
|
||||
|
||||
incsrc "Sprites/maku_tree.asm"
|
||||
incsrc "Sprites/NPCs/maku_tree.asm"
|
||||
print "End of maku_tree.asm ", pc
|
||||
|
||||
incsrc "Sprites/NPCs/mask_salesman.asm"
|
||||
@@ -60,10 +60,10 @@ print "End of anti_kirby.asm ", pc
|
||||
incsrc "Sprites/Enemies/sea_urchin.asm"
|
||||
print "End of sea_urchin.asm ", pc
|
||||
|
||||
incsrc "Sprites/switch_track.asm"
|
||||
incsrc "Sprites/Objects/switch_track.asm"
|
||||
print "End of switch_track.asm ", pc
|
||||
|
||||
incsrc "Sprites/mineswitch.asm"
|
||||
incsrc "Sprites/Objects/mineswitch.asm"
|
||||
print "End of mineswitch.asm ", pc
|
||||
|
||||
incsrc "Sprites/NPCs/village_dog.asm"
|
||||
@@ -78,7 +78,8 @@ print "End of twinrova.asm ", pc
|
||||
incsrc "Sprites/Bosses/kydreeok.asm"
|
||||
incsrc "Sprites/Bosses/kydreeok_head.asm"
|
||||
|
||||
incsrc "Sprites/deku_leaf.asm"
|
||||
incsrc "Sprites/Objects/deku_leaf.asm"
|
||||
print "End of deku_leaf.asm ", pc
|
||||
|
||||
incsrc "Sprites/portal_sprite.asm"
|
||||
print "End of portal_sprite.asm ", pc
|
||||
|
||||
Reference in New Issue
Block a user