summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorultima-soul <akshayjhanji@hotmail.com>2019-04-07 14:19:02 -0700
committerhuderlem <huderlem@gmail.com>2019-04-07 16:36:15 -0500
commit0a16dd0df08213b58a804b0711a7fdeb79377ce6 (patch)
treee55162aca184cb88ed0e47e95a35a4b343e2c4ea /include
parent963d165e06f4428605fca5c1369c9f417e8e7156 (diff)
Decompile/port rest of battle_anim plus fix 1 NONMATCHING.
Diffstat (limited to 'include')
-rw-r--r--include/battle_anim.h20
-rw-r--r--include/constants/battle_constants.h11
-rw-r--r--include/gba/io_reg.h2
-rw-r--r--include/rom_8077ABC.h14
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);