summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/fame_checker.c135
1 files changed, 67 insertions, 68 deletions
diff --git a/src/fame_checker.c b/src/fame_checker.c
index ec78b5f0e..85cea3015 100644
--- a/src/fame_checker.c
+++ b/src/fame_checker.c
@@ -52,9 +52,9 @@ struct FameCheckerData
u8 listMenuDrawnSelIdx;
u8 unlockedPersons[NUM_FAMECHECKER_PERSONS + 1];
u8 spriteIds[6];
- u8 unk_23_0:1;
+ u8 viewingFlavorText:1;
u8 unk_23_1:1; // unused
- u8 unk_23_2:1;
+ u8 pickModeOverCancel:1;
};
static EWRAM_DATA u16 * sBg3TilemapBuffer = NULL;
@@ -65,7 +65,7 @@ static EWRAM_DATA struct ListMenuItem * sListMenuItems = NULL;
static EWRAM_DATA s32 sLastMenuIdx = 0;
struct ListMenuTemplate gFameChecker_ListMenuTemplate;
-u8 gUnknown_3005EC8;
+u8 gIconDescriptionBoxIsOpen;
static void MainCB2_LoadFameChecker(void);
static void LoadUISpriteSheetsAndPalettes(void);
@@ -86,31 +86,31 @@ static bool8 SetMessageSelectorIconObjMode(u8 taskId, u8 objMode);
static void Task_StartToCloseFameChecker(u8 taskId);
static void Task_DestroyAssetsAndCloseFameChecker(u8 taskId);
static void FC_DestroyWindow(u8 windowId);
-static void PrintUIHelp(u8 a0);
-static bool8 CreateAllFlavorTextIcons(u8 a0);
+static void PrintUIHelp(u8 state);
+static bool8 CreateAllFlavorTextIcons(u8 who);
static void FCSetup_ClearVideoRegisters(void);
static void FCSetup_ResetTasksAndSpriteResources(void);
static void FCSetup_TurnOnDisplay(void);
static void FCSetup_ResetBGCoords(void);
static bool8 HasUnlockedAllFlavorTextsForCurrentPerson(void);
static void FreeSelectionCursorSpriteResources(void);
-static u8 CreateFlavorTextIconSelectorCursorSprite(s16 a0);
+static u8 CreateFlavorTextIconSelectorCursorSprite(s16 where);
static void SpriteCB_DestroyFlavorTextIconSelectorCursor(struct Sprite *sprite);
static void FreeQuestionMarkSpriteResources(void);
-static u8 PlaceQuestionMarkTile(u8, u8);
+static u8 PlaceQuestionMarkTile(u8 x, u8 y);
static void FreeSpinningPokeballSpriteResources(void);
static u8 CreateSpinningPokeballSprite(void);
static void SpriteCB_DestroySpinningPokeball(struct Sprite *sprite);
static void FreeNonTrainerPicTiles(void);
-static u8 CreatePersonPicSprite(u8 a0);
-static void DestroyPersonPicSprite(u8 a0, u16 a1);
-static void UpdateIconDescriptionBox(u8 a0);
-static void sub_812DB10(void);
+static u8 CreatePersonPicSprite(u8 fcPersonIdx);
+static void DestroyPersonPicSprite(u8 taskId, u16 who);
+static void UpdateIconDescriptionBox(u8 whichText);
+static void UpdateIconDescriptionBoxOff(void);
static void FC_CreateListMenu(void);
static void SpriteCB_FCSpinningPokeball(struct Sprite * sprite);
static void InitListMenuTemplate(void);
-static void FC_MoveCursorFunc(s32, bool8, struct ListMenu *);
-static void sub_812DD50(u8 taskId);
+static void FC_MoveCursorFunc(s32 itemIndex, bool8 onInit, struct ListMenu * list);
+static void Task_SwitchToPickMode(u8 taskId);
static void PrintCancelDescription(void);
static void FC_DoMoveCursor(s32 itemIndex, bool8 onInit);
static u8 FC_PopulateListMenu(void);
@@ -118,10 +118,10 @@ static void FC_PutWindowTilemapAndCopyWindowToVramMode3_2(u8 windowId);
static void FC_CreateScrollIndicatorArrowPair(void);
static void FreeListMenuSelectorArrowPairResources(void);
static u16 FameCheckerGetCursorY(void);
-static void FlipBitUnk23_0(bool8);
-static void sub_812E110(u8 taskId);
-static void sub_812E178(u8 a0, s16 a1);
-static void PlaceListMenuCursor(bool8 a0);
+static void HandleFlavorTextModeSwitch(bool8 state);
+static void Task_FCOpenOrCloseInfoBox(u8 taskId);
+static void UpdateInfoBoxTilemap(u8 bg, s16 state);
+static void PlaceListMenuCursor(bool8 isActive);
extern const u8 gFameCheckerText_Cancel[];
extern const u8 gFameCheckerText_ListMenuCursor[];
@@ -447,7 +447,7 @@ void UseFameChecker(MainCallback savedCallback)
sFameCheckerData->listMenuCurIdx = 0;
sFameCheckerData->listMenuTopIdx2 = 0;
sFameCheckerData->listMenuDrawnSelIdx = 0;
- sFameCheckerData->unk_23_0 = FALSE;
+ sFameCheckerData->viewingFlavorText = FALSE;
PlaySE(SE_W202);
SetMainCallback2(MainCB2_LoadFameChecker);
}
@@ -510,7 +510,7 @@ static void MainCB2_LoadFameChecker(void)
break;
case 6:
LoadUISpriteSheetsAndPalettes();
- CreateAllFlavorTextIcons(0);
+ CreateAllFlavorTextIcons(FAMECHECKER_OAK);
WipeMsgBoxAndTransfer();
BeginNormalPaletteFade(0xFFFFFFFF,0, 16, 0, 0);
gMain.state++;
@@ -523,7 +523,7 @@ static void MainCB2_LoadFameChecker(void)
SetVBlankCallback(FC_VBlankCallback);
sFameCheckerData->listMenuTopIdx = 0;
FC_CreateScrollIndicatorArrowPair();
- sub_812E178(1, 4);
+ UpdateInfoBoxTilemap(1, 4);
CreateTask(Task_WaitFadeOnInit, 0x08);
SetMainCallback2(MainCB2_FameCheckerMain);
gMain.state = 0;
@@ -549,7 +549,7 @@ static void Task_TopMenuHandleInput(u8 taskId)
u8 i;
struct Task *task = &gTasks[taskId];
s16 * data = gTasks[taskId].data;
- if (FindTaskIdByFunc(sub_812E110) == 0xFF)
+ if (FindTaskIdByFunc(Task_FCOpenOrCloseInfoBox) == 0xFF)
{
RunTextPrinters();
if ((JOY_NEW(SELECT_BUTTON)) && !sFameCheckerData->inPickMode && sFameCheckerData->savedCallback != UseFameCheckerFromMenu)
@@ -566,8 +566,8 @@ static void Task_TopMenuHandleInput(u8 taskId)
PlaySE(SE_W100);
FillWindowPixelRect(FCWINDOWID_ICONDESC, 0x00, 0, 0, 88, 32);
FC_PutWindowTilemapAndCopyWindowToVramMode3(FCWINDOWID_ICONDESC);
- sub_812E178(2, 4);
- sub_812E178(1, 5);
+ UpdateInfoBoxTilemap(2, 4);
+ UpdateInfoBoxTilemap(1, 5);
PrintUIHelp(1);
task->data[2] = CreatePersonPicSprite(sFameCheckerData->unlockedPersons[cursorPos]);
gSprites[task->data[2]].pos2.x = 0xF0;
@@ -597,7 +597,7 @@ static void Task_TopMenuHandleInput(u8 taskId)
if (i != task->data[1])
SetMessageSelectorIconObjMode(sFameCheckerData->spriteIds[i], ST_OAM_OBJ_BLEND);
}
- gUnknown_3005EC8 = 0xFF;
+ gIconDescriptionBoxIsOpen = 0xFF;
PlaceListMenuCursor(FALSE);
PrintUIHelp(2);
if (gSprites[sFameCheckerData->spriteIds[task->data[1]]].data[1] != 0xFF) // not a ? tile
@@ -631,7 +631,7 @@ static bool8 TryExitPickMode(u8 taskId)
WipeMsgBoxAndTransfer();
task->func = Task_ExitPickMode;
MessageBoxPrintEmptyText();
- sFameCheckerData->unk_23_2 = FALSE;
+ sFameCheckerData->pickModeOverCancel = FALSE;
return TRUE;
}
return FALSE;
@@ -666,8 +666,8 @@ static void Task_ExitPickMode(u8 taskId)
{
if (sFameCheckerData->personHasUnlockedPanels)
PrintUIHelp(0);
- sub_812E178(1, 4);
- sub_812E178(2, 2);
+ UpdateInfoBoxTilemap(1, 4);
+ UpdateInfoBoxTilemap(2, 2);
sFameCheckerData->inPickMode = FALSE;
DestroyPersonPicSprite(taskId, FameCheckerGetCursorY());
task->func = Task_TopMenuHandleInput;
@@ -695,8 +695,8 @@ static void Task_FlavorTextDisplayHandleInput(u8 taskId)
SetMessageSelectorIconObjMode(sFameCheckerData->spriteIds[i], ST_OAM_OBJ_NORMAL);
WipeMsgBoxAndTransfer();
gSprites[task->data[0]].callback = SpriteCB_DestroyFlavorTextIconSelectorCursor;
- if (gUnknown_3005EC8 != 0xFF)
- sub_812DB10();
+ if (gIconDescriptionBoxIsOpen != 0xFF)
+ UpdateIconDescriptionBoxOff();
PlaceListMenuCursor(TRUE);
PrintUIHelp(0);
FC_CreateScrollIndicatorArrowPair();
@@ -760,8 +760,8 @@ static void FC_MoveSelectorCursor(u8 taskId, s8 dx, s8 dy)
PrintSelectedNameInBrightGreen(taskId);
UpdateIconDescriptionBox(data[1]);
}
- else if (gUnknown_3005EC8 != 0xFF)
- sub_812DB10();
+ else if (gIconDescriptionBoxIsOpen != 0xFF)
+ UpdateIconDescriptionBoxOff();
}
static void GetPickModeText(void)
@@ -913,14 +913,13 @@ static void DestroyAllFlavorTextIcons(void)
}
}
-static bool8 CreateAllFlavorTextIcons(u8 a0)
+static bool8 CreateAllFlavorTextIcons(u8 who)
{
- // r8 <- a0
bool8 result = FALSE;
u8 i;
for (i = 0; i < 6; i++)
{
- if ((gSaveBlock1Ptr->fameChecker[sFameCheckerData->unlockedPersons[a0]].flavorTextFlags >> i) & 1)
+ if ((gSaveBlock1Ptr->fameChecker[sFameCheckerData->unlockedPersons[who]].flavorTextFlags >> i) & 1)
{
sFameCheckerData->spriteIds[i] = sub_805EB44(
sFameCheckerArrayNpcGraphicsIds[sFameCheckerData->unlockedPersons[a0] * 6 + i],
@@ -1206,12 +1205,12 @@ static void DestroyPersonPicSprite(u8 taskId, u16 who)
sub_810C2E8(data[2]);
}
-static void UpdateIconDescriptionBox(u8 a0)
+static void UpdateIconDescriptionBox(u8 whichText)
{
s32 width;
- u32 idx = 6 * sFameCheckerData->unlockedPersons[FameCheckerGetCursorY()] + a0;
- FlipBitUnk23_0(TRUE);
- gUnknown_3005EC8 = 1;
+ u32 idx = 6 * sFameCheckerData->unlockedPersons[FameCheckerGetCursorY()] + whichText;
+ HandleFlavorTextModeSwitch(TRUE);
+ gIconDescriptionBoxIsOpen = 1;
FillWindowPixelRect(FCWINDOWID_ICONDESC, 0x00, 0, 0, 0x58, 0x20);
width = (0x54 - GetStringWidth(0, sFlavorTextOriginLocationTexts[idx], 0)) / 2;
AddTextPrinterParametrized2(FCWINDOWID_ICONDESC, 0, width, 0, 0, 2, &gUnknown_845F5E3, -1, sFlavorTextOriginLocationTexts[idx]);
@@ -1221,10 +1220,10 @@ static void UpdateIconDescriptionBox(u8 a0)
FC_PutWindowTilemapAndCopyWindowToVramMode3(FCWINDOWID_ICONDESC);
}
-static void sub_812DB10(void)
+static void UpdateIconDescriptionBoxOff(void)
{
- FlipBitUnk23_0(FALSE);
- gUnknown_3005EC8 = 0xFF;
+ HandleFlavorTextModeSwitch(FALSE);
+ gIconDescriptionBoxIsOpen = 0xFF;
}
static void FC_CreateListMenu(void)
@@ -1259,11 +1258,11 @@ static void InitListMenuTemplate(void)
static void FC_MoveCursorFunc(s32 itemIndex, bool8 onInit, struct ListMenu *list)
{
- u16 sp8;
+ u16 listMenuTopIdx;
u8 taskId;
- u16 r9;
+ u16 personIdx;
sLastMenuIdx = 0;
- r9 = sFameCheckerData->listMenuTopIdx2 + sFameCheckerData->listMenuDrawnSelIdx;
+ personIdx = sFameCheckerData->listMenuTopIdx2 + sFameCheckerData->listMenuDrawnSelIdx;
FC_DoMoveCursor(itemIndex, onInit);
taskId = FindTaskIdByFunc(Task_TopMenuHandleInput);
if (taskId != 0xFF)
@@ -1271,24 +1270,24 @@ static void FC_MoveCursorFunc(s32 itemIndex, bool8 onInit, struct ListMenu *list
struct Task *task = &gTasks[taskId];
PlaySE(SE_SELECT);
task->data[1] = 0;
- get_coro_args_x18_x1A(sFameCheckerData->listMenuTaskId, &sp8, NULL);
- sFameCheckerData->listMenuTopIdx = sp8;
+ get_coro_args_x18_x1A(sFameCheckerData->listMenuTaskId, &listMenuTopIdx, NULL);
+ sFameCheckerData->listMenuTopIdx = listMenuTopIdx;
if (itemIndex != sFameCheckerData->numUnlockedPersons - 1)
{
DestroyAllFlavorTextIcons();
CreateAllFlavorTextIcons(itemIndex);
if (sFameCheckerData->inPickMode)
{
- if (!sFameCheckerData->unk_23_2)
+ if (!sFameCheckerData->pickModeOverCancel)
{
- DestroyPersonPicSprite(taskId, r9);
+ DestroyPersonPicSprite(taskId, personIdx);
sLastMenuIdx = itemIndex;
- task->func = sub_812DD50;
+ task->func = Task_SwitchToPickMode;
}
else
{
gSprites[task->data[2]].invisible = FALSE;
- sFameCheckerData->unk_23_2 = FALSE;
+ sFameCheckerData->pickModeOverCancel = FALSE;
gSprites[task->data[2]].data[0] = 0;
GetPickModeText();
}
@@ -1305,7 +1304,7 @@ static void FC_MoveCursorFunc(s32 itemIndex, bool8 onInit, struct ListMenu *list
if (sFameCheckerData->inPickMode)
{
gSprites[task->data[2]].invisible = TRUE;
- sFameCheckerData->unk_23_2 = TRUE;
+ sFameCheckerData->pickModeOverCancel = TRUE;
}
else
{
@@ -1319,7 +1318,7 @@ static void FC_MoveCursorFunc(s32 itemIndex, bool8 onInit, struct ListMenu *list
}
}
-static void sub_812DD50(u8 taskId)
+static void Task_SwitchToPickMode(u8 taskId)
{
struct Task * task = &gTasks[taskId];
task->data[2] = CreatePersonPicSprite(sFameCheckerData->unlockedPersons[sLastMenuIdx]);
@@ -1437,29 +1436,29 @@ static u16 FameCheckerGetCursorY(void)
return sp0 + sp2;
}
-static void FlipBitUnk23_0(bool8 a0)
+static void HandleFlavorTextModeSwitch(bool8 state)
{
- if (sFameCheckerData->unk_23_0 != a0)
+ if (sFameCheckerData->viewingFlavorText != state)
{
- u8 taskId = FindTaskIdByFunc(sub_812E110);
+ u8 taskId = FindTaskIdByFunc(Task_FCOpenOrCloseInfoBox);
if (taskId == 0xFF)
- taskId = CreateTask(sub_812E110, 8);
+ taskId = CreateTask(Task_FCOpenOrCloseInfoBox, 8);
gTasks[taskId].data[0] = 0;
gTasks[taskId].data[1] = 4;
- if (a0 == TRUE)
+ if (state == TRUE)
{
gTasks[taskId].data[2] = 1;
- sFameCheckerData->unk_23_0 = TRUE;
+ sFameCheckerData->viewingFlavorText = TRUE;
}
else
{
gTasks[taskId].data[2] = 4;
- sFameCheckerData->unk_23_0 = FALSE;
+ sFameCheckerData->viewingFlavorText = FALSE;
}
}
}
-static void sub_812E110(u8 taskId)
+static void Task_FCOpenOrCloseInfoBox(u8 taskId)
{
struct Task * task = &gTasks[taskId];
switch (task->data[0])
@@ -1467,7 +1466,7 @@ static void sub_812E110(u8 taskId)
case 0:
if (--task->data[1] == 0)
{
- sub_812E178(1, 0);
+ UpdateInfoBoxTilemap(1, 0);
task->data[1] = 4;
task->data[0]++;
}
@@ -1475,16 +1474,16 @@ static void sub_812E110(u8 taskId)
case 1:
if (--task->data[1] == 0)
{
- sub_812E178(1, task->data[2]);
+ UpdateInfoBoxTilemap(1, task->data[2]);
DestroyTask(taskId);
}
break;
}
}
-static void sub_812E178(u8 bg, s16 a1)
+static void UpdateInfoBoxTilemap(u8 bg, s16 state)
{
- if (a1 == 0 || a1 == 3)
+ if (state == 0 || state == 3)
{
FillBgTilemapBufferRect(bg, 0x8C, 14, 10, 1, 1, 1);
FillBgTilemapBufferRect(bg, 0xA1, 15, 10, 10, 1, 1);
@@ -1498,7 +1497,7 @@ static void sub_812E178(u8 bg, s16 a1)
FillBgTilemapBufferRect(bg, 0x92, 25, 12, 1, 1, 1);
FillBgTilemapBufferRect(bg, 0x93, 26, 12, 1, 1, 1);
}
- else if (a1 == 1)
+ else if (state == 1)
{
FillBgTilemapBufferRect(bg, 0x9B, 14, 10, 1, 1, 1);
FillBgTilemapBufferRect(bg, 0x9C, 15, 10, 11, 1, 1);
@@ -1510,7 +1509,7 @@ static void sub_812E178(u8 bg, s16 a1)
FillBgTilemapBufferRect(bg, 0x9F, 15, 12, 11, 1, 1);
FillBgTilemapBufferRect(bg, 0x99, 26, 12, 1, 1, 1);
}
- else if (a1 == 2)
+ else if (state == 2)
{
FillBgTilemapBufferRect(bg, 0x94, 14, 10, 1, 1, 1);
FillBgTilemapBufferRect(bg, 0x95, 15, 10, 11, 1, 1);
@@ -1522,7 +1521,7 @@ static void sub_812E178(u8 bg, s16 a1)
FillBgTilemapBufferRect(bg, 0x98, 15, 12, 11, 1, 1);
FillBgTilemapBufferRect(bg, 0x99, 26, 12, 1, 1, 1);
}
- else if (a1 == 4)
+ else if (state == 4)
{
FillBgTilemapBufferRect(bg, 0x83, 14, 10, 1, 1, 1);
FillBgTilemapBufferRect(bg, 0xA0, 15, 10, 10, 1, 1);
@@ -1537,7 +1536,7 @@ static void sub_812E178(u8 bg, s16 a1)
FillBgTilemapBufferRect(bg, 0x84, 25, 12, 1, 1, 1);
FillBgTilemapBufferRect(bg, 0x85, 26, 12, 1, 1, 1);
}
- else if (a1 == 5)
+ else if (state == 5)
{
FillBgTilemapBufferRect(bg, 0x00, 14, 10, 13, 3, 1);
}