summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/battle.h25
-rw-r--r--include/party_menu.h16
-rw-r--r--include/pokemon.h14
3 files changed, 32 insertions, 23 deletions
diff --git a/include/battle.h b/include/battle.h
index afebbc781..5956595cc 100644
--- a/include/battle.h
+++ b/include/battle.h
@@ -281,13 +281,22 @@ struct AI_Stack
u8 size;
};
+struct LinkPartnerHeader
+{
+ u8 versionSignatureLo;
+ u8 versionSignatureHi;
+ u8 vsScreenHealthFlagsLo;
+ u8 vsScreenHealthFlagsHi;
+ struct BattleEnigmaBerry battleEnigmaBerry;
+};
+
struct BattleStruct /* 0x2000000 */
{
- /*0x00000*/ u8 unk0;
- /*0x00001*/ bool8 unk1;
- /*0x00002*/ u8 unk2;
- /*0x00003*/ bool8 unk3;
- u8 filler4[0x15DDA];
+ /*0x00000*/ union{
+ struct LinkPartnerHeader linkPartnerHeader;
+ struct MultiBattlePokemonTx multiBattleMons[3];
+ } multiBuffer;
+ u8 filler60[0x15D7E];
/*0x15DDE*/ u8 unk15DDE;
/*0x15DDF*/ u8 unk15DDF;
/*0x15DE0*/ u8 filler15DE0[0x220];
@@ -393,7 +402,7 @@ struct BattleStruct /* 0x2000000 */
/*0x160C7*/ u8 unk160C7;
/*0x160C8*/ u8 AI_monToSwitchIntoId[2];
/*0x160CA*/ u8 synchroniseEffect;
- /*0x160CB*/ u8 linkPlayerIndex;
+ /*0x160CB*/ u8 multiplayerId;
/*0x160CC*/ u16 usedHeldItems[4];
/*0x160D4*/ u8 unk160D4;
/*0x160D5*/ u8 unk160D5;
@@ -659,7 +668,7 @@ void sub_800D6D4();
void ApplyPlayerChosenFrameToBattleMenu();
void DrawMainBattleBackground(void);
void LoadBattleTextboxAndBackground();
-void sub_800DE30(u8);
+void InitLinkBattleVsScreen(u8);
void DrawBattleEntryBackground();
// src/battle_2.o
@@ -667,7 +676,7 @@ void CB2_InitBattle(void);
void CB2_InitBattleInternal(void);
void CB2_HandleStartBattle(void);
void sub_800F104(void);
-void sub_800F298(void);
+void CB2_HandleStartMultiBattle(void);
void BattleMainCB2(void);
void sub_800F838(struct Sprite *);
u8 CreateNPCTrainerParty(struct Pokemon *, u16);
diff --git a/include/party_menu.h b/include/party_menu.h
index 172435b2d..98ac0ddde 100644
--- a/include/party_menu.h
+++ b/include/party_menu.h
@@ -97,20 +97,6 @@ struct Unk2001000
u16 array[53561];
};
-struct UnknownPokemonStruct2
-{
- /*0x00*/ u16 species;
- /*0x02*/ u16 heldItem;
- /*0x04*/ u8 nickname[11];
- /*0x0F*/ u8 level;
- /*0x10*/ u16 hp;
- /*0x12*/ u16 maxhp;
- /*0x14*/ u32 status;
- /*0x18*/ u32 personality;
- /*0x1C*/ u8 gender;
- /*0x1D*/ u8 language;
-};
-
void CB2_PartyMenuMain(void);
void ChangeBattleTowerPartyMenuSelection(u8 taskId, s8 directionPressed);
void SetPartyMenuSettings(u8 menuType, u8 battleTypeFlags, TaskFunc menuHandlerFunc, u8 textId);
@@ -151,7 +137,7 @@ void SetHeldItemIconVisibility(u8 a, u8 monIndex);
void PartyMenuDoPrintMonNickname(u8 monIndex, int b, const u8 *nameBuffer);
void PrintPartyMenuMonNickname(u8 monIndex, u8 b, struct Pokemon *pokemon);
void PrintPartyMenuMonNicknames(void);
-void CreateMonIcon_LinkMultiBattle(u8 taskId, u8 monIndex, u8 menuType, struct UnknownPokemonStruct2 *pokemon);
+void CreateMonIcon_LinkMultiBattle(u8 taskId, u8 monIndex, u8 menuType, struct MultiBattlePokemonTx *pokemon);
u8 *GetMonNickname(struct Pokemon *pokemon, u8 *stringBuffer);
void PartyMenuPutStatusTilemap(u8 monIndex, u8 b, u8 status);
void PartyMenuDoPrintLevel(u8 monIndex, u8 b, u8 level);
diff --git a/include/pokemon.h b/include/pokemon.h
index d2ab1335c..57da75e16 100644
--- a/include/pokemon.h
+++ b/include/pokemon.h
@@ -193,6 +193,20 @@ struct UnknownPokemonStruct
/*0x2B*/u8 friendship;
};
+struct MultiBattlePokemonTx
+{
+ /*0x00*/ u16 species;
+ /*0x02*/ u16 heldItem;
+ /*0x04*/ u8 nickname[11];
+ /*0x0F*/ u8 level;
+ /*0x10*/ u16 hp;
+ /*0x12*/ u16 maxhp;
+ /*0x14*/ u32 status;
+ /*0x18*/ u32 personality;
+ /*0x1C*/ u8 gender;
+ /*0x1D*/ u8 language;
+};
+
#define BATTLE_STATS_NO 8
struct BattlePokemon