mirror of https://github.com/zeldaret/oot.git
				
				
				
			
		
			
				
	
	
		
			123 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			123 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			C
		
	
	
	
#ifndef _Z64CUTSCENE_H_
 | 
						|
#define _Z64CUTSCENE_H_
 | 
						|
 | 
						|
typedef struct {
 | 
						|
    /* 0x00 */ u16 entrance;       // entrance index upon which the cutscene should trigger
 | 
						|
    /* 0x02 */ u8  ageRestriction; // 0 for adult only, 1 for child only, 2 for both ages
 | 
						|
    /* 0x03 */ u8  flag;           // event_chk_inf flag bound to the entrance cutscene
 | 
						|
    /* 0x04 */ u32 segAddr;        // segment offset location of the cutscene
 | 
						|
} EntranceCutscene; // size = 0x8
 | 
						|
 | 
						|
typedef struct {
 | 
						|
    /* 0x00 */ s8    continueFlag;
 | 
						|
    /* 0x01 */ s8    cameraRoll;
 | 
						|
    /* 0x02 */ s16   nextPointFrame;
 | 
						|
    /* 0x04 */ f32   viewAngle; // in degrees
 | 
						|
    /* 0x08 */ Vec3s pos;
 | 
						|
} CutsceneCameraPoint; // size = 0x10
 | 
						|
 | 
						|
typedef struct {
 | 
						|
    /* 0x00 */ u16 base;
 | 
						|
    /* 0x02 */ u16 startFrame;
 | 
						|
    /* 0x04 */ u16 endFrame;
 | 
						|
} CsCmdBase;
 | 
						|
 | 
						|
typedef struct {
 | 
						|
    /* 0x00 */ u8  unk_00;
 | 
						|
    /* 0x01 */ u8  setting;
 | 
						|
    /* 0x02 */ u16 startFrame;
 | 
						|
    /* 0x04 */ u16 endFrame;
 | 
						|
} CsCmdEnvLighting;
 | 
						|
 | 
						|
typedef struct {
 | 
						|
    /* 0x00 */ u8  unk_00;
 | 
						|
    /* 0x01 */ u8  sequence;
 | 
						|
    /* 0x02 */ u16 startFrame;
 | 
						|
    /* 0x04 */ u16 endFrame;
 | 
						|
} CsCmdMusicChange;
 | 
						|
 | 
						|
typedef struct {
 | 
						|
    /* 0x00 */ u16 type;
 | 
						|
    /* 0x02 */ u16 startFrame;
 | 
						|
    /* 0x04 */ u16 endFrame;
 | 
						|
} CsCmdMusicFade;
 | 
						|
 | 
						|
typedef struct {
 | 
						|
    /* 0x00 */ u16 unk_00;
 | 
						|
    /* 0x02 */ u16 startFrame;
 | 
						|
    /* 0x04 */ u16 endFrame;
 | 
						|
    /* 0x06 */ u8  unk_06;
 | 
						|
    /* 0x07 */ u8  unk_07;
 | 
						|
    /* 0x08 */ u8  unk_08;
 | 
						|
} CsCmdUnknown9;
 | 
						|
 | 
						|
typedef struct {
 | 
						|
    /* 0x00 */ u16 unk_00;
 | 
						|
    /* 0x02 */ u16 startFrame;
 | 
						|
    /* 0x04 */ u16 endFrame;
 | 
						|
    /* 0x06 */ u8  hour;
 | 
						|
    /* 0x07 */ u8  minute;
 | 
						|
} CsCmdDayTime;
 | 
						|
 | 
						|
typedef struct {
 | 
						|
    /* 0x00 */ u16 base;
 | 
						|
    /* 0x02 */ u16 startFrame;
 | 
						|
    /* 0x04 */ u16 endFrame;
 | 
						|
    /* 0x06 */ u16 type;
 | 
						|
    /* 0x08 */ u16 textId1;
 | 
						|
    /* 0x0A */ u16 textId2;
 | 
						|
} CsCmdTextbox; // size = 0xC
 | 
						|
 | 
						|
typedef struct {
 | 
						|
    /* 0x00 */ u16 action;
 | 
						|
    /* 0x02 */ u16 startFrame;
 | 
						|
    /* 0x04 */ u16 endFrame;
 | 
						|
    /* 0x06 */ Vec3s rot;
 | 
						|
    /* 0x0C */ Vec3i startPos;
 | 
						|
    /* 0x18 */ Vec3i endPos;
 | 
						|
    /* 0x24 */ Vec3i normal;
 | 
						|
} CsCmdActorAction; // size = 0x30
 | 
						|
 | 
						|
typedef enum {
 | 
						|
    CS_STATE_IDLE,
 | 
						|
    CS_STATE_SKIPPABLE_INIT,
 | 
						|
    CS_STATE_SKIPPABLE_EXEC,
 | 
						|
    CS_STATE_UNSKIPPABLE_INIT,
 | 
						|
    CS_STATE_UNSKIPPABLE_EXEC
 | 
						|
} CutsceneState;
 | 
						|
 | 
						|
typedef enum {
 | 
						|
    CS_CMD_00 = 0x0000,
 | 
						|
    CS_CMD_CAMERA_POS = 0x0001,
 | 
						|
    CS_CMD_CAMERA_FOCUS = 0x0002,
 | 
						|
    CS_CMD_MISC = 0x0003,
 | 
						|
    CS_CMD_SET_LIGHTING = 0x0004,
 | 
						|
    CS_CMD_CAMERA_POS_LINK = 0x0005,
 | 
						|
    CS_CMD_CAMERA_FOCUS_LINK = 0x0006,
 | 
						|
    CS_CMD_07 = 0x0007,
 | 
						|
    CS_CMD_08 = 0x0008,
 | 
						|
    CS_CMD_09 = 0x0009,
 | 
						|
    CS_CMD_TEXTBOX = 0x0013,
 | 
						|
    CS_CMD_SET_ACTOR_ACTION_0 = 0x000A,
 | 
						|
    CS_CMD_SET_ACTOR_ACTION_1 = 0x000F,
 | 
						|
    CS_CMD_SET_ACTOR_ACTION_2 = 0x000E,
 | 
						|
    CS_CMD_SET_ACTOR_ACTION_3 = 0x0019,
 | 
						|
    CS_CMD_SET_ACTOR_ACTION_4 = 0x001D,
 | 
						|
    CS_CMD_SET_ACTOR_ACTION_5 = 0x001E,
 | 
						|
    CS_CMD_SET_ACTOR_ACTION_6 = 0x002C,
 | 
						|
    CS_CMD_SET_ACTOR_ACTION_7 = 0x001F,
 | 
						|
    CS_CMD_SET_ACTOR_ACTION_8 = 0x0031,
 | 
						|
    CS_CMD_SET_ACTOR_ACTION_9 = 0x003E,
 | 
						|
    CS_CMD_SET_ACTOR_ACTION_10 = 0x008F,
 | 
						|
    CS_CMD_SCENE_TRANS_FX = 0x002D,
 | 
						|
    CS_CMD_NOP = 0x000B,
 | 
						|
    CS_CMD_PLAYBGM = 0x0056,
 | 
						|
    CS_CMD_STOPBGM = 0x0057,
 | 
						|
    CS_CMD_FADEBGM = 0x007C,
 | 
						|
    CS_CMD_SETTIME = 0x008C,
 | 
						|
    CS_CMD_TERMINATOR = 0x03E8,
 | 
						|
    CS_CMD_END = 0xFFFF
 | 
						|
} CutsceneCmd;
 | 
						|
 | 
						|
#endif
 |