mirror of
https://github.com/zeldaret/mm.git
synced 2026-06-03 10:31:10 -04:00
bfd1ab28a6
* 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
113 lines
2.5 KiB
C
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
|