diff --git a/data/sprite_frames.asm b/data/sprite_frames.asm index a0e9d2d..dcf5a26 100644 --- a/data/sprite_frames.asm +++ b/data/sprite_frames.asm @@ -2282,43 +2282,43 @@ SpriteDataPointers2: ; 0x55d7 SpriteDataPointer OribitingBallGrowingFrame4Sprite, SPRITE2_ORBITING_BALL_GROWING_4 SpriteDataPointer OribitingBallGrowingFrame5Sprite, SPRITE2_ORBITING_BALL_GROWING_5 SpriteDataPointer OribitingBallGrowingFrame6Sprite, SPRITE2_ORBITING_BALL_GROWING_6 - SpriteDataPointer SpriteData2_21, SPRITE2_DATA_21 - SpriteDataPointer SpriteData2_22, SPRITE2_DATA_22 - SpriteDataPointer SpriteData2_23, SPRITE2_DATA_23 - SpriteDataPointer SpriteData2_24, SPRITE2_DATA_24 - SpriteDataPointer SpriteData2_25, SPRITE2_DATA_25 - SpriteDataPointer SpriteData2_26, SPRITE2_DATA_26 - SpriteDataPointer SpriteData2_27, SPRITE2_DATA_27 - SpriteDataPointer SpriteData2_28, SPRITE2_DATA_28 - SpriteDataPointer SpriteData2_29, SPRITE2_DATA_29 - SpriteDataPointer SpriteData2_2a, SPRITE2_DATA_2a - SpriteDataPointer SpriteData2_2b, SPRITE2_DATA_2b - SpriteDataPointer SpriteData2_2c, SPRITE2_DATA_2c - SpriteDataPointer SpriteData2_2d, SPRITE2_DATA_2d - SpriteDataPointer SpriteData2_2e, SPRITE2_DATA_2e - SpriteDataPointer SpriteData2_2f, SPRITE2_DATA_2f - SpriteDataPointer SpriteData2_30, SPRITE2_DATA_30 - SpriteDataPointer SpriteData2_31, SPRITE2_DATA_31 - SpriteDataPointer SpriteData2_32, SPRITE2_DATA_32 - SpriteDataPointer SpriteData2_33, SPRITE2_DATA_33 - SpriteDataPointer SpriteData2_34, SPRITE2_DATA_34 - SpriteDataPointer SpriteData2_35, SPRITE2_DATA_35 - SpriteDataPointer SpriteData2_36, SPRITE2_DATA_36 - SpriteDataPointer SpriteData2_37, SPRITE2_DATA_37 - SpriteDataPointer SpriteData2_38, SPRITE2_DATA_38 - SpriteDataPointer SpriteData2_39, SPRITE2_DATA_39 - SpriteDataPointer SpriteData2_3a, SPRITE2_DATA_3a - SpriteDataPointer SpriteData2_3b, SPRITE2_DATA_3b - SpriteDataPointer SpriteData2_3c, SPRITE2_DATA_3c - SpriteDataPointer SpriteData2_3d, SPRITE2_DATA_3d - SpriteDataPointer SpriteData2_3e, SPRITE2_DATA_3e - SpriteDataPointer SpriteData2_3f, SPRITE2_DATA_3f - SpriteDataPointer SpriteData2_40, SPRITE2_DATA_40 - SpriteDataPointer SpriteData2_41, SPRITE2_DATA_41 - SpriteDataPointer SpriteData2_42, SPRITE2_DATA_42 - SpriteDataPointer SpriteData2_43, SPRITE2_DATA_43 - SpriteDataPointer SpriteData2_44, SPRITE2_DATA_44 - SpriteDataPointer SpriteData2_45, SPRITE2_DATA_45 + SpriteDataPointer MeowthWalkLeftFrame0Sprite, SPRITE2_MEOWTH_LEFT_WALK_0 + SpriteDataPointer MeowthWalkLeftFrame1Sprite, SPRITE2_MEOWTH_LEFT_WALK_1 + SpriteDataPointer MeowthWalkLeftFrame2Sprite, SPRITE2_MEOWTH_LEFT_WALK_2 + SpriteDataPointer MeowthLeftHitSprite, SPRITE2_MEOWTH_LEFT_HIT + SpriteDataPointer MeowthWalkRightFrame0Sprite, SPRITE2_MEOWTH_RIGHT_WALK_0 + SpriteDataPointer MeowthWalkRightFrame1Sprite, SPRITE2_MEOWTH_RIGHT_WALK_1 + SpriteDataPointer MeowthWalkRightFrame2Sprite, SPRITE2_MEOWTH_RIGHT_WALK_2 + SpriteDataPointer MeowthRightHitSprite, SPRITE2_MEOWTH_RIGHT_HIT + SpriteDataPointer MeowthCoinSpawnFrame0Sprite, SPRITE2_MEOWTHJEWEL_SPAWN_0 + SpriteDataPointer MeowthCoinSpawnFrame1Sprite, SPRITE2_MEOWTHJEWEL_SPAWN_1 + SpriteDataPointer MeowthCoinIdleFrame0Sprite, SPRITE2_MEOWTHJEWEL_IDLE_0 + SpriteDataPointer MeowthCoinIdleFrame1Sprite, SPRITE2_MEOWTHJEWEL_IDLE_1 + SpriteDataPointer MeowthCoinCollectFrame0Sprite, SPRITE2_MEOWTHJEWEL_COLLECT_0 + SpriteDataPointer MeowthCoinCollectFrame1Sprite, SPRITE2_MEOWTHJEWEL_COLLECT_1 + SpriteDataPointer MeowthCoinCollectFrame2Sprite, SPRITE2_MEOWTHJEWEL_COLLECT_2 + SpriteDataPointer MeowthCoinCollectFrame3Sprite, SPRITE2_MEOWTHJEWEL_COLLECT_3 + SpriteDataPointer MeowthCoinCollectFrame4Sprite, SPRITE2_MEOWTHJEWEL_COLLECT_4 + SpriteDataPointer MeowthCoinCollectFrame5Sprite, SPRITE2_MEOWTHJEWEL_COLLECT_5 + SpriteDataPointer MeowthTimeoutFrame0Sprite, SPRITE2_MEOWTH_TIMEOUT_0 + SpriteDataPointer MeowthTimeoutFrame1Sprite, SPRITE2_MEOWTH_TIMEOUT_1 + SpriteDataPointer MeowthMultiplier2Frame0Sprite, SPRITE2_MEOWTH_MULTIPLIER_2_FRAME_0 + SpriteDataPointer MeowthMultiplier2Frame1Sprite, SPRITE2_MEOWTH_MULTIPLIER_2_FRAME_1 + SpriteDataPointer MeowthMultiplier2Frame2Sprite, SPRITE2_MEOWTH_MULTIPLIER_2_FRAME_2 + SpriteDataPointer MeowthMultiplier3Frame0Sprite, SPRITE2_MEOWTH_MULTIPLIER_3_FRAME_0 + SpriteDataPointer MeowthMultiplier3Frame1Sprite, SPRITE2_MEOWTH_MULTIPLIER_3_FRAME_1 + SpriteDataPointer MeowthMultiplier3Frame2Sprite, SPRITE2_MEOWTH_MULTIPLIER_3_FRAME_2 + SpriteDataPointer MeowthMultiplier4Frame0Sprite, SPRITE2_MEOWTH_MULTIPLIER_4_FRAME_0 + SpriteDataPointer MeowthMultiplier4Frame1Sprite, SPRITE2_MEOWTH_MULTIPLIER_4_FRAME_1 + SpriteDataPointer MeowthMultiplier4Frame2Sprite, SPRITE2_MEOWTH_MULTIPLIER_4_FRAME_2 + SpriteDataPointer MeowthMultiplier5Frame0Sprite, SPRITE2_MEOWTH_MULTIPLIER_5_FRAME_0 + SpriteDataPointer MeowthMultiplier5Frame1Sprite, SPRITE2_MEOWTH_MULTIPLIER_5_FRAME_1 + SpriteDataPointer MeowthMultiplier5Frame2Sprite, SPRITE2_MEOWTH_MULTIPLIER_5_FRAME_2 + SpriteDataPointer MeowthMultiplier6Frame0Sprite, SPRITE2_MEOWTH_MULTIPLIER_6_FRAME_0 + SpriteDataPointer MeowthMultiplier6Frame1Sprite, SPRITE2_MEOWTH_MULTIPLIER_6_FRAME_1 + SpriteDataPointer MeowthMultiplier6Frame2Sprite, SPRITE2_MEOWTH_MULTIPLIER_6_FRAME_2 + SpriteDataPointer MeowthProgressSparkleFrame0Sprite, SPRITE2_MEOWTH_PROGRESS_SPARKLE_0 + SpriteDataPointer MeowthProgressSparkleFrame1Sprite, SPRITE2_MEOWTH_PROGRESS_SPARKLE_1 SpriteDataPointer DugtrioHealth3Frame0Sprite, SPRITE2_DUGTRIO_HEALTH3_FRAME0 SpriteDataPointer DugtrioHealth3Frame1Sprite, SPRITE2_DUGTRIO_HEALTH3_FRAME1 SpriteDataPointer DugtrioHealth3Frame2Sprite, SPRITE2_DUGTRIO_HEALTH3_FRAME2 @@ -2333,55 +2333,55 @@ SpriteDataPointers2: ; 0x55d7 SpriteDataPointer DugtrioHealth1HitSprite, SPRITE2_DUGTRIO_HEALTH1_HIT SpriteDataPointer DroppedDugtrioSprite, SPRITE2_DUGTRIO_DROPPED SpriteDataPointer DefeatedDugtrioSprite, SPRITE2_DUGTRIO_DEFEATED - SpriteDataPointer SpriteData2_54, SPRITE2_DATA_54 - SpriteDataPointer SpriteData2_55, SPRITE2_DATA_55 - SpriteDataPointer SpriteData2_56, SPRITE2_DATA_56 - SpriteDataPointer SpriteData2_57, SPRITE2_DATA_57 - SpriteDataPointer SpriteData2_58, SPRITE2_DATA_58 - SpriteDataPointer SpriteData2_59, SPRITE2_DATA_59 - SpriteDataPointer SpriteData2_5a, SPRITE2_DATA_5a - SpriteDataPointer SpriteData2_5b, SPRITE2_DATA_5b - SpriteDataPointer SpriteData2_5c, SPRITE2_DATA_5c - SpriteDataPointer SpriteData2_5d, SPRITE2_DATA_5d - SpriteDataPointer SpriteData2_5e, SPRITE2_DATA_5e - SpriteDataPointer SpriteData2_5f, SPRITE2_DATA_5f - SpriteDataPointer SpriteData2_60, SPRITE2_DATA_60 - SpriteDataPointer SpriteData2_61, SPRITE2_DATA_61 - SpriteDataPointer SpriteData2_62, SPRITE2_DATA_62 - SpriteDataPointer SpriteData2_63, SPRITE2_DATA_63 - SpriteDataPointer SpriteData2_64, SPRITE2_DATA_64 - SpriteDataPointer SpriteData2_65, SPRITE2_DATA_65 - SpriteDataPointer SpriteData2_66, SPRITE2_DATA_66 - SpriteDataPointer SpriteData2_67, SPRITE2_DATA_67 - SpriteDataPointer SpriteData2_68, SPRITE2_DATA_68 - SpriteDataPointer SpriteData2_69, SPRITE2_DATA_69 - SpriteDataPointer SpriteData2_6a, SPRITE2_DATA_6a - SpriteDataPointer SpriteData2_6b, SPRITE2_DATA_6b - SpriteDataPointer SpriteData2_6c, SPRITE2_DATA_6c - SpriteDataPointer SpriteData2_6d, SPRITE2_DATA_6d - SpriteDataPointer SpriteData2_6e, SPRITE2_DATA_6e - SpriteDataPointer SpriteData2_6f, SPRITE2_DATA_6f - SpriteDataPointer SpriteData2_70, SPRITE2_DATA_70 - SpriteDataPointer SpriteData2_71, SPRITE2_DATA_71 - SpriteDataPointer SpriteData2_72, SPRITE2_DATA_72 - SpriteDataPointer SpriteData2_73, SPRITE2_DATA_73 - SpriteDataPointer SpriteData2_74, SPRITE2_DATA_74 - SpriteDataPointer SpriteData2_75, SPRITE2_DATA_75 - SpriteDataPointer SpriteData2_76, SPRITE2_DATA_76 - SpriteDataPointer SpriteData2_77, SPRITE2_DATA_77 - SpriteDataPointer SpriteData2_78, SPRITE2_DATA_78 - SpriteDataPointer SpriteData2_79, SPRITE2_DATA_79 - SpriteDataPointer SpriteData2_7a, SPRITE2_DATA_7a - SpriteDataPointer SpriteData2_7b, SPRITE2_DATA_7b - SpriteDataPointer SpriteData2_7c, SPRITE2_DATA_7c - SpriteDataPointer SpriteData2_7d, SPRITE2_DATA_7d - SpriteDataPointer SpriteData2_7e, SPRITE2_DATA_7e - SpriteDataPointer SpriteData2_7f, SPRITE2_DATA_7f - SpriteDataPointer SpriteData2_80, SPRITE2_DATA_80 - SpriteDataPointer SpriteData2_81, SPRITE2_DATA_81 - SpriteDataPointer SpriteData2_82, SPRITE2_DATA_82 - SpriteDataPointer SpriteData2_83, SPRITE2_DATA_83 - SpriteDataPointer SpriteData2_84, SPRITE2_DATA_84 + SpriteDataPointer SeelPeekingFrame0Sprite, SPRITE2_SEEL_PEEKING_0 + SpriteDataPointer SeelPeekingFrame1Sprite, SPRITE2_SEEL_PEEKING_1 + SpriteDataPointer SeelHitSprite, SPRITE2_SEEL_HIT + SpriteDataPointer SeelSwimRightFrame0Sprite, SPRITE2_SEEL_SWIM_RIGHT_0 + SpriteDataPointer SeelSwimRightFrame1Sprite, SPRITE2_SEEL_SWIM_RIGHT_1 + SpriteDataPointer SeelSwimRightFrame2Sprite, SPRITE2_SEEL_SWIM_RIGHT_2 + SpriteDataPointer SeelTurnRightToLeftFrame0Sprite, SPRITE2_SEEL_TURN_RIGHT_TO_LEFT_0 + SpriteDataPointer SeelTurnRightToLeftFrame1Sprite, SPRITE2_SEEL_TURN_RIGHT_TO_LEFT_1 + SpriteDataPointer SeelShadowCircle0Sprite, SPRITE2_SEEL_SHADOW_CIRCLE_0 + SpriteDataPointer SeelShadowCircle1Sprite, SPRITE2_SEEL_SHADOW_CIRCLE_1 + SpriteDataPointer SeelShadowCircle2Sprite, SPRITE2_SEEL_SHADOW_CIRCLE_2 + SpriteDataPointer SeelEmergeFrame0Sprite, SPRITE2_SEEL_EMERGE_0 + SpriteDataPointer SeelEmergeFrame1Sprite, SPRITE2_SEEL_EMERGE_1 + SpriteDataPointer SeelSplashSprite, SPRITE2_SEEL_SPLASH + SpriteDataPointer SeelTurnLeftToRightFrame2Sprite, SPRITE2_SEEL_TURN_LEFT_TO_RIGHT_2 + SpriteDataPointer SeelTurnLeftToRightFrame3Sprite, SPRITE2_SEEL_TURN_LEFT_TO_RIGHT_3 + SpriteDataPointer SeelSwimLeftFrame0Sprite, SPRITE2_SEEL_SWIM_LEFT_0 + SpriteDataPointer SeelSwimLeftFrame1Sprite, SPRITE2_SEEL_SWIM_LEFT_1 + SpriteDataPointer SeelSwimLeftFrame2Sprite, SPRITE2_SEEL_SWIM_LEFT_2 + SpriteDataPointer SeelTurnLeftToRightFrame0Sprite, SPRITE2_SEEL_TURN_LEFT_TO_RIGHT_0 + SpriteDataPointer SeelTurnLeftToRightFrame1Sprite, SPRITE2_SEEL_TURN_LEFT_TO_RIGHT_1 + SpriteDataPointer SeelTurnRightToLeftFrame2Sprite, SPRITE2_SEEL_TURN_RIGHT_TO_LEFT_2 + SpriteDataPointer SeelTurnRightToLeftFrame3Sprite, SPRITE2_SEEL_TURN_RIGHT_TO_LEFT_3 + SpriteDataPointer SeelMultiplier2Frame0Sprite, SPRITE2_SEEL_MULTIPLIER_2_FRAME_0 + SpriteDataPointer SeelMultiplier2Frame1Sprite, SPRITE2_SEEL_MULTIPLIER_2_FRAME_1 + SpriteDataPointer SeelMultiplier2Frame2Sprite, SPRITE2_SEEL_MULTIPLIER_2_FRAME_2 + SpriteDataPointer SeelMultiplier4Frame0Sprite, SPRITE2_SEEL_MULTIPLIER_4_FRAME_0 + SpriteDataPointer SeelMultiplier4Frame1Sprite, SPRITE2_SEEL_MULTIPLIER_4_FRAME_1 + SpriteDataPointer SeelMultiplier4Frame2Sprite, SPRITE2_SEEL_MULTIPLIER_4_FRAME_2 + SpriteDataPointer SeelMultiplier8Frame0Sprite, SPRITE2_SEEL_MULTIPLIER_8_FRAME_0 + SpriteDataPointer SeelMultiplier8Frame1Sprite, SPRITE2_SEEL_MULTIPLIER_8_FRAME_1 + SpriteDataPointer SeelMultiplier8Frame2Sprite, SPRITE2_SEEL_MULTIPLIER_8_FRAME_2 + SpriteDataPointer SeelMultiplier16Frame0Sprite, SPRITE2_SEEL_MULTIPLIER_16_FRAME_0 + SpriteDataPointer SeelMultiplier16Frame1Sprite, SPRITE2_SEEL_MULTIPLIER_16_FRAME_1 + SpriteDataPointer SeelMultiplier16Frame2Sprite, SPRITE2_SEEL_MULTIPLIER_16_FRAME_2 + SpriteDataPointer SeelMultiplier32Frame0Sprite, SPRITE2_SEEL_MULTIPLIER_32_FRAME_0 + SpriteDataPointer SeelMultiplier32Frame1Sprite, SPRITE2_SEEL_MULTIPLIER_32_FRAME_1 + SpriteDataPointer SeelMultiplier32Frame2Sprite, SPRITE2_SEEL_MULTIPLIER_32_FRAME_2 + SpriteDataPointer SeelMultiplier64Frame0Sprite, SPRITE2_SEEL_MULTIPLIER_64_FRAME_0 + SpriteDataPointer SeelMultiplier64Frame1Sprite, SPRITE2_SEEL_MULTIPLIER_64_FRAME_1 + SpriteDataPointer SeelMultiplier64Frame2Sprite, SPRITE2_SEEL_MULTIPLIER_64_FRAME_2 + SpriteDataPointer SeelMultiplier128Frame0Sprite, SPRITE2_SEEL_MULTIPLIER_128_FRAME_0 + SpriteDataPointer SeelMultiplier128Frame1Sprite, SPRITE2_SEEL_MULTIPLIER_128_FRAME_1 + SpriteDataPointer SeelMultiplier128Frame2Sprite, SPRITE2_SEEL_MULTIPLIER_128_FRAME_2 + SpriteDataPointer SeelMultiplier256Frame0Sprite, SPRITE2_SEEL_MULTIPLIER_256_FRAME_0 + SpriteDataPointer SeelMultiplier256Frame1Sprite, SPRITE2_SEEL_MULTIPLIER_256_FRAME_1 + SpriteDataPointer SeelMultiplier256Frame2Sprite, SPRITE2_SEEL_MULTIPLIER_256_FRAME_2 + SpriteDataPointer SeelProgressSparkleFrame0, SPRITE2_SEEL_PROGRESS_SPARKLE_0 + SpriteDataPointer SeelProgressSparkleFrame1, SPRITE2_SEEL_PROGRESS_SPARKLE_1 GastlyFrame0Sprite: ; 0x56e1 db $20, $20, $9E, $04 @@ -2782,7 +2782,7 @@ OribitingBallGrowingFrame6Sprite: ; 0x db $10, $08, $D2, $11 db $80 ; terminator -SpriteData2_21: ; 0x +MeowthWalkLeftFrame0Sprite: ; 0x db $1E, $1F, $9E, $11 db $1E, $17, $9C, $11 db $1E, $0F, $9A, $11 @@ -2793,7 +2793,7 @@ SpriteData2_21: ; 0x db $0E, $07, $90, $11 db $80 ; terminator -SpriteData2_22: ; 0x +MeowthWalkLeftFrame1Sprite: ; 0x db $20, $20, $1E, $11 db $20, $18, $1C, $11 db $20, $10, $1A, $11 @@ -2804,7 +2804,7 @@ SpriteData2_22: ; 0x db $10, $08, $A0, $11 db $80 ; terminator -SpriteData2_23: ; 0x +MeowthWalkLeftFrame2Sprite: ; 0x db $0E, $1F, $96, $11 db $0E, $17, $94, $11 db $0E, $0F, $92, $11 @@ -2815,7 +2815,7 @@ SpriteData2_23: ; 0x db $1E, $07, $20, $11 db $80 ; terminator -SpriteData2_24: ; 0x +MeowthLeftHitSprite: ; 0x db $1A, $24, $34, $11 db $1A, $1C, $32, $11 db $1A, $14, $30, $11 @@ -2825,7 +2825,7 @@ SpriteData2_24: ; 0x db $0A, $0C, $28, $11 db $80 ; terminator -SpriteData2_25: ; 0x +MeowthWalkRightFrame0Sprite: ; 0x db $1E, $07, $9E, $31 db $1E, $0F, $9C, $31 db $1E, $17, $9A, $31 @@ -2836,7 +2836,7 @@ SpriteData2_25: ; 0x db $0E, $1F, $90, $31 db $80 ; terminator -SpriteData2_26: ; 0x +MeowthWalkRightFrame1Sprite: ; 0x db $20, $08, $1E, $31 db $20, $10, $1C, $31 db $20, $18, $1A, $31 @@ -2847,7 +2847,7 @@ SpriteData2_26: ; 0x db $10, $20, $A0, $31 db $80 ; terminator -SpriteData2_27: ; 0x +MeowthWalkRightFrame2Sprite: ; 0x db $0E, $07, $96, $31 db $0E, $0F, $94, $31 db $0E, $17, $92, $31 @@ -2858,7 +2858,7 @@ SpriteData2_27: ; 0x db $1E, $1F, $20, $31 db $80 ; terminator -SpriteData2_28: ; 0x +MeowthRightHitSprite: ; 0x db $1A, $0C, $34, $31 db $1A, $14, $32, $31 db $1A, $1C, $30, $31 @@ -2868,54 +2868,54 @@ SpriteData2_28: ; 0x db $0A, $24, $28, $31 db $80 ; terminator -SpriteData2_29: ; 0x +MeowthCoinSpawnFrame0Sprite: ; 0x db $10, $0C, $36, $13 db $80 ; terminator -SpriteData2_2a: ; 0x +MeowthCoinSpawnFrame1Sprite: ; 0x db $10, $10, $3A, $13 db $10, $08, $38, $13 db $80 ; terminator -SpriteData2_2b: ; 0x +MeowthCoinIdleFrame0Sprite: ; 0x db $10, $10, $3E, $13 db $10, $08, $3C, $13 db $80 ; terminator -SpriteData2_2c: ; 0x +MeowthCoinIdleFrame1Sprite: ; 0x db $10, $10, $7C, $13 db $10, $08, $7A, $13 db $80 ; terminator -SpriteData2_2d: ; 0x +MeowthCoinCollectFrame0Sprite: ; 0x db $10, $10, $AA, $13 db $10, $08, $7E, $13 db $80 ; terminator -SpriteData2_2e: ; 0x +MeowthCoinCollectFrame1Sprite: ; 0x db $10, $0F, $AC, $33 db $10, $08, $AC, $13 db $80 ; terminator -SpriteData2_2f: ; 0x +MeowthCoinCollectFrame2Sprite: ; 0x db $10, $0F, $AE, $33 db $10, $08, $AE, $13 db $80 ; terminator -SpriteData2_30: ; 0x +MeowthCoinCollectFrame3Sprite: ; 0x db $10, $0F, $B0, $33 db $10, $08, $B0, $13 db $80 ; terminator -SpriteData2_31: ; 0x +MeowthCoinCollectFrame4Sprite: ; 0x db $10, $0C, $B2, $13 db $80 ; terminator -SpriteData2_32: ; 0x +MeowthCoinCollectFrame5Sprite: ; 0x db $10, $0C, $B4, $13 db $80 ; terminator -SpriteData2_33: ; 0x +MeowthTimeoutFrame0Sprite: ; 0x db $20, $20, $C4, $11 db $20, $18, $C2, $11 db $20, $10, $C0, $11 @@ -2926,7 +2926,7 @@ SpriteData2_33: ; 0x db $10, $08, $B6, $11 db $80 ; terminator -SpriteData2_34: ; 0x +MeowthTimeoutFrame1Sprite: ; 0x db $20, $20, $CE, $11 db $20, $18, $CC, $11 db $20, $10, $CA, $11 @@ -2937,86 +2937,86 @@ SpriteData2_34: ; 0x db $10, $08, $B6, $11 db $80 ; terminator -SpriteData2_35: ; 0x +MeowthMultiplier2Frame0Sprite: ; 0x db $0A, $10, $D2, $00 db $0A, $08, $D0, $00 db $80 ; terminator -SpriteData2_36: ; 0x +MeowthMultiplier2Frame1Sprite: ; 0x db $08, $10, $D2, $00 db $08, $08, $D0, $00 db $80 ; terminator -SpriteData2_37: ; 0x +MeowthMultiplier2Frame2Sprite: ; 0x db $06, $10, $D2, $00 db $06, $08, $D0, $00 db $80 ; terminator -SpriteData2_38: ; 0x +MeowthMultiplier3Frame0Sprite: ; 0x db $0A, $10, $D4, $00 db $0A, $08, $D0, $00 db $80 ; terminator -SpriteData2_39: ; 0x +MeowthMultiplier3Frame1Sprite: ; 0x db $08, $10, $D4, $00 db $08, $08, $D0, $00 db $80 ; terminator -SpriteData2_3a: ; 0x +MeowthMultiplier3Frame2Sprite: ; 0x db $06, $10, $D4, $00 db $06, $08, $D0, $00 db $80 ; terminator -SpriteData2_3b: ; 0x +MeowthMultiplier4Frame0Sprite: ; 0x db $0A, $10, $D6, $00 db $0A, $08, $D0, $00 db $80 ; terminator -SpriteData2_3c: ; 0x +MeowthMultiplier4Frame1Sprite: ; 0x db $08, $10, $D6, $00 db $08, $08, $D0, $00 db $80 ; terminator -SpriteData2_3d: ; 0x +MeowthMultiplier4Frame2Sprite: ; 0x db $05, $10, $D6, $00 db $05, $08, $D0, $00 db $80 ; terminator -SpriteData2_3e: ; 0x +MeowthMultiplier5Frame0Sprite: ; 0x db $0A, $10, $D8, $00 db $0A, $08, $D0, $00 db $80 ; terminator -SpriteData2_3f: ; 0x +MeowthMultiplier5Frame1Sprite: ; 0x db $08, $10, $D8, $00 db $08, $08, $D0, $00 db $80 ; terminator -SpriteData2_40: ; 0x +MeowthMultiplier5Frame2Sprite: ; 0x db $05, $10, $D8, $00 db $05, $08, $D0, $00 db $80 ; terminator -SpriteData2_41: ; 0x +MeowthMultiplier6Frame0Sprite: ; 0x db $0A, $10, $DA, $00 db $0A, $08, $D0, $00 db $80 ; terminator -SpriteData2_42: ; 0x +MeowthMultiplier6Frame1Sprite: ; 0x db $08, $10, $DA, $00 db $08, $08, $D0, $00 db $80 ; terminator -SpriteData2_43: ; 0x +MeowthMultiplier6Frame2Sprite: ; 0x db $05, $10, $DA, $00 db $05, $08, $D0, $00 db $80 ; terminator -SpriteData2_44: ; 0x +MeowthProgressSparkleFrame0Sprite: ; 0x db $10, $08, $DC, $00 db $80 ; terminator -SpriteData2_45: ; 0x +MeowthProgressSparkleFrame1Sprite: ; 0x db $10, $08, $DE, $00 db $80 ; terminator @@ -3172,7 +3172,7 @@ DefeatedDugtrioSprite: ; 0x db $10, $08, $90, $11 db $80 ; terminator -SpriteData2_54: ; 0x +SeelPeekingFrame0Sprite: ; 0x db $20, $20, $9A, $11 db $20, $18, $98, $11 db $20, $10, $96, $11 @@ -3181,7 +3181,7 @@ SpriteData2_54: ; 0x db $10, $10, $90, $11 db $80 ; terminator -SpriteData2_55: ; 0x +SeelPeekingFrame1Sprite: ; 0x db $20, $20, $A6, $11 db $20, $18, $A4, $11 db $20, $10, $A2, $11 @@ -3190,7 +3190,7 @@ SpriteData2_55: ; 0x db $10, $10, $9C, $11 db $80 ; terminator -SpriteData2_56: ; 0x +SeelHitSprite: ; 0x db $20, $20, $22, $11 db $20, $18, $20, $11 db $20, $10, $1E, $11 @@ -3199,57 +3199,57 @@ SpriteData2_56: ; 0x db $10, $10, $A8, $11 db $80 ; terminator -SpriteData2_57: ; 0x +SeelSwimRightFrame0Sprite: ; 0x db $26, $1E, $2A, $13 db $26, $16, $28, $13 db $26, $0E, $26, $13 db $26, $06, $24, $13 db $80 ; terminator -SpriteData2_58: ; 0x +SeelSwimRightFrame1Sprite: ; 0x db $26, $1E, $32, $13 db $26, $16, $30, $13 db $26, $0E, $2E, $13 db $26, $06, $2C, $13 db $80 ; terminator -SpriteData2_59: ; 0x +SeelSwimRightFrame2Sprite: ; 0x db $26, $1E, $3A, $13 db $26, $16, $38, $13 db $26, $0E, $36, $13 db $26, $06, $34, $13 db $80 ; terminator -SpriteData2_5a: ; 0x +SeelTurnRightToLeftFrame0Sprite: ; 0x db $25, $1E, $7C, $13 db $25, $16, $7A, $13 db $25, $0E, $3E, $13 db $25, $06, $3C, $13 db $80 ; terminator -SpriteData2_5b: ; 0x +SeelTurnRightToLeftFrame1Sprite: ; 0x db $24, $1B, $AC, $13 db $24, $13, $AA, $13 db $24, $0B, $7E, $13 db $80 ; terminator -SpriteData2_5c: ; 0x +SeelShadowCircle0Sprite: ; 0x db $24, $18, $B0, $13 db $24, $10, $AE, $13 db $80 ; terminator -SpriteData2_5d: ; 0x +SeelShadowCircle1Sprite: ; 0x db $22, $18, $B4, $13 db $22, $10, $B2, $13 db $80 ; terminator -SpriteData2_5e: ; 0x +SeelShadowCircle2Sprite: ; 0x db $20, $1E, $BA, $13 db $20, $16, $B8, $13 db $20, $0E, $B6, $13 db $80 ; terminator -SpriteData2_5f: ; 0x +SeelEmergeFrame0Sprite: ; 0x db $20, $20, $C6, $11 db $20, $18, $C4, $11 db $20, $10, $C2, $11 @@ -3258,7 +3258,7 @@ SpriteData2_5f: ; 0x db $10, $10, $BC, $11 db $80 ; terminator -SpriteData2_60: ; 0x +SeelEmergeFrame1Sprite: ; 0x db $20, $20, $D2, $11 db $20, $18, $D0, $11 db $20, $10, $CE, $11 @@ -3267,7 +3267,7 @@ SpriteData2_60: ; 0x db $10, $10, $C8, $11 db $80 ; terminator -SpriteData2_61: ; 0x +SeelSplashSprite: ; 0x db $20, $20, $DE, $11 db $20, $18, $DC, $11 db $20, $10, $DA, $11 @@ -3276,211 +3276,211 @@ SpriteData2_61: ; 0x db $10, $10, $D4, $11 db $80 ; terminator -SpriteData2_62: ; 0x +SeelTurnLeftToRightFrame2Sprite: ; 0x db $25, $1B, $AD, $53 db $25, $13, $AB, $53 db $25, $0B, $7F, $53 db $80 ; terminator -SpriteData2_63: ; 0x +SeelTurnLeftToRightFrame3Sprite: ; 0x db $25, $1E, $7D, $53 db $25, $16, $7B, $53 db $25, $0E, $3F, $53 db $25, $06, $3D, $53 db $80 ; terminator -SpriteData2_64: ; 0x +SeelSwimLeftFrame0Sprite: ; 0x db $26, $09, $2A, $33 db $26, $11, $28, $33 db $26, $19, $26, $33 db $26, $21, $24, $33 db $80 ; terminator -SpriteData2_65: ; 0x +SeelSwimLeftFrame1Sprite: ; 0x db $26, $09, $32, $33 db $26, $11, $30, $33 db $26, $19, $2E, $33 db $26, $21, $2C, $33 db $80 ; terminator -SpriteData2_66: ; 0x +SeelSwimLeftFrame2Sprite: ; 0x db $26, $09, $3A, $33 db $26, $11, $38, $33 db $26, $19, $36, $33 db $26, $21, $34, $33 db $80 ; terminator -SpriteData2_67: ; 0x +SeelTurnLeftToRightFrame0Sprite: ; 0x db $25, $09, $7C, $33 db $25, $11, $7A, $33 db $25, $19, $3E, $33 db $25, $21, $3C, $33 db $80 ; terminator -SpriteData2_68: ; 0x +SeelTurnLeftToRightFrame1Sprite: ; 0x db $24, $0E, $AC, $33 db $24, $16, $AA, $33 db $24, $1E, $7E, $33 db $80 ; terminator -SpriteData2_69: ; 0x +SeelTurnRightToLeftFrame2Sprite: ; 0x db $25, $0E, $AD, $73 db $25, $16, $AB, $73 db $25, $1E, $7F, $73 db $80 ; terminator -SpriteData2_6a: ; 0x +SeelTurnRightToLeftFrame3Sprite: ; 0x db $25, $09, $7D, $73 db $25, $11, $7B, $73 db $25, $19, $3F, $73 db $25, $21, $3D, $73 db $80 ; terminator -SpriteData2_6b: ; 0x +SeelMultiplier2Frame0Sprite: ; 0x db $02, $18, $E4, $00 db $02, $10, $E0, $00 db $80 ; terminator -SpriteData2_6c: ; 0x +SeelMultiplier2Frame1Sprite: ; 0x db $00, $18, $E4, $00 db $00, $10, $E0, $00 db $80 ; terminator -SpriteData2_6d: ; 0x +SeelMultiplier2Frame2Sprite: ; 0x db $FE, $18, $E4, $00 db $FE, $10, $E0, $00 db $80 ; terminator -SpriteData2_6e: ; 0x +SeelMultiplier4Frame0Sprite: ; 0x db $02, $18, $E8, $00 db $02, $10, $E0, $00 db $80 ; terminator -SpriteData2_6f: ; 0x +SeelMultiplier4Frame1Sprite: ; 0x db $00, $18, $E8, $00 db $00, $10, $E0, $00 db $80 ; terminator -SpriteData2_70: ; 0x +SeelMultiplier4Frame2Sprite: ; 0x db $FE, $18, $E8, $00 db $FE, $10, $E0, $00 db $80 ; terminator -SpriteData2_71: ; 0x +SeelMultiplier8Frame0Sprite: ; 0x db $02, $18, $EE, $00 db $02, $10, $E0, $00 db $80 ; terminator -SpriteData2_72: ; 0x +SeelMultiplier8Frame1Sprite: ; 0x db $00, $18, $EE, $00 db $00, $10, $E0, $00 db $80 ; terminator -SpriteData2_73: ; 0x +SeelMultiplier8Frame2Sprite: ; 0x db $FE, $18, $EE, $00 db $FE, $10, $E0, $00 db $80 ; terminator -SpriteData2_74: ; 0x +SeelMultiplier16Frame0Sprite: ; 0x db $02, $1C, $EC, $00 db $02, $14, $E2, $00 db $02, $0C, $E0, $00 db $80 ; terminator -SpriteData2_75: ; 0x +SeelMultiplier16Frame1Sprite: ; 0x db $00, $1C, $EC, $00 db $00, $14, $E2, $00 db $00, $0C, $E0, $00 db $80 ; terminator -SpriteData2_76: ; 0x +SeelMultiplier16Frame2Sprite: ; 0x db $FE, $1C, $EC, $00 db $FE, $14, $E2, $00 db $FE, $0C, $E0, $00 db $80 ; terminator -SpriteData2_77: ; 0x +SeelMultiplier32Frame0Sprite: ; 0x db $02, $1C, $E4, $00 db $02, $14, $E6, $00 db $02, $0C, $E0, $00 db $80 ; terminator -SpriteData2_78: ; 0x +SeelMultiplier32Frame1Sprite: ; 0x db $00, $1C, $E4, $00 db $00, $14, $E6, $00 db $00, $0C, $E0, $00 db $80 ; terminator -SpriteData2_79: ; 0x +SeelMultiplier32Frame2Sprite: ; 0x db $FE, $1C, $E4, $00 db $FE, $14, $E6, $00 db $FE, $0C, $E0, $00 db $80 ; terminator -SpriteData2_7a: ; 0x +SeelMultiplier64Frame0Sprite: ; 0x db $02, $1C, $E8, $00 db $02, $14, $EC, $00 db $02, $0C, $E0, $00 db $80 ; terminator -SpriteData2_7b: ; 0x +SeelMultiplier64Frame1Sprite: ; 0x db $00, $1C, $E8, $00 db $00, $14, $EC, $00 db $00, $0C, $E0, $00 db $80 ; terminator -SpriteData2_7c: ; 0x +SeelMultiplier64Frame2Sprite: ; 0x db $FE, $1C, $E8, $00 db $FE, $14, $EC, $00 db $FE, $0C, $E0, $00 db $80 ; terminator -SpriteData2_7d: ; 0x +SeelMultiplier128Frame0Sprite: ; 0x db $02, $20, $EE, $00 db $02, $18, $E4, $00 db $02, $10, $E2, $00 db $02, $08, $E0, $00 db $80 ; terminator -SpriteData2_7e: ; 0x +SeelMultiplier128Frame1Sprite: ; 0x db $00, $20, $EE, $00 db $00, $18, $E4, $00 db $00, $10, $E2, $00 db $00, $08, $E0, $00 db $80 ; terminator -SpriteData2_7f: ; 0x +SeelMultiplier128Frame2Sprite: ; 0x db $FE, $20, $EE, $00 db $FE, $18, $E4, $00 db $FE, $10, $E2, $00 db $FE, $08, $E0, $00 db $80 ; terminator -SpriteData2_80: ; 0x +SeelMultiplier256Frame0Sprite: ; 0x db $02, $20, $EC, $00 db $02, $18, $EA, $00 db $02, $10, $E4, $00 db $02, $08, $E0, $00 db $80 ; terminator -SpriteData2_81: ; 0x +SeelMultiplier256Frame1Sprite: ; 0x db $00, $20, $EC, $00 db $00, $18, $EA, $00 db $00, $10, $E4, $00 db $00, $08, $E0, $00 db $80 ; terminator -SpriteData2_82: ; 0x +SeelMultiplier256Frame2Sprite: ; 0x db $FE, $20, $EC, $00 db $FE, $18, $EA, $00 db $FE, $10, $E4, $00 db $FE, $08, $E0, $00 db $80 ; terminator -SpriteData2_83: ; 0x6258 +SeelProgressSparkleFrame0: ; 0x6258 db $10, $08, $F0, $00 db $80 ; terminator -SpriteData2_84: ; 0x625d +SeelProgressSparkleFrame1: ; 0x625d db $10, $08, $F2, $00 db $80 ; terminator diff --git a/engine/pinball_game/ball_init/ball_init_meowth_bonus.asm b/engine/pinball_game/ball_init/ball_init_meowth_bonus.asm index 5bac12e..9a03093 100644 --- a/engine/pinball_game/ball_init/ball_init_meowth_bonus.asm +++ b/engine/pinball_game/ball_init/ball_init_meowth_bonus.asm @@ -42,31 +42,31 @@ InitBallMeowthBonusStage: ; 0x24059 ld [wNumActiveJewelsBottom], a ld [wNumActiveJewelsTop], a ld a, $c8 - ld [wd71a], a - ld [wd727], a - ld [wd71b], a - ld [wd728], a - ld [wd71c], a - ld [wd729], a - ld [wd724], a - ld [wd731], a - ld [wd725], a - ld [wd732], a - ld [wd726], a - ld [wd733], a + ld [wMeowthJewel0XCoord], a + ld [wMeowthJewel0YCoord], a + ld [wMeowthJewel1XCoord], a + ld [wMeowthJewel1YCoord], a + ld [wMeowthJewel2XCoord], a + ld [wMeowthJewel2YCoord], a + ld [wMeowthJewel3XCoord], a + ld [wMeowthJewel3YCoord], a + ld [wMeowthJewel4XCoord], a + ld [wMeowthJewel4YCoord], a + ld [wMeowthJewel5XCoord], a + ld [wMeowthJewel5YCoord], a xor a - ld [wd717], a - ld [wd718], a - ld [wd719], a - ld [wd721], a - ld [wd722], a - ld [wd723], a - ld [wd714], a - ld [wd715], a - ld [wd716], a - ld [wd71e], a - ld [wd71f], a - ld [wd720], a + ld [wMeowthJewel0State], a + ld [wMeowthJewel1State], a + ld [wMeowthJewel2State], a + ld [wMeowthJewel3State], a + ld [wMeowthJewel4State], a + ld [wMeowthJewel5State], a + ld [wMeowthJewel0AnimationIndex], a + ld [wMeowthJewel1AnimationIndex], a + ld [wMeowthJewel2AnimationIndex], a + ld [wMeowthJewel3AnimationIndex], a + ld [wMeowthJewel4AnimationIndex], a + ld [wMeowthJewel5AnimationIndex], a ld [wd64e], a ld [wd64f], a ld [wd650], a diff --git a/engine/pinball_game/draw_sprites/draw_meowth_bonus_sprites.asm b/engine/pinball_game/draw_sprites/draw_meowth_bonus_sprites.asm index c1e62b8..1832733 100644 --- a/engine/pinball_game/draw_sprites/draw_meowth_bonus_sprites.asm +++ b/engine/pinball_game/draw_sprites/draw_meowth_bonus_sprites.asm @@ -22,98 +22,113 @@ Func_2586c: ; 0x2586c ld a, [wMeowthAnimationFrame] ld e, a ld d, $0 - ld hl, SpriteIds_2588b + ld hl, MeowthSpriteIds add hl, de ld a, [hl] call LoadSpriteData2 ret -SpriteIds_2588b: - db $21, $22, $23, $24, $25, $26, $27, $28, $33, $34 +MeowthSpriteIds: + MACRO MeowthSpriteId + const \2 + db \1 + ENDM + const_def + + MeowthSpriteId SPRITE2_MEOWTH_LEFT_WALK_0, MEOWTHSPRITE_LEFT_WALK_0 + MeowthSpriteId SPRITE2_MEOWTH_LEFT_WALK_1, MEOWTHSPRITE_LEFT_WALK_1 + MeowthSpriteId SPRITE2_MEOWTH_LEFT_WALK_2, MEOWTHSPRITE_LEFT_WALK_2 + MeowthSpriteId SPRITE2_MEOWTH_LEFT_HIT, MEOWTHSPRITE_LEFT_HIT + MeowthSpriteId SPRITE2_MEOWTH_RIGHT_WALK_0, MEOWTHSPRITE_RIGHT_WALK_0 + MeowthSpriteId SPRITE2_MEOWTH_RIGHT_WALK_1, MEOWTHSPRITE_RIGHT_WALK_1 + MeowthSpriteId SPRITE2_MEOWTH_RIGHT_WALK_2, MEOWTHSPRITE_RIGHT_WALK_2 + MeowthSpriteId SPRITE2_MEOWTH_RIGHT_HIT, MEOWTHSPRITE_RIGHT_HIT + MeowthSpriteId SPRITE2_MEOWTH_TIMEOUT_0, MEOWTHSPRITE_TIMEOUT_0 + MeowthSpriteId SPRITE2_MEOWTH_TIMEOUT_1, MEOWTHSPRITE_TIMEOUT_1 Func_25895: ; 0x25895 - ld a, [wd714] - cp $b + ld a, [wMeowthJewel0AnimationIndex] + cp $b ; each entry of MeowthJewelSpriteIdsTable has 11 entries jr nz, .asm_258a0 xor a - ld [wd714], a + ld [wMeowthJewel0AnimationIndex], a .asm_258a0 - ld a, [wd715] + ld a, [wMeowthJewel1AnimationIndex] cp $b jr nz, .asm_258ab xor a - ld [wd715], a + ld [wMeowthJewel1AnimationIndex], a .asm_258ab - ld a, [wd716] + ld a, [wMeowthJewel2AnimationIndex] cp $b jr nz, .asm_258b6 xor a - ld [wd716], a + ld [wMeowthJewel2AnimationIndex], a .asm_258b6 - ld a, [wd71a] + ld a, [wMeowthJewel0XCoord] ld hl, hSCX sub [hl] ld b, a - ld a, [wd727] + ld a, [wMeowthJewel0YCoord] ld hl, hSCY sub [hl] ld c, a - ld a, [wd717] + ld a, [wMeowthJewel0State] sla a ld e, a ld d, $0 - ld hl, SpritePointers_25935 + ld hl, MeowthJewelSpriteIdsTable add hl, de ld a, [hli] ld h, [hl] ld l, a - ld a, [wd714] + ld a, [wMeowthJewel0AnimationIndex] ld e, a ld d, $0 add hl, de ld a, [hl] call LoadSpriteData2 - ld a, [wd71b] + ld a, [wMeowthJewel1XCoord] ld hl, hSCX sub [hl] ld b, a - ld a, [wd728] + ld a, [wMeowthJewel1YCoord] ld hl, hSCY sub [hl] ld c, a - ld a, [wd718] + ld a, [wMeowthJewel1State] sla a ld e, a ld d, $0 - ld hl, SpritePointers_25935 + ld hl, MeowthJewelSpriteIdsTable add hl, de ld a, [hli] ld h, [hl] ld l, a - ld a, [wd715] + ld a, [wMeowthJewel1AnimationIndex] ld e, a ld d, $0 add hl, de ld a, [hl] call LoadSpriteData2 - ld a, [wd71c] + ld a, [wMeowthJewel2XCoord] ld hl, hSCX sub [hl] ld b, a - ld a, [wd729] + ld a, [wMeowthJewel2YCoord] ld hl, hSCY sub [hl] ld c, a - ld a, [wd719] + ld a, [wMeowthJewel2State] sla a ld e, a ld d, $0 - ld hl, SpritePointers_25935 + ld hl, MeowthJewelSpriteIdsTable add hl, de ld a, [hli] ld h, [hl] ld l, a - ld a, [wd716] + ld a, [wMeowthJewel2AnimationIndex] ld e, a ld d, $0 add hl, de @@ -121,104 +136,134 @@ Func_25895: ; 0x25895 call LoadSpriteData2 ret -SpritePointers_25935: - dw SpriteIds_2593d - dw SpriteIds_2593d - dw SpriteIds_25948 - dw SpriteIds_25953 +MeowthJewelSpriteIdsTable: + dw MeowthJewelSpawnSpriteIds + dw MeowthJewelSpawnSpriteIds + dw MeowthJewelIdleSpriteIds + dw MeowthJewelCollectSpriteIds -SpriteIds_2593d: - db $29, $29, $29, $29, $2A, $2A, $2A, $2A, $2A, $2A, $2A +MeowthJewelSpawnSpriteIds: + db SPRITE2_MEOWTHJEWEL_SPAWN_0 + db SPRITE2_MEOWTHJEWEL_SPAWN_0 + db SPRITE2_MEOWTHJEWEL_SPAWN_0 + db SPRITE2_MEOWTHJEWEL_SPAWN_0 + db SPRITE2_MEOWTHJEWEL_SPAWN_1 + db SPRITE2_MEOWTHJEWEL_SPAWN_1 + db SPRITE2_MEOWTHJEWEL_SPAWN_1 + db SPRITE2_MEOWTHJEWEL_SPAWN_1 + db SPRITE2_MEOWTHJEWEL_SPAWN_1 + db SPRITE2_MEOWTHJEWEL_SPAWN_1 + db SPRITE2_MEOWTHJEWEL_SPAWN_1 -SpriteIds_25948: - db $2B, $2B, $2B, $2B, $2B, $2B, $2B, $2C, $2C, $2C, $2C +MeowthJewelIdleSpriteIds: + db SPRITE2_MEOWTHJEWEL_IDLE_0 + db SPRITE2_MEOWTHJEWEL_IDLE_0 + db SPRITE2_MEOWTHJEWEL_IDLE_0 + db SPRITE2_MEOWTHJEWEL_IDLE_0 + db SPRITE2_MEOWTHJEWEL_IDLE_0 + db SPRITE2_MEOWTHJEWEL_IDLE_0 + db SPRITE2_MEOWTHJEWEL_IDLE_0 + db SPRITE2_MEOWTHJEWEL_IDLE_1 + db SPRITE2_MEOWTHJEWEL_IDLE_1 + db SPRITE2_MEOWTHJEWEL_IDLE_1 + db SPRITE2_MEOWTHJEWEL_IDLE_1 -SpriteIds_25953: - db $2D, $32, $31, $30, $2F, $2E, $2F, $30, $31, $32, $32 +MeowthJewelCollectSpriteIds: + db SPRITE2_MEOWTHJEWEL_COLLECT_0 + db SPRITE2_MEOWTHJEWEL_COLLECT_5 + db SPRITE2_MEOWTHJEWEL_COLLECT_4 + db SPRITE2_MEOWTHJEWEL_COLLECT_3 + db SPRITE2_MEOWTHJEWEL_COLLECT_2 + db SPRITE2_MEOWTHJEWEL_COLLECT_1 + db SPRITE2_MEOWTHJEWEL_COLLECT_2 + db SPRITE2_MEOWTHJEWEL_COLLECT_3 + db SPRITE2_MEOWTHJEWEL_COLLECT_4 + db SPRITE2_MEOWTHJEWEL_COLLECT_5 + db SPRITE2_MEOWTHJEWEL_COLLECT_5 Func_2595e: ; 0x2595e - ld a, [wd71e] + ld a, [wMeowthJewel3AnimationIndex] cp $b jr nz, .asm_25969 xor a - ld [wd71e], a + ld [wMeowthJewel3AnimationIndex], a .asm_25969 - ld a, [wd71f] + ld a, [wMeowthJewel4AnimationIndex] cp $b jr nz, .asm_25974 xor a - ld [wd71f], a + ld [wMeowthJewel4AnimationIndex], a .asm_25974 - ld a, [wd720] + ld a, [wMeowthJewel5AnimationIndex] cp $b jr nz, .asm_2597f xor a - ld [wd720], a + ld [wMeowthJewel5AnimationIndex], a .asm_2597f - ld a, [wd724] + ld a, [wMeowthJewel3XCoord] ld hl, hSCX sub [hl] ld b, a - ld a, [wd731] + ld a, [wMeowthJewel3YCoord] ld hl, hSCY sub [hl] ld c, a - ld a, [wd721] + ld a, [wMeowthJewel3State] sla a ld e, a ld d, $0 - ld hl, SpritePointers_25935 + ld hl, MeowthJewelSpriteIdsTable add hl, de ld a, [hli] ld h, [hl] ld l, a - ld a, [wd71e] + ld a, [wMeowthJewel3AnimationIndex] ld e, a ld d, $0 add hl, de ld a, [hl] call LoadSpriteData2 - ld a, [wd725] + ld a, [wMeowthJewel4XCoord] ld hl, hSCX sub [hl] ld b, a - ld a, [wd732] + ld a, [wMeowthJewel4YCoord] ld hl, hSCY sub [hl] ld c, a - ld a, [wd722] + ld a, [wMeowthJewel4State] sla a ld e, a ld d, $0 - ld hl, SpritePointers_25935 + ld hl, MeowthJewelSpriteIdsTable add hl, de ld a, [hli] ld h, [hl] ld l, a - ld a, [wd71f] + ld a, [wMeowthJewel4AnimationIndex] ld e, a ld d, $0 add hl, de ld a, [hl] call LoadSpriteData2 - ld a, [wd726] + ld a, [wMeowthJewel5XCoord] ld hl, hSCX sub [hl] ld b, a - ld a, [wd733] + ld a, [wMeowthJewel5YCoord] ld hl, hSCY sub [hl] ld c, a - ld a, [wd723] + ld a, [wMeowthJewel5State] sla a ld e, a ld d, $0 - ld hl, SpritePointers_25935 + ld hl, MeowthJewelSpriteIdsTable add hl, de ld a, [hli] ld h, [hl] ld l, a - ld a, [wd720] + ld a, [wMeowthJewel5AnimationIndex] ld e, a ld d, $0 add hl, de @@ -250,16 +295,36 @@ Func_259fe: ; 0x259fe ld a, [de] ld e, a ld d, $0 - ld hl, SpriteIds_25a29 + ld hl, MeowthMultiplierSpriteIds add hl, de ld a, [hl] cp $ff call nz, LoadSpriteData2 ret -SpriteIds_25a29: - db $35, $36, $37, $38, $39, $3A, $3B, $3C, $3D, $3E, $3F, $40, $41, $42, $43 - db $FF +MeowthMultiplierSpriteIds: + MACRO MeowthMultiplierSpriteId + const \2 + db \1 + ENDM + const_def + + MeowthMultiplierSpriteId SPRITE2_MEOWTH_MULTIPLIER_2_FRAME_0, MEOWTHMULTIPLIERSPRITE_2_FRAME_0 + MeowthMultiplierSpriteId SPRITE2_MEOWTH_MULTIPLIER_2_FRAME_1, MEOWTHMULTIPLIERSPRITE_2_FRAME_1 + MeowthMultiplierSpriteId SPRITE2_MEOWTH_MULTIPLIER_2_FRAME_2, MEOWTHMULTIPLIERSPRITE_2_FRAME_2 + MeowthMultiplierSpriteId SPRITE2_MEOWTH_MULTIPLIER_3_FRAME_0, MEOWTHMULTIPLIERSPRITE_3_FRAME_0 + MeowthMultiplierSpriteId SPRITE2_MEOWTH_MULTIPLIER_3_FRAME_1, MEOWTHMULTIPLIERSPRITE_3_FRAME_1 + MeowthMultiplierSpriteId SPRITE2_MEOWTH_MULTIPLIER_3_FRAME_2, MEOWTHMULTIPLIERSPRITE_3_FRAME_2 + MeowthMultiplierSpriteId SPRITE2_MEOWTH_MULTIPLIER_4_FRAME_0, MEOWTHMULTIPLIERSPRITE_4_FRAME_0 + MeowthMultiplierSpriteId SPRITE2_MEOWTH_MULTIPLIER_4_FRAME_1, MEOWTHMULTIPLIERSPRITE_4_FRAME_1 + MeowthMultiplierSpriteId SPRITE2_MEOWTH_MULTIPLIER_4_FRAME_2, MEOWTHMULTIPLIERSPRITE_4_FRAME_2 + MeowthMultiplierSpriteId SPRITE2_MEOWTH_MULTIPLIER_5_FRAME_0, MEOWTHMULTIPLIERSPRITE_5_FRAME_0 + MeowthMultiplierSpriteId SPRITE2_MEOWTH_MULTIPLIER_5_FRAME_1, MEOWTHMULTIPLIERSPRITE_5_FRAME_1 + MeowthMultiplierSpriteId SPRITE2_MEOWTH_MULTIPLIER_5_FRAME_2, MEOWTHMULTIPLIERSPRITE_5_FRAME_2 + MeowthMultiplierSpriteId SPRITE2_MEOWTH_MULTIPLIER_6_FRAME_0, MEOWTHMULTIPLIERSPRITE_6_FRAME_0 + MeowthMultiplierSpriteId SPRITE2_MEOWTH_MULTIPLIER_6_FRAME_1, MEOWTHMULTIPLIERSPRITE_6_FRAME_1 + MeowthMultiplierSpriteId SPRITE2_MEOWTH_MULTIPLIER_6_FRAME_2, MEOWTHMULTIPLIERSPRITE_6_FRAME_2 + MeowthMultiplierSpriteId $FF, MEOWTHMULTIPLIERSPRITE_INVISIBLE Func_25a39: ; 0x25a39 ld a, [wd64e] @@ -282,7 +347,7 @@ Func_25a39: ; 0x25a39 .asm_25a58 ld de, $0001 .asm_25a5b - ld hl, SpriteIds_25a7a + ld hl, MeowthProgressSparkleSpriteIds add hl, de ld a, [hl] call LoadSpriteData2 @@ -301,5 +366,6 @@ Func_25a39: ; 0x25a39 ld [wd64e], a ret -SpriteIds_25a7a: ; 0x25a7a - db $44, $45 +MeowthProgressSparkleSpriteIds: ; 0x25a7a + db SPRITE2_MEOWTH_PROGRESS_SPARKLE_0 + db SPRITE2_MEOWTH_PROGRESS_SPARKLE_1 diff --git a/engine/pinball_game/draw_sprites/draw_seel_bonus_sprites.asm b/engine/pinball_game/draw_sprites/draw_seel_bonus_sprites.asm index 38ab614..2be9ebe 100644 --- a/engine/pinball_game/draw_sprites/draw_seel_bonus_sprites.asm +++ b/engine/pinball_game/draw_sprites/draw_seel_bonus_sprites.asm @@ -44,12 +44,39 @@ Func_26bbc: ; 0x26bbc call nz, LoadSpriteData2 ret -SpriteIds_26bdf: - db $54, $55, $56, $57, $58, $59, $5A, $5B, $5C, $5D, $5E, $5F, $60, $61, $62, $63 - db $64, $65, $66, $67, $68, $69, $6A - db $FF +SpriteIds_26bdf: ; 0x26bdf + MACRO SeelSpriteId + const \2 + db \1 + ENDM + const_def -Func_26bf7: ; 0x26bf7: ; 0x26bf7 + SeelSpriteId SPRITE2_SEEL_PEEKING_0, SEELSPRITE_PEEKING_0 + SeelSpriteId SPRITE2_SEEL_PEEKING_1, SEELSPRITE_PEEKING_1 + SeelSpriteId SPRITE2_SEEL_HIT, SEELSPRITE_HIT + SeelSpriteId SPRITE2_SEEL_SWIM_RIGHT_0, SEELSPRITE_SWIM_RIGHT_0 + SeelSpriteId SPRITE2_SEEL_SWIM_RIGHT_1, SEELSPRITE_SWIM_RIGHT_1 + SeelSpriteId SPRITE2_SEEL_SWIM_RIGHT_2, SEELSPRITE_SWIM_RIGHT_2 + SeelSpriteId SPRITE2_SEEL_TURN_RIGHT_TO_LEFT_0, SEELSPRITE_TURN_RIGHT_TO_LEFT_0 + SeelSpriteId SPRITE2_SEEL_TURN_RIGHT_TO_LEFT_1, SEELSPRITE_TURN_RIGHT_TO_LEFT_1 + SeelSpriteId SPRITE2_SEEL_SHADOW_CIRCLE_0, SEELSPRITE_SHADOW_CIRCLE_0 + SeelSpriteId SPRITE2_SEEL_SHADOW_CIRCLE_1, SEELSPRITE_SHADOW_CIRCLE_1 + SeelSpriteId SPRITE2_SEEL_SHADOW_CIRCLE_2, SEELSPRITE_SHADOW_CIRCLE_2 + SeelSpriteId SPRITE2_SEEL_EMERGE_0, SEELSPRITE_EMERGE_0 + SeelSpriteId SPRITE2_SEEL_EMERGE_1, SEELSPRITE_EMERGE_1 + SeelSpriteId SPRITE2_SEEL_SPLASH, SEELSPRITE_SPLASH + SeelSpriteId SPRITE2_SEEL_TURN_LEFT_TO_RIGHT_2, SEELSPRITE_TURN_LEFT_TO_RIGHT_2 + SeelSpriteId SPRITE2_SEEL_TURN_LEFT_TO_RIGHT_3, SEELSPRITE_TURN_LEFT_TO_RIGHT_3 + SeelSpriteId SPRITE2_SEEL_SWIM_LEFT_0, SEELSPRITE_SWIM_LEFT_0 + SeelSpriteId SPRITE2_SEEL_SWIM_LEFT_1, SEELSPRITE_SWIM_LEFT_1 + SeelSpriteId SPRITE2_SEEL_SWIM_LEFT_2, SEELSPRITE_SWIM_LEFT_2 + SeelSpriteId SPRITE2_SEEL_TURN_LEFT_TO_RIGHT_0, SEELSPRITE_TURN_LEFT_TO_RIGHT_0 + SeelSpriteId SPRITE2_SEEL_TURN_LEFT_TO_RIGHT_1, SEELSPRITE_TURN_LEFT_TO_RIGHT_1 + SeelSpriteId SPRITE2_SEEL_TURN_RIGHT_TO_LEFT_2, SEELSPRITE_TURN_RIGHT_TO_LEFT_2 + SeelSpriteId SPRITE2_SEEL_TURN_RIGHT_TO_LEFT_3, SEELSPRITE_TURN_RIGHT_TO_LEFT_3 + SeelSpriteId $FF, SEELSPRITE_INVISIBLE + +Func_26bf7: ; 0x26bf7 ld a, [wd795] cp $0 ret z @@ -73,17 +100,45 @@ Func_26bf7: ; 0x26bf7: ; 0x26bf7 ld a, [de] ld e, a ld d, $0 - ld hl, SpriteIds_26c23 + ld hl, SeelMultiplierSpriteIds add hl, de ld a, [hl] cp $ff call nz, LoadSpriteData2 ret -SpriteIds_26c23: - db $6B, $6C, $6D, $6E, $6F, $70, $71, $72, $73, $74, $75, $76, $77, $78, $79, $7A - db $7B, $7C, $7D, $7E, $7F, $80, $81, $82 - db $FF +SeelMultiplierSpriteIds: ; 0x26c23 + MACRO SeelMultiplierSpriteId + const \2 + db \1 + ENDM + const_def + + SeelMultiplierSpriteId SPRITE2_SEEL_MULTIPLIER_2_FRAME_0, SEELMULTIPLIERSPRITE_2_FRAME_0 + SeelMultiplierSpriteId SPRITE2_SEEL_MULTIPLIER_2_FRAME_1, SEELMULTIPLIERSPRITE_2_FRAME_1 + SeelMultiplierSpriteId SPRITE2_SEEL_MULTIPLIER_2_FRAME_2, SEELMULTIPLIERSPRITE_2_FRAME_2 + SeelMultiplierSpriteId SPRITE2_SEEL_MULTIPLIER_4_FRAME_0, SEELMULTIPLIERSPRITE_4_FRAME_0 + SeelMultiplierSpriteId SPRITE2_SEEL_MULTIPLIER_4_FRAME_1, SEELMULTIPLIERSPRITE_4_FRAME_1 + SeelMultiplierSpriteId SPRITE2_SEEL_MULTIPLIER_4_FRAME_2, SEELMULTIPLIERSPRITE_4_FRAME_2 + SeelMultiplierSpriteId SPRITE2_SEEL_MULTIPLIER_8_FRAME_0, SEELMULTIPLIERSPRITE_8_FRAME_0 + SeelMultiplierSpriteId SPRITE2_SEEL_MULTIPLIER_8_FRAME_1, SEELMULTIPLIERSPRITE_8_FRAME_1 + SeelMultiplierSpriteId SPRITE2_SEEL_MULTIPLIER_8_FRAME_2, SEELMULTIPLIERSPRITE_8_FRAME_2 + SeelMultiplierSpriteId SPRITE2_SEEL_MULTIPLIER_16_FRAME_0, SEELMULTIPLIERSPRITE_16_FRAME_0 + SeelMultiplierSpriteId SPRITE2_SEEL_MULTIPLIER_16_FRAME_1, SEELMULTIPLIERSPRITE_16_FRAME_1 + SeelMultiplierSpriteId SPRITE2_SEEL_MULTIPLIER_16_FRAME_2, SEELMULTIPLIERSPRITE_16_FRAME_2 + SeelMultiplierSpriteId SPRITE2_SEEL_MULTIPLIER_32_FRAME_0, SEELMULTIPLIERSPRITE_32_FRAME_0 + SeelMultiplierSpriteId SPRITE2_SEEL_MULTIPLIER_32_FRAME_1, SEELMULTIPLIERSPRITE_32_FRAME_1 + SeelMultiplierSpriteId SPRITE2_SEEL_MULTIPLIER_32_FRAME_2, SEELMULTIPLIERSPRITE_32_FRAME_2 + SeelMultiplierSpriteId SPRITE2_SEEL_MULTIPLIER_64_FRAME_0, SEELMULTIPLIERSPRITE_64_FRAME_0 + SeelMultiplierSpriteId SPRITE2_SEEL_MULTIPLIER_64_FRAME_1, SEELMULTIPLIERSPRITE_64_FRAME_1 + SeelMultiplierSpriteId SPRITE2_SEEL_MULTIPLIER_64_FRAME_2, SEELMULTIPLIERSPRITE_64_FRAME_2 + SeelMultiplierSpriteId SPRITE2_SEEL_MULTIPLIER_128_FRAME_0, SEELMULTIPLIERSPRITE_128_FRAME_0 + SeelMultiplierSpriteId SPRITE2_SEEL_MULTIPLIER_128_FRAME_1, SEELMULTIPLIERSPRITE_128_FRAME_1 + SeelMultiplierSpriteId SPRITE2_SEEL_MULTIPLIER_128_FRAME_2, SEELMULTIPLIERSPRITE_128_FRAME_2 + SeelMultiplierSpriteId SPRITE2_SEEL_MULTIPLIER_256_FRAME_0, SEELMULTIPLIERSPRITE_256_FRAME_0 + SeelMultiplierSpriteId SPRITE2_SEEL_MULTIPLIER_256_FRAME_1, SEELMULTIPLIERSPRITE_256_FRAME_1 + SeelMultiplierSpriteId SPRITE2_SEEL_MULTIPLIER_256_FRAME_2, SEELMULTIPLIERSPRITE_256_FRAME_2 + SeelMultiplierSpriteId $FF, SEELMULTIPLIERSPRITE_INVISIBLE Func_26c3c: ; 0x26c3c ld a, [wd64e] @@ -106,7 +161,7 @@ Func_26c3c: ; 0x26c3c .asm_26c5b ld de, $0001 .asm_26c5e - ld hl, SpriteIds_26c7d + ld hl, SeelProgressSparkleSpriteIds add hl, de ld a, [hl] call LoadSpriteData2 @@ -125,5 +180,6 @@ Func_26c3c: ; 0x26c3c ld [wd64e], a ret -SpriteIds_26c7d: - db $83, $84 +SeelProgressSparkleSpriteIds: ; 0x26c7d + db SPRITE2_SEEL_PROGRESS_SPARKLE_0 + db SPRITE2_SEEL_PROGRESS_SPARKLE_1 diff --git a/engine/pinball_game/object_collision/meowth_bonus_object_collision.asm b/engine/pinball_game/object_collision/meowth_bonus_object_collision.asm index af3f696..082df05 100644 --- a/engine/pinball_game/object_collision/meowth_bonus_object_collision.asm +++ b/engine/pinball_game/object_collision/meowth_bonus_object_collision.asm @@ -118,39 +118,39 @@ CheckMeowthCollision: ; 0x24170 ret CheckMeowthBonusStageJewelsCollision: ; 0x24214 - ld a, [wd717] + ld a, [wMeowthJewel0State] cp $2 jr nz, .asm_2422e - ld a, [wd71a] + ld a, [wMeowthJewel0XCoord] sub $4 ld b, a - ld a, [wd727] + ld a, [wMeowthJewel0YCoord] add $c ld c, a call CheckJewelCollision ld a, $0 jr c, .asm_24260 .asm_2422e - ld a, [wd718] + ld a, [wMeowthJewel1State] cp $2 jr nz, .asm_24248 - ld a, [wd71b] + ld a, [wMeowthJewel1XCoord] sub $4 ld b, a - ld a, [wd728] + ld a, [wMeowthJewel1YCoord] add $c ld c, a call CheckJewelCollision ld a, $1 jr c, .asm_24260 .asm_24248 - ld a, [wd719] + ld a, [wMeowthJewel2State] cp $2 ret nz - ld a, [wd71c] + ld a, [wMeowthJewel2XCoord] sub $4 ld b, a - ld a, [wd729] + ld a, [wMeowthJewel2YCoord] add $c ld c, a call CheckJewelCollision @@ -159,11 +159,11 @@ CheckMeowthBonusStageJewelsCollision: ; 0x24214 .asm_24260 ld b, $0 ld c, a - ld hl, wd717 + ld hl, wMeowthJewel0State add hl, bc ld a, $3 ld [hl], a - ld hl, wd714 + ld hl, wMeowthJewel0AnimationIndex add hl, bc ld a, $0 ld [hl], a @@ -216,39 +216,39 @@ CheckJewelCollision: ; 0x24272 ret CheckMeowthBonusStageJewelsCollision2: ; 0x242bb - ld a, [wd721] + ld a, [wMeowthJewel3State] cp $2 jr nz, .asm_242d5 - ld a, [wd724] + ld a, [wMeowthJewel3XCoord] sub $4 ld b, a - ld a, [wd731] + ld a, [wMeowthJewel3YCoord] add $c ld c, a call CheckJewelCollision ld a, $0 jr c, .asm_24307 .asm_242d5 - ld a, [wd722] + ld a, [wMeowthJewel4State] cp $2 jr nz, .asm_242ef - ld a, [wd725] + ld a, [wMeowthJewel4XCoord] sub $4 ld b, a - ld a, [wd732] + ld a, [wMeowthJewel4YCoord] add $c ld c, a call CheckJewelCollision ld a, $1 jr c, .asm_24307 .asm_242ef - ld a, [wd723] + ld a, [wMeowthJewel5State] cp $2 ret nz - ld a, [wd726] + ld a, [wMeowthJewel5XCoord] sub $4 ld b, a - ld a, [wd733] + ld a, [wMeowthJewel5YCoord] add $c ld c, a call CheckJewelCollision @@ -257,11 +257,11 @@ CheckMeowthBonusStageJewelsCollision2: ; 0x242bb .asm_24307 ld b, $0 ld c, a - ld hl, wd721 + ld hl, wMeowthJewel3State add hl, bc ld a, $3 ld [hl], a - ld hl, wd71e + ld hl, wMeowthJewel3AnimationIndex add hl, bc ld a, $0 ld [hl], a diff --git a/engine/pinball_game/object_collision/meowth_bonus_resolve_collision.asm b/engine/pinball_game/object_collision/meowth_bonus_resolve_collision.asm index ae93885..5d6f25a 100644 --- a/engine/pinball_game/object_collision/meowth_bonus_resolve_collision.asm +++ b/engine/pinball_game/object_collision/meowth_bonus_resolve_collision.asm @@ -2,10 +2,10 @@ Func_24319: ; 0x2438f ld a, [wd6f4] cp $0 jr z, .asm_24333 - ld a, [wd71a] + ld a, [wMeowthJewel0XCoord] sub $4 ld b, a - ld a, [wd727] + ld a, [wMeowthJewel0YCoord] add $4 ld c, a call Func_24405 @@ -15,10 +15,10 @@ Func_24319: ; 0x2438f ld a, [wd6f4] cp $1 jr z, .asm_2434d - ld a, [wd71b] + ld a, [wMeowthJewel1XCoord] sub $4 ld b, a - ld a, [wd728] + ld a, [wMeowthJewel1YCoord] add $4 ld c, a call Func_24405 @@ -28,10 +28,10 @@ Func_24319: ; 0x2438f ld a, [wd6f4] cp $2 ret z - ld a, [wd71c] + ld a, [wMeowthJewel2XCoord] sub $4 ld b, a - ld a, [wd729] + ld a, [wMeowthJewel2YCoord] add $4 ld c, a call Func_24405 @@ -68,10 +68,10 @@ Func_2438f: ; 0x2438f ld a, [wd6f4] cp $a jr z, .asm_243a9 - ld a, [wd724] + ld a, [wMeowthJewel3XCoord] sub $4 ld b, a - ld a, [wd731] + ld a, [wMeowthJewel3YCoord] add $4 ld c, a call Func_24405 @@ -81,10 +81,10 @@ Func_2438f: ; 0x2438f ld a, [wd6f4] cp $b jr z, .asm_243c3 - ld a, [wd725] + ld a, [wMeowthJewel4XCoord] sub $4 ld b, a - ld a, [wd732] + ld a, [wMeowthJewel4YCoord] add $4 ld c, a call Func_24405 @@ -94,10 +94,10 @@ Func_2438f: ; 0x2438f ld a, [wd6f4] cp $c ret z - ld a, [wd726] + ld a, [wMeowthJewel5XCoord] sub $4 ld b, a - ld a, [wd733] + ld a, [wMeowthJewel5YCoord] add $4 ld c, a call Func_24405 @@ -131,7 +131,7 @@ Func_2438f: ; 0x2438f ret Func_24405: ; 0x24405 - ld hl, wd71a + ld hl, wMeowthJewel0XCoord ld a, [wd6f4] ld e, a ld d, $0 @@ -142,7 +142,7 @@ Func_24405: ; 0x24405 cp $18 jr nc, .asm_24428 ld b, a - ld hl, wd727 + ld hl, wMeowthJewel0YCoord add hl, de ld a, [hl] add $8 @@ -555,33 +555,33 @@ MewothAnimationDataTable: ; 0x246e2 MeowthAnimationData1: ; 0x246ec ; Each entry is [sprite id][duration] - db $10, $00 - db $0B, $01 - db $10, $02 - db $0C, $01 + db $10, MEOWTHSPRITE_LEFT_WALK_0 + db $0B, MEOWTHSPRITE_LEFT_WALK_1 + db $10, MEOWTHSPRITE_LEFT_WALK_2 + db $0C, MEOWTHSPRITE_LEFT_WALK_1 db $00 ; terminator MeowthAnimationData2: ; 0x246f5 ; Each entry is [sprite id][duration] - db $10, $04 - db $0B, $05 - db $10, $06 - db $0C, $05 + db $10, MEOWTHSPRITE_RIGHT_WALK_0 + db $0B, MEOWTHSPRITE_RIGHT_WALK_1 + db $10, MEOWTHSPRITE_RIGHT_WALK_2 + db $0C, MEOWTHSPRITE_RIGHT_WALK_1 db $00 ; terminator MeowthAnimationData3: ; 0x246fe ; Each entry is [sprite id][duration] - db $16, $03 + db $16, MEOWTHSPRITE_LEFT_HIT db $00 ; terminator MeowthAnimationData4: ; 0x24701 ; Each entry is [sprite id][duration] - db $16, $07 + db $16, MEOWTHSPRITE_RIGHT_HIT db $00 ; terminator MeowthAnimationData5: ; 0x24704 - db $17, $08 - db $17, $09 + db $17, MEOWTHSPRITE_TIMEOUT_0 + db $17, MEOWTHSPRITE_TIMEOUT_1 db $00 ; terminator Func_24709: ; 0x24709 @@ -718,20 +718,20 @@ Func_247d9: ; 0x247d9 ld a, [wd6f3] and a ret z - ld a, [wd71a] + ld a, [wMeowthJewel0XCoord] cp $c8 jr nz, .asm_24823 ld a, [wMeowthXPosition] add $8 - ld [wd71a], a + ld [wMeowthJewel0XCoord], a ld a, [wMeowthYPosition] add $fb - ld [wd727], a + ld [wMeowthJewel0YCoord], a ld a, $1 - ld [wd717], a + ld [wMeowthJewel0State], a xor a ld [wd6f3], a - ld [wd714], a + ld [wMeowthJewel0AnimationIndex], a ld [wd6f5], a ld [wd6f8], a ld [wd6fb], a @@ -752,20 +752,20 @@ Func_247d9: ; 0x247d9 ret .asm_24823 - ld a, [wd71b] + ld a, [wMeowthJewel1XCoord] cp $c8 jr nz, .asm_24868 ld a, [wMeowthXPosition] add $8 - ld [wd71b], a + ld [wMeowthJewel1XCoord], a ld a, [wMeowthYPosition] add $fb - ld [wd728], a + ld [wMeowthJewel1YCoord], a ld a, $1 - ld [wd718], a + ld [wMeowthJewel1State], a xor a ld [wd6f3], a - ld [wd715], a + ld [wMeowthJewel1AnimationIndex], a ld [wd6f6], a ld [wd6f9], a ld [wd6fc], a @@ -786,20 +786,20 @@ Func_247d9: ; 0x247d9 ret .asm_24868 - ld a, [wd71c] + ld a, [wMeowthJewel2XCoord] cp $c8 ret nz ld a, [wMeowthXPosition] add $8 - ld [wd71c], a + ld [wMeowthJewel2XCoord], a ld a, [wMeowthYPosition] add $fb - ld [wd729], a + ld [wMeowthJewel2YCoord], a ld a, $1 - ld [wd719], a + ld [wMeowthJewel2State], a xor a ld [wd6f3], a - ld [wd716], a + ld [wMeowthJewel2AnimationIndex], a ld [wd6f7], a ld [wd6fa], a ld [wd6fd], a @@ -820,10 +820,10 @@ Func_247d9: ; 0x247d9 ret Func_248ac: ; 0x248ac - ld a, [wd717] + ld a, [wMeowthJewel0State] cp $1 jr nz, .asm_248d3 - ld a, [wd714] + ld a, [wMeowthJewel0AnimationIndex] cp $a jr z, .asm_248c4 ld a, $0 @@ -835,14 +835,14 @@ Func_248ac: ; 0x248ac ld hl, wNumActiveJewelsBottom inc [hl] ld a, $2 - ld [wd717], a + ld [wMeowthJewel0State], a lb de, $00, $34 call PlaySoundEffect .asm_248d3 - ld a, [wd718] + ld a, [wMeowthJewel1State] cp $1 jr nz, .asm_248fa - ld a, [wd715] + ld a, [wMeowthJewel1AnimationIndex] cp $a jr z, .asm_248eb ld a, $1 @@ -854,14 +854,14 @@ Func_248ac: ; 0x248ac ld hl, wNumActiveJewelsBottom inc [hl] ld a, $2 - ld [wd718], a + ld [wMeowthJewel1State], a lb de, $00, $34 call PlaySoundEffect .asm_248fa - ld a, [wd719] + ld a, [wMeowthJewel2State] cp $1 jr nz, .asm_24921 - ld a, [wd716] + ld a, [wMeowthJewel2AnimationIndex] cp $a jr z, .asm_24912 ld a, $2 @@ -873,36 +873,36 @@ Func_248ac: ; 0x248ac ld hl, wNumActiveJewelsBottom inc [hl] ld a, $2 - ld [wd719], a + ld [wMeowthJewel2State], a lb de, $00, $34 call PlaySoundEffect .asm_24921 - ld a, [wd717] + ld a, [wMeowthJewel0State] cp $2 jr nz, .asm_2492c - ld hl, wd714 + ld hl, wMeowthJewel0AnimationIndex inc [hl] .asm_2492c - ld a, [wd718] + ld a, [wMeowthJewel1State] cp $2 jr nz, .asm_24937 - ld hl, wd715 + ld hl, wMeowthJewel1AnimationIndex inc [hl] .asm_24937 - ld a, [wd719] + ld a, [wMeowthJewel2State] cp $2 jr nz, .asm_24942 - ld hl, wd716 + ld hl, wMeowthJewel2AnimationIndex inc [hl] .asm_24942 - ld a, [wd717] + ld a, [wMeowthJewel0State] cp $3 jr nz, .asm_24968 - ld a, [wd71a] + ld a, [wMeowthJewel0XCoord] ld b, a - ld a, [wd727] + ld a, [wMeowthJewel0YCoord] ld c, a - ld hl, wd714 + ld hl, wMeowthJewel0AnimationIndex inc [hl] ld a, [hl] cp $2 @@ -914,16 +914,16 @@ Func_248ac: ; 0x248ac cp $a jr nz, .asm_24968 ld a, $4 - ld [wd717], a + ld [wMeowthJewel0State], a .asm_24968 - ld a, [wd718] + ld a, [wMeowthJewel1State] cp $3 jr nz, .asm_2498e - ld a, [wd71b] + ld a, [wMeowthJewel1XCoord] ld b, a - ld a, [wd728] + ld a, [wMeowthJewel1YCoord] ld c, a - ld hl, wd715 + ld hl, wMeowthJewel1AnimationIndex inc [hl] ld a, [hl] cp $2 @@ -935,16 +935,16 @@ Func_248ac: ; 0x248ac cp $a jr nz, .asm_2498e ld a, $4 - ld [wd718], a + ld [wMeowthJewel1State], a .asm_2498e - ld a, [wd719] + ld a, [wMeowthJewel2State] cp $3 jr nz, .asm_249b4 - ld a, [wd71c] + ld a, [wMeowthJewel2XCoord] ld b, a - ld a, [wd729] + ld a, [wMeowthJewel2YCoord] ld c, a - ld hl, wd716 + ld hl, wMeowthJewel2AnimationIndex inc [hl] ld a, [hl] cp $2 @@ -956,44 +956,44 @@ Func_248ac: ; 0x248ac cp $a jr nz, .asm_249b4 ld a, $4 - ld [wd719], a + ld [wMeowthJewel2State], a .asm_249b4 - ld a, [wd717] + ld a, [wMeowthJewel0State] cp $4 jr nz, .asm_249d0 ld a, $c8 - ld [wd71a], a - ld [wd727], a + ld [wMeowthJewel0XCoord], a + ld [wMeowthJewel0YCoord], a xor a - ld [wd717], a + ld [wMeowthJewel0State], a ld hl, wNumActiveJewelsBottom dec [hl] ld a, [hl] cp $2 jr z, .asm_24a06 .asm_249d0 - ld a, [wd718] + ld a, [wMeowthJewel1State] cp $4 jr nz, .asm_249ec ld a, $c8 - ld [wd71b], a - ld [wd728], a + ld [wMeowthJewel1XCoord], a + ld [wMeowthJewel1YCoord], a xor a - ld [wd718], a + ld [wMeowthJewel1State], a ld hl, wNumActiveJewelsBottom dec [hl] ld a, [hl] cp $2 jr z, .asm_24a06 .asm_249ec - ld a, [wd719] + ld a, [wMeowthJewel2State] cp $4 ret nz ld a, $c8 - ld [wd71c], a - ld [wd729], a + ld [wMeowthJewel2XCoord], a + ld [wMeowthJewel2YCoord], a xor a - ld [wd719], a + ld [wMeowthJewel2State], a ld hl, wNumActiveJewelsBottom dec [hl] ld a, [hl] @@ -1046,7 +1046,7 @@ Func_24a30: ; 0x24a30 jr nz, .asm_24a5e bit 0, a jr nz, .asm_24a5e - ld hl, wd714 + ld hl, wMeowthJewel0AnimationIndex add hl, bc inc [hl] .asm_24a5e @@ -1066,7 +1066,7 @@ Func_24a30: ; 0x24a30 ld hl, wd72a add hl, bc ld [hl], $0 - ld hl, wd71a + ld hl, wMeowthJewel0XCoord add hl, bc ld a, [hl] push af @@ -1081,7 +1081,7 @@ Func_24a30: ; 0x24a30 add [hl] cp $8e jr nc, .asm_24a97 - ld hl, wd71a + ld hl, wMeowthJewel0XCoord add hl, bc ld [hl], a jr .asm_24abf @@ -1103,13 +1103,13 @@ Func_24a30: ; 0x24a30 sub d inc a ld d, a - ld hl, wd71a + ld hl, wMeowthJewel0XCoord add hl, bc ld a, [hl] add d cp $5 jr c, .asm_24a72 - ld hl, wd71a + ld hl, wMeowthJewel0XCoord add hl, bc ld [hl], a .asm_24abf @@ -1123,11 +1123,11 @@ Func_24a30: ; 0x24a30 inc hl ld a, [hl] ld d, a - ld hl, wd727 + ld hl, wMeowthJewel0YCoord add hl, bc ld a, [hl] add d - ld hl, wd727 + ld hl, wMeowthJewel0YCoord add hl, bc ld [hl], a ld hl, wd6f5 @@ -1216,7 +1216,7 @@ Func_24b41: ; 0x24b41 ld hl, wd72a add hl, bc ld [hl], $0 - ld hl, wd71a + ld hl, wMeowthJewel0XCoord add hl, bc ld a, [hl] push af @@ -1231,7 +1231,7 @@ Func_24b41: ; 0x24b41 add [hl] cp $90 jr nc, .asm_24b8a - ld hl, wd71a + ld hl, wMeowthJewel0XCoord add hl, bc ld [hl], a jr .asm_24bb2 @@ -1253,13 +1253,13 @@ Func_24b41: ; 0x24b41 sub d inc a ld d, a - ld hl, wd71a + ld hl, wMeowthJewel0XCoord add hl, bc ld a, [hl] add d cp $6 jr c, .asm_24b65 - ld hl, wd71a + ld hl, wMeowthJewel0XCoord add hl, bc ld [hl], a .asm_24bb2 @@ -1273,11 +1273,11 @@ Func_24b41: ; 0x24b41 inc hl ld a, [hl] ld d, a - ld hl, wd727 + ld hl, wMeowthJewel0YCoord add hl, bc ld a, [hl] add d - ld hl, wd727 + ld hl, wMeowthJewel0YCoord add hl, bc ld [hl], a ld hl, wd6f5 @@ -1316,7 +1316,7 @@ Func_24bf6: ; 0x24bf6 ld hl, wd6f8 add hl, bc ld [hl], $0 - ld hl, wd714 + ld hl, wMeowthJewel0AnimationIndex add hl, bc ld [hl], $a ccf @@ -1344,22 +1344,22 @@ Func_24c28: ; 0x24c28 ld a, [wd6f3] and a ret z - ld a, [wd724] + ld a, [wMeowthJewel3XCoord] cp $c8 jr nz, .asm_24c76 ld a, [wMeowthXPosition] add $8 - ld [wd724], a + ld [wMeowthJewel3XCoord], a ld a, [wMeowthYPosition] add $fb - ld [wd731], a + ld [wMeowthJewel3YCoord], a ld a, $1 - ld [wd721], a + ld [wMeowthJewel3State], a ld hl, wNumActiveJewelsTop inc [hl] xor a ld [wd6f3], a - ld [wd71e], a + ld [wMeowthJewel3AnimationIndex], a ld [wd6ff], a ld [wd702], a ld [wd705], a @@ -1380,22 +1380,22 @@ Func_24c28: ; 0x24c28 ret .asm_24c76 - ld a, [wd725] + ld a, [wMeowthJewel4XCoord] cp $c8 jr nz, .asm_24cbf ld a, [wMeowthXPosition] add $8 - ld [wd725], a + ld [wMeowthJewel4XCoord], a ld a, [wMeowthYPosition] add $fb - ld [wd732], a + ld [wMeowthJewel4YCoord], a ld a, $1 - ld [wd722], a + ld [wMeowthJewel4State], a ld hl, wNumActiveJewelsTop inc [hl] xor a ld [wd6f3], a - ld [wd71f], a + ld [wMeowthJewel4AnimationIndex], a ld [wd700], a ld [wd703], a ld [wd706], a @@ -1416,22 +1416,22 @@ Func_24c28: ; 0x24c28 ret .asm_24cbf - ld a, [wd726] + ld a, [wMeowthJewel5XCoord] cp $c8 ret nz ld a, [wMeowthXPosition] add $8 - ld [wd726], a + ld [wMeowthJewel5XCoord], a ld a, [wMeowthYPosition] add $fb - ld [wd733], a + ld [wMeowthJewel5YCoord], a ld a, $1 - ld [wd723], a + ld [wMeowthJewel5State], a ld hl, wNumActiveJewelsTop inc [hl] xor a ld [wd6f3], a - ld [wd720], a + ld [wMeowthJewel5AnimationIndex], a ld [wd701], a ld [wd704], a ld [wd707], a @@ -1452,10 +1452,10 @@ Func_24c28: ; 0x24c28 ret Func_24d07: ; 0x24d07 - ld a, [wd721] + ld a, [wMeowthJewel3State] cp $1 jr nz, .asm_24d2a - ld a, [wd71e] + ld a, [wMeowthJewel3AnimationIndex] cp $a jr z, .asm_24d1f ld a, $a @@ -1465,14 +1465,14 @@ Func_24d07: ; 0x24d07 .asm_24d1f ld a, $2 - ld [wd721], a + ld [wMeowthJewel3State], a lb de, $00, $34 call PlaySoundEffect .asm_24d2a - ld a, [wd722] + ld a, [wMeowthJewel4State] cp $1 jr nz, .asm_24d4d - ld a, [wd71f] + ld a, [wMeowthJewel4AnimationIndex] cp $a jr z, .asm_24d42 ld a, $b @@ -1482,14 +1482,14 @@ Func_24d07: ; 0x24d07 .asm_24d42 ld a, $2 - ld [wd722], a + ld [wMeowthJewel4State], a lb de, $00, $34 call PlaySoundEffect .asm_24d4d - ld a, [wd723] + ld a, [wMeowthJewel5State] cp $1 jr nz, .asm_24d70 - ld a, [wd720] + ld a, [wMeowthJewel5AnimationIndex] cp $a jr z, .asm_24d65 ld a, $c @@ -1499,36 +1499,36 @@ Func_24d07: ; 0x24d07 .asm_24d65 ld a, $2 - ld [wd723], a + ld [wMeowthJewel5State], a lb de, $00, $34 call PlaySoundEffect .asm_24d70 - ld a, [wd721] + ld a, [wMeowthJewel3State] cp $2 jr nz, .asm_24d7b - ld hl, wd71e + ld hl, wMeowthJewel3AnimationIndex inc [hl] .asm_24d7b - ld a, [wd722] + ld a, [wMeowthJewel4State] cp $2 jr nz, .asm_24d86 - ld hl, wd71f + ld hl, wMeowthJewel4AnimationIndex inc [hl] .asm_24d86 - ld a, [wd723] + ld a, [wMeowthJewel5State] cp $2 jr nz, .asm_24d91 - ld hl, wd720 + ld hl, wMeowthJewel5AnimationIndex inc [hl] .asm_24d91 - ld a, [wd721] + ld a, [wMeowthJewel3State] cp $3 jr nz, .asm_24db7 - ld a, [wd724] + ld a, [wMeowthJewel3XCoord] ld b, a - ld a, [wd731] + ld a, [wMeowthJewel3YCoord] ld c, a - ld hl, wd71e + ld hl, wMeowthJewel3AnimationIndex inc [hl] ld a, [hl] cp $2 @@ -1540,16 +1540,16 @@ Func_24d07: ; 0x24d07 cp $a jr nz, .asm_24db7 ld a, $4 - ld [wd721], a + ld [wMeowthJewel3State], a .asm_24db7 - ld a, [wd722] + ld a, [wMeowthJewel4State] cp $3 jr nz, .asm_24ddd - ld a, [wd725] + ld a, [wMeowthJewel4XCoord] ld b, a - ld a, [wd732] + ld a, [wMeowthJewel4YCoord] ld c, a - ld hl, wd71f + ld hl, wMeowthJewel4AnimationIndex inc [hl] ld a, [hl] cp $2 @@ -1561,16 +1561,16 @@ Func_24d07: ; 0x24d07 cp $a jr nz, .asm_24ddd ld a, $4 - ld [wd722], a + ld [wMeowthJewel4State], a .asm_24ddd - ld a, [wd723] + ld a, [wMeowthJewel5State] cp $3 jr nz, .asm_24e03 - ld a, [wd726] + ld a, [wMeowthJewel5XCoord] ld b, a - ld a, [wd733] + ld a, [wMeowthJewel5YCoord] ld c, a - ld hl, wd720 + ld hl, wMeowthJewel5AnimationIndex inc [hl] ld a, [hl] cp $2 @@ -1582,44 +1582,44 @@ Func_24d07: ; 0x24d07 cp $a jr nz, .asm_24e03 ld a, $4 - ld [wd723], a + ld [wMeowthJewel5State], a .asm_24e03 - ld a, [wd721] + ld a, [wMeowthJewel3State] cp $4 jr nz, .asm_24e1f ld a, $c8 - ld [wd724], a - ld [wd731], a + ld [wMeowthJewel3XCoord], a + ld [wMeowthJewel3YCoord], a xor a - ld [wd721], a + ld [wMeowthJewel3State], a ld hl, wNumActiveJewelsTop dec [hl] ld a, [hl] cp $2 jr z, .asm_24e55 .asm_24e1f - ld a, [wd722] + ld a, [wMeowthJewel4State] cp $4 jr nz, .asm_24e3b ld a, $c8 - ld [wd725], a - ld [wd732], a + ld [wMeowthJewel4XCoord], a + ld [wMeowthJewel4YCoord], a xor a - ld [wd722], a + ld [wMeowthJewel4State], a ld hl, wNumActiveJewelsTop dec [hl] ld a, [hl] cp $2 jr z, .asm_24e55 .asm_24e3b - ld a, [wd723] + ld a, [wMeowthJewel5State] cp $4 ret nz ld a, $c8 - ld [wd726], a - ld [wd733], a + ld [wMeowthJewel5XCoord], a + ld [wMeowthJewel5YCoord], a xor a - ld [wd723], a + ld [wMeowthJewel5State], a ld hl, wNumActiveJewelsTop dec [hl] ld a, [hl] @@ -1710,7 +1710,7 @@ Func_24ee7: ; 0x24ee7 sla a ld c, a ld b, $0 - ld hl, MeowthStageAnimationDataTable + ld hl, MeowthMultiplierAnimations add hl, bc ld a, [hli] ld h, [hl] @@ -1726,7 +1726,7 @@ Func_24f00: ; 0x24f00 sla a ld c, a ld b, $0 - ld hl, MeowthStageAnimationDataTable + ld hl, MeowthMultiplierAnimations add hl, bc ld a, [hli] ld h, [hl] @@ -1753,81 +1753,81 @@ Func_24f00: ; 0x24f00 ld [wd710], a ret -MeowthStageAnimationDataTable: ; 0x24f30 - dw MeowthStageAnimationData1 - dw MeowthStageAnimationData2 - dw MeowthStageAnimationData3 - dw MeowthStageAnimationData4 - dw MeowthStageAnimationData5 +MeowthMultiplierAnimations: ; 0x24f30 + dw MeowthMultiplier2Animation + dw MeowthMultiplier3Animation + dw MeowthMultiplier4Animation + dw MeowthMultiplier5Animation + dw MeowthMultiplier6Animation -MeowthStageAnimationData1: ; 0x24f3a +MeowthMultiplier2Animation: ; 0x24f3a ; Each entry is [sprite id][duration] - db $02, $00 - db $02, $01 - db $02, $02 - db $10, $00 - db $04, $0F - db $04, $00 - db $04, $0F - db $04, $00 - db $04, $0F - db $04, $00 + db $02, MEOWTHMULTIPLIERSPRITE_2_FRAME_0 + db $02, MEOWTHMULTIPLIERSPRITE_2_FRAME_1 + db $02, MEOWTHMULTIPLIERSPRITE_2_FRAME_2 + db $10, MEOWTHMULTIPLIERSPRITE_2_FRAME_0 + db $04, MEOWTHMULTIPLIERSPRITE_INVISIBLE + db $04, MEOWTHMULTIPLIERSPRITE_2_FRAME_0 + db $04, MEOWTHMULTIPLIERSPRITE_INVISIBLE + db $04, MEOWTHMULTIPLIERSPRITE_2_FRAME_0 + db $04, MEOWTHMULTIPLIERSPRITE_INVISIBLE + db $04, MEOWTHMULTIPLIERSPRITE_2_FRAME_0 db $00 ; terminator -MeowthStageAnimationData2: ; 0x24f4f +MeowthMultiplier3Animation: ; 0x24f4f ; Each entry is [sprite id][duration] - db $02, $03 - db $02, $04 - db $02, $05 - db $10, $03 - db $04, $0F - db $04, $03 - db $04, $0F - db $04, $03 - db $04, $0F - db $04, $03 + db $02, MEOWTHMULTIPLIERSPRITE_3_FRAME_0 + db $02, MEOWTHMULTIPLIERSPRITE_3_FRAME_1 + db $02, MEOWTHMULTIPLIERSPRITE_3_FRAME_2 + db $10, MEOWTHMULTIPLIERSPRITE_3_FRAME_0 + db $04, MEOWTHMULTIPLIERSPRITE_INVISIBLE + db $04, MEOWTHMULTIPLIERSPRITE_3_FRAME_0 + db $04, MEOWTHMULTIPLIERSPRITE_INVISIBLE + db $04, MEOWTHMULTIPLIERSPRITE_3_FRAME_0 + db $04, MEOWTHMULTIPLIERSPRITE_INVISIBLE + db $04, MEOWTHMULTIPLIERSPRITE_3_FRAME_0 db $00 ; terminator -MeowthStageAnimationData3: ; 0x24f64 +MeowthMultiplier4Animation: ; 0x24f64 ; Each entry is [sprite id][duration] - db $02, $06 - db $02, $07 - db $02, $08 - db $10, $06 - db $04, $0F - db $04, $06 - db $04, $0F - db $04, $06 - db $04, $0F - db $04, $06 + db $02, MEOWTHMULTIPLIERSPRITE_4_FRAME_0 + db $02, MEOWTHMULTIPLIERSPRITE_4_FRAME_1 + db $02, MEOWTHMULTIPLIERSPRITE_4_FRAME_2 + db $10, MEOWTHMULTIPLIERSPRITE_4_FRAME_0 + db $04, MEOWTHMULTIPLIERSPRITE_INVISIBLE + db $04, MEOWTHMULTIPLIERSPRITE_4_FRAME_0 + db $04, MEOWTHMULTIPLIERSPRITE_INVISIBLE + db $04, MEOWTHMULTIPLIERSPRITE_4_FRAME_0 + db $04, MEOWTHMULTIPLIERSPRITE_INVISIBLE + db $04, MEOWTHMULTIPLIERSPRITE_4_FRAME_0 db $00 ; terminator -MeowthStageAnimationData4: ; 0x24f79 +MeowthMultiplier5Animation: ; 0x24f79 ; Each entry is [sprite id][duration] - db $02, $09 - db $02, $0A - db $02, $0B - db $10, $09 - db $04, $0F - db $04, $09 - db $04, $0F - db $04, $09 - db $04, $0F - db $04, $09 + db $02, MEOWTHMULTIPLIERSPRITE_5_FRAME_0 + db $02, MEOWTHMULTIPLIERSPRITE_5_FRAME_1 + db $02, MEOWTHMULTIPLIERSPRITE_5_FRAME_2 + db $10, MEOWTHMULTIPLIERSPRITE_5_FRAME_0 + db $04, MEOWTHMULTIPLIERSPRITE_INVISIBLE + db $04, MEOWTHMULTIPLIERSPRITE_5_FRAME_0 + db $04, MEOWTHMULTIPLIERSPRITE_INVISIBLE + db $04, MEOWTHMULTIPLIERSPRITE_5_FRAME_0 + db $04, MEOWTHMULTIPLIERSPRITE_INVISIBLE + db $04, MEOWTHMULTIPLIERSPRITE_5_FRAME_0 db $00 ; terminator -MeowthStageAnimationData5: ; 0x24f8e +MeowthMultiplier6Animation: ; 0x24f8e ; Each entry is [sprite id][duration] - db $02, $0C - db $02, $0D - db $02, $0E - db $10, $0C - db $04, $0F - db $04, $0C - db $04, $0F - db $04, $0C - db $04, $0F - db $04, $0C + db $02, MEOWTHMULTIPLIERSPRITE_6_FRAME_0 + db $02, MEOWTHMULTIPLIERSPRITE_6_FRAME_1 + db $02, MEOWTHMULTIPLIERSPRITE_6_FRAME_2 + db $10, MEOWTHMULTIPLIERSPRITE_6_FRAME_0 + db $04, MEOWTHMULTIPLIERSPRITE_INVISIBLE + db $04, MEOWTHMULTIPLIERSPRITE_6_FRAME_0 + db $04, MEOWTHMULTIPLIERSPRITE_INVISIBLE + db $04, MEOWTHMULTIPLIERSPRITE_6_FRAME_0 + db $04, MEOWTHMULTIPLIERSPRITE_INVISIBLE + db $04, MEOWTHMULTIPLIERSPRITE_6_FRAME_0 db $00 ; terminator Func_24fa3: ; 0x24fa3 diff --git a/engine/pinball_game/object_collision/seel_bonus_resolve_collision.asm b/engine/pinball_game/object_collision/seel_bonus_resolve_collision.asm index 05c4c67..748fba2 100644 --- a/engine/pinball_game/object_collision/seel_bonus_resolve_collision.asm +++ b/engine/pinball_game/object_collision/seel_bonus_resolve_collision.asm @@ -226,7 +226,7 @@ Func_25da3: ; 0x25da3 dec de dec de push bc - ld hl, SeelAnimationData10 + ld hl, SeelHitAnimation call InitAnimation pop bc ld hl, wd76e @@ -398,7 +398,7 @@ UpdateSeelPosition: ; 0x25ec5 dec hl ld d, h ld e, l - ld hl, SeelAnimationData8 + ld hl, SeelTurnRightToLeftAnimation call InitAnimation ret @@ -428,7 +428,7 @@ UpdateSeelPosition: ; 0x25ec5 dec hl ld d, h ld e, l - ld hl, SeelAnimationData9 + ld hl, SeelTurnLeftToRightAnimation call InitAnimation ret @@ -828,120 +828,120 @@ Func_26137: ; 0x26137 ret SeelAnimationsTable: ; 0x2614f - dw SeelAnimationData1 - dw SeelAnimationData2 - dw SeelAnimationData3 - dw SeelAnimationData4 - dw SeelAnimationData5 - dw SeelAnimationData6 - dw SeelAnimationData7 - dw SeelAnimationData8 - dw SeelAnimationData9 - dw SeelAnimationData10 - dw SeelAnimationData11 - dw SeelAnimationData12 + dw SeelPeekingAnimation + dw SeelSwimRightAnimation + dw SeelEmergeRightAnimation + dw SeelSubmergeRightAnimation + dw SeelSwimLeftAnimation + dw SeelEmergeLeftAnimation + dw SeelSubmergeLeftAnimation + dw SeelTurnRightToLeftAnimation + dw SeelTurnLeftToRightAnimation + dw SeelHitAnimation + dw SeelSubmergeAfterHitRightAnimation + dw SeelSubmergeAfterHitLeftAnimation -SeelAnimationData1: - db $1C, $00 - db $1C, $01 +SeelPeekingAnimation: + db $1C, SEELSPRITE_PEEKING_0 + db $1C, SEELSPRITE_PEEKING_1 db $00 ; terminator -SeelAnimationData2: - db $0C, $03 - db $08, $04 - db $0C, $05 - db $08, $04 +SeelSwimRightAnimation: + db $0C, SEELSPRITE_SWIM_RIGHT_0 + db $08, SEELSPRITE_SWIM_RIGHT_1 + db $0C, SEELSPRITE_SWIM_RIGHT_2 + db $08, SEELSPRITE_SWIM_RIGHT_1 db $00 ; terminator -SeelAnimationData3: - db $04, $06 - db $04, $07 - db $05, $08 - db $05, $09 - db $06, $0A - db $04, $0B - db $08, $0C +SeelEmergeRightAnimation: + db $04, SEELSPRITE_TURN_RIGHT_TO_LEFT_0 + db $04, SEELSPRITE_TURN_RIGHT_TO_LEFT_1 + db $05, SEELSPRITE_SHADOW_CIRCLE_0 + db $05, SEELSPRITE_SHADOW_CIRCLE_1 + db $06, SEELSPRITE_SHADOW_CIRCLE_2 + db $04, SEELSPRITE_EMERGE_0 + db $08, SEELSPRITE_EMERGE_1 db $00 ; terminator -SeelAnimationData4: - db $08, $0C - db $04, $0B - db $06, $0D - db $10, $17 - db $06, $0A - db $05, $09 - db $05, $08 - db $04, $0E - db $04, $0F +SeelSubmergeRightAnimation: + db $08, SEELSPRITE_EMERGE_1 + db $04, SEELSPRITE_EMERGE_0 + db $06, SEELSPRITE_SPLASH + db $10, SEELSPRITE_INVISIBLE + db $06, SEELSPRITE_SHADOW_CIRCLE_2 + db $05, SEELSPRITE_SHADOW_CIRCLE_1 + db $05, SEELSPRITE_SHADOW_CIRCLE_0 + db $04, SEELSPRITE_TURN_LEFT_TO_RIGHT_2 + db $04, SEELSPRITE_TURN_LEFT_TO_RIGHT_3 db $00 ; terminator -SeelAnimationData5: - db $0C, $10 - db $08, $11 - db $0C, $12 - db $08, $11 +SeelSwimLeftAnimation: + db $0C, SEELSPRITE_SWIM_LEFT_0 + db $08, SEELSPRITE_SWIM_LEFT_1 + db $0C, SEELSPRITE_SWIM_LEFT_2 + db $08, SEELSPRITE_SWIM_LEFT_1 db $00 ; terminator -SeelAnimationData6: - db $04, $13 - db $04, $14 - db $05, $08 - db $05, $09 - db $06, $0A - db $04, $0B - db $08, $0C +SeelEmergeLeftAnimation: + db $04, SEELSPRITE_TURN_LEFT_TO_RIGHT_0 + db $04, SEELSPRITE_TURN_LEFT_TO_RIGHT_1 + db $05, SEELSPRITE_SHADOW_CIRCLE_0 + db $05, SEELSPRITE_SHADOW_CIRCLE_1 + db $06, SEELSPRITE_SHADOW_CIRCLE_2 + db $04, SEELSPRITE_EMERGE_0 + db $08, SEELSPRITE_EMERGE_1 db $00 ; terminator -SeelAnimationData7: - db $08, $0C - db $04, $0B - db $06, $0D - db $10, $17 - db $06, $0A - db $05, $09 - db $05, $08 - db $04, $15 - db $04, $16 +SeelSubmergeLeftAnimation: + db $08, SEELSPRITE_EMERGE_1 + db $04, SEELSPRITE_EMERGE_0 + db $06, SEELSPRITE_SPLASH + db $10, SEELSPRITE_INVISIBLE + db $06, SEELSPRITE_SHADOW_CIRCLE_2 + db $05, SEELSPRITE_SHADOW_CIRCLE_1 + db $05, SEELSPRITE_SHADOW_CIRCLE_0 + db $04, SEELSPRITE_TURN_RIGHT_TO_LEFT_2 + db $04, SEELSPRITE_TURN_RIGHT_TO_LEFT_3 db $00 ; terminator -SeelAnimationData8: - db $04, $06 - db $04, $07 - db $06, $0A - db $04, $15 - db $04, $16 +SeelTurnRightToLeftAnimation: + db $04, SEELSPRITE_TURN_RIGHT_TO_LEFT_0 + db $04, SEELSPRITE_TURN_RIGHT_TO_LEFT_1 + db $06, SEELSPRITE_SHADOW_CIRCLE_2 + db $04, SEELSPRITE_TURN_RIGHT_TO_LEFT_2 + db $04, SEELSPRITE_TURN_RIGHT_TO_LEFT_3 db $00 ; terminator -SeelAnimationData9: - db $04, $13 - db $04, $14 - db $06, $0A - db $04, $0E - db $04, $0F +SeelTurnLeftToRightAnimation: + db $04, SEELSPRITE_TURN_LEFT_TO_RIGHT_0 + db $04, SEELSPRITE_TURN_LEFT_TO_RIGHT_1 + db $06, SEELSPRITE_SHADOW_CIRCLE_2 + db $04, SEELSPRITE_TURN_LEFT_TO_RIGHT_2 + db $04, SEELSPRITE_TURN_LEFT_TO_RIGHT_3 db $00 ; terminator -SeelAnimationData10: - db $10, $02 +SeelHitAnimation: + db $10, SEELSPRITE_HIT db $00 ; terminator -SeelAnimationData11: - db $06, $0D - db $10, $17 - db $06, $0A - db $05, $09 - db $05, $08 - db $04, $0E - db $04, $0F +SeelSubmergeAfterHitRightAnimation: + db $06, SEELSPRITE_SPLASH + db $10, SEELSPRITE_INVISIBLE + db $06, SEELSPRITE_SHADOW_CIRCLE_2 + db $05, SEELSPRITE_SHADOW_CIRCLE_1 + db $05, SEELSPRITE_SHADOW_CIRCLE_0 + db $04, SEELSPRITE_TURN_LEFT_TO_RIGHT_2 + db $04, SEELSPRITE_TURN_LEFT_TO_RIGHT_3 db $00 ; terminator -SeelAnimationData12: - db $06, $0D - db $10, $17 - db $06, $0A - db $05, $09 - db $05, $08 - db $04, $15 - db $04, $16 +SeelSubmergeAfterHitLeftAnimation: + db $06, SEELSPRITE_SPLASH + db $10, SEELSPRITE_INVISIBLE + db $06, SEELSPRITE_SHADOW_CIRCLE_2 + db $05, SEELSPRITE_SHADOW_CIRCLE_1 + db $05, SEELSPRITE_SHADOW_CIRCLE_0 + db $04, SEELSPRITE_TURN_RIGHT_TO_LEFT_2 + db $04, SEELSPRITE_TURN_RIGHT_TO_LEFT_3 db $00 ; terminator Func_261f9: ; 0x261f9 @@ -951,7 +951,7 @@ Func_261f9: ; 0x261f9 sla a ld c, a ld b, $0 - ld hl, SeelStageAnimations + ld hl, SeelMultiplierAnimations add hl, bc ld a, [hli] ld h, [hl] @@ -967,7 +967,7 @@ Func_26212: ; 0x26212 sla a ld c, a ld b, $0 - ld hl, SeelStageAnimations + ld hl, SeelMultiplierAnimations add hl, bc ld a, [hli] ld h, [hl] @@ -991,119 +991,119 @@ Func_26212: ; 0x26212 ld [wd795], a ret -SeelStageAnimations: - dw SeelStageAnimationData1 - dw SeelStageAnimationData1 - dw SeelStageAnimationData2 - dw SeelStageAnimationData3 - dw SeelStageAnimationData4 - dw SeelStageAnimationData5 - dw SeelStageAnimationData6 - dw SeelStageAnimationData7 - dw SeelStageAnimationData8 +SeelMultiplierAnimations: + dw SeelMultiplierAnimation2 + dw SeelMultiplierAnimation2 + dw SeelMultiplierAnimation4 + dw SeelMultiplierAnimation8 + dw SeelMultiplierAnimation16 + dw SeelMultiplierAnimation32 + dw SeelMultiplierAnimation64 + dw SeelMultiplierAnimation128 + dw SeelMultiplierAnimation256 -SeelStageAnimationData1: - db $02, $00 - db $02, $01 - db $02, $02 - db $10, $00 - db $04, $18 - db $04, $00 - db $04, $18 - db $04, $00 - db $04, $18 - db $04, $00 +SeelMultiplierAnimation2: + db $02, SEELMULTIPLIERSPRITE_2_FRAME_0 + db $02, SEELMULTIPLIERSPRITE_2_FRAME_1 + db $02, SEELMULTIPLIERSPRITE_2_FRAME_2 + db $10, SEELMULTIPLIERSPRITE_2_FRAME_0 + db $04, SEELMULTIPLIERSPRITE_INVISIBLE + db $04, SEELMULTIPLIERSPRITE_2_FRAME_0 + db $04, SEELMULTIPLIERSPRITE_INVISIBLE + db $04, SEELMULTIPLIERSPRITE_2_FRAME_0 + db $04, SEELMULTIPLIERSPRITE_INVISIBLE + db $04, SEELMULTIPLIERSPRITE_2_FRAME_0 db $00 ; terminator -SeelStageAnimationData2: - db $02, $03 - db $02, $04 - db $02, $05 - db $10, $03 - db $04, $18 - db $04, $03 - db $04, $18 - db $04, $03 - db $04, $18 - db $04, $03 +SeelMultiplierAnimation4: + db $02, SEELMULTIPLIERSPRITE_4_FRAME_0 + db $02, SEELMULTIPLIERSPRITE_4_FRAME_1 + db $02, SEELMULTIPLIERSPRITE_4_FRAME_2 + db $10, SEELMULTIPLIERSPRITE_4_FRAME_0 + db $04, SEELMULTIPLIERSPRITE_INVISIBLE + db $04, SEELMULTIPLIERSPRITE_4_FRAME_0 + db $04, SEELMULTIPLIERSPRITE_INVISIBLE + db $04, SEELMULTIPLIERSPRITE_4_FRAME_0 + db $04, SEELMULTIPLIERSPRITE_INVISIBLE + db $04, SEELMULTIPLIERSPRITE_4_FRAME_0 db $00 ; terminator -SeelStageAnimationData3: - db $02, $06 - db $02, $07 - db $02, $08 - db $10, $06 - db $04, $18 - db $04, $06 - db $04, $18 - db $04, $06 - db $04, $18 - db $04, $06 +SeelMultiplierAnimation8: + db $02, SEELMULTIPLIERSPRITE_8_FRAME_0 + db $02, SEELMULTIPLIERSPRITE_8_FRAME_1 + db $02, SEELMULTIPLIERSPRITE_8_FRAME_2 + db $10, SEELMULTIPLIERSPRITE_8_FRAME_0 + db $04, SEELMULTIPLIERSPRITE_INVISIBLE + db $04, SEELMULTIPLIERSPRITE_8_FRAME_0 + db $04, SEELMULTIPLIERSPRITE_INVISIBLE + db $04, SEELMULTIPLIERSPRITE_8_FRAME_0 + db $04, SEELMULTIPLIERSPRITE_INVISIBLE + db $04, SEELMULTIPLIERSPRITE_8_FRAME_0 db $00 ; terminator -SeelStageAnimationData4: - db $02, $09 - db $02, $0A - db $02, $0B - db $10, $09 - db $04, $18 - db $04, $09 - db $04, $18 - db $04, $09 - db $04, $18 - db $04, $09 +SeelMultiplierAnimation16: + db $02, SEELMULTIPLIERSPRITE_16_FRAME_0 + db $02, SEELMULTIPLIERSPRITE_16_FRAME_1 + db $02, SEELMULTIPLIERSPRITE_16_FRAME_2 + db $10, SEELMULTIPLIERSPRITE_16_FRAME_0 + db $04, SEELMULTIPLIERSPRITE_INVISIBLE + db $04, SEELMULTIPLIERSPRITE_16_FRAME_0 + db $04, SEELMULTIPLIERSPRITE_INVISIBLE + db $04, SEELMULTIPLIERSPRITE_16_FRAME_0 + db $04, SEELMULTIPLIERSPRITE_INVISIBLE + db $04, SEELMULTIPLIERSPRITE_16_FRAME_0 db $00 ; terminator -SeelStageAnimationData5: - db $02, $0C - db $02, $0D - db $02, $0E - db $10, $0C - db $04, $18 - db $04, $0C - db $04, $18 - db $04, $0C - db $04, $18 - db $04, $0C +SeelMultiplierAnimation32: + db $02, SEELMULTIPLIERSPRITE_32_FRAME_0 + db $02, SEELMULTIPLIERSPRITE_32_FRAME_1 + db $02, SEELMULTIPLIERSPRITE_32_FRAME_2 + db $10, SEELMULTIPLIERSPRITE_32_FRAME_0 + db $04, SEELMULTIPLIERSPRITE_INVISIBLE + db $04, SEELMULTIPLIERSPRITE_32_FRAME_0 + db $04, SEELMULTIPLIERSPRITE_INVISIBLE + db $04, SEELMULTIPLIERSPRITE_32_FRAME_0 + db $04, SEELMULTIPLIERSPRITE_INVISIBLE + db $04, SEELMULTIPLIERSPRITE_32_FRAME_0 db $00 ; terminator -SeelStageAnimationData6: - db $02, $0F - db $02, $10 - db $02, $11 - db $10, $0F - db $04, $18 - db $04, $0F - db $04, $18 - db $04, $0F - db $04, $18 - db $04, $0F +SeelMultiplierAnimation64: + db $02, SEELMULTIPLIERSPRITE_64_FRAME_0 + db $02, SEELMULTIPLIERSPRITE_64_FRAME_1 + db $02, SEELMULTIPLIERSPRITE_64_FRAME_2 + db $10, SEELMULTIPLIERSPRITE_64_FRAME_0 + db $04, SEELMULTIPLIERSPRITE_INVISIBLE + db $04, SEELMULTIPLIERSPRITE_64_FRAME_0 + db $04, SEELMULTIPLIERSPRITE_INVISIBLE + db $04, SEELMULTIPLIERSPRITE_64_FRAME_0 + db $04, SEELMULTIPLIERSPRITE_INVISIBLE + db $04, SEELMULTIPLIERSPRITE_64_FRAME_0 db $00 ; terminator -SeelStageAnimationData7: - db $02, $12 - db $02, $13 - db $02, $14 - db $10, $12 - db $04, $18 - db $04, $12 - db $04, $18 - db $04, $12 - db $04, $18 - db $04, $12 +SeelMultiplierAnimation128: + db $02, SEELMULTIPLIERSPRITE_128_FRAME_0 + db $02, SEELMULTIPLIERSPRITE_128_FRAME_1 + db $02, SEELMULTIPLIERSPRITE_128_FRAME_2 + db $10, SEELMULTIPLIERSPRITE_128_FRAME_0 + db $04, SEELMULTIPLIERSPRITE_INVISIBLE + db $04, SEELMULTIPLIERSPRITE_128_FRAME_0 + db $04, SEELMULTIPLIERSPRITE_INVISIBLE + db $04, SEELMULTIPLIERSPRITE_128_FRAME_0 + db $04, SEELMULTIPLIERSPRITE_INVISIBLE + db $04, SEELMULTIPLIERSPRITE_128_FRAME_0 db $00 ; terminator -SeelStageAnimationData8: - db $02, $15 - db $02, $16 - db $02, $17 - db $10, $15 - db $04, $18 - db $04, $15 - db $04, $18 - db $04, $15 - db $04, $18 - db $04, $15 +SeelMultiplierAnimation256: + db $02, SEELMULTIPLIERSPRITE_256_FRAME_0 + db $02, SEELMULTIPLIERSPRITE_256_FRAME_1 + db $02, SEELMULTIPLIERSPRITE_256_FRAME_2 + db $10, SEELMULTIPLIERSPRITE_256_FRAME_0 + db $04, SEELMULTIPLIERSPRITE_INVISIBLE + db $04, SEELMULTIPLIERSPRITE_256_FRAME_0 + db $04, SEELMULTIPLIERSPRITE_INVISIBLE + db $04, SEELMULTIPLIERSPRITE_256_FRAME_0 + db $04, SEELMULTIPLIERSPRITE_INVISIBLE + db $04, SEELMULTIPLIERSPRITE_256_FRAME_0 db $00 ; terminator Func_262f4: ; 0x262f4 diff --git a/wram.asm b/wram.asm index 64b368c..6d45780 100644 --- a/wram.asm +++ b/wram.asm @@ -1448,67 +1448,67 @@ wd712:: ; 0xd712 wDisableMeowthJewelProduction:: ; 0xd713 ds $1 -wd714:: ; 0xd714 +wMeowthJewel0AnimationIndex:: ; 0xd714 ds $1 -wd715:: ; 0xd715 +wMeowthJewel1AnimationIndex:: ; 0xd715 ds $1 -wd716:: ; 0xd716 +wMeowthJewel2AnimationIndex:: ; 0xd716 ds $1 -wd717:: ; 0xd717 +wMeowthJewel0State:: ; 0xd717 ds $1 -wd718:: ; 0xd718 +wMeowthJewel1State:: ; 0xd718 ds $1 -wd719:: ; 0xd719 +wMeowthJewel2State:: ; 0xd719 ds $1 -wd71a:: ; 0xd71a +wMeowthJewel0XCoord:: ; 0xd71a ds $1 -wd71b:: ; 0xd71b +wMeowthJewel1XCoord:: ; 0xd71b ds $1 -wd71c:: ; 0xd71c +wMeowthJewel2XCoord:: ; 0xd71c ds $2 -wd71e:: ; 0xd71e +wMeowthJewel3AnimationIndex:: ; 0xd71e ds $1 -wd71f:: ; 0xd71f +wMeowthJewel4AnimationIndex:: ; 0xd71f ds $1 -wd720:: ; 0xd720 +wMeowthJewel5AnimationIndex:: ; 0xd720 ds $1 -wd721:: ; 0xd721 +wMeowthJewel3State:: ; 0xd721 ds $1 -wd722:: ; 0xd722 +wMeowthJewel4State:: ; 0xd722 ds $1 -wd723:: ; 0xd723 +wMeowthJewel5State:: ; 0xd723 ds $1 -wd724:: ; 0xd724 +wMeowthJewel3XCoord:: ; 0xd724 ds $1 -wd725:: ; 0xd725 +wMeowthJewel4XCoord:: ; 0xd725 ds $1 -wd726:: ; 0xd726 +wMeowthJewel5XCoord:: ; 0xd726 ds $1 -wd727:: ; 0xd727 +wMeowthJewel0YCoord:: ; 0xd727 ds $1 -wd728:: ; 0xd728 +wMeowthJewel1YCoord:: ; 0xd728 ds $1 -wd729:: ; 0xd729 +wMeowthJewel2YCoord:: ; 0xd729 ds $1 wd72a:: ; 0xd72a @@ -1520,13 +1520,13 @@ wd72b:: ; 0xd72b wd72c:: ; 0xd72c ds $5 -wd731:: ; 0xd731 +wMeowthJewel3YCoord:: ; 0xd731 ds $1 -wd732:: ; 0xd732 +wMeowthJewel4YCoord:: ; 0xd732 ds $1 -wd733:: ; 0xd733 +wMeowthJewel5YCoord:: ; 0xd733 ds $1 wd734:: ; 0xd734