summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/battle.h45
-rw-r--r--include/battle_message.h44
-rw-r--r--include/ewram.h1
-rw-r--r--include/pokemon.h2
4 files changed, 70 insertions, 22 deletions
diff --git a/include/battle.h b/include/battle.h
index 878e7cfc6..1881069b4 100644
--- a/include/battle.h
+++ b/include/battle.h
@@ -310,6 +310,15 @@ struct LinkBattleCommunicationHeader
u8 data[0];
};
+struct ChooseMoveStruct {
+ u16 moves[4];
+ u8 currentPp[4];
+ u8 maxPp[4];
+ u16 species;
+ u8 monType1;
+ u8 monType2;
+};
+
struct BattleStruct /* 0x2000000 */
{
u8 filler00000[0x14000];
@@ -325,9 +334,9 @@ struct BattleStruct /* 0x2000000 */
/*0x1600E*/ u8 turnCountersTracker;
/*0x1600F*/ u8 getexpStateTracker;
/*0x16010*/ u8 moveTarget[MAX_BATTLERS_COUNT];
- /*0x16014*/ u32 unk16014;
+ /*0x16014*/ u32 painSplitHP;
/*0x16018*/ u8 expGetterMonId;
- /*0x16019*/ u8 unk16019;
+ /*0x16019*/ u8 unk16019; // unused
/*0x1601A*/ u8 atk5A_StateTracker; //also atk5B, statetracker
/*0x1601B*/ u8 wildVictorySong;
/*0x1601C*/ u8 dynamicMoveType;
@@ -336,18 +345,17 @@ struct BattleStruct /* 0x2000000 */
/*0x1601F*/ u8 dmgMultiplier;
/*0x16020*/ u8 wrappedBy[MAX_BATTLERS_COUNT];
/*0x16024*/ u16 assistMove[PARTY_SIZE * MAX_MON_MOVES];
- /*0x16054*/ u8 unk16054;
- /*0x16055*/ u8 unk16055;
+ /*0x16054*/ u8 battlerPreventingSwitchout;
+ /*0x16055*/ u8 unk16055; // unused
/*0x16056*/ u8 moneyMultiplier;
- /*0x16057*/ u8 unk16057;
- /*0x16058*/ u8 unk16058;
- /*0x16059*/ u8 sub80173A4_Tracker;
- /*0x1605A*/ u8 unk1605A;
- /*0x1605B*/ u8 unk1605B;
+ /*0x16057*/ u8 savedTurnActionNumber;
+ /*0x16058*/ u8 switchInAbilitiesCounter;
+ /*0x16059*/ u8 faintedActionsState;
+ /*0x1605A*/ u8 faintedActionsBattlerId;
/*0x1605C*/ u16 exp;
/*0x1605E*/ u8 unk1605E;
/*0x1605F*/ u8 sentInPokes;
- /*0x16060*/ u8 unk16060[MAX_BATTLERS_COUNT];
+ /*0x16060*/ u8 selectionScriptFinished[MAX_BATTLERS_COUNT];
/*0x16064*/ u8 unk16064[MAX_BATTLERS_COUNT];
/*0x16068*/ u8 monToSwitchIntoId[MAX_BATTLERS_COUNT];
/*0x1606C*/ u8 unk1606C[MAX_BATTLERS_COUNT][3];
@@ -359,26 +367,23 @@ struct BattleStruct /* 0x2000000 */
/*0x16087*/ u8 safariPkblThrowCounter;
/*0x16088*/ u8 safariFleeRate;
/*0x16089*/ u8 safariCatchFactor;
- /*0x1608A*/ u8 unk1608A;
- /*0x1608B*/ u8 unk1608B;
+ /*0x1608A*/ u8 linkBattleVsSpriteId_V;
+ /*0x1608B*/ u8 linkBattleVsSpriteId_S;
/*0x1608C*/ u8 ChosenMoveID[MAX_BATTLERS_COUNT];
/*0x16090*/ s32 bideDmg;
- /*0x16094*/ u8 unk16094[4];
- /*0x16098*/ u8 unk16098;
- /*0x16099*/ u8 unk16099;
- /*0x1609A*/ u8 unk1609a;
+ /*0x16094*/ u8 stateIdAfterSelScript[4];
+ /*0x16098*/ u8 unk16098[3]; // unused
/*0x1609B*/ u8 castformToChangeInto;
/*0x1609C*/ u8 atk6C_statetracker;
/*0x1609D*/ u8 unk1609D;
- /*0x1609E*/ u8 unk1609E;
- /*0x1609F*/ u8 unk1609F;
+ /*0x1609E*/ u8 unk1609E[2]; // debug
/*0x160A0*/ u8 stringMoveType;
/*0x160A1*/ u8 animTargetsHit;
/*0x160A2*/ u8 expGetterBattlerId;
/*0x160A3*/ u8 unk160A3;
/*0x160A4*/ u8 animArg1;
/*0x160A5*/ u8 animArg2;
- /*0x160A6*/ u8 unk160A6;
+ /*0x160A6*/ u8 unk160A6; // related to gAbsentBattlerFlags, possibly absent flags turn ago?
/*0x160A7*/ u8 unk160A7;
/*0x160A8*/ u8 unk160A8;
/*0x160A9*/ u8 unk160A9;
@@ -386,7 +391,7 @@ struct BattleStruct /* 0x2000000 */
/*0x160AB*/ u8 unk160AB;
/*0x160AC*/ u16 lastTakenMove[2 * 2 * 2];
/*0x160BC*/ u16 HP_OnSwitchout[2];
- /*0x160C0*/ u8 unk160C0;
+ /*0x160C0*/ u8 abilityPreventingSwitchout;
/*0x160C1*/ u8 hpScale;
/*0x160C2*/ u16 unk160C2;
/*0x160C4*/ MainCallback unk160C4;
diff --git a/include/battle_message.h b/include/battle_message.h
index 97a42bbf8..b4e46cfe7 100644
--- a/include/battle_message.h
+++ b/include/battle_message.h
@@ -18,6 +18,50 @@ struct StringInfoBattle
u8 textBuffs[3][0x10];
};
+#define B_TXT_BUFF1 0x0
+#define B_TXT_BUFF2 0x1
+#define B_TXT_PLAYER_MON1_NAME 0x2
+#define B_TXT_OPPONENT_MON1_NAME 0x3
+#define B_TXT_PLAYER_MON2_NAME 0x4
+#define B_TXT_OPPONENT_MON2_NAME 0x5
+#define B_TXT_LINK_PLAYER_MON1_NAME 0x6
+#define B_TXT_LINK_OPPONENT_MON1_NAME 0x7
+#define B_TXT_LINK_PLAYER_MON2_NAME 0x8
+#define B_TXT_LINK_OPPONENT_MON2_NAME 0x9
+#define B_TXT_ATK_NAME_WITH_PREFIX_MON1 0xA
+#define B_TXT_ATK_PARTNER_NAME 0xB
+#define B_TXT_ATK_NAME_WITH_PREFIX 0xC
+#define B_TXT_DEF_NAME_WITH_PREFIX 0xD
+#define B_TXT_EFF_NAME_WITH_PREFIX 0xE // EFF = short for gEffectBank
+#define B_TXT_ACTIVE_NAME_WITH_PREFIX 0xF
+#define B_TXT_SCR_ACTIVE_NAME_WITH_PREFIX 0x10
+#define B_TXT_CURRENT_MOVE 0x11
+#define B_TXT_LAST_MOVE 0x12
+#define B_TXT_LAST_ITEM 0x13
+#define B_TXT_LAST_ABILITY 0x14
+#define B_TXT_ATK_ABILITY 0x15
+#define B_TXT_DEF_ABILITY 0x16
+#define B_TXT_SCR_ACTIVE_ABILITY 0x17
+#define B_TXT_EFF_ABILITY 0x18
+#define B_TXT_TRAINER1_CLASS 0x19
+#define B_TXT_TRAINER1_NAME 0x1A
+#define B_TXT_LINK_PLAYER_NAME 0x1B
+#define B_TXT_LINK_PARTNER_NAME 0x1C
+#define B_TXT_LINK_OPPONENT1_NAME 0x1D
+#define B_TXT_LINK_OPPONENT2_NAME 0x1E
+#define B_TXT_LINK_SCR_TRAINER_NAME 0x1F
+#define B_TXT_PLAYER_NAME 0x20
+#define B_TXT_TRAINER1_LOSE_TEXT 0x21
+#define B_TXT_22 0x22
+#define B_TXT_PC_CREATOR_NAME 0x23
+#define B_TXT_ATK_PREFIX1 0x24
+#define B_TXT_DEF_PREFIX1 0x25
+#define B_TXT_ATK_PREFIX2 0x26
+#define B_TXT_DEF_PREFIX2 0x27
+#define B_TXT_ATK_PREFIX3 0x28
+#define B_TXT_DEF_PREFIX3 0x29
+#define B_TXT_BUFF3 0x2A
+
// for B_TXT_BUFF1, B_TXT_BUFF2 and B_TXT_BUFF3
#define B_BUFF_STRING 0
diff --git a/include/ewram.h b/include/ewram.h
index 79d813a5d..abba5db3f 100644
--- a/include/ewram.h
+++ b/include/ewram.h
@@ -2,7 +2,6 @@
#define GUARD_EWRAM_H
extern u8 gSharedMem[];
-#define ewram_addr EWRAM // used in gSharedMem addr hacks
// Note: we have duplicate ewram labels because its clear some memory
// regions overlap others but have different definitions. Until some
diff --git a/include/pokemon.h b/include/pokemon.h
index 57da75e16..0d99ed5e8 100644
--- a/include/pokemon.h
+++ b/include/pokemon.h
@@ -501,7 +501,7 @@ const u8 *GetMonSpritePal(struct Pokemon *mon);
const u8 *GetMonSpritePalFromOtIdPersonality(u16, u32, u32);
const struct CompressedSpritePalette *GetMonSpritePalStructFromOtIdPersonality(u16, u32, u32);
bool8 IsOtherTrainer(u32, u8 *);
-void sub_8040B8C(void);
+void SetMonPreventsSwitchingString(void);
void SetWildMonHeldItem(void);
u8 *sub_8040D08();
bool32 ShouldHideGenderIconForLanguage(u16 species, u8 *name, u8 language);