From eca51011c92a9d9c1287995fc2ee496619d07ff8 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Sun, 11 Feb 2024 11:53:10 -0600 Subject: [PATCH] Decompile sub_D664 --- asm/high_scores.s | 449 -------------------------------- include/constants/high_scores.h | 7 + include/functions.h | 6 +- include/main.h | 16 +- include/variables.h | 4 +- src/high_scores.c | 130 +++++++++ src/rom_1068C.c | 2 +- 7 files changed, 159 insertions(+), 455 deletions(-) create mode 100644 include/constants/high_scores.h diff --git a/asm/high_scores.s b/asm/high_scores.s index 8fb70b8..f037c74 100644 --- a/asm/high_scores.s +++ b/asm/high_scores.s @@ -4,455 +4,6 @@ .text - thumb_func_start sub_D664 -sub_D664: @ 0x0800D664 - push {r4, r5, r6, r7, lr} - mov r7, sb - mov r6, r8 - push {r6, r7} - bl sub_E3A8 - ldr r4, _0800D6E8 @ =gUnknown_02002858 - ldrh r0, [r4, #0x14] - adds r0, #1 - movs r5, #0 - strh r0, [r4, #0x14] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0xc - ble _0800D68C - strh r5, [r4, #0x14] - ldrh r1, [r4, #0x12] - movs r0, #1 - subs r0, r0, r1 - strh r0, [r4, #0x12] -_0800D68C: - ldrh r0, [r4, #0x1e] - adds r0, #1 - strh r0, [r4, #0x1e] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #8 - ble _0800D6B8 - strh r5, [r4, #0x1e] - ldrb r0, [r4, #0xb] - ldr r1, [r4, #0xc] - movs r3, #0x1c - ldrsh r2, [r4, r3] - bl sub_F8B0 - ldrh r0, [r4, #0x1c] - adds r0, #1 - strh r0, [r4, #0x1c] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #2 - ble _0800D6B8 - strh r5, [r4, #0x1c] -_0800D6B8: - ldr r0, _0800D6EC @ =gMain - ldrh r1, [r0, #0x1c] - movs r0, #0x80 - ands r0, r1 - cmp r0, #0 - beq _0800D6F0 - ldr r4, _0800D6E8 @ =gUnknown_02002858 - movs r7, #0x20 - ldrsh r0, [r4, r7] - cmp r0, #0 - bne _0800D72C - movs r0, #0x6b - bl m4aSongNumStart - ldrh r0, [r4, #0x16] - subs r0, #1 - strh r0, [r4, #0x16] - lsls r0, r0, #0x10 - cmp r0, #0 - bge _0800D718 - movs r0, #0x29 - strh r0, [r4, #0x16] - b _0800D718 - .align 2, 0 -_0800D6E8: .4byte gUnknown_02002858 -_0800D6EC: .4byte gMain -_0800D6F0: - movs r0, #0x40 - ands r0, r1 - cmp r0, #0 - beq _0800D72C - ldr r4, _0800D788 @ =gUnknown_02002858 - movs r7, #0x20 - ldrsh r5, [r4, r7] - cmp r5, #0 - bne _0800D72C - movs r0, #0x6b - bl m4aSongNumStart - ldrh r0, [r4, #0x16] - adds r0, #1 - strh r0, [r4, #0x16] - lsls r0, r0, #0x10 - asrs r0, r0, #0x10 - cmp r0, #0x29 - ble _0800D718 - strh r5, [r4, #0x16] -_0800D718: - movs r1, #0x16 - ldrsh r0, [r4, r1] - ldr r1, [r4, #0xc] - movs r3, #0x10 - ldrsh r2, [r4, r3] - ldrb r3, [r4, #0xb] - bl sub_F670 - movs r0, #9 - strh r0, [r4, #0x20] -_0800D72C: - ldr r0, _0800D78C @ =gMain - ldrh r1, [r0, #0x18] - movs r0, #0x10 - ands r0, r1 - cmp r0, #0 - beq _0800D794 - ldr r4, _0800D788 @ =gUnknown_02002858 - movs r7, #0x10 - ldrsh r0, [r4, r7] - cmp r0, #3 - beq _0800D7A6 - movs r0, #0x67 - bl m4aSongNumStart - movs r0, #1 - strh r0, [r4, #0x12] - movs r1, #0x16 - ldrsh r0, [r4, r1] - ldr r1, [r4, #0xc] - movs r3, #0x10 - ldrsh r2, [r4, r3] - ldrb r3, [r4, #0xb] - bl sub_F670 - ldr r3, _0800D790 @ =gUnknown_0202C610 - movs r7, #0x10 - ldrsh r1, [r4, r7] - lsls r1, r1, #2 - ldr r2, [r4, #0xc] - lsls r0, r2, #1 - adds r0, r0, r2 - lsls r0, r0, #3 - adds r1, r1, r0 - ldrb r2, [r4, #0xb] - lsls r0, r2, #1 - adds r0, r0, r2 - lsls r0, r0, #6 - adds r1, r1, r0 - adds r1, r1, r3 - movs r2, #0x16 - ldrsh r0, [r4, r2] - str r0, [r1] - ldrh r0, [r4, #0x10] - adds r0, #1 - b _0800D7F6 - .align 2, 0 -_0800D788: .4byte gUnknown_02002858 -_0800D78C: .4byte gMain -_0800D790: .4byte gUnknown_0202C610 -_0800D794: - movs r0, #0x20 - ands r0, r1 - cmp r0, #0 - beq _0800D818 - ldr r4, _0800D7B0 @ =gUnknown_02002858 - movs r1, #0x10 - ldrsh r0, [r4, r1] - cmp r0, #0 - bne _0800D7B4 -_0800D7A6: - movs r0, #0x8a - bl m4aSongNumStart - b _0800D818 - .align 2, 0 -_0800D7B0: .4byte gUnknown_02002858 -_0800D7B4: - movs r0, #0x67 - bl m4aSongNumStart - movs r0, #1 - strh r0, [r4, #0x12] - movs r2, #0x16 - ldrsh r0, [r4, r2] - ldr r1, [r4, #0xc] - movs r3, #0x10 - ldrsh r2, [r4, r3] - ldrb r3, [r4, #0xb] - bl sub_F670 - ldr r3, _0800D8F8 @ =gUnknown_0202C610 - movs r7, #0x10 - ldrsh r1, [r4, r7] - lsls r1, r1, #2 - ldr r2, [r4, #0xc] - lsls r0, r2, #1 - adds r0, r0, r2 - lsls r0, r0, #3 - adds r1, r1, r0 - ldrb r2, [r4, #0xb] - lsls r0, r2, #1 - adds r0, r0, r2 - lsls r0, r0, #6 - adds r1, r1, r0 - adds r1, r1, r3 - movs r2, #0x16 - ldrsh r0, [r4, r2] - str r0, [r1] - ldrh r0, [r4, #0x10] - subs r0, #1 -_0800D7F6: - strh r0, [r4, #0x10] - movs r7, #0x10 - ldrsh r1, [r4, r7] - lsls r1, r1, #2 - ldr r2, [r4, #0xc] - lsls r0, r2, #1 - adds r0, r0, r2 - lsls r0, r0, #3 - adds r1, r1, r0 - ldrb r2, [r4, #0xb] - lsls r0, r2, #1 - adds r0, r0, r2 - lsls r0, r0, #6 - adds r1, r1, r0 - adds r1, r1, r3 - ldr r0, [r1] - strh r0, [r4, #0x16] -_0800D818: - ldr r0, _0800D8FC @ =gMain - ldrh r1, [r0, #0x18] - movs r5, #1 - adds r0, r5, #0 - ands r0, r1 - cmp r0, #0 - bne _0800D828 - b _0800D936 -_0800D828: - ldr r4, _0800D900 @ =gUnknown_02002858 - strh r5, [r4, #0x12] - movs r1, #0x16 - ldrsh r0, [r4, r1] - ldr r1, [r4, #0xc] - movs r3, #0x10 - ldrsh r2, [r4, r3] - ldrb r3, [r4, #0xb] - bl sub_F670 - ldr r5, _0800D8F8 @ =gUnknown_0202C610 - movs r7, #0x10 - ldrsh r1, [r4, r7] - lsls r1, r1, #2 - ldr r2, [r4, #0xc] - lsls r0, r2, #1 - adds r0, r0, r2 - lsls r0, r0, #3 - adds r1, r1, r0 - ldrb r2, [r4, #0xb] - lsls r0, r2, #1 - adds r0, r0, r2 - lsls r0, r0, #6 - adds r1, r1, r0 - adds r1, r1, r5 - movs r2, #0x16 - ldrsh r0, [r4, r2] - str r0, [r1] - movs r3, #0x10 - ldrsh r0, [r4, r3] - cmp r0, #3 - bne _0800D90C - movs r0, #0x65 - bl m4aSongNumStart - ldrb r0, [r4, #0xb] - ldr r1, [r4, #0xc] - movs r7, #0x1c - ldrsh r2, [r4, r7] - bl sub_FAE8 - movs r3, #0 - adds r6, r5, #0 - ldr r5, _0800D904 @ =gUnknown_0201A500 -_0800D880: - lsls r2, r3, #2 - ldr r1, [r4, #0xc] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #3 - adds r2, r2, r0 - ldrb r1, [r4, #0xb] - lsls r0, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #6 - adds r2, r2, r0 - adds r2, r2, r6 - ldr r0, [r2] - stm r5!, {r0} - adds r3, #1 - cmp r3, #3 - ble _0800D880 - movs r3, #0 - ldr r0, _0800D908 @ =gMain+0x74 - mov r8, r0 - ldr r1, _0800D8F8 @ =gUnknown_0202C610 - mov ip, r1 -_0800D8AC: - movs r1, #0 - adds r2, r3, #1 - mov sb, r2 - lsls r0, r3, #1 - adds r0, r0, r3 - lsls r5, r0, #6 - adds r6, r5, #0 - adds r6, #0xe4 -_0800D8BC: - lsls r0, r1, #1 - adds r4, r1, #1 - adds r0, r0, r1 - lsls r0, r0, #3 - adds r1, r0, r6 - mov r3, r8 - adds r2, r1, r3 - adds r3, r0, r5 - movs r1, #5 -_0800D8CE: - mov r7, ip - adds r0, r3, r7 - ldr r0, [r0] - stm r2!, {r0} - adds r3, #4 - subs r1, #1 - cmp r1, #0 - bge _0800D8CE - adds r1, r4, #0 - cmp r1, #7 - ble _0800D8BC - mov r3, sb - cmp r3, #1 - ble _0800D8AC - bl SaveFile_WriteToSram - ldr r1, _0800D8FC @ =gMain - movs r0, #3 - strb r0, [r1, #3] - b _0800D9B6 - .align 2, 0 -_0800D8F8: .4byte gUnknown_0202C610 -_0800D8FC: .4byte gMain -_0800D900: .4byte gUnknown_02002858 -_0800D904: .4byte gUnknown_0201A500 -_0800D908: .4byte gMain+0x74 -_0800D90C: - movs r0, #0x6a - bl m4aSongNumStart - ldrh r0, [r4, #0x10] - adds r0, #1 - strh r0, [r4, #0x10] - movs r0, #0x10 - ldrsh r1, [r4, r0] - lsls r1, r1, #2 - ldr r2, [r4, #0xc] - lsls r0, r2, #1 - adds r0, r0, r2 - lsls r0, r0, #3 - adds r1, r1, r0 - ldrb r2, [r4, #0xb] - lsls r0, r2, #1 - adds r0, r0, r2 - lsls r0, r0, #6 - adds r1, r1, r0 - adds r1, r1, r5 - b _0800D9B2 -_0800D936: - movs r0, #2 - ands r0, r1 - cmp r0, #0 - beq _0800D9B6 - ldr r4, _0800D950 @ =gUnknown_02002858 - movs r1, #0x10 - ldrsh r0, [r4, r1] - cmp r0, #0 - bne _0800D954 - movs r0, #0x8a - bl m4aSongNumStart - b _0800D9B6 - .align 2, 0 -_0800D950: .4byte gUnknown_02002858 -_0800D954: - movs r0, #0x6a - bl m4aSongNumStart - strh r5, [r4, #0x12] - movs r2, #0x16 - ldrsh r0, [r4, r2] - ldr r1, [r4, #0xc] - movs r3, #0x10 - ldrsh r2, [r4, r3] - ldrb r3, [r4, #0xb] - bl sub_F670 - ldr r3, _0800D9E4 @ =gUnknown_0202C610 - movs r7, #0x10 - ldrsh r1, [r4, r7] - lsls r1, r1, #2 - ldr r2, [r4, #0xc] - lsls r0, r2, #1 - adds r0, r0, r2 - lsls r0, r0, #3 - adds r1, r1, r0 - ldrb r2, [r4, #0xb] - lsls r0, r2, #1 - adds r0, r0, r2 - lsls r0, r0, #6 - adds r1, r1, r0 - adds r1, r1, r3 - movs r2, #0x16 - ldrsh r0, [r4, r2] - str r0, [r1] - ldrh r0, [r4, #0x10] - subs r0, #1 - strh r0, [r4, #0x10] - movs r7, #0x10 - ldrsh r1, [r4, r7] - lsls r1, r1, #2 - ldr r2, [r4, #0xc] - lsls r0, r2, #1 - adds r0, r0, r2 - lsls r0, r0, #3 - adds r1, r1, r0 - ldrb r2, [r4, #0xb] - lsls r0, r2, #1 - adds r0, r0, r2 - lsls r0, r0, #6 - adds r1, r1, r0 - adds r1, r1, r3 -_0800D9B2: - ldr r0, [r1] - strh r0, [r4, #0x16] -_0800D9B6: - ldr r1, _0800D9E8 @ =0x040000D4 - ldr r0, _0800D9EC @ =gUnknown_03005C00 - str r0, [r1] - movs r0, #0xc0 - lsls r0, r0, #0x13 - str r0, [r1, #4] - ldr r0, _0800D9F0 @ =0x80000800 - str r0, [r1, #8] - ldr r0, [r1, #8] - ldr r1, _0800D9F4 @ =gUnknown_02002858 - ldrh r2, [r1, #0x20] - movs r3, #0x20 - ldrsh r0, [r1, r3] - cmp r0, #0 - ble _0800D9D8 - subs r0, r2, #1 - strh r0, [r1, #0x20] -_0800D9D8: - pop {r3, r4} - mov r8, r3 - mov sb, r4 - pop {r4, r5, r6, r7} - pop {r0} - bx r0 - .align 2, 0 -_0800D9E4: .4byte gUnknown_0202C610 -_0800D9E8: .4byte 0x040000D4 -_0800D9EC: .4byte gUnknown_03005C00 -_0800D9F0: .4byte 0x80000800 -_0800D9F4: .4byte gUnknown_02002858 - thumb_func_start sub_D9F8 sub_D9F8: @ 0x0800D9F8 push {lr} diff --git a/include/constants/high_scores.h b/include/constants/high_scores.h new file mode 100644 index 0000000..956c932 --- /dev/null +++ b/include/constants/high_scores.h @@ -0,0 +1,7 @@ +#ifndef GUARD_CONSTANTS_HIGH_SCORES_H +#define GUARD_CONSTANTS_HIGH_SCORES_H + +#define HIGH_SCORE_NAME_LENGTH 4 +#define NUM_HIGH_SCORES 8 + +#endif // GUARD_CONSTANTS_HIGH_SCORES_H \ No newline at end of file diff --git a/include/functions.h b/include/functions.h index 539fc27..ca7a2c0 100644 --- a/include/functions.h +++ b/include/functions.h @@ -143,7 +143,7 @@ extern void sub_DA20(void); //extern ? sub_E0EC(); //extern ? sub_E230(); //extern ? sub_E390(); -//extern ? sub_E3A8(); +extern void sub_E3A8(void); extern void sub_E464(void); extern void sub_E860(void); //extern ? sub_E908(); @@ -159,11 +159,11 @@ extern void sub_EE64(void); extern s32 sub_F3DC(u32, u32, u8); extern void sub_F434(u32, u32, u8); //extern ? sub_F4FC(); -//extern ? sub_F670(); +extern void sub_F670(u32, u32, u32, u32); extern void sub_F6E0(void); //extern ? sub_F74C(); extern void sub_F8B0(u8, u32, s16); -//extern ? sub_FAE8(); +extern void sub_FAE8(u32, u32, s16); extern s8 sub_FD20(void); extern void sub_FD5C(void (*func)(void)); extern void sub_FE04(void (*func)(void)); diff --git a/include/main.h b/include/main.h index e139b79..16ceb22 100644 --- a/include/main.h +++ b/include/main.h @@ -3,8 +3,21 @@ #include "global.h" #include "constants/ereader.h" +#include "constants/high_scores.h" #include "constants/species.h" +struct HighScoreEntry +{ + union { + struct { + u32 name[HIGH_SCORE_NAME_LENGTH]; + u32 scoreLo; + u32 score100Millions; + } parts; + u32 raw[HIGH_SCORE_NAME_LENGTH + 2]; + } data; +}; + // This is probably permanently saved data like pokedex and high scores. struct SaveData { @@ -12,7 +25,8 @@ struct SaveData /*0x141*/ u8 unk141; /*0x142*/ u8 ballSpeed; /*0x143*/ u8 unk143; - /*0x144*/ u16 unk144[0x65][2]; + /*0x144*/ u16 unk144[5][2]; + /*0x158*/ struct HighScoreEntry highScores[2][NUM_HIGH_SCORES]; /*0x2D8*/ s8 signature[10]; u16 checksum; u32 unk2E4; diff --git a/include/variables.h b/include/variables.h index bba8cf8..fad2afa 100644 --- a/include/variables.h +++ b/include/variables.h @@ -1,6 +1,8 @@ #ifndef GUARD_VARIABLES_H #define GUARD_VARIABLES_H +#include "constants/high_scores.h" + // Place all external variable declarations in this file extern struct {u16 unk0[5]; u16 unkA[5];} gUnknown_086A6B14; @@ -18,7 +20,7 @@ extern u8 gUnknown_08527ED6[][10]; extern void (*const gOptionsStateFuncs[])(void); extern u16 gUnknown_0201A520[]; extern u16 gUnknown_0201AD20[]; -extern u32 gUnknown_0201A500[]; +extern u32 gUnknown_0201A500[HIGH_SCORE_NAME_LENGTH]; extern u16 gUnknown_0201A920[]; extern u16 gUnknown_03000000[]; extern u8 gUnknown_03001800[3][0x800]; diff --git a/src/high_scores.c b/src/high_scores.c index 6526875..e7b239a 100644 --- a/src/high_scores.c +++ b/src/high_scores.c @@ -49,6 +49,7 @@ struct unkStruct_2002858 struct unkStruct_2002858 gUnknown_02002858; +extern struct HighScoreEntry gUnknown_0202C610[2][NUM_HIGH_SCORES]; extern u8 gUnknown_0809AFC0[]; extern u8 gUnknown_080947A0[]; extern u8 gUnknown_0809DDE0[]; @@ -580,3 +581,132 @@ void sub_D4B8(void) gMain.unk2E8[3].unk0 = gUnknown_02002882; gMain.unk2E8[2].unk0 = gUnknown_02002882; } + +void sub_D664(void) { + int i, j, k; + + sub_E3A8(); + if (++gUnknown_02002858.unk14 > 12) + { + gUnknown_02002858.unk14 = 0; + gUnknown_02002858.unk12 = 1 - gUnknown_02002858.unk12; + } + + if (++gUnknown_02002858.unk1E > 8) + { + gUnknown_02002858.unk1E = 0; + sub_F8B0(gUnknown_02002858.unkB, gUnknown_02002858.unkC, gUnknown_02002858.unk1C); + if (++gUnknown_02002858.unk1C > 2) + gUnknown_02002858.unk1C = 0; + } + + if (gMain.heldKeys & DPAD_DOWN) + { + if (gUnknown_02002858.unk20 == 0) + { + m4aSongNumStart(0x6B); + if (--gUnknown_02002858.unk16 < 0) + gUnknown_02002858.unk16 = 41; + + sub_F670(gUnknown_02002858.unk16, gUnknown_02002858.unkC, gUnknown_02002858.unk10, gUnknown_02002858.unkB); + gUnknown_02002858.unk20 = 9; + } + } + else if (gMain.heldKeys & DPAD_UP) + { + if (gUnknown_02002858.unk20 == 0) + { + m4aSongNumStart(0x6B); + if (++gUnknown_02002858.unk16 > 41) + gUnknown_02002858.unk16 = 0; + + sub_F670(gUnknown_02002858.unk16, gUnknown_02002858.unkC, gUnknown_02002858.unk10, gUnknown_02002858.unkB); + gUnknown_02002858.unk20 = 9; + } + } + + if (gMain.newKeys & DPAD_RIGHT) + { + if (gUnknown_02002858.unk10 == HIGH_SCORE_NAME_LENGTH - 1) + { + m4aSongNumStart(0x8A); + } + else + { + m4aSongNumStart(0x67); + gUnknown_02002858.unk12 = 1; + sub_F670(gUnknown_02002858.unk16, gUnknown_02002858.unkC, gUnknown_02002858.unk10, gUnknown_02002858.unkB); + gUnknown_0202C610[gUnknown_02002858.unkB][gUnknown_02002858.unkC].data.parts.name[gUnknown_02002858.unk10] = gUnknown_02002858.unk16; + gUnknown_02002858.unk10++; + gUnknown_02002858.unk16 = gUnknown_0202C610[gUnknown_02002858.unkB][gUnknown_02002858.unkC].data.parts.name[gUnknown_02002858.unk10]; + } + } + else if (gMain.newKeys & DPAD_LEFT) + { + if (gUnknown_02002858.unk10 == 0) + { + m4aSongNumStart(0x8A); + } + else + { + m4aSongNumStart(0x67); + gUnknown_02002858.unk12 = 1; + sub_F670(gUnknown_02002858.unk16, gUnknown_02002858.unkC, gUnknown_02002858.unk10, gUnknown_02002858.unkB); + gUnknown_0202C610[gUnknown_02002858.unkB][gUnknown_02002858.unkC].data.parts.name[gUnknown_02002858.unk10] = gUnknown_02002858.unk16; + gUnknown_02002858.unk10--; + gUnknown_02002858.unk16 = gUnknown_0202C610[gUnknown_02002858.unkB][gUnknown_02002858.unkC].data.parts.name[gUnknown_02002858.unk10]; + } + } + + if (gMain.newKeys & A_BUTTON) + { + gUnknown_02002858.unk12 = 1; + sub_F670(gUnknown_02002858.unk16, gUnknown_02002858.unkC, gUnknown_02002858.unk10, gUnknown_02002858.unkB); + gUnknown_0202C610[gUnknown_02002858.unkB][gUnknown_02002858.unkC].data.parts.name[gUnknown_02002858.unk10] = gUnknown_02002858.unk16; + if (gUnknown_02002858.unk10 == HIGH_SCORE_NAME_LENGTH - 1) + { + m4aSongNumStart(0x65); + sub_FAE8(gUnknown_02002858.unkB, gUnknown_02002858.unkC, gUnknown_02002858.unk1C); + for (i = 0; i < HIGH_SCORE_NAME_LENGTH; i++) + gUnknown_0201A500[i] = gUnknown_0202C610[gUnknown_02002858.unkB][gUnknown_02002858.unkC].data.parts.name[i]; + + for (i = 0; i < 2; i++) + { + for (j = 0; j < NUM_HIGH_SCORES; j++) + { + for (k = 0; k < 6; k++) + gMain_saveData.highScores[i][j].data.raw[k] = gUnknown_0202C610[i][j].data.raw[k]; + } + } + + SaveFile_WriteToSram(); + gMain.subState = 3; + } + else + { + m4aSongNumStart(0x6A); + gUnknown_02002858.unk10++; + gUnknown_02002858.unk16 = gUnknown_0202C610[gUnknown_02002858.unkB][gUnknown_02002858.unkC].data.parts.name[gUnknown_02002858.unk10]; + } + } + else if (gMain.newKeys & B_BUTTON) + { + if (gUnknown_02002858.unk10 == 0) + { + m4aSongNumStart(0x8A); + } + else + { + m4aSongNumStart(0x6A); + gUnknown_02002858.unk12 = 1; + sub_F670(gUnknown_02002858.unk16, gUnknown_02002858.unkC, gUnknown_02002858.unk10, gUnknown_02002858.unkB); + gUnknown_0202C610[gUnknown_02002858.unkB][gUnknown_02002858.unkC].data.parts.name[gUnknown_02002858.unk10] = gUnknown_02002858.unk16; + gUnknown_02002858.unk10--; + gUnknown_02002858.unk16 = gUnknown_0202C610[gUnknown_02002858.unkB][gUnknown_02002858.unkC].data.parts.name[gUnknown_02002858.unk10]; + } + } + + DmaCopy16(3, gUnknown_03005C00, 0x6000000, 0x1000); + if (gUnknown_02002858.unk20 > 0) + gUnknown_02002858.unk20--; +} diff --git a/src/rom_1068C.c b/src/rom_1068C.c index 1e8ed85..ffa4e0b 100644 --- a/src/rom_1068C.c +++ b/src/rom_1068C.c @@ -112,6 +112,6 @@ void ClearSomeArray(void) { int i; - for (i = 0; i < 4; i++) + for (i = 0; i < HIGH_SCORE_NAME_LENGTH; i++) gUnknown_0201A500[i] = 0; }