diff --git a/Core/symbols.asm b/Core/symbols.asm index 63f6d33..a06f789 100644 --- a/Core/symbols.asm +++ b/Core/symbols.asm @@ -260,6 +260,15 @@ Sprite_AttemptDamageToPlayerPlusRecoil = $06F41F ; makes all the sprites on screen shaking ApplyRumbleToSprites = $0680FA +; ========================================================= + +Sprite_MoveLong = $1D808C + +Sprite_ProjectSpeedTowardsPlayer = $06EA1A + +Sprite_Decelerate_X = $05E657 +Sprite_Decelerate_Y = $05E666 + ; ========================================================= ; args: ; pos1_low = $00 @@ -290,6 +299,9 @@ Sprite_PrepAndDrawSingleSmall = $06DBF8 ; draw shadow (requires additional oam allocation) Sprite_DrawShadow = $06DC54 +Sprite_DrawWaterRipple = $059FFA +Sprite_DrawRippleIfInWater = $1EFF8D + ; ========================================================= ; check if the sprite is colliding with a solid tile set $0E70, X ; ----udlr , u = up, d = down, l = left, r = right @@ -381,7 +393,6 @@ Sprite_NullifyHookshotDrag = $0FF540 ; Y = high byte of message ID to use. Sprite_ShowMessageUnconditional = $05E219 - ; ========================================================= ; show a message if we press A and face the sprite ; A = low byte of message ID to use. @@ -422,35 +433,23 @@ Sprite_ProjectSpeedTowardsEntityLong = $06EA22 Guard_ChaseLinkOnOneAxis = $05C542 Guard_ParrySwordAttacks = $06EB5E -Sprite_SpawnProbeAlways_long = $05C66E Probe_CheckTileSolidity = $0DC26E +Sprite_SpawnProbeAlways_long = $05C66E + +Sprite_TrackBodyToHead = $05DCA2 + ; ========================================================= ; Misc long functions GetRandomInt = $0DBA71 -Sprite_TrackBodyToHead = $05DCA2 - -Sprite_Decelerate_X = $05E657 -Sprite_Decelerate_Y = $05E666 - Sprite_SpawnFireball = $0DDA06 -Sprite_MoveLong = $1D808C - -Sprite_DrawRippleIfInWater = $1EFF8D - -SpriteDraw_WaterRipple = $059FFA - Sprite_SpawnSmallSplash = $1EA820 Sprite_SpawnSparkleGarnish = $058008 -Sprite_ProjectSpeedTowardsPlayer = $06EA1A - -Sprite_CheckDamageFromPlayerLong = $06F2AA - Sprite_CheckIfLifted = $06AA0C Sprite_TransmuteToBomb = $06AD50 diff --git a/Items/fishing_rod.asm b/Items/fishing_rod.asm index 100680d..08a36d6 100644 --- a/Items/fishing_rod.asm +++ b/Items/fishing_rod.asm @@ -360,7 +360,7 @@ Sprite_Floater: { ; Floater Draw, allocate 4 tiles to use for the hud LDA SprMiscG, X : BEQ + - JSL SpriteDraw_WaterRipple + JSL Sprite_DrawWaterRipple + JSR Sprite_Floater_Draw diff --git a/Sprites/Bosses/kydreeok.asm b/Sprites/Bosses/kydreeok.asm index 19aebfa..dce2c88 100644 --- a/Sprites/Bosses/kydreeok.asm +++ b/Sprites/Bosses/kydreeok.asm @@ -197,7 +197,7 @@ Sprite_Kydreeok_Main: JSR StopIfOutOfBounds JSL MoveBody - JSL Sprite_CheckDamageFromPlayerLong + JSL Sprite_CheckDamageFromPlayer %DoDamageToPlayerSameLayerOnContact() %GotoAction(4) @@ -217,7 +217,7 @@ Sprite_Kydreeok_Main: JSR StopIfOutOfBounds JSL MoveBody - JSL Sprite_CheckDamageFromPlayerLong + JSL Sprite_CheckDamageFromPlayer %DoDamageToPlayerSameLayerOnContact() %GotoAction(4) @@ -264,7 +264,7 @@ Sprite_Kydreeok_Main: JSL MoveBody - JSL Sprite_CheckDamageFromPlayerLong + JSL Sprite_CheckDamageFromPlayer %DoDamageToPlayerSameLayerOnContact() PLX ;restores X @@ -325,7 +325,7 @@ Sprite_Kydreeok_Main: LDA.b #$04 : STA.w SprHeight, X - JSL Sprite_CheckDamageFromPlayerLong + JSL Sprite_CheckDamageFromPlayer %DoDamageToPlayerSameLayerOnContact() LDA.w SprTimerA, X : BNE .continue diff --git a/Sprites/Bosses/kydreeok_head.asm b/Sprites/Bosses/kydreeok_head.asm index 4529185..e090158 100644 --- a/Sprites/Bosses/kydreeok_head.asm +++ b/Sprites/Bosses/kydreeok_head.asm @@ -90,7 +90,7 @@ Sprite_KydreeokHead_Main: %PlayAnimation(0,2,10) PHX - JSL Sprite_CheckDamageFromPlayerLong + JSL Sprite_CheckDamageFromPlayer %DoDamageToPlayerSameLayerOnContact() PLX @@ -122,7 +122,7 @@ Sprite_KydreeokHead_Main: %PlayAnimation(3,5,10) PHX - JSL Sprite_CheckDamageFromPlayerLong + JSL Sprite_CheckDamageFromPlayer %DoDamageToPlayerSameLayerOnContact() PLX @@ -143,7 +143,7 @@ Sprite_KydreeokHead_Main: %StartOnFrame(6) %PlayAnimation(6,8,10) - JSL Sprite_CheckDamageFromPlayerLong + JSL Sprite_CheckDamageFromPlayer %DoDamageToPlayerSameLayerOnContact() JSR KydreeokHead_RotationMove @@ -163,7 +163,7 @@ Sprite_KydreeokHead_Main: %PlayAnimation(9,11,10) %MoveTowardPlayer(15) - JSL Sprite_CheckDamageFromPlayerLong + JSL Sprite_CheckDamageFromPlayer %DoDamageToPlayerSameLayerOnContact() JSR KydreeokHead_RotationMove @@ -182,7 +182,7 @@ Sprite_KydreeokHead_Main: %MoveTowardPlayer(15) PHX - JSL Sprite_CheckDamageFromPlayerLong + JSL Sprite_CheckDamageFromPlayer %DoDamageToPlayerSameLayerOnContact() PLX diff --git a/Sprites/Bosses/kydrog_boss.asm b/Sprites/Bosses/kydrog_boss.asm index ef535bc..af50278 100644 --- a/Sprites/Bosses/kydrog_boss.asm +++ b/Sprites/Bosses/kydrog_boss.asm @@ -240,7 +240,7 @@ Sprite_KydrogBoss_Main: %PlayAnimation(0, 2, 8) PHX - JSL Sprite_CheckDamageFromPlayerLong + JSL Sprite_CheckDamageFromPlayer %DoDamageToPlayerSameLayerOnContact() PLX @@ -260,7 +260,7 @@ Sprite_KydrogBoss_Main: %PlayAnimation(3, 5, 8) PHX - JSL Sprite_CheckDamageFromPlayerLong + JSL Sprite_CheckDamageFromPlayer %DoDamageToPlayerSameLayerOnContact() PLX @@ -280,7 +280,7 @@ Sprite_KydrogBoss_Main: %PlayAnimation(6, 8, 8) PHX - JSL Sprite_CheckDamageFromPlayerLong + JSL Sprite_CheckDamageFromPlayer %DoDamageToPlayerSameLayerOnContact() PLX @@ -300,7 +300,7 @@ Sprite_KydrogBoss_Main: %PlayAnimation(9, 11, 8) PHX - JSL Sprite_CheckDamageFromPlayerLong + JSL Sprite_CheckDamageFromPlayer %DoDamageToPlayerSameLayerOnContact() PLX @@ -331,7 +331,7 @@ Sprite_KydrogBoss_Main: .continue PHX - JSL Sprite_CheckDamageFromPlayerLong + JSL Sprite_CheckDamageFromPlayer %DoDamageToPlayerSameLayerOnContact() PLX @@ -361,7 +361,7 @@ Sprite_KydrogBoss_Main: %PlayAnimation(15, 16, 8) ; Arms Crossed Animation PHX - JSL Sprite_CheckDamageFromPlayerLong + JSL Sprite_CheckDamageFromPlayer %DoDamageToPlayerSameLayerOnContact() PLX @@ -381,7 +381,7 @@ Sprite_KydrogBoss_Main: %PlayAnimation(17, 17, 10) PHX - JSL Sprite_CheckDamageFromPlayerLong + JSL Sprite_CheckDamageFromPlayer %DoDamageToPlayerSameLayerOnContact() PLX diff --git a/Sprites/Bosses/manhandla.asm b/Sprites/Bosses/manhandla.asm index e58b0c0..3a21e0f 100644 --- a/Sprites/Bosses/manhandla.asm +++ b/Sprites/Bosses/manhandla.asm @@ -205,7 +205,7 @@ Sprite_Manhandla_Main: JSL Sprite_Move JSL Sprite_DamageFlash_Long - JSL Sprite_CheckDamageFromPlayerLong + JSL Sprite_CheckDamageFromPlayer %DoDamageToPlayerSameLayerOnContact() RTS @@ -219,7 +219,7 @@ Sprite_Manhandla_Main: JSL Sprite_Move JSL Sprite_DamageFlash_Long - JSL Sprite_CheckDamageFromPlayerLong + JSL Sprite_CheckDamageFromPlayer %DoDamageToPlayerSameLayerOnContact() RTS @@ -234,7 +234,7 @@ Sprite_Manhandla_Main: JSL Sprite_Move JSL Sprite_DamageFlash_Long - JSL Sprite_CheckDamageFromPlayerLong + JSL Sprite_CheckDamageFromPlayer %DoDamageToPlayerSameLayerOnContact() PLX @@ -258,7 +258,7 @@ Sprite_Manhandla_Main: JSR Sprite_Manhandla_Move JSL Sprite_DamageFlash_Long - JSL Sprite_CheckDamageFromPlayerLong + JSL Sprite_CheckDamageFromPlayer %DoDamageToPlayerSameLayerOnContact() PLX @@ -331,7 +331,7 @@ Sprite_Manhandla_Main: JSR Mothula_SpawnBeams + - JSL Sprite_CheckDamageFromPlayerLong + JSL Sprite_CheckDamageFromPlayer %DoDamageToPlayerSameLayerOnContact() LDY.w Offspring1_Id diff --git a/Sprites/Bosses/twinrova.asm b/Sprites/Bosses/twinrova.asm index ee4fe9f..fd12aef 100644 --- a/Sprites/Bosses/twinrova.asm +++ b/Sprites/Bosses/twinrova.asm @@ -251,7 +251,7 @@ Sprite_Twinrova_Main: %Twinrova_Front() PHX - JSL Sprite_CheckDamageFromPlayerLong + JSL Sprite_CheckDamageFromPlayer %DoDamageToPlayerSameLayerOnContact() PLX @@ -271,7 +271,7 @@ Sprite_Twinrova_Main: %Twinrova_Back() PHX - JSL Sprite_CheckDamageFromPlayerLong + JSL Sprite_CheckDamageFromPlayer %DoDamageToPlayerSameLayerOnContact() PLX @@ -404,7 +404,7 @@ Sprite_Twinrova_Main: %Show_Koume() PHX - JSL Sprite_CheckDamageFromPlayerLong + JSL Sprite_CheckDamageFromPlayer %DoDamageToPlayerSameLayerOnContact() PLX @@ -436,7 +436,7 @@ Sprite_Twinrova_Main: %Show_Kotake() PHX - JSL Sprite_CheckDamageFromPlayerLong + JSL Sprite_CheckDamageFromPlayer %DoDamageToPlayerSameLayerOnContact() PLX diff --git a/Sprites/Bosses/wolfos.asm b/Sprites/Bosses/wolfos.asm index 7fd7dc4..181241a 100644 --- a/Sprites/Bosses/wolfos.asm +++ b/Sprites/Bosses/wolfos.asm @@ -90,7 +90,7 @@ Sprite_Wolfos_CheckIfDefeated: macro Wolfos_Move() JSL Sprite_DamageFlash_Long - JSL Sprite_CheckDamageFromPlayerLong : BCC + + JSL Sprite_CheckDamageFromPlayer : BCC + + JSL Sprite_PlayerCantPassThrough diff --git a/Sprites/Enemies/anti_kirby.asm b/Sprites/Enemies/anti_kirby.asm index 52c0ba2..b641b64 100644 --- a/Sprites/Enemies/anti_kirby.asm +++ b/Sprites/Enemies/anti_kirby.asm @@ -122,7 +122,7 @@ Sprite_AntiKirby_Main: %PlayAnimation(0, 2, 10) ; Start - JSL Sprite_CheckDamageFromPlayerLong : BCC .NoDamage + JSL Sprite_CheckDamageFromPlayer : BCC .NoDamage LDA #!RecoilTime : STA.w SprTimerA, X %GotoAction(1) ; Hurt RTS @@ -152,7 +152,7 @@ Sprite_AntiKirby_Main: { %PlayAnimation(4, 5, 10) ; Suck - JSL Sprite_CheckDamageFromPlayerLong : BCC .NoDamage + JSL Sprite_CheckDamageFromPlayer : BCC .NoDamage LDA #!RecoilTime : STA.w SprTimerA, X %GotoAction(1) ; Hurt RTS @@ -234,7 +234,7 @@ Sprite_AntiKirby_Main: JSL Sprite_BounceFromTileCollision JSL Sprite_PlayerCantPassThrough - JSL Sprite_CheckDamageFromPlayerLong : BCC .NoDamage + JSL Sprite_CheckDamageFromPlayer : BCC .NoDamage LDA #!RecoilTime : STA.w SprTimerA, X %GotoAction(6) ; Hurt .NoDamage diff --git a/Sprites/Enemies/deku_scrub_enemy.asm b/Sprites/Enemies/deku_scrub_enemy.asm index b70d82c..6ccc713 100644 --- a/Sprites/Enemies/deku_scrub_enemy.asm +++ b/Sprites/Enemies/deku_scrub_enemy.asm @@ -221,7 +221,7 @@ Sprite_DekuScrubEnemy_Main: STZ.w SprState, X .no_collision - JSL Sprite_CheckDamageFromPlayerLong : BCC .no_damage + JSL Sprite_CheckDamageFromPlayer : BCC .no_damage ; Apply force in the opposite direction LDA #-16 : STA.w SprYSpeed, X .no_damage diff --git a/Sprites/Enemies/pols_voice.asm b/Sprites/Enemies/pols_voice.asm index cc46dc0..429ebe2 100644 --- a/Sprites/Enemies/pols_voice.asm +++ b/Sprites/Enemies/pols_voice.asm @@ -88,7 +88,7 @@ Sprite_PolsVoice_Main: %GotoAction(1) .not_done - JSL Sprite_CheckDamageFromPlayerLong : BCC .no_damage + JSL Sprite_CheckDamageFromPlayer : BCC .no_damage JSL Sprite_DirectionToFacePlayer ; Apply the speed positive or negative speed @@ -124,7 +124,7 @@ Sprite_PolsVoice_Main: LDA SprTimerA, X : BNE .not_done %GotoAction(0) .not_done - JSL Sprite_CheckDamageFromPlayerLong : BCC .no_damage + JSL Sprite_CheckDamageFromPlayer : BCC .no_damage JSL Sprite_InvertSpeed_XY .no_damage RTS diff --git a/Sprites/Enemies/sea_urchin.asm b/Sprites/Enemies/sea_urchin.asm index 5f60787..8484537 100644 --- a/Sprites/Enemies/sea_urchin.asm +++ b/Sprites/Enemies/sea_urchin.asm @@ -69,7 +69,7 @@ Sprite_SeaUrchin_Main: %DoDamageToPlayerSameLayerOnContact() - JSL Sprite_CheckDamageFromPlayerLong + JSL Sprite_CheckDamageFromPlayer BCC .NoDamage %GotoAction(1) diff --git a/Sprites/Objects/ice_block.asm b/Sprites/Objects/ice_block.asm index 58d830d..94af008 100644 --- a/Sprites/Objects/ice_block.asm +++ b/Sprites/Objects/ice_block.asm @@ -99,7 +99,7 @@ Sprite_IceBlock_Main: JSR Statue_BlockSprites - JSL Sprite_CheckDamageFromPlayerLong + JSL Sprite_CheckDamageFromPlayer BCC .no_damage LDA SprMiscD, X : STA.w SprX, X LDA SprMiscE, X : STA.w SprY, X diff --git a/Sprites/Objects/mineswitch.asm b/Sprites/Objects/mineswitch.asm index 56d1c3c..204385d 100644 --- a/Sprites/Objects/mineswitch.asm +++ b/Sprites/Objects/mineswitch.asm @@ -82,7 +82,7 @@ Sprite_LeverSwitch_Main: { %PlayAnimation(0,0,4) LDA SprTimerA, X : BNE .NoDamage - JSL Sprite_CheckDamageFromPlayerLong : BCC .NoDamage + JSL Sprite_CheckDamageFromPlayer : BCC .NoDamage LDA #$25 : STA $012F STZ.w $37 @@ -96,7 +96,7 @@ Sprite_LeverSwitch_Main: { %PlayAnimation(1,1,4) LDA SprTimerA, X : BNE .NoDamage - JSL Sprite_CheckDamageFromPlayerLong : BCC .NoDamage + JSL Sprite_CheckDamageFromPlayer : BCC .NoDamage LDA #$25 : STA $012F LDA #$01 : STA $37 LDA #$10 : STA.w SprTimerA, X @@ -108,7 +108,7 @@ Sprite_LeverSwitch_Main: SpeedSwitchOff: { %PlayAnimation(0,0,4) - JSL Sprite_CheckDamageFromPlayerLong : BCC .NoDamage + JSL Sprite_CheckDamageFromPlayer : BCC .NoDamage LDA.b #$25 : STA $012F LDA.b #$01 : STA $36 %GotoAction(3) @@ -119,7 +119,7 @@ Sprite_LeverSwitch_Main: SpeedSwitchOn: { %PlayAnimation(1,1,4) - JSL Sprite_CheckDamageFromPlayerLong : BCC .NoDamage + JSL Sprite_CheckDamageFromPlayer : BCC .NoDamage LDA #$25 : STA $012F STZ.w $36 %GotoAction(2)