From 0a5f0060314596dd43d86d9b7022a45269e3c584 Mon Sep 17 00:00:00 2001 From: scawful Date: Tue, 9 Jul 2024 11:53:44 -0400 Subject: [PATCH] Add Sprite ID labels for all custom sprites --- Sprites/Bosses/kydreeok.asm | 2 +- Sprites/Bosses/kydreeok_head.asm | 2 +- Sprites/Bosses/kydrog.asm | 14 ++++---- Sprites/Bosses/kydrog_boss.asm | 2 +- Sprites/Bosses/manhandla.asm | 2 +- Sprites/Bosses/twinrova.asm | 2 +- Sprites/Bosses/wolfos.asm | 2 +- Sprites/Enemies/anti_kirby.asm | 2 +- Sprites/Enemies/booki.asm | 2 +- Sprites/Enemies/darknut.asm | 2 +- Sprites/Enemies/deku_scrub_enemy.asm | 8 ++--- Sprites/Enemies/goriya.asm | 2 +- Sprites/Enemies/helmet_chuchu.asm | 2 +- Sprites/Enemies/pols_voice.asm | 8 +++-- Sprites/Enemies/poltergeist.asm | 21 +++++------- Sprites/Enemies/puffstool.asm | 2 +- Sprites/Enemies/sea_urchin.asm | 6 +++- Sprites/Enemies/thunder_ghost.asm | 2 +- Sprites/NPCs/bean_vendor.asm | 2 +- Sprites/NPCs/deku_scrub.asm | 14 ++++---- Sprites/NPCs/farore.asm | 14 ++++---- Sprites/NPCs/korok.asm | 2 +- Sprites/NPCs/maku_tree.asm | 3 +- Sprites/NPCs/mask_salesman.asm | 2 +- Sprites/NPCs/mermaid.asm | 2 +- Sprites/NPCs/vasu.asm | 2 +- Sprites/NPCs/village_dog.asm | 5 ++- Sprites/NPCs/zora_princess.asm | 2 +- Sprites/Objects/deku_leaf.asm | 35 +++++++++++--------- Sprites/Objects/minecart.asm | 4 +-- Sprites/Objects/mineswitch.asm | 2 +- Sprites/Objects/portal_sprite.asm | 2 +- Sprites/Objects/switch_track.asm | 2 +- Sprites/Objects/whirlpool.asm | 34 ++++++++++++-------- Sprites/all_sprites.asm | 48 ++++++++++++++++++++++++++-- 35 files changed, 160 insertions(+), 98 deletions(-) diff --git a/Sprites/Bosses/kydreeok.asm b/Sprites/Bosses/kydreeok.asm index dce2c88..36462f3 100644 --- a/Sprites/Bosses/kydreeok.asm +++ b/Sprites/Bosses/kydreeok.asm @@ -2,7 +2,7 @@ ; Sprite Properties ; ========================================================= -!SPRID = $7A ; The sprite ID you are overwriting (HEX) +!SPRID = Sprite_Kydreeok !NbrTiles = 08 ; 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 diff --git a/Sprites/Bosses/kydreeok_head.asm b/Sprites/Bosses/kydreeok_head.asm index e090158..934fc39 100644 --- a/Sprites/Bosses/kydreeok_head.asm +++ b/Sprites/Bosses/kydreeok_head.asm @@ -3,7 +3,7 @@ ; Child sprite of the Kydreeok boss ; ========================================================= -!SPRID = $CF ; The sprite ID you are overwriting (HEX) +!SPRID = Sprite_KydreeokHead !NbrTiles = 07 ; 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 diff --git a/Sprites/Bosses/kydrog.asm b/Sprites/Bosses/kydrog.asm index 30b194c..6b8ed46 100644 --- a/Sprites/Bosses/kydrog.asm +++ b/Sprites/Bosses/kydrog.asm @@ -2,18 +2,18 @@ ; Cutscene Kydrog Sprite Properties ; ========================================================= -!SPRID = $7B; The sprite ID you are overwriting (HEX) -!NbrTiles = 6 ; Number of tiles used in a frame +!SPRID = Sprite_KydrogNPC +!NbrTiles = 6 ; 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 -!Health = 0 ; Number of Health the sprite have -!Damage = 0 ; (08 is a whole heart), 04 is half heart +!Health = 0 ; Number of Health the sprite have +!Damage = 0 ; (08 is a whole heart), 04 is half heart !DeathAnimation = 00 ; 00 = normal death, 01 = no death animation !ImperviousAll = 00 ; 00 = Can be attack, 01 = attack will clink on it !SmallShadow = 00 ; 01 = small shadow, 00 = no shadow !Shadow = 00 ; 00 = don't draw shadow, 01 = draw a shadow -!Palette = 0 ; Unused in this template (can be 0 to 7) -!Hitbox = 0 ; 00 to 31, can be viewed in sprite draw tool +!Palette = 0 ; Unused in this template (can be 0 to 7) +!Hitbox = 0 ; 00 to 31, can be viewed in sprite draw tool !Persist = 00 ; 01 = your sprite continue to live offscreen !Statis = 00 ; 00 = is sprite is alive?, (kill all enemies room) !CollisionLayer = 00 ; 01 = will check both layer for collision @@ -21,7 +21,7 @@ !DeflectArrow = 00 ; 01 = deflect arrows !WaterSprite = 00 ; 01 = can only walk shallow water !Blockable = 00 ; 01 = can be blocked by link's shield? -!Prize = 0 ; 00-15 = the prize pack the sprite will drop from +!Prize = 0 ; 00-15 = the prize pack the sprite will drop from !Sound = 00 ; 01 = Play different sound when taking damage !Interaction = 00 ; ?? No documentation !Statue = 00 ; 01 = Sprite is statue diff --git a/Sprites/Bosses/kydrog_boss.asm b/Sprites/Bosses/kydrog_boss.asm index af50278..1749568 100644 --- a/Sprites/Bosses/kydrog_boss.asm +++ b/Sprites/Bosses/kydrog_boss.asm @@ -10,7 +10,7 @@ ; ========================================================= -!SPRID = $CB ; The sprite ID you are overwriting (HEX) +!SPRID = Sprite_KydrogBoss !NbrTiles = 11 ; 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 diff --git a/Sprites/Bosses/manhandla.asm b/Sprites/Bosses/manhandla.asm index a2fa736..e0e13e2 100644 --- a/Sprites/Bosses/manhandla.asm +++ b/Sprites/Bosses/manhandla.asm @@ -2,7 +2,7 @@ ; Sprite Properties ; ========================================================= -!SPRID = $88 ; The sprite ID you are overwriting (HEX) +!SPRID = Sprite_Manhandla !NbrTiles = 03 ; 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 diff --git a/Sprites/Bosses/twinrova.asm b/Sprites/Bosses/twinrova.asm index fd12aef..6606af9 100644 --- a/Sprites/Bosses/twinrova.asm +++ b/Sprites/Bosses/twinrova.asm @@ -6,7 +6,7 @@ ; ; ========================================================= -!SPRID = $CE ; The sprite ID you are overwriting (HEX) +!SPRID = Sprite_Twinrova !NbrTiles = 06 ; 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 diff --git a/Sprites/Bosses/wolfos.asm b/Sprites/Bosses/wolfos.asm index 181241a..3003618 100644 --- a/Sprites/Bosses/wolfos.asm +++ b/Sprites/Bosses/wolfos.asm @@ -2,7 +2,7 @@ ; Wolfos Sprite Properties ; ========================================================= -!SPRID = $A9 ; The sprite ID you are overwriting (HEX) +!SPRID = Sprite_Wolfos !NbrTiles = 03 ; 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 diff --git a/Sprites/Enemies/anti_kirby.asm b/Sprites/Enemies/anti_kirby.asm index b641b64..c13ea4b 100644 --- a/Sprites/Enemies/anti_kirby.asm +++ b/Sprites/Enemies/anti_kirby.asm @@ -2,7 +2,7 @@ ; Sprite Properties ; ========================================================= -!SPRID = $A8 ; The sprite ID you are overwriting (HEX) +!SPRID = Sprite_AntiKirby !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 diff --git a/Sprites/Enemies/booki.asm b/Sprites/Enemies/booki.asm index 7b06db6..b290476 100644 --- a/Sprites/Enemies/booki.asm +++ b/Sprites/Enemies/booki.asm @@ -2,7 +2,7 @@ ; Sprite Properties ; ========================================================= -!SPRID = $CC ; The sprite ID you are overwriting (HEX) +!SPRID = Sprite_Booki !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 diff --git a/Sprites/Enemies/darknut.asm b/Sprites/Enemies/darknut.asm index bcea23e..9e229b0 100644 --- a/Sprites/Enemies/darknut.asm +++ b/Sprites/Enemies/darknut.asm @@ -2,7 +2,7 @@ ; Sprite Properties ; ========================================================= -!SPRID = $1D ; The sprite ID you are overwriting (HEX) +!SPRID = Sprite_Darknut !NbrTiles = 03 ; 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 diff --git a/Sprites/Enemies/deku_scrub_enemy.asm b/Sprites/Enemies/deku_scrub_enemy.asm index 27f4927..68c7d19 100644 --- a/Sprites/Enemies/deku_scrub_enemy.asm +++ b/Sprites/Enemies/deku_scrub_enemy.asm @@ -1,8 +1,8 @@ ; ========================================================= ; Deku Scrub Bro Enemy -!SPRID = $14 ; The sprite ID you are overwriting (HEX) -!NbrTiles = 04 ; Number of tiles used in a frame +!SPRID = Sprite_DekuScrubEnemy +!NbrTiles = 03 ; 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 !Health = 08 ; Number of Health the sprite have @@ -197,9 +197,9 @@ Sprite_DekuScrubEnemy_Main: { %StartOnFrame(7) %PlayAnimation(7,7,1) + JSL Sprite_PlayerCantPassThrough - LDA.w SprMiscD, X : BNE .no_talk - JSL Sprite_PlayerCantPassThrough + LDA.w SprMiscD, X : BNE .no_talk %ShowSolicitedMessage($12D) : BCC .no_talk JSR DekuScrub_GiveRandomPrize LDA.b #$01 : STA.w SprMiscD, X diff --git a/Sprites/Enemies/goriya.asm b/Sprites/Enemies/goriya.asm index 4c16c7e..f61845c 100644 --- a/Sprites/Enemies/goriya.asm +++ b/Sprites/Enemies/goriya.asm @@ -2,7 +2,7 @@ ; Goriya Sprite Properties ; ========================================================= -!SPRID = $2C ; The sprite ID you are overwriting (HEX) +!SPRID = Sprite_Goriya !NbrTiles = 03 ; 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 diff --git a/Sprites/Enemies/helmet_chuchu.asm b/Sprites/Enemies/helmet_chuchu.asm index 7ca5c14..2cca902 100644 --- a/Sprites/Enemies/helmet_chuchu.asm +++ b/Sprites/Enemies/helmet_chuchu.asm @@ -2,7 +2,7 @@ ; Sprite Properties ; ========================================================= -!SPRID = $05 ; The sprite ID you are overwriting (HEX) +!SPRID = Sprite_HelmetChuchu !NbrTiles = 03 ; 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 diff --git a/Sprites/Enemies/pols_voice.asm b/Sprites/Enemies/pols_voice.asm index 429ebe2..f365dde 100644 --- a/Sprites/Enemies/pols_voice.asm +++ b/Sprites/Enemies/pols_voice.asm @@ -1,5 +1,8 @@ +; ========================================================= +; Sprite Properties +; ========================================================= -!SPRID = $A4 ; The sprite ID you are overwriting (HEX) +!SPRID = Sprite_PolsVoice !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 @@ -26,7 +29,8 @@ !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_PolsVoice_Prep, Sprite_PolsVoice_Long); + +%Set_Sprite_Properties(Sprite_PolsVoice_Prep, Sprite_PolsVoice_Long) ; ========================================================= diff --git a/Sprites/Enemies/poltergeist.asm b/Sprites/Enemies/poltergeist.asm index 79ec273..694b0e6 100644 --- a/Sprites/Enemies/poltergeist.asm +++ b/Sprites/Enemies/poltergeist.asm @@ -1,5 +1,8 @@ +; ========================================================= +; Sprite Properties +; ========================================================= -!SPRID = $EF ; The sprite ID you are overwriting (HEX) +!SPRID = Sprite_Poltergeist !NbrTiles = 4 ; 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 @@ -26,8 +29,8 @@ !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_Poltergeist_Prep, Sprite_Poltergeist_Long) +%Set_Sprite_Properties(Sprite_Poltergeist_Prep, Sprite_Poltergeist_Long) Sprite_Poltergeist_Long: { @@ -52,12 +55,8 @@ Sprite_Poltergeist_Long: RTL ; Go back to original code } -;================================================================================================== -; Sprite initialization -; -------------------------------------------------------------------------------------------------- -; this code only get called once perfect to initialize sprites substate or timers -; this code as soon as the room transitions/ overworld transition occurs -;================================================================================================== +; ========================================================= + Sprite_Poltergeist_Prep: { PHB : PHK : PLB @@ -550,11 +549,7 @@ Sprite_Poltergeist_Draw: RTS } -;================================================================================================== -; Sprite Draw Generated Data -; -------------------------------------------------------------------------------------------------- -; This is where the generated Data for the sprite go -;================================================================================================== +; ========================================================= .start_index db $00, $02, $04, $06, $08, $09, $0F, $15, $16, $17, $18, $19, $1A, $1B, $1C, $1D, $1F, $20, $22, $23, $25, $26, $28, $29, $2A, $2B, $2C, $2D, $2E, $2F, $30, $31, $33, $35, $37, $39, $3B, $3F, $41, $42, $44, $45, $47, $48, $4A diff --git a/Sprites/Enemies/puffstool.asm b/Sprites/Enemies/puffstool.asm index 0cf6d87..5738455 100644 --- a/Sprites/Enemies/puffstool.asm +++ b/Sprites/Enemies/puffstool.asm @@ -1,6 +1,6 @@ ; ========================================================= -!SPRID = $B1 ; The sprite ID you are overwriting (HEX) +!SPRID = Sprite_Puffstool !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 diff --git a/Sprites/Enemies/sea_urchin.asm b/Sprites/Enemies/sea_urchin.asm index 8484537..27d6439 100644 --- a/Sprites/Enemies/sea_urchin.asm +++ b/Sprites/Enemies/sea_urchin.asm @@ -1,4 +1,8 @@ -!SPRID = $AE ; The sprite ID you are overwriting (HEX) +; ========================================================= +; Sprite Properties +; ========================================================= + +!SPRID = Sprite_SeaUrchin !NbrTiles = 04 ; 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 diff --git a/Sprites/Enemies/thunder_ghost.asm b/Sprites/Enemies/thunder_ghost.asm index 5c0380d..7b8b3bc 100644 --- a/Sprites/Enemies/thunder_ghost.asm +++ b/Sprites/Enemies/thunder_ghost.asm @@ -2,7 +2,7 @@ ; Sprite Properties ; ========================================================= -!SPRID = $CD ; The sprite ID you are overwriting (HEX) +!SPRID = Sprite_ThunderGhost !NbrTiles = 03 ; 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 diff --git a/Sprites/NPCs/bean_vendor.asm b/Sprites/NPCs/bean_vendor.asm index 73b69e5..8f59cea 100644 --- a/Sprites/NPCs/bean_vendor.asm +++ b/Sprites/NPCs/bean_vendor.asm @@ -2,7 +2,7 @@ ; Sprite Properties ; ========================================================= -!SPRID = $07 ; The sprite ID you are overwriting (HEX) +!SPRID = Sprite_BeanVendor !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 diff --git a/Sprites/NPCs/deku_scrub.asm b/Sprites/NPCs/deku_scrub.asm index ddf17bf..fc62101 100644 --- a/Sprites/NPCs/deku_scrub.asm +++ b/Sprites/NPCs/deku_scrub.asm @@ -1,6 +1,8 @@ -; ============================================================================= +; ========================================================= +; Sprite Properties +; ========================================================= -!SPRID = $A0 ; The sprite ID you are overwriting (HEX) +!SPRID = Sprite_DekuScrubNPCs !NbrTiles = 06 ; 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 @@ -29,7 +31,7 @@ !Boss = 00 ; 00 = normal sprite, 01 = sprite is a boss %Set_Sprite_Properties(Sprite_DekuScrub_Prep, Sprite_DekuScrub_Long); -; ============================================================================= +; ========================================================= Sprite_DekuScrub_Long: { @@ -46,7 +48,7 @@ Sprite_DekuScrub_Long: RTL ; Go back to original code } -; ============================================================================= +; ========================================================= Sprite_DekuScrub_Prep: { @@ -74,7 +76,7 @@ Sprite_DekuScrub_Prep: RTL } -; ============================================================================= +; ========================================================= Sprite_DekuScrub_Main: { @@ -161,7 +163,7 @@ Sprite_DekuScrub_Main: } } -; ============================================================================= +; ========================================================= Sprite_DekuScrub_Draw: { diff --git a/Sprites/NPCs/farore.asm b/Sprites/NPCs/farore.asm index 6d80629..b07ee84 100644 --- a/Sprites/NPCs/farore.asm +++ b/Sprites/NPCs/farore.asm @@ -2,18 +2,18 @@ ; Farore Sprite Properties ; ========================================================= -!SPRID = $73; The sprite ID you are overwriting (HEX) -!NbrTiles = 2 ; Number of tiles used in a frame +!SPRID = Sprite_Farore +!NbrTiles = 2 ; 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 -!Health = 0 ; Number of Health the sprite have -!Damage = 0 ; (08 is a whole heart), 04 is half heart +!Health = 0 ; Number of Health the sprite have +!Damage = 0 ; (08 is a whole heart), 04 is half heart !DeathAnimation = 00 ; 00 = normal death, 01 = no death animation !ImperviousAll = 00 ; 00 = Can be attack, 01 = attack will clink on it !SmallShadow = 01 ; 01 = small shadow, 00 = no shadow !Shadow = 01 ; 00 = don't draw shadow, 01 = draw a shadow -!Palette = 0 ; Unused in this template (can be 0 to 7) -!Hitbox = 0 ; 00 to 31, can be viewed in sprite draw tool +!Palette = 0 ; Unused in this template (can be 0 to 7) +!Hitbox = 0 ; 00 to 31, can be viewed in sprite draw tool !Persist = 00 ; 01 = your sprite continue to live offscreen !Statis = 00 ; 00 = is sprite is alive?, (kill all enemies room) !CollisionLayer = 00 ; 01 = will check both layer for collision @@ -21,7 +21,7 @@ !DeflectArrow = 00 ; 01 = deflect arrows !WaterSprite = 00 ; 01 = can only walk shallow water !Blockable = 00 ; 01 = can be blocked by link's shield? -!Prize = 0 ; 00-15 = the prize pack the sprite will drop from +!Prize = 0 ; 00-15 = the prize pack the sprite will drop from !Sound = 00 ; 01 = Play different sound when taking damage !Interaction = 00 ; ?? No documentation !Statue = 00 ; 01 = Sprite is statue diff --git a/Sprites/NPCs/korok.asm b/Sprites/NPCs/korok.asm index 5ad2432..f40e999 100644 --- a/Sprites/NPCs/korok.asm +++ b/Sprites/NPCs/korok.asm @@ -1,7 +1,7 @@ ; ========================================================= ; Korok Sprite -!SPRID = $F1 ; The sprite ID you are overwriting (HEX) +!SPRID = Sprite_Korok !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 diff --git a/Sprites/NPCs/maku_tree.asm b/Sprites/NPCs/maku_tree.asm index 1f5985e..5b3f6ec 100644 --- a/Sprites/NPCs/maku_tree.asm +++ b/Sprites/NPCs/maku_tree.asm @@ -1,7 +1,8 @@ ; ========================================================= ; Sprite Properties ; ========================================================= -!SPRID = $9E ; The sprite ID you are overwriting (HEX) + +!SPRID = Sprite_MakuTree !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 diff --git a/Sprites/NPCs/mask_salesman.asm b/Sprites/NPCs/mask_salesman.asm index e30ee31..742a43c 100644 --- a/Sprites/NPCs/mask_salesman.asm +++ b/Sprites/NPCs/mask_salesman.asm @@ -1,6 +1,6 @@ ; Happy Mask Salesman Sprite -!SPRID = $E8; The sprite ID you are overwriting (HEX) +!SPRID = Sprite_MaskSalesman !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 diff --git a/Sprites/NPCs/mermaid.asm b/Sprites/NPCs/mermaid.asm index 2d5c570..66bc594 100644 --- a/Sprites/NPCs/mermaid.asm +++ b/Sprites/NPCs/mermaid.asm @@ -1,7 +1,7 @@ ; ========================================================= ; Mermaid and Maple NPC -!SPRID = $F0 ; The sprite ID you are overwriting (HEX) +!SPRID = Sprite_Mermaid !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 diff --git a/Sprites/NPCs/vasu.asm b/Sprites/NPCs/vasu.asm index 9d60b60..1022551 100644 --- a/Sprites/NPCs/vasu.asm +++ b/Sprites/NPCs/vasu.asm @@ -2,7 +2,7 @@ ; Sprite Properties ; ========================================================= -!SPRID = $D7; The sprite ID you are overwriting (HEX) +!SPRID = Sprite_Vasu !NbrTiles = 03 ; 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 diff --git a/Sprites/NPCs/village_dog.asm b/Sprites/NPCs/village_dog.asm index e86275f..7a4a266 100644 --- a/Sprites/NPCs/village_dog.asm +++ b/Sprites/NPCs/village_dog.asm @@ -1,5 +1,8 @@ +; ========================================================= +; Sprite Properties +; ========================================================= -!SPRID = $25 ; The sprite ID you are overwriting (HEX) +!SPRID = Sprite_VillageDog !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 diff --git a/Sprites/NPCs/zora_princess.asm b/Sprites/NPCs/zora_princess.asm index 9f1c14a..1f6c349 100644 --- a/Sprites/NPCs/zora_princess.asm +++ b/Sprites/NPCs/zora_princess.asm @@ -1,7 +1,7 @@ ; Zora Princess ; Grants Link the Zora Mask when Song of Healing is played -!SPRID = $B8; The sprite ID you are overwriting (HEX) +!SPRID = Sprite_ZoraPrincess !NbrTiles = 9 ; 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 diff --git a/Sprites/Objects/deku_leaf.asm b/Sprites/Objects/deku_leaf.asm index 85c17f7..72e011e 100644 --- a/Sprites/Objects/deku_leaf.asm +++ b/Sprites/Objects/deku_leaf.asm @@ -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 +} ; ========================================================= diff --git a/Sprites/Objects/minecart.asm b/Sprites/Objects/minecart.asm index d973426..21b9f68 100644 --- a/Sprites/Objects/minecart.asm +++ b/Sprites/Objects/minecart.asm @@ -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) ; ========================================================= diff --git a/Sprites/Objects/mineswitch.asm b/Sprites/Objects/mineswitch.asm index 204385d..554f8a8 100644 --- a/Sprites/Objects/mineswitch.asm +++ b/Sprites/Objects/mineswitch.asm @@ -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 diff --git a/Sprites/Objects/portal_sprite.asm b/Sprites/Objects/portal_sprite.asm index 9a3b42c..ed6723b 100644 --- a/Sprites/Objects/portal_sprite.asm +++ b/Sprites/Objects/portal_sprite.asm @@ -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 diff --git a/Sprites/Objects/switch_track.asm b/Sprites/Objects/switch_track.asm index f6a9d52..a77e265 100644 --- a/Sprites/Objects/switch_track.asm +++ b/Sprites/Objects/switch_track.asm @@ -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 diff --git a/Sprites/Objects/whirlpool.asm b/Sprites/Objects/whirlpool.asm index dca9afc..1c5e8d0 100644 --- a/Sprites/Objects/whirlpool.asm +++ b/Sprites/Objects/whirlpool.asm @@ -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 } \ No newline at end of file diff --git a/Sprites/all_sprites.asm b/Sprites/all_sprites.asm index 528575e..ada9066 100644 --- a/Sprites/all_sprites.asm +++ b/Sprites/all_sprites.asm @@ -5,45 +5,62 @@ incsrc ZSpriteLib/sprite_macros.asm org $308000 incsrc ZSpriteLib/sprite_new_table.asm +Sprite_Farore = $73 incsrc "Sprites/NPCs/farore.asm" print "End of farore.asm ", pc +Sprite_KydrogNPC = $7B incsrc "Sprites/Bosses/kydrog.asm" print "End of kydrog.asm ", pc +Sprite_MakuTree = $9E incsrc "Sprites/NPCs/maku_tree.asm" print "End of maku_tree.asm ", pc +Sprite_MaskSalesman = $E8 incsrc "Sprites/NPCs/mask_salesman.asm" print "End of mask_salesman.asm ", pc +Sprite_BeanVendor = $07 +Sprite_VillageElder = $07 +Sprite_KaeporaGaebora = $07 incsrc "Sprites/NPCs/bean_vendor.asm" print "End of bean_vendor.asm ", pc incsrc "Sprites/Bosses/octoboss.asm" print "End of octoboss.asm ", pc -incsrc "Sprites/NPCs/Mermaid.asm" +Sprite_Mermaid = $F0 +Sprite_Maple = $F0 ; Subtype 1 +Sprite_Librarian = $F0 ; Subtype 2 +incsrc "Sprites/NPCs/mermaid.asm" print "End of mermaid.asm ", pc -incsrc "Sprites/Bosses/Manhandla.asm" +Sprite_Manhandla = $88 +incsrc "Sprites/Bosses/manhandla.asm" print "End of manhandla.asm ", pc +Sprite_DekuScrubEnemy = $14 incsrc "Sprites/Enemies/deku_scrub_enemy.asm" print "End of deku_scrub_enemy.asm ", pc +Sprite_Goriya = $2C incsrc "Sprites/Enemies/goriya.asm" print "End of goriya.asm ", pc +Sprite_Darknut = $1D incsrc "Sprites/Enemies/darknut.asm" print "End of darknut.asm ", pc +Sprite_SeaUrchin = $AE incsrc "Sprites/Enemies/sea_urchin.asm" print "End of sea_urchin.asm ", pc +Sprite_Korok = $F1 incsrc "Sprites/NPCs/korok.asm" print "End of korok.asm ", pc +Sprite_Vasu = $D7 incsrc "Sprites/NPCs/vasu.asm" print "End of vasu.asm ", pc @@ -98,67 +115,91 @@ org $318000 incsrc ZSpriteLib/sprite_functions.asm print "End of sprite_functions.asm ", pc +Sprite_KydrogBoss = $CB incsrc "Sprites/Bosses/kydrog_boss.asm" print "End of kydrog_boss.asm ", pc +Sprite_DekuScrubNPCs = $A0 incsrc "Sprites/NPCs/deku_scrub.asm" print "End of deku_scrub.asm ", pc +Sprite_AntiKirby = $A8 incsrc "Sprites/Enemies/anti_kirby.asm" print "End of anti_kirby.asm ", pc +Sprite_HelmetChuchu = $05 incsrc "Sprites/Enemies/helmet_chuchu.asm" print "End of helmet_chuchu.asm ", pc +Sprite_Booki = $CC incsrc "Sprites/Enemies/booki.asm" print "End of booki.asm ", pc +Sprite_ThunderGhost = $CD incsrc "Sprites/Enemies/thunder_ghost.asm" print "End of thunder_ghost.asm ", pc +Sprite_SwitchTrack = $B0 incsrc "Sprites/Objects/switch_track.asm" print "End of switch_track.asm ", pc +Sprite_Mineswitch = $AF incsrc "Sprites/Objects/mineswitch.asm" print "End of mineswitch.asm ", pc +Sprite_VillageDog = $25 incsrc "Sprites/NPCs/village_dog.asm" print "End of village_dog.asm ", pc +Sprite_Minecart = $A3 incsrc "Sprites/Objects/minecart.asm" print "End of minecart.asm ", pc +Sprite_DarkLink = $C1 incsrc "Sprites/Bosses/dark_link.asm" print "End of dark_link.asm ", pc +Sprite_Puffstool = $B1 incsrc "Sprites/Enemies/puffstool.asm" print "End of puffstool.asm ", pc +Sprite_DekuLeaf = $77 incsrc "Sprites/Objects/deku_leaf.asm" print "End of deku_leaf.asm ", pc +Sprite_Portal = $03 incsrc "Sprites/Objects/portal_sprite.asm" print "End of portal_sprite.asm ", pc incsrc "Sprites/NPCs/impa.asm" print "End of impa.asm ", pc +Sprite_Poltergeist = $EF incsrc "Sprites/Enemies/poltergeist.asm" print "End of poltergeist.asm ", pc +Sprite_PolsVoice = $A4 incsrc "Sprites/Enemies/pols_voice.asm" print "End of pols_voice.asm ", pc +Sprite_ZoraPrincess = $B8 incsrc "Sprites/NPCs/zora_princess.asm" print "End of zora_princess.asm ", pc +Sprite_Wolfos = $A9 incsrc "Sprites/Bosses/wolfos.asm" print "End of wolfos.asm ", pc +; TODO: Change from digging game guy? +Sprite_IceBlock = $D5 incsrc "Sprites/Objects/ice_block.asm" print "End of ice_block.asm ", pc +Sprite_Whirlpool = $52 incsrc "Sprites/Objects/whirlpool.asm" +print "End of whirlpool.asm ", pc + +; ========================================================= incsrc "Sprites/NPCs/ranch_girl.asm" print "End of Ranch Girl.asm ", pc @@ -192,12 +233,15 @@ print "" org $328000 +Sprite_Twinrova = $CE incsrc "Sprites/Bosses/twinrova.asm" print "End of twinrova.asm ", pc +Sprite_Kydreeok = $7A incsrc "Sprites/Bosses/kydreeok.asm" print "End of kydreeok.asm ", pc +Sprite_KydreeokHead = $CF incsrc "Sprites/Bosses/kydreeok_head.asm" print "End of kydreeok_head.asm ", pc