diff options
| author | theo3 <arisstephenson2@gmail.com> | 2020-08-04 17:10:55 -0700 |
|---|---|---|
| committer | theo3 <arisstephenson2@gmail.com> | 2020-08-04 17:10:55 -0700 |
| commit | 261ec334a0bedbeb3f4340d22173bcb4dec78e6f (patch) | |
| tree | 59fb19a86218d79012d96fdc1e7ef07bb3df0ac0 /include | |
| parent | 519c3b37d747026fc97ba8135b30b19b81819254 (diff) | |
def ScreenTransition
Diffstat (limited to 'include')
| -rw-r--r-- | include/functions.h | 1 | ||||
| -rw-r--r-- | include/global.h | 17 | ||||
| -rw-r--r-- | include/structures.h | 36 |
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 |
