Add Sprite ID labels for all custom sprites

This commit is contained in:
scawful
2024-07-09 11:53:44 -04:00
parent 5dece0f764
commit 0a5f006031
35 changed files with 160 additions and 98 deletions

View File

@@ -1,7 +1,8 @@
; =========================================================
; Sprite Properties
; =========================================================
!SPRID = $77 ; The sprite ID you are overwriting (HEX)
!SPRID = Sprite_DekuLeaf
!NbrTiles = 00 ; Number of tiles used in a frame
!Harmless = 01 ; 00 = Sprite is Harmful, 01 = Sprite is Harmless
!HVelocity = 00 ; Is your sprite going super fast? put 01 if it is
@@ -28,32 +29,36 @@
!ImperviousArrow = 00 ; 01 = Impervious to arrows
!ImpervSwordHammer = 00 ; 01 = Impervious to sword and hammer attacks
!Boss = 00 ; 00 = normal sprite, 01 = sprite is a boss
%Set_Sprite_Properties(Sprite_DekuLeaf_Prep, Sprite_DekuLeaf_Long);
%Set_Sprite_Properties(Sprite_DekuLeaf_Prep, Sprite_DekuLeaf_Long)
; =========================================================
Sprite_DekuLeaf_Long:
PHB : PHK : PLB
{
PHB : PHK : PLB
JSR Sprite_DekuLeaf_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_DekuLeaf_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_DekuLeaf_Main ; Call the main sprite code
JSR Sprite_DekuLeaf_Main ; Call the main sprite code
.SpriteIsNotActive
PLB ; Get back the databank we stored previously
RTL ; Go back to original code
.SpriteIsNotActive
PLB ; Get back the databank we stored previously
RTL ; Go back to original code
}
; =========================================================
Sprite_DekuLeaf_Prep:
PHB : PHK : PLB
; Add more code here to initialize data
{
PHB : PHK : PLB
PLB
RTL
PLB
RTL
}
; =========================================================

View File

@@ -2,7 +2,7 @@
; Minecart Sprite Properties
; =========================================================
!SPRID = $A3 ; The sprite ID you are overwriting (HEX)
!SPRID = Sprite_Minecart
!NbrTiles = 08 ; Number of tiles used in a frame
!Harmless = 01 ; 00 = Sprite is Harmful, 01 = Sprite is Harmless
!HVelocity = 00 ; Is your sprite going super fast? put 01 if it is
@@ -30,8 +30,6 @@
!ImpervSwordHammer = 00 ; 01 = Impervious to sword and hammer attacks
!Boss = 00 ; 00 = normal sprite, 01 = sprite is a boss
; =========================================================
%Set_Sprite_Properties(Sprite_Minecart_Prep, Sprite_Minecart_Long)
; =========================================================

View File

@@ -2,7 +2,7 @@
; Sprite Properties
; =========================================================
!SPRID = $AF ; The sprite ID you are overwriting (HEX)
!SPRID = Sprite_Mineswitch
!NbrTiles = 02 ; Number of tiles used in a frame
!Harmless = 01 ; 00 = Sprite is Harmful, 01 = Sprite is Harmless
!HVelocity = 00 ; Is your sprite going super fast? put 01 if it is

View File

@@ -3,7 +3,7 @@
; Portal Sprite
; =========================================================
!SPRID = $03 ; The sprite ID you are overwriting (HEX)
!SPRID = Sprite_Portal
!NbrTiles = 01 ; Number of tiles used in a frame
!Harmless = 00 ; 00 = Sprite is Harmful, 01 = Sprite is Harmless
!HVelocity = 00 ; Is your sprite going super fast? put 01 if it is

View File

@@ -2,7 +2,7 @@
; Sprite Properties
; =========================================================
!SPRID = $B0 ; The sprite ID you are overwriting (HEX)
!SPRID = Sprite_SwitchTrack
!NbrTiles = 02 ; Number of tiles used in a frame
!Harmless = 00 ; 00 = Sprite is Harmful, 01 = Sprite is Harmless
!HVelocity = 00 ; Is your sprite going super fast? put 01 if it is

View File

@@ -1,7 +1,8 @@
;==============================================================================
; =========================================================
; Sprite Properties
;==============================================================================
!SPRID = $52; The sprite ID you are overwriting (HEX)
; =========================================================
!SPRID = Sprite_Whirlpool
!NbrTiles = 04 ; Number of tiles used in a frame
!Harmless = 01 ; 00 = Sprite is Harmful, 01 = Sprite is Harmless
!HVelocity = 00 ; Is your sprite going super fast? put 01 if it is
@@ -28,7 +29,10 @@
!ImperviousArrow = 00 ; 01 = Impervious to arrows
!ImpervSwordHammer = 00 ; 01 = Impervious to sword and hammer attacks
!Boss = 00 ; 00 = normal sprite, 01 = sprite is a boss
%Set_Sprite_Properties(Sprite_Whirlpool_Prep, Sprite_Whirlpool_Long);
%Set_Sprite_Properties(Sprite_Whirlpool_Prep, Sprite_Whirlpool_Long)
; =========================================================
pushpc
@@ -52,13 +56,17 @@ Sprite_Whirlpool_Long:
RTL ; Go back to original code
}
; =========================================================
Sprite_Whirlpool_Prep:
PHB : PHK : PLB
PLB
RTL
{
PHB : PHK : PLB
PLB
RTL
}
; =========================================================
Sprite_Whirlpool_Main:
{
@@ -127,6 +135,8 @@ Sprite_Whirlpool_Main:
}
}
; =========================================================
Sprite_Whirlpool_Draw:
{
JSL Sprite_PrepOamCoord
@@ -172,7 +182,7 @@ Sprite_Whirlpool_Draw:
TYA : LSR #2 : TAY
LDA .sizes, X : ORA $0F : STA ($92), Y ; store size in oam buffer
LDA.b #$02 : ORA $0F : STA ($92), Y ; store size in oam buffer
PLY : INY
@@ -204,8 +214,4 @@ Sprite_Whirlpool_Draw:
db $29, $29, $29, $29
db $69, $69, $69, $69
db $A9, $A9, $A9, $A9
.sizes
db $02, $02, $02, $02
db $02, $02, $02, $02
db $02, $02, $02, $02
}