summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorpetrie911 <69443847+petrie911@users.noreply.github.com>2023-12-04 12:50:52 -0600
committerGitHub <noreply@github.com>2023-12-04 15:50:52 -0300
commit3a38f87ea5a205e3f787b9344401644ba805563c (patch)
tree0d5f761b4dd42cfbcf44ae56d32e97507c8ab2ef /include
parentb035b5356949ffd34a6218269ad4a45cab3a2bef (diff)
wip on sf_A4B50 (probably fox_play), also names and cleanup (#43)
* objects? * objects2? * more stuff * format * even more cleanup * RCP function names * format * NO U * makerom too
Diffstat (limited to 'include')
-rw-r--r--include/fox_option.h4
-rw-r--r--include/functions.h115
-rw-r--r--include/gfx.h106
-rw-r--r--include/global.h1
-rw-r--r--include/sf64dma.h3
-rw-r--r--include/sf64mesg.h903
-rw-r--r--include/structs.h145
-rw-r--r--include/variables.h108
8 files changed, 1214 insertions, 171 deletions
diff --git a/include/fox_option.h b/include/fox_option.h
index 3a287424..dc673160 100644
--- a/include/fox_option.h
+++ b/include/fox_option.h
@@ -80,7 +80,7 @@ extern u8* D_EBFBE0_801AECF8[];
extern UnkStruct_D_EBFBE0_801AED4C D_EBFBE0_801AED4C[24];
-extern s8* D_EBFBE0_801AEEAC[];
+extern const char* D_EBFBE0_801AEEAC[];
extern Gfx D_EBFBE0_801AEF30[];
@@ -89,7 +89,7 @@ extern f32 D_EBFBE0_801AEF84[];
extern f32 D_EBFBE0_801AEF90[];
extern f32 D_EBFBE0_801AEF9C[];
-extern s8* D_EBFBE0_801AF0C4[];
+extern const char* D_EBFBE0_801AF0C4[];
extern s32 D_EBFBE0_801AF0D0[];
extern s32 D_EBFBE0_801AF0DC[];
extern s32 D_EBFBE0_801AF0E8[];
diff --git a/include/functions.h b/include/functions.h
index 2afe9dcb..c392aadb 100644
--- a/include/functions.h
+++ b/include/functions.h
@@ -1,6 +1,7 @@
#ifndef FUNCTIONS_H
#define FUNCTIONS_H
+#include "libc/stdbool.h"
#include "structs.h"
#include "fox_option.h"
@@ -67,31 +68,34 @@ void Fault_ThreadEntry(void*);
void func_80007FE4(FrameBuffer*, u16, u16);
void Fault_Init(void);
+void func_8000FFCC(void);
+
u8* func_8001C3EC(void);
void func_80016A50(void);
void func_800182F4(s32);
void func_80019218(u32, Vec3f*, u8, f32*, f32*, s8*);
void func_8001A500(Vec3f*);
void func_8001A55C(f32*, u32);
-void func_8001A838(u32 arg0);
+void func_8001A838(u32);
void func_8001ACDC(s32);
void func_8001AE58(void);
s32 func_8001AE78(void);
s32 func_8001AED4(void);
-void func_8001AF40(s32 arg0);
+void func_8001AF40(s32);
+void func_8001D1C8(s32, s32);
void func_8001D400(s32);
void func_8001D444(u8, u16, u8, u8);
void func_8001DA90(u8);
void func_8001DBD0(s32);
void func_8001DC6C(u8, u16);
-
-void func_8000FFCC(void);
void func_8001D8A8(u8, u8);
void func_8001D8F4(u8);
void func_8001DCE0(void);
void func_8001DECC(void);
+
SPTask* func_8001DF50(void);
void func_8001EE00(void);
+
f32 func_8001FE60(f32);
f64 func_8001FE6C(f64);
s32 func_8001FE78(f32);
@@ -112,7 +116,6 @@ f32 func_8001FF40(f32);
f64 func_8001FF5C(f64);
s32 func_8001FF7C(f32);
s32 func_8001FF9C(f64);
-
f32 func_8001FAE4(f32);
f32 func_8001FB04(f32);
f64 func_8001FB24(f64);
@@ -139,39 +142,47 @@ s64 __ull_div(s64, s64);
s64 __ll_mul(s64, s64);
s64 __ll_rshift(s64, s64);
-void func_8002E3E0(Object_2F4 *arg0);
-
+void func_8002E3E0(Object_2F4 *);
void func_8002E548(void);
+
void func_8002F5F4(void);
+
+void func_80035E48(Object_70 *);
void func_8003DAF0(void);
void func_8003DE68(s32, s32);
void func_80040CDC(void);
void func_80042FAC(Object_408 *);
void func_80042FD0(Object_408 *);
+void func_800444BC(UnkStruct_D_80178280 *);
void func_80053658(UnkStruct_D_80161630 *);
void func_8005465C(s32);
-u8 Overlay_Load(u8 arg0, u8 arg1);
-void Overlay_InitDma(void);
-void func_8005980C(f32 arg0);
+
void func_80057D00(void);
+
+void func_8005980C(f32);
void func_8005F030(Vec3f*);
void func_8005F0E8(Vec3f*, Vec3f*);
void func_8005F1EC(Vec3f*);
void func_8005F290(Vec3f*, Vec3f*);
void func_8005F670(Vec3f*);
s32 func_8005F9DC(Vec3f*);
+
void func_80060FBC(Object*, Vec3f*);
-s32 func_80060FE4(Vec3f* arg0, f32 arg1);
+s32 func_80060FE4(Vec3f*, f32);
void func_800612B8(ObjectStruct_1C*, u32);
+void func_80061364(Object_80*);
+void func_80061394(Object_4C*);
void func_800613C4(Object_2F4*);
-void func_80061474(Object_8C* arg0);
+void func_80061404(Object_408*);
+void func_80061444(Object_6C*);
+void func_80061474(Object_8C*);
void func_80061B68(void);
void func_80061CD0(void);
void func_80061E48(Object_2F4* arg0, f32 arg1, f32 arg2, f32 arg3);
void func_80061F0C(Object_2F4* arg0, ObjectInit* arg1, s32 arg2);
void func_80062180(ObjectInit* arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4);
s32 func_800631A8(Vec3f*, f32*, Vec3f*);
-s32 func_8006326C(Vec3f* arg0, s32 arg1, s32 arg2, Object* arg3);
+s32 func_8006326C(Vec3f* arg0, Vec3f* arg1, s32 arg2, Object* arg3);
void func_800652CC(Object_80*);
void func_800654E4(Object *);
void func_800656D4(Object_2F4*);
@@ -182,7 +193,8 @@ void func_8006684C(Object_2F4*);
void func_800669A0(Object_2F4*);
void func_80066A80(Object_2F4*);
void func_80066C00(Object_80*);
-void func_80066EF0(Object_6C *); /* extern */
+void func_80066EA8(Object_80*);
+void func_80066EF0(Object_6C *);
void func_800671D0(Object_6C *);
void func_800674B4(f32, f32, f32, f32, f32, f32, f32, f32);
void func_8006753C(Object_2F4*);
@@ -214,19 +226,25 @@ void func_80069F30(Object_6C *);
void func_80069FD4(Object_8C *);
void func_8006A06C(UnkStruct_D_80174750*);
void func_8006A38C(void);
+void func_8006A3E8(void);
+
void func_8006B0A0(Object_2F4 *, s32);
void func_8006B74C(Object_2F4 *);
void func_8006EEFC(s32, f32, f32, f32, f32, f32, f32, f32, f32, f32);
-
-
void func_800763A4(Object_2F4 *, s32);
void func_8007717C(Object_2F4 *, s32);
+
void func_80077240(f32, f32, f32, s32);
void func_80078E50(f32, f32, f32, f32);
void func_800794CC(f32, f32, f32, f32);
void func_8007A6F0(Vec3f *, u32);
+void func_8007ACE0(f32, f32, f32, f32, f32, f32);
+void func_8007AFD0(f32, f32, f32, s32, f32);
+void func_8007B228(f32, f32, f32, f32);
+void func_8007BC7C(f32, f32, f32, f32);
void func_8007BFFC(f32, f32, f32, f32, f32, f32, f32, s32);
void func_8007C120(f32, f32, f32, f32, f32, f32, f32, s32);
+void func_8007C484(f32, f32, f32, f32, f32, f32, f32, s32);
void func_8007D074(f32, f32, f32, f32);
void func_8007D0E0(f32, f32, f32, f32);
void func_8007D10C(f32, f32, f32, f32);
@@ -237,12 +255,13 @@ void func_80084370(s32);
void func_800843FC(s32);
void func_80084488(s32);
void func_80084688(s32, s32);
-void func_80084B94(s32 arg0);
+
+void func_80084B94(s32);
void func_800857DC(f32, f32, f32, f32);
void func_80085890(f32, f32, f32, f32);
-void func_80086110(f32 arg0, f32 arg1, s32 arg2);
+void func_80086110(f32, f32, s32);
void func_80086664(f32, f32);
-void func_800869A0(f32 arg0, f32 arg1, s32 k, f32 arg3, s32 arg4, s32 arg5);
+void func_800869A0(f32, f32, s32, f32, s32, s32);
void func_80087530(f32, f32, s32);
void func_8008865C(void);
void func_8008AD94(void);
@@ -252,23 +271,24 @@ void func_8008BD00(u8*, s32, s32, u8);
void func_8008C390(f32, f32, f32, s32);
void func_8008C5C8(f32, f32, f32, s32);
void func_8008C6F4(s32, s32);
-s32 func_8008BCBC(s32 arg0);
+s32 func_8008BCBC(s32);
void func_8008CA44(void);
s32 func_8008CB8C(void);
void func_8008D0DC(f32, f32, f32, f32, f32);
void func_8008DE68(void);
-void func_8008E51C(s32* arg0, f32 arg1);
-void func_8008E9EC(f32 arg0, f32 arg1);
+void func_8008E51C(s32* , f32);
+void func_8008E9EC(f32, f32);
void func_8008EA14(f32, f32);
void func_8008FA84(void);
-void func_8008FFF0(Object_408* arg0, s32);
-s32 func_8009092C(Object_2F4*);
+void func_8008FFF0(Object_408*, s32);
+bool func_8009092C(Object_2F4*);
s32 func_800915FC(Object_2F4*);
void func_80092D48(Object_2F4 *);
void func_80094D20(f32, f32);
+s32 func_800998FC(Vec3f*, Vec3f*, Vec3f*, s32, Vec3f*, f32*);
void func_800A18B0(void);
void func_800A1980(void);
-s32 func_800A1B6C(void);
+bool func_800A1B6C(void);
void func_800A1C14(Gfx **);
void func_800A1E68(Gfx **);
void func_800A1F44(void);
@@ -276,10 +296,10 @@ void func_800A1FB0(Gfx **, u8 , u8);
void func_800A24DC(s32);
void func_800A26C0(void);
void func_800A25DC(void);
-Object_2F4 *func_800A3608(s32 arg0);
+Object_2F4 *func_800A3608(s32);
s32 func_800A3690(Vec3f*, Vec3f*, s32, Vec3f*);
void func_800A3CA0(void);
-s32 func_800A3F50(s32);
+s32 func_800A3F50(u16);
void func_800A5844(void);
void func_800A5D6C(void);
void func_800A6148(void);
@@ -291,28 +311,17 @@ void func_800BA808(u16*, s32);
void func_800BB5D0(void);
void Graphics_NMIWipe(void);
void func_800B6F50(f32, f32, f32, f32, f32, f32);
-void func_800B9358(void);
+void RCP_SetupDL_36(void);
void func_800C1ED4(void);
void func_800C20B0(void);
void func_800C2190(void);
-u16* Message_PtrFromId(u16 msgId);
-u16 Message_IdFromPtr(u16*);
-s32 Message_GetWidth(u16* msgPtr);
-s32 Message_GetCharCount(u16* msgPtr);
-void Message_DisplayChar(Gfx** gfxPtr, u16 msgChar, s32 xpos, s32 ypos);
-s32 Message_DisplayText(Gfx** gfxPtr, u16* msgPtr, s32 xPos, s32 yPos, s32 len);
-void Message_DisplayScrollingText(Gfx** gfxPtr, u16* msgPtr, s32 xPos, s32 yPos, s32 yRangeHi, s32 yRangeLo, s32 len);
-s32 Message_NotWhitespace(u16*, s32);
+
s32 Save_Write(void);
s32 Save_Read(void);
-
-
void func_EFFA40_80187520(s32, void*);
-void func_DF4260_80198310(Object_408 *);
void func_DF4260_801878D8(Object_408 *);
-void func_DF4260_801988E0(void);
void func_DF4260_8018B0B4(Object_2F4 *);
void func_DF4260_8018BE7C(Object_408 *);
void func_DF4260_8019250C(Object_2F4 *);
@@ -320,11 +329,16 @@ void func_DF4260_80192CB0(Object_2F4 *);
void func_DF4260_80192EA4(Object_2F4 *);
void func_DF4260_801933B4(Object_2F4 *);
void func_DF4260_801935CC(Object_408 *);
+void func_DF4260_80198310(Object_408 *);
+void func_DF4260_801988E0(void);
+void func_E08400_80187B08(Object_2F4 *, s32);
void func_E08400_80188A40(Object_408 *);
-void func_E16C50_80190F08(Object_2F4 *);
void func_E16C50_80187754(Object_408 *);
+void func_E16C50_80190F08(Object_2F4 *);
+void func_E16C50_801915A4(Object_2F4 *);
+void func_E16C50_80191BB8(Object_2F4 *);
void func_E16C50_801932AC(Object_408 *);
void func_E16C50_8019B1F0(Object_2F4 *);
void func_E16C50_8019B810(Object_2F4 *);
@@ -339,20 +353,22 @@ void func_E16C50_801B6E54(Object_2F4 *);
void func_E16C50_801B7AF0(Object_2F4 *);
void func_E16C50_801BA57C(Object_2F4 *);
void func_E16C50_801BB26C(Object_2F4 *);
-void func_E16C50_801915A4(Object_2F4 *);
-void func_E16C50_80191BB8(Object_2F4 *);
void func_E51970_80193CA4(Object_408 *);
+void func_E51970_80198594(Object_408 *, s32);
void func_E6A810_80189B80(Object_2F4 *);
void func_E6A810_8018ADC4(Object_2F4 *);
+void func_E6A810_8018B720(Object_2F4 *, s32);
void func_E6A810_8018B96C(Object_2F4 *);
void func_E6A810_8018BFB0(Object_2F4 *);
+void func_E6A810_8018E3B0(Object_2F4 *);
void func_E6A810_8018E3CC(Object_2F4 *);
void func_E6A810_8018E5E8(Object_2F4 *);
void func_E6A810_8018EFF0(Object_4C *);
void func_E6A810_8018F0D8(Object_80 *);
void func_E6A810_8018FA48(Object_408 *);
+void func_E6A810_801990DC(Object_408 *, s32);
void func_E6A810_80199F8C(Object_2F4 *);
void func_E6A810_801A3E70(Object_2F4 *);
void func_E6A810_801A4660(Object_2F4 *);
@@ -364,18 +380,11 @@ void func_E6A810_801A7D98(Object_2F4 *);
s32 func_E6A810_801B6AEC(f32, f32, f32);
void func_E6A810_801B6E20(f32, f32, f32 *, f32 *, f32 *);
-void func_E9F1D0_80197CC4(Object_408 *);
-void func_E9F1D0_8018D16C(Object_408 *);
-
-
+void func_E9F1D0_801888F4(Object_2F4 *, s32);
+void func_E9F1D0_8018D16C(Object_408 *);
+void func_E9F1D0_80197CC4(Object_408 *);
void func_EF0260_8018A96C(void);
void func_EF0260_8018AAC4(void);
-void func_E08400_80187B08(Object_2F4 *, s32);
-void func_E9F1D0_801888F4(Object_2F4 *, s32);
-void func_E6A810_8018B720(Object_2F4 *, s32);
-void func_E51970_80198594(Object_408 *, s32);
-void func_E6A810_801990DC(Object_408 *, s32);
-void func_E6A810_8018E3B0(Object_2F4 *);
#endif
diff --git a/include/gfx.h b/include/gfx.h
index 68a2a34b..a48e344e 100644
--- a/include/gfx.h
+++ b/include/gfx.h
@@ -197,58 +197,58 @@ void func_800A1540(s32 arg0, s32 arg1, s32 arg2, s32 arg3);
void func_800A1558(f32 weight, u16 size, void *src1, void *src2, void *dst);
void RCP_SetupDL(Gfx** gfxP, s16 i);
-void func_800B8E14(Gfx** gfxP, s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
-void func_800B8F18(void);
-void func_800B8F48(void);
-void func_800B8F78(void);
-void func_800B8FA8(void);
-void func_800B8FD8(void);
-void func_800B9008(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
-void func_800B9120(void);
-void func_800B9150(void);
-void func_800B9180(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
-void func_800B9298(void);
-void func_800B92C8(void);
-void func_800B92F8(void);
-void func_800B9328(void);
-void func_800B9358(void);
-void func_800B9388(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
-void func_800B94A0(void);
-void func_800B94D0(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
-void func_800B95E8(void);
-void func_800B9618(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
-void func_800B9730(void);
-void func_800B9760(void);
-void func_800B9790(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
-void func_800B98A8(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
-void func_800B99C0(void);
-void func_800B99F0(void);
-void func_800B9A20(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
-void func_800B9B38(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
-void func_800B9C50(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
-void func_800B9D68(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
-void func_800B9E80(void);
-void func_800B9EB0(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
-void func_800B9FC8(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
-void func_800BA0E0(void);
-void func_800BA110(void);
-void func_800BA140(void);
-void func_800BA170(void);
-void func_800BA1A0(void);
-void func_800BA1D0(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
-void func_800BA2E8(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
-void func_800BA400(void);
-void func_800BA430(void);
-void func_800BA460(void);
-void func_800BA490(void);
-void func_800BA4C0(void);
-void func_800BA4F0(void);
-void func_800BA520(void);
-void func_800BA550(void);
-void func_800BA580(void);
-void func_800BA5B0(void);
-void func_800BA5E0(void);
-void func_800BA610(void);
-void func_800BA640(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
+void RCP_SetFog(Gfx** gfxP, s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
+void RCP_SetupDL_0(void);
+void RCP_SetupDL_1(void);
+void RCP_SetupDL_11(void);
+void RCP_SetupDL_12(void);
+void RCP_SetupDL_2(void);
+void RCP_SetupDL_3(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
+void RCP_SetupDL_4(void);
+void RCP_SetupDL_7(void);
+void RCP_SetupDL_9(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
+void RCP_SetupDL_8(void);
+void RCP_SetupDL_13(void);
+void RCP_SetupDL_14(void);
+void RCP_SetupDL_17(void);
+void RCP_SetupDL_36(void);
+void RCP_SetupDL_52(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
+void RCP_SetupDL_62(void);
+void RCP_SetupDL_37(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
+void RCP_SetupDL_18(void);
+void RCP_SetupDL_20(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
+void RCP_SetupDL_19(void);
+void RCP_SetupDL_21(void);
+void RCP_SetupDL_33(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
+void RCP_SetupDL_34(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
+void RCP_SetupDL_40(void);
+void RCP_SetupDL_42(void);
+void RCP_SetupDL_43(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
+void RCP_SetupDL_60(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
+void RCP_SetupDL_47(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
+void RCP_SetupDL_66(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
+void RCP_SetupDL_55(void);
+void RCP_SetupDL_57(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
+void RCP_SetupDL_45(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
+void RCP_SetupDL_46(void);
+void RCP_SetupDL_41(void);
+void RCP_SetupDL_64(void);
+void RCP_SetupDL_64_2(void);
+void RCP_SetupDL_23(void);
+void RCP_SetupDL_29(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
+void RCP_SetupDL_30(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
+void RCP_SetupDL_27(void);
+void RCP_SetupDL_32(void);
+void RCP_SetupDL_73(void);
+void RCP_SetupDL_76(void);
+void RCP_SetupDL_74(void);
+void RCP_SetupDL_78(void);
+void RCP_SetupDL_81(void);
+void RCP_SetupDL_48(void);
+void RCP_SetupDL_68(void);
+void RCP_SetupDL_49(void);
+void RCP_SetupDL_44(void);
+void RCP_SetupDL_50(void);
+void RCP_SetupDL_61(s32 r, s32 g, s32 b, s32 a, s32 near, s32 far);
#endif
diff --git a/include/global.h b/include/global.h
index 84db6612..6c78115b 100644
--- a/include/global.h
+++ b/include/global.h
@@ -16,6 +16,7 @@
#include "structs.h"
#include "macros.h"
#include "sf64math.h"
+#include "sf64mesg.h"
#include "gfx.h"
typedef enum {
diff --git a/include/sf64dma.h b/include/sf64dma.h
index 76aa014b..f63af22d 100644
--- a/include/sf64dma.h
+++ b/include/sf64dma.h
@@ -64,6 +64,9 @@
#define SEGMENT_BSS_END(segment) (segment ## _BSS_END)
#define SEGMENT_BSS_SIZE(segment) ((uintptr_t)SEGMENT_BSS_END(segment) - (uintptr_t)SEGMENT_BSS_START(segment))
+u8 Overlay_Load(u8, u8);
+void Overlay_InitDma(void);
+
typedef struct {
/* 0x0 */ void* start;
/* 0x4 */ void* end;
diff --git a/include/sf64mesg.h b/include/sf64mesg.h
new file mode 100644
index 00000000..5a8b0260
--- /dev/null
+++ b/include/sf64mesg.h
@@ -0,0 +1,903 @@
+#ifndef SF64_MESG
+#define SF64_MESG
+
+#include "libultra/ultra64.h"
+#include "libc/stdbool.h"
+
+typedef struct {
+ s32 msgId;
+ u16* msgPtr;
+} MsgLookup;
+
+extern u8 gTextCharTextures[24][16 * 13 / 2];
+extern MsgLookup gMsgLookup[];
+
+u16* Message_PtrFromId(u16 msgId);
+u16 Message_IdFromPtr(u16*);
+s32 Message_GetWidth(u16* msgPtr);
+s32 Message_GetCharCount(u16* msgPtr);
+void Message_DisplayChar(Gfx** gfxPtr, u16 msgChar, s32 xpos, s32 ypos);
+bool Message_DisplayText(Gfx** gfxPtr, u16* msgPtr, s32 xPos, s32 yPos, s32 len);
+void Message_DisplayScrollingText(Gfx** gfxPtr, u16* msgPtr, s32 xPos, s32 yPos, s32 yRangeHi, s32 yRangeLo, s32 len);
+bool Message_IsPrintingChar(u16* msgPtr, s32 charPos);
+
+typedef enum {
+ MSGCHAR_END,
+ MSGCHAR_NWL,
+ MSGCHAR_NP2,
+ MSGCHAR_NP3,
+ MSGCHAR_NP4,
+ MSGCHAR_NP5,
+ MSGCHAR_NP6,
+ MSGCHAR_NP7,
+ MSGCHAR_NP8,
+ MSGCHAR_NP9,
+ MSGCHAR_NPA,
+ MSGCHAR_NPB,
+ MSGCHAR_SPC,
+ MSGCHAR_QSP,
+ MSGCHAR_HSP,
+ MSGCHAR_NPF,
+ MSGCHAR_CLF,
+ MSGCHAR_CUP,
+ MSGCHAR_CRT,
+ MSGCHAR_CDN,
+ MSGCHAR_AUP,
+ MSGCHAR_ALF,
+ MSGCHAR_ADN,
+ MSGCHAR_ART,
+ MSGCHAR_A,
+ MSGCHAR_B,
+ MSGCHAR_C,
+ MSGCHAR_D,
+ MSGCHAR_E,
+ MSGCHAR_F,
+ MSGCHAR_G,
+ MSGCHAR_H,
+ MSGCHAR_I,
+ MSGCHAR_J,
+ MSGCHAR_K,
+ MSGCHAR_L,
+ MSGCHAR_M,
+ MSGCHAR_N,
+ MSGCHAR_O,
+ MSGCHAR_P,
+ MSGCHAR_Q,
+ MSGCHAR_R,
+ MSGCHAR_S,
+ MSGCHAR_T,
+ MSGCHAR_U,
+ MSGCHAR_V,
+ MSGCHAR_W,
+ MSGCHAR_X,
+ MSGCHAR_Y,
+ MSGCHAR_Z,
+ MSGCHAR_a,
+ MSGCHAR_b,
+ MSGCHAR_c,
+ MSGCHAR_d,
+ MSGCHAR_e,
+ MSGCHAR_f,
+ MSGCHAR_g,
+ MSGCHAR_h,
+ MSGCHAR_i,
+ MSGCHAR_j,
+ MSGCHAR_k,
+ MSGCHAR_l,
+ MSGCHAR_m,
+ MSGCHAR_n,
+ MSGCHAR_o,
+ MSGCHAR_p,
+ MSGCHAR_q,
+ MSGCHAR_r,
+ MSGCHAR_s,
+ MSGCHAR_t,
+ MSGCHAR_u,
+ MSGCHAR_v,
+ MSGCHAR_w,
+ MSGCHAR_x,
+ MSGCHAR_y,
+ MSGCHAR_z,
+ MSGCHAR_EXM,
+ MSGCHAR_QST,
+ MSGCHAR_DSH,
+ MSGCHAR_CMA,
+ MSGCHAR_PRD,
+ MSGCHAR_0,
+ MSGCHAR_1,
+ MSGCHAR_2,
+ MSGCHAR_3,
+ MSGCHAR_4,
+ MSGCHAR_5,
+ MSGCHAR_6,
+ MSGCHAR_7,
+ MSGCHAR_8,
+ MSGCHAR_9,
+ MSGCHAR_APS,
+ MSGCHAR_LPR,
+ MSGCHAR_RPR,
+ MSGCHAR_CLN,
+ MSGCHAR_PIP,
+} MsgCharCode;
+
+extern u16 gMsg_ID_1[914];
+extern u16 gMsg_ID_60[46];
+extern u16 gMsg_ID_10[32];
+extern u16 gMsg_ID_20[30];
+extern u16 gMsg_ID_30[34];
+extern u16 gMsg_ID_40[40];
+extern u16 gMsg_ID_50[52];
+extern u16 gMsg_ID_1200[];
+extern u16 gMsg_ID_1210[];
+extern u16 gMsg_ID_1220[];
+extern u16 gMsg_ID_1230[];
+extern u16 gMsg_ID_1240[];
+extern u16 gMsg_ID_1250[];
+extern u16 gMsg_ID_1260[];
+extern u16 gMsg_ID_1270[];
+extern u16 gMsg_ID_1280[];
+extern u16 gMsg_ID_1290[];
+extern u16 gMsg_ID_1300[];
+extern u16 gMsg_ID_1310[];
+extern u16 gMsg_ID_1320[];
+extern u16 gMsg_ID_1330[];
+extern u16 gMsg_ID_1340[];
+extern u16 gMsg_ID_1350[];
+extern u16 gMsg_ID_1360[];
+extern u16 gMsg_ID_1370[];
+extern u16 gMsg_ID_1380[];
+extern u16 gMsg_ID_1390[];
+extern u16 gMsg_ID_1400[];
+extern u16 gMsg_ID_1410[];
+extern u16 gMsg_ID_1420[];
+extern u16 gMsg_ID_1430[];
+extern u16 gMsg_ID_1440[];
+extern u16 gMsg_ID_1450[];
+extern u16 gMsg_ID_1460[];
+extern u16 gMsg_ID_1470[];
+extern u16 gMsg_ID_2005[];
+extern u16 gMsg_ID_2010[];
+extern u16 gMsg_ID_2020[];
+extern u16 gMsg_ID_2030[];
+extern u16 gMsg_ID_2040[];
+extern u16 gMsg_ID_2050[];
+extern u16 gMsg_ID_2055[];
+extern u16 gMsg_ID_2058[];
+extern u16 gMsg_ID_2061[];
+extern u16 gMsg_ID_2062[];
+extern u16 gMsg_ID_2080[];
+extern u16 gMsg_ID_2090[];
+extern u16 gMsg_ID_2095[];
+extern u16 gMsg_ID_2110[];
+extern u16 gMsg_ID_2115[];
+extern u16 gMsg_ID_2118[];
+extern u16 gMsg_ID_2140[];
+extern u16 gMsg_ID_2165[];
+extern u16 gMsg_ID_2166[];
+extern u16 gMsg_ID_2167[];
+extern u16 gMsg_ID_2180[];
+extern u16 gMsg_ID_2181[];
+extern u16 gMsg_ID_2185[];
+extern u16 gMsg_ID_2188[];
+extern u16 gMsg_ID_2200[];
+extern u16 gMsg_ID_2210[];
+extern u16 gMsg_ID_2220[];
+extern u16 gMsg_ID_2225[];
+extern u16 gMsg_ID_2230[];
+extern u16 gMsg_ID_2233[];
+extern u16 gMsg_ID_2282[];
+extern u16 gMsg_ID_2240[];
+extern u16 gMsg_ID_2250[];
+extern u16 gMsg_ID_2260[];
+extern u16 gMsg_ID_2263[];
+extern u16 gMsg_ID_2265[];
+extern u16 gMsg_ID_2270[];
+extern u16 gMsg_ID_2275[];
+extern u16 gMsg_ID_2280[];
+extern u16 gMsg_ID_2290[];
+extern u16 gMsg_ID_2291[];
+extern u16 gMsg_ID_2292[];
+extern u16 gMsg_ID_2293[];
+extern u16 gMsg_ID_2294[];
+extern u16 gMsg_ID_2295[];
+extern u16 gMsg_ID_2296[];
+extern u16 gMsg_ID_2298[];
+extern u16 gMsg_ID_2299[];
+extern u16 gMsg_ID_2300[];
+extern u16 gMsg_ID_2305[];
+extern u16 gMsg_ID_2310[];
+extern u16 gMsg_ID_2320[];
+extern u16 gMsg_ID_2335[];
+extern u16 gMsg_ID_2336[];
+extern u16 gMsg_ID_2337[];
+extern u16 gMsg_ID_3005[];
+extern u16 gMsg_ID_3010[];
+extern u16 gMsg_ID_3015[];
+extern u16 gMsg_ID_3020[];
+extern u16 gMsg_ID_3025[];
+extern u16 gMsg_ID_3026[];
+extern u16 gMsg_ID_3040[];
+extern u16 gMsg_ID_3041[];
+extern u16 gMsg_ID_3042[];
+extern u16 gMsg_ID_3050[];
+extern u16 gMsg_ID_3100[];
+extern u16 gMsg_ID_3110[];
+extern u16 gMsg_ID_3120[];
+extern u16 gMsg_ID_3300[];
+extern u16 gMsg_ID_3310[];
+extern u16 gMsg_ID_3315[];
+extern u16 gMsg_ID_3320[];
+extern u16 gMsg_ID_3321[];
+extern u16 gMsg_ID_3322[];
+extern u16 gMsg_ID_3330[];
+extern u16 gMsg_ID_3340[];
+extern u16 gMsg_ID_3345[];
+extern u16 gMsg_ID_3350[];
+extern u16 gMsg_ID_3360[];
+extern u16 gMsg_ID_3370[];
+extern u16 gMsg_ID_3371[];
+extern u16 gMsg_ID_4010[];
+extern u16 gMsg_ID_4011[];
+extern u16 gMsg_ID_4012[];
+extern u16 gMsg_ID_4013[];
+extern u16 gMsg_ID_4020[];
+extern u16 gMsg_ID_4021[];
+extern u16 gMsg_ID_4022[];
+extern u16 gMsg_ID_4023[];
+extern u16 gMsg_ID_4024[];
+extern u16 gMsg_ID_4030[];
+extern u16 gMsg_ID_4031[];
+extern u16 gMsg_ID_4040[];
+extern u16 gMsg_ID_4050[];
+extern u16 gMsg_ID_4075[];
+extern u16 gMsg_ID_4080[];
+extern u16 gMsg_ID_4082[];
+extern u16 gMsg_ID_4083[];
+extern u16 gMsg_ID_4091[];
+extern u16 gMsg_ID_4092[];
+extern u16 gMsg_ID_4093[];
+extern u16 gMsg_ID_4094[];
+extern u16 gMsg_ID_4095[];
+extern u16 gMsg_ID_4096[];
+extern u16 gMsg_ID_4097[];
+extern u16 gMsg_ID_4098[];
+extern u16 gMsg_ID_4099[];
+extern u16 gMsg_ID_4100[];
+extern u16 gMsg_ID_4101[];
+extern u16 gMsg_ID_4102[];
+extern u16 gMsg_ID_4103[];
+extern u16 gMsg_ID_4110[];
+extern u16 gMsg_ID_4111[];
+extern u16 gMsg_ID_4112[];
+extern u16 gMsg_ID_4113[];
+extern u16 gMsg_ID_5000[];
+extern u16 gMsg_ID_5010[];
+extern u16 gMsg_ID_5060[];
+extern u16 gMsg_ID_5080[];
+extern u16 gMsg_ID_5100[];
+extern u16 gMsg_ID_5110[];
+extern u16 gMsg_ID_5130[];
+extern u16 gMsg_ID_5220[];
+extern u16 gMsg_ID_5230[];
+extern u16 gMsg_ID_5300[];
+extern u16 gMsg_ID_5310[];
+extern u16 gMsg_ID_5311[];
+extern u16 gMsg_ID_5312[];
+extern u16 gMsg_ID_5313[];
+extern u16 gMsg_ID_5314[];
+extern u16 gMsg_ID_5350[];
+extern u16 gMsg_ID_5360[];
+extern u16 gMsg_ID_5380[];
+extern u16 gMsg_ID_5400[];
+extern u16 gMsg_ID_5410[];
+extern u16 gMsg_ID_5420[];
+extern u16 gMsg_ID_5430[];
+extern u16 gMsg_ID_5460[];
+extern u16 gMsg_ID_5470[];
+extern u16 gMsg_ID_5473[];
+extern u16 gMsg_ID_5474[];
+extern u16 gMsg_ID_5475[];
+extern u16 gMsg_ID_5492[];
+extern u16 gMsg_ID_5493[];
+extern u16 gMsg_ID_5494[];
+extern u16 gMsg_ID_5495[];
+extern u16 gMsg_ID_5496[];
+extern u16 gMsg_ID_5497[];
+extern u16 gMsg_ID_5498[];
+extern u16 gMsg_ID_5499[];
+extern u16 gMsg_ID_5500[];
+extern u16 gMsg_ID_5501[];
+extern u16 gMsg_ID_5502[];
+extern u16 gMsg_ID_5503[];
+extern u16 gMsg_ID_5504[];
+extern u16 gMsg_ID_5505[];
+extern u16 gMsg_ID_5506[];
+extern u16 gMsg_ID_6010[];
+extern u16 gMsg_ID_6011[];
+extern u16 gMsg_ID_6012[];
+extern u16 gMsg_ID_6013[];
+extern u16 gMsg_ID_6014[];
+extern u16 gMsg_ID_6020[];
+extern u16 gMsg_ID_6021[];
+extern u16 gMsg_ID_6024[];
+extern u16 gMsg_ID_6025[];
+extern u16 gMsg_ID_6026[];
+extern u16 gMsg_ID_6027[];
+extern u16 gMsg_ID_6028[];
+extern u16 gMsg_ID_6029[];
+extern u16 gMsg_ID_6036[];
+extern u16 gMsg_ID_6038[];
+extern u16 gMsg_ID_6041[];
+extern u16 gMsg_ID_6042[];
+extern u16 gMsg_ID_6045[];
+extern u16 gMsg_ID_6050[];
+extern u16 gMsg_ID_6051[];
+extern u16 gMsg_ID_6055[];
+extern u16 gMsg_ID_6066[];
+extern u16 gMsg_ID_6067[];
+extern u16 gMsg_ID_6068[];
+extern u16 gMsg_ID_6069[];
+extern u16 gMsg_ID_6071[];
+extern u16 gMsg_ID_6072[];
+extern u16 gMsg_ID_6073[];
+extern u16 gMsg_ID_6074[];
+extern u16 gMsg_ID_6075[];
+extern u16 gMsg_ID_6076[];
+extern u16 gMsg_ID_6077[];
+extern u16 gMsg_ID_6078[];
+extern u16 gMsg_ID_6079[];
+extern u16 gMsg_ID_6080[];
+extern u16 gMsg_ID_6081[];
+extern u16 gMsg_ID_6082[];
+extern u16 gMsg_ID_6090[];
+extern u16 gMsg_ID_6100[];
+extern u16 gMsg_ID_6101[];
+extern u16 gMsg_ID_7005[];
+extern u16 gMsg_ID_7006[];
+extern u16 gMsg_ID_7011[];
+extern u16 gMsg_ID_7012[];
+extern u16 gMsg_ID_7013[];
+extern u16 gMsg_ID_7014[];
+extern u16 gMsg_ID_7020[];
+extern u16 gMsg_ID_7043[];
+extern u16 gMsg_ID_7050[];
+extern u16 gMsg_ID_7051[];
+extern u16 gMsg_ID_7052[];
+extern u16 gMsg_ID_7053[];
+extern u16 gMsg_ID_7054[];
+extern u16 gMsg_ID_7061[];
+extern u16 gMsg_ID_7064[];
+extern u16 gMsg_ID_7065[];
+extern u16 gMsg_ID_7066[];
+extern u16 gMsg_ID_7070[];
+extern u16 gMsg_ID_7083[];
+extern u16 gMsg_ID_7084[];
+extern u16 gMsg_ID_7085[];
+extern u16 gMsg_ID_7086[];
+extern u16 gMsg_ID_7087[];
+extern u16 gMsg_ID_7093[];
+extern u16 gMsg_ID_7094[];
+extern u16 gMsg_ID_7095[];
+extern u16 gMsg_ID_7096[];
+extern u16 gMsg_ID_7097[];
+extern u16 gMsg_ID_7098[];
+extern u16 gMsg_ID_7099[];
+extern u16 gMsg_ID_7100[];
+extern u16 gMsg_ID_8010[];
+extern u16 gMsg_ID_8020[];
+extern u16 gMsg_ID_8030[];
+extern u16 gMsg_ID_8040[];
+extern u16 gMsg_ID_8045[];
+extern u16 gMsg_ID_8050[];
+extern u16 gMsg_ID_8060[];
+extern u16 gMsg_ID_8070[];
+extern u16 gMsg_ID_8080[];
+extern u16 gMsg_ID_8100[];
+extern u16 gMsg_ID_8110[];
+extern u16 gMsg_ID_8120[];
+extern u16 gMsg_ID_8130[];
+extern u16 gMsg_ID_8140[];
+extern u16 gMsg_ID_8205[];
+extern u16 gMsg_ID_8210[];
+extern u16 gMsg_ID_8215[];
+extern u16 gMsg_ID_8220[];
+extern u16 gMsg_ID_8230[];
+extern u16 gMsg_ID_8240[];
+extern u16 gMsg_ID_8250[];
+extern u16 gMsg_ID_8255[];
+extern u16 gMsg_ID_8260[];
+extern u16 gMsg_ID_8265[];
+extern u16 gMsg_ID_8300[];
+extern u16 gMsg_ID_8310[];
+extern u16 gMsg_ID_8320[];
+extern u16 gMsg_ID_9000[];
+extern u16 gMsg_ID_9010[];
+extern u16 gMsg_ID_9100[];
+extern u16 gMsg_ID_9110[];
+extern u16 gMsg_ID_9120[];
+extern u16 gMsg_ID_9130[];
+extern u16 gMsg_ID_9140[];
+extern u16 gMsg_ID_9150[];
+extern u16 gMsg_ID_9151[];
+extern u16 gMsg_ID_9152[];
+extern u16 gMsg_ID_9153[];
+extern u16 gMsg_ID_9160[];
+extern u16 gMsg_ID_9170[];
+extern u16 gMsg_ID_9180[];
+extern u16 gMsg_ID_9190[];
+extern u16 gMsg_ID_9200[];
+extern u16 gMsg_ID_9210[];
+extern u16 gMsg_ID_9211[];
+extern u16 gMsg_ID_9212[];
+extern u16 gMsg_ID_9213[];
+extern u16 gMsg_ID_9220[];
+extern u16 gMsg_ID_9230[];
+extern u16 gMsg_ID_9240[];
+extern u16 gMsg_ID_9250[];
+extern u16 gMsg_ID_9260[];
+extern u16 gMsg_ID_9270[];
+extern u16 gMsg_ID_9275[];
+extern u16 gMsg_ID_9280[];
+extern u16 gMsg_ID_9285[];
+extern u16 gMsg_ID_9289[];
+extern u16 gMsg_ID_9290[];
+extern u16 gMsg_ID_9300[];
+extern u16 gMsg_ID_9310[];
+extern u16 gMsg_ID_9320[];
+extern u16 gMsg_ID_9322[];
+extern u16 gMsg_ID_9323[];
+extern u16 gMsg_ID_9324[];
+extern u16 gMsg_ID_9325[];
+extern u16 gMsg_ID_9330[];
+extern u16 gMsg_ID_9340[];
+extern u16 gMsg_ID_9350[];
+extern u16 gMsg_ID_9360[];
+extern u16 gMsg_ID_9365[];
+extern u16 gMsg_ID_9366[];
+extern u16 gMsg_ID_9367[];
+extern u16 gMsg_ID_9368[];
+extern u16 gMsg_ID_9369[];
+extern u16 gMsg_ID_9375[];
+extern u16 gMsg_ID_9380[];
+extern u16 gMsg_ID_9385[];
+extern u16 gMsg_ID_9390[];
+extern u16 gMsg_ID_9395[];
+extern u16 gMsg_ID_9400[];
+extern u16 gMsg_ID_9405[];
+extern u16 gMsg_ID_9411[];
+extern u16 gMsg_ID_9420[];
+extern u16 gMsg_ID_9425[];
+extern u16 gMsg_ID_9426[];
+extern u16 gMsg_ID_9427[];
+extern u16 gMsg_ID_9428[];
+extern u16 gMsg_ID_9429[];
+extern u16 gMsg_ID_9430[];
+extern u16 gMsg_ID_9431[];
+extern u16 gMsg_ID_9432[];
+extern u16 gMsg_ID_9433[];
+extern u16 gMsg_ID_9434[];
+extern u16 gMsg_ID_9436[];
+extern u16 gMsg_ID_9437[];
+extern u16 gMsg_ID_9438[];
+extern u16 gMsg_ID_10010[];
+extern u16 gMsg_ID_10020[];
+extern u16 gMsg_ID_10040[];
+extern u16 gMsg_ID_10050[];
+extern u16 gMsg_ID_10060[];
+extern u16 gMsg_ID_10070[];
+extern u16 gMsg_ID_10080[];
+extern u16 gMsg_ID_10200[];
+extern u16 gMsg_ID_10210[];
+extern u16 gMsg_ID_10220[];
+extern u16 gMsg_ID_10230[];
+extern u16 gMsg_ID_10255[];
+extern u16 gMsg_ID_10300[];
+extern u16 gMsg_ID_10310[];
+extern u16 gMsg_ID_10320[];
+extern u16 gMsg_ID_10321[];
+extern u16 gMsg_ID_10322[];
+extern u16 gMsg_ID_10323[];
+extern u16 gMsg_ID_10324[];
+extern u16 gMsg_ID_11010[];
+extern u16 gMsg_ID_11020[];
+extern u16 gMsg_ID_11030[];
+extern u16 gMsg_ID_11040[];
+extern u16 gMsg_ID_11050[];
+extern u16 gMsg_ID_11060[];
+extern u16 gMsg_ID_11100[];
+extern u16 gMsg_ID_11110[];
+extern u16 gMsg_ID_11120[];
+extern u16 gMsg_ID_11130[];
+extern u16 gMsg_ID_11150[];
+extern u16 gMsg_ID_11160[];
+extern u16 gMsg_ID_11200[];
+extern u16 gMsg_ID_11210[];
+extern u16 gMsg_ID_11220[];
+extern u16 gMsg_ID_11230[];
+extern u16 gMsg_ID_11240[];
+extern u16 gMsg_ID_11241[];
+extern u16 gMsg_ID_14020[];
+extern u16 gMsg_ID_14030[];
+extern u16 gMsg_ID_14040[];
+extern u16 gMsg_ID_14045[];
+extern u16 gMsg_ID_14050[];
+extern u16 gMsg_ID_14060[];
+extern u16 gMsg_ID_14070[];
+extern u16 gMsg_ID_14080[];
+extern u16 gMsg_ID_14100[];
+extern u16 gMsg_ID_14110[];
+extern u16 gMsg_ID_14120[];
+extern u16 gMsg_ID_14130[];
+extern u16 gMsg_ID_14140[];
+extern u16 gMsg_ID_14150[];
+extern u16 gMsg_ID_14160[];
+extern u16 gMsg_ID_14170[];
+extern u16 gMsg_ID_14180[];
+extern u16 gMsg_ID_14190[];
+extern u16 gMsg_ID_14200[];
+extern u16 gMsg_ID_14210[];
+extern u16 gMsg_ID_14220[];
+extern u16 gMsg_ID_14230[];
+extern u16 gMsg_ID_14300[];
+extern u16 gMsg_ID_14310[];
+extern u16 gMsg_ID_14320[];
+extern u16 gMsg_ID_14330[];
+extern u16 gMsg_ID_14340[];
+extern u16 gMsg_ID_14350[];
+extern u16 gMsg_ID_14360[];
+extern u16 gMsg_ID_14370[];
+extern u16 gMsg_ID_15010[];
+extern u16 gMsg_ID_15030[];
+extern u16 gMsg_ID_15040[];
+extern u16 gMsg_ID_15045[];
+extern u16 gMsg_ID_15050[];
+extern u16 gMsg_ID_15051[];
+extern u16 gMsg_ID_15052[];
+extern u16 gMsg_ID_15053[];
+extern u16 gMsg_ID_15054[];
+extern u16 gMsg_ID_15060[];
+extern u16 gMsg_ID_15100[];
+extern u16 gMsg_ID_15110[];
+extern u16 gMsg_ID_15120[];
+extern u16 gMsg_ID_15130[];
+extern u16 gMsg_ID_15140[];
+extern u16 gMsg_ID_15200[];
+extern u16 gMsg_ID_15210[];
+extern u16 gMsg_ID_15220[];
+extern u16 gMsg_ID_15230[];
+extern u16 gMsg_ID_15240[];
+extern u16 gMsg_ID_15250[];
+extern u16 gMsg_ID_15251[];
+extern u16 gMsg_ID_15252[];
+extern u16 gMsg_ID_15253[];
+extern u16 gMsg_ID_15254[];
+extern u16 gMsg_ID_16010[];
+extern u16 gMsg_ID_16020[];
+extern u16 gMsg_ID_16030[];
+extern u16 gMsg_ID_16040[];
+extern u16 gMsg_ID_16046[];
+extern u16 gMsg_ID_16047[];
+extern u16 gMsg_ID_16050[];
+extern u16 gMsg_ID_16055[];
+extern u16 gMsg_ID_16060[];
+extern u16 gMsg_ID_16080[];
+extern u16 gMsg_ID_16085[];
+extern u16 gMsg_ID_16090[];
+extern u16 gMsg_ID_16100[];
+extern u16 gMsg_ID_16110[];
+extern u16 gMsg_ID_16120[];
+extern u16 gMsg_ID_16125[];
+extern u16 gMsg_ID_16130[];
+extern u16 gMsg_ID_16135[];
+extern u16 gMsg_ID_16140[];
+extern u16 gMsg_ID_16150[];
+extern u16 gMsg_ID_16160[];
+extern u16 gMsg_ID_16165[];
+extern u16 gMsg_ID_16170[];
+extern u16 gMsg_ID_16175[];
+extern u16 gMsg_ID_16180[];
+extern u16 gMsg_ID_16185[];
+extern u16 gMsg_ID_16200[];
+extern u16 gMsg_ID_16210[];
+extern u16 gMsg_ID_16220[];
+extern u16 gMsg_ID_16230[];
+extern u16 gMsg_ID_16240[];
+extern u16 gMsg_ID_16250[];
+extern u16 gMsg_ID_16260[];
+extern u16 gMsg_ID_16270[];
+extern u16 gMsg_ID_16280[];
+extern u16 gMsg_ID_17010[];
+extern u16 gMsg_ID_17020[];
+extern u16 gMsg_ID_17030[];
+extern u16 gMsg_ID_17100[];
+extern u16 gMsg_ID_17110[];
+extern u16 gMsg_ID_17120[];
+extern u16 gMsg_ID_17130[];
+extern u16 gMsg_ID_17131[];
+extern u16 gMsg_ID_17140[];
+extern u16 gMsg_ID_17150[];
+extern u16 gMsg_ID_17160[];
+extern u16 gMsg_ID_17170[];
+extern u16 gMsg_ID_17300[];
+extern u16 gMsg_ID_17310[];
+extern u16 gMsg_ID_17320[];
+extern u16 gMsg_ID_17330[];
+extern u16 gMsg_ID_17350[];
+extern u16 gMsg_ID_17360[];
+extern u16 gMsg_ID_17370[];
+extern u16 gMsg_ID_17380[];
+extern u16 gMsg_ID_17390[];
+extern u16 gMsg_ID_17400[];
+extern u16 gMsg_ID_17410[];
+extern u16 gMsg_ID_17420[];
+extern u16 gMsg_ID_17430[];
+extern u16 gMsg_ID_17440[];
+extern u16 gMsg_ID_17450[];
+extern u16 gMsg_ID_17460[];
+extern u16 gMsg_ID_17470[];
+extern u16 gMsg_ID_17471[];
+extern u16 gMsg_ID_17472[];
+extern u16 gMsg_ID_17473[];
+extern u16 gMsg_ID_17474[];
+extern u16 gMsg_ID_17475[];
+extern u16 gMsg_ID_17476[];
+extern u16 gMsg_ID_18000[];
+extern u16 gMsg_ID_18005[];
+extern u16 gMsg_ID_18006[];
+extern u16 gMsg_ID_18007[];
+extern u16 gMsg_ID_18010[];
+extern u16 gMsg_ID_18015[];
+extern u16 gMsg_ID_18018[];
+extern u16 gMsg_ID_18020[];
+extern u16 gMsg_ID_18021[];
+extern u16 gMsg_ID_18022[];
+extern u16 gMsg_ID_18025[];
+extern u16 gMsg_ID_18030[];
+extern u16 gMsg_ID_18031[];
+extern u16 gMsg_ID_18035[];
+extern u16 gMsg_ID_18040[];
+extern u16 gMsg_ID_18045[];
+extern u16 gMsg_ID_18050[];
+extern u16 gMsg_ID_18055[];
+extern u16 gMsg_ID_18060[];
+extern u16 gMsg_ID_18065[];
+extern u16 gMsg_ID_18066[];
+extern u16 gMsg_ID_18070[];
+extern u16 gMsg_ID_18075[];
+extern u16 gMsg_ID_18080[];
+extern u16 gMsg_ID_18085[];
+extern u16 gMsg_ID_18090[];
+extern u16 gMsg_ID_18095[];
+extern u16 gMsg_ID_18100[];
+extern u16 gMsg_ID_18105[];
+extern u16 gMsg_ID_18120[];
+extern u16 gMsg_ID_18130[];
+extern u16 gMsg_ID_18140[];
+extern u16 gMsg_ID_18150[];
+extern u16 gMsg_ID_19010[];
+extern u16 gMsg_ID_19205[];
+extern u16 gMsg_ID_19200[];
+extern u16 gMsg_ID_19210[];
+extern u16 gMsg_ID_19220[];
+extern u16 gMsg_ID_19230[];
+extern u16 gMsg_ID_19240[];
+extern u16 gMsg_ID_19250[];
+extern u16 gMsg_ID_19325[];
+extern u16 gMsg_ID_19330[];
+extern u16 gMsg_ID_19335[];
+extern u16 gMsg_ID_19340[];
+extern u16 gMsg_ID_19350[];
+extern u16 gMsg_ID_19355[];
+extern u16 gMsg_ID_19360[];
+extern u16 gMsg_ID_19370[];
+extern u16 gMsg_ID_19400[];
+extern u16 gMsg_ID_19410[];
+extern u16 gMsg_ID_19420[];
+extern u16 gMsg_ID_19430[];
+extern u16 gMsg_ID_19440[];
+extern u16 gMsg_ID_19450[];
+extern u16 gMsg_ID_19451[];
+extern u16 gMsg_ID_19452[];
+extern u16 gMsg_ID_19453[];
+extern u16 gMsg_ID_19454[];
+extern u16 gMsg_ID_19455[];
+extern u16 gMsg_ID_19456[];
+extern u16 gMsg_ID_19457[];
+extern u16 gMsg_ID_19458[];
+extern u16 gMsg_ID_19459[];
+extern u16 gMsg_ID_19460[];
+extern u16 gMsg_ID_19461[];
+extern u16 gMsg_ID_19462[];
+extern u16 gMsg_ID_19463[];
+extern u16 gMsg_ID_19464[];
+extern u16 gMsg_ID_19465[];
+extern u16 gMsg_ID_19466[];
+extern u16 gMsg_ID_19467[];
+extern u16 gMsg_ID_19468[];
+extern u16 gMsg_ID_20010[];
+extern u16 gMsg_ID_20011[];
+extern u16 gMsg_ID_20012[];
+extern u16 gMsg_ID_20013[];
+extern u16 gMsg_ID_20014[];
+extern u16 gMsg_ID_20015[];
+extern u16 gMsg_ID_20016[];
+extern u16 gMsg_ID_20017[];
+extern u16 gMsg_ID_20018[];
+extern u16 gMsg_ID_20019[];
+extern u16 gMsg_ID_20020[];
+extern u16 gMsg_ID_20030[];
+extern u16 gMsg_ID_20040[];
+extern u16 gMsg_ID_20050[];
+extern u16 gMsg_ID_20060[];
+extern u16 gMsg_ID_20070[];
+extern u16 gMsg_ID_20080[];
+extern u16 gMsg_ID_20084[];
+extern u16 gMsg_ID_20085[];
+extern u16 gMsg_ID_20090[];
+extern u16 gMsg_ID_20091[];
+extern u16 gMsg_ID_20092[];
+extern u16 gMsg_ID_20150[];
+extern u16 gMsg_ID_20160[];
+extern u16 gMsg_ID_20170[];
+extern u16 gMsg_ID_20180[];
+extern u16 gMsg_ID_20190[];
+extern u16 gMsg_ID_20200[];
+extern u16 gMsg_ID_20210[];
+extern u16 gMsg_ID_20220[];
+extern u16 gMsg_ID_20221[];
+extern u16 gMsg_ID_20222[];
+extern u16 gMsg_ID_20230[];
+extern u16 gMsg_ID_20235[];
+extern u16 gMsg_ID_20236[];
+extern u16 gMsg_ID_20237[];
+extern u16 gMsg_ID_20238[];
+extern u16 gMsg_ID_20239[];
+extern u16 gMsg_ID_20250[];
+extern u16 gMsg_ID_20260[];
+extern u16 gMsg_ID_20261[];
+extern u16 gMsg_ID_20262[];
+extern u16 gMsg_ID_20263[];
+extern u16 gMsg_ID_20264[];
+extern u16 gMsg_ID_20265[];
+extern u16 gMsg_ID_20266[];
+extern u16 gMsg_ID_20267[];
+extern u16 gMsg_ID_20268[];
+extern u16 gMsg_ID_20269[];
+extern u16 gMsg_ID_20270[];
+extern u16 gMsg_ID_20271[];
+extern u16 gMsg_ID_20272[];
+extern u16 gMsg_ID_20273[];
+extern u16 gMsg_ID_20274[];
+extern u16 gMsg_ID_20275[];
+extern u16 gMsg_ID_20276[];
+extern u16 gMsg_ID_20277[];
+extern u16 gMsg_ID_20278[];
+extern u16 gMsg_ID_20279[];
+extern u16 gMsg_ID_20280[];
+extern u16 gMsg_ID_20281[];
+extern u16 gMsg_ID_20282[];
+extern u16 gMsg_ID_20283[];
+extern u16 gMsg_ID_20284[];
+extern u16 gMsg_ID_20285[];
+extern u16 gMsg_ID_20286[];
+extern u16 gMsg_ID_20287[];
+extern u16 gMsg_ID_20288[];
+extern u16 gMsg_ID_20289[];
+extern u16 gMsg_ID_20290[];
+extern u16 gMsg_ID_20291[];
+extern u16 gMsg_ID_20292[];
+extern u16 gMsg_ID_20294[];
+extern u16 gMsg_ID_20296[];
+extern u16 gMsg_ID_20297[];
+extern u16 gMsg_ID_20298[];
+extern u16 gMsg_ID_20299[];
+extern u16 gMsg_ID_20300[];
+extern u16 gMsg_ID_20301[];
+extern u16 gMsg_ID_20302[];
+extern u16 gMsg_ID_20303[];
+extern u16 gMsg_ID_20304[];
+extern u16 gMsg_ID_20305[];
+extern u16 gMsg_ID_20306[];
+extern u16 gMsg_ID_20307[];
+extern u16 gMsg_ID_20308[];
+extern u16 gMsg_ID_20309[];
+extern u16 gMsg_ID_20310[];
+extern u16 gMsg_ID_20311[];
+extern u16 gMsg_ID_20312[];
+extern u16 gMsg_ID_20313[];
+extern u16 gMsg_ID_20314[];
+extern u16 gMsg_ID_20315[];
+extern u16 gMsg_ID_20316[];
+extern u16 gMsg_ID_20317[];
+extern u16 gMsg_ID_20318[];
+extern u16 gMsg_ID_20319[];
+extern u16 gMsg_ID_20320[];
+extern u16 gMsg_ID_20321[];
+extern u16 gMsg_ID_20326[];
+extern u16 gMsg_ID_20327[];
+extern u16 gMsg_ID_20328[];
+extern u16 gMsg_ID_20329[];
+extern u16 gMsg_ID_20330[];
+extern u16 gMsg_ID_20331[];
+extern u16 gMsg_ID_20332[];
+extern u16 gMsg_ID_20333[];
+extern u16 gMsg_ID_20337[];
+extern u16 gMsg_ID_20338[];
+extern u16 gMsg_ID_20339[];
+extern u16 gMsg_ID_20340[];
+extern u16 gMsg_ID_20343[];
+extern u16 gMsg_ID_20344[];
+extern u16 gMsg_ID_20345[];
+extern u16 gMsg_ID_21010[];
+extern u16 gMsg_ID_21020[];
+extern u16 gMsg_ID_21030[];
+extern u16 gMsg_ID_21050[];
+extern u16 gMsg_ID_21060[];
+extern u16 gMsg_ID_21070[];
+extern u16 gMsg_ID_21071[];
+extern u16 gMsg_ID_21072[];
+extern u16 gMsg_ID_21073[];
+extern u16 gMsg_ID_21080[];
+extern u16 gMsg_ID_21081[];
+extern u16 gMsg_ID_21082[];
+extern u16 gMsg_ID_21083[];
+extern u16 gMsg_ID_21090[];
+extern u16 gMsg_ID_21091[];
+extern u16 gMsg_ID_21092[];
+extern u16 gMsg_ID_21093[];
+extern u16 gMsg_ID_22000[];
+extern u16 gMsg_ID_22001[];
+extern u16 gMsg_ID_22002[];
+extern u16 gMsg_ID_22003[];
+extern u16 gMsg_ID_22004[];
+extern u16 gMsg_ID_22005[];
+extern u16 gMsg_ID_22006[];
+extern u16 gMsg_ID_22007[];
+extern u16 gMsg_ID_22008[];
+extern u16 gMsg_ID_22009[];
+extern u16 gMsg_ID_22010[];
+extern u16 gMsg_ID_22011[];
+extern u16 gMsg_ID_22012[];
+extern u16 gMsg_ID_22013[];
+extern u16 gMsg_ID_22014[];
+extern u16 gMsg_ID_22015[];
+extern u16 gMsg_ID_22016[];
+extern u16 gMsg_ID_22017[];
+extern u16 gMsg_ID_22018[];
+extern u16 gMsg_ID_22019[];
+extern u16 gMsg_ID_22020[];
+extern u16 gMsg_ID_23000[];
+extern u16 gMsg_ID_23001[];
+extern u16 gMsg_ID_23002[];
+extern u16 gMsg_ID_23003[];
+extern u16 gMsg_ID_23004[];
+extern u16 gMsg_ID_23005[];
+extern u16 gMsg_ID_23006[];
+extern u16 gMsg_ID_23007[];
+extern u16 gMsg_ID_23008[];
+extern u16 gMsg_ID_23009[];
+extern u16 gMsg_ID_23010[];
+extern u16 gMsg_ID_23011[];
+extern u16 gMsg_ID_23012[];
+extern u16 gMsg_ID_23013[];
+extern u16 gMsg_ID_23014[];
+extern u16 gMsg_ID_23015[];
+extern u16 gMsg_ID_23016[];
+extern u16 gMsg_ID_23017[];
+extern u16 gMsg_ID_23018[];
+extern u16 gMsg_ID_23019[];
+extern u16 gMsg_ID_23020[];
+extern u16 gMsg_ID_23021[];
+extern u16 gMsg_ID_23022[];
+extern u16 gMsg_ID_23023[];
+extern u16 gMsg_ID_23024[];
+extern u16 gMsg_ID_23025[];
+extern u16 gMsg_ID_23026[];
+extern u16 gMsg_ID_23027[];
+extern u16 gMsg_ID_23028[];
+extern u16 gMsg_ID_23029[];
+extern u16 gMsg_ID_23030[];
+extern u16 gMsg_ID_23031[];
+extern u16 gMsg_ID_23032[];
+
+#endif
diff --git a/include/structs.h b/include/structs.h
index 36f8d528..33eef56d 100644
--- a/include/structs.h
+++ b/include/structs.h
@@ -6,11 +6,6 @@
#define UNK_TYPE s32
-typedef struct {
- s32 msgId;
- u16* msgPtr;
-} MsgLookup;
-
typedef void (*TimerAction)(s32*, s32);
typedef struct {
@@ -117,15 +112,6 @@ typedef struct {
typedef struct {
/* 0x00 */ u8 unk_00;
- /* 0x01 */ char pad01[0x1];
- /* 0x02 */ u16 unk_02;
- /* 0x04 */ Vec3f pos;
- /* 0x10 */ f32 unk_10;
- /* 0x14 */ char pad14[0x14];
-} UnkStruct_D_80175A10; // size = 0x28
-
-typedef struct {
- /* 0x00 */ u8 unk_00;
/* 0x01 */ u8 unk_01;
/* 0x04 */ f32 unk_04;
/* 0x08 */ f32 unk_08;
@@ -143,6 +129,28 @@ typedef struct {
/* 0x38 */ f32 unk_38;
} UnkStruct_D_80161630; // size = 0x3C
+typedef struct {
+ /* 0x00 */ s32 unk_00;
+ /* 0x04 */ s32 unk_04;
+ /* 0x08 */ u16 unk_08;
+ /* 0x0A */ u16 unk_0A;
+ /* 0x0C */ s32 unk_0C;
+ /* 0x10 */ s32 unk_10;
+ /* 0x14 */ s32 unk_14;
+ /* 0x18 */ s32 unk_18;
+ /* 0x1C */ s32 unk_1C;
+ /* 0x20 */ f32 unk_20;
+ /* 0x24 */ f32 unk_24;
+ /* 0x28 */ f32 unk_28;
+ /* 0x2C */ s32 unk_2C;
+ /* 0x30 */ s32 unk_30;
+ /* 0x34 */ s32 unk_34;
+ /* 0x38 */ s32 unk_38;
+ /* 0x3C */ s32 unk_3C;
+ /* 0x40 */ s32 unk_40;
+ /* 0x44 */ char pad44[0x60];
+} UnkStruct_D_80161A68; // size = 0x44?
+
typedef struct UnkStruct_D_80178280 {
/* 0x000 */ char pad0[0xC];
/* 0x00C */ f32 unk_00C;
@@ -153,21 +161,39 @@ typedef struct UnkStruct_D_80178280 {
/* 0x04C */ Vec3f unk_04C;
/* 0x058 */ f32 unk_058;
/* 0x05C */ f32 unk_05C;
- /* 0x060 */ char pad060[0x14];
+ /* 0x05C */ f32 unk_060;
+ /* 0x064 */ char pad064[0x10];
/* 0x074 */ f32 unk_074;
/* 0x078 */ f32 unk_078;
/* 0x07C */ f32 unk_07C;
- /* 0x080 */ char pad80[0x2C];
+ /* 0x080 */ f32 unk_080;
+ /* 0x084 */ char pad84[4];
+ /* 0x088 */ f32 unk_088;
+ /* 0x08C */ char pad8C[4];
+ /* 0x090 */ f32 unk_090;
+ /* 0x094 */ f32 unk_094;
+ /* 0x098 */ f32 unk_098;
+ /* 0x09C */ char pad9C[0x10];
/* 0x0AC */ f32 unk_0AC;
/* 0x0B0 */ f32 unk_0B0;
/* 0x0B4 */ f32 unk_0B4;
/* 0x0B8 */ f32 unk_0B8;
/* 0x0BC */ f32 unk_0BC;
- /* 0x0C0 */ f32 unk_0C0;
- /* 0x0C4 */ f32 unk_0C4;
- /* 0x0C8 */ char padC8[8];
+ /* 0x0C0 */ Vec3f unk_0C0;
+ /* 0x0CC */ char padCC[4];
/* 0x0D0 */ f32 unk_0D0;
- /* 0x0D4 */ char padD4[0x3C];
+ /* 0x0D4 */ char padD4[4];
+ /* 0x0D8 */ Vec3f unk_0D8;
+ /* 0x0E4 */ f32 unk_0E4;
+ /* 0x0E8 */ f32 unk_0E8;
+ /* 0x0EC */ char padEC[4];
+ /* 0x0F0 */ f32 unk_0F0;
+ /* 0x0F4 */ f32 unk_0F4;
+ /* 0x0F8 */ f32 unk_0F8;
+ /* 0x0FC */ char padFC[8];
+ /* 0x104 */ f32 unk_104;
+ /* 0x108 */ char pad108[4];
+ /* 0x10C */ f32 unk_10C;
/* 0x110 */ f32 unk_110;
/* 0x114 */ f32 unk_114;
/* 0x118 */ f32 unk_118;
@@ -176,41 +202,63 @@ typedef struct UnkStruct_D_80178280 {
/* 0x124 */ f32 unk_124;
/* 0x128 */ char pad128[0x10];
/* 0x138 */ f32 unk_138;
- /* 0x13C */ char pad13C[8];
+ /* 0x13C */ char pad13C[4];
+ /* 0x140 */ f32 unk_140;
/* 0x144 */ f32 unk_144;
/* 0x148 */ char pad148[0x54];
/* 0x19C */ s32 unk_19C;
- /* 0x1A0 */ char pad1A0[0x28];
+ /* 0x1A0 */ char pad1A0[4];
+ /* 0x1A4 */ s32 unk_1A4;
+ /* 0x1A8 */ char pad1A8[0x1C];
+ /* 0x1C4 */ s32 unk_1C4;
/* 0x1C8 */ s32 unk_1C8;
/* 0x1CC */ s32 unk_1CC;
/* 0x1D0 */ s32 unk_1D0;
- /* 0x1D4 */ char pad1D4[0x20];
+ /* 0x1D4 */ s32 unk_1D4;
+ /* 0x1D8 */ char pad1D8[0x1C];
/* 0x1F4 */ s32 unk_1F4;
- /* 0x1F8 */ char pad1F8[0xC];
+ /* 0x1F8 */ s32 unk_1F8;
+ /* 0x1FC */ s32 unk_1FC;
+ /* 0x200 */ char pad200[4];
/* 0x204 */ s32 unk_204;
/* 0x208 */ char pad208[8];
/* 0x210 */ s32 unk_210;
- /* 0x214 */ char pad214[0x10];
+ /* 0x214 */ char pad214[8];
+ /* 0x21C */ s32 unk_21C;
+ /* 0x220 */ s32 unk_220;
/* 0x224 */ s32 unk_224;
/* 0x228 */ s32 unk_228;
- /* 0x22C */ char pad22C[0xC];
+ /* 0x22C */ s32 unk_22C;
+ /* 0x230 */ char pad230[8];
/* 0x238 */ s32 unk_238;
- /* 0x23C */ char pad23C[0x28];
+ /* 0x23C */ s32 unk_23C;
+ /* 0x240 */ char pad240[0x24];
/* 0x264 */ s32 unk_264;
- /* 0x268 */ char pad268[0x4];
+ /* 0x268 */ s32 unk_268;
/* 0x26C */ s32 unk_26C;
/* 0x270 */ char pad270[0xC];
/* 0x27C */ s32 unk_27C;
- /* 0x280 */ char pad280[0x34];
+ /* 0x280 */ char pad280[4];
+ /* 0x284 */ s32 unk_284;
+ /* 0x288 */ s32 unk_288;
+ /* 0x28C */ char pad28C[0x28];
/* 0x2B4 */ s32 unk_2B4;
/* 0x2B8 */ char pad2B8[0x4];
/* 0x2BC */ f32 unk_2BC;
- /* 0x2C0 */ char pad2C0[0x1A0];
+ /* 0x2C0 */ char pad2C0[8];
+ /* 0x2C8 */ Vec3f unk_2C8;
+ /* 0x2D4 */ Vec3f unk_2D4;
+ /* 0x2E0 */ Vec3f unk_2E0;
+ /* 0x2EC */ Vec3f unk_2EC;
+ /* 0x2F8 */ char pad2F8[0x168];
/* 0x460 */ Vec3f unk_460[1];
- /* 0x46C */ char pad46C[0x30];
+ /* 0x46C */ char pad46C[0x2C];
+ /* 0x498 */ s32 unk_498;
/* 0x49C */ u8 unk_49C; // could be array
/* 0x49C */ u8 unk_49D;
- /* 0x49E */ char pad49E[0x42];
+ /* 0x49E */ char pad49E[0x3A];
+ /* 0x4D8 */ f32 unk_4D8;
+ /* 0x4DC */ s32 unk_4DC;
} UnkStruct_D_80178280; // size = 0x4E0 Might be Player
typedef struct {
@@ -246,6 +294,28 @@ typedef struct {
} ObjectStruct_1C; // size = 0x24
typedef struct {
+ /* 0x00 */ u8 unk_00;
+ /* 0x01 */ char pad01[0x1];
+ /* 0x02 */ u16 unk_02;
+ /* 0x04 */ Vec3f pos;
+ /* 0x10 */ f32 unk_10;
+ /* 0x14 */ char pad14[0x14];
+} UnkStruct_D_80175A10; // size = 0x28
+
+typedef struct {
+ char unk_00[0x1C];
+} UnkStruct_D_80176438;
+
+typedef struct {
+ /* 0x00 */ Object obj;
+ /* 0x1C */ char pad1C[0x1C];
+ /* 0x38 */ Vec3f unk_38;
+ /* 0x44 */ char pad44[0x1C];
+ /* 0x60 */ s32 unk_60;
+ /* 0x64 */ char pad64[0xC];
+} Object_70; // size = 0x70
+
+typedef struct {
/* 0x00 */ Object obj;
/* 0x1C */ ObjectStruct_1C unk_1C;
/* 0x40 */ char unk40[0x8];
@@ -359,17 +429,22 @@ typedef struct {
/* 0x074 */ f32 unk_074;
/* 0x078 */ char pad78[0xC];
/* 0x084 */ f32 unk_084;
- /* 0x088 */ char pad88[0x3E];
+ /* 0x088 */ char pad88[0x1E];
+ /* 0x0A6 */ s16 unk_0A6;
+ /* 0x0A8 */ char padA8[0x1E];
/* 0x0C6 */ u16 unk_0C6;
/* 0x0C8 */ char padC8[1];
/* 0x0C9 */ u8 unk_0C9;
- /* 0x0CA */ char padCA[0x12];
+ /* 0x0CA */ char padCA[6];
+ /* 0x0D0 */ s16 unk_0D0;
+ /* 0x0D2 */ char padD2[0xA];
/* 0x0DC */ f32 unk_0DC;
/* 0x0E0 */ f32 unk_0E0;
/* 0x0E4 */ f32 unk_0E4;
/* 0x0E8 */ char padE8[0x28];
/* 0x110 */ f32 unk_110;
- /* 0x114 */ char pad114[0x1F4];
+ /* 0x114 */ f32 unk_114;
+ /* 0x118 */ char pad118[0x1F0];
/* 0x308 */ Vec3f unk_308;
/* 0x314 */ char pad314[0xE4];
/* 0x3F8 */ f32 unk_3F8;
diff --git a/include/variables.h b/include/variables.h
index 28ae9d17..8eeee2af 100644
--- a/include/variables.h
+++ b/include/variables.h
@@ -151,8 +151,7 @@ extern OSMesg D_80156608[4];
extern OSMesg D_80156618[1];
extern OSMesg D_8015661C[1];
-extern Gfx D_8015DF0[];
-
+extern u16 D_800C9C3C[16];
extern f32 D_800CBF18[];
extern ObjectStruct_1C D_800CC124[];
extern f32 D_800CF9B0[];
@@ -211,10 +210,11 @@ extern s32 D_800D2884[];
extern s32 D_800D2894[];
extern s32 D_800D28A4[];
extern s32 D_800D28B4[];
-extern u8 D_800D3180[0x1E];
+extern u8 D_800D3180[0x1E]; // might be bigger? at least 0x21
extern s32 D_800D4A70;
extern Save gDefaultSave;
+extern s32 D_8015F90C;
extern s32 D_8015F924;
extern s32 D_8015F928;
extern s32 D_8015F930[3];
@@ -274,7 +274,13 @@ extern f32 D_80161A44;
extern u8 D_80161A50;
extern f32 D_80161A54;
extern s32 D_80161A5C;
+extern u16 D_80161A60;
extern u16 D_80161A62;
+extern s32 D_80161A64;
+extern UnkStruct_D_80161A68* D_80161A68;
+extern s32 D_80161A70;
+extern s32 D_80161A74;
+extern s32 D_80161A78;
extern s32 D_80161A88;
extern s32 D_80161A8C;
extern u8 D_80161A90[];
@@ -289,11 +295,10 @@ extern Object_2F4 D_80163FE0[60];
extern Object_408 D_8016F110[4];
extern Object_8C D_80170130[100];
extern Object_6C D_801737E0[20];
-// extern size_70 D_80174050[16]
+extern Object_70 D_80174050[16];
extern UnkStruct_D_80174750 D_80174750[100];
-extern UnkStruct_D_80175A10 D_80175A10[64];
-extern UnkStruct_D_80175A10 D_80176410;
-// extern size_1C D_80176438[10]
+extern UnkStruct_D_80175A10 D_80175A10[65];
+extern UnkStruct_D_80176438 D_80176438[10];
extern s32 D_80176550[2];
extern f32 D_80176558[2][100];
extern f32 D_80176878[2][100];
@@ -353,7 +358,10 @@ extern s32 D_801779F8;
extern s32 D_80177A80;
extern s8 D_80177A98;
extern u8 D_80177AB0;
+extern f32 D_80177AB8[];
+extern s32 D_80177AD0[];
extern s32 D_80177AE0;
+extern s32 D_80177AE8[];
extern s32 D_80177AF8;
extern s32 D_80177B40;
extern s32 D_80177B50[];
@@ -365,6 +373,7 @@ extern u16 D_80177C30[];
extern s32 D_80177C50;
extern u8 D_80177C74;
extern s32 D_80177C80[];
+extern u16 D_80177C90;
extern s32 D_80177C94;
extern u8 D_80177C98;
extern s32 D_80177C9C;
@@ -377,12 +386,15 @@ extern s32 D_80177CBC;
extern s32 D_80177CC4;
extern f32 D_80177D08;
extern s32 D_80177D10[];
+extern u16 D_8017D138;
extern f32 D_80177D20;
extern s32 D_80177D28[];
extern s32 D_80177D40[];
extern f32 D_80177D50;
extern s32 D_80177D58[];
extern f32 D_80177D68;
+extern s32 D_80177D70[];
+extern s32 D_80177D88[];
extern s32 D_80177DA0[];
extern s32 D_80177DB0;
extern s32 D_80177DC8;
@@ -390,21 +402,35 @@ extern s32 D_80177E70;
extern s32 D_80177E78;
extern s32 D_80177E80;
extern Vec3f D_80177E88;
-extern Vec3f D_80177E98[];
+extern Vec3f D_80177E98[10];
extern Vec3f D_80177F10;
extern s32 D_8017812C;
extern s32 D_80178234;
extern s32 D_8017827C;
extern UnkStruct_D_80178280* D_80178280;
extern s32 D_80178284;
+extern f32* D_80178288;
+extern s32 D_8017828C;
+extern f32* D_80178290;
+extern s32 D_80178294;
+extern u32* D_80178298;
extern s32 D_8017829C;
extern s32 D_801782A4;
extern Object_58 *D_801782A8;
extern s32 D_801782B8;
+extern s32 D_801782BC;
+extern s32 D_801782C0;
extern f32 *D_801782C4;
+extern f32 *D_801782CC;
+extern s32 D_801782D0;
+extern f32* D_801782D4;
extern s32 D_801782D8;
+extern f32 *D_801782DC;
+extern f32 *D_801782E4;
extern s32 D_801782E8;
+extern f32 *D_801782EC;
extern s32 D_801782F8;
+extern s32 D_801782FC;
extern s32 D_80178300;
extern u16* D_80178308;
extern ObjectInit* D_80178310;
@@ -416,6 +442,8 @@ extern s32 D_80178340;
extern s32 D_80178348;
extern s32 D_80178350;
extern s32 D_80178354;
+extern s32 D_80178358;
+extern s32 D_8017835C;
extern s32 D_80178360;
extern s32 D_80178364;
extern s32 D_80178368;
@@ -442,15 +470,39 @@ extern s32 D_80178480;
extern s32 D_80178488;
extern s32 D_801784A4;
extern s32 D_801784AC;
+extern f32 D_801784B8;
+extern f32 D_801784BC;
+extern f32 D_801784C0;
+extern f32 D_801784C4;
+extern f32 D_801784C8;
+extern f32 D_801784CC;
+extern f32 D_801784D0;
+extern f32 D_801784D4;
+extern f32 D_801784D8;
extern s32 D_801784DC;
extern s32 D_801784E0;
extern s32 D_801784E4;
+extern f32 D_801784F8;
+extern f32 D_801784FC;
+extern f32 D_80178500;
+extern f32 D_80178520;
+extern f32 D_80178524;
+extern f32 D_80178528;
+extern f32 D_8017853C;
+extern s32 D_80178540;
+extern s32 D_80178544;
extern s32 D_80178548;
extern s32 D_8017854C;
extern s32 D_80178550;
extern s32 D_80178554;
extern s32 D_80178558;
extern s32 D_8017855C;
+extern s32 D_80178564;
+extern s32 D_80178568;
+extern s32 D_8017856C;
+extern s32 D_80178570;
+extern s32 D_80178574;
+extern s32 D_80178578;
extern s32 D_80178580;
extern s32 *D_80178710;
extern u16** D_80178720;
@@ -473,26 +525,6 @@ extern Gfx D_Gfx_800DBAA0[];
extern Gfx D_Gfx_800DAC20[];
extern Gfx D_Gfx_800D9688[];
-extern u8 gTextCharTextures[24][16 * 13 / 2];
-extern u16 D_8017A0F4[];
-extern u16 D_80182544[];
-extern u16 D_80183CA8[];
-extern u16 D_80183CF0[];
-extern u16 D_80183D3C[];
-extern u16 D_80183630[];
-extern u16 D_8018366C[];
-extern u16 D_80183690[];
-extern u16 D_801836B0[];
-extern u16 D_801836F8[];
-extern u16 D_80183724[];
-extern u16 D_80183900[];
-extern u16 D_80183950[];
-extern u16 D_8018398C[];
-extern u16 D_801839B8[];
-extern u16 D_80183A08[];
-extern u16 D_80183A64[];
-extern MsgLookup gMsgLookup[];
-
extern Gfx* D_DF4260_8019A008[];
extern Matrix D_E51970_8019EE80;
extern Gfx* D_E6A810_801B769C[];
@@ -653,6 +685,13 @@ extern Gfx D_3015D80[];
extern Gfx D_3016660[];
extern Gfx D_3011720[];
extern Gfx D_3005980[];
+extern ObjectInit D_302DE3C[];
+extern ObjectInit D_302E0E4[];
+extern ObjectInit D_302E170[];
+extern ObjectInit D_302E378[];
+extern UnkStruct_D_80161A68 D_302DD70[];
+extern UnkStruct_D_80161A68 D_302DDB4[];
+extern UnkStruct_D_80161A68 D_302DDF8[];
extern Gfx D_40018A0[];
extern Gfx D_4003BD0[];
@@ -784,6 +823,18 @@ extern u16 D_6025500[];
extern u16 D_6026420[];
extern u16 D_6027340[];
extern Gfx D_605C230[];
+extern Vtx D_6001C50[];
+extern Vtx D_6004500[];
+extern Vtx D_6009ED0[];
+extern Vtx D_600C780[];
+extern u16 D_6022760[];
+extern u16 D_602AC50[];
+extern f32 D_6032328[];
+extern ObjectInit D_603B074[];
+extern ObjectInit D_6030B14[];
+extern Gfx D_6020760[];
+extern UnkStruct_D_80161A68 D_602E584[];
+
extern u8 D_7000F10[];
extern u8 D_7001030[];
@@ -817,6 +868,7 @@ extern u8 D_80076E0[];
extern u8 D_800CD90[];
extern u8 D_800D070[];
extern u8 D_800D170[];
+extern Gfx D_8015DF0[];
extern Gfx D_900D180[];
extern Gfx D_9010FD0[];