port documentation of battle_anim_mon_movement from pokeem

This commit is contained in:
jiangzhengwenjz
2019-07-28 01:50:50 +08:00
parent 1a34a06758
commit 37be39117a
32 changed files with 607 additions and 451 deletions
+58 -30
View File
@@ -19,28 +19,28 @@ enum
{
BG_ANIM_SCREEN_SIZE,
BG_ANIM_AREA_OVERFLOW_MODE,
BG_ANIM2,
BG_ANIM3,
BG_ANIM_MOSAIC,
BG_ANIM_CHAR_BASE_BLOCK,
BG_ANIM_PRIORITY,
BG_ANIM_5,
BG_ANIM_6
BG_ANIM_PALETTES_MODE,
BG_ANIM_SCREEN_BASE_BLOCK
};
struct UnknownAnimStruct2
struct BattleAnimBgData
{
void *unk0;
u16 *unk4;
u8 unk8;
u8 unk9;
u16 unkA;
u16 unkC;
u8 *bgTiles;
u16 *bgTilemap;
u8 paletteId;
u8 bgId;
u16 tilesOffset;
u16 unused;
};
struct BattleAnimBackground
{
void *image;
void *palette;
void *tilemap;
const u32 *image;
const u32 *palette;
const u32 *tilemap;
};
#define ANIM_ARGS_COUNT 8
@@ -53,7 +53,6 @@ extern bool8 gAnimScriptActive;
extern u8 gAnimVisualTaskCount;
extern u8 gAnimSoundTaskCount;
extern struct DisableStruct *gAnimDisableStructPtr;
extern u32 gAnimMoveDmg;
extern u16 gAnimMovePower;
extern u8 gAnimFriendship;
extern u16 gWeatherMoveAnim;
@@ -64,8 +63,8 @@ extern u8 gBattleAnimTarget;
extern u16 gAnimSpeciesByBanks[BATTLE_BANKS_COUNT];
extern u8 gUnknown_02038440;
extern u8 gBattlerSpriteIds[MAX_BATTLERS_COUNT];
extern u16 gUnknown_2037EEC;
extern s32 gUnknown_2037EE8;
extern u16 gAnimMovePower;
extern s32 gAnimMoveDmg;
void ClearBattleAnimationVars(void);
void DoMoveAnim(u16 move);
@@ -80,7 +79,7 @@ s8 BattleAnimAdjustPanning(s8 pan);
s8 BattleAnimAdjustPanning2(s8 pan);
s16 sub_80A52EC(s16 a);
s16 CalculatePanIncrement(s16 sourcePan, s16 targetPan, s16 incrementPan);
bool8 sub_8072DF0(u8 battlerId);
bool8 IsBattlerSpriteVisible(u8 battlerId);
// battle_anim_80FE840.s
void SetAnimBgAttribute(u8 bgId, u8 attributeId, u8 value);
@@ -92,18 +91,32 @@ void sub_80A6EEC(struct Sprite *sprite);
void sub_80A68D4(struct Sprite *sprite);
void sub_80A6F3C(struct Sprite *sprite);
void sub_80A8278(void);
void sub_80A6B30(struct UnknownAnimStruct2*);
void sub_80A6B90(struct UnknownAnimStruct2*, u32 arg1);
void sub_80A6B30(struct BattleAnimBgData *);
void sub_80A6B90(struct BattleAnimBgData *, u32 arg1);
u8 sub_80A82E4(u8 bank);
bool8 AnimateBallThrow(struct Sprite *sprite);
enum
{
BANK_X_POS,
BANK_Y_POS,
BATTLER_COORD_X,
BATTLER_COORD_Y,
BATTLER_COORD_X_2,
BATTLER_COORD_Y_PIC_OFFSET,
BATTLER_COORD_Y_PIC_OFFSET_DEFAULT,
};
u8 GetBankPosition(u8 bank, u8 attributeId);
enum
{
BATTLER_COORD_ATTR_HEIGHT,
BATTLER_COORD_ATTR_WIDTH,
BATTLER_COORD_ATTR_TOP,
BATTLER_COORD_ATTR_BOTTOM,
BATTLER_COORD_ATTR_LEFT,
BATTLER_COORD_ATTR_RIGHT,
BATTLER_COORD_ATTR_RAW_BOTTOM,
};
u8 GetBattlerSpriteCoord(u8 bank, u8 attributeId);
bool8 IsBankSpritePresent(u8 bank);
void sub_80A6C68(u8 arg0);
@@ -126,13 +139,28 @@ u8 LaunchBallStarsTask(u8 x, u8 y, u8 kindOfStars, u8 arg3, u8 ballId);
u8 LaunchBallFadeMonTask(bool8 unFadeLater, u8 bank, u32 arg2, u8 ballId);
// battle_anim_mons.s
void sub_8074DC4(struct Sprite * sprite);
void sub_8074E14(struct Sprite * sprite);
void sub_80754B8(struct Sprite * sprite);
void sub_80758E0(u8 spriteId, u8 b);
void sub_8075980(u8 spriteId);
void obj_id_set_rotscale(u8 spriteId, s16 xScale, s16 yScale, u16 rotation);
bool8 sub_8073788(void);
void TranslateMonSpriteLinear(struct Sprite * sprite);
void TranslateMonSpriteLinearFixedPoint(struct Sprite * sprite);
void InitSpriteDataForLinearTranslation(struct Sprite * sprite);
void PrepareBattlerSpriteForRotScale(u8 spriteId, u8 b);
void ResetSpriteRotScale(u8 spriteId);
void SetSpriteRotScale(u8 spriteId, s16 xScale, s16 yScale, u16 rotation);
bool8 IsContest(void);
void sub_80759DC(u8 spriteId);
// battle_anim_mon_movement.c
void AnimTask_ShakeMon(u8 taskId);
void AnimTask_ShakeMon2(u8 taskId);
void AnimTask_ShakeMonInPlace(u8 taskId);
void AnimTask_ShakeAndSinkMon(u8 taskId);
void AnimTask_TranslateMonElliptical(u8 taskId);
void AnimTask_TranslateMonEllipticalRespectSide(u8 taskId);
void AnimTask_WindUpLunge(u8 taskId);
void sub_80995FC(u8 taskId);
void AnimTask_SwayMon(u8 taskId);
void AnimTask_ScaleMonAndRestore(u8 taskId);
void sub_8099980(u8 taskId);
void sub_8099A78(u8 taskId);
void sub_8099BD4(u8 taskId);
#endif // GUARD_BATTLE_ANIM_H