summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/battle.h22
-rw-r--r--include/battle_message.h2
-rw-r--r--include/constants/battle.h2
-rw-r--r--include/constants/flags.h6
-rw-r--r--include/menu_specialized.h61
-rw-r--r--include/pokenav.h2
6 files changed, 52 insertions, 43 deletions
diff --git a/include/battle.h b/include/battle.h
index 7da040188..78e7b809a 100644
--- a/include/battle.h
+++ b/include/battle.h
@@ -124,22 +124,22 @@ struct ProtectStruct
u32 flinchImmobility:1;
u32 notFirstStrike:1;
u32 palaceUnableToUseMove:1;
- u32 physicalDmg;
- u32 specialDmg;
+ s32 physicalDmg;
+ s32 specialDmg;
u8 physicalBattlerId;
u8 specialBattlerId;
};
struct SpecialStatus
{
- u8 statLowered:1;
- u8 lightningRodRedirected:1;
- u8 restoredBattlerSprite: 1;
- u8 intimidatedMon:1;
- u8 traced:1;
- u8 ppNotAffectedByPressure:1;
- u8 flag40:1;
- u8 focusBanded:1;
+ u32 statLowered:1;
+ u32 lightningRodRedirected:1;
+ u32 restoredBattlerSprite: 1;
+ u32 intimidatedMon:1;
+ u32 traced:1;
+ u32 ppNotAffectedByPressure:1;
+ u32 flag40:1;
+ u32 focusBanded:1;
s32 dmg;
s32 physicalDmg;
s32 specialDmg;
@@ -254,7 +254,7 @@ struct BattleResults
u16 playerMon2Species; // 0x26
u16 caughtMonSpecies; // 0x28
u8 caughtMonNick[POKEMON_NAME_LENGTH + 1]; // 0x2A
- u8 filler35[1]; // 0x35
+ u8 filler35; // 0x35
u8 catchAttempts[11]; // 0x36
};
diff --git a/include/battle_message.h b/include/battle_message.h
index a3f2636e5..011a1cb0c 100644
--- a/include/battle_message.h
+++ b/include/battle_message.h
@@ -274,7 +274,7 @@ extern const u8 gText_PkmnGettingPumped[];
extern const u8 gText_PkmnShroudedInMist[];
extern const u8 gText_PkmnsXPreventsSwitching[];
extern const u8 gText_TheGreatNewHope[];
-extern const u8 gText_WillChampinshipDreamComeTrue[];
+extern const u8 gText_WillChampionshipDreamComeTrue[];
extern const u8 gText_AFormerChampion[];
extern const u8 gText_ThePreviousChampion[];
extern const u8 gText_TheUnbeatenChampion[];
diff --git a/include/constants/battle.h b/include/constants/battle.h
index 8b860e384..fa8f422c4 100644
--- a/include/constants/battle.h
+++ b/include/constants/battle.h
@@ -186,7 +186,7 @@
#define HITMARKER_x4000000 (1 << 26)
#define HITMARKER_CHARGING (1 << 27)
#define HITMARKER_FAINTED(battler) (gBitTable[battler] << 28)
-#define HITMARKER_FAINTED2(battler) (1 << (28 + battler))
+#define HITMARKER_FAINTED2(battler) ((1 << 28) << battler)
// Per-side statuses that affect an entire party
#define SIDE_STATUS_REFLECT (1 << 0)
diff --git a/include/constants/flags.h b/include/constants/flags.h
index 485dd3058..2490a6244 100644
--- a/include/constants/flags.h
+++ b/include/constants/flags.h
@@ -768,7 +768,7 @@
#define FLAG_HIDE_PETALBURG_WOODS_AQUA_GRUNT 0x2D5
#define FLAG_HIDE_PETALBURG_CITY_WALLY 0x2D6
#define FLAG_HIDE_MOSSDEEP_CITY_STEVENS_HOUSE_INVISIBLE_NINJA_BOY 0x2D7
-#define FLAG_HIDE_PETALBURG_CITY_WALLYS_AUNT 0x2D8
+#define FLAG_HIDE_PETALBURG_CITY_WALLYS_MOM 0x2D8
#define FLAG_UNUSED_0x2D9 0x2D9 // Unused Flag
@@ -866,13 +866,13 @@
#define FLAG_HIDE_AQUA_HIDEOUT_1F_GRUNT_1_BLOCKING_ENTRANCE 0x335
#define FLAG_HIDE_AQUA_HIDEOUT_1F_GRUNT_2_BLOCKING_ENTRANCE 0x336
#define FLAG_HIDE_MOSSDEEP_CITY_TEAM_MAGMA 0x337
-#define FLAG_HIDE_PETALBURG_GYM_WALLYS_UNCLE 0x338
+#define FLAG_HIDE_PETALBURG_GYM_WALLYS_DAD 0x338
#define FLAG_HIDE_LEGEND_MON_CAVE_OF_ORIGIN 0x339 // Unused, leftover from R/S
#define FLAG_HIDE_SOOTOPOLIS_CITY_ARCHIE 0x33A
#define FLAG_HIDE_SOOTOPOLIS_CITY_MAXIE 0x33B
#define FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_ARCHIE 0x33C
#define FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_MAXIE 0x33D
-#define FLAG_HIDE_PETALBURG_CITY_WALLYS_UNCLE 0x33E
+#define FLAG_HIDE_PETALBURG_CITY_WALLYS_DAD 0x33E
#define FLAG_HIDE_SEAFLOOR_CAVERN_ROOM_9_MAGMA_GRUNTS 0x33F
#define FLAG_HIDE_LILYCOVE_CONTEST_HALL_BLEND_MASTER 0x340
#define FLAG_HIDE_GRANITE_CAVE_STEVEN 0x341
diff --git a/include/menu_specialized.h b/include/menu_specialized.h
index 14a246468..242e1c6b2 100644
--- a/include/menu_specialized.h
+++ b/include/menu_specialized.h
@@ -5,6 +5,15 @@
#include "player_pc.h"
#include "list_menu.h"
#include "pokemon.h"
+#include "constants/berry.h"
+
+#define TAG_CONDITION_MON 100
+#define TAG_CONDITION_BALL 101
+#define TAG_CONDITION_CANCEL 102
+#define TAG_CONDITION_BALL_PLACEHOLDER 103
+#define TAG_CONDITION_SPARKLE 104
+
+#define MAX_CONDITION_SPARKLES 10
struct UnknownSubStruct_81D1ED4
{
@@ -12,12 +21,12 @@ struct UnknownSubStruct_81D1ED4
u16 unk2;
};
-struct UnknownStruct_81D1ED4
+struct ConditionGraph
{
- /*0x000*/ u8 unk0[4][5];
- /*0x014*/ struct UnknownSubStruct_81D1ED4 unk14[4][5];
- /*0x064*/ struct UnknownSubStruct_81D1ED4 unk64[10][5];
- /*0x12C*/ struct UnknownSubStruct_81D1ED4 unk12C[5];
+ /*0x000*/ u8 unk0[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];
/*0x140*/ u16 unk140[66][2];
/*0x248*/ u16 unk248[66][2];
/*0x350*/ u16 unk350;
@@ -32,35 +41,35 @@ 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 UnknownStruct_81D1ED4 *a0);
-void sub_81D2108(struct UnknownStruct_81D1ED4 *arg0);
+void sub_81D1ED4(struct ConditionGraph *graph);
+void sub_81D2108(struct ConditionGraph *graph);
void sub_81D21DC(u8 bg);
-void sub_81D20AC(struct UnknownStruct_81D1ED4 *arg0);
-void sub_81D2230(struct UnknownStruct_81D1ED4 *arg0);
-bool8 sub_81D20BC(struct UnknownStruct_81D1ED4 *arg0);
-bool32 sub_81D2074(struct UnknownStruct_81D1ED4 *a0);
+void sub_81D20AC(struct ConditionGraph *graph);
+void sub_81D2230(struct ConditionGraph *graph);
+bool8 sub_81D20BC(struct ConditionGraph *graph);
+bool32 TransitionConditionGraph(struct ConditionGraph *graph);
void sub_81D2754(u8 *arg0, struct UnknownSubStruct_81D1ED4 *arg1);
-void sub_81D1F84(struct UnknownStruct_81D1ED4 *arg0, struct UnknownSubStruct_81D1ED4 *arg1, struct UnknownSubStruct_81D1ED4 *arg2);
+void sub_81D1F84(struct ConditionGraph *graph, struct UnknownSubStruct_81D1ED4 *arg1, struct UnknownSubStruct_81D1ED4 *arg2);
void MoveRelearnerPrintText(u8 *str);
bool16 MoveRelearnerRunTextPrinters(void);
void MoveRelearnerCreateYesNoMenu(void);
u8 LoadMoveRelearnerMovesList(const struct ListMenuItem *items, u16 numChoices);
void InitMoveRelearnerWindows(bool8 useContextWindow);
s32 GetBoxOrPartyMonData(u16 boxId, u16 monId, s32 request, u8 *dst);
-void sub_81D2ED4(u8 *dst, u8 *nameDst, u16 boxId, u16 monId, u16 arg5, u16 arg6, bool8 arg7);
-void sub_81D2F78(struct UnknownStruct_81D1ED4 *arg0, u8 *sheen, u16 boxId, u16 monId, u16 arg5, u16 id, u16 arg7, bool8 arg8);
-void sub_81D3094(void *tilesDst, void *palDst, u16 boxId, u16 monId, u16 arg5, u16 arg6, bool8 arg7);
-bool8 sub_81D312C(s16 *var);
-bool8 sub_81D3150(s16 *var);
-bool8 sub_81D3178(struct UnknownStruct_81D1ED4 *arg0, s16 *arg1);
-bool8 sub_81D31A4(struct UnknownStruct_81D1ED4 *arg0, s16 *arg1);
-void sub_81D31D0(struct SpriteSheet *sheet, struct SpriteTemplate *template, struct SpritePalette *pal);
-void sub_81D321C(struct SpriteSheet *sheets, struct SpriteTemplate * template, struct SpritePalette *pals);
-void sub_81D32B0(struct SpriteSheet *sheet, struct SpritePalette *pal);
-void sub_81D3464(struct Sprite **sprites);
-void sub_81D3480(struct Sprite **sprites, u8 arg1, u8 arg2);
-void sub_81D3520(struct Sprite **sprites);
-void sub_81D354C(struct Sprite **sprites);
+void GetConditionMenuMonNameAndLocString(u8 *locationDst, u8 *nameDst, u16 boxId, u16 monId, u16 partyId, u16 numMons, bool8 excludesCancel);
+void GetConditionMenuMonConditions(struct ConditionGraph *graph, u8 *sheen, u16 boxId, u16 monId, u16 partyId, u16 id, u16 numMons, bool8 excludesCancel);
+void GetConditionMenuMonGfx(void *tilesDst, void *palDst, u16 boxId, u16 monId, u16 partyId, u16 numMons, bool8 excludesCancel);
+bool8 MoveConditionMonOnscreen(s16 *x);
+bool8 MoveConditionMonOffscreen(s16 *x);
+bool8 TryUpdateConditionMonTransitionOn(struct ConditionGraph *graph, s16 *x);
+bool8 TryUpdateConditionMonTransitionOff(struct ConditionGraph *graph, s16 *x);
+void LoadConditionMonPicTemplate(struct SpriteSheet *sheet, struct SpriteTemplate *template, struct SpritePalette *pal);
+void LoadConditionSelectionIcons(struct SpriteSheet *sheets, struct SpriteTemplate * template, struct SpritePalette *pals);
+void LoadConditionSparkle(struct SpriteSheet *sheet, struct SpritePalette *pal);
+void ResetConditionSparkleSprites(struct Sprite **sprites);
+void CreateConditionSparkleSprites(struct Sprite **sprites, u8 monSpriteId, u8 count);
+void DestroyConditionSparkleSprites(struct Sprite **sprites);
+void FreeConditionSparkles(struct Sprite **sprites);
void DrawLevelUpWindowPg1(u16 windowId, u16 *statsBefore, u16 *statsAfter, u8 bgClr, u8 fgClr, u8 shadowClr);
void DrawLevelUpWindowPg2(u16 windowId, u16 *currStats, u8 bgClr, u8 fgClr, u8 shadowClr);
void GetMonLevelUpWindowStats(struct Pokemon *mon, u16 *currStats);
diff --git a/include/pokenav.h b/include/pokenav.h
index 3eafe9af2..ac916f3ba 100644
--- a/include/pokenav.h
+++ b/include/pokenav.h
@@ -391,7 +391,7 @@ u32 sub_81CD070(void);
void sub_81CD1C0(void);
bool32 sub_81CD3C4(void);
bool32 sub_81CDD5C(void);
-struct UnknownStruct_81D1ED4 *sub_81CDC70(void);
+struct ConditionGraph *sub_81CDC70(void);
u16 sub_81CDC60(void);
u16 sub_81CDC50(void);
u8 sub_81CDDB0(void);