diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/battle/contest_link_80C857C.c | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/src/battle/contest_link_80C857C.c b/src/battle/contest_link_80C857C.c index 616a72d27..e0b24b9e1 100644 --- a/src/battle/contest_link_80C857C.c +++ b/src/battle/contest_link_80C857C.c @@ -1,6 +1,52 @@ #include "global.h" +#include "ewram.h" +#include "task.h" #include "link.h" +void sub_80C8644(u8 taskId); + +void sub_80C857C(const void *data, u16 size) +{ + memcpy(eContestLinkSendBuffer, data, size); + SendBlock(bitmask_all_link_players_but_self(), eContestLinkSendBuffer, size); +} + +bool8 sub_80C85AC(u8 who) +{ + u8 flag = 1 << who; + if (!(GetBlockReceivedStatus() & flag)) + return FALSE; + ResetBlockReceivedFlag(flag); + return TRUE; +} + +bool8 sub_80C85D8(void) +{ + int i; + + for (i = 0; i < MAX_LINK_PLAYERS; i++) + { + if (!((GetBlockReceivedStatus() >> i) & 1)) + return FALSE; + } + ResetBlockReceivedFlags(); + return TRUE; +} + +void sub_80C8604(u8 taskId) +{ +#if ENGLISH + u8 i; + + for (i = 0; i < 4; i++) + gBlockRecvBuffer[i][0] = 0xff; +#endif + gTasks[taskId].data[0] = 0; + gTasks[taskId].func = sub_80C8644; +} + +asm(".section .text_de"); + #if GERMAN void de_sub_80C9274(bool32 arg0) |