From ab03b03c4bb872af131a9c52ef285c488b8e4865 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Mon, 9 Oct 2017 18:18:40 +0200 Subject: decompile reshow battle screen --- include/battle.h | 26 +++++++++++++++++++++++--- include/battle_controller_player.h | 7 +++++++ include/battle_controllers.h | 2 ++ include/battle_interface.h | 28 ++++++++++++++++++++++++++++ include/reshow_battle_screen.h | 1 + 5 files changed, 61 insertions(+), 3 deletions(-) create mode 100644 include/battle_controller_player.h create mode 100644 include/battle_interface.h (limited to 'include') diff --git a/include/battle.h b/include/battle.h index d41702396..eff1c27f1 100644 --- a/include/battle.h +++ b/include/battle.h @@ -808,8 +808,8 @@ struct BattleScripting u8 atk6C_state; u8 learnMoveState; u8 field_20; - u8 field_21; - u8 field_22; + u8 reshowMainState; + u8 reshowHelperState; u8 field_23; u8 field_24; u8 multiplayerId; @@ -839,9 +839,29 @@ void FreeBattleSpritesData(void); void AllocateMonSpritesGfx(void); void FreeMonSpritesGfx(void); void BattleMusicStop(void); -void sub_805E990(struct Pokemon* mon, u8 bank); +void sub_805E990(struct Pokemon *mon, u8 bank); void sub_805EF14(void); bool8 BattleInitAllSprites(u8 *state1, u8 *state2); +void sub_805E350(void); +bool8 BattleLoadAllHealthBoxesGfx(u8 state); +void LoadAndCreateEnemyShadowSprites(void); +void SetBankEnemyShadowSpriteCallback(u8 bank, u16 species); +void BattleLoadPlayerMonSpriteGfx(struct Pokemon *mon, u8 bank); +void BattleLoadOpponentMonSpriteGfx(struct Pokemon *mon, u8 bank); +void BattleLoadSubstituteSpriteGfx(u8 bank, bool8 arg1); + +enum +{ + BACK_PIC_BRENDAN, + BACK_PIC_MAY, + BACK_PIC_RED, + BACK_PIC_LEAF, + BACK_PIC_RS_BRENDAN, + BACK_PIC_RS_MAY, + BACK_PIC_WALLY, + BACK_PIC_STEVEN +}; +void LoadBackTrainerBankSpriteGfx(u8 backPicId, u8 bank); // rom_80A5C6C u8 GetBankSide(u8 bank); diff --git a/include/battle_controller_player.h b/include/battle_controller_player.h new file mode 100644 index 000000000..6d095efe7 --- /dev/null +++ b/include/battle_controller_player.h @@ -0,0 +1,7 @@ +#ifndef GUARD_BATTLE_CONTROLLER_PLAYER_H +#define GUARD_BATTLE_CONTROLLER_PLAYER_H + +void ActionSelectionCreateCursorAt(u8 cursorPos, u8 unused); +void ActionSelectionDestroyCursorAt(u8 cursorPos); + +#endif // GUARD_BATTLE_CONTROLLER_PLAYER_H diff --git a/include/battle_controllers.h b/include/battle_controllers.h index 2281fdaff..ea614a6b2 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -1,6 +1,8 @@ #ifndef GUARD_BATTLE_CONTROLLERS_H #define GUARD_BATTLE_CONTROLLERS_H +#include "battle_controller_player.h" + #define REQUEST_ALL_BATTLE 0x0 #define REQUEST_SPECIES_BATTLE 0x1 #define REQUEST_HELDITEM_BATTLE 0x2 diff --git a/include/battle_interface.h b/include/battle_interface.h new file mode 100644 index 000000000..cecc7bd1f --- /dev/null +++ b/include/battle_interface.h @@ -0,0 +1,28 @@ +#ifndef GUARD_BATTLE_INTERFACE_H +#define GUARD_BATTLE_INTERFACE_H + +enum +{ + HEALTHBOX_ALL, + HEALTHBOX_CURRENT_HP, + HEALTHBOX_MAX_HP, + HEALTHBOX_LEVEL, + HEALTHBOX_NICK, + HEALTHBOX_HEALTH_BAR, + HEALTHBOX_EXP_BAR, + HEALTHBOX_7, + HEALTHBOX_8, + HEALTHBOX_STATUS_ICON, + HEALTHBOX_SAFARI_ALL_TEXT, + HEALTHBOX_SAFARI_BALLS_TEXT +}; + +u8 CreateBankHealthboxSprites(u8 bank); +u8 CreateSafariPlayerHealthboxSprites(void); +void SetBankHealthboxSpritePos(u8 bank); +void SetHealthboxSpriteVisible(u8 healthboxSpriteId); +void SetHealthboxSpriteInvisible(u8 healthboxSpriteId); +void UpdateHealthboxAttribute(u8 healthboxSpriteId, struct Pokemon *mon, u8 elementId); +void nullsub_30(u8 healthboxSpriteId, bool8 isDoubleBattleBankOnly); + +#endif // GUARD_BATTLE_INTERFACE_H diff --git a/include/reshow_battle_screen.h b/include/reshow_battle_screen.h index 62773b48b..c22135280 100644 --- a/include/reshow_battle_screen.h +++ b/include/reshow_battle_screen.h @@ -1,6 +1,7 @@ #ifndef GUARD_RESHOW_BATTLE_SCREEN_H #define GUARD_RESHOW_BATTLE_SCREEN_H +void nullsub_35(void); void ReshowBattleScreenAfterMenu(void); #endif // GUARD_RESHOW_BATTLE_SCREEN_H -- cgit v1.2.3 From 0f44747788b774021519d600cb612c8c3303aa7d Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Fri, 13 Oct 2017 12:25:32 +0200 Subject: review changes --- include/bg.h | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'include') diff --git a/include/bg.h b/include/bg.h index 0dcb84a34..0c6b4ac26 100644 --- a/include/bg.h +++ b/include/bg.h @@ -1,6 +1,16 @@ #ifndef GUARD_BG_H #define GUARD_BG_H +struct BGCntrlBitfield // for the I/O registers +{ + volatile u16 priority:2; + volatile u16 charBaseBlock:2; + volatile u16 field_0_2:4; + volatile u16 field_1_0:5; + volatile u16 areaOverflowMode:1; + volatile u16 screenSize:2; +}; + enum { BG_CTRL_ATTR_VISIBLE = 1, -- cgit v1.2.3