diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/item_menu.c | 2 | ||||
-rw-r--r-- | src/item_pc.c | 2 | ||||
-rw-r--r-- | src/list_menu.c | 163 | ||||
-rw-r--r-- | src/pokedex_screen.c | 6 |
4 files changed, 75 insertions, 98 deletions
diff --git a/src/item_menu.c b/src/item_menu.c index 6b23482e5..e0022322d 100644 --- a/src/item_menu.c +++ b/src/item_menu.c @@ -1224,7 +1224,7 @@ static void BeginMovingItemInPocket(u8 taskId, s16 itemIndex) u16 cursorPos; s16 *data = gTasks[taskId].data; ListMenuGetScrollAndRow(data[0], &cursorPos, &itemsAbove); - ListMenuSetUnkIndicatorsStructField(data[0], 0x10, 1); + ListMenuSetTemplateField(data[0], LISTFIELD_CURSORKIND, 1); data[1] = itemIndex; sBagMenuDisplay->itemOriginalLocation = itemIndex; StringCopy(gStringVar1, ItemId_GetName(BagGetItemIdByPocketPosition(gBagMenuState.pocket + 1, data[1]))); diff --git a/src/item_pc.c b/src/item_pc.c index 4366997ba..bf1bf87df 100644 --- a/src/item_pc.c +++ b/src/item_pc.c @@ -767,7 +767,7 @@ static void ItemPc_MoveItemModeInit(u8 taskId, s16 pos) { s16 * data = gTasks[taskId].data; - ListMenuSetUnkIndicatorsStructField(data[0], 16, 1); + ListMenuSetTemplateField(data[0], LISTFIELD_CURSORKIND, 1); data[1] = pos; sStateDataPtr->moveModeOrigPos = pos; StringCopy(gStringVar1, ItemId_GetName(ItemPc_GetItemIdBySlotId(data[1]))); diff --git a/src/list_menu.c b/src/list_menu.c index b032ae012..d1e69c2ff 100644 --- a/src/list_menu.c +++ b/src/list_menu.c @@ -11,29 +11,6 @@ #include "pokemon_icon.h" #include "constants/songs.h" -struct UnkIndicatorsStruct -{ - u8 field_0; - u16 *field_4; - u16 field_8; - u16 field_A; - u16 field_C; - u16 field_E; - u8 field_10; - u8 field_11; - u8 field_12; - u8 field_13; - u8 field_14_0:4; - u8 field_14_1:4; - u8 field_15_0:4; - u8 field_15_1:4; - u8 field_16_0:3; - u8 field_16_1:3; - u8 field_16_2:2; - u8 field_17_0:6; - u8 field_17_1:2; -}; - struct MysteryGiftLinkMenuStruct { u32 currItemId; @@ -646,104 +623,104 @@ void ListMenuDefaultCursorMoveFunc(s32 itemIndex, bool8 onInit, struct ListMenu PlaySE(SE_SELECT); } -static s32 ListMenuGetUnkIndicatorsStructFields(u8 taskId, u8 field) +static s32 ListMenuGetTemplateField(u8 taskId, u8 field) { - struct UnkIndicatorsStruct *data = (struct UnkIndicatorsStruct *)gTasks[taskId].data; + struct ListMenu *data = (struct ListMenu *)gTasks[taskId].data; switch (field) { - case 0: - case 1: - return (s32)(data->field_4); - case 2: - return data->field_C; - case 3: - return data->field_E; - case 4: - return data->field_10; - case 5: - return data->field_11; - case 6: - return data->field_12; - case 7: - return data->field_13; - case 8: - return data->field_14_0; - case 9: - return data->field_14_1; - case 10: - return data->field_15_0; - case 11: - return data->field_15_1; - case 12: - return data->field_16_0; - case 13: - return data->field_16_1; - case 14: - return data->field_16_2; - case 15: - return data->field_17_0; - case 16: - return data->field_17_1; + case LISTFIELD_MOVECURSORFUNC: + case LISTFIELD_MOVECURSORFUNC2: + return (s32)(data->template.moveCursorFunc); + case LISTFIELD_TOTALITEMS: + return data->template.totalItems; + case LISTFIELD_MAXSHOWED: + return data->template.maxShowed; + case LISTFIELD_WINDOWID: + return data->template.windowId; + case LISTFIELD_HEADERX: + return data->template.header_X; + case LISTFIELD_ITEMX: + return data->template.item_X; + case LISTFIELD_CURSORX: + return data->template.cursor_X; + case LISTFIELD_UPTEXTY: + return data->template.upText_Y; + case LISTFIELD_CURSORPAL: + return data->template.cursorPal; + case LISTFIELD_FILLVALUE: + return data->template.fillValue; + case LISTFIELD_CURSORSHADOWPAL: + return data->template.cursorShadowPal; + case LISTFIELD_LETTERSPACING: + return data->template.lettersSpacing; + case LISTFIELD_ITEMVERTICALPADDING: + return data->template.itemVerticalPadding; + case LISTFIELD_SCROLLMULTIPLE: + return data->template.scrollMultiple; + case LISTFIELD_FONTID: + return data->template.fontId; + case LISTFIELD_CURSORKIND: + return data->template.cursorKind; default: return -1; } } -void ListMenuSetUnkIndicatorsStructField(u8 taskId, u8 field, s32 value) +void ListMenuSetTemplateField(u8 taskId, u8 field, s32 value) { - struct UnkIndicatorsStruct *data = (struct UnkIndicatorsStruct *)gTasks[taskId].data; + struct ListMenu *data = (struct ListMenu *)gTasks[taskId].data; switch (field) { - case 0: - case 1: - data->field_4 = (void *)value; + case LISTFIELD_MOVECURSORFUNC: + case LISTFIELD_MOVECURSORFUNC2: + data->template.moveCursorFunc = (void *)value; break; - case 2: - data->field_C = value; + case LISTFIELD_TOTALITEMS: + data->template.totalItems = value; break; - case 3: - data->field_E = value; + case LISTFIELD_MAXSHOWED: + data->template.maxShowed = value; break; - case 4: - data->field_10 = value; + case LISTFIELD_WINDOWID: + data->template.windowId = value; break; - case 5: - data->field_11 = value; + case LISTFIELD_HEADERX: + data->template.header_X = value; break; - case 6: - data->field_12 = value; + case LISTFIELD_ITEMX: + data->template.item_X = value; break; - case 7: - data->field_13 = value; + case LISTFIELD_CURSORX: + data->template.cursor_X = value; break; - case 8: - data->field_14_0 = value; + case LISTFIELD_UPTEXTY: + data->template.upText_Y = value; break; - case 9: - data->field_14_1 = value; + case LISTFIELD_CURSORPAL: + data->template.cursorPal = value; break; - case 10: - data->field_15_0 = value; + case LISTFIELD_FILLVALUE: + data->template.fillValue = value; break; - case 11: - data->field_15_1 = value; + case LISTFIELD_CURSORSHADOWPAL: + data->template.cursorShadowPal = value; break; - case 12: - data->field_16_0 = value; + case LISTFIELD_LETTERSPACING: + data->template.lettersSpacing = value; break; - case 13: - data->field_16_1 = value; + case LISTFIELD_ITEMVERTICALPADDING: + data->template.itemVerticalPadding = value; break; - case 14: - data->field_16_2 = value; + case LISTFIELD_SCROLLMULTIPLE: + data->template.scrollMultiple = value; break; - case 15: - data->field_17_0 = value; + case LISTFIELD_FONTID: + data->template.fontId = value; break; - case 16: - data->field_17_1 = value; + case LISTFIELD_CURSORKIND: + data->template.cursorKind = value; break; } } diff --git a/src/pokedex_screen.c b/src/pokedex_screen.c index dc8968a5f..c4749055d 100644 --- a/src/pokedex_screen.c +++ b/src/pokedex_screen.c @@ -1187,10 +1187,10 @@ static void MoveCursorFunc_DexModeSelect(s32 itemIndex, bool8 onInit, struct Lis static void ItemPrintFunc_DexModeSelect(u8 windowId, s32 itemId, u8 y) { u32 itemId_ = itemId; - if (itemId_ > 8 || sPokedexScreenData->unlockedCategories & (1 << itemId_)) - ListMenuOverrideSetColors(1, 0, 3); + if (itemId_ >= DEX_CATEGORY_COUNT || sPokedexScreenData->unlockedCategories & (1 << itemId_)) + ListMenuOverrideSetColors(TEXT_COLOR_WHITE, TEXT_COLOR_TRANSPARENT, TEXT_COLOR_LIGHT_GRAY); else - ListMenuOverrideSetColors(10, 0, 11); + ListMenuOverrideSetColors(TEXT_DYNAMIC_COLOR_1, TEXT_COLOR_TRANSPARENT, TEXT_DYNAMIC_COLOR_2); } static void Task_DexScreen_NumericalOrder(u8 taskId) |