Split "gfx anims" into "pic anims" and "sprite anims"

Fixes #876
This commit is contained in:
Rangi 2022-06-22 21:07:46 -04:00 committed by Rangi
parent d3da137de8
commit a2e8f078a4
11 changed files with 1079 additions and 1059 deletions

File diff suppressed because it is too large Load Diff

View File

@ -70,430 +70,430 @@ SpriteAnimFrameData:
assert_table_length NUM_SPRITE_ANIM_FRAMESETS
.Frameset_00:
frame SPRITE_ANIM_OAMSET_RED_WALK_1, 32
endanim
oamframe SPRITE_ANIM_OAMSET_RED_WALK_1, 32
oamend
.Frameset_PartyMon:
frame SPRITE_ANIM_OAMSET_RED_WALK_1, 8
frame SPRITE_ANIM_OAMSET_RED_WALK_2, 8
dorestart
oamframe SPRITE_ANIM_OAMSET_RED_WALK_1, 8
oamframe SPRITE_ANIM_OAMSET_RED_WALK_2, 8
oamrestart
.Frameset_PartyMonWithMail:
frame SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_1, 8
frame SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_2, 8
dorestart
oamframe SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_1, 8
oamframe SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_2, 8
oamrestart
.Frameset_PartyMonWithItem:
frame SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_1, 8
frame SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_2, 8
dorestart
oamframe SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_1, 8
oamframe SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_2, 8
oamrestart
.Frameset_PartyMonFast:
frame SPRITE_ANIM_OAMSET_RED_WALK_1, 4
frame SPRITE_ANIM_OAMSET_RED_WALK_2, 4
dorestart
oamframe SPRITE_ANIM_OAMSET_RED_WALK_1, 4
oamframe SPRITE_ANIM_OAMSET_RED_WALK_2, 4
oamrestart
.Frameset_PartyMonWithMailFast:
frame SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_1, 4
frame SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_2, 4
dorestart
oamframe SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_1, 4
oamframe SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_2, 4
oamrestart
.Frameset_PartyMonWithItemFast:
frame SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_1, 4
frame SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_2, 4
dorestart
oamframe SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_1, 4
oamframe SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_2, 4
oamrestart
.Frameset_RedWalk:
frame SPRITE_ANIM_OAMSET_RED_WALK_1, 8
frame SPRITE_ANIM_OAMSET_RED_WALK_2, 8
frame SPRITE_ANIM_OAMSET_RED_WALK_1, 8
frame SPRITE_ANIM_OAMSET_RED_WALK_2, 8, OAM_X_FLIP
dorestart
oamframe SPRITE_ANIM_OAMSET_RED_WALK_1, 8
oamframe SPRITE_ANIM_OAMSET_RED_WALK_2, 8
oamframe SPRITE_ANIM_OAMSET_RED_WALK_1, 8
oamframe SPRITE_ANIM_OAMSET_RED_WALK_2, 8, OAM_X_FLIP
oamrestart
.Frameset_BlueWalk:
frame SPRITE_ANIM_OAMSET_BLUE_WALK_1, 8
frame SPRITE_ANIM_OAMSET_BLUE_WALK_2, 8
frame SPRITE_ANIM_OAMSET_BLUE_WALK_1, 8
frame SPRITE_ANIM_OAMSET_BLUE_WALK_2, 8, OAM_X_FLIP
dorestart
oamframe SPRITE_ANIM_OAMSET_BLUE_WALK_1, 8
oamframe SPRITE_ANIM_OAMSET_BLUE_WALK_2, 8
oamframe SPRITE_ANIM_OAMSET_BLUE_WALK_1, 8
oamframe SPRITE_ANIM_OAMSET_BLUE_WALK_2, 8, OAM_X_FLIP
oamrestart
.Frameset_MagnetTrainBlue:
frame SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_1, 8
frame SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_2, 8
frame SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_1, 8
frame SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_2, 8, OAM_X_FLIP
dorestart
oamframe SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_1, 8
oamframe SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_2, 8
oamframe SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_1, 8
oamframe SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_2, 8, OAM_X_FLIP
oamrestart
.Frameset_GSTitleTrail:
frame SPRITE_ANIM_OAMSET_GS_TITLE_TRAIL_1, 1
frame SPRITE_ANIM_OAMSET_GS_TITLE_TRAIL_2, 1
dorestart
oamframe SPRITE_ANIM_OAMSET_GS_TITLE_TRAIL_1, 1
oamframe SPRITE_ANIM_OAMSET_GS_TITLE_TRAIL_2, 1
oamrestart
.Frameset_TextEntryCursor:
frame SPRITE_ANIM_OAMSET_TEXT_ENTRY_CURSOR, 1
dowait 1
dorestart
oamframe SPRITE_ANIM_OAMSET_TEXT_ENTRY_CURSOR, 1
oamwait 1
oamrestart
.Frameset_TextEntryCursorBig:
frame SPRITE_ANIM_OAMSET_TEXT_ENTRY_CURSOR_BIG, 1
dowait 1
dorestart
oamframe SPRITE_ANIM_OAMSET_TEXT_ENTRY_CURSOR_BIG, 1
oamwait 1
oamrestart
.Frameset_GameFreakLogo:
frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_1, 12
frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_2, 1
frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_3, 1
frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_2, 4
frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_1, 12
frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_2, 12
frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_3, 4
frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_4, 32
frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_5, 3
frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_6, 3
frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_7, 4
frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_8, 4
frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_9, 4
frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_10, 10
frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_11, 7
endanim
oamframe SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_1, 12
oamframe SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_2, 1
oamframe SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_3, 1
oamframe SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_2, 4
oamframe SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_1, 12
oamframe SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_2, 12
oamframe SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_3, 4
oamframe SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_4, 32
oamframe SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_5, 3
oamframe SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_6, 3
oamframe SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_7, 4
oamframe SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_8, 4
oamframe SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_9, 4
oamframe SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_10, 10
oamframe SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_11, 7
oamend
.Frameset_GSGameFreakLogoStar:
frame SPRITE_ANIM_OAMSET_GS_GAMEFREAK_LOGO_STAR, 3
frame SPRITE_ANIM_OAMSET_GS_GAMEFREAK_LOGO_STAR, 3, OAM_Y_FLIP
dorestart
oamframe SPRITE_ANIM_OAMSET_GS_GAMEFREAK_LOGO_STAR, 3
oamframe SPRITE_ANIM_OAMSET_GS_GAMEFREAK_LOGO_STAR, 3, OAM_Y_FLIP
oamrestart
.Frameset_GSGameFreakLogoSparkle:
frame SPRITE_ANIM_OAMSET_GS_GAMEFREAK_LOGO_SPARKLE_1, 2
frame SPRITE_ANIM_OAMSET_GS_GAMEFREAK_LOGO_SPARKLE_2, 2
frame SPRITE_ANIM_OAMSET_GS_GAMEFREAK_LOGO_SPARKLE_3, 2
frame SPRITE_ANIM_OAMSET_GS_GAMEFREAK_LOGO_SPARKLE_2, 2
dorestart
oamframe SPRITE_ANIM_OAMSET_GS_GAMEFREAK_LOGO_SPARKLE_1, 2
oamframe SPRITE_ANIM_OAMSET_GS_GAMEFREAK_LOGO_SPARKLE_2, 2
oamframe SPRITE_ANIM_OAMSET_GS_GAMEFREAK_LOGO_SPARKLE_3, 2
oamframe SPRITE_ANIM_OAMSET_GS_GAMEFREAK_LOGO_SPARKLE_2, 2
oamrestart
.Frameset_SlotsGolem:
frame SPRITE_ANIM_OAMSET_SLOTS_GOLEM_1, 7
frame SPRITE_ANIM_OAMSET_SLOTS_GOLEM_2, 7
frame SPRITE_ANIM_OAMSET_SLOTS_GOLEM_1, 7, OAM_Y_FLIP
frame SPRITE_ANIM_OAMSET_SLOTS_GOLEM_2, 7, OAM_X_FLIP
dorestart
oamframe SPRITE_ANIM_OAMSET_SLOTS_GOLEM_1, 7
oamframe SPRITE_ANIM_OAMSET_SLOTS_GOLEM_2, 7
oamframe SPRITE_ANIM_OAMSET_SLOTS_GOLEM_1, 7, OAM_Y_FLIP
oamframe SPRITE_ANIM_OAMSET_SLOTS_GOLEM_2, 7, OAM_X_FLIP
oamrestart
.Frameset_SlotsChansey:
frame SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_1, 7
frame SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_2, 7
frame SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_1, 7
frame SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_3, 7
dorestart
oamframe SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_1, 7
oamframe SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_2, 7
oamframe SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_1, 7
oamframe SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_3, 7
oamrestart
.Frameset_SlotsChansey2:
frame SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_1, 7
frame SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_4, 7
frame SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_5, 7
frame SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_4, 7
frame SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_1, 7
endanim
oamframe SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_1, 7
oamframe SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_4, 7
oamframe SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_5, 7
oamframe SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_4, 7
oamframe SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_1, 7
oamend
.Frameset_SlotsEgg:
frame SPRITE_ANIM_OAMSET_SLOTS_EGG, 20
endanim
oamframe SPRITE_ANIM_OAMSET_SLOTS_EGG, 20
oamend
.Frameset_StillCursor:
frame SPRITE_ANIM_OAMSET_STILL_CURSOR, 32
endanim
oamframe SPRITE_ANIM_OAMSET_STILL_CURSOR, 32
oamend
.Frameset_TradePokeBall:
frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 32
endanim
oamframe SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 32
oamend
.Frameset_TradePokeBallWobble:
frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3
frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3
frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3
frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3, OAM_X_FLIP
dorestart
oamframe SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3
oamframe SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3
oamframe SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3
oamframe SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3, OAM_X_FLIP
oamrestart
.Frameset_TradePoof:
frame SPRITE_ANIM_OAMSET_TRADE_POOF_1, 4
frame SPRITE_ANIM_OAMSET_TRADE_POOF_2, 4
frame SPRITE_ANIM_OAMSET_TRADE_POOF_3, 4
delanim
oamframe SPRITE_ANIM_OAMSET_TRADE_POOF_1, 4
oamframe SPRITE_ANIM_OAMSET_TRADE_POOF_2, 4
oamframe SPRITE_ANIM_OAMSET_TRADE_POOF_3, 4
oamdelete
.Frameset_TradeTubeBulge:
frame SPRITE_ANIM_OAMSET_TRADE_TUBE_BULGE_1, 3
frame SPRITE_ANIM_OAMSET_TRADE_TUBE_BULGE_2, 3
dorestart
oamframe SPRITE_ANIM_OAMSET_TRADE_TUBE_BULGE_1, 3
oamframe SPRITE_ANIM_OAMSET_TRADE_TUBE_BULGE_2, 3
oamrestart
.Frameset_TrademonIcon:
frame SPRITE_ANIM_OAMSET_TRADEMON_ICON_1, 7
frame SPRITE_ANIM_OAMSET_TRADEMON_ICON_2, 7
dorestart
oamframe SPRITE_ANIM_OAMSET_TRADEMON_ICON_1, 7
oamframe SPRITE_ANIM_OAMSET_TRADEMON_ICON_2, 7
oamrestart
.Frameset_TrademonBubble:
frame SPRITE_ANIM_OAMSET_TRADEMON_BUBBLE, 32
endanim
oamframe SPRITE_ANIM_OAMSET_TRADEMON_BUBBLE, 32
oamend
.Frameset_EvolutionBallOfLight:
frame SPRITE_ANIM_OAMSET_EVOLUTION_BALL_OF_LIGHT_2, 2
frame SPRITE_ANIM_OAMSET_EVOLUTION_BALL_OF_LIGHT_1, 2
frame SPRITE_ANIM_OAMSET_EVOLUTION_BALL_OF_LIGHT_2, 2
endanim
oamframe SPRITE_ANIM_OAMSET_EVOLUTION_BALL_OF_LIGHT_2, 2
oamframe SPRITE_ANIM_OAMSET_EVOLUTION_BALL_OF_LIGHT_1, 2
oamframe SPRITE_ANIM_OAMSET_EVOLUTION_BALL_OF_LIGHT_2, 2
oamend
.Frameset_RadioTuningKnob:
frame SPRITE_ANIM_OAMSET_RADIO_TUNING_KNOB, 32
endanim
oamframe SPRITE_ANIM_OAMSET_RADIO_TUNING_KNOB, 32
oamend
.Frameset_MagnetTrainRed:
frame SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_1, 8
frame SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_2, 8
frame SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_1, 8
frame SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_2, 8, OAM_X_FLIP
dorestart
oamframe SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_1, 8
oamframe SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_2, 8
oamframe SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_1, 8
oamframe SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_2, 8, OAM_X_FLIP
oamrestart
.Frameset_Unknown1: ; unreferenced
frame SPRITE_ANIM_OAMSET_UNUSED_43, 8
frame SPRITE_ANIM_OAMSET_UNUSED_44, 8
dorestart
oamframe SPRITE_ANIM_OAMSET_UNUSED_43, 8
oamframe SPRITE_ANIM_OAMSET_UNUSED_44, 8
oamrestart
.Frameset_Unknown2: ; unreferenced
frame SPRITE_ANIM_OAMSET_UNUSED_45, 8
frame SPRITE_ANIM_OAMSET_UNUSED_46, 8
dorestart
oamframe SPRITE_ANIM_OAMSET_UNUSED_45, 8
oamframe SPRITE_ANIM_OAMSET_UNUSED_46, 8
oamrestart
.Frameset_Unknown3: ; unreferenced
frame SPRITE_ANIM_OAMSET_UNUSED_47, 8
frame SPRITE_ANIM_OAMSET_UNUSED_48, 8
dorestart
oamframe SPRITE_ANIM_OAMSET_UNUSED_47, 8
oamframe SPRITE_ANIM_OAMSET_UNUSED_48, 8
oamrestart
.Frameset_Unknown4: ; unreferenced
frame SPRITE_ANIM_OAMSET_UNUSED_49, 1
frame SPRITE_ANIM_OAMSET_UNUSED_49, 1, OAM_X_FLIP
frame SPRITE_ANIM_OAMSET_UNUSED_49, 1, OAM_X_FLIP, OAM_Y_FLIP
frame SPRITE_ANIM_OAMSET_UNUSED_49, 1, OAM_Y_FLIP
dorestart
oamframe SPRITE_ANIM_OAMSET_UNUSED_49, 1
oamframe SPRITE_ANIM_OAMSET_UNUSED_49, 1, OAM_X_FLIP
oamframe SPRITE_ANIM_OAMSET_UNUSED_49, 1, OAM_X_FLIP, OAM_Y_FLIP
oamframe SPRITE_ANIM_OAMSET_UNUSED_49, 1, OAM_Y_FLIP
oamrestart
.Frameset_Unknown5: ; unreferenced
frame SPRITE_ANIM_OAMSET_UNUSED_4A, 32
endanim
oamframe SPRITE_ANIM_OAMSET_UNUSED_4A, 32
oamend
.Frameset_Unknown6: ; unreferenced
frame SPRITE_ANIM_OAMSET_UNUSED_4B, 32
endanim
oamframe SPRITE_ANIM_OAMSET_UNUSED_4B, 32
oamend
.Frameset_Unknown7: ; unreferenced
frame SPRITE_ANIM_OAMSET_UNUSED_4C, 32
endanim
oamframe SPRITE_ANIM_OAMSET_UNUSED_4C, 32
oamend
.Frameset_Unknown8: ; unreferenced
frame SPRITE_ANIM_OAMSET_UNUSED_4D, 32
endanim
oamframe SPRITE_ANIM_OAMSET_UNUSED_4D, 32
oamend
.Frameset_Unknown9: ; unreferenced
frame SPRITE_ANIM_OAMSET_UNUSED_4E, 3
dowait 3
dorestart
oamframe SPRITE_ANIM_OAMSET_UNUSED_4E, 3
oamwait 3
oamrestart
.Frameset_Unused1C:
dowait 32
endanim
oamwait 32
oamend
.Frameset_Leaf:
frame SPRITE_ANIM_OAMSET_LEAF, 32
endanim
oamframe SPRITE_ANIM_OAMSET_LEAF, 32
oamend
.Frameset_CutTree:
frame SPRITE_ANIM_OAMSET_TREE_1, 2
frame SPRITE_ANIM_OAMSET_CUT_TREE_2, 16
dowait 1
frame SPRITE_ANIM_OAMSET_CUT_TREE_3, 1
dowait 1
frame SPRITE_ANIM_OAMSET_CUT_TREE_4, 1
delanim
oamframe SPRITE_ANIM_OAMSET_TREE_1, 2
oamframe SPRITE_ANIM_OAMSET_CUT_TREE_2, 16
oamwait 1
oamframe SPRITE_ANIM_OAMSET_CUT_TREE_3, 1
oamwait 1
oamframe SPRITE_ANIM_OAMSET_CUT_TREE_4, 1
oamdelete
.Frameset_EggCrack:
frame SPRITE_ANIM_OAMSET_EGG_CRACK, 32
endanim
oamframe SPRITE_ANIM_OAMSET_EGG_CRACK, 32
oamend
.Frameset_EggHatch1:
frame SPRITE_ANIM_OAMSET_EGG_HATCH, 32
endanim
oamframe SPRITE_ANIM_OAMSET_EGG_HATCH, 32
oamend
.Frameset_EggHatch2:
frame SPRITE_ANIM_OAMSET_EGG_HATCH, 32, OAM_X_FLIP
endanim
oamframe SPRITE_ANIM_OAMSET_EGG_HATCH, 32, OAM_X_FLIP
oamend
.Frameset_EggHatch3:
frame SPRITE_ANIM_OAMSET_EGG_HATCH, 32, OAM_Y_FLIP
endanim
oamframe SPRITE_ANIM_OAMSET_EGG_HATCH, 32, OAM_Y_FLIP
oamend
.Frameset_EggHatch4:
frame SPRITE_ANIM_OAMSET_EGG_HATCH, 32, OAM_X_FLIP, OAM_Y_FLIP
endanim
oamframe SPRITE_ANIM_OAMSET_EGG_HATCH, 32, OAM_X_FLIP, OAM_Y_FLIP
oamend
.Frameset_GSIntroHoOhLugia:
frame SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_LUGIA_1, 10
frame SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_LUGIA_2, 9
frame SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_LUGIA_3, 10
frame SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_LUGIA_4, 10
frame SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_LUGIA_3, 9
frame SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_LUGIA_5, 10
dorestart
oamframe SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_LUGIA_1, 10
oamframe SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_LUGIA_2, 9
oamframe SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_LUGIA_3, 10
oamframe SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_LUGIA_4, 10
oamframe SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_LUGIA_3, 9
oamframe SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_LUGIA_5, 10
oamrestart
.Frameset_HeadbuttTree:
frame SPRITE_ANIM_OAMSET_TREE_1, 2
frame SPRITE_ANIM_OAMSET_HEADBUTT_TREE_2, 2
frame SPRITE_ANIM_OAMSET_TREE_1, 2
frame SPRITE_ANIM_OAMSET_HEADBUTT_TREE_2, 2, OAM_X_FLIP
dorestart
oamframe SPRITE_ANIM_OAMSET_TREE_1, 2
oamframe SPRITE_ANIM_OAMSET_HEADBUTT_TREE_2, 2
oamframe SPRITE_ANIM_OAMSET_TREE_1, 2
oamframe SPRITE_ANIM_OAMSET_HEADBUTT_TREE_2, 2, OAM_X_FLIP
oamrestart
.Frameset_EZChatCursor1:
frame SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_1, 2
endanim
oamframe SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_1, 2
oamend
.Frameset_EZChatCursor2:
frame SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_2, 2
endanim
oamframe SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_2, 2
oamend
.Frameset_EZChatCursor3:
frame SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_3, 2
endanim
oamframe SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_3, 2
oamend
.Frameset_EZChatCursor4:
frame SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_4, 2
endanim
oamframe SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_4, 2
oamend
.Frameset_EZChatCursor5:
frame SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_5, 2
endanim
oamframe SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_5, 2
oamend
.Frameset_EZChatCursor6:
frame SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_6, 2
endanim
oamframe SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_6, 2
oamend
.Frameset_EZChatCursor7:
frame SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_7, 2
endanim
oamframe SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_7, 2
oamend
.Frameset_MobileTradeSentBall:
frame SPRITE_ANIM_OAMSET_TRADE_POOF_1, 3
frame SPRITE_ANIM_OAMSET_TRADE_POOF_2, 3
frame SPRITE_ANIM_OAMSET_TRADE_POOF_3, 3
frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3
frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3
frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3
frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3, OAM_X_FLIP
frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3
frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3
frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3
frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3, OAM_X_FLIP
frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3
frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3
frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3
frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3, OAM_X_FLIP
endanim
oamframe SPRITE_ANIM_OAMSET_TRADE_POOF_1, 3
oamframe SPRITE_ANIM_OAMSET_TRADE_POOF_2, 3
oamframe SPRITE_ANIM_OAMSET_TRADE_POOF_3, 3
oamframe SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3
oamframe SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3
oamframe SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3
oamframe SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3, OAM_X_FLIP
oamframe SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3
oamframe SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3
oamframe SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3
oamframe SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3, OAM_X_FLIP
oamframe SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3
oamframe SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3
oamframe SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3
oamframe SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3, OAM_X_FLIP
oamend
.Frameset_MobileTradeOTBall:
frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3
frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3
frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3
frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3, OAM_X_FLIP
frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3
frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3
frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3
frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3, OAM_X_FLIP
frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3
frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3
frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3
frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3, OAM_X_FLIP
frame SPRITE_ANIM_OAMSET_TRADE_POOF_1, 3
frame SPRITE_ANIM_OAMSET_TRADE_POOF_2, 3
frame SPRITE_ANIM_OAMSET_TRADE_POOF_3, 3
delanim
oamframe SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3
oamframe SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3
oamframe SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3
oamframe SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3, OAM_X_FLIP
oamframe SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3
oamframe SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3
oamframe SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3
oamframe SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3, OAM_X_FLIP
oamframe SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3
oamframe SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3
oamframe SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3
oamframe SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3, OAM_X_FLIP
oamframe SPRITE_ANIM_OAMSET_TRADE_POOF_1, 3
oamframe SPRITE_ANIM_OAMSET_TRADE_POOF_2, 3
oamframe SPRITE_ANIM_OAMSET_TRADE_POOF_3, 3
oamdelete
.Frameset_MobileTradeCableBulge:
frame SPRITE_ANIM_OAMSET_MOBILE_TRADE_CABLE_BULGE_1, 3
frame SPRITE_ANIM_OAMSET_MOBILE_TRADE_CABLE_BULGE_2, 3
dorestart
oamframe SPRITE_ANIM_OAMSET_MOBILE_TRADE_CABLE_BULGE_1, 3
oamframe SPRITE_ANIM_OAMSET_MOBILE_TRADE_CABLE_BULGE_2, 3
oamrestart
.Frameset_MobileTradeSentPulse:
frame SPRITE_ANIM_OAMSET_MOBILE_TRADE_SENT_PULSE, 3
endanim
oamframe SPRITE_ANIM_OAMSET_MOBILE_TRADE_SENT_PULSE, 3
oamend
.Frameset_MobileTradeOTPulse:
frame SPRITE_ANIM_OAMSET_MOBILE_TRADE_OT_PULSE, 3
endanim
oamframe SPRITE_ANIM_OAMSET_MOBILE_TRADE_OT_PULSE, 3
oamend
.Frameset_MobileTradePing:
frame SPRITE_ANIM_OAMSET_MOBILE_TRADE_PING_1, 2
frame SPRITE_ANIM_OAMSET_MOBILE_TRADE_PING_2, 2
frame SPRITE_ANIM_OAMSET_MOBILE_TRADE_PING_3, 2
delanim
oamframe SPRITE_ANIM_OAMSET_MOBILE_TRADE_PING_1, 2
oamframe SPRITE_ANIM_OAMSET_MOBILE_TRADE_PING_2, 2
oamframe SPRITE_ANIM_OAMSET_MOBILE_TRADE_PING_3, 2
oamdelete
.Frameset_IntroSuicune:
frame SPRITE_ANIM_OAMSET_INTRO_SUICUNE_1, 3
frame SPRITE_ANIM_OAMSET_INTRO_SUICUNE_2, 3
frame SPRITE_ANIM_OAMSET_INTRO_SUICUNE_3, 3
frame SPRITE_ANIM_OAMSET_INTRO_SUICUNE_4, 3
dorestart
oamframe SPRITE_ANIM_OAMSET_INTRO_SUICUNE_1, 3
oamframe SPRITE_ANIM_OAMSET_INTRO_SUICUNE_2, 3
oamframe SPRITE_ANIM_OAMSET_INTRO_SUICUNE_3, 3
oamframe SPRITE_ANIM_OAMSET_INTRO_SUICUNE_4, 3
oamrestart
.Frameset_IntroSuicune2:
frame SPRITE_ANIM_OAMSET_INTRO_SUICUNE_4, 3
frame SPRITE_ANIM_OAMSET_INTRO_SUICUNE_1, 7
endanim
oamframe SPRITE_ANIM_OAMSET_INTRO_SUICUNE_4, 3
oamframe SPRITE_ANIM_OAMSET_INTRO_SUICUNE_1, 7
oamend
.Frameset_IntroPichu:
frame SPRITE_ANIM_OAMSET_INTRO_PICHU_1, 32
frame SPRITE_ANIM_OAMSET_INTRO_PICHU_2, 7
frame SPRITE_ANIM_OAMSET_INTRO_PICHU_3, 7
endanim
oamframe SPRITE_ANIM_OAMSET_INTRO_PICHU_1, 32
oamframe SPRITE_ANIM_OAMSET_INTRO_PICHU_2, 7
oamframe SPRITE_ANIM_OAMSET_INTRO_PICHU_3, 7
oamend
.Frameset_IntroWooper:
frame SPRITE_ANIM_OAMSET_INTRO_WOOPER, 3
endanim
oamframe SPRITE_ANIM_OAMSET_INTRO_WOOPER, 3
oamend
.Frameset_IntroUnown1:
frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_1, 3
frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_2, 3
frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_3, 7
delanim
oamframe SPRITE_ANIM_OAMSET_INTRO_UNOWN_1, 3
oamframe SPRITE_ANIM_OAMSET_INTRO_UNOWN_2, 3
oamframe SPRITE_ANIM_OAMSET_INTRO_UNOWN_3, 7
oamdelete
.Frameset_IntroUnown2:
frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_1, 3, OAM_X_FLIP
frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_2, 3, OAM_X_FLIP
frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_3, 7, OAM_X_FLIP
delanim
oamframe SPRITE_ANIM_OAMSET_INTRO_UNOWN_1, 3, OAM_X_FLIP
oamframe SPRITE_ANIM_OAMSET_INTRO_UNOWN_2, 3, OAM_X_FLIP
oamframe SPRITE_ANIM_OAMSET_INTRO_UNOWN_3, 7, OAM_X_FLIP
oamdelete
.Frameset_IntroUnown3:
frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_1, 3, OAM_Y_FLIP
frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_2, 3, OAM_Y_FLIP
frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_3, 7, OAM_Y_FLIP
delanim
oamframe SPRITE_ANIM_OAMSET_INTRO_UNOWN_1, 3, OAM_Y_FLIP
oamframe SPRITE_ANIM_OAMSET_INTRO_UNOWN_2, 3, OAM_Y_FLIP
oamframe SPRITE_ANIM_OAMSET_INTRO_UNOWN_3, 7, OAM_Y_FLIP
oamdelete
.Frameset_IntroUnown4:
frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_1, 3, OAM_X_FLIP, OAM_Y_FLIP
frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_2, 3, OAM_X_FLIP, OAM_Y_FLIP
frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_3, 7, OAM_X_FLIP, OAM_Y_FLIP
delanim
oamframe SPRITE_ANIM_OAMSET_INTRO_UNOWN_1, 3, OAM_X_FLIP, OAM_Y_FLIP
oamframe SPRITE_ANIM_OAMSET_INTRO_UNOWN_2, 3, OAM_X_FLIP, OAM_Y_FLIP
oamframe SPRITE_ANIM_OAMSET_INTRO_UNOWN_3, 7, OAM_X_FLIP, OAM_Y_FLIP
oamdelete
.Frameset_IntroUnownF2:
frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_1, 3
frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_2, 3
frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_3, 3
frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_4, 7
frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_5, 7
endanim
oamframe SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_1, 3
oamframe SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_2, 3
oamframe SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_3, 3
oamframe SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_4, 7
oamframe SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_5, 7
oamend
.Frameset_IntroSuicuneAway:
frame SPRITE_ANIM_OAMSET_INTRO_SUICUNE_AWAY, 3
endanim
oamframe SPRITE_ANIM_OAMSET_INTRO_SUICUNE_AWAY, 3
oamend
.Frameset_IntroUnownF:
dowait 0
endanim
oamwait 0
oamend
.Frameset_CelebiLeft:
frame SPRITE_ANIM_OAMSET_CELEBI_1, 8
frame SPRITE_ANIM_OAMSET_CELEBI_2, 8
endanim
oamframe SPRITE_ANIM_OAMSET_CELEBI_1, 8
oamframe SPRITE_ANIM_OAMSET_CELEBI_2, 8
oamend
.Frameset_CelebiRight:
frame SPRITE_ANIM_OAMSET_CELEBI_1, 8, OAM_X_FLIP
frame SPRITE_ANIM_OAMSET_CELEBI_2, 8, OAM_X_FLIP
endanim
oamframe SPRITE_ANIM_OAMSET_CELEBI_1, 8, OAM_X_FLIP
oamframe SPRITE_ANIM_OAMSET_CELEBI_2, 8, OAM_X_FLIP
oamend

