summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2019-04-08 14:14:51 -0400
committerhuderlem <huderlem@gmail.com>2019-04-08 17:33:35 -0500
commitfd4aa1ba8e80402b726501a91970cfd88a53f468 (patch)
treea2cb248141a8ef9ea35c1b7905e39d42f7d5b620 /src
parent0c690920ab161e32375947ab07667ed6463468cf (diff)
Finish contest_link_80C2020
Diffstat (limited to 'src')
-rw-r--r--src/battle/contest_link_80C2020.c83
1 files changed, 83 insertions, 0 deletions
diff --git a/src/battle/contest_link_80C2020.c b/src/battle/contest_link_80C2020.c
index 14424a4bf..38c1d30d2 100644
--- a/src/battle/contest_link_80C2020.c
+++ b/src/battle/contest_link_80C2020.c
@@ -122,6 +122,10 @@ void sub_80C49F0(u8 taskId);
void sub_80C4A0C(u8 taskId);
void sub_80C4A28(u8 taskId);
void sub_80C4A44(u8 taskId);
+void sub_80C4B0C(u8 taskId);
+void sub_80C4B5C(u8 taskId);
+void sub_80C4BA4(u8 taskId);
+void sub_80C4BCC(u8 taskId);
const u16 gUnknown_083D1624[] = INCBIN_U16("graphics/unknown/unknown_3D1624/0.4bpp");
const u16 gUnknown_083D1644[] = INCBIN_U16("graphics/unknown/unknown_3D1624/1.4bpp");
@@ -2821,3 +2825,82 @@ void sub_80C4A28(u8 taskId)
{
SetTaskFuncWithFollowupFunc(taskId, sub_80C8938, sub_80C4A44);
}
+
+void sub_80C4A44(u8 taskId)
+{
+ u8 i;
+ u8 sp0[4];
+ u8 sp4[4];
+
+ for (i = 0; i < 4; i++)
+ sp0[i] = gTasks[taskId].data[i + 1];
+
+ for (i = 0; i < 4; i++)
+ {
+ if (sp0[0] != sp0[i])
+ break;
+ }
+
+ if (i == 4)
+ gSpecialVar_0x8004 = 0;
+ else
+ gSpecialVar_0x8004 = 1;
+
+ for (i = 0; i < 4; i++)
+ sp4[i] = gTasks[taskId].data[i + 5];
+
+ gUnknown_0203869B = sub_80C4B34(sp4);
+ sub_80AE82C(gSpecialVar_ContestCategory);
+ SetTaskFuncWithFollowupFunc(taskId, sub_80C8EBC, sub_80C4B0C);
+}
+
+void sub_80C4B0C(u8 taskId)
+{
+ sub_80B0F28(0);
+ SetTaskFuncWithFollowupFunc(taskId, sub_80C8F34, sub_80C4B5C);
+}
+
+u8 sub_80C4B34(u8 * a0)
+{
+ s32 i;
+ u8 result = 0;
+
+ for (i = 1; i < 4; i++)
+ {
+ if (a0[result] < a0[i])
+ result = i;
+ }
+
+ return result;
+}
+
+void sub_80C4B5C(u8 taskId)
+{
+ if (gSpecialVar_0x8004 == 1)
+ {
+ if (IsLinkTaskFinished())
+ gTasks[taskId].func = sub_80C4BA4;
+ }
+ else
+ {
+ DestroyTask(taskId);
+ ScriptContext2_Disable();
+ EnableBothScriptContexts();
+ }
+}
+
+void sub_80C4BA4(u8 taskId)
+{
+ sub_800832C();
+ gTasks[taskId].func = sub_80C4BCC;
+}
+
+void sub_80C4BCC(u8 taskId)
+{
+ if (!gReceivedRemoteLinkPlayers)
+ {
+ DestroyTask(taskId);
+ ScriptContext2_Disable();
+ EnableBothScriptContexts();
+ }
+}