diff options
author | ultima-soul <akshayjhanji@hotmail.com> | 2019-04-07 14:19:02 -0700 |
---|---|---|
committer | huderlem <huderlem@gmail.com> | 2019-04-07 16:36:15 -0500 |
commit | 0a16dd0df08213b58a804b0711a7fdeb79377ce6 (patch) | |
tree | e55162aca184cb88ed0e47e95a35a4b343e2c4ea /include | |
parent | 963d165e06f4428605fca5c1369c9f417e8e7156 (diff) |
Decompile/port rest of battle_anim plus fix 1 NONMATCHING.
Diffstat (limited to 'include')
-rw-r--r-- | include/battle_anim.h | 20 | ||||
-rw-r--r-- | include/constants/battle_constants.h | 11 | ||||
-rw-r--r-- | include/gba/io_reg.h | 2 | ||||
-rw-r--r-- | include/rom_8077ABC.h | 14 |
4 files changed, 36 insertions, 11 deletions
diff --git a/include/battle_anim.h b/include/battle_anim.h index d355d9954..4f79dfc93 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -11,6 +11,26 @@ #define REG_BG2CNT_BITFIELD REG_BGnCNT_BITFIELD(2) #define REG_BG3CNT_BITFIELD REG_BGnCNT_BITFIELD(3) +enum +{ + BATTLER_COORD_X, + BATTLER_COORD_Y, + BATTLER_COORD_X_2, + BATTLER_COORD_Y_PIC_OFFSET, + BATTLER_COORD_Y_PIC_OFFSET_DEFAULT, +}; + +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, +}; + struct BattleAnimBackground { void *image; diff --git a/include/constants/battle_constants.h b/include/constants/battle_constants.h index 65f44d8aa..3d55bde0b 100644 --- a/include/constants/battle_constants.h +++ b/include/constants/battle_constants.h @@ -241,17 +241,20 @@ #define MAX_TRAINER_ITEMS 4 #define MAX_MON_MOVES 4 +// Battle Weather flags #define WEATHER_RAIN_TEMPORARY (1 << 0) -#define WEATHER_RAIN_DOWNPOUR (1 << 1) +#define WEATHER_RAIN_DOWNPOUR (1 << 1) // unused #define WEATHER_RAIN_PERMANENT (1 << 2) -#define WEATHER_RAIN_ANY ((WEATHER_RAIN_TEMPORARY | WEATHER_RAIN_DOWNPOUR | WEATHER_RAIN_PERMANENT)) +#define WEATHER_RAIN_ANY (WEATHER_RAIN_TEMPORARY | WEATHER_RAIN_DOWNPOUR | WEATHER_RAIN_PERMANENT) #define WEATHER_SANDSTORM_TEMPORARY (1 << 3) #define WEATHER_SANDSTORM_PERMANENT (1 << 4) -#define WEATHER_SANDSTORM_ANY ((WEATHER_SANDSTORM_TEMPORARY | WEATHER_SANDSTORM_PERMANENT)) +#define WEATHER_SANDSTORM_ANY (WEATHER_SANDSTORM_TEMPORARY | WEATHER_SANDSTORM_PERMANENT) #define WEATHER_SUN_TEMPORARY (1 << 5) #define WEATHER_SUN_PERMANENT (1 << 6) -#define WEATHER_SUN_ANY ((WEATHER_SUN_TEMPORARY | WEATHER_SUN_PERMANENT)) +#define WEATHER_SUN_ANY (WEATHER_SUN_TEMPORARY | WEATHER_SUN_PERMANENT) #define WEATHER_HAIL (1 << 7) +#define WEATHER_HAIL_ANY (WEATHER_HAIL) +#define WEATHER_ANY (WEATHER_RAIN_ANY | WEATHER_SANDSTORM_ANY | WEATHER_SUN_ANY | WEATHER_HAIL_ANY) #define MOVE_TARGET_SELECTED 0x0 #define MOVE_TARGET_DEPENDS 0x1 diff --git a/include/gba/io_reg.h b/include/gba/io_reg.h index 6dbe5e8ed..4208a7a14 100644 --- a/include/gba/io_reg.h +++ b/include/gba/io_reg.h @@ -546,6 +546,7 @@ #define BLDCNT_TGT1_BG3 (1 << 3) #define BLDCNT_TGT1_OBJ (1 << 4) #define BLDCNT_TGT1_BD (1 << 5) +#define BLDCNT_TGT1_ALL (BLDCNT_TGT1_BG0 | BLDCNT_TGT1_BG1 | BLDCNT_TGT1_BG2 | BLDCNT_TGT1_BG3 | BLDCNT_TGT1_OBJ | BLDCNT_TGT1_BD) // Bits 6-7 select the special effect #define BLDCNT_EFFECT_NONE (0 << 6) // no special effect #define BLDCNT_EFFECT_BLEND (1 << 6) // 1st+2nd targets mixed (controlled by BLDALPHA) @@ -558,6 +559,7 @@ #define BLDCNT_TGT2_BG3 (1 << 11) #define BLDCNT_TGT2_OBJ (1 << 12) #define BLDCNT_TGT2_BD (1 << 13) +#define BLDCNT_TGT2_ALL (BLDCNT_TGT2_BG0 | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_BG2 | BLDCNT_TGT2_BG3 | BLDCNT_TGT2_OBJ | BLDCNT_TGT2_BD) // BLDALPHA #define BLDALPHA_BLEND(target1, target2) (((target2) << 8) | (target1)) diff --git a/include/rom_8077ABC.h b/include/rom_8077ABC.h index 595e38f31..4f49885bf 100644 --- a/include/rom_8077ABC.h +++ b/include/rom_8077ABC.h @@ -90,8 +90,8 @@ void sub_8078114(struct Sprite *sprite); void sub_8078174(struct Sprite *sprite); void sub_80793C4(struct Sprite *sprite); void SetAverageBattlerPositions(u8 slot, u8 a2, s16 *a3, s16 *a4); -u8 sub_8079ED4(u8 slot); -s16 sub_807A100(u8 slot, u8 a2); +u8 GetBattlerSpriteBGPriority(u8 slot); +s16 GetBattlerSpriteCoordAttr(u8 slot, u8 a2); u16 ArcTan2Neg(s16 a, s16 b); void sub_8078FDC(struct Sprite *sprite, bool8 a2, s16 xScale, s16 yScale, u16 rotation); void sub_807867C(struct Sprite *sprite, s16 a2); @@ -101,10 +101,10 @@ u32 sub_80792C0(u8 a1, u8 a2, u8 a3, u8 a4); s16 duplicate_obj_of_side_rel2move_in_transparent_mode(u8 a1); void obj_delete_but_dont_free_vram(struct Sprite *sprite); void sub_8079108(u16 a1, bool8 a2); -void sub_80798F4(struct Task *task, u8 a2, const void *a3); -bool8 sub_807992C(struct Task *task); +void PrepareAffineAnimInTaskData(struct Task *task, u8 a2, const void *a3); +bool8 RunAffineAnimFromTaskData(struct Task *task); u8 sub_8077FC0(u8 slot); -void move_anim_8074EE0(struct Sprite *sprite); +void DestroySpriteAndMatrix(struct Sprite *sprite); bool8 TranslateAnimArc(struct Sprite *sprite); bool8 sub_8078CE8(struct Sprite *sprite); void oamt_add_pos2_onto_pos1(struct Sprite *sprite); @@ -116,9 +116,9 @@ u8 sub_807A4A0(int bank, u8 sprite, int species); void sub_80794A8(struct Sprite *sprite); void sub_807A9BC(struct Sprite *sprite); void sub_8078954(struct Struct_sub_8078914*, u8); -u8 sub_8079F44(u16 species, u8 isBackpic, u8 a3, s16 a4, s16 a5, u8 a6, u32 a7, u32 a8); +u8 sub_8079F44(u16 species, bool8 isBackpic, u8 a3, s16 a4, s16 a5, u8 a6, u32 a7, u32 a8); void sub_8079098(struct Sprite *sprite); -void sub_807A0F4(struct Sprite *sprite); +void DestroySpriteAndFreeResources_(struct Sprite *sprite); void sub_8078634(u8 task); u8 sub_80793A8(u8); |