diff options
author | Phlosioneer <mattmdrr2@gmail.com> | 2019-02-10 20:42:50 -0500 |
---|---|---|
committer | Phlosioneer <mattmdrr2@gmail.com> | 2019-02-10 20:42:50 -0500 |
commit | e75f45dbcfcd65901035fbc7e3793332670eb306 (patch) | |
tree | 68b8a0144067b5da0d057094e14b9ae7827357df /include | |
parent | f2f1b1978ba3423a519df66d4f382dd68ac8b185 (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.h | 2 | ||||
-rw-r--r-- | include/link.h | 6 | ||||
-rw-r--r-- | include/overworld.h | 19 | ||||
-rw-r--r-- | include/party_menu.h | 2 | ||||
-rw-r--r-- | include/record_mixing.h | 2 | ||||
-rw-r--r-- | include/save.h | 6 |
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); |