diff options
Diffstat (limited to 'src/link.c')
-rw-r--r-- | src/link.c | 49 |
1 files changed, 25 insertions, 24 deletions
diff --git a/src/link.c b/src/link.c index 47820185c..7b4625bfd 100644 --- a/src/link.c +++ b/src/link.c @@ -1,14 +1,17 @@ #include "global.h" +#include "link.h" +#include "asm.h" #include "main.h" #include "task.h" #include "text.h" #include "sprite.h" #include "songs.h" -#include "link.h" #include "palette.h" #include "rng.h" #include "menu.h" #include "sound.h" +#include "save.h" +#include "battle.h" #define SIO_MULTI_CNT ((struct SioMultiCnt *)REG_ADDR_SIOCNT) @@ -29,11 +32,9 @@ struct LinkTestBGInfo u32 dummy_C; }; -extern void sub_80516C4(u8, u16); - extern u8 unk_2000000[]; extern u8 unk_2004000[]; -extern u16 gUnknown_020239F8; +extern u16 gBattleTypeFlags; extern u16 gScriptItemId; extern u16 word_3004858; @@ -41,8 +42,8 @@ extern u16 word_3004858; extern u8 gMultiText_LinkError[]; static void InitLinkTestBG(u8, u8, u8, u8); -static void InitLinkTestBG_Unused(u8, u8, u8, u8); -static void LinkTestScreen(); +void InitLinkTestBG_Unused(u8, u8, u8, u8); +void LinkTestScreen(); static void InitLocalLinkPlayer(void); static void VBlankCB_LinkTest(void); static void InitLink(void); @@ -60,15 +61,15 @@ static void LinkCB_BlockSendBegin(void); static void LinkCB_BlockSend(void); static void LinkCB_BlockSendEnd(void); static void sub_8007E04(void); -static u32 sub_8007E40(void); +u32 sub_8007E40(void); static void SetBlockReceivedFlag(u8); static u16 LinkTestCalcBlockChecksum(void *, u16); static void PrintHexDigit(u8, u8, u8); static void PrintHex(u32, u8, u8, u8); static void LinkCB_RequestPlayerDataExchange(void); static void Task_PrintTestData(u8); -static bool8 sub_8008224(void); -static u8 GetDummy2(void); +bool8 sub_8008224(void); +u8 GetDummy2(void); static void sub_8008350(void); static void sub_800837C(void); static void sub_80083E0(void); @@ -90,8 +91,8 @@ static void DoRecv(void); static void DoSend(void); static void StopTimer(void); static void SendRecvDone(void); -static void ResetSendBuffer(void); -static void ResetRecvBuffer(void); +void ResetSendBuffer(void); +void ResetRecvBuffer(void); static struct BlockTransfer sBlockSend; static struct BlockTransfer sBlockRecv[MAX_LINK_PLAYERS]; @@ -212,7 +213,7 @@ static void InitLinkTestBG(u8 paletteNum, u8 bgNum, u8 screenBaseBlock, u8 charB } } -static void InitLinkTestBG_Unused(u8 paletteNum, u8 bgNum, u8 screenBaseBlock, u8 charBaseBlock) +void InitLinkTestBG_Unused(u8 paletteNum, u8 bgNum, u8 screenBaseBlock, u8 charBaseBlock) { LoadPalette(sLinkTestDigitPalette, 16 * paletteNum, 32); DmaCopy16(3, sLinkTestDigitTiles, BG_CHAR_ADDR(charBaseBlock), 0x220); @@ -223,7 +224,7 @@ static void InitLinkTestBG_Unused(u8 paletteNum, u8 bgNum, u8 screenBaseBlock, u *gBGControlRegs[bgNum] = (screenBaseBlock << 8) | (charBaseBlock << 2); } -static void LinkTestScreen(void) +void LinkTestScreen(void) { s32 i; ResetSpriteData(); @@ -461,7 +462,7 @@ static void HandleReceiveRemoteLinkPlayer(u8 multiplayerId) gReceivedRemoteLinkPlayers = TRUE; } -static void ProcessRecvCmds(u8 a1) +static void ProcessRecvCmds(u8 unusedParam) { u16 i; for (i = 0; i < MAX_LINK_PLAYERS; i++) @@ -829,7 +830,7 @@ static void LinkCB_BlockSendEnd(void) static void sub_8007E04(void) { - GetMultiplayerId(); + GetMultiplayerId(); // whats the point of calling this if you dont use the multiplayer ID? BuildSendCmd(0x4444); dword_20238BC++; } @@ -840,7 +841,7 @@ void sub_8007E24(void) gLinkCallback = sub_8007E04; } -static u32 sub_8007E40(void) +u32 sub_8007E40(void) { return dword_20238BC; } @@ -1025,7 +1026,7 @@ u8 sub_8008218(void) return gSavedMultiplayerId; } -static bool8 sub_8008224(void) +bool8 sub_8008224(void) { s32 count = 0; s32 i; @@ -1072,7 +1073,7 @@ bool8 IsLinkMaster(void) return EXTRACT_MASTER(gLinkStatus); } -static u8 GetDummy2(void) +u8 GetDummy2(void) { return sDummy2; } @@ -1107,7 +1108,7 @@ static void sub_800837C(void) if (count == totalCount) { - gUnknown_020239F8 &= 0xFFDF; + gBattleTypeFlags &= ~BATTLE_TYPE_20; gLinkVSyncDisabled = TRUE; CloseLink(); gLinkCallback = NULL; @@ -1131,7 +1132,7 @@ static void sub_80083E0(void) if (count == totalCount) { - gUnknown_020239F8 &= 0xFFDF; + gBattleTypeFlags &= ~BATTLE_TYPE_20; gLinkVSyncDisabled = TRUE; CloseLink(); gLinkCallback = 0; @@ -1224,7 +1225,7 @@ void CB2_LinkError(void) REG_BG0VOFS = 0; REG_BG0HOFS = 0; REG_DISPCNT = DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON; - gUnknown_3001BB4 = 0; + gSoftResetDisabled = FALSE; CreateTask(Task_DestroySelf, 0); StopMapMusic(); RunTasks(); @@ -1236,7 +1237,7 @@ void CB2_LinkError(void) static void CB2_PrintErrorMessage(void) { - u8 array[64]; // unused + u8 array[64] __attribute__((unused)); // unused switch (gMain.state) { @@ -1772,7 +1773,7 @@ static void SendRecvDone(void) } } -static void ResetSendBuffer(void) +void ResetSendBuffer(void) { u8 i; u8 j; @@ -1785,7 +1786,7 @@ static void ResetSendBuffer(void) gLink.sendQueue.data[i][j] = 0xEFFF; } -static void ResetRecvBuffer(void) +void ResetRecvBuffer(void) { u8 i; u8 j; |