summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authortheo3 <arisstephenson2@gmail.com>2020-08-04 17:10:55 -0700
committertheo3 <arisstephenson2@gmail.com>2020-08-04 17:10:55 -0700
commit261ec334a0bedbeb3f4340d22173bcb4dec78e6f (patch)
tree59fb19a86218d79012d96fdc1e7ef07bb3df0ac0 /include
parent519c3b37d747026fc97ba8135b30b19b81819254 (diff)
def ScreenTransition
Diffstat (limited to 'include')
-rw-r--r--include/functions.h1
-rw-r--r--include/global.h17
-rw-r--r--include/structures.h36
3 files changed, 35 insertions, 19 deletions
diff --git a/include/functions.h b/include/functions.h
index 40ebac66..56b28ea6 100644
--- a/include/functions.h
+++ b/include/functions.h
@@ -204,4 +204,5 @@ extern u32 sub_0800445C(Entity*);
extern void sub_0807A108(void);
extern void sub_0801766C(Entity*);
extern void sub_08004168(Entity*);
+extern u32 sub_08052638(u32);
#endif \ No newline at end of file
diff --git a/include/global.h b/include/global.h
index 6738b6b8..28a0769c 100644
--- a/include/global.h
+++ b/include/global.h
@@ -47,17 +47,12 @@
#define min(a, b) ((a) < (b) ? (a) : (b))
#define max(a, b) ((a) >= (b) ? (a) : (b))
-struct Coords16
-{
- s16 x;
- s16 y;
-} PACKED;
-
-struct UCoords16
-{
- u16 x;
- u16 y;
-};
+typedef union {
+ s32 WORD;
+ struct {
+ s16 x, y;
+ } HALF;
+} Coords;
union SplitWord {
s32 WORD;
diff --git a/include/structures.h b/include/structures.h
index fb96345d..2ca783bf 100644
--- a/include/structures.h
+++ b/include/structures.h
@@ -17,12 +17,19 @@ typedef struct {
extern struct_02002A40 gUnk_02002A40;
typedef struct {
- u8 field_0x0[8];
- u8 field_0x8;
- u8 field_0x9;
- u8 field_0xa[6];
- union SplitWord field_0x10;
- u8 field_0x14[0xc];
+ u16 frameCount; // regular frame count? does anything reset it?
+ u8 field_0x2[6];
+ bool8 transitioningOut;
+ u8 transitionType; // transition when changing areas
+ u8 field_0xa;
+ u8 field_0xb;
+ u8 areaID;
+ u8 roomID;
+ u8 animState;
+ u8 field_0xf;
+ Coords startPos;
+ u16 collisionLayer;
+ u8 field_0x14[0xa];
u16 field_0x20;
u16 field_0x22;
u8 field_0x24[0x14];
@@ -35,9 +42,22 @@ typedef struct {
u16 field_0x46;
u16 field_0x48;
u16 field_0x4a;
-} struct_030010A0;
+} ScreenTransition;
-extern struct_030010A0 gUnk_030010A0;
+extern ScreenTransition gScreenTransition;
+typedef struct {
+ u16 transitionType;
+ u8 field_0x2[4];
+ s16 playerXPos;
+ s16 playerYPos;
+ u8 field_0xa;
+ u8 areaID;
+ u8 roomID;
+ u8 collisionLayer;
+ u8 field_0xe;
+ u8 playerAnimState;
+ u16 transitionSFX;
+} ScreenTransitionData;
#endif \ No newline at end of file