diff --git a/Sprites/Bosses/dark_link.asm b/Sprites/Bosses/dark_link.asm index 16aca25..1fdfbb6 100644 --- a/Sprites/Bosses/dark_link.asm +++ b/Sprites/Bosses/dark_link.asm @@ -125,7 +125,7 @@ DarkLink_Palette: Sprite_DarkLink_Main: { - LDA.w SprAction, X : JSL UseImplicitRegIndexedLocalJumpTable + LDA.w SprAction, X : JSL JumpTableLocal dw Handler dw SwordSlash @@ -1526,7 +1526,7 @@ GanonInit: Sprite_Ganon_Main: { - LDA.w SprAction, X : JSL UseImplicitRegIndexedLocalJumpTable + LDA.w SprAction, X : JSL JumpTableLocal dw Wait dw ShowMessage diff --git a/Sprites/Bosses/kydreeok_head.asm b/Sprites/Bosses/kydreeok_head.asm index e15e672..dca21e3 100644 --- a/Sprites/Bosses/kydreeok_head.asm +++ b/Sprites/Bosses/kydreeok_head.asm @@ -64,7 +64,7 @@ SpeedTable: Sprite_KydreeokHead_Main: { LDA.w SprAction, X - JSL UseImplicitRegIndexedLocalJumpTable + JSL JumpTableLocal dw KydreeokHead_ForwardAnim ; 0x00 dw KydreeokHead_RightAnim ; 0x01 @@ -73,7 +73,6 @@ Sprite_KydreeokHead_Main: dw KydreeokHead_FarLeft ; 0x04 dw KydreeokHead_SummonFire ; 0x05 - ; ------------------------------------------------------- ; 0x00 KydreeokHead_ForwardAnim: { @@ -105,7 +104,6 @@ Sprite_KydreeokHead_Main: RTS } - ; ------------------------------------------------------- ; 0x01 KydreeokHead_RightAnim: { @@ -127,7 +125,6 @@ Sprite_KydreeokHead_Main: RTS } - ; ------------------------------------------------------- ; 0x02 KydreeokHead_LeftAnim: { @@ -148,7 +145,6 @@ Sprite_KydreeokHead_Main: RTS } - ; ------------------------------------------------------- ; 0x03 KydreeokHead_FarRight: { @@ -168,7 +164,6 @@ Sprite_KydreeokHead_Main: RTS } - ; ------------------------------------------------------- ; 0x04 KydreeokHead_FarLeft: { @@ -292,8 +287,6 @@ RandomlyAttack: RTS } -; ========================================================= - MoveWithBody: { LDA.w Kydreeok_Id : TAY @@ -535,8 +528,6 @@ KydreeokHead_NeckControl: RTS } -; ========================================================= - Sprite_KydreeokHead_DrawNeck: { LDA.w SprSubtype, X : CMP.b #$01 : BEQ .neck2 @@ -609,8 +600,6 @@ DrawNeckPart: RTS } -; ========================================================= - Sprite_KydreeokHead_Draw: { JSL Sprite_PrepOamCoord diff --git a/Sprites/Bosses/kydrog.asm b/Sprites/Bosses/kydrog.asm index 761fb23..fcc3141 100644 --- a/Sprites/Bosses/kydrog.asm +++ b/Sprites/Bosses/kydrog.asm @@ -43,8 +43,6 @@ Sprite_Kydrog_Long: RTL } -; ========================================================= - Sprite_Kydrog_Prep: { PHB : PHK : PLB @@ -55,12 +53,10 @@ Sprite_Kydrog_Prep: RTL } -; ========================================================= - Sprite_Kydrog_Main: { LDA.w SprAction, X - JSL UseImplicitRegIndexedLocalJumpTable + JSL JumpTableLocal dw Kydrog_StartCutscene dw Kydrog_AttractPlayer @@ -139,8 +135,6 @@ Sprite_Kydrog_Main: } } -; ========================================================= - Sprite_Kydrog_Draw: { JSL Sprite_PrepOamCoord @@ -189,8 +183,6 @@ Sprite_Kydrog_Draw: RTS -; ========================================================= - .start_index db $00 .nbr_of_tiles diff --git a/Sprites/Bosses/kydrog_boss.asm b/Sprites/Bosses/kydrog_boss.asm index 39c8489..30290fe 100644 --- a/Sprites/Bosses/kydrog_boss.asm +++ b/Sprites/Bosses/kydrog_boss.asm @@ -49,8 +49,6 @@ Sprite_KydrogBoss_Long: RTL } -; ========================================================= - Sprite_KydrogBoss_CheckIfDead: { LDA.w SprAction, X : CMP.b #$09 : BEQ .not_dead @@ -71,8 +69,6 @@ Sprite_KydrogBoss_CheckIfDead: RTS } -; ========================================================= - Sprite_KydrogBoss_Prep: { PHB : PHK : PLB @@ -95,7 +91,6 @@ Sprite_KydrogBoss_Prep: PLB RTL } -; ========================================================= pushpc org $1ECD97 @@ -153,8 +148,8 @@ KydrogBoss_DoMovement: Sprite_KydrogBoss_Main: { - LDA.w SprAction, X; Load the SprAction - JSL UseImplicitRegIndexedLocalJumpTable; Goto the SprAction we are currently in + LDA.w SprAction, X + JSL JumpTableLocal dw KydrogBoss_Init ; 00 dw KydrogBoss_WalkState ; 01 @@ -171,8 +166,6 @@ Sprite_KydrogBoss_Main: dw KydrogBoss_Descend ; 0B dw KydrogBoss_Abscond ; 0C - ; ------------------------------------------------------- - KydrogBoss_Init: { %StartOnFrame(15) @@ -186,8 +179,6 @@ Sprite_KydrogBoss_Main: RTS } - ; ------------------------------------------------------- - KydrogBoss_WalkState: { JSR CheckForNextPhase @@ -231,8 +222,6 @@ Sprite_KydrogBoss_Main: RTS } - ; ------------------------------------------------------- - KydrogBoss_WalkForward: { %PlayAnimation(0, 2, 8) @@ -261,8 +250,6 @@ Sprite_KydrogBoss_Main: RTS } - ; ------------------------------------------------------- - KydrogBoss_TakeDamage: ;0x06 { %StartOnFrame(12) @@ -298,8 +285,6 @@ Sprite_KydrogBoss_Main: RTS } - ; ------------------------------------------------------- - KydrogBoss_TauntPlayer: ;0x07 { %StartOnFrame(15) @@ -317,8 +302,6 @@ Sprite_KydrogBoss_Main: RTS } - ; ------------------------------------------------------- - KydrogBoss_SummonStalfos: ;0x08 { %StartOnFrame(17) @@ -339,8 +322,6 @@ Sprite_KydrogBoss_Main: RTS } - ; ------------------------------------------------------- - KydrogBoss_Death: ;0x09 { %StartOnFrame(0) @@ -421,8 +402,6 @@ Sprite_KydrogBoss_Main: } } -; ========================================================= - CheckForNextPhase: { LDA !KydrogPhase : CMP.b #$00 : BEQ .phase_one @@ -461,8 +440,6 @@ CheckForNextPhase: RTS } -; ========================================================= - ; TODO: Use a timer to unfreeze the sprite Sprite_CheckIfFrozen: { @@ -508,8 +485,6 @@ KydrogBoss_Set_Damage: ;BA D1 D2 D3 D4 D5 AR HS BM SA PD FR IR BB ET QU } -; ========================================================= - Sprite_Offspring_SpawnHead: { JSL GetRandomInt : AND.b #$3F : BNE .normal_head @@ -610,8 +585,6 @@ GetNumberSpawnStalfos: db $7C, $02, $A7, $85 } -; ========================================================= - Sprite_KydrogBoss_Draw: { JSL Sprite_PrepOamCoord diff --git a/Sprites/Bosses/lanmola.asm b/Sprites/Bosses/lanmola.asm index e5af756..1212c5e 100644 --- a/Sprites/Bosses/lanmola.asm +++ b/Sprites/Bosses/lanmola.asm @@ -1,4 +1,3 @@ -; ==============================================================================\ ; RAM used ;$35-$37 as some temp draw ram @@ -6,42 +5,22 @@ ;$7EEA00-$7EEAB8 draw table storage ;$7EEAB8-$7EEAC9 room cleared flags -; ============================================================================== ; Hooks - -org $05AB93 - Sprite2_CheckDamage: - -org $05F955 - Sprite2_CheckIfActivePermissive: - -org $05FA2E - Sprite2_MoveAltitude: - -org $05F9ED - Sprite2_Move: +Sprite2_CheckDamage = $05AB93 +Sprite2_CheckIfActivePermissive = $05F955 +Sprite2_MoveAltitude = $05FA2E +Sprite2_Move = $05F9ED org $068F95 ; skip SpritePrep_Bosses - NOP : NOP : NOP - ;JSR $8F1C ; original JSR - JSL Lanmola_FinishInitialization + NOP #3 + JSL Lanmola_FinishInitialization ;JSR $8F1C ; original JSR -org $05B60E - dw Sprite_Lanmola - -org $1AF9D6 - JSL SetShrapnelTimer - -org $1AF981 - Lanmola_SpawnShrapnel: - -org $1DF614 - Sprite_ConvertVelocityToAngle: - -org $05A377 ;replace vanilla sprite_lanmola.asm - -; ============================================================================== +org $05B60E : dw Sprite_Lanmola +org $1AF9D6 : JSL SetShrapnelTimer +org $1AF981 : Lanmola_SpawnShrapnel: +org $1DF614 : Sprite_ConvertVelocityToAngle: +org $05A377 ; replace vanilla sprite_lanmola.asm Lanmola_FinishInitialization: { PHB : PHK : PLB @@ -79,15 +58,13 @@ Lanmola_FinishInitialization: db $80, $CF, $FF, $60 } -; ============================================================================== - Sprite_Lanmola: { ;JSR Sprite2_CheckIfActivePermissive LDA $0D80, X - JSL UseImplicitRegIndexedLocalJumpTable + JSL JumpTableLocal dw Lanmola_Wait ;0x00 dw Lanmola_Mound ;0x01 @@ -97,7 +74,7 @@ Sprite_Lanmola: dw Lanmola_Death ;0x05 } -; ============================================================================== + Lanmola_Wait: ;0x00 { @@ -116,7 +93,7 @@ Lanmola_Wait: ;0x00 RTS } -; ============================================================================== + Lanmola_Mound: ;0x01 { @@ -160,7 +137,7 @@ Lanmola_Mound: ;0x01 RTS } -; ============================================================================== + Lanmola_Fly: ;0x02 { @@ -229,8 +206,6 @@ Lanmola_Fly: ;0x02 RTS } -; ============================================================================== - Lanmola_Dive: ;0x03 { JSR Lanmola_Draw @@ -259,8 +234,6 @@ Lanmola_Dive: ;0x03 RTS } -; ============================================================================== - Lanmola_Reset: ;0x04 { JSR Lanmola_Draw @@ -283,8 +256,6 @@ Lanmola_Reset: ;0x04 RTS } -; ============================================================================== - Lanmola_Death: ;0x05 { JSR Lanmola_Draw @@ -369,8 +340,6 @@ Lanmola_Death: ;0x05 RTS } -; ============================================================================== - Lanmola_Draw: { JSL Lanmola_MoveSegment @@ -520,8 +489,6 @@ Lanmola_Draw: RTS } -; ============================================================================== - Lanmola_DrawMound: { LDA.b #$04 : JSL OAM_AllocateFromRegionB @@ -570,13 +537,9 @@ Lanmola_DrawMound: RTS } -; ============================================================================== - assert pc() <= $05A880 -; ============================================================================== org $1DCFCB - Sprite_Shrapnel: { ; This sprite manifests as a boulder outdoors, and as shrapnel indoors. @@ -630,6 +593,4 @@ Sprite_Shrapnel: RTS } -; ============================================================================== - assert pc() <= $1DD02A diff --git a/Sprites/Bosses/manhandla.asm b/Sprites/Bosses/manhandla.asm index b55d3e3..13ab97c 100644 --- a/Sprites/Bosses/manhandla.asm +++ b/Sprites/Bosses/manhandla.asm @@ -1,6 +1,5 @@ ; ========================================================= -; Sprite Properties -; ========================================================= +; Manhandla / Big ChuChu Sprite !SPRID = Sprite_Manhandla !NbrTiles = 03 ; Number of tiles used in a frame @@ -32,8 +31,6 @@ %Set_Sprite_Properties(Sprite_Manhandla_Prep, Sprite_Manhandla_Long) -; ========================================================= - Sprite_Manhandla_Long: { PHB : PHK : PLB @@ -57,8 +54,6 @@ org $06FA25 LDA.w $0E20, X : CMP.b #$88 pullpc -; ========================================================= - Sprite_Manhandla_Prep: { PHB : PHK : PLB @@ -117,8 +112,6 @@ Sprite_Manhandla_CheckForNextPhaseOrDeath: RTS } -; ========================================================= - SetLeftHeadPos: REP #$20 LDA.w SprCachedX : SEC : SBC.w #$0016 @@ -158,7 +151,7 @@ SetCenterHeadPos: Sprite_Manhandla_Main: { LDA.w SprAction, X - JSL UseImplicitRegIndexedLocalJumpTable + JSL JumpTableLocal dw Manhandla_Intro dw Manhandla_FrontHead ; 0x01 @@ -383,7 +376,7 @@ Sprite_Manhandla_Main: Sprite_Manhandla_Move: { LDA.w SprMiscC, X - JSL UseImplicitRegIndexedLocalJumpTable + JSL JumpTableLocal dw StageControl dw MoveXandY @@ -407,7 +400,6 @@ Sprite_Manhandla_Move: JSL Sprite_ApplySpeedTowardsPlayer JSR Manhandla_StopIfOutOfBounds JSL MoveBody - INC.w SprMiscC, X RTS } @@ -418,7 +410,6 @@ Sprite_Manhandla_Move: JSL Sprite_ApplySpeedTowardsPlayerXOrY JSR Manhandla_StopIfOutOfBounds JSL MoveBody - INC.w SprMiscC, X RTS } @@ -501,8 +492,6 @@ Manhandla_StopIfOutOfBounds: RTS } -; ========================================================= - Sprite_Manhandla_Draw: { JSL Sprite_PrepOamCoord diff --git a/Sprites/Bosses/octoboss.asm b/Sprites/Bosses/octoboss.asm index 678d791..c68f991 100644 --- a/Sprites/Bosses/octoboss.asm +++ b/Sprites/Bosses/octoboss.asm @@ -2,12 +2,10 @@ ; Octoboss by Zarby89 pushpc - ; Sprite_A2_Kholdstare org $1E9518 JSL Sprite_Octoboss_Long RTS - pullpc BrotherSpr = $0EB0 @@ -74,7 +72,7 @@ Sprite_Octoboss_Long: Sprite_Octoboss_Main: { LDA.w SprAction, X - JSL UseImplicitRegIndexedLocalJumpTable + JSL JumpTableLocal dw WaitForPlayerToApproach ; 00 dw Emerge ; 01 @@ -97,7 +95,7 @@ Sprite_Octoboss_Main: Sprite_Octoboss_Secondary: LDA.w SprAction, X - JSL UseImplicitRegIndexedLocalJumpTable + JSL JumpTableLocal dw WaitForPlayerToApproach ; 00 dw Emerge ; 01 diff --git a/Sprites/Bosses/vampire_bat.asm b/Sprites/Bosses/vampire_bat.asm index 5c7051f..e398be1 100644 --- a/Sprites/Bosses/vampire_bat.asm +++ b/Sprites/Bosses/vampire_bat.asm @@ -9,7 +9,7 @@ Sprite_VampireBat_Main: JSL Sprite_BounceFromTileCollision LDA.w SprAction, X - JSL UseImplicitRegIndexedLocalJumpTable + JSL JumpTableLocal dw VampireBat_Idle dw VampireBat_Ascend