Merge branch 'master' into reverts
This commit is contained in:
@@ -493,7 +493,7 @@ struct BattleScripting
|
||||
u8 field_20;
|
||||
u8 reshowMainState;
|
||||
u8 reshowHelperState;
|
||||
u8 field_23;
|
||||
u8 levelUpHP;
|
||||
u8 windowsType; // 0 - normal, 1 - battle arena
|
||||
u8 multiplayerId;
|
||||
u8 specialTrainerBattleType;
|
||||
|
||||
@@ -43,7 +43,9 @@ extern const struct BattleFrontierTrainer gBattleFrontierTrainers[];
|
||||
extern const struct FacilityMon gSlateportBattleTentMons[];
|
||||
extern const struct BattleFrontierTrainer gSlateportBattleTentTrainers[];
|
||||
|
||||
extern u16 gUnknown_03006298[];
|
||||
// Temporary storage for monIds of the opponent team
|
||||
// during team generation in battle factory and similar facilities.
|
||||
extern u16 gFrontierTempParty[];
|
||||
|
||||
extern const struct BattleFrontierTrainer *gFacilityTrainers;
|
||||
extern const struct FacilityMon *gFacilityTrainerMons;
|
||||
|
||||
@@ -51,6 +51,11 @@
|
||||
|
||||
// fields 6 and onwards are item-specific arguments
|
||||
|
||||
// Special HP recovery amounts for ITEM4_HEAL_HP
|
||||
#define ITEM6_HEAL_FULL ((u8) -1)
|
||||
#define ITEM6_HEAL_HALF ((u8) -2)
|
||||
#define ITEM6_HEAL_LVL_UP ((u8) -3)
|
||||
|
||||
// Used for GetItemEffectType.
|
||||
#define ITEM_EFFECT_X_ITEM 0
|
||||
#define ITEM_EFFECT_RAISE_LEVEL 1
|
||||
|
||||
@@ -497,6 +497,10 @@
|
||||
#define MAX_PC_ITEM_CAPACITY 999
|
||||
#define MAX_BERRY_CAPACITY 999
|
||||
|
||||
#define BAG_ITEM_CAPACITY_DIGITS 2
|
||||
#define BERRY_CAPACITY_DIGITS 3
|
||||
#define MAX_ITEM_DIGITS BERRY_CAPACITY_DIGITS
|
||||
|
||||
// Secondary IDs for rods
|
||||
#define OLD_ROD 0
|
||||
#define GOOD_ROD 1
|
||||
|
||||
@@ -239,12 +239,12 @@
|
||||
#define UNOWN_FORM_COUNT 28
|
||||
|
||||
// Battle move flags
|
||||
#define FLAG_MAKES_CONTACT 0x1
|
||||
#define FLAG_PROTECT_AFFECTED 0x2
|
||||
#define FLAG_MAGICCOAT_AFFECTED 0x4
|
||||
#define FLAG_SNATCH_AFFECTED 0x8
|
||||
#define FLAG_MIRROR_MOVE_AFFECTED 0x10
|
||||
#define FLAG_KINGSROCK_AFFECTED 0x20
|
||||
#define FLAG_MAKES_CONTACT (1 << 0)
|
||||
#define FLAG_PROTECT_AFFECTED (1 << 1)
|
||||
#define FLAG_MAGICCOAT_AFFECTED (1 << 2)
|
||||
#define FLAG_SNATCH_AFFECTED (1 << 3)
|
||||
#define FLAG_MIRROR_MOVE_AFFECTED (1 << 4)
|
||||
#define FLAG_KINGSROCK_AFFECTED (1 << 5)
|
||||
|
||||
// Growth rates
|
||||
#define GROWTH_MEDIUM_FAST 0
|
||||
@@ -268,22 +268,22 @@
|
||||
|
||||
#define F_SUMMARY_SCREEN_FLIP_SPRITE 0x80
|
||||
|
||||
// Evolution type flags
|
||||
#define EVO_FRIENDSHIP 0x0001 // Pokémon levels up with friendship ≥ 220
|
||||
#define EVO_FRIENDSHIP_DAY 0x0002 // Pokémon levels up during the day with friendship ≥ 220
|
||||
#define EVO_FRIENDSHIP_NIGHT 0x0003 // Pokémon levels up at night with friendship ≥ 220
|
||||
#define EVO_LEVEL 0x0004 // Pokémon reaches the specified level
|
||||
#define EVO_TRADE 0x0005 // Pokémon is traded
|
||||
#define EVO_TRADE_ITEM 0x0006 // Pokémon is traded while it's holding the specified item
|
||||
#define EVO_ITEM 0x0007 // specified item is used on Pokémon
|
||||
#define EVO_LEVEL_ATK_GT_DEF 0x0008 // Pokémon reaches the specified level with attack > defense
|
||||
#define EVO_LEVEL_ATK_EQ_DEF 0x0009 // Pokémon reaches the specified level with attack = defense
|
||||
#define EVO_LEVEL_ATK_LT_DEF 0x000a // Pokémon reaches the specified level with attack < defense
|
||||
#define EVO_LEVEL_SILCOON 0x000b // Pokémon reaches the specified level with a Silcoon personality value
|
||||
#define EVO_LEVEL_CASCOON 0x000c // Pokémon reaches the specified level with a Cascoon personality value
|
||||
#define EVO_LEVEL_NINJASK 0x000d // Pokémon reaches the specified level (special value for Ninjask)
|
||||
#define EVO_LEVEL_SHEDINJA 0x000e // Pokémon reaches the specified level (special value for Shedinja)
|
||||
#define EVO_BEAUTY 0x000f // Pokémon levels up with beauty ≥ specified value
|
||||
// Evolution types
|
||||
#define EVO_FRIENDSHIP 1 // Pokémon levels up with friendship ≥ 220
|
||||
#define EVO_FRIENDSHIP_DAY 2 // Pokémon levels up during the day with friendship ≥ 220
|
||||
#define EVO_FRIENDSHIP_NIGHT 3 // Pokémon levels up at night with friendship ≥ 220
|
||||
#define EVO_LEVEL 4 // Pokémon reaches the specified level
|
||||
#define EVO_TRADE 5 // Pokémon is traded
|
||||
#define EVO_TRADE_ITEM 6 // Pokémon is traded while it's holding the specified item
|
||||
#define EVO_ITEM 7 // specified item is used on Pokémon
|
||||
#define EVO_LEVEL_ATK_GT_DEF 8 // Pokémon reaches the specified level with attack > defense
|
||||
#define EVO_LEVEL_ATK_EQ_DEF 9 // Pokémon reaches the specified level with attack = defense
|
||||
#define EVO_LEVEL_ATK_LT_DEF 10 // Pokémon reaches the specified level with attack < defense
|
||||
#define EVO_LEVEL_SILCOON 11 // Pokémon reaches the specified level with a Silcoon personality value
|
||||
#define EVO_LEVEL_CASCOON 12 // Pokémon reaches the specified level with a Cascoon personality value
|
||||
#define EVO_LEVEL_NINJASK 13 // Pokémon reaches the specified level (special value for Ninjask)
|
||||
#define EVO_LEVEL_SHEDINJA 14 // Pokémon reaches the specified level (special value for Shedinja)
|
||||
#define EVO_BEAUTY 15 // Pokémon levels up with beauty ≥ specified value
|
||||
|
||||
#define EVOS_PER_MON 5
|
||||
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
#define GUARD_DATA_H
|
||||
|
||||
#include "constants/moves.h"
|
||||
#include "constants/species.h"
|
||||
|
||||
#define SPECIES_SHINY_TAG 500
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
#include "constants/global.h"
|
||||
#include "constants/flags.h"
|
||||
#include "constants/vars.h"
|
||||
#include "constants/species.h"
|
||||
|
||||
// Prevent cross-jump optimization.
|
||||
#define BLOCK_CROSS_JUMP asm("");
|
||||
@@ -65,8 +66,6 @@
|
||||
// Converts a Q24.8 fixed-point format number to a regular integer
|
||||
#define Q_24_8_TO_INT(n) ((int)((n) >> 8))
|
||||
|
||||
#define POKEMON_SLOTS_NUMBER 412
|
||||
|
||||
#define min(a, b) ((a) < (b) ? (a) : (b))
|
||||
#define max(a, b) ((a) >= (b) ? (a) : (b))
|
||||
|
||||
@@ -115,7 +114,7 @@
|
||||
|
||||
#define ROUND_BITS_TO_BYTES(numBits)(((numBits) / 8) + (((numBits) % 8) ? 1 : 0))
|
||||
|
||||
#define DEX_FLAGS_NO (ROUND_BITS_TO_BYTES(POKEMON_SLOTS_NUMBER))
|
||||
#define DEX_FLAGS_NO (ROUND_BITS_TO_BYTES(NUM_SPECIES))
|
||||
#define NUM_FLAG_BYTES (ROUND_BITS_TO_BYTES(FLAGS_COUNT))
|
||||
|
||||
struct Coords8
|
||||
|
||||
@@ -23,7 +23,7 @@ struct UnknownSubStruct_81D1ED4
|
||||
|
||||
struct ConditionGraph
|
||||
{
|
||||
/*0x000*/ u8 unk0[4][FLAVOR_COUNT];
|
||||
/*0x000*/ u8 stat[4][FLAVOR_COUNT];
|
||||
/*0x014*/ struct UnknownSubStruct_81D1ED4 unk14[4][FLAVOR_COUNT];
|
||||
/*0x064*/ struct UnknownSubStruct_81D1ED4 unk64[10][FLAVOR_COUNT];
|
||||
/*0x12C*/ struct UnknownSubStruct_81D1ED4 unk12C[FLAVOR_COUNT];
|
||||
@@ -32,7 +32,7 @@ struct ConditionGraph
|
||||
/*0x350*/ u16 unk350;
|
||||
/*0x352*/ u16 unk352;
|
||||
/*0x354*/ u8 unk354;
|
||||
/*0x355*/ u8 unk355;
|
||||
/*0x355*/ u8 state;
|
||||
};
|
||||
|
||||
bool8 sub_81D1C44(u8 count);
|
||||
@@ -41,12 +41,12 @@ u8 sub_81D1DC0(struct PlayerPCItemPageStruct *page);
|
||||
void sub_81D1E90(struct PlayerPCItemPageStruct *page);
|
||||
void sub_81D1EC0(void);
|
||||
void sub_81D1D04(u8 a0);
|
||||
void sub_81D1ED4(struct ConditionGraph *graph);
|
||||
void InitConditionGraphData(struct ConditionGraph *graph);
|
||||
void sub_81D2108(struct ConditionGraph *graph);
|
||||
void sub_81D21DC(u8 bg);
|
||||
void sub_81D20AC(struct ConditionGraph *graph);
|
||||
void SetConditionGraphIOWindows(u8 bg);
|
||||
void InitConditionGraphState(struct ConditionGraph *graph);
|
||||
void sub_81D2230(struct ConditionGraph *graph);
|
||||
bool8 sub_81D20BC(struct ConditionGraph *graph);
|
||||
bool8 SetupConditionGraphScanlineParams(struct ConditionGraph *graph);
|
||||
bool32 TransitionConditionGraph(struct ConditionGraph *graph);
|
||||
void sub_81D2754(u8 *arg0, struct UnknownSubStruct_81D1ED4 *arg1);
|
||||
void sub_81D1F84(struct ConditionGraph *graph, struct UnknownSubStruct_81D1ED4 *arg1, struct UnknownSubStruct_81D1ED4 *arg2);
|
||||
|
||||
@@ -29,8 +29,8 @@ bool8 sub_811F960(void);
|
||||
void sub_811FA90(void);
|
||||
void sub_811FAA4(u8 markings, s16 x, s16 y);
|
||||
void sub_811FAF8(void);
|
||||
bool8 sub_811FBA4(void);
|
||||
struct Sprite *sub_811FF94(u16 tileTag, u16 paletteTag, const u16 *palette);
|
||||
bool8 MonMarkingsMenuHandleInput(void);
|
||||
struct Sprite *CreateMonMarkingsSpriteWithPal(u16 tileTag, u16 paletteTag, const u16 *palette);
|
||||
struct Sprite *sub_811FFB4(u16 tileTag, u16 paletteTag, const u16 *palette);
|
||||
void sub_8120084(u8 markings, void *dest);
|
||||
|
||||
|
||||
@@ -27,17 +27,17 @@ struct PokenavListTemplate
|
||||
struct PokenavMonList *monList;
|
||||
struct PokenavMatchCallEntries *matchCallEntries;
|
||||
} list;
|
||||
u16 unk4;
|
||||
u16 count;
|
||||
u16 unk6;
|
||||
u8 unk8;
|
||||
u8 unk9;
|
||||
u8 unkA;
|
||||
u8 unkB;
|
||||
u8 unkC;
|
||||
u8 unkD;
|
||||
u8 unkE;
|
||||
u8 item_X;
|
||||
u8 windowWidth;
|
||||
u8 listTop;
|
||||
u8 maxShowed;
|
||||
u8 fillValue;
|
||||
u8 fontId;
|
||||
union {
|
||||
void (*unk10_1)(struct PokenavMonList *, u8 *a1);
|
||||
void (*printMonFunc)(struct PokenavMonList *item, u8 *dest);
|
||||
void (*unk10_2)(struct PokenavMatchCallEntries *, u8 *a1);
|
||||
} listFunc;
|
||||
void (*unk14)(u16 a0, u32 a1, u32 a2);
|
||||
@@ -45,9 +45,9 @@ struct PokenavListTemplate
|
||||
|
||||
struct PokenavSub18
|
||||
{
|
||||
u16 unk0;
|
||||
u16 unk2;
|
||||
struct PokenavMonList unk4[TOTAL_BOXES_COUNT * IN_BOX_COUNT + PARTY_SIZE];
|
||||
u16 listCount;
|
||||
u16 currIndex;
|
||||
struct PokenavMonList monData[TOTAL_BOXES_COUNT * IN_BOX_COUNT + PARTY_SIZE];
|
||||
};
|
||||
|
||||
// Return values of LoopedTask functions.
|
||||
@@ -65,6 +65,31 @@ enum
|
||||
POKENAV_MODE_FORCE_CALL_EXIT, // Pokenav tutorial after calling Mr. Stone
|
||||
};
|
||||
|
||||
// TODO - refine these names
|
||||
enum Substructures
|
||||
{
|
||||
POKENAV_SUBSTRUCT_MAIN_MENU,
|
||||
POKENAV_SUBSTRUCT_MAIN_MENU_HANDLER,
|
||||
POKENAV_SUBSTRUCT_MENU_ICONS,
|
||||
POKENAV_SUBSTRUCT_REGION_MAP_STATE,
|
||||
POKENAV_SUBSTRUCT_REGION_MAP_ZOOM,
|
||||
POKENAV_SUBSTRUCT_MATCH_CALL_MAIN,
|
||||
POKENAV_SUBSTRUCT_MATCH_CALL_OPEN,
|
||||
POKENAV_SUBSTRUCT_CONDITION_SEARCH_RESULTS,
|
||||
POKENAV_SUBSTRUCT_CONDITION_SEARCH_RESULT_LIST,
|
||||
POKENAV_SUBSTRUCT_RIBBONS_MON_LIST,
|
||||
POKENAV_SUBSTRUCT_RIBBONS_MON_MENU,
|
||||
POKENAV_SUBSTRUCT_CONDITION_GRAPH,
|
||||
POKENAV_SUBSTRUCT_MON_MARK_MENU,
|
||||
POKENAV_SUBSTRUCT_RIBBONS_SUMMARY_LIST,
|
||||
POKENAV_SUBSTRUCT_RIBBONS_SUMMARY_MENU,
|
||||
POKENAV_SUBSTRUCT_15, //unused
|
||||
POKENAV_SUBSTRUCT_REGION_MAP,
|
||||
POKENAV_SUBSTRUCT_MATCH_CALL_LIST,
|
||||
POKENAV_SUBSTRUCT_MON_LIST,
|
||||
POKENAV_SUBSTRUCT_COUNT,
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
POKENAV_GFX_MAIN_MENU,
|
||||
@@ -97,12 +122,12 @@ enum
|
||||
POKENAV_REGION_MAP,
|
||||
POKENAV_CONDITION_PARTY,
|
||||
POKENAV_CONDITION_SEARCH_RESULTS,
|
||||
POKENAV_MENU_9, // Condition
|
||||
POKENAV_MENU_A, // Condition
|
||||
POKENAV_CONDITION_GRAPH_FROM_SEARCH, // opening condition graph from search list
|
||||
POKENAV_RETURN_CONDITION_SEARCH, //return to search list from condition graph
|
||||
POKENAV_MATCH_CALL,
|
||||
POKENAV_RIBBONS_MON_LIST,
|
||||
POKENAV_MENU_D, // Ribbons
|
||||
POKENAV_MENU_E, // Ribbons
|
||||
POKENAV_RIBBONS_SUMMARY_SCREEN,
|
||||
POKENAV_RIBBONS_RETURN_TO_MON_LIST,
|
||||
};
|
||||
|
||||
enum
|
||||
@@ -207,7 +232,7 @@ enum
|
||||
// Pokenav Function IDs
|
||||
// Indices into the LoopedTask tables for each of the main Pokenav features
|
||||
|
||||
enum
|
||||
enum RegionMapFuncIds
|
||||
{
|
||||
POKENAV_MENU_FUNC_NONE,
|
||||
POKENAV_MENU_FUNC_MOVE_CURSOR,
|
||||
@@ -220,6 +245,19 @@ enum
|
||||
POKENAV_MENU_FUNC_OPEN_FEATURE,
|
||||
};
|
||||
|
||||
enum PartyConditionFuncIds
|
||||
{
|
||||
PARTY_CONDITION_FUNC_NONE,
|
||||
PARTY_CONDITION_FUNC_SLIDE_MON_IN,
|
||||
PARTY_CONDITION_FUNC_RETURN,
|
||||
PARTY_CONDITION_FUNC_NO_TRANSITION,
|
||||
PARTY_CONDITION_FUNC_SLIDE_MON_OUT,
|
||||
PARTY_CONDITION_FUNC_ADD_MARKINGS,
|
||||
PARTY_CONDITION_FUNC_CLOSE_MARKINGS,
|
||||
};
|
||||
|
||||
#define POKENAV_MENU_FUNC_EXIT -1
|
||||
|
||||
enum
|
||||
{
|
||||
POKENAV_MC_FUNC_NONE,
|
||||
@@ -268,17 +306,17 @@ void SetPokenavVBlankCallback(void);
|
||||
void SetVBlankCallback_(IntrCallback callback);
|
||||
|
||||
// pokenav_match_call_ui.c
|
||||
u32 GetSelectedMatchCall(void);
|
||||
u32 GetSelectedPokenavListIndex(void);
|
||||
bool32 sub_81C8224(void);
|
||||
int MatchCall_MoveCursorUp(void);
|
||||
int MatchCall_MoveCursorDown(void);
|
||||
int MatchCall_PageDown(void);
|
||||
int MatchCall_PageUp(void);
|
||||
bool32 sub_81C8630(void);
|
||||
bool32 IsMonListLoopedTaskActive(void);
|
||||
void ToggleMatchCallVerticalArrows(bool32 shouldHide);
|
||||
void sub_81C8838(void);
|
||||
void sub_81C877C(void);
|
||||
bool32 sub_81C8820(void);
|
||||
bool32 IsMatchCallListTaskActive(void);
|
||||
void PrintCheckPageInfo(s16 a0);
|
||||
u32 GetMatchCallListTopIndex(void);
|
||||
void sub_81C87F0(void);
|
||||
@@ -300,30 +338,30 @@ void MatchCall_GetNameAndDesc(u32 idx, const u8 **desc, const u8 **name);
|
||||
// pokenav_main_menu.c
|
||||
bool32 InitPokenavMainMenu(void);
|
||||
void CopyPaletteIntoBufferUnfaded(const u16 *palette, u32 bufferOffset, u32 size);
|
||||
void sub_81C7850(u32 a0);
|
||||
u32 sub_81C786C(void);
|
||||
void RunMainMenuLoopedTask(u32 a0);
|
||||
u32 IsActiveMenuLoopTaskActive(void);
|
||||
void LoadLeftHeaderGfxForIndex(u32 arg0);
|
||||
void sub_81C7FA0(u32 arg0, bool32 arg1, bool32 arg2);
|
||||
void ShowLeftHeaderGfx(u32 menugfxId, bool32 arg1, bool32 isOnRightSide);
|
||||
void PokenavFadeScreen(s32 fadeType);
|
||||
bool32 sub_81C8010(void);
|
||||
bool32 AreLeftHeaderSpritesMoving(void);
|
||||
void InitBgTemplates(const struct BgTemplate *templates, int count);
|
||||
bool32 IsPaletteFadeActive(void);
|
||||
void PrintHelpBarText(u32 textId);
|
||||
bool32 WaitForHelpBar(void);
|
||||
void sub_81C78A0(void);
|
||||
void SlideMenuHeaderDown(void);
|
||||
bool32 MainMenuLoopedTaskIsBusy(void);
|
||||
void sub_81C7FDC(void);
|
||||
void sub_81C79BC(const u16 *a0, const u16 *a1, int a2, int a3, int a4, u16 *palette);
|
||||
void SetLeftHeaderSpritesInvisibility(void);
|
||||
void PokenavCopyPalette(const u16 *a0, const u16 *a1, int a2, int a3, int a4, u16 *palette);
|
||||
void sub_81C7B40(void);
|
||||
struct Sprite *PauseSpinningPokenavSprite(void);
|
||||
void ResumeSpinningPokenavSprite(void);
|
||||
void sub_81C7E14(u32 arg0);
|
||||
void sub_81C7FC4(u32 arg0, bool32 arg1);
|
||||
void sub_81C7880(void);
|
||||
void sub_81C7990(u32 a0, u16 a1);
|
||||
void UpdateRegionMapRightHeaderTiles(u32 arg0);
|
||||
void HideMainOrSubMenuLeftHeader(u32 id, bool32 onRightSide);
|
||||
void SlideMenuHeaderUp(void);
|
||||
void PokenavFillPalette(u32 palIndex, u16 fillValue);
|
||||
u32 PokenavMainMenuLoopedTaskIsActive(void);
|
||||
bool32 WaitForPokenavShutdownFade(void);
|
||||
void sub_81C7834(void *func1, void *func2);
|
||||
void SetActiveMenuLoopTasks(void *func1, void *func2);
|
||||
void ShutdownPokenav(void);
|
||||
|
||||
// pokenav_menu_handler_1.c
|
||||
@@ -345,7 +383,7 @@ bool32 OpenPokenavMenuNotInitial(void);
|
||||
void CreateMenuHandlerLoopedTask(s32 ltIdx);
|
||||
bool32 IsMenuHandlerLoopedTaskActive(void);
|
||||
void FreeMenuHandlerSubstruct2(void);
|
||||
void sub_81CAADC(void);
|
||||
void ResetBldCnt_(void);
|
||||
|
||||
// pokenav_match_call_1.c
|
||||
bool32 PokenavCallback_Init_MatchCall(void);
|
||||
@@ -364,7 +402,7 @@ const u8 *GetMatchCallMessageText(int index, u8 *arg1);
|
||||
u16 GetMatchCallOptionCursorPos(void);
|
||||
u16 GetMatchCallOptionId(int arg0);
|
||||
void BufferMatchCallNameAndDesc(struct PokenavMatchCallEntries * arg0, u8 *str);
|
||||
u8 sub_81CB0C8(int rematchIndex);
|
||||
u8 GetMatchTableMapSectionId(int rematchIndex);
|
||||
int GetIndexDeltaOfNextCheckPageDown(int index);
|
||||
int GetIndexDeltaOfNextCheckPageUp(int index);
|
||||
bool32 IsRematchEntryRegistered(int index);
|
||||
@@ -385,60 +423,60 @@ void FreeRegionMapSubstruct1(void);
|
||||
void FreeRegionMapSubstruct2(void);
|
||||
|
||||
// pokenav_conditions_1.c
|
||||
u32 PokenavCallback_Init_7(void);
|
||||
u32 PokenavCallback_Init_9(void);
|
||||
u32 sub_81CD070(void);
|
||||
void sub_81CD1C0(void);
|
||||
bool32 sub_81CD3C4(void);
|
||||
bool32 sub_81CDD5C(void);
|
||||
struct ConditionGraph *sub_81CDC70(void);
|
||||
u16 sub_81CDC60(void);
|
||||
u16 sub_81CDC50(void);
|
||||
u8 sub_81CDDB0(void);
|
||||
bool32 sub_81CD548(u8 arg0);
|
||||
u8 sub_81CDD7C(void);
|
||||
u8 *sub_81CDD04(u8 id);
|
||||
u8 *sub_81CDD24(u8 id);
|
||||
u16 sub_81CDD48(void);
|
||||
void *sub_81CDCB4(u8 id);
|
||||
void *sub_81CDCD4(u8 id);
|
||||
u32 PokenavCallback_Init_PartyCondition(void);
|
||||
u32 PokenavCallback_Init_ConditionGraphFromSearch(void);
|
||||
u32 GetPartyConditionCallback(void);
|
||||
void FreePartyConditionSubstruct1(void);
|
||||
bool32 LoadPartyConditionMenuGfx(void);
|
||||
bool32 IsConditionMenuSearchMode(void);
|
||||
struct ConditionGraph *GetConditionGraphDataPtr(void);
|
||||
u16 GetConditionGraphCurrentMonIndex(void);
|
||||
u16 GetMonListCount(void);
|
||||
u8 GetMonSheen(void);
|
||||
bool32 SetConditionGraphData(u8 arg0);
|
||||
u8 TryGetMonMarkId(void);
|
||||
u8 *GetConditionMonNameBuffer(u8 id);
|
||||
u8 *GetConditionMonLocationBuffer(u8 id);
|
||||
u16 GetConditionMonDataBuffer(void);
|
||||
void *GetConditionMonPicGfx(u8 id);
|
||||
void *GetConditionMonPal(u8 id);
|
||||
|
||||
// pokenav_conditions_2.c
|
||||
bool32 sub_81CDDD4(void);
|
||||
void sub_81CDE2C(s32);
|
||||
u32 sub_81CDE64(void);
|
||||
void sub_81CECA0(void);
|
||||
u8 sub_81CEF14(void);
|
||||
bool32 OpenPartyConditionMenu(void);
|
||||
void CreatePartyConditionLoopedTask(s32);
|
||||
u32 IsPartyConditionLoopedTaskActive(void);
|
||||
void FreePartyConditionSubstruct2(void);
|
||||
u8 GetMonMarkingsData(void);
|
||||
|
||||
// pokenav_conditions_3.c
|
||||
u32 PokenavCallback_Init_8(void);
|
||||
u32 PokenavCallback_Init_10(void);
|
||||
u32 sub_81CEFDC(void);
|
||||
void sub_81CEFF0(void);
|
||||
bool32 sub_81CF330(void);
|
||||
bool32 sub_81CF368(void);
|
||||
void sub_81CF3A0(s32);
|
||||
u32 sub_81CF3D0(void);
|
||||
void sub_81CF3F8(void);
|
||||
u32 PokenavCallback_Init_ConditionSearch(void);
|
||||
u32 PokenavCallback_Init_ReturnToMonSearchList(void);
|
||||
u32 GetConditionSearchResultsCallback(void);
|
||||
void FreeSearchResultSubstruct1(void);
|
||||
bool32 OpenConditionSearchResults(void);
|
||||
bool32 OpenConditionSearchListFromGraph(void);
|
||||
void CreateSearchResultsLoopedTask(s32);
|
||||
u32 IsSearchResultLoopedTaskActive(void);
|
||||
void FreeSearchResultSubstruct2(void);
|
||||
|
||||
// pokenav_ribbons_1.c
|
||||
u32 PokenavCallback_Init_12(void);
|
||||
u32 PokenavCallback_Init_14(void);
|
||||
u32 sub_81CFA34(void);
|
||||
void sub_81CFA48(void);
|
||||
bool32 sub_81CFDD0(void);
|
||||
bool32 sub_81CFE08(void);
|
||||
void sub_81CFE40(s32);
|
||||
u32 sub_81CFE70(void);
|
||||
void sub_81CFE98(void);
|
||||
u32 PokenavCallback_Init_MonRibbonList(void);
|
||||
u32 PokenavCallback_Init_RibbonsMonListFromSummary(void);
|
||||
u32 GetRibbonsMonListCallback(void);
|
||||
void FreeRibbonsMonList1(void);
|
||||
bool32 OpenRibbonsMonList(void);
|
||||
bool32 OpenRibbonsMonListFromRibbonsSummary(void);
|
||||
void CreateRibbonsMonListLoopedTask(s32);
|
||||
u32 IsRibbonsMonListLoopedTaskActive(void);
|
||||
void FreeRibbonsMonList2(void);
|
||||
|
||||
// pokenav_ribbons_2.c
|
||||
u32 PokenavCallback_Init_13(void);
|
||||
u32 sub_81D04A0(void);
|
||||
void sub_81D04B8(void);
|
||||
bool32 sub_81D0978(void);
|
||||
void sub_81D09B0(s32);
|
||||
u32 sub_81D09E0(void);
|
||||
void sub_81D09F4(void);
|
||||
u32 PokenavCallback_Init_RibbonsSummaryMenu(void);
|
||||
u32 GetRibbonsSummaryMenuCallback(void);
|
||||
void FreeRibbonsSummaryScreen1(void);
|
||||
bool32 OpenRibbonsSummaryMenu(void);
|
||||
void CreateRibbonsSummaryLoopedTask(s32);
|
||||
u32 IsRibbonsSummaryLoopedTaskActive(void);
|
||||
void FreeRibbonsSummaryScreen2(void);
|
||||
|
||||
#endif // GUARD_POKENAV_H
|
||||
|
||||
@@ -8,10 +8,10 @@ struct TrainerHillTrainer
|
||||
u8 name[HILL_TRAINER_NAME_LENGTH];
|
||||
u8 facilityClass;
|
||||
u32 unused;
|
||||
u16 speechBefore[6];
|
||||
u16 speechWin[6];
|
||||
u16 speechLose[6];
|
||||
u16 speechAfter[6];
|
||||
u16 speechBefore[EASY_CHAT_BATTLE_WORDS_COUNT];
|
||||
u16 speechWin[EASY_CHAT_BATTLE_WORDS_COUNT];
|
||||
u16 speechLose[EASY_CHAT_BATTLE_WORDS_COUNT];
|
||||
u16 speechAfter[EASY_CHAT_BATTLE_WORDS_COUNT];
|
||||
struct BattleTowerPokemon mons[PARTY_SIZE];
|
||||
};
|
||||
|
||||
@@ -23,11 +23,19 @@ struct TrHillRoomTrainers
|
||||
|
||||
struct TrHillDisplay
|
||||
{
|
||||
u8 data[0x100];
|
||||
u16 unk3A0[16];
|
||||
u8 coords[2]; // x first 4 bits, y last 4 bits
|
||||
u8 direction; // array of 4 bits for each trainer
|
||||
u8 range; // array of 4 bits for each trainer
|
||||
// Metatile data. Add 0x200 to the values in this array to get metatiles.
|
||||
// This data then overwrites the metatiles in the map starting at (0,5)
|
||||
u8 metatileData[0x100];
|
||||
// Collision data. One bit for each tile in column-major order,
|
||||
// so every array entry is one row. 1 = impassable, 0 = passable
|
||||
u16 collisionData[16];
|
||||
// Trainer coordinates, starting at (0,6). Format is 0bYYYYXXXX.
|
||||
u8 coords[2];
|
||||
// Trainer facing directions. Same as (DIR_* - 1).
|
||||
// Effectively an array of nibbles, one for each trainer.
|
||||
u8 direction;
|
||||
// Trainer sight ranges. Effectively an array of nibbles, one for each trainer.
|
||||
u8 range;
|
||||
};
|
||||
|
||||
struct TrHillFloor
|
||||
|
||||
Reference in New Issue
Block a user