summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/GX_layers.h18
-rw-r--r--include/error_message_reset.h4
-rw-r--r--include/font.h6
-rw-r--r--include/heap.h26
-rw-r--r--include/list_menu.h78
-rw-r--r--include/list_menu_cursor.h17
-rw-r--r--include/main.h22
-rw-r--r--include/script_buffers.h5
-rw-r--r--include/text.h79
-rw-r--r--include/text_02054590.h11
-rw-r--r--include/timer3.h12
-rw-r--r--include/unk_0200CA44.h10
-rw-r--r--include/unk_02015E30.h6
-rw-r--r--include/unk_02024E64.h20
-rw-r--r--include/unk_0202D858.h6
-rw-r--r--include/unk_0202F150.h180
-rw-r--r--include/unk_02031480.h40
-rw-r--r--include/unk_0205FA2C.h42
-rw-r--r--include/unk_0206015C.h4
-rw-r--r--include/window.h26
20 files changed, 382 insertions, 230 deletions
diff --git a/include/GX_layers.h b/include/GX_layers.h
index e94fb4ec..d6afc743 100644
--- a/include/GX_layers.h
+++ b/include/GX_layers.h
@@ -20,14 +20,14 @@ typedef enum {
} GX_LayerToggle;
-THUMB_FUNC void GX_SetBanks(const struct GraphicsBanks *banks);
-THUMB_FUNC void GX_DisableEngineALayers();
-THUMB_FUNC void GX_EngineAToggleLayers(u32 layer_mask, GX_LayerToggle layer_toggle);
-THUMB_FUNC void GX_SetEngineALayers(u32 layer_mask);
-THUMB_FUNC void GX_DisableEngineBLayers();
-THUMB_FUNC void GX_EngineBToggleLayers(u32 layer_mask, GX_LayerToggle layer_toggle);
-THUMB_FUNC void GX_BothDispOn();
-THUMB_FUNC void GX_SwapDisplay();
-THUMB_FUNC u32 GX_GetEngineALayers();
+void GX_SetBanks(const struct GraphicsBanks *banks);
+void GX_DisableEngineALayers();
+void GX_EngineAToggleLayers(u32 layer_mask, GX_LayerToggle layer_toggle);
+void GX_SetEngineALayers(u32 layer_mask);
+void GX_DisableEngineBLayers();
+void GX_EngineBToggleLayers(u32 layer_mask, GX_LayerToggle layer_toggle);
+void GX_BothDispOn();
+void GX_SwapDisplay();
+u32 GX_GetEngineALayers();
#endif //POKEDIAMOND_GX_LAYERS_H
diff --git a/include/error_message_reset.h b/include/error_message_reset.h
index d12cbf33..c3a3dd6a 100644
--- a/include/error_message_reset.h
+++ b/include/error_message_reset.h
@@ -33,7 +33,7 @@ struct GraphicsModes {
};
-THUMB_FUNC void VBlankHandler();
-THUMB_FUNC void PrintErrorMessageAndReset();
+void VBlankHandler();
+void PrintErrorMessageAndReset();
#endif //POKEDIAMOND_ERROR_MESSAGE_RESET_H
diff --git a/include/font.h b/include/font.h
new file mode 100644
index 00000000..e5e64e88
--- /dev/null
+++ b/include/font.h
@@ -0,0 +1,6 @@
+#ifndef POKEDIAMOND_FONT_H
+#define POKEDIAMOND_FONT_H
+
+extern s32 GetFontAttribute(u8 fontId, s32 attr);
+
+#endif // POKEDIAMOND_FONT_H
diff --git a/include/heap.h b/include/heap.h
index 69aedd9e..de1f5f18 100644
--- a/include/heap.h
+++ b/include/heap.h
@@ -17,21 +17,21 @@ struct UnkStruct_020166C8
};
-THUMB_FUNC void FUN_020166C8(u32 *param0, u32 param1, u32 param2, u32 pre_size);
-THUMB_FUNC s32 FUN_020167F4();
-THUMB_FUNC u32 FUN_0201681C(u32 param0, u32 heap_id, u32 param2);
-THUMB_FUNC u32 FUN_02016828(u32 param0, u32 param1, u32 param2);
-THUMB_FUNC u32 FUN_02016834(u32 param0, u32 param1, u32 param2, s32 param3);
-THUMB_FUNC void FUN_020168D0(u32 heap_id);
-THUMB_FUNC u32 *FUN_02016944(void *param0, u32 param1, s32 param2, u32 param3);
-THUMB_FUNC void FUN_02016988();
+void FUN_020166C8(u32 *param0, u32 param1, u32 param2, u32 pre_size);
+s32 FUN_020167F4();
+u32 FUN_0201681C(u32 param0, u32 heap_id, u32 param2);
+u32 FUN_02016828(u32 param0, u32 param1, u32 param2);
+u32 FUN_02016834(u32 param0, u32 param1, u32 param2, s32 param3);
+void FUN_020168D0(u32 heap_id);
+u32 *FUN_02016944(void *param0, u32 param1, s32 param2, u32 param3);
+void FUN_02016988();
void *AllocFromHeap(u32 heap_id, u32 size);
void *AllocFromHeapAtEnd(u32 heap_id, u32 size);
void FreeToHeap(void *ptr);
-void FUN_02016A8C(u32 heap_id, void * ptr);
-THUMB_FUNC u32 FUN_02016AF8(u32 param0);
-THUMB_FUNC void FUN_02016B20(u32 param0, u32 param1, u32 param2);
-THUMB_FUNC void FUN_02016B44(void *ptr, u32 param1);
-THUMB_FUNC u32 FUN_02016B90(u32 param0);
+void FreeToHeapExplicit(u32 heap_id, void * ptr);
+u32 FUN_02016AF8(u32 param0);
+void FUN_02016B20(u32 param0, u32 param1, u32 param2);
+void FUN_02016B44(void *ptr, u32 param1);
+u32 FUN_02016B90(u32 param0);
#endif //POKEDIAMOND_HEAP_H
diff --git a/include/list_menu.h b/include/list_menu.h
new file mode 100644
index 00000000..3f60c6f2
--- /dev/null
+++ b/include/list_menu.h
@@ -0,0 +1,78 @@
+#ifndef POKEDIAMOND_LIST_MENU_H
+#define POKEDIAMOND_LIST_MENU_H
+
+#include "list_menu_cursor.h"
+
+#define LIST_HEADER -3
+#define LIST_CANCEL -2
+#define LIST_NOTHING_CHOSEN -1
+
+#define LIST_NO_MULTIPLE_SCROLL 0
+#define LIST_MULTIPLE_SCROLL_DPAD 1
+#define LIST_MULTIPLE_SCROLL_L_R 2
+
+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.
+
+typedef void (*LM_MoveCursorFunc_t)(struct ListMenu *list, s32 index, u8 onInit);
+typedef void (*LM_ItemPrintFunc_t)(struct ListMenu *list, s32 index, u8 y);
+
+struct ListMenuTemplate
+{
+ /*0x00*/ struct ListMenuItem * items;
+ /*0x04*/ LM_MoveCursorFunc_t moveCursorFunc;
+ /*0x08*/ LM_ItemPrintFunc_t itemPrintFunc;
+ /*0x0C*/ struct Window * window;
+ /*0x10*/ u16 totalItems;
+ /*0x12*/ u16 maxShowed;
+ /*0x14*/ u8 header_X;
+ /*0x15*/ u8 item_X;
+ /*0x16*/ u8 cursor_X;
+ /*0x17*/ u8 upText_Y:4;
+ u8 cursorPal:4;
+ /*0x18*/ u8 fillValue:4;
+ u8 cursorShadowPal:4;
+ /*0x1A*/ u16 lettersSpacing:3;
+ u16 itemVerticalPadding:4;
+ u16 scrollMultiple:2;
+ u16 fontId:6;
+ u16 cursorKind:1;
+ /*0x1C*/ u32 unk_1C;
+};
+
+struct ListMenu
+{
+ /*0x00*/ struct ListMenuTemplate template;
+ // ListMenuOverride from gen 3
+ /*0x20*/ u8 cursorPal:4;
+ u8 fillValue:4;
+ /*0x21*/ u8 cursorShadowPal:4;
+ u8 unk_21_4:4;
+ /*0x22*/ u8 lettersSpacing:6;
+ /*0x23*/ u8 unk_23;
+ /*0x24*/ u8 fontId:7;
+ u8 overrideEnabled:1;
+ /*0x28*/ struct ListMenuCursor *cursor;
+ /*0x2c*/ u16 cursorPos;
+ /*0x2e*/ u16 itemsAbove;
+ /*0x30*/ u8 unk_30;
+ /*0x31*/ u8 unk_31;
+ /*0x32*/ u8 taskId;
+ /*0x33*/ u8 unk_33;
+ /*0x34*/ u8 heap_id;
+};
+
+struct ListMenu * ListMenuInit(const struct ListMenuTemplate * template, u16 cursorPos, u16 itemsAbove, u32 heap_id);
+s32 ListMenu_ProcessInput(struct ListMenu * list);
+void DestroyListMenu(struct ListMenu * list, u16 * cursorPos, u16 * itemsAbove);
+void RedrawListMenu(struct ListMenu * list);
+
+#endif // POKEDIAMOND_LIST_MENU_H
diff --git a/include/list_menu_cursor.h b/include/list_menu_cursor.h
new file mode 100644
index 00000000..355c63ec
--- /dev/null
+++ b/include/list_menu_cursor.h
@@ -0,0 +1,17 @@
+#ifndef POKEDIAMOND_LIST_MENU_CURSOR_H
+#define POKEDIAMOND_LIST_MENU_CURSOR_H
+
+#include "window.h"
+
+// TODO: Move to its own header, and fill it out
+struct ListMenuCursor
+{
+ // ???
+};
+
+extern struct ListMenuCursor * ListMenuCursorNew(u32 heap_id);
+extern void ListMenuUpdateCursorObj(struct ListMenuCursor *, struct Window *, u8 x, u8 y);
+extern void ListMenuCursorSetColor(struct ListMenuCursor *, u32);
+extern void DestroyListMenuCursorObj(struct ListMenuCursor *);
+
+#endif // POKEDIAMOND_LIST_MENU_CURSOR_H
diff --git a/include/main.h b/include/main.h
index 2e424e09..9227d9a8 100644
--- a/include/main.h
+++ b/include/main.h
@@ -84,8 +84,8 @@ struct Main
u32 unk3C;
u32 unk40;
u32 unk44;
- u32 unk48;
- u32 unk4C;
+ u32 newKeys;
+ u32 newAndRepeatedKeys;
s32 unk50;
s32 unk54;
s32 unk58;
@@ -104,8 +104,22 @@ struct Main
//extern struct UnkStruct_021C4918 gMain + 0x60;
-extern struct Unk2106FA0 gBacklightTop;
-extern struct Unk2106FA0 gBacklightTop_2; // same as the first one, it's referenced twice in the constant pool...
+extern PMBackLightSwitch gBacklightTop;
+extern s32 UNK_02016FA4;
+
+struct UnkStruct_02016FA8
+{
+ FSOverlayID unk0;
+ struct UnkStruct_02006234 *unk4;
+ FSOverlayID unk8;
+ const struct Unk21DBE18 * unkC;
+ s32 unk10;
+ s32 unk14;
+ struct SaveBlock2 * unk18;
+
+};
+
+extern struct UnkStruct_02016FA8 UNK_02016FA8;
void NitroMain(void);
diff --git a/include/script_buffers.h b/include/script_buffers.h
index d0fff528..51a02e43 100644
--- a/include/script_buffers.h
+++ b/include/script_buffers.h
@@ -4,6 +4,7 @@
#include "pokemon.h"
#include "pokemon_storage_system.h"
#include "trainer_data.h"
+#include "window.h"
struct UnkStruct_0200AA80_sub_sub
{
@@ -105,7 +106,7 @@ void StringExpandPlaceholders(struct ScrStrBufs * mgr, struct String * dest, str
void ScrStrBufs_ResetBuffers(struct ScrStrBufs * mgr);
struct UnkStruct_0200B870 * MessagePrinter_new(u32 r5, u32 r6, u32 sp4, u32 r4);
void MessagePrinter_delete(struct UnkStruct_0200B870 * a0);
-void FUN_0200B9A8(struct UnkStruct_0200B870 * a0, int a1, int a2, int a3, int a4);
-void FUN_0200B9EC(struct UnkStruct_0200B870 * string, u32 value, u32 n, enum PrintingMode mode, int sp30, int r5, int r7);
+void FUN_0200B9A8(struct UnkStruct_0200B870 * a0, int a1, struct Window * a2, int a3, int a4);
+void FUN_0200B9EC(struct UnkStruct_0200B870 * string, u32 value, u32 n, enum PrintingMode mode, struct Window *window, int x, int y);
#endif //POKEDIAMOND_SCRIPT_BUFFERS_H
diff --git a/include/text.h b/include/text.h
index 40f4d03a..57185a05 100644
--- a/include/text.h
+++ b/include/text.h
@@ -2,52 +2,59 @@
#define POKEDIAMOND_TEXT_H
#include "global.h"
+#include "window.h"
+#include "font.h"
+
+#define CHAR_0 0x00A2
+#define CHAR_1 0x00A3
+#define CHAR_2 0x00A4
+#define CHAR_3 0x00A5
+#define CHAR_4 0x00A6
+#define CHAR_5 0x00A7
+#define CHAR_6 0x00A8
+#define CHAR_7 0x00A9
+#define CHAR_8 0x00AA
+#define CHAR_9 0x00AB
struct TextPrinterTemplate
{
- const u16* currentChar;
- u32 windowId;
- u8 padding[1];
- u8 fontId;
- u8 x;
- u8 y;
- u8 currentX;
- u8 currentY;
- u8 letterSpacing;
- u8 lineSpacing;
- u8 unk;
- u8 fgColor;
- u8 bgColor;
- u8 shadowColor;
- union
- {
- struct
- {
- u16 unk2;
- u8 unk3;
- u8 unk4;
- };
- u32 Unk20; //todo this can't be right
- };
+ const u16* currentChar; // 0
+ struct Window * window; // 4
+ u8 padding[1]; // 8
+ u8 fontId; // 9
+ u8 x; // a
+ u8 y; // b
+ u8 currentX; // c
+ u8 currentY; // d
+ u8 letterSpacing; // e
+ u8 lineSpacing; // f
+ u8 unk; // 10
+ u8 fgColor; // 11
+ u8 bgColor; // 12
+ u8 shadowColor; // 13
+ u16 unk2; // 14
+ u8 unk3; // 16
+ u8 unk4; // 17
};
struct TextPrinter
{
struct TextPrinterTemplate printerTemplate;
- u8 (*callback)(struct TextPrinterTemplate *, u16); // 0x10
+ u8 (*callback)(struct TextPrinterTemplate *, u16); // 0x18
u8 subStructFields[7]; // always cast to struct TextPrinterSubStruct... so why bother
- u8 active;
- u8 state; // 0x1C
- u8 textSpeedBottom:7;
+ // 1c
+ u8 active; // 23
+ u8 state; // 0x24
+ u8 textSpeedBottom:7; // 25
u8 textSpeedTop:1;
- u8 delayCounter;
- u8 scrollDistance;
- u8 minLetterSpacing; // 0x20
+ u8 delayCounter; // 26
+ u8 scrollDistance; // 27
+ u8 minLetterSpacing; // 0x28
u8 Unk29; // used to be japanese, not sure about that anymore
u16 Unk2A;
- void *Unk2C;
+ u16 *Unk2C;
};
struct FontInfo
@@ -69,16 +76,16 @@ BOOL FUN_0201BD44(u32 param0);
void FUN_0201BD5C(void);
u8 FUN_0201BD70(u32 param0);
void FUN_0201BD7C(u32 param0);
-u16 AddTextPrinterParameterized(u32 windowId, u8 fontId, const u16 *str, u32 x, u32 y, u32 speed, u8 (*callback)(struct TextPrinterTemplate *, u16));
-u16 AddTextPrinterParameterized2(u32 windowId, u8 fontId, const u16 *str, u32 x, u32 y, u32 speed, u32 colors, u8 (*callback)(struct TextPrinterTemplate *, u16));
-u16 AddTextPrinterParameterized3(u32 windowId, u8 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, 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 AddTextPrinter(struct TextPrinterTemplate *printerTemplate, u32 speed, u8 (*callback)(struct TextPrinterTemplate *, u16));
void RunTextPrinter(u32 param0, struct TextPrinter *printer);
u32 RenderFont(struct TextPrinter *printer);
void GenerateFontHalfRowLookupTable(u8 fgColor, u8 bgColor, u8 shadowColor);
void DecompressGlyphTile(const u16 *src, u16 *dst);
void FUN_0201C1A8(struct TextPrinter *printer);
-void *FUN_0201C1B0(void);
+u16 *FUN_0201C1B0(void);
void FUN_0201C1EC(struct TextPrinter *printer, u32 param1, u32 param2, u32 param3);
void FUN_0201C238(struct TextPrinter *printer);
diff --git a/include/text_02054590.h b/include/text_02054590.h
index 725bd9b4..b1ee055a 100644
--- a/include/text_02054590.h
+++ b/include/text_02054590.h
@@ -3,15 +3,16 @@
#include "global.h"
#include "options.h"
+#include "window.h"
void FUN_02054590(u32 param0, u32 param1);
void FUN_020545B8(u32 param0, u32 param1, u32 param2);
-void FUN_02054608(u32 *param0, struct Options *options);
-void FUN_0205464C(u32 *param0);
-u16 FUN_02054658(u8 windowId, const u16 *str, struct Options *options, u8 param3);
-u16 DrawFieldMessage(u8 windowId, const u16 *str, u8 fontId, u32 speed, u8 a4, u32 a5);
+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);
u8 FUN_020546C8(u32 param0);
void FUN_020546E0(u32 param0, u32 param1, u32 param2, u32 param3);
-void FUN_02054744(u32 *param0, u32 param1, u32 param2);
+void FUN_02054744(struct Window *param0, u32 param1, u32 param2);
#endif //POKEDIAMOND_UNK_02054590_H
diff --git a/include/timer3.h b/include/timer3.h
index be6e1da8..3220c7a3 100644
--- a/include/timer3.h
+++ b/include/timer3.h
@@ -10,12 +10,12 @@ struct Timer3Data
vu64 Timer3Counter;
};
-THUMB_FUNC void Init_Timer3();
-THUMB_FUNC void CountUpTimer3();
-THUMB_FUNC u64 internal_GetTimer3Count();
-THUMB_FUNC u64 GetTimer3Count();
-THUMB_FUNC u64 Timer3CountToMilliSeconds(u64 count);
-THUMB_FUNC u64 Timer3CountToSeconds(u64 count);
+void Init_Timer3();
+void CountUpTimer3();
+u64 internal_GetTimer3Count();
+u64 GetTimer3Count();
+u64 Timer3CountToMilliSeconds(u64 count);
+u64 Timer3CountToSeconds(u64 count);
#endif //POKEDIAMOND_TIMER3_H
diff --git a/include/unk_0200CA44.h b/include/unk_0200CA44.h
index 2e479ab8..6dd208c3 100644
--- a/include/unk_0200CA44.h
+++ b/include/unk_0200CA44.h
@@ -1,10 +1,12 @@
#ifndef POKEDIAMOND_UNK_0200CA44_H
#define POKEDIAMOND_UNK_0200CA44_H
-BOOL FUN_0200CA44(void (*r0)(u32, void *), void * r1, void * r2);
-BOOL FUN_0200CA60(void (*r0)(u32, void *), void * r1, void * r2);
-BOOL FUN_0200CA7C(void (*r0)(u32, void *), void * r1, void * r2);
-BOOL FUN_0200CA98(void (*r0)(u32, void *), void * r1, void * r2);
+#include "text.h"
+
+BOOL FUN_0200CA44(void (*r0)(u32, struct TextPrinter *), struct TextPrinter * r1, u32 r2);
+BOOL FUN_0200CA60(void (*r0)(u32, struct TextPrinter *), struct TextPrinter * r1, u32 r2);
+BOOL FUN_0200CA7C(void (*r0)(u32, struct TextPrinter *), struct TextPrinter * r1, u32 r2);
+BOOL FUN_0200CA98(void (*r0)(u32, struct TextPrinter *), struct TextPrinter * r1, u32 r2);
void FUN_0200CAB4(s32 unk1);
#endif //POKEDIAMOND_UNK_0200CA44_H
diff --git a/include/unk_02015E30.h b/include/unk_02015E30.h
index 6a4d6c15..67a7aaaf 100644
--- a/include/unk_02015E30.h
+++ b/include/unk_02015E30.h
@@ -15,8 +15,8 @@ struct UnkStruct_02015E30
u64 unk18;
};
-THUMB_FUNC void FUN_02015E30();
-THUMB_FUNC void FUN_02015E3C(struct IGT *igt);
-THUMB_FUNC void FUN_02015E60();
+void FUN_02015E30();
+void FUN_02015E3C(struct IGT *igt);
+void FUN_02015E60();
#endif //POKEDIAMOND_UNK_02015E30_H
diff --git a/include/unk_02024E64.h b/include/unk_02024E64.h
index ed1bd447..68e7103c 100644
--- a/include/unk_02024E64.h
+++ b/include/unk_02024E64.h
@@ -14,15 +14,15 @@ struct UnkStruct_02024E64 {
u8 unk74A[2]; // might be padding
};
-THUMB_FUNC u32 FUN_02024E64();
-THUMB_FUNC void FUN_02024E6C(struct UnkStruct_02024E64 *param0);
-THUMB_FUNC struct UnkStruct_02024E64 *FUN_02024EB4(struct SaveBlock2 *sav2);
-THUMB_FUNC void *FUN_02024EC0(struct SaveBlock2 *sav2);
-THUMB_FUNC struct UnkStruct_02024E64 *FUN_02024ECC(struct SaveBlock2 *sav2);
-THUMB_FUNC void *FUN_02024ED8(struct SaveBlock2 *sav2);
-THUMB_FUNC u16 *GetRivalNamePtr(struct UnkStruct_02024E64 *unk);
-THUMB_FUNC void RivalsNameToU16Array(struct UnkStruct_02024E64 *unk, struct String *str);
-THUMB_FUNC u16 *FUN_02024F0C(struct UnkStruct_02024E64 *unk);
-THUMB_FUNC void FUN_02024F18(struct UnkStruct_02024E64 *unk, struct String *str);
+u32 FUN_02024E64();
+void FUN_02024E6C(struct UnkStruct_02024E64 *param0);
+struct UnkStruct_02024E64 *FUN_02024EB4(struct SaveBlock2 *sav2);
+void *FUN_02024EC0(struct SaveBlock2 *sav2);
+struct UnkStruct_02024E64 *FUN_02024ECC(struct SaveBlock2 *sav2);
+void *FUN_02024ED8(struct SaveBlock2 *sav2);
+u16 *GetRivalNamePtr(struct UnkStruct_02024E64 *unk);
+void RivalsNameToU16Array(struct UnkStruct_02024E64 *unk, struct String *str);
+u16 *FUN_02024F0C(struct UnkStruct_02024E64 *unk);
+void FUN_02024F18(struct UnkStruct_02024E64 *unk, struct String *str);
#endif
diff --git a/include/unk_0202D858.h b/include/unk_0202D858.h
index 210821d0..b5845998 100644
--- a/include/unk_0202D858.h
+++ b/include/unk_0202D858.h
@@ -3,8 +3,8 @@
#include "global.h"
-THUMB_FUNC u8 FUN_0202D858(u16 param0);
-THUMB_FUNC u8 FUN_0202D884(u16 param0);
-THUMB_FUNC u32 FUN_0202D8B0(int param0);
+u8 FUN_0202D858(u16 param0);
+u8 FUN_0202D884(u16 param0);
+u32 FUN_0202D8B0(int param0);
#endif // POKEDIAMOND_UNK_0202D858_H
diff --git a/include/unk_0202F150.h b/include/unk_0202F150.h
index 8f5cdd3e..b87bbf0c 100644
--- a/include/unk_0202F150.h
+++ b/include/unk_0202F150.h
@@ -87,100 +87,100 @@ struct UnkStruct0202F150
u8 unk68B;
};
-THUMB_FUNC u32 FUN_0202F150(u32 param0, u32 param1);
-THUMB_FUNC void FUN_0202F2F0();
-THUMB_FUNC void FUN_0202F5A4();
-THUMB_FUNC void FUN_0202F820(int param0);
-THUMB_FUNC void FUN_0202F8D4();
-THUMB_FUNC void FUN_0202F910(int param0);
-THUMB_FUNC BOOL FUN_0202F918(u32 param0, u32 param1, u32 param2, u32 param3);
-THUMB_FUNC u32 FUN_0202F950(u32 param0, u32 param1, u32 param2);
-THUMB_FUNC void FUN_0202F984();
-THUMB_FUNC void FUN_0202F9E0(u32 param0);
-THUMB_FUNC void FUN_0202FA10();
-THUMB_FUNC void FUN_0202FA1C();
-THUMB_FUNC u8 FUN_0202FA28();
-THUMB_FUNC u32 FUN_0202FA48();
-THUMB_FUNC void FUN_0202FA5C();
-THUMB_FUNC u32 FUN_0202FB18(u32 param0);
-THUMB_FUNC void FUN_0202FB20();
-THUMB_FUNC void FUN_0202FB58();
-THUMB_FUNC BOOL FUN_0202FB80();
-THUMB_FUNC void FUN_0202FC60();
-THUMB_FUNC void FUN_0202FC80();
-THUMB_FUNC void FUN_0202FCA8();
-THUMB_FUNC void FUN_0202FCCC();
-THUMB_FUNC u32 FUN_0202FE2C(int param0);
-THUMB_FUNC void FUN_0202FEEC();
-THUMB_FUNC void FUN_02030074();
-THUMB_FUNC void FUN_02030238(u32 param0, u8 *param1, u32 param2);
-THUMB_FUNC void FUN_0203026C(u32 param0, u8 *param1, u32 param2);
-THUMB_FUNC void FUN_020303BC(u32 param0, u8 *param1, u32 param2);
-THUMB_FUNC void FUN_020303F4(u32 param0, u8 *param1, u32 param2);
-THUMB_FUNC void FUN_020304D4(u32 param0);
-THUMB_FUNC void FUN_020304F0(u32 param0);
-THUMB_FUNC void FUN_0203050C();
-THUMB_FUNC void FUN_02030674();
-THUMB_FUNC void FUN_020307A8();
-THUMB_FUNC void FUN_020307BC();
-THUMB_FUNC void FUN_020307D0();
-THUMB_FUNC u32 FUN_020307E4(u8 *param0, u32 param1);
-THUMB_FUNC void FUN_0203086C();
-THUMB_FUNC u32 FUN_02030870(u8 *param0);
-THUMB_FUNC u32 FUN_02030930(u8 *param0);
-THUMB_FUNC void FUN_02030A00(u8 *param0);
-THUMB_FUNC u32 FUN_02030A78(u32 param0, u8 *param1, u32 param2);
-THUMB_FUNC u32 FUN_02030ADC(u32 param0, u8 *param1, u32 param2);
-THUMB_FUNC u32 FUN_02030B3C(u32 param0, u8 *param1, u32 param2);
-THUMB_FUNC u32 FUN_02030BC4(u32 param0, u8 *param1, u32 param2);
-THUMB_FUNC u32 FUN_02030C4C(u32 param0, u8 *param1);
-THUMB_FUNC int FUN_02030C58();
-THUMB_FUNC void FUN_02030C70(
+u32 FUN_0202F150(u32 param0, u32 param1);
+void FUN_0202F2F0();
+void FUN_0202F5A4();
+void FUN_0202F820(int param0);
+void FUN_0202F8D4();
+void FUN_0202F910(int param0);
+BOOL FUN_0202F918(u32 param0, u32 param1, u32 param2, u32 param3);
+u32 FUN_0202F950(u32 param0, u32 param1, u32 param2);
+void FUN_0202F984();
+void FUN_0202F9E0(u32 param0);
+void FUN_0202FA10();
+void FUN_0202FA1C();
+u8 FUN_0202FA28();
+u32 FUN_0202FA48();
+void FUN_0202FA5C();
+u32 FUN_0202FB18(u32 param0);
+void FUN_0202FB20();
+void FUN_0202FB58();
+BOOL FUN_0202FB80();
+void FUN_0202FC60();
+void FUN_0202FC80();
+void FUN_0202FCA8();
+void FUN_0202FCCC();
+u32 FUN_0202FE2C(int param0);
+void FUN_0202FEEC();
+void FUN_02030074();
+void FUN_02030238(u32 param0, u8 *param1, u32 param2);
+void FUN_0203026C(u32 param0, u8 *param1, u32 param2);
+void FUN_020303BC(u32 param0, u8 *param1, u32 param2);
+void FUN_020303F4(u32 param0, u8 *param1, u32 param2);
+void FUN_020304D4(u32 param0);
+void FUN_020304F0(u32 param0);
+void FUN_0203050C();
+void FUN_02030674();
+void FUN_020307A8();
+void FUN_020307BC();
+void FUN_020307D0();
+u32 FUN_020307E4(u8 *param0, u32 param1);
+void FUN_0203086C();
+u32 FUN_02030870(u8 *param0);
+u32 FUN_02030930(u8 *param0);
+void FUN_02030A00(u8 *param0);
+u32 FUN_02030A78(u32 param0, u8 *param1, u32 param2);
+u32 FUN_02030ADC(u32 param0, u8 *param1, u32 param2);
+u32 FUN_02030B3C(u32 param0, u8 *param1, u32 param2);
+u32 FUN_02030BC4(u32 param0, u8 *param1, u32 param2);
+u32 FUN_02030C4C(u32 param0, u8 *param1);
+int FUN_02030C58();
+void FUN_02030C70(
u32 param0, u32 param1, u32 param2, void *param3, struct UnkStruct0202F150_sub2 *param4);
-THUMB_FUNC void FUN_02030C8C(struct UnkStruct0202F150_sub1 *param0,
+void FUN_02030C8C(struct UnkStruct0202F150_sub1 *param0,
u32 param1,
void *param2,
u32 param3,
struct UnkStruct0202F150_sub2 *param4);
-THUMB_FUNC void FUN_02030DA4();
-THUMB_FUNC void FUN_02030DFC();
-THUMB_FUNC u32 FUN_02030E7C(u16 param0);
-THUMB_FUNC s32 FUN_02030F20();
-THUMB_FUNC BOOL FUN_02030F40();
-THUMB_FUNC void FUN_02030F60(u8 param0);
-THUMB_FUNC u8 FUN_02030F74(u32 param0);
-THUMB_FUNC u32 FUN_02030F88(u32 param0);
-THUMB_FUNC void FUN_02030FA8();
-THUMB_FUNC void FUN_02030FC8();
-THUMB_FUNC u32 FUN_02030FE0();
-THUMB_FUNC void FUN_02031000(u32 param0, u8 *param1, u32 param2);
-THUMB_FUNC void FUN_0203105C(u32 param0, u8 *param1, u32 param2);
-THUMB_FUNC void FUN_02031088();
-THUMB_FUNC void FUN_0203110C(u32 param0, u32 param1, u8 *param2);
-THUMB_FUNC void FUN_02031134(u32 param0, u32 param1, u8 *param2);
-THUMB_FUNC void FUN_0203115C(u32 param0, u32 param1, u8 *param2);
-THUMB_FUNC u16 FUN_02031190();
-THUMB_FUNC u32 FUN_020311D0(u32 param0, u8 *param1);
-THUMB_FUNC u32 FUN_020311DC(u32 param0);
-THUMB_FUNC u32 FUN_020311E8();
-THUMB_FUNC BOOL FUN_020311F0();
-THUMB_FUNC int FUN_02031228(u16 param0);
-THUMB_FUNC int FUN_02031248(u32 param0);
-THUMB_FUNC int FUN_02031258(u32 param0);
-THUMB_FUNC void FUN_02031268(u8 param0);
-THUMB_FUNC u8 FUN_02031280();
-THUMB_FUNC void FUN_0203129C();
-THUMB_FUNC void FUN_020312BC(s64 *param0);
-THUMB_FUNC void FUN_02031354(u32 param0);
-THUMB_FUNC u32 FUN_02031370();
-THUMB_FUNC u32 FUN_02031388();
-THUMB_FUNC void FUN_020313A0(u8 param0);
-THUMB_FUNC void FUN_020313B4(u8 param0, u32 param1);
-THUMB_FUNC u32 FUN_020313CC(u32 param0);
-THUMB_FUNC u32 FUN_020313EC();
-THUMB_FUNC void FUN_02031400(u32 param0);
-THUMB_FUNC u32 FUN_02031438();
-THUMB_FUNC void FUN_02031454();
-THUMB_FUNC void FUN_02031468();
+void FUN_02030DA4();
+void FUN_02030DFC();
+u32 FUN_02030E7C(u16 param0);
+s32 FUN_02030F20();
+BOOL FUN_02030F40();
+void FUN_02030F60(u8 param0);
+u8 FUN_02030F74(u32 param0);
+u32 FUN_02030F88(u32 param0);
+void FUN_02030FA8();
+void FUN_02030FC8();
+u32 FUN_02030FE0();
+void FUN_02031000(u32 param0, u8 *param1, u32 param2);
+void FUN_0203105C(u32 param0, u8 *param1, u32 param2);
+void FUN_02031088();
+void FUN_0203110C(u32 param0, u32 param1, u8 *param2);
+void FUN_02031134(u32 param0, u32 param1, u8 *param2);
+void FUN_0203115C(u32 param0, u32 param1, u8 *param2);
+u16 FUN_02031190();
+u32 FUN_020311D0(u32 param0, u8 *param1);
+u32 FUN_020311DC(u32 param0);
+u32 FUN_020311E8();
+BOOL FUN_020311F0();
+int FUN_02031228(u16 param0);
+int FUN_02031248(u32 param0);
+int FUN_02031258(u32 param0);
+void FUN_02031268(u8 param0);
+u8 FUN_02031280();
+void FUN_0203129C();
+void FUN_020312BC(s64 *param0);
+void FUN_02031354(u32 param0);
+u32 FUN_02031370();
+u32 FUN_02031388();
+void FUN_020313A0(u8 param0);
+void FUN_020313B4(u8 param0, u32 param1);
+u32 FUN_020313CC(u32 param0);
+u32 FUN_020313EC();
+void FUN_02031400(u32 param0);
+u32 FUN_02031438();
+void FUN_02031454();
+void FUN_02031468();
#endif // POKEDIAMOND_UNK_0202F150_H
diff --git a/include/unk_02031480.h b/include/unk_02031480.h
index 975f0796..951a3717 100644
--- a/include/unk_02031480.h
+++ b/include/unk_02031480.h
@@ -6,25 +6,25 @@
#include "heap.h"
#include "unk_0202F150.h"
-THUMB_FUNC void FUN_02031480(u32 heap_id);
-THUMB_FUNC void FUN_020314D0();
-THUMB_FUNC BOOL FUN_020314E8();
-THUMB_FUNC void FUN_020314FC(u8 param0, u32 param1, u8 *param2);
-THUMB_FUNC void FUN_02031560(u32 param0, u32 param1, u8 *param2);
-THUMB_FUNC void FUN_02031574(u32 param0, u32 param1, u8 *param2);
-THUMB_FUNC void FUN_02031588(u8 param0);
-THUMB_FUNC void FUN_020315A4();
-THUMB_FUNC BOOL FUN_020315D8(u8 param0);
-THUMB_FUNC u8 FUN_020315FC(u8 index);
-THUMB_FUNC void FUN_0203160C(u32 param0, u32 param1, u8 *param2);
-THUMB_FUNC u32 FUN_02031628();
-THUMB_FUNC void FUN_0203162C(u8 param0, u8 param1);
-THUMB_FUNC int FUN_02031640(u32 param0, u8 param1);
-THUMB_FUNC void FUN_02031668();
-THUMB_FUNC void FUN_0203168C();
-THUMB_FUNC BOOL FUN_020316AC(u32 param0, void *param1);
-THUMB_FUNC u8 *FUN_020316E0(int param0);
-THUMB_FUNC void FUN_02031704(u32 param0, u32 param1, void *param2);
-THUMB_FUNC u32 FUN_02031730();
+void FUN_02031480(u32 heap_id);
+void FUN_020314D0();
+BOOL FUN_020314E8();
+void FUN_020314FC(u8 param0, u32 param1, u8 *param2);
+void FUN_02031560(u32 param0, u32 param1, u8 *param2);
+void FUN_02031574(u32 param0, u32 param1, u8 *param2);
+void FUN_02031588(u8 param0);
+void FUN_020315A4();
+BOOL FUN_020315D8(u8 param0);
+u8 FUN_020315FC(u8 index);
+void FUN_0203160C(u32 param0, u32 param1, u8 *param2);
+u32 FUN_02031628();
+void FUN_0203162C(u8 param0, u8 param1);
+int FUN_02031640(u32 param0, u8 param1);
+void FUN_02031668();
+void FUN_0203168C();
+BOOL FUN_020316AC(u32 param0, void *param1);
+u8 *FUN_020316E0(int param0);
+void FUN_02031704(u32 param0, u32 param1, void *param2);
+u32 FUN_02031730();
#endif // POKEDIAMOND_UNK_02031480_H
diff --git a/include/unk_0205FA2C.h b/include/unk_0205FA2C.h
index 19279a6c..418c7077 100644
--- a/include/unk_0205FA2C.h
+++ b/include/unk_0205FA2C.h
@@ -80,16 +80,16 @@ struct UnkCallbackStruct2_0205FA2C
u16 unk14;
};
-THUMB_FUNC u32 FUN_0205FA2C(
+u32 FUN_0205FA2C(
struct UnkCallbackStruct1_0205FA2C *param0, struct UnkSavStruct80 *param1, u32 heap_id);
-THUMB_FUNC u32 FUN_0205FAD8(
+u32 FUN_0205FAD8(
struct UnkCallbackStruct1_0205FA2C *param0, struct UnkSavStruct80 *param1);
-THUMB_FUNC u32 FUN_0205FB34(
+u32 FUN_0205FB34(
struct UnkCallbackStruct1_0205FA2C *param0, struct UnkSavStruct80 *param1, u32 heap_id);
-THUMB_FUNC u32 FUN_0205FBC0(
+u32 FUN_0205FBC0(
struct UnkCallbackStruct1_0205FA2C *param0, struct UnkSavStruct80 *param1);
-THUMB_FUNC int FUN_0205FBE8(struct UnkStruct_0204639C *param0);
-THUMB_FUNC void FUN_0205FC50(struct UnkStruct_0204639C *param0,
+int FUN_0205FBE8(struct UnkStruct_0204639C *param0);
+void FUN_0205FC50(struct UnkStruct_0204639C *param0,
void **param1,
u8 param2,
u8 param3,
@@ -98,24 +98,24 @@ THUMB_FUNC void FUN_0205FC50(struct UnkStruct_0204639C *param0,
u8 param6,
u8 param7);
-THUMB_FUNC u32 FUN_0205FC9C(
+u32 FUN_0205FC9C(
struct UnkCallbackStruct2_0205FA2C *param0, struct UnkSavStruct80 *param1);
-THUMB_FUNC u32 FUN_0205FCC4(
+u32 FUN_0205FCC4(
struct UnkCallbackStruct2_0205FA2C *param0, struct UnkSavStruct80 *param1);
-THUMB_FUNC int FUN_0205FCE8(struct UnkStruct_0204639C *param0);
-THUMB_FUNC void FUN_0205FD38(struct UnkStruct_0204639C *param0, u16 param1, u16 param2, u16 param3);
+int FUN_0205FCE8(struct UnkStruct_0204639C *param0);
+void FUN_0205FD38(struct UnkStruct_0204639C *param0, u16 param1, u16 param2, u16 param3);
-THUMB_FUNC int FUN_0205FD70(struct UnkStruct_0204639C *param0);
-THUMB_FUNC void FUN_0205FDDC(struct UnkStruct_0204639C *param0, u16 param1, u16 param2);
+int FUN_0205FD70(struct UnkStruct_0204639C *param0);
+void FUN_0205FDDC(struct UnkStruct_0204639C *param0, u16 param1, u16 param2);
-THUMB_FUNC u32 FUN_0205FE10(struct SaveBlock2 *sav2);
-THUMB_FUNC u32 FUN_0205FF5C(struct SaveBlock2 *sav2);
-THUMB_FUNC void FUN_02060044(u16 **param0, u32 *param1);
-THUMB_FUNC u32 FUN_02060064(u32 param0);
-THUMB_FUNC u32 FUN_02060070(u32 param0);
-THUMB_FUNC u32 FUN_0206007C(struct SaveBlock2 *sav2);
-THUMB_FUNC u32 FUN_020600A0(struct SaveBlock2 *sav2);
-THUMB_FUNC u32 FUN_020600DC(struct SaveBlock2 *sav2);
-THUMB_FUNC BOOL FUN_02060144(u32 **param0);
+u32 FUN_0205FE10(struct SaveBlock2 *sav2);
+u32 FUN_0205FF5C(struct SaveBlock2 *sav2);
+void FUN_02060044(u16 **param0, u32 *param1);
+u32 FUN_02060064(u32 param0);
+u32 FUN_02060070(u32 param0);
+u32 FUN_0206007C(struct SaveBlock2 *sav2);
+u32 FUN_020600A0(struct SaveBlock2 *sav2);
+u32 FUN_020600DC(struct SaveBlock2 *sav2);
+BOOL FUN_02060144(u32 **param0);
#endif // POKEDIAMOND_UNK_0205FA2C_H
diff --git a/include/unk_0206015C.h b/include/unk_0206015C.h
index e8a312c2..c285fac9 100644
--- a/include/unk_0206015C.h
+++ b/include/unk_0206015C.h
@@ -24,7 +24,7 @@ struct UnkStruct_0204652C
u8 unkE; // some kind of counter?
};
-THUMB_FUNC void FUN_0206015C(struct UnkSavStruct80* savStruct);
-THUMB_FUNC BOOL FUN_02060194(struct UnkStruct_0204639C * unkStruct0);
+void FUN_0206015C(struct UnkSavStruct80* savStruct);
+BOOL FUN_02060194(struct UnkStruct_0204639C * unkStruct0);
#endif //UNK_0206015C_H_GUARD
diff --git a/include/window.h b/include/window.h
new file mode 100644
index 00000000..ed3576fb
--- /dev/null
+++ b/include/window.h
@@ -0,0 +1,26 @@
+#ifndef POKEDIAMOND_WINDOW_H
+#define POKEDIAMOND_WINDOW_H
+
+struct Window
+{
+ u8 * unk_00;
+ u8 unk_04;
+ u8 unk_05;
+ u8 unk_06;
+ u8 width;
+ u8 height;
+ u8 unk_9;
+ u16 unk_A_0:15;
+ u16 unk_A_15:1;
+ void * unk_C;
+};
+
+extern void FillWindowPixelBuffer(struct Window *, u32);
+extern void CopyWindowToVram(struct Window *);
+extern void FillWindowPixelRect(struct Window *, u32 fillValue, u16 x, u16 y, u16 width, u16 height);
+extern void ScrollWindow(struct Window *, u8, u8, u8);
+extern u16 GetWindowWidth(struct Window *);
+extern u16 GetWindowHeight(struct Window *);
+extern void BlitBitmapRectToWindow(struct Window * window, const void * src, u16 srcX, u16 srcY, u16 srcWidth, u16 srcHeight, u16 dstX, u16 dstY, u16 dstWidth, u16 dstHeight);
+
+#endif // POKEDIAMOND_WINDOW_H