summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/record_mixing.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/record_mixing.c b/src/record_mixing.c
index 01b19cbb3..14afd57ce 100644
--- a/src/record_mixing.c
+++ b/src/record_mixing.c
@@ -94,6 +94,10 @@ void TaskDummy4(void *src);
// .rodata
+extern const u8 gUnknown_0858CF8C[];
+extern const u8 gUnknown_0858CF8E[][3];
+extern const u8 gUnknown_0858CF94[][4];
+
// .text
void sub_80E6BE8(void)
@@ -541,3 +545,33 @@ static void *sub_80E7820(u8 id)
{
return gBlockRecvBuffer[id];
}
+
+void sub_80E7830(u32 *data)
+{
+ u32 i;
+ u32 linkTrainerId;
+
+ switch ((u32)GetLinkPlayerCount())
+ {
+ case 2:
+ for (i = 0; i < 2; i ++)
+ {
+ data[i] = gUnknown_0858CF8C[i];
+ }
+ break;
+ case 3:
+ linkTrainerId = GetLinkPlayerTrainerId(0) % 2;
+ for (i = 0; i < 3; i ++)
+ {
+ data[i] = gUnknown_0858CF8E[linkTrainerId][i];
+ }
+ break;
+ case 4:
+ linkTrainerId = GetLinkPlayerTrainerId(0) % 9;
+ for (i = 0; i < 4; i ++)
+ {
+ data[i] = gUnknown_0858CF94[linkTrainerId][i];
+ }
+ break;
+ }
+}