summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorYamaArashi <shadow962@live.com>2016-09-30 09:54:35 -0700
committerYamaArashi <shadow962@live.com>2016-09-30 09:54:35 -0700
commit302e43fd9124a85d65a91e9a1a32635d87941036 (patch)
tree4be102b74ad54ddeaa83f1eb0f9a07c06a704277 /include
parent4de46005c370a8fac7137645ffd6f0db42b30d4c (diff)
menu.h
Diffstat (limited to 'include')
-rw-r--r--include/fieldmap.h19
-rw-r--r--include/menu.h66
-rw-r--r--include/string_util.h24
-rw-r--r--include/text.h32
4 files changed, 109 insertions, 32 deletions
diff --git a/include/fieldmap.h b/include/fieldmap.h
index d1da5a7e4..6a0074153 100644
--- a/include/fieldmap.h
+++ b/include/fieldmap.h
@@ -16,8 +16,8 @@ struct Tileset
struct MapData
{
- u32 width;
- u32 height;
+ s32 width;
+ s32 height;
void *border;
void *map;
struct Tileset *primaryTileset;
@@ -37,6 +37,14 @@ struct MapObjectTemplate
u8 filler_14[0x4];
};
+struct WarpEvent
+{
+ s16 x, y;
+ s8 warpId;
+ s8 mapGroup;
+ s8 mapNum;
+};
+
struct MapEvents
{
u8 mapObjectCount;
@@ -45,7 +53,7 @@ struct MapEvents
u8 bgEventCount;
struct MapObjectTemplate *mapObjects;
- void *warps;
+ struct WarpEvent *warps;
void *coordEvents;
void *bgEvents;
};
@@ -55,7 +63,10 @@ struct MapHeader
struct MapData *mapData;
struct MapEvents *events;
u8 *mapScripts;
- // TODO: rest of struct
+ void *connections;
+ u16 music;
+ u16 mapDataId;
+ u8 filler_14[0x8];
};
struct MapObject
diff --git a/include/menu.h b/include/menu.h
new file mode 100644
index 000000000..f6c6e6851
--- /dev/null
+++ b/include/menu.h
@@ -0,0 +1,66 @@
+#ifndef GUARD_MENU_H
+#define GUARD_MENU_H
+
+#include "text.h"
+
+void InitMenuWindow(struct WindowConfig *);
+void MultistepInitMenuWindowBegin(struct WindowConfig *);
+bool32 MultistepInitMenuWindowContinue(void);
+void unref_sub_8071DA4(struct WindowConfig *, u16);
+void MenuLoadTextWindowGraphics_OverrideFrameType(u8);
+void MenuLoadTextWindowGraphics(void);
+void BasicInitMenuWindow(struct WindowConfig *);
+void MenuPrint(u8 *, u8, u8);
+void MenuZeroFillWindowRect(u8, u8, u8, u8);
+void MenuFillWindowRectWithBlankTile(u8, u8, u8, u8);
+void MenuZeroFillScreen(void);
+void MenuDrawTextWindow(u8, u8, u8, u8);
+void sub_8071F40(u8 *);
+void sub_8071F60(u8, u8, u8, u8);
+u16 unref_sub_8071F98(u8, u8);
+void unref_sub_8071FBC(u16, u8, u8, u8, u8);
+void MenuDisplayMessageBox(void);
+void MenuPrintMessage(const u8 *, u8, u8);
+void sub_8072044(const u8 *);
+void MenuSetText(const u8 *);
+u8 MenuUpdateWindowText(void);
+u8 unref_sub_8072098(void);
+void sub_80720B0(void);
+u8 MoveMenuCursor(s8);
+u8 MoveMenuCursorNoWrap(s8);
+u8 GetMenuCursorPos(void);
+s8 ProcessMenuInput(void);
+s8 ProcessMenuInputNoWrap(void);
+u8 MoveMenuCursor3(s8);
+u8 MoveMenuCursor4(s8);
+void sub_807274C(u8, u8, u8, u8, u8 * const [][2], u8, u32);
+s8 sub_80727CC(void);
+u8 sub_807288C(u8);
+void PrintMenuItems(u8, u8, u8, u8 * const [][2]);
+void PrintMenuItemsReordered(u8, u8, u8, u8 * const [][2], u8*);
+void InitYesNoMenu(u8, u8, u8);
+void DisplayYesNoMenu(u8, u8, u32);
+s8 ProcessMenuInputNoWrap_(void);
+u8 sub_80729D8(u8 *, u8, u16, u8);
+u8 sub_8072A18(u8 *, u8, u16, u8, u32);
+u8 unref_sub_8072A5C(u8 *, u8 *, u8, u16, u8, u32);
+int sub_8072AB0(u8 *, u8, u16, u8, u8, u32);
+void sub_8072B4C(u8 *, u8, u8);
+void sub_8072B80(u8 *, u8, u8, u8 *);
+void sub_8072BD8(u8 *, u8, u8, u16);
+u8 *sub_8072C14(u8 *, s32, u8, u8);
+u8 *sub_8072C44(u8 *, s32, u8, u8);
+u8 *sub_8072C74(u8 *, u8 *, u8, u8);
+u8 sub_8072CA4(u8 *s);
+u8 sub_8072CBC(void);
+void sub_8072CD4(u8 *, u8 *, u8 *);
+u32 MenuUpdateWindowText_OverrideLineLength(u8);
+struct Window * unref_sub_8072D0C(void);
+u8 InitMenu(u8, u8, u8, u8, u8, u8);
+void RedrawMenuCursor(u8, u8);
+void unref_sub_8072DC0(void);
+void sub_8072DCC(u8);
+void sub_8072DDC(u8);
+void sub_8072DEC(void);
+
+#endif // GUARD_MENU_H
diff --git a/include/string_util.h b/include/string_util.h
index d64bb08cc..fd7d39045 100644
--- a/include/string_util.h
+++ b/include/string_util.h
@@ -10,25 +10,25 @@ enum StringConvertMode
STR_CONV_MODE_LEADING_ZEROS
};
-u8 *StringCopy10(u8 *dest, u8 *src);
+u8 *StringCopy10(u8 *dest, const u8 *src);
u8 *StringGetEnd10(u8 *str);
-u8 *StringCopy8(u8 *dest, u8 *src);
-u8 *StringCopy(u8 *dest, u8 *src);
-u8 *StringAppend(u8 *dest, u8 *src);
-u8 *StringCopyN(u8 *dest, u8 *src, u8 n);
-u8 *StringAppendN(u8 *dest, u8 *src, u8 n);
-u16 StringLength(u8 *str);
-s32 StringCompare(u8 *str1, u8 *str2);
-s32 StringCompareN(u8 *str1, u8 *str2, u32 n);
+u8 *StringCopy8(u8 *dest, const u8 *src);
+u8 *StringCopy(u8 *dest, const u8 *src);
+u8 *StringAppend(u8 *dest, const u8 *src);
+u8 *StringCopyN(u8 *dest, const u8 *src, u8 n);
+u8 *StringAppendN(u8 *dest, const u8 *src, u8 n);
+u16 StringLength(const u8 *str);
+s32 StringCompare(const u8 *str1, const u8 *str2);
+s32 StringCompareN(const u8 *str1, const u8 *str2, u32 n);
u8 *ConvertIntToDecimalStringN(u8 *dest, s32 value, enum StringConvertMode mode, u8 n);
u8 *ConvertIntToDecimalStringN_DigitWidth6(u8 *dest, s32 value, enum StringConvertMode mode, u8 n);
u8 *ConvertIntToHexStringN(u8 *dest, s32 value, enum StringConvertMode mode, u8 n);
u8 *ConvertIntToDecimalString(u8 *dest, s32 value);
-u8 *StringExpandPlaceholders(u8 *dest, u8 *src);
-u8 *StringBraille(u8 *dest, u8 *src);
+u8 *StringExpandPlaceholders(u8 *dest, const u8 *src);
+u8 *StringBraille(u8 *dest, const u8 *src);
u8 *GetExpandedPlaceholder(u32 id);
u8 *StringFill(u8 *dest, u8 c, u16 n);
-u8 *StringCopyPadded(u8 *dest, u8 *src, u8 c, u16 n);
+u8 *StringCopyPadded(u8 *dest, const u8 *src, u8 c, u16 n);
u8 *StringFillWithTerminator(u8 *dest, u16 n);
#endif // GUARD_STRING_UTIL_H
diff --git a/include/text.h b/include/text.h
index 19c9b3040..bfad8e938 100644
--- a/include/text.h
+++ b/include/text.h
@@ -60,7 +60,7 @@ struct Window
u16 tileDataStartOffset;
u16 tileDataOffset;
u16 textIndex;
- u8 *text;
+ const u8 *text;
u8 *tileData;
u16 *tilemap;
struct WindowConfig *config;
@@ -136,18 +136,18 @@ u16 InitWindowTileData(struct Window *win, u16 startOffset);
u32 MultistepInitWindowTileData(struct Window *win, u16 startOffset);
bool32 MultistepLoadFont(void);
void InitWindowFromConfig(struct Window *win, struct WindowConfig *winConfig);
-void InitWindow(struct Window *win, u8 *text, u16 tileDataStartOffset, u8 left, u8 top);
-void sub_8002E4C(struct Window *win, u8 *text, u16 tileDataStartOffset, u8 left, u16 top, u32 a6);
-void sub_8002E90(struct Window *win, u8 *text);
-void sub_8002EB0(struct Window *win, u8 *text, u16 tileDataStartOffset, u8 left, u8 top);
+void InitWindow(struct Window *win, const u8 *text, u16 tileDataStartOffset, u8 left, u8 top);
+void sub_8002E4C(struct Window *win, const u8 *text, u16 tileDataStartOffset, u8 left, u16 top, u32 a6);
+void sub_8002E90(struct Window *win, const u8 *text);
+void sub_8002EB0(struct Window *win, const u8 *text, u16 tileDataStartOffset, u8 left, u8 top);
u8 sub_8002F44(struct Window *win);
u8 sub_8003418(struct Window *win);
-u8 sub_8003460(struct Window *win, u8 *text, u16 tileDataStartOffset, u8 left, u8 top);
+u8 sub_8003460(struct Window *win, const u8 *text, u16 tileDataStartOffset, u8 left, u8 top);
u8 sub_8003490(struct Window *win, u8 c, u16 tileDataStartOffset, u8 left, u8 top);
void sub_80034D4(u8 *tileData, u8 *text);
u8 sub_80034EC(u8 *str);
u8 *sub_8003504(u8 *dest, s32 value, u8 alignAmount, u8 alignType);
-u8 *sub_8003558(u8 *dest, u8 *src, u8 alignAmount, u8 alignType);
+u8 *sub_8003558(u8 *dest, const u8 *src, u8 alignAmount, u8 alignType);
u8 sub_80035AC(struct Window *win);
u8 sub_800374C(struct Window *win);
u8 sub_8003778(struct Window *win);
@@ -164,18 +164,18 @@ void FillWindowRectWithBlankTile(struct Window *win, u8 left, u8 top, u8 right,
u8 GetExtCtrlCodeLength(u8 code);
u8 *AlignInt1(struct Window *win, u8 *dest, s32 value, u8 alignAmount, u8 alignType);
u8 *AlignInt2(struct Window *win, u8 *dest, s32 value, u8 alignAmount, u8 alignType);
-u8 *AlignString(struct Window *win, u8 *dest, u8 *src, u8 alignAmount, u8 alignType);
-u8 GetStringWidth(struct Window *win, u8 *s);
-u8 sub_8004D04(struct Window *win, u8 *text, u16 tileDataStartOffset, u8 left, u16 top, u32 a6);
-u8 sub_8004D38(struct Window *win, u8 *text, u16 tileDataStartOffset, u8 left, u8 top);
-u8 sub_8004DB0(struct Window *win, u8 *text, u16 tileDataStartOffset, u8 left, u8 top, u16 a6);
+u8 *AlignString(struct Window *win, u8 *dest, const u8 *src, u8 alignAmount, u8 alignType);
+u8 GetStringWidth(struct Window *win, const u8 *s);
+u8 sub_8004D04(struct Window *win, const u8 *text, u16 tileDataStartOffset, u8 left, u16 top, u32 a6);
+u8 sub_8004D38(struct Window *win, const u8 *text, u16 tileDataStartOffset, u8 left, u8 top);
+u8 sub_8004DB0(struct Window *win, const u8 *text, u16 tileDataStartOffset, u8 left, u8 top, u16 a6);
u8 sub_8004E24(struct Window *win);
void sub_8004E28(struct Window *win, u8 *foreground, u8 *background, u8 *shadow);
-void sub_8004E3C(struct WindowConfig *winConfig, u8 *tileData, u8 *text);
-u8 GetStringWidthGivenWindowConfig(struct WindowConfig *winConfig, u8 *s);
+void sub_8004E3C(struct WindowConfig *winConfig, u8 *tileData, const u8 *text);
+u8 GetStringWidthGivenWindowConfig(struct WindowConfig *winConfig, const u8 *s);
void ConvertInternationalString(u8 *s, u8 language);
void SkipExtCtrlCodes(u8 *str);
-s32 StringCompareWithoutExtCtrlCodes(u8 *str1, u8 *str2);
-u8 sub_8004FD0(struct Window *win, u8 *dest, u8 *src, u16 tileDataStartOffset, u8 left, u16 top, u8 width, u32 a8);
+s32 StringCompareWithoutExtCtrlCodes(const u8 *str1, const u8 *str2);
+u8 sub_8004FD0(struct Window *win, u8 *dest, const u8 *src, u16 tileDataStartOffset, u8 left, u16 top, u8 width, u32 a8);
#endif // GUARD_TEXT_H