diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/battle.h | 25 | ||||
-rw-r--r-- | include/battle_anim.h | 4 | ||||
-rw-r--r-- | include/battle_interface.h | 37 | ||||
-rw-r--r-- | include/gba/types.h | 14 | ||||
-rw-r--r-- | include/international_string_util.h | 4 | ||||
-rw-r--r-- | include/mail_data.h | 12 | ||||
-rw-r--r-- | include/menu.h | 5 | ||||
-rw-r--r-- | include/menu_helpers.h | 11 | ||||
-rw-r--r-- | include/overworld.h | 1 | ||||
-rw-r--r-- | include/pokemon_icon.h | 5 | ||||
-rw-r--r-- | include/strings.h | 13 |
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 |