summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/cable_club.h2
-rw-r--r--include/constants/battle_frontier.h2
-rw-r--r--include/global.h10
-rw-r--r--include/link.h10
-rw-r--r--include/link_rfu.h6
-rw-r--r--include/overworld.h39
-rw-r--r--include/party_menu.h2
-rw-r--r--include/record_mixing.h2
-rw-r--r--include/save.h6
-rw-r--r--include/trainer_card.h2
10 files changed, 52 insertions, 29 deletions
diff --git a/include/cable_club.h b/include/cable_club.h
index 60d56460d..c2849ca3e 100644
--- a/include/cable_club.h
+++ b/include/cable_club.h
@@ -15,6 +15,6 @@ void sub_80B360C(void);
bool32 sub_80B2AF4(u16 *arg0, u16 *arg1);
void sub_80B3AF8(u8 taskId);
void task00_08081A90(u8 taskId);
-bool32 sub_80B39D4(u8 linkPlayerIndex);
+bool32 GetLinkTrainerCardColor(u8 linkPlayerIndex);
#endif //GUARD_CABLE_CLUB_H
diff --git a/include/constants/battle_frontier.h b/include/constants/battle_frontier.h
index ca9e3bc9f..1224c0f31 100644
--- a/include/constants/battle_frontier.h
+++ b/include/constants/battle_frontier.h
@@ -10,6 +10,8 @@
#define FRONTIER_FACILITY_PIKE 5
#define FRONTIER_FACILITY_PYRAMID 6
#define NUM_FRONTIER_FACILITIES 7
+// The multiplayer battle colosseum rooms re-use VAR_FRONTIER_FACILITY.
+#define FRONTIER_FACILITY_DOUBLE_COLOSSEUM 9
#define TENT_VERDANTURF 2
#define TENT_FALLARBOR 3
diff --git a/include/global.h b/include/global.h
index cc026f36a..8737c6388 100644
--- a/include/global.h
+++ b/include/global.h
@@ -906,13 +906,13 @@ struct MapPosition
s8 height;
};
-struct UnkStruct_8054FF8
+struct TradeRoomPlayer
{
- u8 a;
- u8 b;
+ u8 playerId;
+ u8 isLocalPlayer;
u8 c;
- u8 d;
- struct MapPosition sub;
+ u8 facing;
+ struct MapPosition pos;
u16 field_C;
};
diff --git a/include/link.h b/include/link.h
index 11eff5c28..83deab88f 100644
--- a/include/link.h
+++ b/include/link.h
@@ -244,7 +244,7 @@ bool8 IsLinkTaskFinished(void);
void CreateWirelessStatusIndicatorSprite(u8, u8);
void sub_800ADF8(void);
void sub_800B488(void);
-void sub_800A620(void);
+void CheckShouldAdvanceLinkState(void);
void sub_8011BD0(void);
u8 IsLinkMaster(void);
void sub_800AC34(void);
@@ -299,8 +299,8 @@ extern struct LinkPlayer gLocalLinkPlayer;
bool32 Link_AnyPartnersPlayingRubyOrSapphire(void);
bool32 sub_800A03C(void);
-void sub_8009628(u8);
-u8 sub_800AA48(void);
+void SetLocalLinkPlayerId(u8);
+u8 GetSavedPlayerCount(void);
void sub_8009FAC(void);
bool8 sub_800A4D8(u8 a0);
u8 sub_800A9D8(void);
@@ -312,7 +312,7 @@ void sub_800AB18(void);
void sub_8009F18(void);
bool8 sub_800AA60(void);
void sub_800ABF4(u16 a0);
-bool32 sub_8009F3C(void);
-u32 sub_800B4DC(void);
+bool32 IsSendingKeysToLink(void);
+u32 GetLinkRecvQueueLength(void);
#endif // GUARD_LINK_H
diff --git a/include/link_rfu.h b/include/link_rfu.h
index c91f9f1d3..5b8ccd9fb 100644
--- a/include/link_rfu.h
+++ b/include/link_rfu.h
@@ -219,7 +219,7 @@ void sub_800E700(void);
void sub_800EDD4(void);
void sub_800F6FC(u8 who);
void sub_800F728(u8 who);
-bool32 sub_800F7E4(void);
+bool32 IsSendingKeysToRfu(void);
void sub_800F804(void);
void sub_800F850(void);
u8 sub_800FCD8(void);
@@ -238,8 +238,8 @@ void sub_800E6D0(void);
bool32 sub_8010EC0(void);
bool32 sub_8010F1C(void);
bool32 sub_8011A80(void);
-bool32 sub_800F0B8(void);
-u32 sub_80124D4(void);
+bool32 IsRfuRecvQueueEmpty(void);
+u32 GetRfuRecvQueueLength(void);
void RfuVSync(void);
void sub_80111B0(bool32 a0);
u8 sub_8011A74(void);
diff --git a/include/overworld.h b/include/overworld.h
index 8caba0673..203084ae3 100644
--- a/include/overworld.h
+++ b/include/overworld.h
@@ -1,6 +1,29 @@
#ifndef GUARD_OVERWORLD_H
#define GUARD_OVERWORLD_H
+#define LINK_KEY_CODE_NULL 0x00
+#define LINK_KEY_CODE_EMPTY 0x11
+#define LINK_KEY_CODE_DPAD_DOWN 0x12
+#define LINK_KEY_CODE_DPAD_UP 0x13
+#define LINK_KEY_CODE_DPAD_LEFT 0x14
+#define LINK_KEY_CODE_DPAD_RIGHT 0x15
+#define LINK_KEY_CODE_UNK_2 0x16
+#define LINK_KEY_CODE_EXIT_ROOM 0x17
+#define LINK_KEY_CODE_START_BUTTON 0x18
+#define LINK_KEY_CODE_A_BUTTON 0x19
+#define LINK_KEY_CODE_UNK_4 0x1A // I'd guess this is the B button?
+
+// These two are a hack to stop user input until link stuff can be
+// resolved.
+#define LINK_KEY_CODE_HANDLE_RECV_QUEUE 0x1B
+#define LINK_KEY_CODE_HANDLE_SEND_QUEUE 0x1C
+#define LINK_KEY_CODE_UNK_7 0x1D
+#define LINK_KEY_CODE_UNK_8 0x1E
+
+#define MOVEMENT_MODE_FREE 0
+#define MOVEMENT_MODE_FROZEN 1
+#define MOVEMENT_MODE_SCRIPTED 2
+
struct InitialPlayerAvatarState
{
u8 transitionFlags;
@@ -12,7 +35,7 @@ struct LinkPlayerEventObject
u8 active;
u8 linkPlayerId;
u8 eventObjId;
- u8 mode;
+ u8 movementMode;
};
// Exported RAM declarations
@@ -22,10 +45,10 @@ extern struct LinkPlayerEventObject gLinkPlayerEventObjects[4];
extern u16 *gBGTilemapBuffers1;
extern u16 *gBGTilemapBuffers2;
extern u16 *gBGTilemapBuffers3;
-extern u16 gUnknown_03005DA8;
+extern u16 gHeldKeyCodeToSend;
extern void (*gFieldCallback)(void);
extern bool8 (*gFieldCallback2)(void);
-extern u8 gUnknown_03005DB4;
+extern u8 gLocalLinkPlayerId;
extern u8 gFieldLinkPlayerCount;
// Exported ROM declarations
@@ -103,12 +126,12 @@ u8 GetSavedWarpRegionMapSectionId(void);
u8 GetCurrentRegionMapSectionId(void);
u8 GetCurrentMapBattleScene(void);
void CleanupOverworldWindowsAndTilemaps(void);
-bool32 is_c1_link_related_active(void);
+bool32 IsUpdateLinkStateCBActive(void);
void CB1_Overworld(void);
void CB2_OverworldBasic(void);
void CB2_Overworld(void);
void SetMainCallback1(void (*cb)(void));
-void sub_8085E94(void *a0);
+void SetUnusedCallback(void *a0);
void CB2_NewGame(void);
void CB2_WhiteOut(void);
void CB2_LoadMap(void);
@@ -117,18 +140,18 @@ void sub_8086074(void);
void CB2_ReturnToField(void);
void CB2_ReturnToFieldLocal(void);
void CB2_ReturnToFieldLink(void);
-void c2_8056854(void);
+void CB2_ReturnToFieldFromMultiplayer(void);
void CB2_ReturnToFieldWithOpenMenu(void);
void CB2_ReturnToFieldContinueScript(void);
void CB2_ReturnToFieldContinueScriptPlayMapMusic(void);
void sub_80861E8(void);
void CB2_ContinueSavedGame(void);
-void sub_8086C2C(void);
+void ResetAllMultiplayerState(void);
u32 sub_8087214(void);
bool32 sub_808727C(void);
u16 sub_8087288(void);
u16 sub_808729C(void);
-u16 sub_80872B0(void);
+u16 QueueExitLinkRoomKey(void);
u16 sub_80872C4(void);
bool32 sub_8087598(void);
bool32 sub_80875C8(void);
diff --git a/include/party_menu.h b/include/party_menu.h
index 702b4fde1..e67dd56f2 100644
--- a/include/party_menu.h
+++ b/include/party_menu.h
@@ -85,7 +85,7 @@ u8 GetItemEffectType(u16 item);
void CB2_PartyMenuFromStartMenu(void);
void sub_81B7F60(void);
void sub_81B8448(void);
-void sub_81B8518(u8 unused);
+void InitChooseHalfPartyForBattle(u8 unused);
void sub_81B8558(void);
void sub_81B8904(u8 initArg, MainCallback callback);
void sub_81B892C(void);
diff --git a/include/record_mixing.h b/include/record_mixing.h
index 0d50f46f9..4cd231e8a 100644
--- a/include/record_mixing.h
+++ b/include/record_mixing.h
@@ -7,7 +7,7 @@ struct PlayerHallRecords
struct RankingHall2P twoPlayers[2];
};
-void sub_80E6BE8(void);
+void RecordMixingPlayerSpotTriggered(void);
void GetPlayerHallRecords(struct PlayerHallRecords *dst);
#endif //GUARD_RECORD_MIXING_H
diff --git a/include/save.h b/include/save.h
index 42ce8b3f3..7ce86de70 100644
--- a/include/save.h
+++ b/include/save.h
@@ -83,13 +83,11 @@ bool8 sub_8153380(void);
bool8 sub_81533AC(void);
u8 sub_81533E0(void);
u8 sub_8153408(void);
-u8 sub_8153430(void);
-bool8 sub_8153474(void);
+u8 FullSaveGame(void);
+bool8 CheckSaveFile(void);
u8 Save_LoadGameData(u8 a1);
u16 sub_815355C(void);
u8 sub_81534D0(u8);
-u8 sub_8153430(void);
-bool8 sub_8153474(void);
u32 TryCopySpecialSaveSection(u8 sector, u8* dst);
u32 sub_8153634(u8 sector, u8* src);
void sub_8153688(u8 taskId);
diff --git a/include/trainer_card.h b/include/trainer_card.h
index 1cadbd8fc..173d23baa 100644
--- a/include/trainer_card.h
+++ b/include/trainer_card.h
@@ -43,7 +43,7 @@ struct TrainerCard
extern struct TrainerCard gTrainerCards[4];
u32 CountPlayerTrainerStars(void);
-u8 sub_80C4904(u8 cardId);
+u8 GetTrainerCardStars(u8 cardId);
void CopyTrainerCardData(struct TrainerCard *dst, u16 *src, u8 gameVersion);
void ShowPlayerTrainerCard(void (*callback)(void));
void ShowTrainerCardInLink(u8 arg0, void (*callback)(void));