summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorPhlosioneer <mattmdrr2@gmail.com>2019-02-10 20:42:50 -0500
committerPhlosioneer <mattmdrr2@gmail.com>2019-02-10 20:42:50 -0500
commite75f45dbcfcd65901035fbc7e3793332670eb306 (patch)
tree68b8a0144067b5da0d057094e14b9ae7827357df /include
parentf2f1b1978ba3423a519df66d4f382dd68ac8b185 (diff)
Reverse engineered many of the multiplayer events
Some corrections to the way events are handled and identified.
Diffstat (limited to 'include')
-rw-r--r--include/constants/battle_frontier.h2
-rw-r--r--include/link.h6
-rw-r--r--include/overworld.h19
-rw-r--r--include/party_menu.h2
-rw-r--r--include/record_mixing.h2
-rw-r--r--include/save.h6
6 files changed, 24 insertions, 13 deletions
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/link.h b/include/link.h
index b29d9b4e1..8c272699d 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);
diff --git a/include/overworld.h b/include/overworld.h
index b5c41b1e6..9434d5c28 100644
--- a/include/overworld.h
+++ b/include/overworld.h
@@ -8,11 +8,22 @@
#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_UNK_3 0x17
+#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;
@@ -24,7 +35,7 @@ struct LinkPlayerEventObject
u8 active;
u8 linkPlayerId;
u8 eventObjId;
- u8 mode;
+ u8 movementMode;
};
// Exported RAM declarations
@@ -120,7 +131,7 @@ 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);
@@ -140,7 +151,7 @@ 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..d02b77f9c 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 EventScript_RecordMixingPlayerSpotTriggered(void);
void GetPlayerHallRecords(struct PlayerHallRecords *dst);
#endif //GUARD_RECORD_MIXING_H
diff --git a/include/save.h b/include/save.h
index 42ce8b3f3..de2dd5129 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); //FullSaveGame
+bool8 CheckSaveFile(void); //CheckSaveFile
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);