summaryrefslogtreecommitdiff
path: root/src/link.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/link.c')
-rw-r--r--src/link.c49
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;