diff options
author | PikalaxALT <pikalaxalt@gmail.com> | 2019-04-08 14:14:51 -0400 |
---|---|---|
committer | huderlem <huderlem@gmail.com> | 2019-04-08 17:33:35 -0500 |
commit | fd4aa1ba8e80402b726501a91970cfd88a53f468 (patch) | |
tree | a2cb248141a8ef9ea35c1b7905e39d42f7d5b620 /src | |
parent | 0c690920ab161e32375947ab07667ed6463468cf (diff) |
Finish contest_link_80C2020
Diffstat (limited to 'src')
-rw-r--r-- | src/battle/contest_link_80C2020.c | 83 |
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(); + } +} |