Files
mm/include/z64cutscene.h
T
Tom Overton bfd1ab28a6 En_Giant OK and mostly documented (#346)
* Migrate data to C

* EnGiant_Destroy OK

* EnGiant_Init OK

* func_80B01A74 OK

* Comment what each of the quest items are

* Put a little comment for myself on func_80B01A74 because it was confusing me lol

* Very early names (they're all bad)

* func_80B01990 OK

* EnGiant_Update OK

* func_80B024AC OK

* func_80B023D0 OK

* func_80B024D8 OK

* func_80B02354 OK (this function is bad!)

* func_80B020A0 OK

* func_80B01EE8 OK

* func_80B01E84 OK

* func_80B0211C OK

* func_80B02234 OK

* unk_250 -> sfxId and label SFX

* func_80B02688 OK

* func_80B026C4 OK

* EnGiant_Draw OK

* Update spec

* Fix up the static data

* unk_24E -> alpha

* Document some of the animation stuff

* Name EnGiant_IsNotFreed

* Document the giant types better

* Minor cleanup

* Add explanatory comment

* Rename the functions in functions.txt too, whoops

* Document sFaceTextures and blink routine

* Document all the various animations

* Name EnGiant_PlaySound

* Document some functions and change an unknown to action

* Add an SFX id I missed

* Name all the action funcs

* Name last two functions

* Mark one case as unused

* Change func_800F5A8C to use arg0, arg1, arg2, etc.

* Move sFaceTextures to EnGiant_Draw and comment what they are

* EnGiant_IsNotFreed -> EnGiant_IsImprisoned

* Use booleans in EnGiant_IsImprisoned

* **/ -> */

* action -> csAction

* Make macros for all type conditional checks

* Add warning about inconsistency

* Document the cs actions

* Add some documentation to animation-changing functions

* Update the function name in functions.txt too

* Improve GIANT_TYPE macros

* Remove an unncessary early return

* Incorporate animation changes
2021-10-25 09:22:17 -03:00

113 lines
2.5 KiB
C

#ifndef _Z64CUTSCENE_H_
#define _Z64CUTSCENE_H_
#include "ultra64.h"
#include "unk.h"
typedef struct {
/* 0x00 */ s8 continueFlag;
/* 0x01 */ s8 cameraRoll;
/* 0x02 */ u16 nextPointFrame;
/* 0x04 */ f32 viewAngle; // in degrees
/* 0x08 */ Vec3s pos;
} CutsceneCameraPoint; // size = 0x10
typedef struct {
/* 0x00 */ Vec3f at;
/* 0x0C */ Vec3f eye;
/* 0x18 */ s16 roll;
/* 0x1A */ s16 fov;
} CutsceneCameraAngle; // size = 0x1C
typedef struct {
/* 0x0 */ CutsceneCameraPoint* atPoints;
/* 0x4 */ CutsceneCameraPoint* eyePoints;
/* 0x8 */ s16 relativeToPlayer;
} CutsceneCameraMove; // size = 0xC
typedef struct {
/* 0x00 */ u16 unk0; // action; // "dousa"
/* 0x02 */ u16 startFrame;
/* 0x04 */ u16 endFrame;
/* 0x06 */ UNK_TYPE1 pad6[0xA];
/* 0x10 */ s32 unk10;
/* 0x14 */ UNK_TYPE1 pad14[0x8];
/* 0x1C */ s32 unk1C;
/* 0x20 */ UNK_TYPE1 pad20[0x10];
} CsCmdActorAction; // size = 0x30
typedef struct {
/* 0x0 */ u16 base;
/* 0x2 */ u16 startFrame;
/* 0x4 */ u16 endFrame;
} CsCmdBase; // size = 0x6
typedef struct {
/* 0x0 */ u16 unk0;
/* 0x2 */ u16 startFrame;
/* 0x4 */ u16 endFrame;
/* 0x6 */ u8 hour;
/* 0x7 */ u8 minute;
} CsCmdDayTime; // size = 0x8
typedef struct {
/* 0x0 */ u16 setting;
/* 0x2 */ u16 startFrame;
/* 0x4 */ u16 endFrame;
} CsCmdEnvLighting; // size = 0x6
typedef struct {
/* 0x0 */ u16 sequence;
/* 0x2 */ u16 startFrame;
/* 0x4 */ u16 endFrame;
} CsCmdMusicChange; // size = 0x6
typedef struct {
/* 0x0 */ u16 type;
/* 0x2 */ u16 startFrame;
/* 0x4 */ u16 endFrame;
} CsCmdMusicFade; // size = 0x6
typedef struct {
/* 0x0 */ u16 base;
/* 0x2 */ u16 startFrame;
/* 0x4 */ u16 endFrame;
/* 0x6 */ u16 type;
/* 0x8 */ u16 textId1;
/* 0xA */ u16 textId2;
} CsCmdTextbox; // size = 0xC
typedef struct {
/* 0x0 */ u16 unk0;
/* 0x2 */ u16 startFrame;
/* 0x4 */ u16 endFrame;
/* 0x6 */ u8 unk6;
/* 0x7 */ u8 unk7;
/* 0x8 */ u8 unk8;
/* 0x9 */ UNK_TYPE1 pad9[0x3];
} CsCmdUnk190; // size = 0xC
typedef struct {
/* 0x0 */ UNK_TYPE4 unk0;
/* 0x4 */ UNK_TYPE4 unk4;
} CsCmdUnk5A; // size = 0x8
typedef struct {
/* 0x0 */ u16 unk0;
/* 0x2 */ u16 startFrame;
/* 0x4 */ u16 endFrame;
/* 0x6 */ u8 unk6;
/* 0x7 */ u8 unk7;
/* 0x8 */ u8 unk8;
/* 0x9 */ UNK_TYPE1 pad9[0x3];
} CsCmdUnk9B; // size = 0xC
typedef union CutsceneData {
s32 i;
f32 f;
s16 s[2];
s8 b[4];
} CutsceneData;
#endif