summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/link.h7
-rw-r--r--src/link.c16
2 files changed, 15 insertions, 8 deletions
diff --git a/include/link.h b/include/link.h
index 900234ed6..f80f2bc58 100644
--- a/include/link.h
+++ b/include/link.h
@@ -122,6 +122,13 @@ struct Link
struct RecvQueue recvQueue;
};
+struct BlockRequest {
+ void * address;
+ u32 size;
+};
+
+extern const struct BlockRequest sBlockRequestLookupTable[5];
+
extern struct Link gLink;
extern u16 gRecvCmds[CMD_LENGTH][MAX_LINK_PLAYERS];
extern u8 gBlockSendBuffer[BLOCK_BUFFER_SIZE];
diff --git a/src/link.c b/src/link.c
index 5f6c32370..6445d8779 100644
--- a/src/link.c
+++ b/src/link.c
@@ -178,13 +178,13 @@ static const u8 sDebugMessages[7][12] =
static const u8 sColorCodes[] = _("{HIGHLIGHT TRANSPARENT}{COLOR WHITE2}");
-static const u32 sBlockRequestLookupTable[5 * 2] =
+const struct BlockRequest sBlockRequestLookupTable[5] =
{
- (u32)gBlockSendBuffer, 200,
- (u32)gBlockSendBuffer, 200,
- (u32)gBlockSendBuffer, 100,
- (u32)gBlockSendBuffer, 220,
- (u32)gBlockSendBuffer, 40,
+ {gBlockSendBuffer, 200},
+ {gBlockSendBuffer, 200},
+ {gBlockSendBuffer, 100},
+ {gBlockSendBuffer, 220},
+ {gBlockSendBuffer, 40},
};
static const u8 sTestString[] = _("テストな");
@@ -569,7 +569,7 @@ static void ProcessRecvCmds(u8 unusedParam)
}
else if (deUnkValue2 == 2 || deUnkValue2 == 3)
{
- SendBlock(0, (void *)(sBlockRequestLookupTable)[gRecvCmds[1][i] * 2], (sBlockRequestLookupTable + 1)[gRecvCmds[1][i] * 2]);
+ SendBlock(0, sBlockRequestLookupTable[gRecvCmds[1][i]].address, sBlockRequestLookupTable[gRecvCmds[1][i]].size);
if (deUnkValue2 == 2)
deUnkValue2 = 1;
@@ -578,7 +578,7 @@ static void ProcessRecvCmds(u8 unusedParam)
}
else
{
- SendBlock(0, (void *)(sBlockRequestLookupTable)[gRecvCmds[1][i] * 2], (sBlockRequestLookupTable + 1)[gRecvCmds[1][i] * 2]);
+ SendBlock(0, sBlockRequestLookupTable[gRecvCmds[1][i]].address, sBlockRequestLookupTable[gRecvCmds[1][i]].size);
}
#endif
break;