party_menu data
This commit is contained in:
@@ -0,0 +1,172 @@
|
||||
#include "global.h"
|
||||
#include "malloc.h"
|
||||
#include "battle.h"
|
||||
#include "battle_anim.h"
|
||||
#include "battle_controllers.h"
|
||||
#include "battle_gfx_sfx_util.h"
|
||||
#include "battle_interface.h"
|
||||
#include "bg.h"
|
||||
#include "data.h"
|
||||
#include "decompress.h"
|
||||
#include "easy_chat.h"
|
||||
#include "event_data.h"
|
||||
#include "evolution_scene.h"
|
||||
#include "field_control_avatar.h"
|
||||
#include "field_effect.h"
|
||||
#include "field_player_avatar.h"
|
||||
#include "field_screen_effect.h"
|
||||
#include "field_specials.h"
|
||||
#include "field_weather.h"
|
||||
#include "fieldmap.h"
|
||||
#include "fldeff.h"
|
||||
#include "gpu_regs.h"
|
||||
#include "graphics.h"
|
||||
#include "item.h"
|
||||
#include "item_menu.h"
|
||||
#include "item_use.h"
|
||||
#include "link.h"
|
||||
#include "link_rfu.h"
|
||||
#include "mail.h"
|
||||
#include "main.h"
|
||||
#include "menu.h"
|
||||
#include "menu_helpers.h"
|
||||
#include "new_menu_helpers.h"
|
||||
#include "metatile_behavior.h"
|
||||
#include "overworld.h"
|
||||
#include "palette.h"
|
||||
#include "party_menu.h"
|
||||
#include "player_pc.h"
|
||||
#include "pokemon.h"
|
||||
#include "pokemon_icon.h"
|
||||
#include "pokemon_jump.h"
|
||||
#include "pokemon_storage_system.h"
|
||||
#include "pokemon_summary_screen.h"
|
||||
#include "region_map.h"
|
||||
#include "reshow_battle_screen.h"
|
||||
#include "scanline_effect.h"
|
||||
#include "script.h"
|
||||
#include "sound.h"
|
||||
#include "sprite.h"
|
||||
#include "start_menu.h"
|
||||
#include "string_util.h"
|
||||
#include "strings.h"
|
||||
#include "task.h"
|
||||
#include "text.h"
|
||||
#include "text_window.h"
|
||||
#include "trade.h"
|
||||
#include "union_room.h"
|
||||
#include "window.h"
|
||||
#include "constants/battle.h"
|
||||
#include "constants/easy_chat.h"
|
||||
#include "constants/field_effects.h"
|
||||
#include "constants/flags.h"
|
||||
#include "constants/item_effects.h"
|
||||
#include "constants/items.h"
|
||||
#include "constants/maps.h"
|
||||
#include "constants/moves.h"
|
||||
#include "constants/songs.h"
|
||||
#include "constants/species.h"
|
||||
#include "constants/vars.h"
|
||||
|
||||
#define PARTY_PAL_SELECTED (1 << 0)
|
||||
#define PARTY_PAL_FAINTED (1 << 1)
|
||||
#define PARTY_PAL_TO_SWITCH (1 << 2)
|
||||
#define PARTY_PAL_MULTI_ALT (1 << 3)
|
||||
#define PARTY_PAL_SWITCHING (1 << 4)
|
||||
#define PARTY_PAL_TO_SOFTBOIL (1 << 5)
|
||||
#define PARTY_PAL_NO_MON (1 << 6)
|
||||
#define PARTY_PAL_UNUSED (1 << 7)
|
||||
|
||||
#define MENU_DIR_DOWN 1
|
||||
#define MENU_DIR_UP -1
|
||||
#define MENU_DIR_RIGHT 2
|
||||
#define MENU_DIR_LEFT -2
|
||||
|
||||
enum
|
||||
{
|
||||
CAN_LEARN_MOVE,
|
||||
CANNOT_LEARN_MOVE,
|
||||
ALREADY_KNOWS_MOVE,
|
||||
CANNOT_LEARN_MOVE_IS_EGG
|
||||
};
|
||||
|
||||
struct PartyMenuBoxInfoRects
|
||||
{
|
||||
void (*blitFunc)(u8 windowId, u8 x, u8 y, u8 width, u8 height, bool8 isEgg);
|
||||
u8 dimensions[24];
|
||||
u8 descTextLeft;
|
||||
u8 descTextTop;
|
||||
u8 descTextWidth;
|
||||
u8 descTextHeight;
|
||||
};
|
||||
|
||||
struct PartyMenuInternal
|
||||
{
|
||||
TaskFunc task;
|
||||
MainCallback exitCallback;
|
||||
u32 chooseHalf:1;
|
||||
u32 lastSelectedSlot:3; // Used to return to same slot when going left/right bewtween columns
|
||||
u32 spriteIdConfirmPokeball:7;
|
||||
u32 spriteIdCancelPokeball:7;
|
||||
u32 messageId:14;
|
||||
u8 windowId[3];
|
||||
u8 actions[8];
|
||||
u8 numActions;
|
||||
u16 palBuffer[BG_PLTT_SIZE / sizeof(u16)];
|
||||
s16 data[16];
|
||||
};
|
||||
|
||||
struct PartyMenuBox
|
||||
{
|
||||
const struct PartyMenuBoxInfoRects *infoRects;
|
||||
const u8 *spriteCoords;
|
||||
u8 windowId;
|
||||
u8 monSpriteId;
|
||||
u8 itemSpriteId;
|
||||
u8 pokeballSpriteId;
|
||||
u8 statusSpriteId;
|
||||
};
|
||||
|
||||
void BlitBitmapToPartyWindow_LeftColumn(u8 windowId, u8 x, u8 y, u8 width, u8 height, bool8 isEgg);
|
||||
void BlitBitmapToPartyWindow_RightColumn(u8 windowId, u8 x, u8 y, u8 width, u8 height, bool8 isEgg);
|
||||
void CursorCB_Summary(u8 taskId);
|
||||
void CursorCB_Switch(u8 taskId);
|
||||
void CursorCB_Cancel1(u8 taskId);
|
||||
void CursorCB_Item(u8 taskId);
|
||||
void CursorCB_Give(u8 taskId);
|
||||
void CursorCB_TakeItem(u8 taskId);
|
||||
void CursorCB_Mail(u8 taskId);
|
||||
void CursorCB_Read(u8 taskId);
|
||||
void CursorCB_TakeMail(u8 taskId);
|
||||
void CursorCB_Cancel2(u8 taskId);
|
||||
void CursorCB_SendMon(u8 taskId);
|
||||
void CursorCB_Enter(u8 taskId);
|
||||
void CursorCB_NoEntry(u8 taskId);
|
||||
void CursorCB_Store(u8 taskId);
|
||||
void CursorCB_Register(u8 taskId);
|
||||
void CursorCB_Trade1(u8 taskId);
|
||||
void CursorCB_Trade2(u8 taskId);
|
||||
void CursorCB_FieldMove(u8 taskId);
|
||||
bool8 SetUpFieldMove_Fly(void);
|
||||
bool8 SetUpFieldMove_Waterfall(void);
|
||||
bool8 SetUpFieldMove_Surf(void);
|
||||
|
||||
EWRAM_DATA struct PartyMenuInternal *sPartyMenuInternal = NULL;
|
||||
EWRAM_DATA struct PartyMenu gPartyMenu = {0};
|
||||
EWRAM_DATA struct PartyMenuBox *sPartyMenuBoxes = NULL;
|
||||
EWRAM_DATA u8 *sPartyBgGfxTilemap = NULL;
|
||||
EWRAM_DATA u8 *sPartyBgTilemapBuffer = NULL;
|
||||
EWRAM_DATA bool8 gPartyMenuUseExitCallback = FALSE;
|
||||
EWRAM_DATA u8 gSelectedMonPartyId = 0;
|
||||
EWRAM_DATA MainCallback gPostMenuFieldCallback = NULL;
|
||||
EWRAM_DATA u16 *sSlot1TilemapBuffer = NULL; // for switching party slots
|
||||
EWRAM_DATA u16 *sSlot2TilemapBuffer = NULL;
|
||||
EWRAM_DATA struct Pokemon *gUnknown_203B0D0 = NULL;
|
||||
EWRAM_DATA u8 gSelectedOrderFromParty[4] = {0};
|
||||
EWRAM_DATA u16 sPartyMenuItemId = ITEM_NONE;
|
||||
ALIGNED(4) EWRAM_DATA u8 gBattlePartyCurrentOrder[PARTY_SIZE / 2] = {0}; // bits 0-3 are the current pos of Slot 1, 4-7 are Slot 2, and so on
|
||||
|
||||
void (*gItemUseCB)(u8, TaskFunc);
|
||||
|
||||
#include "data/pokemon/tutor_learnsets.h"
|
||||
#include "data/party_menu.h"
|
||||
Reference in New Issue
Block a user