diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/list_menu.h | 22 | ||||
-rw-r--r-- | include/list_menu_items.h | 21 | ||||
-rw-r--r-- | include/scrcmd.h | 1 | ||||
-rw-r--r-- | include/text.h | 14 | ||||
-rw-r--r-- | include/text_02054590.h | 5 | ||||
-rw-r--r-- | include/unk_02022504.h | 2 | ||||
-rw-r--r-- | include/unk_02025484.h | 2 |
7 files changed, 53 insertions, 14 deletions
diff --git a/include/list_menu.h b/include/list_menu.h index 3f60c6f2..a02e1273 100644 --- a/include/list_menu.h +++ b/include/list_menu.h @@ -2,6 +2,7 @@ #define POKEDIAMOND_LIST_MENU_H #include "list_menu_cursor.h" +#include "list_menu_items.h" #define LIST_HEADER -3 #define LIST_CANCEL -2 @@ -13,12 +14,6 @@ struct ListMenu; -struct ListMenuItem -{ - const u16 * text; - s32 index; -}; - // TODO: Document remaining fields. // A lot of these are named based on similar fields in gen 3. @@ -74,5 +69,20 @@ struct ListMenu * ListMenuInit(const struct ListMenuTemplate * template, u16 cur s32 ListMenu_ProcessInput(struct ListMenu * list); void DestroyListMenu(struct ListMenu * list, u16 * cursorPos, u16 * itemsAbove); void RedrawListMenu(struct ListMenu * list); +s32 ListMenuTestInputInternal(struct ListMenu * list, const struct ListMenuTemplate * template, u16 cursorPos, u16 itemsAbove, u16 updateFlag, u16 input, u16 *newCursorPos, u16 *newItemsAbove); +s32 ListMenuTestInput(struct ListMenu * list, const struct ListMenuTemplate * template, u16 cursorPos, u16 itemsAbove, u16 input, u16 *newCursorPos, u16 *newItemsAbove); +void ListMenuOverrideSetColors(struct ListMenu * list, u8 cursorPal, u8 fillValue, u8 cursorShadowPal); +void ListMenuGetCurrentItemArrayId(struct ListMenu * list, u16 * index_p); +void ListMenuGetScrollAndRow(struct ListMenu * list, u16 * cursorPos_p, u16 * itemsAbove_p); +u8 ListMenuGetUnk33(struct ListMenu * list); +s32 ListMenuGetValueByArrayId(struct ListMenu * list, s32 index); +s32 ListMenuGetTemplateField(struct ListMenu * list, u32 attr); +void ListMenuSetTemplateField(struct ListMenu * list, u32 attr, s32 value); +void ListMenuGetItemStr(struct ListMenu * list, struct ListMenuItem * items); +void ListMenuPrint(struct ListMenu * list, struct String * str, u8 x, u8 y); +void ListMenuErasePrintedCursor(struct ListMenu * list, u16 itemsAbove); +u8 ListMenuUpdateSelectedRowIndexAndScrollOffset(struct ListMenu *list, u8 movingDown); +void ListMenuScroll(struct ListMenu * list, u8 count, u8 movingDown); +void ListMenuCopyToVram(struct ListMenu * list); #endif // POKEDIAMOND_LIST_MENU_H diff --git a/include/list_menu_items.h b/include/list_menu_items.h new file mode 100644 index 00000000..ec96d480 --- /dev/null +++ b/include/list_menu_items.h @@ -0,0 +1,21 @@ +#ifndef POKEDIAMOND_LIST_MENU_ITEMS_H +#define POKEDIAMOND_LIST_MENU_ITEMS_H + +#include "string16.h" +#include "msgdata.h" + +struct ListMenuItem +{ + struct String * text; + s32 value; +}; + +struct ListMenuItem * ListMenuItems_ctor(u32 count, u32 heap_id); +void ListMenuItems_dtor(struct ListMenuItem * items); +void ListMenuItems_AppendFromMsgData(struct ListMenuItem * items, struct MsgData * msgData, u32 msgNo, s32 value); +void ListMenuItems_AddItem(struct ListMenuItem * items, struct String * str, s32 value); +void ListMenuItems_CopyItem(struct ListMenuItem * items, struct ListMenuItem * src); +struct ListMenuItem * ListMenuItems_SeekEnd(struct ListMenuItem * items, u32 * heap_id_p); +void ListMenuItems_DestroyMenuStrings(struct ListMenuItem * items); + +#endif // POKEDIAMOND_LIST_MENU_ITEMS_H diff --git a/include/scrcmd.h b/include/scrcmd.h index 226bbb8c..a1906e2d 100644 --- a/include/scrcmd.h +++ b/include/scrcmd.h @@ -161,6 +161,7 @@ BOOL ScrCmd_Unk0054(struct ScriptContext *ctx); BOOL FUN_02041464(struct ScriptContext *ctx); BOOL ScrCmd_Unk0055(struct ScriptContext* ctx); BOOL ScrCmd_Unk0056(struct ScriptContext* ctx); +BOOL ScrCmd_Unk0057(struct ScriptContext* ctx); BOOL ScrCmd_Unk0058(struct ScriptContext* ctx); BOOL ScrCmd_Unk0049(struct ScriptContext* ctx); BOOL ScrCmd_Unk004A(struct ScriptContext* ctx); diff --git a/include/text.h b/include/text.h index 57185a05..514e8ba7 100644 --- a/include/text.h +++ b/include/text.h @@ -16,9 +16,15 @@ #define CHAR_8 0x00AA #define CHAR_9 0x00AB +union StrbufForPrint +{ + struct String * wrapped; + const u16 * raw; +}; + struct TextPrinterTemplate { - const u16* currentChar; // 0 + union StrbufForPrint currentChar; // 0 struct Window * window; // 4 u8 padding[1]; // 8 u8 fontId; // 9 @@ -76,9 +82,9 @@ BOOL FUN_0201BD44(u32 param0); void FUN_0201BD5C(void); u8 FUN_0201BD70(u32 param0); void FUN_0201BD7C(u32 param0); -u16 AddTextPrinterParameterized(struct Window * window, u8 fontId, const u16 *str, u32 x, u32 y, u32 speed, u8 (*callback)(struct TextPrinterTemplate *, u16)); -u16 AddTextPrinterParameterized2(struct Window * window, u8 fontId, const u16 *str, u32 x, u32 y, u32 speed, u32 colors, u8 (*callback)(struct TextPrinterTemplate *, u16)); -u16 AddTextPrinterParameterized3(struct Window * window, u32 fontId, const u16 *str, u32 x, u32 y, u32 speed, u32 colors, u32 letterSpacing, u32 lineSpacing, u8 (*callback)(struct TextPrinterTemplate *, u16)); +u16 AddTextPrinterParameterized(struct Window * window, u8 fontId, struct String *str, u32 x, u32 y, u32 speed, u8 (*callback)(struct TextPrinterTemplate *, u16)); +u16 AddTextPrinterParameterized2(struct Window * window, u8 fontId, struct String *str, u32 x, u32 y, u32 speed, u32 colors, u8 (*callback)(struct TextPrinterTemplate *, u16)); +u16 AddTextPrinterParameterized3(struct Window * window, u32 fontId, struct String *str, u32 x, u32 y, u32 speed, u32 colors, u32 letterSpacing, u32 lineSpacing, u8 (*callback)(struct TextPrinterTemplate *, u16)); u16 AddTextPrinter(struct TextPrinterTemplate *printerTemplate, u32 speed, u8 (*callback)(struct TextPrinterTemplate *, u16)); void RunTextPrinter(u32 param0, struct TextPrinter *printer); u32 RenderFont(struct TextPrinter *printer); diff --git a/include/text_02054590.h b/include/text_02054590.h index b1ee055a..32dca79a 100644 --- a/include/text_02054590.h +++ b/include/text_02054590.h @@ -4,13 +4,14 @@ #include "global.h" #include "options.h" #include "window.h" +#include "string16.h" void FUN_02054590(u32 param0, u32 param1); void FUN_020545B8(u32 param0, u32 param1, u32 param2); void FUN_02054608(struct Window *param0, struct Options *options); void FUN_0205464C(struct Window *param0); -u16 FUN_02054658(struct Window * window, const u16 *str, struct Options *options, u8 param3); -u16 DrawFieldMessage(struct Window * window, const u16 *str, u8 fontId, u32 speed, u8 a4, u32 a5); +u16 FUN_02054658(struct Window * window, struct String *str, struct Options *options, u8 param3); +u16 DrawFieldMessage(struct Window * window, struct String *str, u8 fontId, u32 speed, u8 a4, u32 a5); u8 FUN_020546C8(u32 param0); void FUN_020546E0(u32 param0, u32 param1, u32 param2, u32 param3); void FUN_02054744(struct Window *param0, u32 param1, u32 param2); diff --git a/include/unk_02022504.h b/include/unk_02022504.h index aa541f85..62e4def1 100644 --- a/include/unk_02022504.h +++ b/include/unk_02022504.h @@ -9,6 +9,6 @@ struct PCStorage *GetStoragePCPointer(struct SaveBlock2 *sav2); void *FUN_0202251C(struct SaveBlock2 *sav2); void *FUN_02022528(struct SaveBlock2 *sav2); u8 *LoadHallOfFame(struct SaveBlock2 *sav2, u32 heap_id, int *ret_p); -s32 *SaveHallOfFame(struct SaveBlock2 *sav2, u8 *data); +s32 SaveHallOfFame(struct SaveBlock2 *sav2, u8 *data); #endif //POKEDIAMOND_UNK_02022504_H diff --git a/include/unk_02025484.h b/include/unk_02025484.h index 0412dda1..d2feccb3 100644 --- a/include/unk_02025484.h +++ b/include/unk_02025484.h @@ -9,7 +9,7 @@ struct unk_2025484 u8 padding[0x1C]; }; -void FUN_02025484(struct unk_2025484 *r0, u32 r1); +void FUN_02025484(struct unk_2025484 *r0); u32 *FUN_02025490(struct unk_2025484 *r0, u32 r1); u32 *FUN_020254A0(struct unk_2025484 *r0, u32 r1); u32 FUN_020254B4(struct unk_2025484 *r0); |