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

View File

@ -1,6 +1,6 @@
# Pic Animations # 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: 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>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>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) - <code>dorepeat <i>I</i></code>: Repeats from command #<i>I</i> (with the first command being #0)
- `end` - `endanim`
- Bitmasks: - Bitmasks:
Layered over the pic to designate affected tiles Layered over the pic to designate affected tiles

View File

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

View File

@ -29,9 +29,9 @@ GetBattleAnimFrame:
inc [hl] inc [hl]
call .GetPointer call .GetPointer
ld a, [hli] ld a, [hli]
cp dorestart_command cp oamrestart_command
jr z, .restart jr z, .restart
cp endanim_command cp oamend_command
jr z, .repeat_last jr z, .repeat_last
push af push af
@ -44,7 +44,7 @@ GetBattleAnimFrame:
pop hl pop hl
.okay .okay
ld a, [hl] 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 srl a
ld [wBattleAnimTempFrameOAMFlags], a ld [wBattleAnimTempFrameOAMFlags], a
pop af pop af

View File

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

View File

@ -15,6 +15,7 @@ INCLUDE "macros/scripts/text.asm"
INCLUDE "macros/scripts/movement.asm" INCLUDE "macros/scripts/movement.asm"
INCLUDE "macros/scripts/battle_commands.asm" INCLUDE "macros/scripts/battle_commands.asm"
INCLUDE "macros/scripts/battle_anims.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" 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_playerheadobj EQUS "anim_battlergfx_1row"
DEF anim_clearsprites EQUS "anim_keepsprites" 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 ; engine/events/std_scripts.asm
DEF pokecenternurse EQUS "PokecenterNurseScript" DEF pokecenternurse EQUS "PokecenterNurseScript"
DEF difficultbookshelf EQUS "DifficultBookshelfScript" 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