summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/battle_dome_cards.h13
-rw-r--r--include/easy_chat.h3
-rw-r--r--include/gba/multiboot.h26
-rw-r--r--include/global.h66
-rw-r--r--include/gpu_regs.h7
-rw-r--r--include/item_menu.h12
-rw-r--r--include/lilycove_lady.h11
-rw-r--r--include/load_save.h1
-rw-r--r--include/malloc.h2
-rw-r--r--include/menu.h2
-rw-r--r--include/multiboot.h2
-rw-r--r--include/new_game.h2
-rw-r--r--include/rom4.h2
-rw-r--r--include/rom6.h6
-rw-r--r--include/save.h4
-rw-r--r--include/text.h4
-rw-r--r--include/trig.h3
-rw-r--r--include/unknown_task.h11
-rw-r--r--include/vars.h2
19 files changed, 158 insertions, 21 deletions
diff --git a/include/battle_dome_cards.h b/include/battle_dome_cards.h
new file mode 100644
index 000000000..a0696d156
--- /dev/null
+++ b/include/battle_dome_cards.h
@@ -0,0 +1,13 @@
+#ifndef GUARD_BATTLE_DOME_CARDS_H
+#define GUARD_BATTLE_DOME_CARDS_H
+
+bool16 dp13_810BB8C(void);
+u16 sub_818D3E4(u16 species, u32 otId, u32 personality, u8 flags, s16 x, s16 y, u8 paletteSlot, u16 paletteTag);
+u16 sub_818D7D8(u16 species, u32 otId, u32 personality, bool8 isFrontPic, s16 x, s16 y, u8 paletteSlot, u16 paletteTag);
+u16 sub_818D820(u16 spriteId);
+u16 sub_818D8AC(u16 species, bool8 isFrontPic, s16 x, s16 y, u8 paletteSlot, u16 paletteTag);
+u16 sub_818D8F0(u16 spriteId);
+u16 sub_818D938(u16 species, bool8 isFrontPic, u16 destX, u16 destY, u8 paletteSlot, u8 windowId);
+u8 sub_818D97C(u8 a0, u8 a1);
+
+#endif //GUARD_BATTLE_DOME_CARDS_H
diff --git a/include/easy_chat.h b/include/easy_chat.h
index 5143aa39c..fc44b6a8a 100644
--- a/include/easy_chat.h
+++ b/include/easy_chat.h
@@ -29,5 +29,8 @@ enum
};
void InitEasyChatPhrases(void);
+void easy_chat_input_maybe(void);
+void CopyEasyChatWord(u8 *, u16);
+bool32 sub_811F8D8(u16);
#endif // GUARD_EASYCHAT_H
diff --git a/include/gba/multiboot.h b/include/gba/multiboot.h
index e88b43a19..14b6594b2 100644
--- a/include/gba/multiboot.h
+++ b/include/gba/multiboot.h
@@ -8,19 +8,19 @@
struct MultiBootParam
{
- u32 system_work[5];
- u8 handshake_data;
- u8 padding;
- u16 handshake_timeout;
- u8 probe_count;
- u8 client_data[MULTIBOOT_NCHILD];
- u8 palette_data;
- u8 response_bit;
- u8 client_bit;
- u8 reserved1;
- u8 *boot_srcp;
- u8 *boot_endp;
- u8 *masterp;
+ u32 system_work[5]; // 00
+ u8 handshake_data; // 14
+ u8 padding; // 15
+ u16 handshake_timeout; // 16
+ u8 probe_count; // 18
+ u8 client_data[MULTIBOOT_NCHILD]; // 19
+ u8 palette_data; // 1c
+ u8 response_bit; // 1d
+ u8 client_bit; // 1e
+ u8 reserved1; // 1f
+ const u8 *boot_srcp; // 20
+ const u8 *boot_endp; // 24
+ const u8 *masterp;
u8 *reserved2[MULTIBOOT_NCHILD];
u32 system_work2[4];
u8 sendflag;
diff --git a/include/global.h b/include/global.h
index a1f79e985..4014c6dde 100644
--- a/include/global.h
+++ b/include/global.h
@@ -18,6 +18,14 @@ void memcpy(void *, const void *, size_t);
#define ARRAY_COUNT(array) (sizeof(array) / sizeof((array)[0]))
+// useful math macros
+
+// Converts a number to Q8.8 fixed-point format
+#define Q_8_8(n) ((s16)((n) * 256))
+
+// Converts a number to Q4.12 fixed-point format
+#define Q_4_12(n) ((s16)((n) * 4096))
+
#define POKEMON_NAME_LENGTH 10
#define OT_NAME_LENGTH 7
@@ -662,6 +670,61 @@ struct DaycareData
#define FLAGS_COUNT 300
#define VARS_COUNT 256
+enum {
+ LILYCOVE_LADY_QUIZ,
+ LILYCOVE_LADY_FAVOUR,
+ LILYCOVE_LADY_CONTEST
+};
+
+struct LilycoveLadyQuiz
+{
+ /*0x000*/ u8 id;
+ /*0x001*/ u8 phase;
+ /*0x002*/ u16 unk_002[9];
+ /*0x014*/ u16 unk_014;
+ /*0x016*/ u16 unk_016;
+ /*0x018*/ u8 playerName[8];
+ /*0x020*/ u16 playerTrainerId[4];
+ /*0x028*/ u16 itemId;
+ /*0x02a*/ u8 unk_02a;
+ /*0x02b*/ u8 unk_02b;
+ /*0x02c*/ u8 unk_02c;
+ /*0x02d*/ u8 language;
+};
+
+struct LilycoveLadyFavour
+{
+ /*0x000*/ u8 id;
+ /*0x001*/ u8 phase;
+ /*0x002*/ u8 unk_002;
+ /*0x003*/ u8 unk_003;
+ /*0x004*/ u8 playerName[8];
+ /*0x00c*/ u8 unk_00c;
+ /*0x00e*/ u16 itemId;
+ /*0x010*/ u16 unk_010;
+ /*0x012*/ u8 language;
+};
+
+struct LilycoveLadyContest
+{
+ /*0x000*/ u8 id;
+ /*0x001*/ u8 phase;
+ /*0x002*/ u8 fave_pkblk;
+ /*0x003*/ u8 other_pkblk;
+ /*0x004*/ u8 playerName[8];
+ /*0x00c*/ u8 max_sheen;
+ /*0x00d*/ u8 category;
+ /*0x00e*/ u8 language;
+};
+
+typedef union // TODO
+{
+ struct LilycoveLadyQuiz quiz;
+ struct LilycoveLadyFavour favour;
+ struct LilycoveLadyContest contest;
+ u8 id;
+} LilycoveLady;
+
struct SaveBlock1
{
/*0x00*/ struct Coords16 pos;
@@ -745,7 +808,8 @@ struct SaveBlock1
/*0x3728*/ struct RamScript ramScript;
/*0x3B14*/ struct RecordMixingGift recordMixingGift;
/*0x3B24*/ u8 seen2[52];
- /*0x3B58*/ u8 lilycoveLady[536]; // TODO: convert to a union
+ /*0x3B58*/ LilycoveLady lilycoveLady;
+ /*0x3B88*/ u8 filler_3B88[0x1E8];
/*0x3D70*/ u8 babyPhrase[24]; // TODO: convert to a struct
// sizeof: 0x3D88
};
diff --git a/include/gpu_regs.h b/include/gpu_regs.h
index 2675571f4..89e0cb64b 100644
--- a/include/gpu_regs.h
+++ b/include/gpu_regs.h
@@ -1,6 +1,11 @@
#ifndef GUARD_GPU_REGS_H
#define GUARD_GPU_REGS_H
+// Exported type declarations
+
+// Exported RAM declarations
+
+// Exported ROM declarations
void InitGpuRegManager(void);
void CopyBufferedValuesToGpuRegs(void);
void SetGpuReg(u8 regOffset, u16 value);
@@ -11,4 +16,4 @@ void ClearGpuRegBits(u8 regOffset, u16 mask);
void EnableInterrupts(u16 mask);
void DisableInterrupts(u16 mask);
-#endif // GUARD_GPU_REGS_H
+#endif //GUARD_GPU_REGS_H
diff --git a/include/item_menu.h b/include/item_menu.h
new file mode 100644
index 000000000..85655e9d5
--- /dev/null
+++ b/include/item_menu.h
@@ -0,0 +1,12 @@
+#ifndef GUARD_item_menu_H
+#define GUARD_item_menu_H
+
+// Exported type declarations
+
+// Exported RAM declarations
+
+// Exported ROM declarations
+void sub_81AAC50(void);
+void sub_81AAC70(void);
+
+#endif //GUARD_item_menu_H
diff --git a/include/lilycove_lady.h b/include/lilycove_lady.h
index 81825d8ac..c7776131b 100644
--- a/include/lilycove_lady.h
+++ b/include/lilycove_lady.h
@@ -1,6 +1,17 @@
#ifndef GUARD_LILYCOVE_LADY_H
#define GUARD_LILYCOVE_LADY_H
+u8 GetLilycoveLadyId(void);
void SetLilycoveLady(void);
+void sub_818DA78(void);
+void sub_818DEF4(void);
+void sub_818E564(void);
+void sub_818E570(const struct LilycoveLadyQuiz *quiz);
+bool8 sub_818E704(struct Pokeblock *pokeblock);
+void sub_818E7E0(u8 *dest1, u8 *dest2);
+void sub_818E81C(u8 *dest);
+void sub_818E848(u8 *dest);
+void sub_818E868(u8 *dest, u8 category);
+u8 sub_818E880(void);
#endif //GUARD_LILYCOVE_LADY_H
diff --git a/include/load_save.h b/include/load_save.h
index 0fedd720b..20848e1a7 100644
--- a/include/load_save.h
+++ b/include/load_save.h
@@ -18,5 +18,6 @@ void SaveSerializedGame(void);
void LoadSerializedGame(void);
void LoadPlayerBag(void);
void SavePlayerBag(void);
+void SetSaveBlocksPointers(u16);
#endif // GUARD_LOAD_SAVE_H
diff --git a/include/malloc.h b/include/malloc.h
index b3216b05c..4568e244a 100644
--- a/include/malloc.h
+++ b/include/malloc.h
@@ -5,8 +5,10 @@
#define calloc AllocZeroed
#define free Free
+extern u8 gHeap[];
void *Alloc(u32 size);
void *AllocZeroed(u32 size);
void Free(void *pointer);
+void InitHeap(void *pointer, u32 size);
#endif // GUARD_MALLOC_H
diff --git a/include/menu.h b/include/menu.h
index c8aafcb30..9a23401e0 100644
--- a/include/menu.h
+++ b/include/menu.h
@@ -15,4 +15,6 @@ struct MenuAction2
void (*func)(u8);
};
+void box_print(u8, u8, u8, u8, const void *, s8, const u8 *);
+
#endif // GUARD_MENU_H
diff --git a/include/multiboot.h b/include/multiboot.h
index 950c853d0..d4700ff4e 100644
--- a/include/multiboot.h
+++ b/include/multiboot.h
@@ -15,7 +15,7 @@
void MultiBootInit(struct MultiBootParam *mp);
int MultiBootMain(struct MultiBootParam *mp);
void MultiBootStartProbe(struct MultiBootParam *mp);
-void MultiBootStartMaster(struct MultiBootParam *mp, u8 *srcp, int length, u8 palette_color, s8 palette_speed);
+void MultiBootStartMaster(struct MultiBootParam *mp, const u8 *srcp, int length, u8 palette_color, s8 palette_speed);
int MultiBootCheckComplete(struct MultiBootParam *mp);
#endif // GUARD_MULTIBOOT_H
diff --git a/include/new_game.h b/include/new_game.h
index f9ad7fcb8..060279c25 100644
--- a/include/new_game.h
+++ b/include/new_game.h
@@ -9,5 +9,7 @@ void ClearPokedexFlags(void);
void WarpToTruck(void);
void NewGameInitData(void);
void ResetMiniGamesResults(void);
+void sub_808447C(void);
+void Sav2_ClearSetDefault(void);
#endif // GUARD_NEW_GAME_H
diff --git a/include/rom4.h b/include/rom4.h
index d4ece109e..e19d277a6 100644
--- a/include/rom4.h
+++ b/include/rom4.h
@@ -27,5 +27,7 @@ extern struct LinkPlayerMapObject gLinkPlayerMapObjects[4];
void strange_npc_table_clear(void);
const struct MapHeader *get_mapheader_by_bank_and_number(u8, u8);
void FieldObjectMoveDestCoords(struct MapObject *, u32, s16 *, s16 *);
+void sub_8086230(void);
+void c2_exit_to_overworld_2_switch(void);
#endif //GUARD_ROM4_H
diff --git a/include/rom6.h b/include/rom6.h
new file mode 100644
index 000000000..15070616d
--- /dev/null
+++ b/include/rom6.h
@@ -0,0 +1,6 @@
+#ifndef GUARD_ROM6_H
+#define GUARD_ROM6_H
+
+void sub_81357FC(u8, void(void));
+
+#endif //GUARD_ROM6_H
diff --git a/include/save.h b/include/save.h
index 1d7fdd6e3..e98233c67 100644
--- a/include/save.h
+++ b/include/save.h
@@ -1,6 +1,8 @@
#ifndef GUARD_SAVE_H
#define GUARD_SAVE_H
+extern u16 gSaveFileStatus;
+
struct SaveSectionLocation
{
void *data;
@@ -88,5 +90,7 @@ u16 CalculateChecksum(void *, u16);
//u8 unref_sub_8125FF0(u8 *data, u16 size);
//u8 unref_sub_8126068(u8 sector, u8 *data, u32 size);
//u8 unref_sub_8126080(u8 sector, u8 *data);
+u16 sub_815355C(void);
+u8 sub_81534D0(u8);
#endif // GUARD_SAVE_H
diff --git a/include/text.h b/include/text.h
index f584b61ea..dba409f37 100644
--- a/include/text.h
+++ b/include/text.h
@@ -195,9 +195,9 @@ bool8 TextPrinterWaitWithDownArrow(struct TextPrinter *textPrinter);
bool8 TextPrinterWait(struct TextPrinter *textPrinter);
void DrawDownArrow(u8 windowId, u16 x, u16 y, u8 bgColor, bool8 drawArrow, u8 *counter, u8 *yCoordIndex);
u16 RenderText(struct TextPrinter *textPrinter);
-u32 GetStringWidthFixedWidthFont(u8 *str, u8 fontId, u8 letterSpacing);
+u32 GetStringWidthFixedWidthFont(const u8 *str, u8 fontId, u8 letterSpacing);
u32 (*GetFontWidthFunc(u8 glyphId))(u16, bool32);
-s32 GetStringWidth(u8 fontId, u8 *str, s16 letterSpacing);
+u32 GetStringWidth(u8 fontId, const u8 *str, s16 letterSpacing);
u8 RenderTextFont9(u8 *pixels, u8 fontId, u8 *str);
u8 DrawKeypadIcon(u8 windowId, u8 keypadIconId, u16 x, u16 y);
u8 GetKeypadIconTileOffset(u8 keypadIconId);
diff --git a/include/trig.h b/include/trig.h
index 477a0163f..a2f98a3e6 100644
--- a/include/trig.h
+++ b/include/trig.h
@@ -1,9 +1,6 @@
#ifndef GUARD_TRIG_H
#define GUARD_TRIG_H
-// Converts a number to Q8.8 fixed-point format
-#define Q_8_8(n) ((s16)((n) * 256))
-
extern const s16 gSineTable[];
s16 Sin(s16 index, s16 amplitude);
diff --git a/include/unknown_task.h b/include/unknown_task.h
new file mode 100644
index 000000000..f59ca9ac3
--- /dev/null
+++ b/include/unknown_task.h
@@ -0,0 +1,11 @@
+#ifndef GUARD_unknown_task_H
+#define GUARD_unknown_task_H
+
+// Exported type declarations
+
+// Exported RAM declarations
+
+// Exported ROM declarations
+void remove_some_task(void);
+
+#endif //GUARD_unknown_task_H
diff --git a/include/vars.h b/include/vars.h
index 5da960640..7c0edeb77 100644
--- a/include/vars.h
+++ b/include/vars.h
@@ -12,6 +12,8 @@
#define VAR_0x4008 0x4008
#define VAR_0x4009 0x4009
#define VAR_0x400A 0x400A
+#define VAR_0x4010 0x4010
+#define VAR_0x4011 0x4011
#define VAR_0x401F 0x401F
#define VAR_RECYCLE_GOODS 0x4020
#define VAR_REPEL_STEP_COUNT 0x4021