diff options
author | Marcus Huderle <huderlem@gmail.com> | 2018-05-21 10:37:04 -0700 |
---|---|---|
committer | Marcus Huderle <huderlem@gmail.com> | 2018-05-21 10:38:28 -0700 |
commit | eb31d1f861c20fa720c8bf0f253ba53500807144 (patch) | |
tree | 2901a403d551ead0497f7c2e4413232d460147b0 | |
parent | f661567c027f74d768451c5af72644d83ab80dc9 (diff) |
Label naming screen struct members
-rw-r--r-- | include/naming_screen.h | 30 | ||||
-rw-r--r-- | src/naming_screen.c | 116 |
2 files changed, 66 insertions, 80 deletions
diff --git a/include/naming_screen.h b/include/naming_screen.h index f22f7dc78..53a56cf28 100644 --- a/include/naming_screen.h +++ b/include/naming_screen.h @@ -18,14 +18,12 @@ enum struct NamingScreenTemplate { - u8 unk0; + u8 copyExistingString; u8 maxChars; - u8 unk2; - u8 unk3; - u8 unk4; //mode? - u8 unk5; - u8 unk6; - u8 unk7; + u8 iconFunction; + u8 addGenderIcon; + u8 initialPage; + u8 filler[3]; const u8 *title; }; @@ -33,21 +31,21 @@ struct NamingScreenData { /*0x00*/ u8 state; /*0x01*/ u8 templateNum; - /*0x02*/ u16 unk2; + /*0x02*/ u16 nameLeftOffset; /*0x04*/ u16 bg1vOffset; /*0x06*/ u16 bg2vOffset; - /*0x08*/ u16 unk8; - /*0x0A*/ u16 unkA; - /*0x0C*/ u8 unkC; - /*0x0D*/ u8 unkD; + /*0x08*/ u16 bg1Priority; + /*0x0A*/ u16 bg2Priority; + /*0x0C*/ u8 bgToReveal; + /*0x0D*/ u8 bgToHide; /*0x0E*/ u8 currentPage; /*0x0F*/ u8 cursorSpriteId; - /*0x10*/ u8 unk10; + /*0x10*/ u8 pageIndicatorSpriteId; /*0x11*/ u8 textBuffer[0x10]; /*0x21*/ u8 filler21[0x13]; - const struct NamingScreenTemplate *template; + /*0x34*/ const struct NamingScreenTemplate *template; /*0x38*/ u8 *destBuffer; - /*0x3C*/ u16 unk3C; //savedKeyRepeatStartDelay + /*0x3C*/ u16 keyRepeatStartDelayCopy; /*0x3E*/ u16 speciesOrPlayerGender; /*0x40*/ u16 monGender; /*0x42*/ u32 monPersonality; @@ -80,6 +78,6 @@ enum INPUT_STATE_ENABLED, }; -void DoNamingScreen(u8 r0, u8 *r1, u16 r2, u16 r3, u32 s0, MainCallback s4); +void DoNamingScreen(u8, u8*, u16, u16, u32, MainCallback); #endif diff --git a/src/naming_screen.c b/src/naming_screen.c index 378462891..60799bacb 100644 --- a/src/naming_screen.c +++ b/src/naming_screen.c @@ -26,8 +26,6 @@ #define COLUMN_COUNT 10 #endif -extern u8 CreateMonIcon(u16 species, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority, u32 personality); - const u8 gSpriteImage_83CE094[] = INCBIN_U8("graphics/naming_screen/pc_icon/0.4bpp"); const u8 gSpriteImage_83CE154[] = INCBIN_U8("graphics/naming_screen/pc_icon/1.4bpp"); @@ -194,9 +192,9 @@ static void VBlankCB_NamingScreen(void) REG_BG1VOFS = namingScreenDataPtr->bg1vOffset; REG_BG2VOFS = namingScreenDataPtr->bg2vOffset; REG_BG1CNT &= 0xFFFC; - REG_BG1CNT |= namingScreenDataPtr->unk8; + REG_BG1CNT |= namingScreenDataPtr->bg1Priority; REG_BG2CNT &= 0xFFFC; - REG_BG2CNT |= namingScreenDataPtr->unkA; + REG_BG2CNT |= namingScreenDataPtr->bg2Priority; } static void StoreNamingScreenParameters(u8 templateNum, u8 *destBuffer, u16 speciesOrPlayerGender, u16 monGender, u32 monPersonality, MainCallback returnCallback) @@ -294,16 +292,16 @@ static void NamingScreen_Init(void) namingScreenDataPtr->state = 0; namingScreenDataPtr->bg1vOffset = 0; namingScreenDataPtr->bg2vOffset = 0; - namingScreenDataPtr->unk8 = 1; - namingScreenDataPtr->unkA = 2; - namingScreenDataPtr->unkC = 0; - namingScreenDataPtr->unkD = 1; + namingScreenDataPtr->bg1Priority = BGCNT_PRIORITY(1); + namingScreenDataPtr->bg2Priority = BGCNT_PRIORITY(2); + namingScreenDataPtr->bgToReveal = 0; + namingScreenDataPtr->bgToHide = 1; namingScreenDataPtr->template = sNamingScreenTemplates[namingScreenDataPtr->templateNum]; - namingScreenDataPtr->currentPage = namingScreenDataPtr->template->unk4; - namingScreenDataPtr->unk2 = 14 - namingScreenDataPtr->template->maxChars / 2; - namingScreenDataPtr->unk3C = gKeyRepeatStartDelay; + namingScreenDataPtr->currentPage = namingScreenDataPtr->template->initialPage; + namingScreenDataPtr->nameLeftOffset = 14 - namingScreenDataPtr->template->maxChars / 2; + namingScreenDataPtr->keyRepeatStartDelayCopy = gKeyRepeatStartDelay; memset(namingScreenDataPtr->textBuffer, 0xFF, sizeof(namingScreenDataPtr->textBuffer)); - if (namingScreenDataPtr->template->unk0 != 0) + if (namingScreenDataPtr->template->copyExistingString) StringCopy(namingScreenDataPtr->textBuffer, namingScreenDataPtr->destBuffer); gKeyRepeatStartDelay = 16; } @@ -471,7 +469,7 @@ static bool8 MainState_6(struct Task *task) SetInputState(INPUT_STATE_DISABLED); sub_80B68D8(0); sub_80B6460(3, 0, 1); - gKeyRepeatStartDelay = namingScreenDataPtr->unk3C; + gKeyRepeatStartDelay = namingScreenDataPtr->keyRepeatStartDelayCopy; if (namingScreenDataPtr->templateNum == NAMING_SCREEN_TEMPLATE_MON_NAME && CalculatePlayerPartyCount() >= 6) { @@ -943,14 +941,13 @@ static bool8 PageSwapAnimState_1(struct Task *task) }; task->tFrameCount += 4; - *arr[namingScreenDataPtr->unkC] = Sin(task->tFrameCount, 40); - *arr[namingScreenDataPtr->unkD] = Sin((task->tFrameCount + 128) & 0xFF, 40); + *arr[namingScreenDataPtr->bgToReveal] = Sin(task->tFrameCount, 40); + *arr[namingScreenDataPtr->bgToHide] = Sin((task->tFrameCount + 128) & 0xFF, 40); if (task->tFrameCount >= 64) { - u8 temp = namingScreenDataPtr->unk8; //Why u8 and not u16? - - namingScreenDataPtr->unk8 = namingScreenDataPtr->unkA; - namingScreenDataPtr->unkA = temp; + u8 temp = namingScreenDataPtr->bg1Priority; + namingScreenDataPtr->bg1Priority = namingScreenDataPtr->bg2Priority; + namingScreenDataPtr->bg2Priority = temp; task->tState++; } return 0; @@ -961,14 +958,14 @@ static bool8 PageSwapAnimState_2(struct Task *task) u16 *const arr[] = {&namingScreenDataPtr->bg2vOffset, &namingScreenDataPtr->bg1vOffset}; task->tFrameCount += 4; - *arr[namingScreenDataPtr->unkC] = Sin(task->tFrameCount, 40); - *arr[namingScreenDataPtr->unkD] = Sin((task->tFrameCount + 128) & 0xFF, 40); + *arr[namingScreenDataPtr->bgToReveal] = Sin(task->tFrameCount, 40); + *arr[namingScreenDataPtr->bgToHide] = Sin((task->tFrameCount + 128) & 0xFF, 40); if (task->tFrameCount >= 128) { - u8 temp = namingScreenDataPtr->unkC; + u8 temp = namingScreenDataPtr->bgToReveal; - namingScreenDataPtr->unkC = namingScreenDataPtr->unkD; - namingScreenDataPtr->unkD = temp; + namingScreenDataPtr->bgToReveal = namingScreenDataPtr->bgToHide; + namingScreenDataPtr->bgToHide = temp; task->tState++; } return 0; @@ -1114,7 +1111,7 @@ static void sub_80B6A80(void) u8 spriteId3; spriteId1 = CreateSprite(&gSpriteTemplate_83CE5C8, 0xCC, 0x50, 0); - namingScreenDataPtr->unk10 = spriteId1; + namingScreenDataPtr->pageIndicatorSpriteId = spriteId1; SetSubspriteTables(&gSprites[spriteId1], gSubspriteTables_83CE558); spriteId2 = CreateSprite(&gSpriteTemplate_83CE5F8, 0xCC, 0x4C, 1); @@ -1128,7 +1125,7 @@ static void sub_80B6A80(void) static void sub_80B6B14(void) { - struct Sprite *sprite = &gSprites[namingScreenDataPtr->unk10]; + struct Sprite *sprite = &gSprites[namingScreenDataPtr->pageIndicatorSpriteId]; sprite->data[0] = 2; sprite->data[1] = namingScreenDataPtr->currentPage; @@ -1224,16 +1221,16 @@ static void sub_80B6CA8(void) static void sub_80B6D04(void) { u8 spriteId; - s16 r1; + s16 left; u8 i; - r1 = (namingScreenDataPtr->unk2 - 1) * 8 + 4; - spriteId = CreateSprite(&gSpriteTemplate_83CE658, r1, 0x28, 0); + left = (namingScreenDataPtr->nameLeftOffset - 1) * 8 + 4; + spriteId = CreateSprite(&gSpriteTemplate_83CE658, left, 0x28, 0); gSprites[spriteId].oam.priority = 3; - r1 = namingScreenDataPtr->unk2 * 8 + 4; - for (i = 0; i < namingScreenDataPtr->template->maxChars; i++, r1 += 8) + left = namingScreenDataPtr->nameLeftOffset * 8 + 4; + for (i = 0; i < namingScreenDataPtr->template->maxChars; i++, left += 8) { - spriteId = CreateSprite(&gSpriteTemplate_83CE670, r1, 0x2C, 0); + spriteId = CreateSprite(&gSpriteTemplate_83CE670, left, 0x2C, 0); gSprites[spriteId].oam.priority = 3; gSprites[spriteId].data[0] = i; } @@ -1292,7 +1289,7 @@ static void (*const gUnknown_083CE2E0[])(void) = static void sub_80B6E44(void) { - gUnknown_083CE2E0[namingScreenDataPtr->template->unk2](); + gUnknown_083CE2E0[namingScreenDataPtr->template->iconFunction](); } static void nullsub_40(void) @@ -1642,8 +1639,8 @@ static void sub_80B75C4(void) (u16 *)(VRAM + 0xE800), }; - gUnknown_083CE2F0[namingScreenDataPtr->currentPage][0](arr[namingScreenDataPtr->unkC]); - gUnknown_083CE2F0[namingScreenDataPtr->currentPage][1](arr[namingScreenDataPtr->unkD]); + gUnknown_083CE2F0[namingScreenDataPtr->currentPage][0](arr[namingScreenDataPtr->bgToReveal]); + gUnknown_083CE2F0[namingScreenDataPtr->currentPage][1](arr[namingScreenDataPtr->bgToHide]); } static void sub_80B7614(void) @@ -1654,7 +1651,7 @@ static void sub_80B7614(void) (u16 *)(VRAM + 0xE800), }; - gUnknown_083CE2F0[namingScreenDataPtr->currentPage][1](arr[namingScreenDataPtr->unkD]); + gUnknown_083CE2F0[namingScreenDataPtr->currentPage][1](arr[namingScreenDataPtr->bgToHide]); } static void sub_80B7650(u16 *vramBuffer) @@ -1708,12 +1705,12 @@ static void sub_80B76E0(u16 *vramBuffer, const u16 *src) static void sub_80B772C(void) { - nullsub_20(namingScreenDataPtr->currentPage, namingScreenDataPtr->unkC); + nullsub_20(namingScreenDataPtr->currentPage, namingScreenDataPtr->bgToReveal); } static void sub_80B7740(void) { - nullsub_20((namingScreenDataPtr->currentPage + 1) % 3, namingScreenDataPtr->unkD); + nullsub_20((namingScreenDataPtr->currentPage + 1) % 3, namingScreenDataPtr->bgToHide); } static void nullsub_20(u8 a, u8 b) @@ -1779,9 +1776,9 @@ static u8 GetCharAtKeyboardPos(s16 a, s16 b) static void sub_80B7794(void) { - BasicInitMenuWindow(gUnknown_083CE328[namingScreenDataPtr->currentPage][0][namingScreenDataPtr->unkC]); + BasicInitMenuWindow(gUnknown_083CE328[namingScreenDataPtr->currentPage][0][namingScreenDataPtr->bgToReveal]); gUnknown_083CE310[namingScreenDataPtr->currentPage][0](); - BasicInitMenuWindow(gUnknown_083CE328[namingScreenDataPtr->currentPage][1][namingScreenDataPtr->unkD]); + BasicInitMenuWindow(gUnknown_083CE328[namingScreenDataPtr->currentPage][1][namingScreenDataPtr->bgToHide]); gUnknown_083CE310[namingScreenDataPtr->currentPage][1](); sub_80B772C(); sub_80B7740(); @@ -1789,7 +1786,7 @@ static void sub_80B7794(void) static void sub_80B77F8(void) { - BasicInitMenuWindow(gUnknown_083CE328[namingScreenDataPtr->currentPage][1][namingScreenDataPtr->unkD]); + BasicInitMenuWindow(gUnknown_083CE328[namingScreenDataPtr->currentPage][1][namingScreenDataPtr->bgToHide]); gUnknown_083CE310[namingScreenDataPtr->currentPage][1](); sub_80B7740(); } @@ -1822,7 +1819,7 @@ static void sub_80B78A8(void) { BasicInitMenuWindow(&gWindowTemplate_81E6F4C); gUnknown_083CE358[namingScreenDataPtr->templateNum](); - gUnknown_083CE368[namingScreenDataPtr->template->unk3](); + gUnknown_083CE368[namingScreenDataPtr->template->addGenderIcon](); Menu_PrintText(namingScreenDataPtr->template->title, 9, 2); } @@ -1864,7 +1861,7 @@ static void sub_80B7960(void) string += 6; StringCopy(string, namingScreenDataPtr->textBuffer); BasicInitMenuWindow(&gWindowTemplate_81E6F4C); - Menu_PrintText(gStringVar1, namingScreenDataPtr->unk2, 4); + Menu_PrintText(gStringVar1, namingScreenDataPtr->nameLeftOffset, 4); } //-------------------------------------------------- @@ -1873,40 +1870,31 @@ static void sub_80B7960(void) static const struct NamingScreenTemplate playerNamingScreenTemplate = { - .unk0 = 0, + .copyExistingString = 0, .maxChars = 7, - .unk2 = 1, - .unk3 = 0, - .unk4 = 0, - .unk5 = 0, - .unk6 = 0, - .unk7 = 0, + .iconFunction = 1, + .addGenderIcon = 0, + .initialPage = 0, .title = OtherText_YourName, }; static const struct NamingScreenTemplate pcBoxNamingTemplate = { - .unk0 = 0, + .copyExistingString = 0, .maxChars = 8, - .unk2 = 2, - .unk3 = 0, - .unk4 = 0, - .unk5 = 0, - .unk6 = 0, - .unk7 = 0, + .iconFunction = 2, + .addGenderIcon = 0, + .initialPage = 0, .title = OtherText_BoxName, }; static const struct NamingScreenTemplate monNamingScreenTemplate = { - .unk0 = 0, + .copyExistingString = 0, .maxChars = 10, - .unk2 = 3, - .unk3 = 1, - .unk4 = 0, - .unk5 = 0, - .unk6 = 0, - .unk7 = 0, + .iconFunction = 3, + .addGenderIcon = 1, + .initialPage = 0, .title = OtherText_PokeName, }; |