View File

@ -1,6 +1,6 @@
# Pic Animations
Defined in [macros/scripts/gfx_anims.asm](https://github.com/pret/pokecrystal/blob/master/macros/scripts/gfx_anims.asm).
Defined in [macros/scripts/pic_anims.asm](https://github.com/pret/pokecrystal/blob/master/macros/scripts/pic_anims.asm).
Pic animations are assembled in 3 parts:
@ -8,7 +8,7 @@ Pic animations are assembled in 3 parts:
- <code>frame <i>N</i>, <i>duration</i></code>: Frame #0 is the original pic (no change)
- <code>setrepeat <i>N</i></code>: Sets the number of times to repeat
- <code>dorepeat <i>I</i></code>: Repeats from command #<i>I</i> (with the first command being #0)
- `end`
- `endanim`
- Bitmasks:
Layered over the pic to designate affected tiles

View File

@ -80,9 +80,9 @@ endr
BattleAnimOAMUpdate:
call InitBattleAnimBuffer
call GetBattleAnimFrame
cp dowait_command
cp oamwait_command
jp z, .done
cp delanim_command
cp oamdelete_command
jp z, .delete
push af

View File

@ -29,9 +29,9 @@ GetBattleAnimFrame:
inc [hl]
call .GetPointer
ld a, [hli]
cp dorestart_command
cp oamrestart_command
jr z, .restart
cp endanim_command
cp oamend_command
jr z, .repeat_last
push af
@ -44,7 +44,7 @@ GetBattleAnimFrame:
pop hl
.okay
ld a, [hl]
and Y_FLIP << 1 | X_FLIP << 1 ; The << 1 is compensated in the "frame" macro
and Y_FLIP << 1 | X_FLIP << 1 ; The << 1 is compensated in the "oamframe" macro
srl a
ld [wBattleAnimTempFrameOAMFlags], a
pop af

View File

@ -229,9 +229,9 @@ DeinitializeAllSprites:
UpdateAnimFrame:
call InitSpriteAnimBuffer ; init WRAM
call GetSpriteAnimFrame ; read from a memory array
cp dowait_command
cp oamwait_command
jr z, .done
cp delanim_command
cp oamdelete_command
jr z, .delete
call GetFrameOAMPointer
; add byte to [wCurAnimVTile]
@ -303,6 +303,7 @@ UpdateAnimFrame:
jr .done
.delete
; Removes the object from the screen, as opposed to `oamend` which just stops all motion
call DeinitializeSprite
.done
and a
@ -428,9 +429,9 @@ GetSpriteAnimFrame:
inc [hl]
call .GetPointer
ld a, [hli]
cp dorestart_command
cp oamrestart_command
jr z, .restart
cp endanim_command
cp oamend_command
jr z, .repeat_last
push af
@ -446,7 +447,7 @@ GetSpriteAnimFrame:
pop hl
.okay
ld a, [hl]
and Y_FLIP << 1 | X_FLIP << 1 ; The << 1 is compensated in the "frame" macro
and Y_FLIP << 1 | X_FLIP << 1 ; The << 1 is compensated in the "oamframe" macro
srl a
ld [wCurSpriteOAMFlags], a
pop af

View File

@ -15,6 +15,7 @@ INCLUDE "macros/scripts/text.asm"
INCLUDE "macros/scripts/movement.asm"
INCLUDE "macros/scripts/battle_commands.asm"
INCLUDE "macros/scripts/battle_anims.asm"
INCLUDE "macros/scripts/gfx_anims.asm"
INCLUDE "macros/scripts/oam_anims.asm"
INCLUDE "macros/scripts/pic_anims.asm"
INCLUDE "macros/legacy.asm"

View File

@ -338,6 +338,11 @@ DEF anim_enemyfeetobj EQUS "anim_battlergfx_2row"
DEF anim_playerheadobj EQUS "anim_battlergfx_1row"
DEF anim_clearsprites EQUS "anim_keepsprites"
; macros/scripts/oam_anims.asm
DEF dorestart EQUS "oamrestart"
DEF dowait EQUS "oamwait"
DEF delanim EQUS "oamdel"
; engine/events/std_scripts.asm
DEF pokecenternurse EQUS "PokecenterNurseScript"
DEF difficultbookshelf EQUS "DifficultBookshelfScript"

View File

@ -1,53 +0,0 @@
; pic + oam animations
MACRO frame
db \1
DEF x = \2
if _NARG > 2
rept _NARG - 2
DEF x |= 1 << (\3 + 1)
shift
endr
endc
db x
ENDM
const_def -1, -1
const endanim_command ; $ff
MACRO endanim
db endanim_command
ENDM
const dorestart_command ; $fe
MACRO dorestart
db dorestart_command
ENDM
const dowait_command ; $fd
MACRO dowait
db dowait_command
db \1 ; frames
ENDM
const delanim_command ; $fc
MACRO delanim
; Removes the object from the screen, as opposed to `endanim` which just stops all motion
db delanim_command
ENDM
; Used for pic animations
const_def -2, -1
const setrepeat_command ; $fe
MACRO setrepeat
db setrepeat_command
db \1 ; amount of times to repeat
ENDM
const dorepeat_command ; $fd
MACRO dorepeat
db dorepeat_command
db \1 ; command offset to jump to
ENDM

View File

@ -0,0 +1,38 @@
; Battle and sprite OAM animations
MACRO oamframe
db \1 ; duration
DEF x = \2
assert !(x & (1 << (OAM_X_FLIP + 1) | 1 << (OAM_Y_FLIP + 1))), \
"oamframe duration overflows into X/Y flip bits"
if _NARG > 2
rept _NARG - 2
DEF x |= 1 << (\3 + 1)
shift
endr
endc
db x ; flags
ENDM
const_def -1, -1
const oamend_command ; $ff
MACRO oamend
db oamend_command
ENDM
const oamrestart_command ; $fe
MACRO oamrestart
db oamrestart_command
ENDM
const oamwait_command ; $fd
MACRO oamwait
db oamwait_command
db \1 ; frames
ENDM
const oamdelete_command ; $fc
MACRO oamdelete
db oamdelete_command
ENDM

View File

@ -0,0 +1,28 @@
MACRO frame
if _NARG <= 2
db \1 ; index
db \2 ; duration
else
; LEGACY: Support for the old name of "oamanim"
oamanim \#
endc
ENDM
const_def -1, -1
const endanim_command ; $ff
MACRO endanim
db endanim_command
ENDM
const setrepeat_command ; $fe
MACRO setrepeat
db setrepeat_command
db \1 ; amount of times to repeat
ENDM
const dorepeat_command ; $fd
MACRO dorepeat
db dorepeat_command
db \1 ; command offset to jump to
ENDM