diff options
author | camthesaxman <cameronghall@cox.net> | 2018-02-18 19:59:51 -0600 |
---|---|---|
committer | camthesaxman <cameronghall@cox.net> | 2018-02-18 19:59:51 -0600 |
commit | daa05c1b7c5e079ad8554e88a290e07b333bd2db (patch) | |
tree | f635e307268f6e6027423369d221e2adf32b438d /src/engine/cable_club.c | |
parent | 2e21a867487e2187a954a351f775bd3f3a9535b1 (diff) |
remove subdirectories
Diffstat (limited to 'src/engine/cable_club.c')
-rw-r--r-- | src/engine/cable_club.c | 1033 |
1 files changed, 0 insertions, 1033 deletions
diff --git a/src/engine/cable_club.c b/src/engine/cable_club.c deleted file mode 100644 index 0da23c5f3..000000000 --- a/src/engine/cable_club.c +++ /dev/null @@ -1,1033 +0,0 @@ -#include "global.h" -#include "battle.h" -#include "battle_records.h" -#include "cable_club.h" -#include "event_data.h" -#include "field_message_box.h" -#include "field_specials.h" -#include "field_weather.h" -#include "link.h" -#include "load_save.h" -#include "m4a.h" -#include "main.h" -#include "menu.h" -#include "palette.h" -#include "record_mixing.h" -#include "overworld.h" -#include "script.h" -#include "script_pokemon_80C4.h" -#include "constants/songs.h" -#include "sound.h" -#include "start_menu.h" -#include "string_util.h" -#include "strings2.h" -#include "task.h" -#include "text.h" -#include "trade.h" -#include "trainer_card.h" - -extern u16 gBattleTypeFlags; -extern const u8 gUnknown_081A4932[]; -extern const u8 gUnknown_081A4975[]; -extern const u8 gUnknown_081A49B6[]; -extern const u8 gUnknown_081A490C[]; -extern struct -{ - u8 field0; - u8 field1; -} gUnknown_020297D8; - -static void sub_8082F20(u8 taskId); -static void sub_8082F68(u8 taskId); -static void sub_8082FEC(u8 taskId); -static void sub_808303C(u8 taskId); -static void sub_80830E4(u8 taskId); -static void sub_8083188(u8 taskId); -static void sub_80831F8(u8 taskId); -static void sub_8083288(u8 taskId); -static void sub_8083314(u8 taskId); -static void sub_80833C4(u8 taskId); -static void sub_80833EC(u8 taskId); -static void sub_8083418(u8 taskId); -static bool8 sub_8083444(u8 taskId); -static void sub_808353C(u8 taskId); -static void sub_8083710(u8 taskId); -static void sub_8083760(u8 taskId); -static void sub_80837B4(u8 taskId); -static void sub_80837EC(u8 taskId); -static void sub_808382C(u8 taskId); -static void sub_8083958(void); -static void sub_80839DC(u8 taskId); -static void sub_8083AAC(u8 taskId); -static void sub_8083B44(u8 taskId); -static void sub_8083B6C(void); -static void sub_8083CA4(u8 taskId); -#if DEBUG -static u8 debug_sub_808B850(void); -#endif - -#ifdef GERMAN -const u8 TrainerCardColorName_Bronze[] = _("BRONZE"); -const u8 TrainerCardColorName_Copper[] = _("KUPFER"); -const u8 TrainerCardColorName_Silver[] = _("SILBER"); -const u8 TrainerCardColorName_Gold[] = _("GOLD"); -#else -const u8 TrainerCardColorName_Bronze[] = _("BRONZE"); -const u8 TrainerCardColorName_Copper[] = _("COPPER"); -const u8 TrainerCardColorName_Silver[] = _("SILVER"); -const u8 TrainerCardColorName_Gold[] = _("GOLD"); -#endif - -const u8 *const gTrainerCardColorNames[] = -{ - TrainerCardColorName_Bronze, - TrainerCardColorName_Copper, - TrainerCardColorName_Silver, - TrainerCardColorName_Gold, -}; - -#if DEBUG -u8 debug_sub_808A4D0(TaskFunc func) -{ - if (func == sub_8082F68) - return 1; - if (func == sub_8082FEC) - return 17; - if (func == sub_808303C) - return 18; - if (func == sub_8083188) - return 19; - if (func == sub_80830E4) - return 20; - if (func == sub_80831F8) - return 33; - if (func == sub_8083314) - return 2; - if (func == sub_80833C4) - return 3; - return 0; -} - -void debug_sub_808A55C(u8 taskId) -{ - s32 i; - - if (!gTasks[gTasks[taskId].data[0]].isActive) - { - if (gTasks[taskId].data[1] == 5) - DestroyTask(taskId); - gTasks[taskId].data[1]++; - } - - PrintHex(gShouldAdvanceLinkState, 2, 0, 2); - PrintHex((u8)gBlockSendBuffer[0], 22, 5, 4); - for (i = 0; i < 4; i++) - { - PrintHex(gLinkPlayerPending[i], 5 + i * 2, 0, 1); - PrintHex(gBlockRecvBuffer[i][0], 22, 6 + i, 4); - } - PrintHex(gLinkStatus, 15, 0, 8); - PrintHex(gLink.state, 2, 10, 2); - PrintHex(GetMultiplayerId(), 7, 12, 2); - PrintHex(GetBlockReceivedStatus(), 7, 10, 2); - PrintHex(gReceivedRemoteLinkPlayers, 2, 12, 1); - PrintHex(gSpecialVar_Result, 11, 8, 2); - PrintHex((gLinkStatus & 0x1C) >> 2, 11, 10, 2); - PrintHex(IsLinkConnectionEstablished(), 11, 12, 1); - PrintHex(IsLinkTaskFinished(), 15, 10, 1); - PrintHex(debug_sub_808A4D0(gTasks[gTasks[taskId].data[0]].func), 15, 12, 2); - PrintHex((uintptr_t)gLinkCallback, 2, 13, 8); - PrintHex(HasLinkErrorOccurred(), 2, 2, 1); - for (i = 0; i < 4; i++) - PrintHex(gLinkPlayers[i].linkType, 2 + i * 6, 3, 4); - PrintHex(REG_SIOCNT, 2, 6, 4); - PrintHex(debug_sub_808B850(), 25, 3, 1); -} -#endif - -static void sub_8082CD4(u8 arg0, u8 arg1) -{ -#if DEBUG - InitLinkTestBG_Unused(12, 0, 31, 2); -#endif - if (FindTaskIdByFunc(sub_8082F20) == 0xFF) - { - u8 taskId1; -#if DEBUG - u8 taskId2; -#endif - - taskId1 = CreateTask(sub_8082F20, 80); - gTasks[taskId1].data[1] = arg0; - gTasks[taskId1].data[2] = arg1; - -#if DEBUG - taskId2 = CreateTask(debug_sub_808A55C, 80); - gTasks[taskId2].data[0] = taskId1; -#endif - } -} - -static void sub_8082D18(u32 value) -{ - ConvertIntToDecimalStringN(gStringVar1, value, STR_CONV_MODE_LEFT_ALIGN, 1); - Menu_DrawStdWindowFrame(18, 10, 28, 13); - sub_8072BD8(gOtherText_PLink, 19, 11, 72); -} - -static void sub_8082D4C() -{ - Menu_EraseWindowRect(18, 10, 28, 13); -} - -static void sub_8082D60(u8 taskId, u8 arg1) -{ - s16 *data = &gTasks[taskId].data[3]; - - if (arg1 != *data) - { - if (arg1 <= 1) - sub_8082D4C(); - else - sub_8082D18(arg1); - *data = arg1; - } -} - -static u32 sub_8082D9C(u8 minPlayers, u8 maxPlayers) -{ - int playerCount; - - switch (GetLinkPlayerDataExchangeStatusTimed()) - { - case EXCHANGE_COMPLETE: - playerCount = GetLinkPlayerCount_2(); - if (minPlayers <= playerCount && playerCount <= maxPlayers) - return 1; - ConvertIntToDecimalStringN(gStringVar1, playerCount, STR_CONV_MODE_LEFT_ALIGN, 1); - return 4; - case EXCHANGE_TIMED_OUT: - return 0; - case EXCHANGE_IN_PROGRESS: - return 3; - default: - return 0; - } -} - -static bool32 sub_8082DF4(u8 taskId) -{ - if (HasLinkErrorOccurred() == TRUE) - { - gTasks[taskId].func = sub_8083418; - return TRUE; - } - return FALSE; -} - -static bool32 sub_8082E28(u8 taskId) -{ - if ((gMain.newKeys & B_BUTTON) - && IsLinkConnectionEstablished() == FALSE) - { - gTasks[taskId].func = sub_80833EC; - return TRUE; - } - return FALSE; -} - -static bool32 sub_8082E6C(u8 taskId) -{ - if (IsLinkConnectionEstablished()) - SetSuppressLinkErrorMessage(TRUE); - - if (gMain.newKeys & B_BUTTON) - { - gTasks[taskId].func = sub_80833EC; - return TRUE; - } - return FALSE; -} - -static bool32 sub_8082EB8(u8 taskId) -{ - if (GetSioMultiSI() == 1) - { - gTasks[taskId].func = sub_8083418; - return TRUE; - } - return FALSE; -} - -void unref_sub_8082EEC(u8 taskId) -{ - gTasks[taskId].data[0]++; - if (gTasks[taskId].data[0] == 10) - { - sub_8007E9C(2); - DestroyTask(taskId); - } -} - -static void sub_8082F20(u8 taskId) -{ - s16 *data = gTasks[taskId].data; - - if (data[0] == 0) - { - OpenLinkTimed(); - sub_80082EC(); - ResetLinkPlayers(); - } - else if (data[0] > 9) - { - gTasks[taskId].func = sub_8082F68; - } - data[0]++; -} - -static void sub_8082F68(u8 taskId) -{ - u32 playerCount = GetLinkPlayerCount_2(); - - if (sub_8082E28(taskId) == TRUE - || sub_8082E6C(taskId) == TRUE - || playerCount < 2) - return; - - SetSuppressLinkErrorMessage(TRUE); - gTasks[taskId].data[3] = 0; - if (IsLinkMaster() == TRUE) - { - PlaySE(SE_PIN); - ShowFieldAutoScrollMessage(gUnknown_081A4932); - gTasks[taskId].func = sub_8082FEC; - } - else - { - PlaySE(SE_BOO); - ShowFieldAutoScrollMessage(gUnknown_081A49B6); - gTasks[taskId].func = sub_80831F8; - } -} - -static void sub_8082FEC(u8 taskId) -{ - if (sub_8082E28(taskId) == TRUE - || sub_8082EB8(taskId) == TRUE - || sub_8082DF4(taskId) == TRUE) - return; - - if (GetFieldMessageBoxMode() == FIELD_MESSAGE_BOX_HIDDEN) - { - gTasks[taskId].data[3] = 0; - gTasks[taskId].func = sub_808303C; - } -} - -static void sub_808303C(u8 taskId) -{ - s16 *taskData = gTasks[taskId].data; - s32 linkPlayerCount = GetLinkPlayerCount_2(); - - if (sub_8082E28(taskId) == TRUE - || sub_8082EB8(taskId) == TRUE - || sub_8082DF4(taskId) == TRUE) - return; - - sub_8082D60(taskId, linkPlayerCount); - - if (!(gMain.newKeys & A_BUTTON)) - return; - -#if ENGLISH - if (linkPlayerCount < taskData[1]) - return; - - sub_80081C8(linkPlayerCount); - sub_8082D4C(); - ConvertIntToDecimalStringN(gStringVar1, linkPlayerCount, STR_CONV_MODE_LEFT_ALIGN, 1); - ShowFieldAutoScrollMessage((u8 *)gUnknown_081A4975); - gTasks[taskId].func = sub_80830E4; -#elif GERMAN - if ((gLinkType == 0x2255 && (u32)linkPlayerCount > 1) - || (gLinkType != 0x2255 && taskData[1] <= linkPlayerCount)) - { - sub_80081C8(linkPlayerCount); - sub_8082D4C(); - ConvertIntToDecimalStringN(gStringVar1, linkPlayerCount, STR_CONV_MODE_LEFT_ALIGN, 1); - ShowFieldAutoScrollMessage((u8 *)gUnknown_081A4975); - gTasks[taskId].func = sub_80830E4; - } -#endif -} - -static void sub_80830E4(u8 taskId) -{ - if (sub_8082E28(taskId) == TRUE - || sub_8082EB8(taskId) == TRUE - || sub_8082DF4(taskId) == TRUE) - return; - - if (GetFieldMessageBoxMode() == FIELD_MESSAGE_BOX_HIDDEN) - { - if (sub_800820C() != GetLinkPlayerCount_2()) - { - ShowFieldAutoScrollMessage(gUnknown_081A4932); - gTasks[taskId].func = sub_8082FEC; - } - else if (gMain.heldKeys & B_BUTTON) - { - ShowFieldAutoScrollMessage(gUnknown_081A4932); - gTasks[taskId].func = sub_8082FEC; - } - else if (gMain.heldKeys & A_BUTTON) - { - PlaySE(SE_SELECT); - sub_8007F4C(); - gTasks[taskId].func = sub_8083188; - } - } -} - -static void sub_8083188(u8 taskId) -{ - u8 local1 = gTasks[taskId].data[1]; - u8 local2 = gTasks[taskId].data[2]; - - if (sub_8082DF4(taskId) == TRUE - || sub_8083444(taskId) == TRUE) - return; - - if (GetLinkPlayerCount_2() != sub_800820C()) - { - gTasks[taskId].func = sub_8083418; - } - else - { - gSpecialVar_Result = sub_8082D9C(local1, local2); - if (gSpecialVar_Result != 0) - gTasks[taskId].func = sub_8083288; - } -} - -static void sub_80831F8(u8 taskId) -{ - u8 local1, local2; - - local1 = gTasks[taskId].data[1]; - local2 = gTasks[taskId].data[2]; - - if (sub_8082E28(taskId) == TRUE - || sub_8082DF4(taskId) == TRUE) - return; - -#if DEBUG - sub_8082D60(taskId, GetLinkPlayerCount_2()); -#endif - - gSpecialVar_Result = sub_8082D9C(local1, local2); - if (gSpecialVar_Result == 0) - return; - if (gSpecialVar_Result == 3) - { - sub_800832C(); - HideFieldMessageBox(); - gTasks[taskId].func = sub_80833C4; - } - else - { - gFieldLinkPlayerCount = GetLinkPlayerCount_2(); - gUnknown_03004860 = GetMultiplayerId(); - sub_80081C8(gFieldLinkPlayerCount); - TrainerCard_GenerateCardForPlayer((struct TrainerCard *)gBlockSendBuffer); - gTasks[taskId].func = sub_8083314; - } -} - -static void sub_8083288(u8 taskId) -{ - if (sub_8082DF4(taskId) == TRUE) - return; - - if (gSpecialVar_Result == 3) - { - sub_800832C(); - HideFieldMessageBox(); - gTasks[taskId].func = sub_80833C4; - } - else - { - gFieldLinkPlayerCount = GetLinkPlayerCount_2(); - gUnknown_03004860 = GetMultiplayerId(); - sub_80081C8(gFieldLinkPlayerCount); - TrainerCard_GenerateCardForPlayer((struct TrainerCard *)gBlockSendBuffer); - gTasks[taskId].func = sub_8083314; - sub_8007E9C(2); - } -} - -static void sub_8083314(u8 taskId) -{ - u8 index; - struct TrainerCard *trainerCards; - - if (sub_8082DF4(taskId) == TRUE) - return; - - if (GetBlockReceivedStatus() != sub_8008198()) - return; - - index = 0; - trainerCards = gTrainerCards; - for (index = 0; index < GetLinkPlayerCount(); index++) - { - void *src; - src = gBlockRecvBuffer[index]; - memcpy(&trainerCards[index], src, sizeof(struct TrainerCard)); - } - - SetSuppressLinkErrorMessage(FALSE); - ResetBlockReceivedFlags(); - HideFieldMessageBox(); - - if (gSpecialVar_Result == 1) - { -#if ENGLISH - u16 linkType; - linkType = gLinkType; - // FIXME: sub_8082D4C doesn't take any arguments - sub_8082D4C(0x4411, linkType); -#elif GERMAN - if (gLinkType != 0x4411) - { - if (gLinkType == 0x6601) - deUnkValue2 = 1; - } - sub_8082D4C(); -#endif - EnableBothScriptContexts(); - DestroyTask(taskId); - return; - } - - sub_800832C(); - gTasks[taskId].func = sub_80833C4; -} - -static void sub_80833C4(u8 taskId) -{ - if (gReceivedRemoteLinkPlayers == FALSE) - { - sub_8082D4C(); - EnableBothScriptContexts(); - DestroyTask(taskId); - } -} - -static void sub_80833EC(u8 taskId) -{ - gSpecialVar_Result = 5; - sub_8082D4C(); - HideFieldMessageBox(); - EnableBothScriptContexts(); - DestroyTask(taskId); -} - -static void sub_8083418(u8 taskId) -{ - gSpecialVar_Result = 6; - sub_8082D4C(); - HideFieldMessageBox(); - EnableBothScriptContexts(); - DestroyTask(taskId); -} - -static bool8 sub_8083444(u8 taskId) -{ - gTasks[taskId].data[4]++; - if (gTasks[taskId].data[4] > 600) - { - gTasks[taskId].func = sub_8083418; - return TRUE; - } - - return FALSE; -} - -void sub_808347C(u8 arg0) -{ - u32 r3 = 2; - u32 r2 = 2; - - switch (gSpecialVar_0x8004) - { - case 1: - r3 = 2; - gLinkType = 0x2233; - break; - case 2: - r3 = 2; - gLinkType = 0x2244; - break; - case 5: - r3 = 4; - r2 = 4; - gLinkType = 0x2255; - break; - } - - sub_8082CD4(r3, r2); -} - -void sub_80834E4(void) -{ - gLinkType = 0x1133; - gBattleTypeFlags = 0; - sub_8082CD4(2, 2); -} - -void sub_808350C(void) -{ - gSpecialVar_Result = 0; - gLinkType = 0x3311; - gBattleTypeFlags = 0; - sub_8082CD4(2, 4); -} - -static void sub_808353C(u8 taskId) -{ - int playerCount; - int i; - - switch (gTasks[taskId].data[0]) - { - case 0: - if (gSpecialVar_Result == 1) - { - playerCount = GetLinkPlayerCount(); - for (i = 0; i < playerCount; i++) - { - if (gLinkPlayers[i].language == LANGUAGE_JAPANESE) - { - gSpecialVar_Result = 7; - sub_8008480(); - gTasks[taskId].data[0] = 1; - return; - } - } - } - EnableBothScriptContexts(); - DestroyTask(taskId); - break; - case 1: - if (gReceivedRemoteLinkPlayers == FALSE) - { - EnableBothScriptContexts(); - DestroyTask(taskId); - } - break; - } -} - -void sub_80835D8(void) -{ - int taskId = FindTaskIdByFunc(sub_808353C); - - if (taskId == 0xFF) - { - taskId = CreateTask(sub_808353C, 80); - gTasks[taskId].data[0] = 0; - } -} - -void sub_8083614(void) -{ - gLinkType = 0x4411; - gBattleTypeFlags = 0; - sub_8082CD4(2, 4); -} - -void sub_808363C(void) -{ - gLinkType = 0x6601; - gBattleTypeFlags = 0; - sub_8082CD4(4, 4); -} - -u8 sub_8083664(void) -{ - if (FuncIsActiveTask(sub_8083710) != FALSE) - return 0xFF; - - switch (gSpecialVar_0x8004) - { - case 1: - gLinkType = 0x2233; - break; - case 2: - gLinkType = 0x2244; - break; - case 5: - gLinkType = 0x2255; - break; - case 3: - gLinkType = 0x1111; - break; - case 4: - gLinkType = 0x3322; - break; - } - - return CreateTask(sub_8083710, 80); -} - -static void sub_8083710(u8 taskId) -{ - s16 *data = gTasks[taskId].data; - - if (data[0] == 0) - { - OpenLink(); - ResetLinkPlayers(); - CreateTask(sub_8083C50, 80); - } - else if (data[0] >= 10) - { - gTasks[taskId].func = sub_8083760; - } - data[0]++; -} - -static void sub_8083760(u8 taskId) -{ - if (GetLinkPlayerCount_2() >= 2) - { - if (IsLinkMaster() == TRUE) - gTasks[taskId].func = sub_80837B4; - else - gTasks[taskId].func = sub_80837EC; - } -} - -static void sub_80837B4(u8 taskId) -{ - if (sub_800820C() == GetLinkPlayerCount_2()) - { - sub_8007F4C(); - gTasks[taskId].func = sub_80837EC; - } -} - -static void sub_80837EC(u8 taskId) -{ - if (gReceivedRemoteLinkPlayers == TRUE - && IsLinkPlayerDataExchangeComplete() == TRUE) - { - sub_800826C(); - sub_8007B14(); - DestroyTask(taskId); - } -} - -void sub_8083820(void) -{ - ScrSpecial_DoSaveDialog(); -} - -static void sub_808382C(u8 taskId) -{ - struct Task* task = &gTasks[taskId]; - - switch (task->data[0]) - { - case 0: - FadeScreen(1, 0); - gLinkType = 0x2211; - ClearLinkCallback_2(); - task->data[0]++; - break; - case 1: - if (!gPaletteFade.active) - task->data[0]++; - break; - case 2: - task->data[1]++; - if (task->data[1] > 20) - task->data[0]++; - break; - case 3: - sub_800832C(); - task->data[0]++; - break; - case 4: - if (!gReceivedRemoteLinkPlayers) - task->data[0]++; - break; - case 5: - if (gLinkPlayers[0].trainerId & 1) - current_map_music_set__default_for_battle(BGM_BATTLE32); - else - current_map_music_set__default_for_battle(BGM_BATTLE20); - - switch (gSpecialVar_0x8004) - { - case 1: - gBattleTypeFlags = BATTLE_TYPE_TRAINER | BATTLE_TYPE_LINK; - break; - case 2: - gBattleTypeFlags = BATTLE_TYPE_TRAINER | BATTLE_TYPE_LINK | BATTLE_TYPE_DOUBLE; - break; - case 5: - ReducePlayerPartyToThree(); - gBattleTypeFlags = BATTLE_TYPE_TRAINER | BATTLE_TYPE_LINK | BATTLE_TYPE_DOUBLE | BATTLE_TYPE_MULTI; - break; - } - - SetMainCallback2(sub_800E7C4); - gMain.savedCallback = sub_8083958; - DestroyTask(taskId); - break; - } -} - -static void sub_8083958(void) -{ - Overworld_ResetMapMusic(); - LoadPlayerParty(); - SavePlayerBag(); - sub_810FEFC(); - - if (gSpecialVar_0x8004 != 5) - UpdateLinkBattleRecords(gUnknown_03004860 ^ 1); - - gMain.savedCallback = sub_805465C; - SetMainCallback2(sub_8071B28); -} - -void sub_80839A4(void) -{ - if (gSpecialVar_0x8004 == 1 || gSpecialVar_0x8004 == 2 || gSpecialVar_0x8004 == 5) - { - LoadPlayerParty(); - SavePlayerBag(); - } - copy_saved_warp2_bank_and_enter_x_to_warp1(0x7F); -} - -void sub_80839D0(void) -{ - sub_805559C(); -} - -static void sub_80839DC(u8 taskId) -{ - struct Task* task = &gTasks[taskId]; - - switch (task->data[0]) - { - case 0: - ShowFieldMessage(gUnknown_081A490C); - task->data[0] = 1; - break; - case 1: - if (IsFieldMessageBoxHidden()) - { - sub_8055574(); - sub_8007270(gSpecialVar_0x8005); - task->data[0] = 2; - } - break; - case 2: - switch (sub_80554F8()) - { - case 0: - break; - case 1: - HideFieldMessageBox(); - task->data[0] = 0; - SwitchTaskToFollowupFunc(taskId); - break; - case 2: - task->data[0] = 3; - break; - } - break; - case 3: - sub_8055588(); - HideFieldMessageBox(); - Menu_EraseScreen(); - DestroyTask(taskId); - EnableBothScriptContexts(); - break; - } -} - -void sub_8083A84(TaskFunc followupFunc) -{ - u8 taskId = CreateTask(sub_80839DC, 80); - SetTaskFuncWithFollowupFunc(taskId, sub_80839DC, followupFunc); - ScriptContext1_Stop(); -} - -static void sub_8083AAC(u8 taskId) -{ - struct Task *task = &gTasks[taskId]; - - switch (task->data[0]) - { - case 0: - ScriptContext2_Enable(); - FadeScreen(1, 0); - ClearLinkCallback_2(); - task->data[0]++; - break; - case 1: - if (!gPaletteFade.active) - task->data[0]++; - break; - case 2: - gUnknown_020297D8.field0 = 0; - gUnknown_020297D8.field1 = 0; - m4aMPlayAllStop(); - sub_800832C(); - task->data[0]++; - break; - case 3: - if (!gReceivedRemoteLinkPlayers) - { - SetMainCallback2(sub_8047CD8); - DestroyTask(taskId); - } - break; - } -} - -static void sub_8083B44(u8 taskId) -{ - sub_8083B6C(); - DestroyTask(taskId); -} - -void sub_8083B5C(void) -{ - sub_8083A84(sub_8083B44); -} - -static void sub_8083B6C(void) -{ - CreateTask(sub_8083AAC, 80); -} - -void sub_8083B80(void) -{ - sub_8083B6C(); - ScriptContext1_Stop(); -} - -void sub_8083B90(void) -{ - gLinkType = 0x2211; - sub_8083A84(sub_808382C); -} - -void unref_sub_8083BB0(void) -{ - u8 taskId = CreateTask(sub_80839DC, 80); - SetTaskFuncWithFollowupFunc(taskId, sub_80839DC, Task_RecordMixing_Main); - ScriptContext1_Stop(); -} - -void sub_8083BDC(void) -{ - TrainerCard_ShowLinkCard(gSpecialVar_0x8006, c2_exit_to_overworld_1_continue_scripts_restart_music); -} - -bool32 sub_8083BF4(u8 linkPlayerIndex) -{ - u32 trainerCardColorIndex; - - gSpecialVar_0x8006 = linkPlayerIndex; - StringCopy(gStringVar1, gLinkPlayers[linkPlayerIndex].name); - - trainerCardColorIndex = sub_80934C4(linkPlayerIndex); - if (trainerCardColorIndex == 0) - return FALSE; - - StringCopy(gStringVar2, gTrainerCardColorNames[trainerCardColorIndex - 1]); - return TRUE; -} - -void sub_8083C50(u8 taskId) -{ - struct Task *task = &gTasks[taskId]; - - task->data[0]++; - if (task->data[0] > 300) - { - CloseLink(); - SetMainCallback2(CB2_LinkError); - DestroyTask(taskId); - } - - if (gReceivedRemoteLinkPlayers) - DestroyTask(taskId); -} - -#if DEBUG -extern u16 unk_3004E94; -extern u32 unk_3004E98; - -static void debug_sub_808B7A8(u8); - -void debug_sub_808B778(void) -{ - if (!FuncIsActiveTask(debug_sub_808B7A8)) - CreateTask(debug_sub_808B7A8, 80); - unk_3004E98++; -} - -static void debug_sub_808B7A8(u8 taskId) -{ - gTasks[taskId].data[0]++; - if (gTasks[taskId].data[0] == 30) - { - gTasks[taskId].data[0] = 0; - unk_3004E94 |= 1; - } -} -#endif - -static void sub_8083CA4(u8 taskId) -{ - if (!gReceivedRemoteLinkPlayers) - { - EnableBothScriptContexts(); - DestroyTask(taskId); - } -} - -void unref_sub_8083CC8(u8 taskId) -{ - sub_800832C(); - gTasks[taskId].func = sub_8083CA4; -} - -#if DEBUG -EWRAM_DATA static u8 unk_2030220 = 0; - -void debug_sub_808B82C(void) -{ - unk_2030220 = 0; -} - -void debug_sub_808B838(u8 a) -{ - unk_2030220 |= 1 << a; -} - -static u8 debug_sub_808B850(void) -{ - return unk_2030220; -} -#endif |