summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/list_menu.h22
-rw-r--r--include/list_menu_items.h21
-rw-r--r--include/scrcmd.h1
-rw-r--r--include/text.h14
-rw-r--r--include/text_02054590.h5
-rw-r--r--include/unk_02022504.h2
-rw-r--r--include/unk_02025484.h2
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);