From 10aea2512150731570c997ad11b4c3144f51ef8b Mon Sep 17 00:00:00 2001 From: YamaArashi Date: Mon, 2 Jan 2017 03:24:03 -0800 Subject: gUnknown_0203869A -> gIsLinkContest --- src/matsuda_debug_menu.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/matsuda_debug_menu.c') diff --git a/src/matsuda_debug_menu.c b/src/matsuda_debug_menu.c index df2ca3206..c74f4db0d 100644 --- a/src/matsuda_debug_menu.c +++ b/src/matsuda_debug_menu.c @@ -13,7 +13,7 @@ #define BIT(n) (1 << (n)) -extern u8 gUnknown_0203869A; +extern u8 gIsLinkContest; extern u8 gUnknown_0203869B; extern u8 gContestPlayerMonIndex; extern u16 gScriptContestCategory; @@ -135,7 +135,7 @@ static void sub_80A9BE4(u8 taskId) { DestroyTask(taskId); - if(!(gUnknown_0203869A & 1)) + if(!(gIsLinkContest & 1)) sub_80AF668(); sub_80C2358(); @@ -144,7 +144,7 @@ static void sub_80A9BE4(u8 taskId) s8 MatsudaDebugMenu_Contest(void) { - gUnknown_0203869A = 0; + gIsLinkContest = 0; sub_80AA10C(); return 0; } @@ -289,7 +289,7 @@ static void sub_80A9F10(u8 taskId) gContestPlayerMonIndex = GetMultiplayerId(); if(GetLinkPlayerCount() == 4) { - gUnknown_0203869A = 1; + gIsLinkContest = 1; SwitchTaskToFollowupFunc(taskId); } } -- cgit v1.2.3 From 41d2b112ebdf91da3d85b4495ceb95e69d69ef0a Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Wed, 4 Jan 2017 16:32:45 -0600 Subject: almost finish decompiling matsuda_debug_menu.c (#158) * almost finish decompiling matsuda_debug_menu.c * rename sub_8071C20 to CloseMenu --- src/matsuda_debug_menu.c | 940 +++++++++++++++++++++++------------------------ 1 file changed, 463 insertions(+), 477 deletions(-) (limited to 'src/matsuda_debug_menu.c') diff --git a/src/matsuda_debug_menu.c b/src/matsuda_debug_menu.c index c74f4db0d..131369e91 100644 --- a/src/matsuda_debug_menu.c +++ b/src/matsuda_debug_menu.c @@ -13,12 +13,18 @@ #define BIT(n) (1 << (n)) +extern u8 gUnknown_0203856C; +extern u8 gUnknown_0203857D[][64]; +extern u16 gUnknown_02038670[]; +extern u16 gUnknown_02038678[]; +extern u16 gUnknown_02038680[]; +extern u8 gUnknown_02038690[]; +extern u8 gUnknown_02038694; extern u8 gIsLinkContest; extern u8 gUnknown_0203869B; extern u8 gContestPlayerMonIndex; extern u16 gScriptContestCategory; extern u16 gScriptContestRank; -extern u8 (*gCallback_03004AE8)(void); extern struct Window gMenuWindow; @@ -30,14 +36,14 @@ extern u16 gUnknown_03004288; extern u16 gUnknown_03004280; extern u16 gUnknown_030041B0; extern u16 gUnknown_030041B8; +extern struct Window gUnknown_03004210; +extern u8 (*gCallback_03004AE8)(void); -extern u8 gUnknown_02038694; -extern u8 gUnknown_083C9296[]; -extern u8 gUnknown_083C92A8[]; -extern u8 gUnknown_083C9282[]; -extern u8 gUnknown_0203857D[][64]; extern u8 gUnknown_083C926E[][2]; +extern u8 gUnknown_083C9282[]; extern const u8 gUnknown_083C928E[][2]; +extern u8 gUnknown_083C9296[]; +extern u8 gUnknown_083C92A8[]; extern u8 unk_2000000[]; extern u8 gMatsudaDebugMenu_GoBackText[]; extern u8 gMatsudaDebugMenu_BattlePointsText[]; @@ -46,6 +52,8 @@ extern u8 gMatsudaDebugMenu_StartText[]; extern struct SpritePalette gUnknown_083C92BC; extern struct SpriteSheet gUnknown_083C92B4; extern struct SpriteTemplate gSpriteTemplate_83C92CC; +extern void (*gUnknown_083C92E4[][2])(struct Sprite *, s8); +extern u32 gUnknown_083C9400[2]; extern u8 gMoveNames[][13]; @@ -94,6 +102,10 @@ static void sub_80A9F10(u8); static void sub_80AA10C(void); static void sub_80AA5BC(u8); static void sub_80AA614(u8, u8); +static void sub_80AAD08(struct Sprite *, s8); +extern void sub_80AB184(void); +extern void sub_80AB47C(void); +extern int sub_80B2A7C(u8); //Don't know return type size u8 unref_sub_80A9B28(void) { @@ -117,7 +129,7 @@ static bool8 sub_80A9B78(void) gCallback_03004AE8 = gMatsudaDebugMenuActions[choice].func; return FALSE; case -1: - sub_8071C20(); + CloseMenu(); return TRUE; } } @@ -190,7 +202,7 @@ static void sub_80A9CF8(u8 taskId) { DestroyTask(gTasks[taskId].data[10]); DestroyTask(taskId); - sub_8071C20(); + CloseMenu(); } } @@ -223,7 +235,7 @@ static void sub_80A9DD8(u8 taskId) { DestroyTask(gTasks[taskId].data[10]); DestroyTask(taskId); - sub_8071C20(); + CloseMenu(); } static void sub_80A9E04(u8 taskId) @@ -532,186 +544,48 @@ void SetDebugMonForContest(void) SetMonData(&gPlayerParty[0], MON_DATA_MOVE4, (const u8 *) &gContestMons[gContestPlayerMonIndex].moves[3]); } -// too complicated -__attribute__((naked)) void sub_80AA754(struct Sprite *sprite) { - asm(".syntax unified\n\ - push {r4,lr}\n\ - adds r4, r0, 0\n\ - ldr r0, _080AA774 @ =gMain\n\ - ldrh r1, [r0, 0x30]\n\ - cmp r1, 0x20\n\ - beq _080AA7A2\n\ - cmp r1, 0x20\n\ - bgt _080AA782\n\ - cmp r1, 0x2\n\ - beq _080AA7F8\n\ - cmp r1, 0x2\n\ - bgt _080AA778\n\ - cmp r1, 0x1\n\ - beq _080AA7D8\n\ - b _080AA870\n\ - .align 2, 0\n\ -_080AA774: .4byte gMain\n\ -_080AA778:\n\ - cmp r1, 0x8\n\ - beq _080AA868\n\ - cmp r1, 0x10\n\ - beq _080AA7A2\n\ - b _080AA870\n\ -_080AA782:\n\ - cmp r1, 0x80\n\ - beq _080AA7C2\n\ - cmp r1, 0x80\n\ - bgt _080AA790\n\ - cmp r1, 0x40\n\ - beq _080AA7AC\n\ - b _080AA870\n\ -_080AA790:\n\ - movs r0, 0x80\n\ - lsls r0, 1\n\ - cmp r1, r0\n\ - beq _080AA814\n\ - movs r0, 0x80\n\ - lsls r0, 2\n\ - cmp r1, r0\n\ - beq _080AA834\n\ - b _080AA870\n\ -_080AA7A2:\n\ - ldrh r0, [r4, 0x2E]\n\ - movs r1, 0x1\n\ - eors r0, r1\n\ - strh r0, [r4, 0x2E]\n\ - b _080AA870\n\ -_080AA7AC:\n\ - ldrh r1, [r4, 0x30]\n\ - movs r2, 0x30\n\ - ldrsh r0, [r4, r2]\n\ - cmp r0, 0\n\ - bne _080AA7BC\n\ - movs r0, 0x8\n\ - strh r0, [r4, 0x30]\n\ - b _080AA870\n\ -_080AA7BC:\n\ - subs r0, r1, 0x1\n\ - strh r0, [r4, 0x30]\n\ - b _080AA870\n\ -_080AA7C2:\n\ - ldrh r1, [r4, 0x30]\n\ - movs r3, 0x30\n\ - ldrsh r0, [r4, r3]\n\ - cmp r0, 0x8\n\ - bne _080AA7D2\n\ - movs r0, 0\n\ - strh r0, [r4, 0x30]\n\ - b _080AA870\n\ -_080AA7D2:\n\ - adds r0, r1, 0x1\n\ - strh r0, [r4, 0x30]\n\ - b _080AA870\n\ -_080AA7D8:\n\ - ldr r2, _080AA7F4 @ =gUnknown_083C92E4\n\ - movs r1, 0x2E\n\ - ldrsh r0, [r4, r1]\n\ - lsls r0, 2\n\ - movs r3, 0x30\n\ - ldrsh r1, [r4, r3]\n\ - lsls r1, 3\n\ - adds r0, r1\n\ - adds r0, r2\n\ - ldr r2, [r0]\n\ - adds r0, r4, 0\n\ - movs r1, 0x1\n\ - b _080AA84E\n\ - .align 2, 0\n\ -_080AA7F4: .4byte gUnknown_083C92E4\n\ -_080AA7F8:\n\ - ldr r1, _080AA810 @ =gUnknown_083C92E4\n\ - movs r0, 0x2E\n\ - ldrsh r2, [r4, r0]\n\ - lsls r2, 2\n\ - movs r3, 0x30\n\ - ldrsh r0, [r4, r3]\n\ - lsls r0, 3\n\ - adds r2, r0\n\ - adds r2, r1\n\ - movs r1, 0x1\n\ - negs r1, r1\n\ - b _080AA84A\n\ - .align 2, 0\n\ -_080AA810: .4byte gUnknown_083C92E4\n\ -_080AA814:\n\ - ldr r2, _080AA830 @ =gUnknown_083C92E4\n\ - movs r1, 0x2E\n\ - ldrsh r0, [r4, r1]\n\ - lsls r0, 2\n\ - movs r3, 0x30\n\ - ldrsh r1, [r4, r3]\n\ - lsls r1, 3\n\ - adds r0, r1\n\ - adds r0, r2\n\ - ldr r2, [r0]\n\ - adds r0, r4, 0\n\ - movs r1, 0xA\n\ - b _080AA84E\n\ - .align 2, 0\n\ -_080AA830: .4byte gUnknown_083C92E4\n\ -_080AA834:\n\ - ldr r1, _080AA864 @ =gUnknown_083C92E4\n\ - movs r0, 0x2E\n\ - ldrsh r2, [r4, r0]\n\ - lsls r2, 2\n\ - movs r3, 0x30\n\ - ldrsh r0, [r4, r3]\n\ - lsls r0, 3\n\ - adds r2, r0\n\ - adds r2, r1\n\ - movs r1, 0xA\n\ - negs r1, r1\n\ -_080AA84A:\n\ - ldr r2, [r2]\n\ - adds r0, r4, 0\n\ -_080AA84E:\n\ - bl _call_via_r2\n\ - ldrh r0, [r4, 0x32]\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - ldrh r1, [r4, 0x34]\n\ - lsls r1, 24\n\ - lsrs r1, 24\n\ - bl sub_80AA614\n\ - b _080AA870\n\ - .align 2, 0\n\ -_080AA864: .4byte gUnknown_083C92E4\n\ -_080AA868:\n\ - adds r0, r4, 0\n\ - movs r1, 0x1\n\ - bl sub_80AAD08\n\ -_080AA870:\n\ - ldr r2, _080AA898 @ =gUnknown_083C9296\n\ - movs r0, 0x2E\n\ - ldrsh r1, [r4, r0]\n\ - movs r3, 0x30\n\ - ldrsh r0, [r4, r3]\n\ - lsls r0, 1\n\ - adds r1, r0\n\ - adds r1, r2\n\ - ldrb r0, [r1]\n\ - strh r0, [r4, 0x20]\n\ - ldr r1, _080AA89C @ =gUnknown_083C92A8\n\ - movs r2, 0x30\n\ - ldrsh r0, [r4, r2]\n\ - adds r0, r1\n\ - ldrb r0, [r0]\n\ - strh r0, [r4, 0x22]\n\ - pop {r4}\n\ - pop {r0}\n\ - bx r0\n\ - .align 2, 0\n\ -_080AA898: .4byte gUnknown_083C9296\n\ -_080AA89C: .4byte gUnknown_083C92A8\n\ - .syntax divided"); + switch (gMain.newAndRepeatedKeys) + { + case 0x10: + case 0x20: + sprite->data0 ^= 1; + break; + case 0x40: + if (sprite->data1 == 0) + sprite->data1 = 8; + else + sprite->data1--; + break; + case 0x80: + if (sprite->data1 == 8) + sprite->data1 = 0; + else + sprite->data1++; + break; + case 0x1: + gUnknown_083C92E4[sprite->data1][sprite->data0](sprite, 1); + sub_80AA614(sprite->data2, sprite->data3); + break; + case 0x2: + gUnknown_083C92E4[sprite->data1][sprite->data0](sprite, -1); + sub_80AA614(sprite->data2, sprite->data3); + break; + case 0x100: + gUnknown_083C92E4[sprite->data1][sprite->data0](sprite, 10); + sub_80AA614(sprite->data2, sprite->data3); + break; + case 0x200: + gUnknown_083C92E4[sprite->data1][sprite->data0](sprite, -10); + sub_80AA614(sprite->data2, sprite->data3); + break; + case 0x8: + sub_80AAD08(sprite, 1); + break; + } + sprite->pos1.x = gUnknown_083C9296[sprite->data0 + sprite->data1 * 2]; + sprite->pos1.y = gUnknown_083C92A8[sprite->data1]; } static void sub_80AA8A0(struct Sprite *sprite, s8 var1, u8 var2) @@ -849,298 +723,410 @@ void sub_80AABB0(struct Sprite *sprite, u8 var2) sub_80AA4F0(sprite->data2, 3); } -// hard/weird function #2 -__attribute__((naked)) -void sub_80AABF0(struct Sprite *sprite, u8 var2) -{ - asm(".syntax unified\n\ - push {r4,r5,lr}\n\ - adds r5, r0, 0\n\ - lsls r1, 24\n\ - movs r0, 0xFF\n\ - cmp r1, 0\n\ - ble _080AABFE\n\ - movs r0, 0x1\n\ -_080AABFE:\n\ - lsls r0, 24\n\ - asrs r0, 24\n\ - ldrh r1, [r5, 0x34]\n\ - adds r0, r1\n\ - lsls r0, 24\n\ - lsrs r4, r0, 24\n\ - asrs r0, 24\n\ - cmp r0, 0\n\ - bge _080AAC14\n\ - movs r4, 0\n\ - b _080AAC1A\n\ -_080AAC14:\n\ - cmp r0, 0x4\n\ - ble _080AAC1A\n\ - movs r4, 0x4\n\ -_080AAC1A:\n\ - lsls r4, 24\n\ - lsrs r0, r4, 24\n\ - bl sub_80AA5BC\n\ - asrs r4, 24\n\ - strh r4, [r5, 0x34]\n\ - ldr r0, _080AAC54 @ =gScriptContestCategory\n\ - strh r4, [r0]\n\ - lsls r4, 24\n\ - lsrs r4, 24\n\ - ldr r0, _080AAC58 @ =gScriptContestRank\n\ - ldrb r1, [r0]\n\ - adds r0, r4, 0\n\ - bl sub_80AE398\n\ - ldrh r0, [r5, 0x32]\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - bl sub_80AA280\n\ - ldrh r0, [r5, 0x32]\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - bl sub_80AA658\n\ - pop {r4,r5}\n\ - pop {r0}\n\ - bx r0\n\ - .align 2, 0\n\ -_080AAC54: .4byte gScriptContestCategory\n\ -_080AAC58: .4byte gScriptContestRank\n\ - .syntax divided"); +void sub_80AABF0(struct Sprite *sprite, s8 var2) +{ + s8 a = (var2 > 0) ? 1 : -1; + s8 r4 = sprite->data3 + a; + + if (r4 < 0) + r4 = 0; + else if (r4 > 4) + r4 = 4; + sub_80AA5BC(r4); + sprite->data3 = r4; + gScriptContestCategory = sprite->data3; + sub_80AE398(sprite->data3, gScriptContestRank); + sub_80AA280(sprite->data2); + sub_80AA658(sprite->data2); } -/* - thumb_func_start sub_80AABF0 -sub_80AABF0: @ 80AABF0 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r1, 24 - movs r0, 0xFF - cmp r1, 0 - ble _080AABFE - movs r0, 0x1 -_080AABFE: - lsls r0, 24 - asrs r0, 24 - ldrh r1, [r5, 0x34] - adds r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - asrs r0, 24 - cmp r0, 0 - bge _080AAC14 - movs r4, 0 - b _080AAC1A -_080AAC14: - cmp r0, 0x4 - ble _080AAC1A - movs r4, 0x4 -_080AAC1A: - lsls r4, 24 - lsrs r0, r4, 24 - bl sub_80AA5BC - asrs r4, 24 - strh r4, [r5, 0x34] - ldr r0, _080AAC54 @ =gScriptContestCategory - strh r4, [r0] - lsls r4, 24 - lsrs r4, 24 - ldr r0, _080AAC58 @ =gScriptContestRank - ldrb r1, [r0] - adds r0, r4, 0 - bl sub_80AE398 - ldrh r0, [r5, 0x32] - lsls r0, 24 - lsrs r0, 24 - bl sub_80AA280 - ldrh r0, [r5, 0x32] - lsls r0, 24 - lsrs r0, 24 - bl sub_80AA658 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080AAC54: .4byte gScriptContestCategory -_080AAC58: .4byte gScriptContestRank - thumb_func_end sub_80AABF0 -*/ +void sub_80AAC5C(struct Sprite *sprite, s8 var2) +{ + if (var2 > 0) + gScriptContestRank++; + else if (gScriptContestRank != 0) + gScriptContestRank--; + if (gScriptContestRank > 3) + gScriptContestRank = 3; + sub_80AA5E8(gScriptContestRank); + sub_80AE398(gScriptContestCategory, gScriptContestRank); + sub_80AA280(sprite->data2); + sub_80AA658(sprite->data2); +} +void sub_80AACC4(void) +{ + UpdatePaletteFade(); + if (!gPaletteFade.active) + { + SetDebugMonForContest(); + if (!(gIsLinkContest & 1)) + sub_80AE82C(unk_2000000[0]); + SetMainCallback2(sub_80AB47C); + } +} + +void sub_80AAD08(struct Sprite *sprite, s8 var2) +{ + if (var2 == 1) + { + unk_2000000[0] = sprite->data3; + SetMainCallback2(sub_80AACC4); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + } +} + +void sub_80AAD44(struct Sprite *sprite, s8 var2) +{ + if (var2 == 1) + { + int i; + + SetDebugMonForContest(); + for (i = 0; i < 4; i++) + gUnknown_02038670[i] = sub_80AE770(i, gScriptContestCategory); + SetMainCallback2(sub_805469C); + } +} + +//Do this later /* - thumb_func_start sub_80AA754 -sub_80AA754: @ 80AA754 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _080AA774 @ =gMain - ldrh r1, [r0, 0x30] - cmp r1, 0x20 - beq _080AA7A2 - cmp r1, 0x20 - bgt _080AA782 - cmp r1, 0x2 - beq _080AA7F8 - cmp r1, 0x2 - bgt _080AA778 - cmp r1, 0x1 - beq _080AA7D8 - b _080AA870 - .align 2, 0 -_080AA774: .4byte gMain -_080AA778: - cmp r1, 0x8 - beq _080AA868 - cmp r1, 0x10 - beq _080AA7A2 - b _080AA870 -_080AA782: - cmp r1, 0x80 - beq _080AA7C2 - cmp r1, 0x80 - bgt _080AA790 - cmp r1, 0x40 - beq _080AA7AC - b _080AA870 -_080AA790: - movs r0, 0x80 - lsls r0, 1 - cmp r1, r0 - beq _080AA814 - movs r0, 0x80 - lsls r0, 2 - cmp r1, r0 - beq _080AA834 - b _080AA870 -_080AA7A2: - ldrh r0, [r4, 0x2E] - movs r1, 0x1 - eors r0, r1 - strh r0, [r4, 0x2E] - b _080AA870 -_080AA7AC: - ldrh r1, [r4, 0x30] - movs r2, 0x30 - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _080AA7BC - movs r0, 0x8 - strh r0, [r4, 0x30] - b _080AA870 -_080AA7BC: - subs r0, r1, 0x1 - strh r0, [r4, 0x30] - b _080AA870 -_080AA7C2: - ldrh r1, [r4, 0x30] - movs r3, 0x30 - ldrsh r0, [r4, r3] - cmp r0, 0x8 - bne _080AA7D2 - movs r0, 0 - strh r0, [r4, 0x30] - b _080AA870 -_080AA7D2: - adds r0, r1, 0x1 - strh r0, [r4, 0x30] - b _080AA870 -_080AA7D8: - ldr r2, _080AA7F4 @ =gUnknown_083C92E4 - movs r1, 0x2E - ldrsh r0, [r4, r1] - lsls r0, 2 - movs r3, 0x30 - ldrsh r1, [r4, r3] - lsls r1, 3 - adds r0, r1 - adds r0, r2 - ldr r2, [r0] - adds r0, r4, 0 - movs r1, 0x1 - b _080AA84E - .align 2, 0 -_080AA7F4: .4byte gUnknown_083C92E4 -_080AA7F8: - ldr r1, _080AA810 @ =gUnknown_083C92E4 - movs r0, 0x2E - ldrsh r2, [r4, r0] - lsls r2, 2 - movs r3, 0x30 - ldrsh r0, [r4, r3] - lsls r0, 3 - adds r2, r0 - adds r2, r1 - movs r1, 0x1 - negs r1, r1 - b _080AA84A - .align 2, 0 -_080AA810: .4byte gUnknown_083C92E4 -_080AA814: - ldr r2, _080AA830 @ =gUnknown_083C92E4 - movs r1, 0x2E - ldrsh r0, [r4, r1] - lsls r0, 2 - movs r3, 0x30 - ldrsh r1, [r4, r3] - lsls r1, 3 - adds r0, r1 - adds r0, r2 - ldr r2, [r0] - adds r0, r4, 0 - movs r1, 0xA - b _080AA84E - .align 2, 0 -_080AA830: .4byte gUnknown_083C92E4 -_080AA834: - ldr r1, _080AA864 @ =gUnknown_083C92E4 - movs r0, 0x2E - ldrsh r2, [r4, r0] - lsls r2, 2 - movs r3, 0x30 - ldrsh r0, [r4, r3] - lsls r0, 3 - adds r2, r0 - adds r2, r1 - movs r1, 0xA - negs r1, r1 -_080AA84A: - ldr r2, [r2] - adds r0, r4, 0 -_080AA84E: - bl _call_via_r2 - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x34] - lsls r1, 24 - lsrs r1, 24 - bl sub_80AA614 - b _080AA870 - .align 2, 0 -_080AA864: .4byte gUnknown_083C92E4 -_080AA868: - adds r0, r4, 0 - movs r1, 0x1 - bl sub_80AAD08 -_080AA870: - ldr r2, _080AA898 @ =gUnknown_083C9296 - movs r0, 0x2E - ldrsh r1, [r4, r0] - movs r3, 0x30 - ldrsh r0, [r4, r3] - lsls r0, 1 - adds r1, r0 - adds r1, r2 - ldrb r0, [r1] - strh r0, [r4, 0x20] - ldr r1, _080AA89C @ =gUnknown_083C92A8 - movs r2, 0x30 - ldrsh r0, [r4, r2] - adds r0, r1 - ldrb r0, [r0] - strh r0, [r4, 0x22] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080AA898: .4byte gUnknown_083C9296 -_080AA89C: .4byte gUnknown_083C92A8 - thumb_func_end sub_80AA754 +void sub_80AAD84(u8 *string, u8 b, u8 c, u8 d) +{ + u32 r5; + u16 r7; + u8 r7_2; + //u32 sp44; + //u32 sp48; + u32 sp58; + + gMain.state = 0; + + r5 = d + 1; + //Could also be DmaClear32 + DmaFill32(3, 0, (u8 *)VRAM + 0x18000 - r5 * 256, 0x100); + + r7 = StringLength(string); + if (r7 > 8) + r7 = 8; + sp58 = d * 2; + + //More stuff + + r7_2 = 0x7C - sp58; + +} */ + +__attribute__((naked)) +void sub_80AAD84(u8 *string, u8 b, u8 c, u8 d) +{ + asm(".syntax unified\n\ + push {r4-r7,lr}\n\ + mov r7, r10\n\ + mov r6, r9\n\ + mov r5, r8\n\ + push {r5-r7}\n\ + sub sp, 0x64\n\ + mov r9, r0\n\ + lsls r1, 24\n\ + lsrs r1, 24\n\ + str r1, [sp, 0x48]\n\ + lsls r2, 24\n\ + lsrs r2, 24\n\ + str r2, [sp, 0x4C]\n\ + lsls r3, 24\n\ + lsrs r3, 24\n\ + mov r10, r3\n\ + mov r5, r10\n\ + adds r5, 0x1\n\ + lsls r1, r5, 8\n\ + ldr r0, _080AAEC4 @ =0x06018000\n\ + subs r1, r0, r1\n\ + movs r0, 0\n\ + str r0, [sp, 0x44]\n\ + ldr r4, _080AAEC8 @ =0x040000d4\n\ + add r0, sp, 0x44\n\ + str r0, [r4]\n\ + str r1, [r4, 0x4]\n\ + ldr r0, _080AAECC @ =0x85000040\n\ + str r0, [r4, 0x8]\n\ + ldr r0, [r4, 0x8]\n\ + mov r0, r9\n\ + bl StringLength\n\ + lsls r0, 16\n\ + lsrs r7, r0, 16\n\ + cmp r7, 0x8\n\ + bls _080AADD0\n\ + movs r7, 0x8\n\ +_080AADD0:\n\ + movs r6, 0\n\ + mov r8, r5\n\ + mov r1, r10\n\ + lsls r1, 1\n\ + str r1, [sp, 0x58]\n\ + ldr r2, [sp, 0x48]\n\ + adds r2, 0x20\n\ + str r2, [sp, 0x5C]\n\ + cmp r6, r7\n\ + bge _080AAE1E\n\ + add r5, sp, 0x40\n\ + add r0, sp, 0x20\n\ + mov r10, r0\n\ + ldr r2, _080AAEC4 @ =0x06018000\n\ +_080AADEC:\n\ + mov r1, r9\n\ + adds r0, r1, r6\n\ + ldrb r0, [r0]\n\ + strb r0, [r5]\n\ + movs r0, 0xFF\n\ + strb r0, [r5, 0x1]\n\ + mov r0, sp\n\ + adds r1, r5, 0\n\ + str r2, [sp, 0x60]\n\ + bl sub_80034D4\n\ + mov r1, r8\n\ + lsls r0, r1, 8\n\ + ldr r2, [sp, 0x60]\n\ + subs r0, r2, r0\n\ + mov r1, r10\n\ + str r1, [r4]\n\ + str r0, [r4, 0x4]\n\ + ldr r0, _080AAED0 @ =0x84000008\n\ + str r0, [r4, 0x8]\n\ + ldr r0, [r4, 0x8]\n\ + adds r2, 0x20\n\ + adds r6, 0x1\n\ + cmp r6, r7\n\ + blt _080AADEC\n\ +_080AAE1E:\n\ + movs r1, 0x7C\n\ + ldr r2, [sp, 0x58]\n\ + subs r1, r2\n\ + lsls r1, 24\n\ + lsrs r7, r1, 24\n\ + ldr r0, _080AAED4 @ =gMain\n\ + mov r9, r0\n\ + lsls r3, r7, 3\n\ + add r3, r9\n\ + ldr r0, _080AAED8 @ =gUnknown_083C9400\n\ + ldr r1, [r0]\n\ + ldr r2, [r0, 0x4]\n\ + str r1, [sp, 0x50]\n\ + str r2, [sp, 0x54]\n\ + str r1, [r3, 0x3C]\n\ + str r2, [r3, 0x40]\n\ + mov r2, r8\n\ + lsls r0, r2, 3\n\ + movs r1, 0x80\n\ + lsls r1, 3\n\ + adds r2, r1, 0\n\ + subs r2, r0\n\ + adds r6, r3, 0\n\ + adds r6, 0x40\n\ + ldr r0, _080AAEDC @ =0x000003ff\n\ + mov r8, r0\n\ + mov r1, r8\n\ + ands r2, r1\n\ + ldrh r5, [r6]\n\ + ldr r4, _080AAEE0 @ =0xfffffc00\n\ + adds r0, r4, 0\n\ + ands r0, r5\n\ + orrs r0, r2\n\ + strh r0, [r6]\n\ + ldrh r5, [r3, 0x3E]\n\ + ldr r2, _080AAEE4 @ =0xfffffe00\n\ + adds r0, r2, 0\n\ + ands r0, r5\n\ + ldr r1, [sp, 0x48]\n\ + orrs r0, r1\n\ + strh r0, [r3, 0x3E]\n\ + adds r3, 0x3C\n\ + add r0, sp, 0x4C\n\ + ldrb r0, [r0]\n\ + strb r0, [r3]\n\ + adds r1, r7, 0x1\n\ + lsls r1, 3\n\ + mov r0, r9\n\ + adds r7, r1, r0\n\ + ldr r0, [sp, 0x50]\n\ + ldr r1, [sp, 0x54]\n\ + str r0, [r7, 0x3C]\n\ + str r1, [r7, 0x40]\n\ + ldrh r0, [r6]\n\ + lsls r0, 22\n\ + lsrs r0, 22\n\ + adds r0, 0x4\n\ + adds r5, r7, 0\n\ + adds r5, 0x40\n\ + mov r1, r8\n\ + ands r0, r1\n\ + ldrh r3, [r5]\n\ + ands r4, r3\n\ + orrs r4, r0\n\ + strh r4, [r5]\n\ + ldrh r0, [r7, 0x3E]\n\ + ands r2, r0\n\ + ldr r0, [sp, 0x5C]\n\ + orrs r2, r0\n\ + strh r2, [r7, 0x3E]\n\ + adds r1, r7, 0\n\ + adds r1, 0x3C\n\ + add r2, sp, 0x4C\n\ + ldrb r2, [r2]\n\ + strb r2, [r1]\n\ + add sp, 0x64\n\ + pop {r3-r5}\n\ + mov r8, r3\n\ + mov r9, r4\n\ + mov r10, r5\n\ + pop {r4-r7}\n\ + pop {r0}\n\ + bx r0\n\ + .align 2, 0\n\ +_080AAEC4: .4byte 0x06018000\n\ +_080AAEC8: .4byte 0x040000d4\n\ +_080AAECC: .4byte 0x85000040\n\ +_080AAED0: .4byte 0x84000008\n\ +_080AAED4: .4byte gMain\n\ +_080AAED8: .4byte gUnknown_083C9400\n\ +_080AAEDC: .4byte 0x000003ff\n\ +_080AAEE0: .4byte 0xfffffc00\n\ +_080AAEE4: .4byte 0xfffffe00\n\ + .syntax divided\n"); +} + +void unref_sub_80AAEE8(s32 a, u8 b, u8 c, u8 d) +{ + u8 string[12]; + u8 offset = 0; + + if (a < 0) + { + string[0] = 0xAE; + offset = 1; + } + ConvertIntToDecimalStringN(string + offset, (a < 0) ? -a : a, 0, 8); + sub_80AAD84(string, b, c, d); +} + +void sub_80AAF30(void) +{ + s32 i; + + gUnknown_0203856C = 1; + gContestPlayerMonIndex = 3; + sub_80AE098(0); + for (i = 3; i > -1; i--) + gUnknown_02038690[i] = 3 - i; + for (i = 0; i < 3; i++) + { + gUnknown_02038670[i] = 0; + gUnknown_02038680[i] = 0; + gUnknown_02038678[i] = 0; + memcpy(&gContestMons[i], &gContestMons[3], 0x40); + } + gUnknown_02038670[3] = 0x12C; + gUnknown_02038680[3] = 0x190; + gUnknown_02038678[3] = 0x190; + sub_80B2A7C(0xFE); +} + +//Don't know size of return type +int MatsudaDebugMenu_SetHighScore(void) +{ + sub_80AAF30(); + CloseMenu(); + return 1; +} + +//Don't know size of return type +int MatsudaDebugMenu_ResetHighScore(void) +{ + s32 i; + + gUnknown_0203856C = 0; + for (i = 0; i < 4; i++) + { + gUnknown_02038670[i] = 0; + gUnknown_02038680[i] = 0; + gUnknown_02038678[i] = 0; + } + CloseMenu(); + return 1; +} + +//Don't know size of return type +int MatsudaDebugMenu_SetArtMuseumItems(void) +{ + s32 i; + + gContestPlayerMonIndex = 3; + sub_80AE098(0); + for (i = 3; i > -1; i--) + gUnknown_02038690[i] = 3 - i; + for (gScriptContestCategory = 0; gScriptContestCategory < 5; gScriptContestCategory++) + sub_80B2A7C(0xFF); + CloseMenu(); + return 1; +} + +void unref_sub_80AB084(u8 *text) +{ + u16 savedIme; + u8 *addr; + size_t size; + + REG_BG0HOFS = 0; + REG_BG0VOFS = 0; + REG_BG1HOFS = 0; + REG_BG1VOFS = 0; + REG_BG2HOFS = 0; + REG_BG2VOFS = 0; + REG_BG3HOFS = 0; + REG_BG3VOFS = 0; + REG_WIN0H = 0; + REG_WIN0V = 0; + REG_WIN1H = 0; + REG_WIN1V = 0; + REG_DISPCNT = 0x1F40; + + savedIme = REG_IME; + REG_IME = 0; + REG_IE |= INTR_FLAG_VBLANK; + REG_IME = savedIme; + REG_DISPSTAT = 8; + ResetTasks(); + ResetSpriteData(); + SetMainCallback2(sub_80AB184); + + addr = (void *)VRAM; + size = 0x18000; + while(1) + { + DmaFill32(3, 0, addr, 0x1000); + addr += 0x1000; + size -= 0x1000; + if(size <= 0x1000) + { + DmaFill32(3, 0, addr, size); + break; + } + } + SetUpWindowConfig(&gWindowConfig_81E6FD8); + InitWindowFromConfig(&gUnknown_03004210, &gWindowConfig_81E6FD8); + LoadFontDefaultPalette(&gWindowConfig_81E6FD8); + sub_8003460(&gUnknown_03004210, text, 1, 9, 7); +} + +void sub_80AB184(void) +{ + REG_BG0HOFS = 0; + REG_BG0VOFS = 0; + REG_BG1HOFS = 0; + REG_BG1VOFS = 0; + REG_BG2HOFS = 0; + REG_BG2VOFS = 0; + REG_BG3HOFS = 0; + REG_BG3VOFS = 0; +} -- cgit v1.2.3 From 801877553db80267a62c0c3c0b2805b6716d1ef9 Mon Sep 17 00:00:00 2001 From: Marijn van der Werf Date: Tue, 17 Jan 2017 14:38:44 +0100 Subject: Remove trailing whitespace --- src/matsuda_debug_menu.c | 46 +++++++++++++++++++++++----------------------- 1 file changed, 23 insertions(+), 23 deletions(-) (limited to 'src/matsuda_debug_menu.c') diff --git a/src/matsuda_debug_menu.c b/src/matsuda_debug_menu.c index 131369e91..a3e611020 100644 --- a/src/matsuda_debug_menu.c +++ b/src/matsuda_debug_menu.c @@ -120,7 +120,7 @@ u8 unref_sub_80A9B28(void) static bool8 sub_80A9B78(void) { s8 choice = ProcessMenuInput(); - + switch(choice) { case -2: @@ -171,7 +171,7 @@ s8 MatsudaDebugMenu_CommTest(void) { u8 newTaskId; u8 newTaskId2; - + newTaskId = CreateTask(sub_80A9E3C, 0); SetTaskFuncWithFollowupFunc(newTaskId, sub_80A9E3C, sub_80A9C98); newTaskId2 = CreateTask(sub_80A9E04, 1); @@ -247,7 +247,7 @@ static void sub_80A9E04(u8 taskId) static void sub_80A9E3C(u8 taskId) { u8 i; - + OpenLink(); for(i = 0; i < 4; i++) @@ -268,7 +268,7 @@ static void sub_80A9E80(u8 taskId) if(GetLinkPlayerCount_2() > 3) { gTasks[taskId].data[0] = 0; - + if(IsLinkMaster()) { func = sub_80A9ED8; @@ -334,7 +334,7 @@ static void sub_80A9FE4(void) u8 *addr; u32 i; u8 ptr[5]; - + memcpy(ptr, gMatsudaDebugMenu_UnknownByteArray, 5); addr = (void *)VRAM; @@ -395,7 +395,7 @@ static void sub_80AA10C(void) ResetSpriteData(); ResetTasks(); FreeAllSpritePalettes(); - sub_80A9FE4(); + sub_80A9FE4(); SetVBlankCallback(sub_80AA090); SetMainCallback2(sub_80AA064); gPaletteFade.bufferTransferDisabled = 0; @@ -408,8 +408,8 @@ static void sub_80AA10C(void) for(i = 0; i < 6; i++) { - sub_8003460(&gMenuWindow, gMatsudaDebugMenuTextList1[i], - (0xA * i + 0x2A), gMatsudaDebugMenuContestTopLeft[i][0], + sub_8003460(&gMenuWindow, gMatsudaDebugMenuTextList1[i], + (0xA * i + 0x2A), gMatsudaDebugMenuContestTopLeft[i][0], gMatsudaDebugMenuContestTopLeft[i][1]); } @@ -727,7 +727,7 @@ void sub_80AABF0(struct Sprite *sprite, s8 var2) { s8 a = (var2 > 0) ? 1 : -1; s8 r4 = sprite->data3 + a; - + if (r4 < 0) r4 = 0; else if (r4 > 4) @@ -781,7 +781,7 @@ void sub_80AAD44(struct Sprite *sprite, s8 var2) if (var2 == 1) { int i; - + SetDebugMonForContest(); for (i = 0; i < 4; i++) gUnknown_02038670[i] = sub_80AE770(i, gScriptContestCategory); @@ -799,22 +799,22 @@ void sub_80AAD84(u8 *string, u8 b, u8 c, u8 d) //u32 sp44; //u32 sp48; u32 sp58; - + gMain.state = 0; - + r5 = d + 1; //Could also be DmaClear32 DmaFill32(3, 0, (u8 *)VRAM + 0x18000 - r5 * 256, 0x100); - + r7 = StringLength(string); if (r7 > 8) r7 = 8; sp58 = d * 2; - + //More stuff - + r7_2 = 0x7C - sp58; - + } */ @@ -1000,7 +1000,7 @@ void unref_sub_80AAEE8(s32 a, u8 b, u8 c, u8 d) { u8 string[12]; u8 offset = 0; - + if (a < 0) { string[0] = 0xAE; @@ -1013,7 +1013,7 @@ void unref_sub_80AAEE8(s32 a, u8 b, u8 c, u8 d) void sub_80AAF30(void) { s32 i; - + gUnknown_0203856C = 1; gContestPlayerMonIndex = 3; sub_80AE098(0); @@ -1044,7 +1044,7 @@ int MatsudaDebugMenu_SetHighScore(void) int MatsudaDebugMenu_ResetHighScore(void) { s32 i; - + gUnknown_0203856C = 0; for (i = 0; i < 4; i++) { @@ -1060,7 +1060,7 @@ int MatsudaDebugMenu_ResetHighScore(void) int MatsudaDebugMenu_SetArtMuseumItems(void) { s32 i; - + gContestPlayerMonIndex = 3; sub_80AE098(0); for (i = 3; i > -1; i--) @@ -1076,7 +1076,7 @@ void unref_sub_80AB084(u8 *text) u16 savedIme; u8 *addr; size_t size; - + REG_BG0HOFS = 0; REG_BG0VOFS = 0; REG_BG1HOFS = 0; @@ -1090,7 +1090,7 @@ void unref_sub_80AB084(u8 *text) REG_WIN1H = 0; REG_WIN1V = 0; REG_DISPCNT = 0x1F40; - + savedIme = REG_IME; REG_IME = 0; REG_IE |= INTR_FLAG_VBLANK; @@ -1099,7 +1099,7 @@ void unref_sub_80AB084(u8 *text) ResetTasks(); ResetSpriteData(); SetMainCallback2(sub_80AB184); - + addr = (void *)VRAM; size = 0x18000; while(1) -- cgit v1.2.3 From bcaab977727ded65c9eeaef9dbef9e9441d26fb7 Mon Sep 17 00:00:00 2001 From: YamaArashi Date: Sat, 21 Jan 2017 16:48:06 -0800 Subject: formatting --- src/matsuda_debug_menu.c | 152 +++++++++++++++++++++++------------------------ 1 file changed, 76 insertions(+), 76 deletions(-) (limited to 'src/matsuda_debug_menu.c') diff --git a/src/matsuda_debug_menu.c b/src/matsuda_debug_menu.c index a3e611020..316ece197 100644 --- a/src/matsuda_debug_menu.c +++ b/src/matsuda_debug_menu.c @@ -121,7 +121,7 @@ static bool8 sub_80A9B78(void) { s8 choice = ProcessMenuInput(); - switch(choice) + switch (choice) { case -2: return FALSE; @@ -143,11 +143,11 @@ s8 MatsudaDebugMenu_ContestResults(void) static void sub_80A9BE4(u8 taskId) { - if(!gPaletteFade.active) + if (!gPaletteFade.active) { DestroyTask(taskId); - if(!(gIsLinkContest & 1)) + if (!(gIsLinkContest & 1)) sub_80AF668(); sub_80C2358(); @@ -198,7 +198,7 @@ static void sub_80A9CDC(u8 taskId) static void sub_80A9CF8(u8 taskId) { - if(gReceivedRemoteLinkPlayers == FALSE) + if (gReceivedRemoteLinkPlayers == FALSE) { DestroyTask(gTasks[taskId].data[10]); DestroyTask(taskId); @@ -217,7 +217,7 @@ static void sub_80A9D58(u8 taskId) int i; u8 dest[4]; - for(i = 0; i < 4; i++) + for (i = 0; i < 4; i++) dest[i] = gTasks[taskId].data[5 + i]; gUnknown_0203869B = sub_80C4B34(dest); @@ -240,7 +240,7 @@ static void sub_80A9DD8(u8 taskId) static void sub_80A9E04(u8 taskId) { - if(gMain.newKeys == 2) + if (gMain.newKeys == 2) gTasks[(u8)gTasks[taskId].data[10]].func = sub_80A9D30; } @@ -250,7 +250,7 @@ static void sub_80A9E3C(u8 taskId) OpenLink(); - for(i = 0; i < 4; i++) + for (i = 0; i < 4; i++) gBlockRecvBuffer[i][0] = 255; gTasks[taskId].data[0] = 0; @@ -261,15 +261,15 @@ static void sub_80A9E80(u8 taskId) { TaskFunc func; - if(gTasks[taskId].data[0] < 10) + if (gTasks[taskId].data[0] < 10) gTasks[taskId].data[0]++; else { - if(GetLinkPlayerCount_2() > 3) + if (GetLinkPlayerCount_2() > 3) { gTasks[taskId].data[0] = 0; - if(IsLinkMaster()) + if (IsLinkMaster()) { func = sub_80A9ED8; gTasks[taskId].func = (TaskFunc)func; @@ -286,7 +286,7 @@ static void sub_80A9E80(u8 taskId) static void sub_80A9ED8(u8 taskId) { gTasks[taskId].data[0] = gTasks[taskId].data[0] + 1; - if((gTasks[taskId].data[0]) == 101) + if ((gTasks[taskId].data[0]) == 101) { sub_8007F4C(); gTasks[taskId].data[0] = 0; @@ -296,10 +296,10 @@ static void sub_80A9ED8(u8 taskId) static void sub_80A9F10(u8 taskId) { - if(gReceivedRemoteLinkPlayers) + if (gReceivedRemoteLinkPlayers) { gContestPlayerMonIndex = GetMultiplayerId(); - if(GetLinkPlayerCount() == 4) + if (GetLinkPlayerCount() == 4) { gIsLinkContest = 1; SwitchTaskToFollowupFunc(taskId); @@ -340,12 +340,12 @@ static void sub_80A9FE4(void) addr = (void *)VRAM; i = VRAM_SIZE; - while(1) + while (1) { DmaFill32(3, 0, addr, 0x1000); addr += 0x1000; i -= 0x1000; - if(i <= 0x1000) + if (i <= 0x1000) { DmaFill32(3, 0, addr, i); break; @@ -361,7 +361,7 @@ static void sub_80AA064(void) BuildOamBuffer(); RunTasks(); UpdatePaletteFade(); - if(gMain.newKeys == 4) + if (gMain.newKeys == 4) SetMainCallback2(sub_805469C); } @@ -401,12 +401,12 @@ static void sub_80AA10C(void) gPaletteFade.bufferTransferDisabled = 0; gUnknown_02038694 = 0; - if(!(gContestMons[0].nickname[0])) + if (!(gContestMons[0].nickname[0])) sub_80AE398(0, 0); sub_80AE098(gUnknown_02038694); - for(i = 0; i < 6; i++) + for (i = 0; i < 6; i++) { sub_8003460(&gMenuWindow, gMatsudaDebugMenuTextList1[i], (0xA * i + 0x2A), gMatsudaDebugMenuContestTopLeft[i][0], @@ -439,9 +439,9 @@ void sub_80AA280(u8 var) StringCopy(unk_2000000, gMatsudaDebugMenu_StartText); StringAppend(unk_2000000, &gUnknown_0203857D[var][0]); - for(i = 0; i < 4; i++) + for (i = 0; i < 4; i++) { - if(var == i) + if (var == i) { sub_8003460(&gMenuWindow, unk_2000000, (10 * i + 2), gUnknown_083C926E[i][0], gUnknown_083C926E[i][1]); } @@ -499,49 +499,49 @@ static void sub_80AA4F0(u8 var1, u8 var2) static void sub_80AA5BC(u8 var) { - sub_8003460(&gMenuWindow, gMatsudaDebugMenuTextList2[var], 0xC2, 3, 0x12); + sub_8003460(&gMenuWindow, gMatsudaDebugMenuTextList2[var], 0xC2, 3, 0x12); } void sub_80AA5E8(u8 var) { - sub_8003460(&gMenuWindow, gMatsudaDebugMenuTextList3[var], 0xE8, 3, 4); + sub_8003460(&gMenuWindow, gMatsudaDebugMenuTextList3[var], 0xE8, 3, 4); } static void sub_80AA614(u8 var1, u8 var2) { - u16 var = sub_80AE770(var1, var2); + u16 var = sub_80AE770(var1, var2); - ConvertIntToDecimalStringN(unk_2000000, var, STR_CONV_MODE_RIGHT_ALIGN, 3); - sub_8003460(&gMenuWindow, unk_2000000, 0xE2, 3, 0xC); + ConvertIntToDecimalStringN(unk_2000000, var, STR_CONV_MODE_RIGHT_ALIGN, 3); + sub_8003460(&gMenuWindow, unk_2000000, 0xE2, 3, 0xC); } void sub_80AA658(u8 var) { - u8 i; + u8 i; - sub_80AA340(var); - sub_80AA388(var); - sub_80AA3D0(var); - sub_80AA418(var); - sub_80AA460(var); - sub_80AA4A8(var); + sub_80AA340(var); + sub_80AA388(var); + sub_80AA3D0(var); + sub_80AA418(var); + sub_80AA460(var); + sub_80AA4A8(var); - for(i = 0; i < 4; i++) - sub_80AA4F0(var, i); + for (i = 0; i < 4; i++) + sub_80AA4F0(var, i); } void SetDebugMonForContest(void) { - SetMonData(&gPlayerParty[0], MON_DATA_COOL, &gContestMons[gContestPlayerMonIndex].cool); - SetMonData(&gPlayerParty[0], MON_DATA_CUTE, &gContestMons[gContestPlayerMonIndex].cute); - SetMonData(&gPlayerParty[0], MON_DATA_BEAUTY, &gContestMons[gContestPlayerMonIndex].beauty); - SetMonData(&gPlayerParty[0], MON_DATA_SMART, &gContestMons[gContestPlayerMonIndex].smart); - SetMonData(&gPlayerParty[0], MON_DATA_TOUGH, &gContestMons[gContestPlayerMonIndex].tough); - SetMonData(&gPlayerParty[0], MON_DATA_SHEEN, &gContestMons[gContestPlayerMonIndex].sheen); - SetMonData(&gPlayerParty[0], MON_DATA_MOVE1, (const u8 *) &gContestMons[gContestPlayerMonIndex].moves[0]); - SetMonData(&gPlayerParty[0], MON_DATA_MOVE2, (const u8 *) &gContestMons[gContestPlayerMonIndex].moves[1]); - SetMonData(&gPlayerParty[0], MON_DATA_MOVE3, (const u8 *) &gContestMons[gContestPlayerMonIndex].moves[2]); - SetMonData(&gPlayerParty[0], MON_DATA_MOVE4, (const u8 *) &gContestMons[gContestPlayerMonIndex].moves[3]); + SetMonData(&gPlayerParty[0], MON_DATA_COOL, &gContestMons[gContestPlayerMonIndex].cool); + SetMonData(&gPlayerParty[0], MON_DATA_CUTE, &gContestMons[gContestPlayerMonIndex].cute); + SetMonData(&gPlayerParty[0], MON_DATA_BEAUTY, &gContestMons[gContestPlayerMonIndex].beauty); + SetMonData(&gPlayerParty[0], MON_DATA_SMART, &gContestMons[gContestPlayerMonIndex].smart); + SetMonData(&gPlayerParty[0], MON_DATA_TOUGH, &gContestMons[gContestPlayerMonIndex].tough); + SetMonData(&gPlayerParty[0], MON_DATA_SHEEN, &gContestMons[gContestPlayerMonIndex].sheen); + SetMonData(&gPlayerParty[0], MON_DATA_MOVE1, (const u8 *) &gContestMons[gContestPlayerMonIndex].moves[0]); + SetMonData(&gPlayerParty[0], MON_DATA_MOVE2, (const u8 *) &gContestMons[gContestPlayerMonIndex].moves[1]); + SetMonData(&gPlayerParty[0], MON_DATA_MOVE3, (const u8 *) &gContestMons[gContestPlayerMonIndex].moves[2]); + SetMonData(&gPlayerParty[0], MON_DATA_MOVE4, (const u8 *) &gContestMons[gContestPlayerMonIndex].moves[3]); } void sub_80AA754(struct Sprite *sprite) @@ -590,32 +590,32 @@ void sub_80AA754(struct Sprite *sprite) static void sub_80AA8A0(struct Sprite *sprite, s8 var1, u8 var2) { - if(var1 == 1) - { - sprite->data2 = var2; - sub_80AA280(var2); - sub_80AA658(sprite->data2); - } + if (var1 == 1) + { + sprite->data2 = var2; + sub_80AA280(var2); + sub_80AA658(sprite->data2); + } } void sub_80AA8C8(struct Sprite *sprite, s8 var1) { - sub_80AA8A0(sprite, var1, 0); + sub_80AA8A0(sprite, var1, 0); } void sub_80AA8D8(struct Sprite *sprite, s8 var1) { - sub_80AA8A0(sprite, var1, 1); + sub_80AA8A0(sprite, var1, 1); } void sub_80AA8E8(struct Sprite *sprite, s8 var1) { - sub_80AA8A0(sprite, var1, 2); + sub_80AA8A0(sprite, var1, 2); } void sub_80AA8F8(struct Sprite *sprite, s8 var1) { - sub_80AA8A0(sprite, var1, 3); + sub_80AA8A0(sprite, var1, 3); } static u8 sub_80AA908(u32 a1, u8 a2, s8 a3) // first param is unused. @@ -634,48 +634,48 @@ void sub_80AA930(struct Sprite *sprite, u8 var2) { u8 val = sprite->data2; - gContestMons[sprite->data2].cool = sub_80AA908(val, gContestMons[sprite->data2].cool, var2); - sub_80AA340(sprite->data2); + gContestMons[sprite->data2].cool = sub_80AA908(val, gContestMons[sprite->data2].cool, var2); + sub_80AA340(sprite->data2); } void sub_80AA974(struct Sprite *sprite, u8 var2) { u8 val = sprite->data2; - gContestMons[sprite->data2].cute = sub_80AA908(val, gContestMons[sprite->data2].cute, var2); - sub_80AA388(sprite->data2); + gContestMons[sprite->data2].cute = sub_80AA908(val, gContestMons[sprite->data2].cute, var2); + sub_80AA388(sprite->data2); } void sub_80AA9B8(struct Sprite *sprite, u8 var2) { u8 val = sprite->data2; - gContestMons[sprite->data2].beauty = sub_80AA908(val, gContestMons[sprite->data2].beauty, var2); - sub_80AA3D0(sprite->data2); + gContestMons[sprite->data2].beauty = sub_80AA908(val, gContestMons[sprite->data2].beauty, var2); + sub_80AA3D0(sprite->data2); } void sub_80AA9FC(struct Sprite *sprite, u8 var2) { u8 val = sprite->data2; - gContestMons[sprite->data2].smart = sub_80AA908(val, gContestMons[sprite->data2].smart, var2); - sub_80AA418(sprite->data2); + gContestMons[sprite->data2].smart = sub_80AA908(val, gContestMons[sprite->data2].smart, var2); + sub_80AA418(sprite->data2); } void sub_80AAA40(struct Sprite *sprite, u8 var2) { u8 val = sprite->data2; - gContestMons[sprite->data2].tough = sub_80AA908(val, gContestMons[sprite->data2].tough, var2); - sub_80AA460(sprite->data2); + gContestMons[sprite->data2].tough = sub_80AA908(val, gContestMons[sprite->data2].tough, var2); + sub_80AA460(sprite->data2); } void sub_80AAA84(struct Sprite *sprite, u8 var2) { u8 val = sprite->data2; - gContestMons[sprite->data2].sheen = sub_80AA908(val, gContestMons[sprite->data2].sheen, var2); - sub_80AA4A8(sprite->data2); + gContestMons[sprite->data2].sheen = sub_80AA908(val, gContestMons[sprite->data2].sheen, var2); + sub_80AA4A8(sprite->data2); } // a similar function is at 0x80AA908, however, it apparently returns the wrong type (u8 vs u16). @@ -695,32 +695,32 @@ void sub_80AAAF0(struct Sprite *sprite, u8 var2) { u8 val = sprite->data2; - gContestMons[sprite->data2].moves[0] = sub_80AAAC8(val, gContestMons[sprite->data2].moves[0], var2); - sub_80AA4F0(sprite->data2, 0); + gContestMons[sprite->data2].moves[0] = sub_80AAAC8(val, gContestMons[sprite->data2].moves[0], var2); + sub_80AA4F0(sprite->data2, 0); } void sub_80AAB30(struct Sprite *sprite, u8 var2) { u8 val = sprite->data2; - gContestMons[sprite->data2].moves[1] = sub_80AAAC8(val, gContestMons[sprite->data2].moves[1], var2); - sub_80AA4F0(sprite->data2, 1); + gContestMons[sprite->data2].moves[1] = sub_80AAAC8(val, gContestMons[sprite->data2].moves[1], var2); + sub_80AA4F0(sprite->data2, 1); } void sub_80AAB70(struct Sprite *sprite, u8 var2) { u8 val = sprite->data2; - gContestMons[sprite->data2].moves[2] = sub_80AAAC8(val, gContestMons[sprite->data2].moves[2], var2); - sub_80AA4F0(sprite->data2, 2); + gContestMons[sprite->data2].moves[2] = sub_80AAAC8(val, gContestMons[sprite->data2].moves[2], var2); + sub_80AA4F0(sprite->data2, 2); } void sub_80AABB0(struct Sprite *sprite, u8 var2) { u8 val = sprite->data2; - gContestMons[sprite->data2].moves[3] = sub_80AAAC8(val, gContestMons[sprite->data2].moves[3], var2); - sub_80AA4F0(sprite->data2, 3); + gContestMons[sprite->data2].moves[3] = sub_80AAAC8(val, gContestMons[sprite->data2].moves[3], var2); + sub_80AA4F0(sprite->data2, 3); } void sub_80AABF0(struct Sprite *sprite, s8 var2) @@ -1102,12 +1102,12 @@ void unref_sub_80AB084(u8 *text) addr = (void *)VRAM; size = 0x18000; - while(1) + while (1) { DmaFill32(3, 0, addr, 0x1000); addr += 0x1000; size -= 0x1000; - if(size <= 0x1000) + if (size <= 0x1000) { DmaFill32(3, 0, addr, size); break; -- cgit v1.2.3 From f21587ea9eb1190ac2136d72deb7929c1e1169eb Mon Sep 17 00:00:00 2001 From: ProjectRevoTPP Date: Sat, 11 Feb 2017 00:38:59 -0500 Subject: misc labels and memcpy/set cleanups (#232) * some labels and enumerate player speeds * clear up speed enums * GetPlayerSpeed * oops * start decompiling mauville_old_man.c * formatting * decompile more of mauville_old_man.c * someone fix this please * formatting * make ROM build again * formatting again * make ROM match again * label, document, reorganize, and clean up battle_ai.c * move stuff to battle.h and get rid of battle_2000000 * various changes * labeling * minor labels and formatting * contest ai labels and misc stuff --- src/matsuda_debug_menu.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/matsuda_debug_menu.c') diff --git a/src/matsuda_debug_menu.c b/src/matsuda_debug_menu.c index 316ece197..66e865ed6 100644 --- a/src/matsuda_debug_menu.c +++ b/src/matsuda_debug_menu.c @@ -1017,15 +1017,18 @@ void sub_80AAF30(void) gUnknown_0203856C = 1; gContestPlayerMonIndex = 3; sub_80AE098(0); + for (i = 3; i > -1; i--) gUnknown_02038690[i] = 3 - i; + for (i = 0; i < 3; i++) { gUnknown_02038670[i] = 0; gUnknown_02038680[i] = 0; gUnknown_02038678[i] = 0; - memcpy(&gContestMons[i], &gContestMons[3], 0x40); + memcpy(&gContestMons[i], &gContestMons[3], sizeof(struct ContestPokemon)); } + gUnknown_02038670[3] = 0x12C; gUnknown_02038680[3] = 0x190; gUnknown_02038678[3] = 0x190; -- cgit v1.2.3 From 6035511c139549a0291b6b3d43b9b080f792b2b6 Mon Sep 17 00:00:00 2001 From: ProjectRevoTPP Date: Sat, 18 Mar 2017 04:00:15 +0100 Subject: reorganize and add new headers for many files --- src/matsuda_debug_menu.c | 25 +++---------------------- 1 file changed, 3 insertions(+), 22 deletions(-) (limited to 'src/matsuda_debug_menu.c') diff --git a/src/matsuda_debug_menu.c b/src/matsuda_debug_menu.c index 66e865ed6..6177d9edb 100644 --- a/src/matsuda_debug_menu.c +++ b/src/matsuda_debug_menu.c @@ -10,8 +10,8 @@ #include "string_util.h" #include "task.h" #include "text.h" - -#define BIT(n) (1 << (n)) +#include "contest.h" +#include "matsuda_debug_menu.h" extern u8 gUnknown_0203856C; extern u8 gUnknown_0203857D[][64]; @@ -63,24 +63,6 @@ extern u8* gMatsudaDebugMenuTextList2[]; extern u8* gMatsudaDebugMenuTextList3[]; extern u8 gMatsudaDebugMenuContestTopLeft[][2]; -struct ContestPokemon -{ - /* 0x00 */ u16 species; - /* 0x02 */ u8 nickname[POKEMON_NAME_LENGTH]; - /* 0x0D */ u8 trainerName[8]; - /* 0x15 */ u8 filler15[9]; - /* 0x1E */ u16 moves[4]; // moves - /* 0x26 */ u8 cool; // cool - /* 0x27 */ u8 beauty; // beauty - /* 0x28 */ u8 cute; // cute - /* 0x29 */ u8 smart; // smart - /* 0x2A */ u8 tough; // tough - /* 0x2B */ u8 sheen; // sheen - /* 0x2C */ u8 filler2C[20]; -}; - -extern struct ContestPokemon gContestMons[]; - extern bool8 gReceivedRemoteLinkPlayers; extern u16 gBlockRecvBuffer[MAX_LINK_PLAYERS][BLOCK_BUFFER_SIZE / 2]; @@ -103,7 +85,6 @@ static void sub_80AA10C(void); static void sub_80AA5BC(u8); static void sub_80AA614(u8, u8); static void sub_80AAD08(struct Sprite *, s8); -extern void sub_80AB184(void); extern void sub_80AB47C(void); extern int sub_80B2A7C(u8); //Don't know return type size @@ -431,7 +412,7 @@ static void sub_80AA10C(void) gSprites[spriteId].data3 = zero; // only this assignment of zero is necessary. other replacements of 0 with zero do not change the asm, compiler will treat it the same. } -void sub_80AA280(u8 var) +void sub_80AA280(u8 var) // no? { u8 i; -- cgit v1.2.3 From ddc846fa6a0d9a13cfba6f52488a66f6f4562a2d Mon Sep 17 00:00:00 2001 From: Marijn van der Werf Date: Thu, 27 Apr 2017 15:43:31 +0200 Subject: Sort includes --- src/matsuda_debug_menu.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/matsuda_debug_menu.c') diff --git a/src/matsuda_debug_menu.c b/src/matsuda_debug_menu.c index 6177d9edb..39c338658 100644 --- a/src/matsuda_debug_menu.c +++ b/src/matsuda_debug_menu.c @@ -1,5 +1,7 @@ #include "global.h" +#include "matsuda_debug_menu.h" #include "asm.h" +#include "contest.h" #include "link.h" #include "main.h" #include "menu.h" @@ -10,8 +12,6 @@ #include "string_util.h" #include "task.h" #include "text.h" -#include "contest.h" -#include "matsuda_debug_menu.h" extern u8 gUnknown_0203856C; extern u8 gUnknown_0203857D[][64]; -- cgit v1.2.3 From fbebe08ae94b8e165ba120d71959554765307ce3 Mon Sep 17 00:00:00 2001 From: Cameron Hall Date: Tue, 9 May 2017 12:52:39 -0500 Subject: use macros to set DISPCNT and BG*CNT registers (#286) * use macros to set DISPCNT and BG*CNT registers * add a few more --- src/matsuda_debug_menu.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/matsuda_debug_menu.c') diff --git a/src/matsuda_debug_menu.c b/src/matsuda_debug_menu.c index 39c338658..57769db23 100644 --- a/src/matsuda_debug_menu.c +++ b/src/matsuda_debug_menu.c @@ -290,7 +290,7 @@ static void sub_80A9F10(u8 taskId) static void sub_80A9F50(void) { - REG_DISPCNT = DISPCNT_OBJ_1D_MAP; + REG_DISPCNT = DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP; REG_DISPCNT |= DISPCNT_OBJ_ON | DISPCNT_BG0_ON; SetUpWindowConfig(&gWindowConfig_81E6C3C); InitWindowFromConfig(&gMenuWindow, &gWindowConfig_81E6C3C); @@ -1073,7 +1073,7 @@ void unref_sub_80AB084(u8 *text) REG_WIN0V = 0; REG_WIN1H = 0; REG_WIN1V = 0; - REG_DISPCNT = 0x1F40; + REG_DISPCNT = DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG_ALL_ON | DISPCNT_OBJ_ON; savedIme = REG_IME; REG_IME = 0; -- cgit v1.2.3 From c0c3d2c52ad839450041d1ca6a29691efc5c5d35 Mon Sep 17 00:00:00 2001 From: Marijn van der Werf Date: Wed, 10 May 2017 00:13:21 +0200 Subject: Decompile some cable_club functions --- src/matsuda_debug_menu.c | 1 - 1 file changed, 1 deletion(-) (limited to 'src/matsuda_debug_menu.c') 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[]; -- cgit v1.2.3 From 010eb456d63b0d644285f263f310d73bfb9646b2 Mon Sep 17 00:00:00 2001 From: Marijn van der Werf Date: Sat, 20 May 2017 17:49:54 +0200 Subject: Decrease indentation level of switches --- src/matsuda_debug_menu.c | 70 ++++++++++++++++++++++++------------------------ 1 file changed, 35 insertions(+), 35 deletions(-) (limited to 'src/matsuda_debug_menu.c') diff --git a/src/matsuda_debug_menu.c b/src/matsuda_debug_menu.c index d2ca754bb..09ee5fc66 100644 --- a/src/matsuda_debug_menu.c +++ b/src/matsuda_debug_menu.c @@ -528,41 +528,41 @@ void sub_80AA754(struct Sprite *sprite) { switch (gMain.newAndRepeatedKeys) { - case 0x10: - case 0x20: - sprite->data0 ^= 1; - break; - case 0x40: - if (sprite->data1 == 0) - sprite->data1 = 8; - else - sprite->data1--; - break; - case 0x80: - if (sprite->data1 == 8) - sprite->data1 = 0; - else - sprite->data1++; - break; - case 0x1: - gUnknown_083C92E4[sprite->data1][sprite->data0](sprite, 1); - sub_80AA614(sprite->data2, sprite->data3); - break; - case 0x2: - gUnknown_083C92E4[sprite->data1][sprite->data0](sprite, -1); - sub_80AA614(sprite->data2, sprite->data3); - break; - case 0x100: - gUnknown_083C92E4[sprite->data1][sprite->data0](sprite, 10); - sub_80AA614(sprite->data2, sprite->data3); - break; - case 0x200: - gUnknown_083C92E4[sprite->data1][sprite->data0](sprite, -10); - sub_80AA614(sprite->data2, sprite->data3); - break; - case 0x8: - sub_80AAD08(sprite, 1); - break; + case DPAD_RIGHT: + case DPAD_LEFT: + sprite->data0 ^= 1; + break; + case DPAD_UP: + if (sprite->data1 == 0) + sprite->data1 = 8; + else + sprite->data1--; + break; + case DPAD_DOWN: + if (sprite->data1 == 8) + sprite->data1 = 0; + else + sprite->data1++; + break; + case A_BUTTON: + gUnknown_083C92E4[sprite->data1][sprite->data0](sprite, 1); + sub_80AA614(sprite->data2, sprite->data3); + break; + case B_BUTTON: + gUnknown_083C92E4[sprite->data1][sprite->data0](sprite, -1); + sub_80AA614(sprite->data2, sprite->data3); + break; + case R_BUTTON: + gUnknown_083C92E4[sprite->data1][sprite->data0](sprite, 10); + sub_80AA614(sprite->data2, sprite->data3); + break; + case L_BUTTON: + gUnknown_083C92E4[sprite->data1][sprite->data0](sprite, -10); + sub_80AA614(sprite->data2, sprite->data3); + break; + case START_BUTTON: + sub_80AAD08(sprite, 1); + break; } sprite->pos1.x = gUnknown_083C9296[sprite->data0 + sprite->data1 * 2]; sprite->pos1.y = gUnknown_083C92A8[sprite->data1]; -- cgit v1.2.3 From 6f2cd1e2da53cb0c4a4f4465d8ad72532050174d Mon Sep 17 00:00:00 2001 From: Marijn van der Werf Date: Sun, 21 May 2017 13:25:26 +0200 Subject: Add data2 header --- src/matsuda_debug_menu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/matsuda_debug_menu.c') diff --git a/src/matsuda_debug_menu.c b/src/matsuda_debug_menu.c index d2ca754bb..588d32795 100644 --- a/src/matsuda_debug_menu.c +++ b/src/matsuda_debug_menu.c @@ -2,6 +2,7 @@ #include "matsuda_debug_menu.h" #include "asm.h" #include "contest.h" +#include "data2.h" #include "link.h" #include "main.h" #include "menu.h" @@ -55,7 +56,6 @@ extern struct SpriteTemplate gSpriteTemplate_83C92CC; extern void (*gUnknown_083C92E4[][2])(struct Sprite *, s8); extern u32 gUnknown_083C9400[2]; -extern u8 gMoveNames[][13]; extern u8 gMatsudaDebugMenu_UnknownByteArray[]; extern u8* gMatsudaDebugMenuTextList1[]; -- cgit v1.2.3 From 4d2b22a899c11dfcacfec6889968ab01655a3fe3 Mon Sep 17 00:00:00 2001 From: Marijn van der Werf Date: Fri, 26 May 2017 14:53:51 +0200 Subject: Add headers --- src/matsuda_debug_menu.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'src/matsuda_debug_menu.c') diff --git a/src/matsuda_debug_menu.c b/src/matsuda_debug_menu.c index 018e36567..a9a6079a1 100644 --- a/src/matsuda_debug_menu.c +++ b/src/matsuda_debug_menu.c @@ -1,6 +1,8 @@ +#include "contest_link_80C2020.h" +#include "contest_link_80C857C.h" +#include "unknown_task.h" #include "global.h" #include "matsuda_debug_menu.h" -#include "asm.h" #include "contest.h" #include "data2.h" #include "link.h" @@ -27,8 +29,6 @@ extern u8 gContestPlayerMonIndex; extern u16 gScriptContestCategory; extern u16 gScriptContestRank; -extern struct Window gMenuWindow; - extern u16 gUnknown_030042A4; extern u16 gUnknown_030042A0; extern u16 gUnknown_030042C0; @@ -84,8 +84,6 @@ static void sub_80AA10C(void); static void sub_80AA5BC(u8); static void sub_80AA614(u8, u8); static void sub_80AAD08(struct Sprite *, s8); -extern void sub_80AB47C(void); -extern int sub_80B2A7C(u8); //Don't know return type size u8 unref_sub_80A9B28(void) { -- cgit v1.2.3 From f26daa3d6954d2db3a7c44b79d319a7a084462c2 Mon Sep 17 00:00:00 2001 From: Marijn van der Werf Date: Fri, 26 May 2017 15:01:42 +0200 Subject: Sort includes --- src/matsuda_debug_menu.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/matsuda_debug_menu.c') diff --git a/src/matsuda_debug_menu.c b/src/matsuda_debug_menu.c index a9a6079a1..3665cabd8 100644 --- a/src/matsuda_debug_menu.c +++ b/src/matsuda_debug_menu.c @@ -1,9 +1,8 @@ -#include "contest_link_80C2020.h" -#include "contest_link_80C857C.h" -#include "unknown_task.h" #include "global.h" #include "matsuda_debug_menu.h" #include "contest.h" +#include "contest_link_80C2020.h" +#include "contest_link_80C857C.h" #include "data2.h" #include "link.h" #include "main.h" @@ -15,6 +14,7 @@ #include "string_util.h" #include "task.h" #include "text.h" +#include "unknown_task.h" extern u8 gUnknown_0203856C; extern u8 gUnknown_0203857D[][64]; -- cgit v1.2.3