diff options
-rw-r--r-- | asm/cable_club.s | 406 | ||||
-rw-r--r-- | include/link.h | 2 | ||||
-rw-r--r-- | ld_script.txt | 2 | ||||
-rw-r--r-- | src/battle_811DA74.c | 1 | ||||
-rw-r--r-- | src/cable_club.c | 304 | ||||
-rw-r--r-- | src/matsuda_debug_menu.c | 1 | ||||
-rw-r--r-- | src/record_mixing.c | 2 | ||||
-rw-r--r-- | src/rom3.c | 1 |
8 files changed, 312 insertions, 407 deletions
diff --git a/asm/cable_club.s b/asm/cable_club.s index 4c9dca6af..bd7a2bd5c 100644 --- a/asm/cable_club.s +++ b/asm/cable_club.s @@ -464,413 +464,15 @@ _08083034: .4byte gTasks _08083038: .4byte sub_808303C thumb_func_end sub_8082FEC - thumb_func_start sub_808303C -sub_808303C: @ 808303C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - mov r8, r0 - ldr r0, _080830D0 @ =gTasks + 0x8 - mov r9, r0 - mov r7, r8 - add r7, r9 - bl GetLinkPlayerCount_2 - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r4, 0 - bl sub_8082E28 - cmp r0, 0x1 - beq _080830C2 - adds r0, r4, 0 - bl sub_8082EB8 - cmp r0, 0x1 - beq _080830C2 - adds r0, r4, 0 - bl sub_8082DF4 - cmp r0, 0x1 - beq _080830C2 - adds r6, r5, 0 - adds r0, r4, 0 - adds r1, r6, 0 - bl sub_8082D60 - ldr r0, _080830D4 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080830C2 - movs r1, 0x2 - ldrsh r0, [r7, r1] - cmp r5, r0 - blt _080830C2 - adds r0, r6, 0 - bl sub_80081C8 - bl sub_8082D4C - ldr r0, _080830D8 @ =gStringVar1 - adds r1, r5, 0 - movs r2, 0 - movs r3, 0x1 - bl ConvertIntToDecimalStringN - ldr r0, _080830DC @ =gUnknown_081A4975 - bl ShowFieldAutoScrollMessage - mov r0, r9 - subs r0, 0x8 - add r0, r8 - ldr r1, _080830E0 @ =sub_80830E4 - str r1, [r0] -_080830C2: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080830D0: .4byte gTasks + 0x8 -_080830D4: .4byte gMain -_080830D8: .4byte gStringVar1 -_080830DC: .4byte gUnknown_081A4975 -_080830E0: .4byte sub_80830E4 - thumb_func_end sub_808303C +.section .text_80830E4 + + + - thumb_func_start sub_80830E4 -sub_80830E4: @ 80830E4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r6, r5, 0 - adds r0, r5, 0 - bl sub_8082E28 - cmp r0, 0x1 - beq _08083178 - adds r0, r5, 0 - bl sub_8082EB8 - cmp r0, 0x1 - beq _08083178 - adds r0, r5, 0 - bl sub_8082DF4 - cmp r0, 0x1 - beq _08083178 - bl GetFieldMessageBoxMode - lsls r0, 24 - cmp r0, 0 - bne _08083178 - bl sub_800820C - adds r4, r0, 0 - bl GetLinkPlayerCount_2 - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - bne _08083132 - ldr r0, _08083148 @ =gMain - ldrh r1, [r0, 0x2C] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08083158 -_08083132: - ldr r0, _0808314C @ =gUnknown_081A4932 - bl ShowFieldAutoScrollMessage - ldr r1, _08083150 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _08083154 @ =sub_8082FEC - str r1, [r0] - b _08083178 - .align 2, 0 -_08083148: .4byte gMain -_0808314C: .4byte gUnknown_081A4932 -_08083150: .4byte gTasks -_08083154: .4byte sub_8082FEC -_08083158: - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08083178 - movs r0, 0x5 - bl PlaySE - bl sub_8007F4C - ldr r0, _08083180 @ =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - ldr r0, _08083184 @ =sub_8083188 - str r0, [r1] -_08083178: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08083180: .4byte gTasks -_08083184: .4byte sub_8083188 - thumb_func_end sub_80830E4 - thumb_func_start sub_8083188 -sub_8083188: @ 8083188 - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _080831CC @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r5, r0, r1 - ldrb r7, [r5, 0xA] - ldrb r6, [r5, 0xC] - adds r0, r4, 0 - bl sub_8082DF4 - cmp r0, 0x1 - beq _080831EA - adds r0, r4, 0 - bl sub_8083444 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080831EA - bl GetLinkPlayerCount_2 - adds r4, r0, 0 - bl sub_800820C - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - beq _080831D4 - ldr r0, _080831D0 @ =sub_8083418 - b _080831E8 - .align 2, 0 -_080831CC: .4byte gTasks -_080831D0: .4byte sub_8083418 -_080831D4: - ldr r4, _080831F0 @ =gScriptResult - adds r0, r7, 0 - adds r1, r6, 0 - bl sub_8082D9C - strh r0, [r4] - lsls r0, 16 - cmp r0, 0 - beq _080831EA - ldr r0, _080831F4 @ =sub_8083288 -_080831E8: - str r0, [r5] -_080831EA: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080831F0: .4byte gScriptResult -_080831F4: .4byte sub_8083288 - thumb_func_end sub_8083188 - thumb_func_start sub_80831F8 -sub_80831F8: @ 80831F8 - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _08083244 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r5, r0, r1 - ldrb r7, [r5, 0xA] - ldrb r6, [r5, 0xC] - adds r0, r4, 0 - bl sub_8082E28 - cmp r0, 0x1 - beq _08083270 - adds r0, r4, 0 - bl sub_8082DF4 - cmp r0, 0x1 - beq _08083270 - ldr r4, _08083248 @ =gScriptResult - adds r0, r7, 0 - adds r1, r6, 0 - bl sub_8082D9C - strh r0, [r4] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - beq _08083270 - cmp r0, 0x3 - bne _08083250 - bl sub_800832C - bl HideFieldMessageBox - ldr r0, _0808324C @ =sub_80833C4 - b _0808326E - .align 2, 0 -_08083244: .4byte gTasks -_08083248: .4byte gScriptResult -_0808324C: .4byte sub_80833C4 -_08083250: - bl GetLinkPlayerCount_2 - ldr r4, _08083278 @ =gFieldLinkPlayerCount - strb r0, [r4] - bl GetMultiplayerId - ldr r1, _0808327C @ =gUnknown_03004860 - strb r0, [r1] - ldrb r0, [r4] - bl sub_80081C8 - ldr r0, _08083280 @ =gBlockSendBuffer - bl sub_8093390 - ldr r0, _08083284 @ =sub_8083314 -_0808326E: - str r0, [r5] -_08083270: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08083278: .4byte gFieldLinkPlayerCount -_0808327C: .4byte gUnknown_03004860 -_08083280: .4byte gBlockSendBuffer -_08083284: .4byte sub_8083314 - thumb_func_end sub_80831F8 - thumb_func_start sub_8083288 -sub_8083288: @ 8083288 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - adds r0, r4, 0 - bl sub_8082DF4 - cmp r0, 0x1 - beq _080832F8 - ldr r0, _080832BC @ =gScriptResult - ldrh r0, [r0] - cmp r0, 0x3 - bne _080832C8 - bl sub_800832C - bl HideFieldMessageBox - ldr r0, _080832C0 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _080832C4 @ =sub_80833C4 - str r0, [r1] - b _080832F8 - .align 2, 0 -_080832BC: .4byte gScriptResult -_080832C0: .4byte gTasks -_080832C4: .4byte sub_80833C4 -_080832C8: - bl GetLinkPlayerCount_2 - ldr r4, _08083300 @ =gFieldLinkPlayerCount - strb r0, [r4] - bl GetMultiplayerId - ldr r1, _08083304 @ =gUnknown_03004860 - strb r0, [r1] - ldrb r0, [r4] - bl sub_80081C8 - ldr r0, _08083308 @ =gBlockSendBuffer - bl sub_8093390 - ldr r1, _0808330C @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _08083310 @ =sub_8083314 - str r1, [r0] - movs r0, 0x2 - bl sub_8007E9C -_080832F8: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08083300: .4byte gFieldLinkPlayerCount -_08083304: .4byte gUnknown_03004860 -_08083308: .4byte gBlockSendBuffer -_0808330C: .4byte gTasks -_08083310: .4byte sub_8083314 - thumb_func_end sub_8083288 - thumb_func_start sub_8083314 -sub_8083314: @ 8083314 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r5, 0 - bl sub_8082DF4 - cmp r0, 0x1 - beq _080833B6 - bl GetBlockReceivedStatus - adds r4, r0, 0 - bl sub_8008198 - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - bne _080833B6 - movs r4, 0 - ldr r6, _0808333C @ =gTrainerCards - b _0808335A - .align 2, 0 -_0808333C: .4byte gTrainerCards -_08083340: - lsls r1, r4, 8 - ldr r0, _08083394 @ =gBlockRecvBuffer - adds r1, r0 - lsls r0, r4, 3 - subs r0, r4 - lsls r0, 3 - adds r0, r6 - movs r2, 0x38 - bl memcpy - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 -_0808335A: - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bcc _08083340 - movs r0, 0 - bl SetSuppressLinkErrorMessage - bl ResetBlockReceivedFlags - bl HideFieldMessageBox - ldr r0, _08083398 @ =gScriptResult - ldrh r0, [r0] - cmp r0, 0x1 - bne _080833A4 - ldr r0, _0808339C @ =gLinkType - ldrh r1, [r0] - ldr r0, _080833A0 @ =0x00004411 - bl sub_8082D4C - bl EnableBothScriptContexts - adds r0, r5, 0 - bl DestroyTask - b _080833B6 - .align 2, 0 -_08083394: .4byte gBlockRecvBuffer -_08083398: .4byte gScriptResult -_0808339C: .4byte gLinkType -_080833A0: .4byte 0x00004411 -_080833A4: - bl sub_800832C - ldr r0, _080833BC @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, _080833C0 @ =sub_80833C4 - str r0, [r1] -_080833B6: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080833BC: .4byte gTasks -_080833C0: .4byte sub_80833C4 - thumb_func_end sub_8083314 thumb_func_start sub_80833C4 sub_80833C4: @ 80833C4 diff --git a/include/link.h b/include/link.h index f88cf8f5a..eb6f642bc 100644 --- a/include/link.h +++ b/include/link.h @@ -124,8 +124,10 @@ struct Link extern struct Link gLink; extern u16 gRecvCmds[CMD_LENGTH][MAX_LINK_PLAYERS]; +extern u8 gBlockSendBuffer[BLOCK_BUFFER_SIZE]; extern u16 gLinkType; extern u32 gLinkStatus; +extern u16 gBlockRecvBuffer[MAX_LINK_PLAYERS][BLOCK_BUFFER_SIZE / 2]; extern u16 gSendCmd[CMD_LENGTH]; extern u8 gShouldAdvanceLinkState; extern struct LinkPlayer gLinkPlayers[]; diff --git a/ld_script.txt b/ld_script.txt index c68da5bf3..7d92e2f7a 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -130,6 +130,8 @@ SECTIONS { asm/field_screen_effect.o(.text); src/battle_setup.o(.text); asm/cable_club.o(.text); + src/cable_club.o(.text); + asm/cable_club.o(.text_80830E4); src/mori_debug_menu.o(.text); src/trainer_see.o(.text); src/wild_encounter.o(.text); diff --git a/src/battle_811DA74.c b/src/battle_811DA74.c index 4d66910ba..328b45f49 100644 --- a/src/battle_811DA74.c +++ b/src/battle_811DA74.c @@ -69,7 +69,6 @@ extern void c3_0802FDF4(u8); extern void sub_8031F88(); extern void sub_8141828(); extern void c2_8011A1C(void); -extern void sub_800832C(); extern void dp01_prepare_buffer_wireless_probably(); extern void dp01_build_cmdbuf_x1D_1D_numargs_varargs(int, u16, void *); diff --git a/src/cable_club.c b/src/cable_club.c new file mode 100644 index 000000000..45fb347f3 --- /dev/null +++ b/src/cable_club.c @@ -0,0 +1,304 @@ +#include "global.h" +#include "asm.h" +#include "field_message_box.h" +#include "link.h" +#include "main.h" +#include "script.h" +#include "songs.h" +#include "sound.h" +#include "string_util.h" +#include "task.h" +#include "text.h" +#include "trainer_card.h" + +extern u16 gScriptResult; +extern struct TrainerCard gTrainerCards[4]; + +extern u8 gUnknown_03004860; +extern u8 gFieldLinkPlayerCount; + +extern u8 gUnknown_081A4932[]; +extern const u8 gUnknown_081A4975[]; + +void sub_8082D4C(); +void sub_8082D60(u8, u8); +u16 sub_8082D9C(u8, u8); +u32 sub_8082DF4(u8); +u32 sub_8082E28(u8); +u32 sub_8082EB8(u8); +void sub_8082FEC(u8 taskId); +static void sub_80830E4(u8 taskId); +void sub_8083188(u8 taskId); +static void sub_8083288(u8 taskId); +static void sub_8083314(u8 taskId); +void sub_80833C4(u8 taskId); +void sub_8083418(u8 taskId); +u8 sub_8083444(u8 taskId); + +void sub_808303C(u8 taskId) { + s32 linkPlayerCount; + s16 *taskData; + + taskData = gTasks[taskId].data; + + linkPlayerCount = GetLinkPlayerCount_2(); + + if (sub_8082E28(taskId) == 1 || + sub_8082EB8(taskId) == 1 || + sub_8082DF4(taskId) == 1) + { + return; + } + + sub_8082D60(taskId, linkPlayerCount); + + if (!(gMain.newKeys & A_BUTTON)) + { + return; + } + + if (linkPlayerCount < taskData[1]) + { + return; + } + + sub_80081C8(linkPlayerCount); + sub_8082D4C(); + ConvertIntToDecimalStringN(gStringVar1, linkPlayerCount, STR_CONV_MODE_LEFT_ALIGN, 1); // r5 + ShowFieldAutoScrollMessage((u8 *) gUnknown_081A4975); + gTasks[taskId].func = sub_80830E4; +} + +#ifdef NONMATCHING +static void sub_80830E4(u8 taskId) { + if (sub_8082E28(taskId) == 1 || + sub_8082EB8(taskId) == 1 || + sub_8082DF4(taskId) == 1 || + GetFieldMessageBoxMode()) + { + return; + } + + if (sub_800820C() == GetLinkPlayerCount_2() && + !(gMain.heldKeys & B_BUTTON)) + { + ShowFieldAutoScrollMessage(gUnknown_081A4932); + gTasks[taskId].func = sub_8082FEC; + return; + } + + if (gMain.heldKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + sub_8007F4C(); + gTasks[(u32) taskId].func = sub_8083188; + } +} +#else +__attribute__((naked)) +static void sub_80830E4(u8 taskId) { + asm(".syntax unified\n\ + push {r4-r6,lr}\n\ + lsls r0, 24\n\ + lsrs r5, r0, 24\n\ + adds r6, r5, 0\n\ + adds r0, r5, 0\n\ + bl sub_8082E28\n\ + cmp r0, 0x1\n\ + beq _08083178\n\ + adds r0, r5, 0\n\ + bl sub_8082EB8\n\ + cmp r0, 0x1\n\ + beq _08083178\n\ + adds r0, r5, 0\n\ + bl sub_8082DF4\n\ + cmp r0, 0x1\n\ + beq _08083178\n\ + bl GetFieldMessageBoxMode\n\ + lsls r0, 24\n\ + cmp r0, 0\n\ + bne _08083178\n\ + bl sub_800820C\n\ + adds r4, r0, 0\n\ + bl GetLinkPlayerCount_2\n\ + lsls r4, 24\n\ + lsls r0, 24\n\ + cmp r4, r0\n\ + bne _08083132\n\ + ldr r0, _08083148 @ =gMain\n\ + ldrh r1, [r0, 0x2C]\n\ + movs r0, 0x2\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _08083158\n\ +_08083132:\n\ + ldr r0, _0808314C @ =gUnknown_081A4932\n\ + bl ShowFieldAutoScrollMessage\n\ + ldr r1, _08083150 @ =gTasks\n\ + lsls r0, r5, 2\n\ + adds r0, r5\n\ + lsls r0, 3\n\ + adds r0, r1\n\ + ldr r1, _08083154 @ =sub_8082FEC\n\ + str r1, [r0]\n\ + b _08083178\n\ + .align 2, 0\n\ +_08083148: .4byte gMain\n\ +_0808314C: .4byte gUnknown_081A4932\n\ +_08083150: .4byte gTasks\n\ +_08083154: .4byte sub_8082FEC\n\ +_08083158:\n\ + movs r0, 0x1\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _08083178\n\ + movs r0, 0x5\n\ + bl PlaySE\n\ + bl sub_8007F4C\n\ + ldr r0, _08083180 @ =gTasks\n\ + lsls r1, r6, 2\n\ + adds r1, r6\n\ + lsls r1, 3\n\ + adds r1, r0\n\ + ldr r0, _08083184 @ =sub_8083188\n\ + str r0, [r1]\n\ +_08083178:\n\ + pop {r4-r6}\n\ + pop {r0}\n\ + bx r0\n\ + .align 2, 0\n\ +_08083180: .4byte gTasks\n\ +_08083184: .4byte sub_8083188\n\ + .syntax divided\n"); +} +#endif + +void sub_8083188(u8 taskId) { + u8 local1, local2; + u16 *result; + + local1 = gTasks[taskId].data[1]; + local2 = gTasks[taskId].data[2]; + + + if (sub_8082DF4(taskId) == 1 || + sub_8083444(taskId) == 1) + { + return; + } + + if (GetLinkPlayerCount_2() != sub_800820C()) + { + gTasks[taskId].func = sub_8083418; + return; + } + + result = &gScriptResult; + *result = sub_8082D9C(local1, local2); + if (*result) + { + gTasks[taskId].func = sub_8083288; + } +} + +void sub_80831F8(u8 taskId) { + u8 local1, local2; + u16 *result; + + local1 = gTasks[taskId].data[1]; + local2 = gTasks[taskId].data[2]; + + if (sub_8082E28(taskId) == 1 || + sub_8082DF4(taskId) == 1) + { + return; + } + + result = &gScriptResult; + *result = sub_8082D9C(local1, local2); + if (*result == 0) + { + return; + } + + + if (*result == 3) + { + sub_800832C(); + HideFieldMessageBox(); + gTasks[taskId].func = sub_80833C4; + } + else + { + gFieldLinkPlayerCount = GetLinkPlayerCount_2(); + gUnknown_03004860 = GetMultiplayerId(); + sub_80081C8(gFieldLinkPlayerCount); + sub_8093390((struct TrainerCard *) gBlockSendBuffer); + gTasks[taskId].func = sub_8083314; + } +} + +static void sub_8083288(u8 taskId) { + if (sub_8082DF4(taskId) == 1) + { + return; + } + + if (gScriptResult == 3) + { + sub_800832C(); + HideFieldMessageBox(); + gTasks[taskId].func = sub_80833C4; + } + else + { + gFieldLinkPlayerCount = GetLinkPlayerCount_2(); + gUnknown_03004860 = GetMultiplayerId(); + sub_80081C8(gFieldLinkPlayerCount); + sub_8093390((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) == 1) + { + 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 (gScriptResult == 1) + { + u16 linkType; + linkType = gLinkType; + sub_8082D4C(0x00004411, linkType); + EnableBothScriptContexts(); + DestroyTask(taskId); + return; + } + + sub_800832C(); + gTasks[taskId].func = sub_80833C4; +} diff --git a/src/matsuda_debug_menu.c b/src/matsuda_debug_menu.c index 57769db23..d2ca754bb 100644 --- a/src/matsuda_debug_menu.c +++ b/src/matsuda_debug_menu.c @@ -64,7 +64,6 @@ extern u8* gMatsudaDebugMenuTextList3[]; extern u8 gMatsudaDebugMenuContestTopLeft[][2]; extern bool8 gReceivedRemoteLinkPlayers; -extern u16 gBlockRecvBuffer[MAX_LINK_PLAYERS][BLOCK_BUFFER_SIZE / 2]; extern struct MenuAction gMatsudaDebugMenuActions[]; diff --git a/src/record_mixing.c b/src/record_mixing.c index c08128637..76fe13059 100644 --- a/src/record_mixing.c +++ b/src/record_mixing.c @@ -31,8 +31,6 @@ extern u8 gUnknown_0300071C[]; extern u8 gOtherText_MixingComplete[]; extern u8 gOtherText_MixingRecordsWithFriend[]; extern bool8 gReceivedRemoteLinkPlayers; -extern u8 gBlockSendBuffer[BLOCK_BUFFER_SIZE]; -extern u16 gBlockRecvBuffer[MAX_LINK_PLAYERS][BLOCK_BUFFER_SIZE / 2]; #define BUFFER_CHUNK_SIZE 200 diff --git a/src/rom3.c b/src/rom3.c index b0ef7f088..126248705 100644 --- a/src/rom3.c +++ b/src/rom3.c @@ -13,7 +13,6 @@ extern u8 unk_2000000[]; #define EWRAM_15000 ((u8 *)(unk_2000000 + 0x15000)) extern u16 gBattleTypeFlags; -extern u16 gBlockRecvBuffer[MAX_LINK_PLAYERS][BLOCK_BUFFER_SIZE / 2]; extern const u32 gBitTable[]; extern u16 gBattleWeather; extern const struct BattleMove gBattleMoves[]; |