summaryrefslogtreecommitdiff
path: root/src/pokenav.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/pokenav.c')
-rw-r--r--src/pokenav.c154
1 files changed, 76 insertions, 78 deletions
diff --git a/src/pokenav.c b/src/pokenav.c
index 8ea33575a..eac0c85b4 100644
--- a/src/pokenav.c
+++ b/src/pokenav.c
@@ -14,8 +14,6 @@
#define LOOPED_TASK_PRIMARY_ID(taskId) (taskId & 0xFFFF)
#define LOOPED_TASK_SECONDARY_ID(taskId) (taskId >> 16)
-#define SUBSTRUCT_COUNT 19
-
struct PokenavResources
{
u32 (*currentMenuCb1)(void);
@@ -23,7 +21,7 @@ struct PokenavResources
u16 mode;
u16 conditionSearchId;
bool32 hasAnyRibbons;
- void *field10[SUBSTRUCT_COUNT];
+ void *substructPtrs[POKENAV_SUBSTRUCT_COUNT];
};
struct PokenavCallbacks
@@ -38,7 +36,7 @@ struct PokenavCallbacks
};
static u32 GetCurrentMenuCB(void);
-static u32 sub_81C75D4(void);
+static u32 IsActiveMenuLoopTaskActive_(void);
static bool32 SetActivePokenavMenu(u32 menuId);
static bool32 AnyMonHasRibbon(void);
static void InitPokenavResources(struct PokenavResources *a0);
@@ -126,43 +124,43 @@ const struct PokenavCallbacks PokenavMenuCallbacks[15] =
},
[POKENAV_CONDITION_PARTY - POKENAV_MENU_IDS_START] =
{
- .init = PokenavCallback_Init_7,
- .callback = sub_81CD070,
- .open = sub_81CDDD4,
- .createLoopTask = sub_81CDE2C,
- .isLoopTaskActive = sub_81CDE64,
- .free1 = sub_81CD1C0,
- .free2 = sub_81CECA0,
+ .init = PokenavCallback_Init_PartyCondition,
+ .callback = GetPartyConditionCallback,
+ .open = OpenPartyConditionMenu,
+ .createLoopTask = CreatePartyConditionLoopedTask,
+ .isLoopTaskActive = IsPartyConditionLoopedTaskActive,
+ .free1 = FreePartyConditionSubstruct1,
+ .free2 = FreePartyConditionSubstruct2,
},
[POKENAV_CONDITION_SEARCH_RESULTS - POKENAV_MENU_IDS_START] =
{
- .init = PokenavCallback_Init_8,
- .callback = sub_81CEFDC,
- .open = sub_81CF330,
- .createLoopTask = sub_81CF3A0,
- .isLoopTaskActive = sub_81CF3D0,
- .free1 = sub_81CEFF0,
- .free2 = sub_81CF3F8,
+ .init = PokenavCallback_Init_ConditionSearch,
+ .callback = GetConditionSearchResultsCallback,
+ .open = OpenConditionSearchResults,
+ .createLoopTask = CreateSearchResultsLoopedTask,
+ .isLoopTaskActive = IsSearchResultLoopedTaskActive,
+ .free1 = FreeSearchResultSubstruct1,
+ .free2 = FreeSearchResultSubstruct2,
},
- [POKENAV_MENU_9 - POKENAV_MENU_IDS_START] =
+ [POKENAV_CONDITION_GRAPH_FROM_SEARCH - POKENAV_MENU_IDS_START] =
{
- .init = PokenavCallback_Init_9,
- .callback = sub_81CD070,
- .open = sub_81CDDD4,
- .createLoopTask = sub_81CDE2C,
- .isLoopTaskActive = sub_81CDE64,
- .free1 = sub_81CD1C0,
- .free2 = sub_81CECA0,
+ .init = PokenavCallback_Init_ConditionGraphFromSearch,
+ .callback = GetPartyConditionCallback,
+ .open = OpenPartyConditionMenu,
+ .createLoopTask = CreatePartyConditionLoopedTask,
+ .isLoopTaskActive = IsPartyConditionLoopedTaskActive,
+ .free1 = FreePartyConditionSubstruct1,
+ .free2 = FreePartyConditionSubstruct2,
},
- [POKENAV_MENU_A - POKENAV_MENU_IDS_START] =
+ [POKENAV_RETURN_CONDITION_SEARCH - POKENAV_MENU_IDS_START] =
{
- .init = PokenavCallback_Init_10,
- .callback = sub_81CEFDC,
- .open = sub_81CF368,
- .createLoopTask = sub_81CF3A0,
- .isLoopTaskActive = sub_81CF3D0,
- .free1 = sub_81CEFF0,
- .free2 = sub_81CF3F8,
+ .init = PokenavCallback_Init_ReturnToMonSearchList,
+ .callback = GetConditionSearchResultsCallback,
+ .open = OpenConditionSearchListFromGraph,
+ .createLoopTask = CreateSearchResultsLoopedTask,
+ .isLoopTaskActive = IsSearchResultLoopedTaskActive,
+ .free1 = FreeSearchResultSubstruct1,
+ .free2 = FreeSearchResultSubstruct2,
},
[POKENAV_MATCH_CALL - POKENAV_MENU_IDS_START] =
{
@@ -176,33 +174,33 @@ const struct PokenavCallbacks PokenavMenuCallbacks[15] =
},
[POKENAV_RIBBONS_MON_LIST - POKENAV_MENU_IDS_START] =
{
- .init = PokenavCallback_Init_12,
- .callback = sub_81CFA34,
- .open = sub_81CFDD0,
- .createLoopTask = sub_81CFE40,
- .isLoopTaskActive = sub_81CFE70,
- .free1 = sub_81CFA48,
- .free2 = sub_81CFE98,
+ .init = PokenavCallback_Init_MonRibbonList,
+ .callback = GetRibbonsMonListCallback,
+ .open = OpenRibbonsMonList,
+ .createLoopTask = CreateRibbonsMonListLoopedTask,
+ .isLoopTaskActive = IsRibbonsMonListLoopedTaskActive,
+ .free1 = FreeRibbonsMonList1,
+ .free2 = FreeRibbonsMonList2,
},
- [POKENAV_MENU_D - POKENAV_MENU_IDS_START] =
+ [POKENAV_RIBBONS_SUMMARY_SCREEN - POKENAV_MENU_IDS_START] =
{
- .init = PokenavCallback_Init_13,
- .callback = sub_81D04A0,
- .open = sub_81D0978,
- .createLoopTask = sub_81D09B0,
- .isLoopTaskActive = sub_81D09E0,
- .free1 = sub_81D04B8,
- .free2 = sub_81D09F4,
+ .init = PokenavCallback_Init_RibbonsSummaryMenu,
+ .callback = GetRibbonsSummaryMenuCallback,
+ .open = OpenRibbonsSummaryMenu,
+ .createLoopTask = CreateRibbonsSummaryLoopedTask,
+ .isLoopTaskActive = IsRibbonsSummaryLoopedTaskActive,
+ .free1 = FreeRibbonsSummaryScreen1,
+ .free2 = FreeRibbonsSummaryScreen2,
},
- [POKENAV_MENU_E - POKENAV_MENU_IDS_START] =
+ [POKENAV_RIBBONS_RETURN_TO_MON_LIST - POKENAV_MENU_IDS_START] =
{
- .init = PokenavCallback_Init_14,
- .callback = sub_81CFA34,
- .open = sub_81CFE08,
- .createLoopTask = sub_81CFE40,
- .isLoopTaskActive = sub_81CFE70,
- .free1 = sub_81CFA48,
- .free2 = sub_81CFE98,
+ .init = PokenavCallback_Init_RibbonsMonListFromSummary,
+ .callback = GetRibbonsMonListCallback,
+ .open = OpenRibbonsMonListFromRibbonsSummary,
+ .createLoopTask = CreateRibbonsMonListLoopedTask,
+ .isLoopTaskActive = IsRibbonsMonListLoopedTaskActive,
+ .free1 = FreeRibbonsMonList1,
+ .free2 = FreeRibbonsMonList2,
},
};
@@ -368,24 +366,24 @@ static void FreePokenavResources(void)
{
int i;
- for (i = 0; i < SUBSTRUCT_COUNT; i++)
+ for (i = 0; i < POKENAV_SUBSTRUCT_COUNT; i++)
FreePokenavSubstruct(i);
FREE_AND_SET_NULL(gPokenavResources);
InitKeys();
}
-static void InitPokenavResources(struct PokenavResources *a0)
+static void InitPokenavResources(struct PokenavResources *resources)
{
int i;
- for (i = 0; i < SUBSTRUCT_COUNT; i++)
- a0->field10[i] = NULL;
+ for (i = 0; i < POKENAV_SUBSTRUCT_COUNT; i++)
+ resources->substructPtrs[i] = NULL;
- a0->mode = POKENAV_MODE_NORMAL;
- a0->currentMenuIndex = 0;
- a0->hasAnyRibbons = AnyMonHasRibbon();
- a0->currentMenuCb1 = NULL;
+ resources->mode = POKENAV_MODE_NORMAL;
+ resources->currentMenuIndex = 0;
+ resources->hasAnyRibbons = AnyMonHasRibbon();
+ resources->currentMenuCb1 = NULL;
}
static bool32 AnyMonHasRibbon(void)
@@ -453,12 +451,12 @@ static void Task_Pokenav(u8 taskId)
tState = 4;
break;
case 2:
- if (sub_81C786C())
+ if (IsActiveMenuLoopTaskActive())
break;
tState = 3;
case 3:
menuId = GetCurrentMenuCB();
- if (menuId == -1)
+ if (menuId == POKENAV_MENU_FUNC_EXIT)
{
ShutdownPokenav();
tState = 5;
@@ -479,13 +477,13 @@ static void Task_Pokenav(u8 taskId)
}
else if (menuId != 0)
{
- sub_81C7850(menuId);
- if (sub_81C786C())
+ RunMainMenuLoopedTask(menuId);
+ if (IsActiveMenuLoopTaskActive())
tState = 2;
}
break;
case 4:
- if (!sub_81C75D4())
+ if (!IsActiveMenuLoopTaskActive_())
tState = 3;
break;
case 5:
@@ -516,15 +514,15 @@ static bool32 SetActivePokenavMenu(u32 menuId)
if (!PokenavMenuCallbacks[index].open())
return FALSE;
- sub_81C7834(PokenavMenuCallbacks[index].createLoopTask, PokenavMenuCallbacks[index].isLoopTaskActive);
+ SetActiveMenuLoopTasks(PokenavMenuCallbacks[index].createLoopTask, PokenavMenuCallbacks[index].isLoopTaskActive);
gPokenavResources->currentMenuCb1 = PokenavMenuCallbacks[index].callback;
gPokenavResources->currentMenuIndex = index;
return TRUE;
}
-static u32 sub_81C75D4(void)
+static u32 IsActiveMenuLoopTaskActive_(void)
{
- return sub_81C786C();
+ return IsActiveMenuLoopTaskActive();
}
static u32 GetCurrentMenuCB(void)
@@ -549,19 +547,19 @@ void SetPokenavVBlankCallback(void)
void *AllocSubstruct(u32 index, u32 size)
{
- gPokenavResources->field10[index] = Alloc(size);
- return gPokenavResources->field10[index];
+ gPokenavResources->substructPtrs[index] = Alloc(size);
+ return gPokenavResources->substructPtrs[index];
}
void *GetSubstructPtr(u32 index)
{
- return gPokenavResources->field10[index];
+ return gPokenavResources->substructPtrs[index];
}
void FreePokenavSubstruct(u32 index)
{
- if (gPokenavResources->field10[index] != NULL)
- FREE_AND_SET_NULL(gPokenavResources->field10[index]);
+ if (gPokenavResources->substructPtrs[index] != NULL)
+ FREE_AND_SET_NULL(gPokenavResources->substructPtrs[index]);
}
u32 GetPokenavMode(void)