summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/battle.h25
-rw-r--r--include/battle_anim.h4
-rw-r--r--include/battle_interface.h37
-rw-r--r--include/gba/types.h14
-rw-r--r--include/international_string_util.h4
-rw-r--r--include/mail_data.h12
-rw-r--r--include/menu.h5
-rw-r--r--include/menu_helpers.h11
-rw-r--r--include/overworld.h1
-rw-r--r--include/pokemon_icon.h5
-rw-r--r--include/strings.h13
11 files changed, 111 insertions, 20 deletions
diff --git a/include/battle.h b/include/battle.h
index a7a26e5eb..8ea1b78f4 100644
--- a/include/battle.h
+++ b/include/battle.h
@@ -888,6 +888,19 @@ struct BattleSpriteInfo
struct BattleAnimationInfo
{
u16 field; // to fill up later
+ u8 field_2;
+ u8 field_3;
+ u8 field_4;
+ u8 field_5;
+ u8 field_6;
+ u8 field_7;
+ u8 field_8;
+ u8 field_9_x1 : 1;
+ u8 field_9_x2 : 1;
+ u8 field_9_x1C : 3;
+ u8 field_9_x20 : 1;
+ u8 field_9_x40 : 1;
+ u8 field_9_x80 : 1;
};
struct BattleHealthboxInfo
@@ -910,11 +923,21 @@ struct BattleHealthboxInfo
u8 field_B;
};
+struct BattleBarInfo
+{
+ u8 healthboxSpriteId;
+ s32 maxValue;
+ s32 currentValue;
+ s32 field_C;
+ s32 field_10;
+};
+
struct BattleSpriteData
{
struct BattleSpriteInfo *bankData;
struct BattleHealthboxInfo *healthBoxesData;
struct BattleAnimationInfo *animationData;
+ struct BattleBarInfo *battleBars;
};
extern struct BattleSpriteData *gBattleSpritesDataPtr;
@@ -933,6 +956,8 @@ struct MonSpritesGfx
void* firstDecompressed; // ptr to the decompressed sprite of the first pokemon
void* sprites[4];
struct SpriteTemplate templates[4];
+ u8 field_74[0x100];
+ u8 *fontPixels;
};
extern struct BattleSpritesGfx* gMonSpritesGfx;
diff --git a/include/battle_anim.h b/include/battle_anim.h
index f38572d19..5282916c0 100644
--- a/include/battle_anim.h
+++ b/include/battle_anim.h
@@ -39,8 +39,8 @@ struct BattleAnimBackground
#define ANIM_ARGS_COUNT 8
-#define PAN_ATTACKER_PLAYER -64
-#define PAN_ATTACKER_OPPONENT 63
+#define PAN_SIDE_PLAYER -64
+#define PAN_SIDE_OPPONENT 63
extern void (*gAnimScriptCallback)(void);
extern bool8 gAnimScriptActive;
diff --git a/include/battle_interface.h b/include/battle_interface.h
index 9c5b56bc8..05ea1c021 100644
--- a/include/battle_interface.h
+++ b/include/battle_interface.h
@@ -1,6 +1,22 @@
#ifndef GUARD_BATTLE_INTERFACE_H
#define GUARD_BATTLE_INTERFACE_H
+#include "battle_controllers.h"
+
+#define TAG_HEALTHBOX_PLAYER1_TILE 0xD6FF
+#define TAG_HEALTHBOX_PLAYER2_TILE 0xD700
+#define TAG_HEALTHBOX_OPPONENT1_TILE 0xD701
+#define TAG_HEALTHBOX_OPPONENT2_TILE 0xD702
+
+#define TAG_HEALTHBOX_SAFARI_TILE 0xD70B
+
+#define TAG_STATUS_SUMMARY_BAR_TILE 0xD70C
+#define TAG_STATUS_SUMMARY_BALLS_TILE 0xD714
+
+#define TAG_HEALTHBOX_PAL 0xD6FF
+#define TAG_STATUS_SUMMARY_BAR_PAL 0xD710
+#define TAG_STATUS_SUMMARY_BALLS_PAL 0xD712
+
enum
{
HEALTHBOX_ALL,
@@ -10,8 +26,8 @@ enum
HEALTHBOX_NICK,
HEALTHBOX_HEALTH_BAR,
HEALTHBOX_EXP_BAR,
- HEALTHBOX_7,
- HEALTHBOX_8,
+ HEALTHBOX_UNUSED_7,
+ HEALTHBOX_UNUSED_8,
HEALTHBOX_STATUS_ICON,
HEALTHBOX_SAFARI_ALL_TEXT,
HEALTHBOX_SAFARI_BALLS_TEXT
@@ -19,11 +35,20 @@ enum
u8 CreateBankHealthboxSprites(u8 bank);
u8 CreateSafariPlayerHealthboxSprites(void);
-void SetBankHealthboxSpritePos(u8 bank);
-void SetHealthboxSpriteVisible(u8 healthboxSpriteId);
+void SetBattleBarStruct(u8 bank, u8 healthboxSpriteId, s32 maxVal, s32 currVal, s32 field_C);
void SetHealthboxSpriteInvisible(u8 healthboxSpriteId);
+void SetHealthboxSpriteVisible(u8 healthboxSpriteId);
+void DestoryHealthboxSprite(u8 healthboxSpriteId);
+void DummyBattleInterfaceFunc(u8 healthboxSpriteId, bool8 isDoubleBattleBankOnly);
+void UpdateOamPriorityInAllHealthboxes(u8 priority);
+void SetBankHealthboxSpritePos(u8 bank);
+void UpdateHpTextInHealthbox(u8 healthboxSpriteId, s16 value, u8 maxOrCurrent);
+void SwapHpBarsWithHpText(void);
+u8 CreatePartyStatusSummarySprites(u8 bank, struct HpAndStatus *partyInfo, u8 arg2, bool8 isBattleStart);
+void sub_8073C30(u8 taskId);
void UpdateHealthboxAttribute(u8 healthboxSpriteId, struct Pokemon *mon, u8 elementId);
-void nullsub_30(u8 healthboxSpriteId, bool8 isDoubleBattleBankOnly);
-void sub_8072A88(u8 arg0);
+s32 sub_8074AA0(u8 bank, u8 healthboxSpriteId, u8 whichBar, u8 arg3);
+u8 GetScaledHPFraction(s16 hp, s16 maxhp, u8 scale);
+u8 GetHPBarLevel(s16 hp, s16 maxhp);
#endif // GUARD_BATTLE_INTERFACE_H
diff --git a/include/gba/types.h b/include/gba/types.h
index fd8a20a4c..e9a380023 100644
--- a/include/gba/types.h
+++ b/include/gba/types.h
@@ -39,18 +39,18 @@ struct PlttData
struct OamData
{
/*0x00*/ u32 y:8;
- /*0x01*/ u32 affineMode:2;
- u32 objMode:2;
- u32 mosaic:1;
- u32 bpp:1;
- u32 shape:2;
+ /*0x01*/ u32 affineMode:2; // 0x1, 0x2 -> 0x4
+ u32 objMode:2; // 0x4, 0x8 -> 0xC
+ u32 mosaic:1; // 0x10
+ u32 bpp:1; // 0x20
+ u32 shape:2; // 0x40, 0x80 -> 0xC0
/*0x02*/ u32 x:9;
u32 matrixNum:5; // bits 3/4 are h-flip/v-flip if not in affine mode
u32 size:2;
- /*0x04*/ u16 tileNum:10;
- u16 priority:2;
+ /*0x04*/ u16 tileNum:10; // 0x33F
+ u16 priority:2; // 0x400, 0x800 -> 0xC00
u16 paletteNum:4;
/*0x06*/ u16 affineParam;
};
diff --git a/include/international_string_util.h b/include/international_string_util.h
index 11b5c633c..1c2836132 100644
--- a/include/international_string_util.h
+++ b/include/international_string_util.h
@@ -1,6 +1,9 @@
#ifndef GUARD_INTERNATIONAL_STRING_UTIL_H
#define GUARD_INTERNATIONAL_STRING_UTIL_H
+void sub_81DB52C(const u8 *src);
+void TVShowConvertInternationalString(u8 *dest, const u8 *src, u8 language);
+u32 sub_81DB604(const u8 *);
s32 GetStringCenterAlignXOffset(s32 fontId, const u8 *str, s32 totalWidth);
s32 GetStringRightAlignXOffset(s32 fontId, const u8 *str, s32 totalWidth);
s32 GetStringCenterAlignXOffsetWithLetterSpacing(s32 fontId, const u8 *str, s32 totalWidth, s32 letterSpacing);
@@ -14,7 +17,6 @@ s32 sub_81DB3D8(const u8 **str, u8* arg1, s32 arg2);
// sub_81DB52C
// sub_81DB554
// sub_81DB5AC
-void TVShowConvertInternationalString(u8 *dest, const u8 *src, u8 language);
u32 sub_81DB604(const u8 *);
// sub_81DB620
diff --git a/include/mail_data.h b/include/mail_data.h
new file mode 100644
index 000000000..bf6540bad
--- /dev/null
+++ b/include/mail_data.h
@@ -0,0 +1,12 @@
+#ifndef GUARD_MAIL_DATA_H
+#define GUARD_MAIL_DATA_H
+
+// Exported type declarations
+
+// Exported RAM declarations
+
+// Exported ROM declarations
+
+u16 sub_80D45E8(u16, u16 *);
+
+#endif //GUARD_MAIL_DATA_H
diff --git a/include/menu.h b/include/menu.h
index 66ac73e03..480ffd1ce 100644
--- a/include/menu.h
+++ b/include/menu.h
@@ -19,6 +19,9 @@ void box_print(u8, u8, u8, u8, const void *, s8, const u8 *);
void sub_8198070(u8 windowId, bool8 copyToVram);
void SetWindowTemplateFields(struct WindowTemplate* template, u8 priority, u8 tilemapLeft, u8 tilemapTop, u8 width, u8 height, u8 palNum, u16 baseBlock);
void SetWindowBorderStyle(u8 windowId, bool8 copyToVram, u16 tileStart, u8 palette);
-void sub_8198A50(struct WindowTemplate*, u8, u8, u8, u8, u8, u8, u16); // returns something but it isn't used, fix when menu.s is decomp'd
+void reset_temp_tile_data_buffers(void);
+int decompress_and_copy_tile_data_to_vram(u8 bg_id, const void *src, int size, u16 offset, u8 mode);
+bool8 free_temp_tile_data_buffers_if_possible(void);
+u64 sub_8198A50(struct WindowTemplate*, u8, u8, u8, u8, u8, u8, u16); // returns something but it isn't used, fix when menu.s is decomp'd
#endif // GUARD_MENU_H
diff --git a/include/menu_helpers.h b/include/menu_helpers.h
new file mode 100644
index 000000000..45ee95de5
--- /dev/null
+++ b/include/menu_helpers.h
@@ -0,0 +1,11 @@
+#ifndef GUARD_MENU_HELPERS_H
+#define GUARD_MENU_HELPERS_H
+
+// Exported type declarations
+
+// Exported RAM declarations
+
+// Exported ROM declarations
+bool8 sub_81221AC(void);
+
+#endif //GUARD_MENU_HELPERS_H
diff --git a/include/overworld.h b/include/overworld.h
index 0475e8e8c..1869222b0 100644
--- a/include/overworld.h
+++ b/include/overworld.h
@@ -53,6 +53,7 @@ const struct MapHeader *get_mapheader_by_bank_and_number(u8, u8);
void FieldObjectMoveDestCoords(struct MapObject *, u32, s16 *, s16 *);
void sub_8086230(void);
void c2_exit_to_overworld_2_switch(void);
+bool32 sub_8087598(void);
void c2_exit_to_overworld_1_continue_scripts_restart_music(void);
#endif //GUARD_ROM4_H
diff --git a/include/pokemon_icon.h b/include/pokemon_icon.h
index b82334355..b6d21823e 100644
--- a/include/pokemon_icon.h
+++ b/include/pokemon_icon.h
@@ -3,5 +3,10 @@
const u8 *GetMonIconPtr(u16 speciesId, u32 personality, u32 frameNo);
const u16 *GetValidMonIconPalettePtr(u16 speciesId);
+u16 sub_80D2E84(u16 speciesId);
+void sub_80D2F68(u16 iconId);
+u8 sub_80D2D78(u16 iconId, void callback(struct Sprite *), u16 x, u16 y, u16 a4, u8 a5);
+void sub_80D2FF0(u16 iconId);
+void sub_80D2EF8(struct Sprite *sprite);
#endif // GUARD_POKEMON_ICON_H
diff --git a/include/strings.h b/include/strings.h
index 5d1a9bba0..e45f3c87d 100644
--- a/include/strings.h
+++ b/include/strings.h
@@ -1,6 +1,13 @@
-#ifndef GUARD_strings_H
-#define GUARD_strings_H
+#ifndef GUARD_STRINGS_H
+#define GUARD_STRINGS_H
+// Exported type declarations
+
+// Exported RAM declarations
+
+// Exported ROM declarations
+
+extern const u8 gText_FromSpace[];
extern const u8 gText_Lv50[];
extern const u8 gText_OpenLevel[];
extern const u8 gText_Mom[];
@@ -30,4 +37,4 @@ extern const u8 gText_First[];
extern const u8 gText_Second[];
extern const u8 gText_Third[];
-#endif //GUARD_strings_H
+#endif //GUARD_STRINGS_H