mirror of
https://github.com/pret/pokegold-spaceworld.git
synced 2026-04-24 23:10:52 -05:00
Decompiled framesets
This commit is contained in:
parent
4da7eb811a
commit
c01e1f1331
|
|
@ -302,191 +302,190 @@ DEF NUM_BATTLE_ANIM_FUNCS EQU const_value
|
|||
|
||||
; BattleAnimFrameData indexes (see data/battle_anims/framesets.asm)
|
||||
const_def
|
||||
const BATTLE_ANIM_FRAMESET_00
|
||||
const BATTLE_ANIM_FRAMESET_01
|
||||
const BATTLE_ANIM_FRAMESET_02
|
||||
const BATTLE_ANIM_FRAMESET_03
|
||||
const BATTLE_ANIM_FRAMESET_04
|
||||
const BATTLE_ANIM_FRAMESET_05
|
||||
const BATTLE_ANIM_FRAMESET_06
|
||||
const BATTLE_ANIM_FRAMESET_07
|
||||
const BATTLE_ANIM_FRAMESET_08
|
||||
const BATTLE_ANIM_FRAMESET_POKE_BALL_1
|
||||
const BATTLE_ANIM_FRAMESET_POKE_BALL_2
|
||||
const BATTLE_ANIM_FRAMESET_POKE_BALL_3
|
||||
const BATTLE_ANIM_FRAMESET_POKE_BALL_4
|
||||
const BATTLE_ANIM_FRAMESET_POKE_BALL_5
|
||||
const BATTLE_ANIM_FRAMESET_0E
|
||||
const BATTLE_ANIM_FRAMESET_FLAMETHROWER
|
||||
const BATTLE_ANIM_FRAMESET_EMBER
|
||||
const BATTLE_ANIM_FRAMESET_BURNED
|
||||
const BATTLE_ANIM_FRAMESET_12
|
||||
const BATTLE_ANIM_FRAMESET_13
|
||||
const BATTLE_ANIM_FRAMESET_14
|
||||
const BATTLE_ANIM_FRAMESET_15
|
||||
const BATTLE_ANIM_FRAMESET_RAZOR_LEAF_1
|
||||
const BATTLE_ANIM_FRAMESET_RAZOR_LEAF_2
|
||||
const BATTLE_ANIM_FRAMESET_18
|
||||
const BATTLE_ANIM_FRAMESET_19
|
||||
const BATTLE_ANIM_FRAMESET_1A
|
||||
const BATTLE_ANIM_FRAMESET_1B
|
||||
const BATTLE_ANIM_FRAMESET_1C
|
||||
const BATTLE_ANIM_FRAMESET_1D
|
||||
const BATTLE_ANIM_FRAMESET_1E
|
||||
const BATTLE_ANIM_FRAMESET_1F
|
||||
const BATTLE_ANIM_FRAMESET_SLUDGE_BUBBLE_BURST
|
||||
const BATTLE_ANIM_FRAMESET_21
|
||||
const BATTLE_ANIM_FRAMESET_PULSING_BUBBLE
|
||||
const BATTLE_ANIM_FRAMESET_23
|
||||
const BATTLE_ANIM_FRAMESET_MUSIC_NOTE_1
|
||||
const BATTLE_ANIM_FRAMESET_MUSIC_NOTE_2
|
||||
const BATTLE_ANIM_FRAMESET_MUSIC_NOTE_3
|
||||
const BATTLE_ANIM_FRAMESET_WATER_GUN_1
|
||||
const BATTLE_ANIM_FRAMESET_WATER_GUN_2
|
||||
const BATTLE_ANIM_FRAMESET_WATER_GUN_3
|
||||
const BATTLE_ANIM_FRAMESET_2A
|
||||
const BATTLE_ANIM_FRAMESET_2B
|
||||
const BATTLE_ANIM_FRAMESET_2C
|
||||
const BATTLE_ANIM_FRAMESET_2D
|
||||
const BATTLE_ANIM_FRAMESET_2E
|
||||
const BATTLE_ANIM_FRAMESET_2F
|
||||
const BATTLE_ANIM_FRAMESET_30
|
||||
const BATTLE_ANIM_FRAMESET_31
|
||||
const BATTLE_ANIM_FRAMESET_32
|
||||
const BATTLE_ANIM_FRAMESET_33
|
||||
const BATTLE_ANIM_FRAMESET_34
|
||||
const BATTLE_ANIM_FRAMESET_THUNDER_WAVE_EXTRA
|
||||
const BATTLE_ANIM_FRAMESET_36
|
||||
const BATTLE_ANIM_FRAMESET_37
|
||||
const BATTLE_ANIM_FRAMESET_38
|
||||
const BATTLE_ANIM_FRAMESET_39
|
||||
const BATTLE_ANIM_FRAMESET_3A
|
||||
const BATTLE_ANIM_FRAMESET_3B
|
||||
const BATTLE_ANIM_FRAMESET_BITE_1
|
||||
const BATTLE_ANIM_FRAMESET_BITE_2
|
||||
const BATTLE_ANIM_FRAMESET_3E
|
||||
const BATTLE_ANIM_FRAMESET_3F
|
||||
const BATTLE_ANIM_FRAMESET_40
|
||||
const BATTLE_ANIM_FRAMESET_41
|
||||
const BATTLE_ANIM_FRAMESET_42
|
||||
const BATTLE_ANIM_FRAMESET_43
|
||||
const BATTLE_ANIM_FRAMESET_44
|
||||
const BATTLE_ANIM_FRAMESET_45
|
||||
const BATTLE_ANIM_FRAMESET_46
|
||||
const BATTLE_ANIM_FRAMESET_47
|
||||
const BATTLE_ANIM_FRAMESET_48
|
||||
const BATTLE_ANIM_FRAMESET_49
|
||||
const BATTLE_ANIM_FRAMESET_4A
|
||||
const BATTLE_ANIM_FRAMESET_4B
|
||||
const BATTLE_ANIM_FRAMESET_4C
|
||||
const BATTLE_ANIM_FRAMESET_4D
|
||||
const BATTLE_ANIM_FRAMESET_EGG_WOBBLE
|
||||
const BATTLE_ANIM_FRAMESET_EGG_CRACKED_TOP
|
||||
const BATTLE_ANIM_FRAMESET_EGG_CRACKED_BOTTOM
|
||||
const BATTLE_ANIM_FRAMESET_51
|
||||
const BATTLE_ANIM_FRAMESET_52
|
||||
const BATTLE_ANIM_FRAMESET_53
|
||||
const BATTLE_ANIM_FRAMESET_54
|
||||
const BATTLE_ANIM_FRAMESET_55
|
||||
const BATTLE_ANIM_FRAMESET_LEECH_SEED
|
||||
const BATTLE_ANIM_FRAMESET_LEECH_SEED_2
|
||||
const BATTLE_ANIM_FRAMESET_LEECH_SEED_3
|
||||
const BATTLE_ANIM_FRAMESET_SOUND_1
|
||||
const BATTLE_ANIM_FRAMESET_SOUND_2
|
||||
const BATTLE_ANIM_FRAMESET_SOUND_3
|
||||
const BATTLE_ANIM_FRAMESET_5C
|
||||
const BATTLE_ANIM_FRAMESET_CONFUSE_RAY_1
|
||||
const BATTLE_ANIM_FRAMESET_CONFUSE_RAY_2
|
||||
const BATTLE_ANIM_FRAMESET_5F
|
||||
const BATTLE_ANIM_FRAMESET_60
|
||||
const BATTLE_ANIM_FRAMESET_61
|
||||
const BATTLE_ANIM_FRAMESET_62
|
||||
const BATTLE_ANIM_FRAMESET_AMNESIA_1
|
||||
const BATTLE_ANIM_FRAMESET_AMNESIA_2
|
||||
const BATTLE_ANIM_FRAMESET_AMNESIA_3
|
||||
const BATTLE_ANIM_FRAMESET_66
|
||||
const BATTLE_ANIM_FRAMESET_67
|
||||
const BATTLE_ANIM_FRAMESET_68
|
||||
const BATTLE_ANIM_FRAMESET_69
|
||||
const BATTLE_ANIM_FRAMESET_STRING_SHOT_1
|
||||
const BATTLE_ANIM_FRAMESET_STRING_SHOT_2
|
||||
const BATTLE_ANIM_FRAMESET_STRING_SHOT_3
|
||||
const BATTLE_ANIM_FRAMESET_6D
|
||||
const BATTLE_ANIM_FRAMESET_PARALYZED_FLIPPED
|
||||
const BATTLE_ANIM_FRAMESET_6F
|
||||
const BATTLE_ANIM_FRAMESET_70
|
||||
const BATTLE_ANIM_FRAMESET_71
|
||||
const BATTLE_ANIM_FRAMESET_72
|
||||
const BATTLE_ANIM_FRAMESET_73
|
||||
const BATTLE_ANIM_FRAMESET_74
|
||||
const BATTLE_ANIM_FRAMESET_75
|
||||
const BATTLE_ANIM_FRAMESET_76
|
||||
const BATTLE_ANIM_FRAMESET_77
|
||||
const BATTLE_ANIM_FRAMESET_78
|
||||
const BATTLE_ANIM_FRAMESET_79
|
||||
const BATTLE_ANIM_FRAMESET_7A
|
||||
const BATTLE_ANIM_FRAMESET_7B
|
||||
const BATTLE_ANIM_FRAMESET_7C
|
||||
const BATTLE_ANIM_FRAMESET_7D
|
||||
const BATTLE_ANIM_FRAMESET_7E
|
||||
const BATTLE_ANIM_FRAMESET_7F
|
||||
const BATTLE_ANIM_FRAMESET_80
|
||||
const BATTLE_ANIM_FRAMESET_SPEED_LINE_1
|
||||
const BATTLE_ANIM_FRAMESET_SPEED_LINE_2
|
||||
const BATTLE_ANIM_FRAMESET_SPEED_LINE_3
|
||||
const BATTLE_ANIM_FRAMESET_84
|
||||
const BATTLE_ANIM_FRAMESET_85
|
||||
const BATTLE_ANIM_FRAMESET_86
|
||||
const BATTLE_ANIM_FRAMESET_87
|
||||
const BATTLE_ANIM_FRAMESET_88
|
||||
const BATTLE_ANIM_FRAMESET_89
|
||||
const BATTLE_ANIM_FRAMESET_8A
|
||||
const BATTLE_ANIM_FRAMESET_8B
|
||||
const BATTLE_ANIM_FRAMESET_8C
|
||||
const BATTLE_ANIM_FRAMESET_8D
|
||||
const BATTLE_ANIM_FRAMESET_8E
|
||||
const BATTLE_ANIM_FRAMESET_8F
|
||||
const BATTLE_ANIM_FRAMESET_90
|
||||
const BATTLE_ANIM_FRAMESET_91
|
||||
const BATTLE_ANIM_FRAMESET_92
|
||||
const BATTLE_ANIM_FRAMESET_93
|
||||
const BATTLE_ANIM_FRAMESET_94
|
||||
const BATTLE_ANIM_FRAMESET_95
|
||||
const BATTLE_ANIM_FRAMESET_96
|
||||
const BATTLE_ANIM_FRAMESET_97
|
||||
const BATTLE_ANIM_FRAMESET_98
|
||||
const BATTLE_ANIM_FRAMESET_99
|
||||
const BATTLE_ANIM_FRAMESET_9A
|
||||
const BATTLE_ANIM_FRAMESET_9B
|
||||
const BATTLE_ANIM_FRAMESET_9C
|
||||
const BATTLE_ANIM_FRAMESET_9D
|
||||
const BATTLE_ANIM_FRAMESET_9E
|
||||
const BATTLE_ANIM_FRAMESET_9F
|
||||
const BATTLE_ANIM_FRAMESET_A0
|
||||
const BATTLE_ANIM_FRAMESET_A1
|
||||
const BATTLE_ANIM_FRAMESET_A2
|
||||
const BATTLE_ANIM_FRAMESET_A3
|
||||
const BATTLE_ANIM_FRAMESET_A4
|
||||
const BATTLE_ANIM_FRAMESET_A5
|
||||
const BATTLE_ANIM_FRAMESET_A6
|
||||
const BATTLE_ANIM_FRAMESET_A7
|
||||
const BATTLE_ANIM_FRAMESET_A8
|
||||
const BATTLE_ANIM_FRAMESET_A9
|
||||
const BATTLE_ANIM_FRAMESET_AA
|
||||
const BATTLE_ANIM_FRAMESET_AB
|
||||
const BATTLE_ANIM_FRAMESET_AC
|
||||
const BATTLE_ANIM_FRAMESET_AD
|
||||
const BATTLE_ANIM_FRAMESET_AE
|
||||
const BATTLE_ANIM_FRAMESET_AF
|
||||
const BATTLE_ANIM_FRAMESET_B0
|
||||
const BATTLE_ANIM_FRAMESET_B1
|
||||
const BATTLE_ANIM_FRAMESET_B2
|
||||
const BATTLE_ANIM_FRAMESET_B3
|
||||
const BATTLE_ANIM_FRAMESET_B4
|
||||
const BATTLE_ANIM_FRAMESET_B5
|
||||
const BATTLE_ANIM_FRAMESET_B6
|
||||
const BATTLE_ANIM_FRAMESET_B7
|
||||
const BATTLE_ANIM_FRAMESET_B8
|
||||
const BATTLE_ANIM_FRAMESET_HIT_BIG ; 00
|
||||
const BATTLE_ANIM_FRAMESET_HIT ; 01
|
||||
const BATTLE_ANIM_FRAMESET_HIT_SMALL ; 02
|
||||
const BATTLE_ANIM_FRAMESET_PUNCH ; 03
|
||||
const BATTLE_ANIM_FRAMESET_KICK ; 04
|
||||
const BATTLE_ANIM_FRAMESET_PALM ; 05
|
||||
const BATTLE_ANIM_FRAMESET_FANG ; 06
|
||||
const BATTLE_ANIM_FRAMESET_PUNCH_SHAKE ; 07
|
||||
const BATTLE_ANIM_FRAMESET_BALL_POOF ; 08
|
||||
const BATTLE_ANIM_FRAMESET_POKE_BALL_1 ; 09
|
||||
const BATTLE_ANIM_FRAMESET_POKE_BALL_2 ; 0a
|
||||
const BATTLE_ANIM_FRAMESET_POKE_BALL_3 ; 0b
|
||||
const BATTLE_ANIM_FRAMESET_POKE_BALL_4 ; 0c
|
||||
const BATTLE_ANIM_FRAMESET_POKE_BALL_5 ; 0d
|
||||
const BATTLE_ANIM_FRAMESET_DRAGON_RAGE ; 0e
|
||||
const BATTLE_ANIM_FRAMESET_FLAMETHROWER ; 0f
|
||||
const BATTLE_ANIM_FRAMESET_EMBER ; 10
|
||||
const BATTLE_ANIM_FRAMESET_BURNED ; 11
|
||||
const BATTLE_ANIM_FRAMESET_BLIZZARD ; 12
|
||||
const BATTLE_ANIM_FRAMESET_ICE ; 13
|
||||
const BATTLE_ANIM_FRAMESET_ICE_BEAM ; 14
|
||||
const BATTLE_ANIM_FRAMESET_POWDER_SNOW ; 15
|
||||
const BATTLE_ANIM_FRAMESET_RAZOR_LEAF_1 ; 16
|
||||
const BATTLE_ANIM_FRAMESET_RAZOR_LEAF_2 ; 17
|
||||
const BATTLE_ANIM_FRAMESET_EXPLOSION ; 18
|
||||
const BATTLE_ANIM_FRAMESET_BIG_ROCK ; 19
|
||||
const BATTLE_ANIM_FRAMESET_SMALL_ROCK ; 1a
|
||||
const BATTLE_ANIM_FRAMESET_STRENGTH ; 1b
|
||||
const BATTLE_ANIM_FRAMESET_SKULL_CROSSBONE ; 1c
|
||||
const BATTLE_ANIM_FRAMESET_ACID ; 1d
|
||||
const BATTLE_ANIM_FRAMESET_POISON_DROPLET_UNUSED ; 1e
|
||||
const BATTLE_ANIM_FRAMESET_SLUDGE_BUBBLE ; 1f
|
||||
const BATTLE_ANIM_FRAMESET_SLUDGE_BUBBLE_BURST ; 20
|
||||
const BATTLE_ANIM_FRAMESET_SMALL_BUBBLE ; 21
|
||||
const BATTLE_ANIM_FRAMESET_PULSING_BUBBLE ; 22
|
||||
const BATTLE_ANIM_FRAMESET_SURF ; 23
|
||||
const BATTLE_ANIM_FRAMESET_MUSIC_NOTE_1 ; 24
|
||||
const BATTLE_ANIM_FRAMESET_MUSIC_NOTE_2 ; 25
|
||||
const BATTLE_ANIM_FRAMESET_MUSIC_NOTE_3 ; 26
|
||||
const BATTLE_ANIM_FRAMESET_WATER_GUN_1 ; 27
|
||||
const BATTLE_ANIM_FRAMESET_WATER_GUN_2 ; 28
|
||||
const BATTLE_ANIM_FRAMESET_WATER_GUN_3 ; 29
|
||||
const BATTLE_ANIM_FRAMESET_HYDRO_PUMP ; 2a
|
||||
const BATTLE_ANIM_FRAMESET_POWDER ; 2b
|
||||
const BATTLE_ANIM_FRAMESET_BEAM ; 2c
|
||||
const BATTLE_ANIM_FRAMESET_BEAM_TIP ; 2d
|
||||
const BATTLE_ANIM_FRAMESET_ICE_BUILDUP ; 2e
|
||||
const BATTLE_ANIM_FRAMESET_FROZEN ; 2f
|
||||
const BATTLE_ANIM_FRAMESET_CIRCLING_SPARKLE ; 30
|
||||
const BATTLE_ANIM_FRAMESET_THUNDER_CENTER ; 31
|
||||
const BATTLE_ANIM_FRAMESET_THUNDER_LEFT ; 32
|
||||
const BATTLE_ANIM_FRAMESET_THUNDER_RIGHT ; 33
|
||||
const BATTLE_ANIM_FRAMESET_THUNDER_WAVE_DISABLE ; 34
|
||||
const BATTLE_ANIM_FRAMESET_THUNDER_WAVE_EXTRA ; 35
|
||||
const BATTLE_ANIM_FRAMESET_THUNDERBOLT_SPARKS ; 36
|
||||
const BATTLE_ANIM_FRAMESET_THUNDERBOLT_CORE ; 37
|
||||
const BATTLE_ANIM_FRAMESET_THUNDERSHOCK_SPARKS ; 38
|
||||
const BATTLE_ANIM_FRAMESET_THUNDERSHOCK_CORE ; 39
|
||||
const BATTLE_ANIM_FRAMESET_CLAMP ; 3a
|
||||
const BATTLE_ANIM_FRAMESET_CLAMP_FLIPPED ; 3b
|
||||
const BATTLE_ANIM_FRAMESET_BITE_1 ; 3c
|
||||
const BATTLE_ANIM_FRAMESET_BITE_2 ; 3d
|
||||
const BATTLE_ANIM_FRAMESET_CUT_DOWN_LEFT ; 3e
|
||||
const BATTLE_ANIM_FRAMESET_CUT_DOWN_RIGHT ; 3f
|
||||
const BATTLE_ANIM_FRAMESET_CUT_UP_RIGHT ; 40
|
||||
const BATTLE_ANIM_FRAMESET_CUT_LONG_DOWN_LEFT ; 41
|
||||
const BATTLE_ANIM_FRAMESET_CUT_LONG_DOWN_RIGHT ; 42
|
||||
const BATTLE_ANIM_FRAMESET_CHARGE_ORB_1 ; 43
|
||||
const BATTLE_ANIM_FRAMESET_ABSORB_CENTER ; 44
|
||||
const BATTLE_ANIM_FRAMESET_GUST ; 45
|
||||
const BATTLE_ANIM_FRAMESET_VINE_WHIP_1 ; 46
|
||||
const BATTLE_ANIM_FRAMESET_VINE_WHIP_2 ; 47
|
||||
const BATTLE_ANIM_FRAMESET_RAZOR_WIND_1 ; 48
|
||||
const BATTLE_ANIM_FRAMESET_RAZOR_WIND_2 ; 49
|
||||
const BATTLE_ANIM_FRAMESET_SONICBOOM_JP ; 4a
|
||||
const BATTLE_ANIM_FRAMESET_WARP ; 4b
|
||||
const BATTLE_ANIM_FRAMESET_CHARGE_ORB_2 ; 4c
|
||||
const BATTLE_ANIM_FRAMESET_EGG ; 4d
|
||||
const BATTLE_ANIM_FRAMESET_EGG_WOBBLE ; 4e
|
||||
const BATTLE_ANIM_FRAMESET_EGG_CRACKED_TOP ; 4f
|
||||
const BATTLE_ANIM_FRAMESET_EGG_CRACKED_BOTTOM ; 50
|
||||
const BATTLE_ANIM_FRAMESET_FOCUS ; 51
|
||||
const BATTLE_ANIM_FRAMESET_BIND_1 ; 52
|
||||
const BATTLE_ANIM_FRAMESET_BIND_2 ; 53
|
||||
const BATTLE_ANIM_FRAMESET_BIND_3 ; 54
|
||||
const BATTLE_ANIM_FRAMESET_BIND_4 ; 55
|
||||
const BATTLE_ANIM_FRAMESET_LEECH_SEED_1 ; 56
|
||||
const BATTLE_ANIM_FRAMESET_LEECH_SEED_2 ; 57
|
||||
const BATTLE_ANIM_FRAMESET_LEECH_SEED_3 ; 58
|
||||
const BATTLE_ANIM_FRAMESET_SOUND_1 ; 59
|
||||
const BATTLE_ANIM_FRAMESET_SOUND_2 ; 5a
|
||||
const BATTLE_ANIM_FRAMESET_SOUND_3 ; 5b
|
||||
const BATTLE_ANIM_FRAMESET_WAVE ; 5c
|
||||
const BATTLE_ANIM_FRAMESET_CONFUSE_RAY_1 ; 5d
|
||||
const BATTLE_ANIM_FRAMESET_CONFUSE_RAY_2 ; 5e
|
||||
const BATTLE_ANIM_FRAMESET_LEER ; 5f
|
||||
const BATTLE_ANIM_FRAMESET_REFLECT ; 60
|
||||
const BATTLE_ANIM_FRAMESET_CHICK_1 ; 61
|
||||
const BATTLE_ANIM_FRAMESET_CHICK_2 ; 62
|
||||
const BATTLE_ANIM_FRAMESET_AMNESIA_1 ; 63
|
||||
const BATTLE_ANIM_FRAMESET_AMNESIA_2 ; 64
|
||||
const BATTLE_ANIM_FRAMESET_AMNESIA_3 ; 65
|
||||
const BATTLE_ANIM_FRAMESET_ASLEEP ; 66
|
||||
const BATTLE_ANIM_FRAMESET_DIG_SAND ; 67
|
||||
const BATTLE_ANIM_FRAMESET_DIG_PILE ; 68
|
||||
const BATTLE_ANIM_FRAMESET_SAND ; 69
|
||||
const BATTLE_ANIM_FRAMESET_STRING_SHOT_1 ; 6a
|
||||
const BATTLE_ANIM_FRAMESET_STRING_SHOT_2 ; 6b
|
||||
const BATTLE_ANIM_FRAMESET_STRING_SHOT_3 ; 6c
|
||||
const BATTLE_ANIM_FRAMESET_PARALYZED ; 6d
|
||||
const BATTLE_ANIM_FRAMESET_PARALYZED_FLIPPED ; 6e
|
||||
const BATTLE_ANIM_FRAMESET_HAZE ; 6f
|
||||
const BATTLE_ANIM_FRAMESET_MIST ; 70
|
||||
const BATTLE_ANIM_FRAMESET_HORN ; 71
|
||||
const BATTLE_ANIM_FRAMESET_NEEDLE ; 72
|
||||
const BATTLE_ANIM_FRAMESET_FLOWER ; 73
|
||||
const BATTLE_ANIM_FRAMESET_BARRAGE_BALL ; 74
|
||||
const BATTLE_ANIM_FRAMESET_PAY_DAY ; 75
|
||||
const BATTLE_ANIM_FRAMESET_HEART ; 76
|
||||
const BATTLE_ANIM_FRAMESET_SPINNING_BONE ; 77
|
||||
const BATTLE_ANIM_FRAMESET_STAR ; 78
|
||||
const BATTLE_ANIM_FRAMESET_SPOON ; 79
|
||||
const BATTLE_ANIM_FRAMESET_SPARKLE ; 7a
|
||||
const BATTLE_ANIM_FRAMESET_SKY_ATTACK ; 7b
|
||||
const BATTLE_ANIM_FRAMESET_LICK ; 7c
|
||||
const BATTLE_ANIM_FRAMESET_WITHDRAW_SHELL ; 7d
|
||||
const BATTLE_ANIM_FRAMESET_SHRINKING_CHARGE_ORB ; 7e
|
||||
const BATTLE_ANIM_FRAMESET_CONVERSION ; 7f
|
||||
const BATTLE_ANIM_FRAMESET_SWORD ; 80
|
||||
const BATTLE_ANIM_FRAMESET_SPEED_LINE_1 ; 81
|
||||
const BATTLE_ANIM_FRAMESET_SPEED_LINE_2 ; 82
|
||||
const BATTLE_ANIM_FRAMESET_SPEED_LINE_3 ; 83
|
||||
const BATTLE_ANIM_FRAMESET_SEISMIC_TOSS ; 84
|
||||
const BATTLE_ANIM_FRAMESET_SHARPEN ; 85
|
||||
const BATTLE_ANIM_FRAMESET_DEFENSE_CURL ; 86
|
||||
const BATTLE_ANIM_FRAMESET_METRONOME_HAND ; 87
|
||||
const BATTLE_ANIM_FRAMESET_AGILITY ; 88
|
||||
const BATTLE_ANIM_FRAMESET_COTTON ; 89
|
||||
const BATTLE_ANIM_FRAMESET_MILK_BOTTLE ; 8a
|
||||
const BATTLE_ANIM_FRAMESET_SPIKE ; 8b
|
||||
const BATTLE_ANIM_FRAMESET_ANGER_VEIN ; 8c
|
||||
const BATTLE_ANIM_FRAMESET_HEAL_BELL ; 8d
|
||||
const BATTLE_ANIM_FRAMESET_BATON_PASS ; 8e
|
||||
const BATTLE_ANIM_FRAMESET_LOCK_ON_1 ; 8f
|
||||
const BATTLE_ANIM_FRAMESET_LOCK_ON_2 ; 90
|
||||
const BATTLE_ANIM_FRAMESET_LOCK_ON_3 ; 91
|
||||
const BATTLE_ANIM_FRAMESET_LOCK_ON_4 ; 92
|
||||
const BATTLE_ANIM_FRAMESET_MIND_READER_1 ; 93
|
||||
const BATTLE_ANIM_FRAMESET_MIND_READER_2 ; 94
|
||||
const BATTLE_ANIM_FRAMESET_MIND_READER_3 ; 95
|
||||
const BATTLE_ANIM_FRAMESET_MIND_READER_4 ; 96
|
||||
const BATTLE_ANIM_FRAMESET_SAFEGUARD ; 97
|
||||
const BATTLE_ANIM_FRAMESET_MEGAPHONE ; 98
|
||||
const BATTLE_ANIM_FRAMESET_ITEM_BAG ; 99
|
||||
const BATTLE_ANIM_FRAMESET_SPIDER_WEB ; 9a
|
||||
const BATTLE_ANIM_FRAMESET_TEMPT_CAKE ; 9b
|
||||
const BATTLE_ANIM_FRAMESET_IMP ; 9c
|
||||
const BATTLE_ANIM_FRAMESET_IMP_FLIPPED ; 9d
|
||||
const BATTLE_ANIM_FRAMESET_CHERUB ; 9e
|
||||
const BATTLE_ANIM_FRAMESET_PENCIL ; 9f
|
||||
const BATTLE_ANIM_FRAMESET_ENCORE_HAND ; a0
|
||||
const BATTLE_ANIM_FRAMESET_ENCORE_HAND_FLIPPED ; a1
|
||||
const BATTLE_ANIM_FRAMESET_DESTINY_BOND ; a2
|
||||
const BATTLE_ANIM_FRAMESET_MORNING_SUN ; a3
|
||||
const BATTLE_ANIM_FRAMESET_GLIMMER ; a4
|
||||
const BATTLE_ANIM_FRAMESET_MOONLIGHT ; a5
|
||||
const BATTLE_ANIM_FRAMESET_CROSS_CUTTER_1 ; a6
|
||||
const BATTLE_ANIM_FRAMESET_CROSS_CUTTER_2 ; a7
|
||||
const BATTLE_ANIM_FRAMESET_ZAP_CANNON ; a8
|
||||
const BATTLE_ANIM_FRAMESET_CURSE_NAIL ; a9
|
||||
const BATTLE_ANIM_FRAMESET_FORESIGHT_SHINE ; aa
|
||||
const BATTLE_ANIM_FRAMESET_RAPID_SPIN ; ab
|
||||
const BATTLE_ANIM_FRAMESET_SWAGGER ; ac
|
||||
const BATTLE_ANIM_FRAMESET_STALKER ; ad
|
||||
const BATTLE_ANIM_FRAMESET_UPSIDE_DOWN_PUNCH ; ae
|
||||
const BATTLE_ANIM_FRAMESET_GROWING_SPARKLE ; af
|
||||
const BATTLE_ANIM_FRAMESET_RAIN_1 ; b0
|
||||
const BATTLE_ANIM_FRAMESET_RAIN_2 ; b1
|
||||
const BATTLE_ANIM_FRAMESET_RAIN_3 ; b2
|
||||
const BATTLE_ANIM_FRAMESET_ENEMYFEET_1ROW ; b3
|
||||
const BATTLE_ANIM_FRAMESET_PLAYERHEAD_1ROW ; b4
|
||||
const BATTLE_ANIM_FRAMESET_ENEMYFEET_2ROW ; b5
|
||||
const BATTLE_ANIM_FRAMESET_PLAYERHEAD_2ROW ; b6
|
||||
DEF NUM_BATTLE_ANIM_FRAMESETS EQU const_value
|
||||
|
||||
; BattleAnimOAMData indexes (see data/battle_anims/oam.asm)
|
||||
const_def
|
||||
|
|
|
|||
1252
data/battle_anims/framesets.inc
Normal file
1252
data/battle_anims/framesets.inc
Normal file
File diff suppressed because it is too large
Load Diff
368
engine/battle_anims/core.asm
Normal file
368
engine/battle_anims/core.asm
Normal file
|
|
@ -0,0 +1,368 @@
|
|||
INCLUDE "constants.asm"
|
||||
|
||||
SECTION "engine/dumps/bank33.asm", ROMX
|
||||
|
||||
QueueBattleAnimation:
|
||||
ld hl, wActiveAnimObjects
|
||||
ld e, NUM_BATTLE_ANIM_STRUCTS
|
||||
.loop
|
||||
ld a, [hl]
|
||||
and a
|
||||
jr z, .done
|
||||
ld bc, BATTLEANIMSTRUCT_LENGTH
|
||||
add hl, bc
|
||||
dec e
|
||||
jr nz, .loop
|
||||
scf
|
||||
ret
|
||||
|
||||
.done
|
||||
ld c, l
|
||||
ld b, h
|
||||
ld hl, wLastAnimObjectIndex
|
||||
inc [hl]
|
||||
call InitBattleAnimation
|
||||
ret
|
||||
|
||||
DeinitBattleAnimation:
|
||||
ld hl, BATTLEANIMSTRUCT_INDEX
|
||||
add hl, bc
|
||||
ld [hl], $0
|
||||
ret
|
||||
|
||||
InitBattleAnimation:
|
||||
ld a, [wBattleObjectTempID]
|
||||
ld e, a
|
||||
ld d, 0
|
||||
ld hl, BattleAnimObjects
|
||||
rept BATTLEANIMOBJ_LENGTH
|
||||
add hl, de
|
||||
endr
|
||||
ld e, l
|
||||
ld d, h
|
||||
ld hl, BATTLEANIMSTRUCT_INDEX
|
||||
add hl, bc
|
||||
ld a, [wLastAnimObjectIndex]
|
||||
ld [hli], a ; BATTLEANIMSTRUCT_INDEX
|
||||
ld a, [de]
|
||||
inc de
|
||||
ld [hli], a ; BATTLEANIMSTRUCT_OAMFLAGS
|
||||
ld a, [de]
|
||||
inc de
|
||||
ld [hli], a ; BATTLEANIMSTRUCT_FIX_Y
|
||||
ld a, [de]
|
||||
inc de
|
||||
ld [hli], a ; BATTLEANIMSTRUCT_FRAMESET_ID
|
||||
ld a, [de]
|
||||
inc de
|
||||
ld [hli], a ; BATTLEANIMSTRUCT_FUNCTION
|
||||
ld a, [de]
|
||||
call GetBattleAnimTileOffset
|
||||
ld [hli], a ; BATTLEANIMSTRUCT_TILEID
|
||||
ld a, [wBattleObjectTempXCoord]
|
||||
ld [hli], a ; BATTLEANIMSTRUCT_XCOORD
|
||||
ld a, [wBattleObjectTempYCoord]
|
||||
ld [hli], a ; BATTLEANIMSTRUCT_YCOORD
|
||||
xor a
|
||||
ld [hli], a ; BATTLEANIMSTRUCT_XOFFSET
|
||||
ld [hli], a ; BATTLEANIMSTRUCT_YOFFSET
|
||||
ld a, [wBattleObjectTempParam]
|
||||
ld [hli], a ; BATTLEANIMSTRUCT_PARAM
|
||||
xor a
|
||||
ld [hli], a ; BATTLEANIMSTRUCT_DURATION
|
||||
dec a
|
||||
ld [hli], a ; BATTLEANIMSTRUCT_FRAME
|
||||
xor a
|
||||
ld [hli], a ; BATTLEANIMSTRUCT_JUMPTABLE_INDEX
|
||||
ld [hli], a ; BATTLEANIMSTRUCT_VAR1
|
||||
ld [hl], a ; BATTLEANIMSTRUCT_VAR2
|
||||
ret
|
||||
|
||||
BattleAnimOAMUpdate:
|
||||
call InitBattleAnimBuffer
|
||||
call GetBattleAnimFrame
|
||||
cp oamwait_command
|
||||
jr z, .done
|
||||
cp oamdelete_command
|
||||
jr z, .delete
|
||||
|
||||
push af
|
||||
ld hl, wBattleAnimTempOAMFlags
|
||||
ld a, [wBattleAnimTempFrameOAMFlags]
|
||||
xor [hl]
|
||||
and PRIORITY | Y_FLIP | X_FLIP
|
||||
ld [hl], a
|
||||
pop af
|
||||
|
||||
push bc
|
||||
call GetBattleAnimOAMPointer
|
||||
ld a, [wBattleAnimTempTileID]
|
||||
add [hl] ; tile offset
|
||||
ld [wBattleAnimTempTileID], a
|
||||
inc hl
|
||||
ld a, [hli] ; oam data length
|
||||
ld c, a
|
||||
ld a, [hli] ; oam data pointer
|
||||
ld h, [hl]
|
||||
ld l, a
|
||||
ld a, [wBattleAnimOAMPointerLo]
|
||||
ld e, a
|
||||
ld d, HIGH(wShadowOAM)
|
||||
|
||||
.loop
|
||||
; Y Coord
|
||||
ld a, [wBattleAnimTempYCoord]
|
||||
ld b, a
|
||||
ld a, [wBattleAnimTempYOffset]
|
||||
add b
|
||||
ld b, a
|
||||
call .XFlip
|
||||
add b
|
||||
ld [de], a
|
||||
|
||||
; X Coord
|
||||
inc hl
|
||||
inc de
|
||||
ld a, [wBattleAnimTempXCoord]
|
||||
ld b, a
|
||||
ld a, [wBattleAnimTempXOffset]
|
||||
add b
|
||||
ld b, a
|
||||
call .YFlip
|
||||
add b
|
||||
ld [de], a
|
||||
|
||||
; Tile ID
|
||||
inc hl
|
||||
inc de
|
||||
ld a, [wBattleAnimTempTileID]
|
||||
add BATTLEANIM_BASE_TILE
|
||||
add [hl]
|
||||
ld [de], a
|
||||
|
||||
; Attributes
|
||||
inc hl
|
||||
inc de
|
||||
call .UpdateAttributes
|
||||
ld [de], a
|
||||
|
||||
inc hl
|
||||
inc de
|
||||
ld a, e
|
||||
ld [wBattleAnimOAMPointerLo], a
|
||||
cp LOW(wShadowOAMEnd)
|
||||
jr nc, .exit_set_carry
|
||||
dec c
|
||||
jr nz, .loop
|
||||
pop bc
|
||||
jr .done
|
||||
|
||||
.delete
|
||||
call DeinitBattleAnimation
|
||||
|
||||
.done
|
||||
and a
|
||||
ret
|
||||
|
||||
.exit_set_carry
|
||||
pop bc
|
||||
scf
|
||||
ret
|
||||
|
||||
; This and the other two subroutines below it are kind of pointless to have as subroutines,
|
||||
; as they only get run once... which is likely why they were merged into the main function in the final game.
|
||||
.XFlip:
|
||||
push hl
|
||||
ld a, [hl]
|
||||
ld hl, wBattleAnimTempOAMFlags
|
||||
bit OAM_Y_FLIP, [hl]
|
||||
jr z, .no_yflip
|
||||
add $8
|
||||
xor $ff
|
||||
inc a
|
||||
.no_yflip
|
||||
pop hl
|
||||
ret
|
||||
|
||||
.YFlip:
|
||||
push hl
|
||||
ld a, [hl]
|
||||
ld hl, wBattleAnimTempOAMFlags
|
||||
bit OAM_X_FLIP, [hl]
|
||||
jr z, .no_xflip
|
||||
add $8
|
||||
xor $ff
|
||||
inc a
|
||||
.no_xflip
|
||||
pop hl
|
||||
ret
|
||||
|
||||
.UpdateAttributes:
|
||||
ld a, [wBattleAnimTempOAMFlags]
|
||||
ld b, a
|
||||
ld a, [hl]
|
||||
xor b
|
||||
and PRIORITY | Y_FLIP | X_FLIP
|
||||
ld b, a
|
||||
ld a, [hl]
|
||||
and OBP_NUM
|
||||
or b
|
||||
ret
|
||||
|
||||
InitBattleAnimBuffer:
|
||||
ld hl, BATTLEANIMSTRUCT_OAMFLAGS
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
|
||||
and PRIORITY
|
||||
ld [wBattleAnimTempOAMFlags], a
|
||||
xor a
|
||||
ld [wBattleAnimTempFrameOAMFlags], a
|
||||
ld hl, BATTLEANIMSTRUCT_FIX_Y
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
ld [wBattleAnimTempFixY], a
|
||||
ld hl, BATTLEANIMSTRUCT_TILEID
|
||||
add hl, bc
|
||||
ld a, [hli]
|
||||
ld [wBattleAnimTempTileID], a
|
||||
ld a, [hli]
|
||||
ld [wBattleAnimTempXCoord], a
|
||||
ld a, [hli]
|
||||
ld [wBattleAnimTempYCoord], a
|
||||
ld a, [hli]
|
||||
ld [wBattleAnimTempXOffset], a
|
||||
ld a, [hli]
|
||||
ld [wBattleAnimTempYOffset], a
|
||||
|
||||
ldh a, [hBattleTurn]
|
||||
and a
|
||||
ret z
|
||||
|
||||
ld hl, BATTLEANIMSTRUCT_OAMFLAGS
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
ld [wBattleAnimTempOAMFlags], a
|
||||
bit BATTLEANIMSTRUCT_OAMFLAGS_FIX_COORDS_F, [hl]
|
||||
ret z
|
||||
|
||||
ld hl, BATTLEANIMSTRUCT_XCOORD
|
||||
add hl, bc
|
||||
ld a, [hli]
|
||||
ld d, a
|
||||
ld a, (-10 * TILE_WIDTH) + 4
|
||||
sub d
|
||||
ld [wBattleAnimTempXCoord], a
|
||||
ld a, [hli]
|
||||
ld d, a
|
||||
ld a, [wBattleAnimTempFixY]
|
||||
cp $ff
|
||||
jr nz, .check_kinesis_softboiled_milkdrink
|
||||
|
||||
ld a, 5 * TILE_WIDTH
|
||||
add d
|
||||
jr .done
|
||||
|
||||
; The changes for these animations were seemingly expanded upon for the final game
|
||||
.check_kinesis_softboiled_milkdrink
|
||||
sub d
|
||||
.done
|
||||
ld [wBattleAnimTempYCoord], a
|
||||
ld a, [hli]
|
||||
xor $ff
|
||||
inc a
|
||||
ld [wBattleAnimTempXOffset], a
|
||||
ret
|
||||
|
||||
GetBattleAnimTileOffset:
|
||||
push hl
|
||||
push bc
|
||||
ld hl, wBattleAnimTileDict
|
||||
ld b, a
|
||||
ld c, NUM_BATTLEANIMTILEDICT_ENTRIES
|
||||
.loop
|
||||
ld a, [hli]
|
||||
cp b
|
||||
jr z, .load
|
||||
inc hl
|
||||
dec c
|
||||
jr nz, .loop
|
||||
xor a
|
||||
jr .done
|
||||
|
||||
.load
|
||||
ld a, [hl]
|
||||
.done
|
||||
pop bc
|
||||
pop hl
|
||||
ret
|
||||
|
||||
_ExecuteBGEffects:
|
||||
callfar ExecuteBGEffects
|
||||
ret
|
||||
|
||||
_QueueBGEffect:
|
||||
callfar QueueBGEffect
|
||||
ret
|
||||
|
||||
; Data from CC80F to CCB97 (905 bytes)
|
||||
BattleAnimObjects:
|
||||
db $01, $FF, $00, $00, $01, $01, $FF, $01, $00, $01, $01, $FF, $02, $00, $01, $01
|
||||
db $90, $00, $00, $01, $01, $90, $01, $00, $01, $01, $90, $02, $00, $01, $01, $FF
|
||||
db $03, $00, $01, $01, $FF, $04, $1B, $01, $01, $FF, $05, $00, $01, $01, $FF, $06
|
||||
db $00, $01, $01, $90, $07, $09, $01, $01, $AA, $10, $10, $03, $01, $90, $0E, $04
|
||||
db $03, $01, $90, $0F, $03, $03, $01, $90, $10, $08, $03, $01, $90, $0F, $0A, $03
|
||||
db $01, $90, $11, $03, $03, $01, $90, $12, $08, $0A, $01, $90, $13, $00, $0A, $01
|
||||
db $90, $14, $01, $0A, $21, $78, $16, $0B, $06, $00, $00, $09, $12, $0B, $00, $00
|
||||
db $09, $13, $0B, $01, $90, $18, $00, $08, $01, $FF, $18, $00, $08, $01, $90, $1D
|
||||
db $06, $0C, $01, $B4, $1F, $38, $0C, $01, $90, $08, $00, $07, $01, $A0, $08, $00
|
||||
db $07, $01, $FF, $19, $07, $09, $01, $FF, $1A, $07, $09, $01, $B0, $1B, $36, $09
|
||||
db $01, $B0, $84, $36, $21, $01, $90, $21, $0C, $0D, $00, $00, $23, $0D, $0D, $01
|
||||
db $90, $24, $0E, $0E, $61, $80, $27, $0F, $04, $01, $B4, $2A, $00, $04, $01, $40
|
||||
db $2B, $11, $0F, $61, $98, $2C, $00, $10, $61, $98, $2D, $09, $10, $01, $B8, $2E
|
||||
db $00, $0A, $01, $B8, $2F, $00, $0A, $01, $B8, $30, $14, $11, $01, $90, $21, $14
|
||||
db $0D, $21, $B0, $31, $00, $05, $21, $B0, $32, $00, $05, $21, $B0, $33, $00, $05
|
||||
db $21, $90, $34, $15, $05, $21, $90, $36, $00, $05, $21, $90, $37, $03, $08, $21
|
||||
db $90, $38, $00, $05, $21, $90, $39, $03, $08, $21, $90, $3A, $16, $02, $01, $90
|
||||
db $3C, $17, $02, $21, $FF, $3E, $00, $02, $21, $FF, $3F, $00, $02, $21, $FF, $40
|
||||
db $00, $02, $21, $FF, $41, $00, $02, $21, $FF, $42, $00, $02, $01, $88, $43, $18
|
||||
db $12, $01, $88, $44, $00, $12, $21, $B8, $45, $19, $13, $21, $FF, $46, $00, $14
|
||||
db $21, $FF, $47, $00, $14, $21, $FF, $48, $1A, $14, $21, $FF, $49, $1A, $14, $21
|
||||
db $98, $4A, $01, $14, $21, $80, $4B, $00, $11, $01, $88, $4C, $1C, $12, $21, $B0
|
||||
db $4D, $1D, $15, $01, $B0, $51, $1E, $11, $21, $FF, $52, $1F, $16, $21, $FF, $54
|
||||
db $1F, $16, $21, $68, $56, $20, $06, $21, $90, $59, $21, $0E, $21, $90, $5C, $02
|
||||
db $17, $01, $90, $5D, $22, $11, $61, $88, $5F, $00, $10, $61, $88, $2D, $09, $10
|
||||
db $21, $88, $60, $00, $18, $21, $80, $60, $00, $18, $21, $50, $61, $23, $19, $01
|
||||
db $80, $63, $24, $19, $01, $80, $66, $25, $19, $01, $50, $1C, $00, $0C, $21, $A8
|
||||
db $67, $26, $1A, $21, $A8, $68, $00, $1A, $21, $90, $69, $01, $1A, $21, $90, $6D
|
||||
db $28, $19, $21, $90, $6A, $27, $1B, $00, $00, $6F, $29, $1C, $21, $48, $70, $29
|
||||
db $1C, $21, $48, $6F, $29, $1C, $21, $78, $6F, $2A, $1C, $61, $90, $71, $2B, $1D
|
||||
db $61, $90, $72, $2C, $1D, $01, $48, $73, $2D, $1E, $01, $90, $74, $06, $15, $01
|
||||
db $FF, $75, $2E, $19, $01, $90, $75, $02, $19, $01, $80, $30, $2F, $11, $01, $78
|
||||
db $76, $2A, $23, $01, $80, $77, $30, $1F, $01, $90, $77, $02, $1F, $01, $FF, $77
|
||||
db $00, $1F, $01, $80, $78, $08, $23, $21, $90, $79, $00, $1F, $01, $FF, $7A, $31
|
||||
db $11, $01, $88, $7A, $31, $11, $21, $88, $7B, $32, $20, $21, $98, $7C, $00, $04
|
||||
db $21, $80, $7D, $00, $18, $01, $80, $21, $2F, $0D, $01, $B0, $7E, $33, $12, $01
|
||||
db $80, $7F, $2F, $08, $21, $A0, $6F, $34, $1C, $21, $A0, $74, $35, $15, $21, $B0
|
||||
db $80, $33, $14, $01, $88, $81, $37, $11, $01, $88, $85, $00, $22, $01, $88, $86
|
||||
db $00, $22, $01, $90, $87, $39, $1F, $01, $80, $30, $3A, $11, $21, $90, $34, $00
|
||||
db $05, $A1, $88, $88, $3B, $13, $01, $80, $76, $25, $23, $01, $98, $10, $34, $03
|
||||
db $01, $A8, $0F, $3C, $03, $21, $68, $89, $29, $1F, $21, $B0, $8A, $00, $1F, $21
|
||||
db $80, $8C, $00, $1F, $21, $50, $8D, $00, $1F, $21, $40, $24, $40, $0E, $21, $A8
|
||||
db $8E, $41, $1F, $21, $88, $8F, $3E, $1F, $21, $88, $93, $3E, $1F, $21, $90, $97
|
||||
db $3D, $1F, $21, $90, $98, $00, $1F, $21, $90, $78, $3D, $23, $01, $FF, $99, $2E
|
||||
db $19, $21, $A0, $74, $02, $15, $21, $A0, $99, $35, $19, $21, $70, $8B, $3F, $1F
|
||||
db $01, $90, $15, $08, $0A, $01, $90, $11, $02, $03, $01, $80, $7F, $42, $08, $01
|
||||
db $90, $9A, $00, $1B, $21, $A0, $9B, $35, $23, $21, $80, $9C, $23, $25, $21, $80
|
||||
db $9D, $25, $25, $21, $80, $9C, $00, $25, $21, $80, $9E, $00, $25, $61, $80, $9F
|
||||
db $3A, $23, $21, $80, $A0, $16, $23, $21, $70, $78, $43, $23, $21, $C0, $A2, $01
|
||||
db $25, $21, $40, $A3, $44, $24, $01, $80, $A4, $00, $24, $01, $80, $A5, $00, $24
|
||||
db $01, $88, $43, $45, $12, $21, $FF, $A6, $00, $02, $21, $FF, $A7, $00, $02, $01
|
||||
db $90, $2B, $08, $0F, $21, $90, $A8, $02, $05, $21, $40, $9C, $11, $25, $61, $90
|
||||
db $A9, $46, $23, $00, $00, $24, $47, $0E, $01, $80, $AA, $00, $24, $21, $B8, $AB
|
||||
db $48, $13, $21, $90, $AC, $44, $13, $01, $A8, $05, $00, $01, $01, $90, $24, $43
|
||||
db $0E, $01, $88, $AD, $00, $17, $01, $A8, $AE, $49, $01, $21, $90, $AF, $01, $11
|
||||
db $21, $00, $B0, $4A, $04, $00, $00, $B3, $00, $26, $00, $00, $B4, $00, $27, $00
|
||||
db $00, $B5, $00, $26, $00, $00, $B6, $00, $27
|
||||
|
||||
INCLUDE "engine/battle_anims/framesets.inc"
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
INCLUDE "constants.asm"
|
||||
|
||||
SECTION "engine/battle_anims/functions.asm", ROMX
|
||||
|
||||
SECTION "engine/battle_anims/functions.asm", ROMX
|
||||
; TODO: Uncomment the asserts once we have all the framesets labelled
|
||||
|
||||
DoBattleAnimFrame:
|
||||
|
|
|
|||
|
|
@ -1,311 +1,6 @@
|
|||
INCLUDE "constants.asm"
|
||||
|
||||
SECTION "engine/dumps/bank33.asm", ROMX
|
||||
|
||||
QueueBattleAnimation:
|
||||
ld hl, wActiveAnimObjects
|
||||
ld e, NUM_BATTLE_ANIM_STRUCTS
|
||||
.loop
|
||||
ld a, [hl]
|
||||
and a
|
||||
jr z, .done
|
||||
ld bc, BATTLEANIMSTRUCT_LENGTH
|
||||
add hl, bc
|
||||
dec e
|
||||
jr nz, .loop
|
||||
scf
|
||||
ret
|
||||
|
||||
.done
|
||||
ld c, l
|
||||
ld b, h
|
||||
ld hl, wLastAnimObjectIndex
|
||||
inc [hl]
|
||||
call InitBattleAnimation
|
||||
ret
|
||||
|
||||
DeinitBattleAnimation:
|
||||
ld hl, BATTLEANIMSTRUCT_INDEX
|
||||
add hl, bc
|
||||
ld [hl], $0
|
||||
ret
|
||||
|
||||
InitBattleAnimation:
|
||||
ld a, [wBattleObjectTempID]
|
||||
ld e, a
|
||||
ld d, 0
|
||||
ld hl, BattleAnimObjects
|
||||
rept BATTLEANIMOBJ_LENGTH
|
||||
add hl, de
|
||||
endr
|
||||
ld e, l
|
||||
ld d, h
|
||||
ld hl, BATTLEANIMSTRUCT_INDEX
|
||||
add hl, bc
|
||||
ld a, [wLastAnimObjectIndex]
|
||||
ld [hli], a ; BATTLEANIMSTRUCT_INDEX
|
||||
ld a, [de]
|
||||
inc de
|
||||
ld [hli], a ; BATTLEANIMSTRUCT_OAMFLAGS
|
||||
ld a, [de]
|
||||
inc de
|
||||
ld [hli], a ; BATTLEANIMSTRUCT_FIX_Y
|
||||
ld a, [de]
|
||||
inc de
|
||||
ld [hli], a ; BATTLEANIMSTRUCT_FRAMESET_ID
|
||||
ld a, [de]
|
||||
inc de
|
||||
ld [hli], a ; BATTLEANIMSTRUCT_FUNCTION
|
||||
ld a, [de]
|
||||
call GetBattleAnimTileOffset
|
||||
ld [hli], a ; BATTLEANIMSTRUCT_TILEID
|
||||
ld a, [wBattleObjectTempXCoord]
|
||||
ld [hli], a ; BATTLEANIMSTRUCT_XCOORD
|
||||
ld a, [wBattleObjectTempYCoord]
|
||||
ld [hli], a ; BATTLEANIMSTRUCT_YCOORD
|
||||
xor a
|
||||
ld [hli], a ; BATTLEANIMSTRUCT_XOFFSET
|
||||
ld [hli], a ; BATTLEANIMSTRUCT_YOFFSET
|
||||
ld a, [wBattleObjectTempParam]
|
||||
ld [hli], a ; BATTLEANIMSTRUCT_PARAM
|
||||
xor a
|
||||
ld [hli], a ; BATTLEANIMSTRUCT_DURATION
|
||||
dec a
|
||||
ld [hli], a ; BATTLEANIMSTRUCT_FRAME
|
||||
xor a
|
||||
ld [hli], a ; BATTLEANIMSTRUCT_JUMPTABLE_INDEX
|
||||
ld [hli], a ; BATTLEANIMSTRUCT_VAR1
|
||||
ld [hl], a ; BATTLEANIMSTRUCT_VAR2
|
||||
ret
|
||||
|
||||
BattleAnimOAMUpdate:
|
||||
call InitBattleAnimBuffer
|
||||
call GetBattleAnimFrame
|
||||
cp oamwait_command
|
||||
jr z, .done
|
||||
cp oamdelete_command
|
||||
jr z, .delete
|
||||
|
||||
push af
|
||||
ld hl, wBattleAnimTempOAMFlags
|
||||
ld a, [wBattleAnimTempFrameOAMFlags]
|
||||
xor [hl]
|
||||
and PRIORITY | Y_FLIP | X_FLIP
|
||||
ld [hl], a
|
||||
pop af
|
||||
|
||||
push bc
|
||||
call GetBattleAnimOAMPointer
|
||||
ld a, [wBattleAnimTempTileID]
|
||||
add [hl] ; tile offset
|
||||
ld [wBattleAnimTempTileID], a
|
||||
inc hl
|
||||
ld a, [hli] ; oam data length
|
||||
ld c, a
|
||||
ld a, [hli] ; oam data pointer
|
||||
ld h, [hl]
|
||||
ld l, a
|
||||
ld a, [wBattleAnimOAMPointerLo]
|
||||
ld e, a
|
||||
ld d, HIGH(wShadowOAM)
|
||||
|
||||
.loop
|
||||
; Y Coord
|
||||
ld a, [wBattleAnimTempYCoord]
|
||||
ld b, a
|
||||
ld a, [wBattleAnimTempYOffset]
|
||||
add b
|
||||
ld b, a
|
||||
call .XFlip
|
||||
add b
|
||||
ld [de], a
|
||||
|
||||
; X Coord
|
||||
inc hl
|
||||
inc de
|
||||
ld a, [wBattleAnimTempXCoord]
|
||||
ld b, a
|
||||
ld a, [wBattleAnimTempXOffset]
|
||||
add b
|
||||
ld b, a
|
||||
call .YFlip
|
||||
add b
|
||||
ld [de], a
|
||||
|
||||
; Tile ID
|
||||
inc hl
|
||||
inc de
|
||||
ld a, [wBattleAnimTempTileID]
|
||||
add BATTLEANIM_BASE_TILE
|
||||
add [hl]
|
||||
ld [de], a
|
||||
|
||||
; Attributes
|
||||
inc hl
|
||||
inc de
|
||||
call .UpdateAttributes
|
||||
ld [de], a
|
||||
|
||||
inc hl
|
||||
inc de
|
||||
ld a, e
|
||||
ld [wBattleAnimOAMPointerLo], a
|
||||
cp LOW(wShadowOAMEnd)
|
||||
jr nc, .exit_set_carry
|
||||
dec c
|
||||
jr nz, .loop
|
||||
pop bc
|
||||
jr .done
|
||||
|
||||
.delete
|
||||
call DeinitBattleAnimation
|
||||
|
||||
.done
|
||||
and a
|
||||
ret
|
||||
|
||||
.exit_set_carry
|
||||
pop bc
|
||||
scf
|
||||
ret
|
||||
|
||||
; This and the other two subroutines below it are kind of pointless to have as subroutines,
|
||||
; as they only get run once... which is likely why they were merged into the main function in the final game.
|
||||
.XFlip:
|
||||
push hl
|
||||
ld a, [hl]
|
||||
ld hl, wBattleAnimTempOAMFlags
|
||||
bit OAM_Y_FLIP, [hl]
|
||||
jr z, .no_yflip
|
||||
add $8
|
||||
xor $ff
|
||||
inc a
|
||||
.no_yflip
|
||||
pop hl
|
||||
ret
|
||||
|
||||
.YFlip:
|
||||
push hl
|
||||
ld a, [hl]
|
||||
ld hl, wBattleAnimTempOAMFlags
|
||||
bit OAM_X_FLIP, [hl]
|
||||
jr z, .no_xflip
|
||||
add $8
|
||||
xor $ff
|
||||
inc a
|
||||
.no_xflip
|
||||
pop hl
|
||||
ret
|
||||
|
||||
.UpdateAttributes:
|
||||
ld a, [wBattleAnimTempOAMFlags]
|
||||
ld b, a
|
||||
ld a, [hl]
|
||||
xor b
|
||||
and PRIORITY | Y_FLIP | X_FLIP
|
||||
ld b, a
|
||||
ld a, [hl]
|
||||
and OBP_NUM
|
||||
or b
|
||||
ret
|
||||
|
||||
InitBattleAnimBuffer:
|
||||
ld hl, BATTLEANIMSTRUCT_OAMFLAGS
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
|
||||
and PRIORITY
|
||||
ld [wBattleAnimTempOAMFlags], a
|
||||
xor a
|
||||
ld [wBattleAnimTempFrameOAMFlags], a
|
||||
ld hl, BATTLEANIMSTRUCT_FIX_Y
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
ld [wBattleAnimTempFixY], a
|
||||
ld hl, BATTLEANIMSTRUCT_TILEID
|
||||
add hl, bc
|
||||
ld a, [hli]
|
||||
ld [wBattleAnimTempTileID], a
|
||||
ld a, [hli]
|
||||
ld [wBattleAnimTempXCoord], a
|
||||
ld a, [hli]
|
||||
ld [wBattleAnimTempYCoord], a
|
||||
ld a, [hli]
|
||||
ld [wBattleAnimTempXOffset], a
|
||||
ld a, [hli]
|
||||
ld [wBattleAnimTempYOffset], a
|
||||
|
||||
ldh a, [hBattleTurn]
|
||||
and a
|
||||
ret z
|
||||
|
||||
ld hl, BATTLEANIMSTRUCT_OAMFLAGS
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
ld [wBattleAnimTempOAMFlags], a
|
||||
bit BATTLEANIMSTRUCT_OAMFLAGS_FIX_COORDS_F, [hl]
|
||||
ret z
|
||||
|
||||
ld hl, BATTLEANIMSTRUCT_XCOORD
|
||||
add hl, bc
|
||||
ld a, [hli]
|
||||
ld d, a
|
||||
ld a, (-10 * TILE_WIDTH) + 4
|
||||
sub d
|
||||
ld [wBattleAnimTempXCoord], a
|
||||
ld a, [hli]
|
||||
ld d, a
|
||||
ld a, [wBattleAnimTempFixY]
|
||||
cp $ff
|
||||
jr nz, .check_kinesis_softboiled_milkdrink
|
||||
|
||||
ld a, 5 * TILE_WIDTH
|
||||
add d
|
||||
jr .done
|
||||
|
||||
; The changes for these animations were seemingly expanded upon for the final game
|
||||
.check_kinesis_softboiled_milkdrink
|
||||
sub d
|
||||
.done
|
||||
ld [wBattleAnimTempYCoord], a
|
||||
ld a, [hli]
|
||||
xor $ff
|
||||
inc a
|
||||
ld [wBattleAnimTempXOffset], a
|
||||
ret
|
||||
|
||||
GetBattleAnimTileOffset:
|
||||
push hl
|
||||
push bc
|
||||
ld hl, wBattleAnimTileDict
|
||||
ld b, a
|
||||
ld c, NUM_BATTLEANIMTILEDICT_ENTRIES
|
||||
.loop
|
||||
ld a, [hli]
|
||||
cp b
|
||||
jr z, .load
|
||||
inc hl
|
||||
dec c
|
||||
jr nz, .loop
|
||||
xor a
|
||||
jr .done
|
||||
|
||||
.load
|
||||
ld a, [hl]
|
||||
.done
|
||||
pop bc
|
||||
pop hl
|
||||
ret
|
||||
|
||||
_ExecuteBGEffects:
|
||||
callfar ExecuteBGEffects
|
||||
ret
|
||||
|
||||
_QueueBGEffect:
|
||||
callfar QueueBGEffect
|
||||
ret
|
||||
|
||||
SECTION "engine/dumps/bank33.asm@ReinitBattleAnimFrameset", ROMX
|
||||
SECTION "engine/battle_anims/helper.asm", ROMX
|
||||
|
||||
ReinitBattleAnimFrameset:
|
||||
ld hl, BATTLEANIMSTRUCT_FRAMESET_ID
|
||||
|
|
@ -432,17 +127,9 @@ LoadBattleAnimGFX:
|
|||
pop bc
|
||||
ret
|
||||
|
||||
BattleAnimFrameData:
|
||||
dw Frameset_HitBig
|
||||
|
||||
SECTION "engine/dumps/bank33.asm@Frames", ROMX
|
||||
|
||||
Frameset_HitBig:
|
||||
oamframe BATTLE_ANIM_OAMSET_00, 6
|
||||
oamdelete
|
||||
|
||||
SECTION "engine/dumps/bank33.asm@BattleAnimOamData", ROMX
|
||||
INCLUDE "data/battle_anims/framesets.inc"
|
||||
|
||||
INCLUDE "data/battle_anims/oam.inc"
|
||||
|
||||
INCLUDE "data/battle_anims/object_gfx.inc"
|
||||
INCLUDE "data/battle_anims/object_gfx.inc"
|
||||
|
|
|
|||
14
layout.link
14
layout.link
|
|
@ -777,13 +777,15 @@ ROMX $33
|
|||
org $4000
|
||||
"engine/battle_anims/anim_commands.asm"
|
||||
"engine/dumps/bank33.asm"
|
||||
org $4b98
|
||||
"engine/battle_anims/functions.asm"
|
||||
"engine/dumps/bank33.asm@ReinitBattleAnimFrameset"
|
||||
org $64b6
|
||||
"engine/dumps/bank33.asm@Frames"
|
||||
org $697c
|
||||
"engine/dumps/bank33.asm@BattleAnimOamData"
|
||||
"engine/battle_anims/helper.asm"
|
||||
;org $4b98
|
||||
;"engine/battle_anims/functions.asm"
|
||||
;"engine/dumps/bank33.asm@ReinitBattleAnimFrameset"
|
||||
;org $64b6
|
||||
;"engine/dumps/bank33.asm@Frames"
|
||||
;org $697c
|
||||
;"engine/dumps/bank33.asm@BattleAnimOamData"
|
||||
;org $6cc8
|
||||
;"engine/dumps/bank33.asm@OamData"
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user