mirror of
https://github.com/zeldaret/oot.git
synced 2024-12-28 15:56:51 +00:00
321388673b
* cleanup * name camera action functions * decompile a few small functions, name a few Camera struct members * decompile camera data, decompile a few camera functions * Split ASM for code_800BB0A0 * removing code_800BB0A0.s * PR Requests, Camera WIP * remove #define NON_MATCHING from db_camera * rename code_8007BF90.c to z_olib.c, rename functions in z_olib.c * camera wip * rename some struct memebers, some decomp wip * pr updates * camera wip * name some fields in Camera Struct, being making sense of Camera_Update * Camera WIP * wip * wip * add z64camera.h header, begin creating CameraSetting macros * wip * wip * wip * wip * migrate camera bss to c * match a couple functions in db_camera * match some small db_camera functions * wip * migrate db_camera rodata, match a few functions * remote db_camera.rodata.s * match some of db_camera * identify types of some unknown data pieces * some small wip * Match Camera_Init, some function changes, some struct name changes. Change unk_C0 and unk_CC to floats from Vec3fs * add naming for a few more Camera struct members * wip * match func_80043F94 * Match Camera_Jump1 * document some of Camera_Jump1 * wip * match Camera_Jump3 * Match Camera_Update, FeelsAmazing * wip * wip * match Camera_SetParam * minor cleanup * wip * wip * match Camera_KeepOn0 * some documentation, modify some matching functions to match style of others. * match Camera_Demo1 * match camera_demo9 * document Camera_Demo1 and Camera_Demo9 * wip * Match camera_battle4 * match camera_unique2 * Match Camera_Unique3 * match camera_special6 * match Camera_Special5 * wip * document camera_special6 * naming updates * match camera_Unique1 * match Camera_Unique0 * wip * Match Camera_CalcUpFromPitchYawRoll * match func_80045508 * document Camera_Battle4 * document several camera functions, move camera data to separate file * rename phi/theta to pitch/yaw * wip * uniq9 wip * Camera_Unqiue9 OK * document Camera_Unique9 * name unk_160 in camera struct * wip * wip * minor updates * fix conflicts * wip * wip * Olib updates * wip * wip * rename most Math3D functions, few matches, documentation * wip * document most of math3d * wip * wip * wip * pr updates * Match Camera_Fixed4 * match func_80058E8C * pr updates * add missing comment block finalizer * Merge math3dupdates * match Camera_ChangeSetting * Match Camera_ChangeMode * match func_80058148 * Match Camera_Special9 * decompile the rest of camera data * match Camera_Demo5 * name a few camera functions in z_play * match func_80046CB4, some work on other fucntions * wip * impove some non matchings * fix function rename * match func_800588B4 * match Camera_Subj4 * wip * Camera_Demo3 matching, Camera_Battle1 big progress * Camera_Normal2 OK * wip * match Camera_Parallel1 * normalize some things across functions * match Camera_Normal1 * Match Camera_Normal3 * some cleanup * more cleanup * more cleanup , match Camera_CalcDefaultPitch * data formatting * Match Camera_Jump2 * document Camera_Jump2 * Match Camera_KeepOn3 * document some of Camera_KeepOn3 * improve some non_matchings * match func_80045C74 and func_800460A8 * code cleanup, documentation * match Camera_KeepOn1 * Match Camera_Subj3 * Match Camera_Battle1 * remove non_matching from func_80044adc and func_80046e20 * name several members of Battle1 * more documentation on Battle1 * cleanup * renaming Camera_Vec3fScaleXYZFactor to Camera_Vec3fTranslateByUnitVector * reorganize update structs, remove final references to params, remove CameraParams union * implement camera enums into player * Renaming Camera_GetDir to Camera_GetInputDir, Camera_GetRealDir to Camera_GetCamDir, etc, implement camera enum's into player * remove non-global camera variables from variables.h * clean up some variable declarations * finish pr comment updates * fix some warnings * data formatting * finish commenting on data * delete unused asm * remove asm Co-authored-by: fig <fig02srl@gmail.com>
481 lines
11 KiB
C
481 lines
11 KiB
C
#ifndef _Z64SCENE_H_
|
|
#define _Z64SCENE_H_
|
|
|
|
typedef struct {
|
|
/* 0x00 */ u32 vromStart;
|
|
/* 0x04 */ u32 vromEnd;
|
|
} RomFile; // size = 0x8
|
|
|
|
typedef struct {
|
|
/* 0x00 */ RomFile sceneFile;
|
|
/* 0x08 */ RomFile titleFile;
|
|
/* 0x10 */ u8 unk_10;
|
|
/* 0x11 */ u8 config;
|
|
/* 0x12 */ u8 unk_12;
|
|
/* 0x13 */ u8 unk_13;
|
|
} Scene; // size = 0x14
|
|
|
|
typedef struct {
|
|
/* 0x00 */ u8 code;
|
|
/* 0x01 */ u8 data1;
|
|
/* 0x04 */ u32 data2;
|
|
} SCmdBase;
|
|
|
|
typedef struct {
|
|
/* 0x00 */ u8 code;
|
|
/* 0x01 */ u8 data1;
|
|
/* 0x04 */ u32 segment;
|
|
} SCmdSpawnList;
|
|
|
|
typedef struct {
|
|
/* 0x00 */ u8 code;
|
|
/* 0x01 */ u8 num;
|
|
/* 0x04 */ u32 segment;
|
|
} SCmdActorList;
|
|
|
|
typedef struct {
|
|
/* 0x00 */ u8 code;
|
|
/* 0x01 */ u8 data1;
|
|
/* 0x04 */ u32 segment;
|
|
} SCmdCsCameraList;
|
|
|
|
typedef struct {
|
|
/* 0x00 */ u8 code;
|
|
/* 0x01 */ u8 data1;
|
|
/* 0x04 */ u32 segment;
|
|
} SCmdColHeader;
|
|
|
|
typedef struct {
|
|
/* 0x00 */ u8 code;
|
|
/* 0x01 */ u8 num;
|
|
/* 0x04 */ u32 segment;
|
|
} SCmdRoomList;
|
|
|
|
typedef struct {
|
|
/* 0x00 */ u8 code;
|
|
/* 0x01 */ u8 data1;
|
|
/* 0x02 */ char pad[2];
|
|
/* 0x04 */ s8 unk_04;
|
|
/* 0x05 */ s8 unk_05;
|
|
/* 0x06 */ s8 unk_06;
|
|
/* 0x07 */ u8 unk_07;
|
|
} SCmdWindSettings;
|
|
|
|
typedef struct {
|
|
/* 0x00 */ u8 code;
|
|
/* 0x01 */ u8 data1;
|
|
/* 0x04 */ u32 segment;
|
|
} SCmdEntranceList;
|
|
|
|
typedef struct {
|
|
/* 0x00 */ u8 code;
|
|
/* 0x01 */ u8 cUpElfMsgNum;
|
|
/* 0x04 */ u32 keepObjectId;
|
|
} SCmdSpecialFiles;
|
|
|
|
typedef struct {
|
|
/* 0x00 */ u8 code;
|
|
/* 0x01 */ u8 gpFlag1;
|
|
/* 0x04 */ u32 gpFlag2;
|
|
} SCmdRoomBehavior;
|
|
|
|
typedef struct {
|
|
/* 0x00 */ u8 code;
|
|
/* 0x01 */ u8 data1;
|
|
/* 0x04 */ u32 segment;
|
|
} SCmdMesh;
|
|
|
|
typedef struct {
|
|
/* 0x00 */ u8 code;
|
|
/* 0x01 */ u8 num;
|
|
/* 0x04 */ u32 segment;
|
|
} SCmdObjectList;
|
|
|
|
typedef struct {
|
|
/* 0x00 */ u8 code;
|
|
/* 0x01 */ u8 num;
|
|
/* 0x04 */ u32 segment;
|
|
} SCmdLightList;
|
|
|
|
typedef struct {
|
|
/* 0x00 */ u8 code;
|
|
/* 0x01 */ u8 data1;
|
|
/* 0x04 */ u32 segment;
|
|
} SCmdPathList;
|
|
|
|
typedef struct {
|
|
/* 0x00 */ u8 code;
|
|
/* 0x01 */ u8 num;
|
|
/* 0x04 */ u32 segment;
|
|
} SCmdTransiActorList;
|
|
|
|
typedef struct {
|
|
/* 0x00 */ u8 code;
|
|
/* 0x01 */ u8 num;
|
|
/* 0x04 */ u32 segment;
|
|
} SCmdLightSettingList;
|
|
|
|
typedef struct {
|
|
/* 0x00 */ u8 code;
|
|
/* 0x01 */ u8 data1;
|
|
/* 0x02 */ char pad[2];
|
|
/* 0x04 */ u8 hour;
|
|
/* 0x05 */ u8 min;
|
|
/* 0x06 */ u8 unk_06;
|
|
} SCmdTimeSettings;
|
|
|
|
typedef struct {
|
|
/* 0x00 */ u8 code;
|
|
/* 0x01 */ u8 data1;
|
|
/* 0x02 */ char pad[2];
|
|
/* 0x04 */ u8 skyboxId;
|
|
/* 0x05 */ u8 unk_05;
|
|
/* 0x06 */ u8 unk_06;
|
|
} SCmdSkyboxSettings;
|
|
|
|
typedef struct {
|
|
/* 0x00 */ u8 code;
|
|
/* 0x01 */ u8 data1;
|
|
/* 0x02 */ char pad[2];
|
|
/* 0x04 */ u8 unk_04;
|
|
/* 0x05 */ u8 unk_05;
|
|
} SCmdSkyboxDisables;
|
|
|
|
typedef struct {
|
|
/* 0x00 */ u8 code;
|
|
/* 0x01 */ u8 data1;
|
|
/* 0x04 */ u32 data2;
|
|
} SCmdEndMarker;
|
|
|
|
typedef struct {
|
|
/* 0x00 */ u8 code;
|
|
/* 0x01 */ u8 data1;
|
|
/* 0x04 */ u32 segment;
|
|
} SCmdExitList;
|
|
|
|
typedef struct {
|
|
/* 0x00 */ u8 code;
|
|
/* 0x01 */ u8 bgmId;
|
|
/* 0x02 */ char pad[4];
|
|
/* 0x06 */ u8 nightSeqIndex;
|
|
/* 0x07 */ u8 seqIndex;
|
|
} SCmdSoundSettings;
|
|
|
|
typedef struct {
|
|
/* 0x00 */ u8 code;
|
|
/* 0x01 */ u8 data1;
|
|
/* 0x02 */ char pad[5];
|
|
/* 0x07 */ u8 echo;
|
|
} SCmdEchoSettings;
|
|
|
|
typedef struct {
|
|
/* 0x00 */ u8 code;
|
|
/* 0x01 */ u8 data1;
|
|
/* 0x04 */ u32 segment;
|
|
} SCmdCutsceneData;
|
|
|
|
typedef struct {
|
|
/* 0x00 */ u8 code;
|
|
/* 0x01 */ u8 data1;
|
|
/* 0x04 */ u32 segment;
|
|
} SCmdAltHeaders;
|
|
|
|
typedef struct {
|
|
/* 0x00 */ u8 code;
|
|
/* 0x01 */ u8 cameraMovement;
|
|
/* 0x04 */ u32 area;
|
|
} SCmdMiscSettings;
|
|
|
|
typedef struct {
|
|
u8 headerType;
|
|
} MeshHeaderBase;
|
|
|
|
typedef struct {
|
|
MeshHeaderBase base;
|
|
|
|
u8 numEntries;
|
|
u32 dListStart;
|
|
u32 dListEnd;
|
|
} MeshHeader0;
|
|
|
|
typedef struct {
|
|
u32 opaqueDList;
|
|
u32 translucentDList;
|
|
} MeshEntry0;
|
|
|
|
typedef struct {
|
|
MeshHeaderBase base;
|
|
u8 format;
|
|
u32 entryRecord;
|
|
} MeshHeader1Base;
|
|
|
|
typedef struct {
|
|
MeshHeader1Base base;
|
|
u32 imagePtr; // 0x08
|
|
u32 unknown; // 0x0C
|
|
u32 unknown2; // 0x10
|
|
u16 bgWidth; // 0x14
|
|
u16 bgHeight; // 0x16
|
|
u8 imageFormat; // 0x18
|
|
u8 imageSize; // 0x19
|
|
u16 imagePal; // 0x1A
|
|
u16 imageFlip; // 0x1C
|
|
} MeshHeader1Single;
|
|
|
|
typedef struct {
|
|
MeshHeader1Base base;
|
|
u8 bgCnt;
|
|
u32 bgRecordPtr;
|
|
} MeshHeader1Multi;
|
|
|
|
typedef struct {
|
|
u16 unknown; // 0x00
|
|
s8 bgID; // 0x02
|
|
u32 imagePtr; // 0x04
|
|
u32 unknown2; // 0x08
|
|
u32 unknown3; // 0x0C
|
|
u16 bgWidth; // 0x10
|
|
u16 bgHeight; // 0x12
|
|
u8 imageFmt; // 0x14
|
|
u8 imageSize; // 0x15
|
|
u16 imagePal; // 0x16
|
|
u16 imageFlip; // 0x18
|
|
} BackgroundRecord;
|
|
|
|
typedef struct {
|
|
s16 playerXMax, playerZMax;
|
|
s16 playerXMin, playerZMin;
|
|
u32 opaqueDList;
|
|
u32 translucentDList;
|
|
} MeshEntry2;
|
|
|
|
typedef struct {
|
|
MeshHeaderBase base;
|
|
u8 numEntries;
|
|
u32 dListStart;
|
|
u32 dListEnd;
|
|
} MeshHeader2;
|
|
|
|
|
|
typedef struct {
|
|
u8 ambientClrR, ambientClrG, ambientClrB;
|
|
u8 diffuseClrA_R, diffuseClrA_G, diffuseClrA_B;
|
|
u8 diffuseDirA_X, diffuseDirA_Y, diffuseDirA_Z;
|
|
u8 diffuseClrB_R, diffuseClrB_G, diffuseClrB_B;
|
|
u8 diffuseDirB_X, diffuseDirB_Y, diffuseDirB_Z;
|
|
u8 fogClrR, fogClrG, fogClrB;
|
|
u16 unk;
|
|
u16 drawDistance;
|
|
} LightSettings;
|
|
|
|
typedef struct {
|
|
s16 absMinX, absMinY, absMinZ;
|
|
s16 absMaxX, absMaxY, absMaxZ;
|
|
s16 numVerts;
|
|
s32 vtxSegmentOffset;
|
|
s16 numPolygons;
|
|
s32 polySegmentOffset;
|
|
s32 polyTypeDefSegmentOffset;
|
|
s32 camDataSegmentOffset;
|
|
s16 numWaterBoxes;
|
|
s32 waterBoxSegmentOffset;
|
|
} ColHeader;
|
|
|
|
typedef struct {
|
|
/* 0x0000 */ Vec3s pos;
|
|
/* 0x0006 */ Vec3s rot;
|
|
/* 0x000C */ s16 fov;
|
|
/* 0x000E */ s16 jfifId;
|
|
/* 0x0010 */ s16 unk_10;
|
|
} CamPosData; // size = 0x12
|
|
|
|
typedef struct {
|
|
/* 0x0000 */ s16 cameraSType;
|
|
/* 0x0002 */ s16 numCameras;
|
|
/* 0x0004 */ CamPosData* camPosDataSeg;
|
|
} CamData; // size = 0x08
|
|
|
|
typedef struct {
|
|
u32 unknown;
|
|
u32 camPosDataSeg;
|
|
} CamPosDataEntry;
|
|
|
|
|
|
/*
|
|
typedef union {
|
|
_CamData data;
|
|
long long int forceStructAlignment;
|
|
} CamData;
|
|
*/
|
|
|
|
/*
|
|
typedef union {
|
|
_CamPosData data;
|
|
long long int forceStructAlignment;
|
|
} CamPosData;
|
|
*/
|
|
|
|
typedef struct {
|
|
s16 type;
|
|
s16 vtxA, vtxB, vtxC;
|
|
s16 a, b, c, d;
|
|
} RoomPoly;
|
|
|
|
typedef struct {
|
|
s16 xMin;
|
|
s16 ySurface;
|
|
s16 zMin;
|
|
s16 xLength;
|
|
s16 zLength;
|
|
s32 properties;
|
|
} WaterBoxHeader;
|
|
|
|
typedef struct {
|
|
/* 0x00 */ u8 count; // number of points in the path
|
|
/* 0x04 */ Vec3s* points; // Segment Address to the array of points
|
|
} Path; // size = 0x8
|
|
|
|
typedef union {
|
|
SCmdBase base;
|
|
SCmdSpawnList spawnList;
|
|
SCmdActorList actorList;
|
|
SCmdCsCameraList csCameraList;
|
|
SCmdRoomList roomList;
|
|
SCmdEntranceList entranceList;
|
|
SCmdObjectList objectList;
|
|
SCmdLightList lightList;
|
|
SCmdPathList pathList;
|
|
SCmdTransiActorList transiActorList;
|
|
SCmdLightSettingList lightSettingList;
|
|
SCmdExitList exitList;
|
|
SCmdColHeader colHeader;
|
|
SCmdMesh mesh;
|
|
SCmdSpecialFiles specialFiles;
|
|
SCmdCutsceneData cutsceneData;
|
|
SCmdRoomBehavior roomBehavior;
|
|
SCmdWindSettings windSettings;
|
|
SCmdTimeSettings timeSettings;
|
|
SCmdSkyboxSettings skyboxSettings;
|
|
SCmdSkyboxDisables skyboxDisables;
|
|
SCmdEndMarker endMarker;
|
|
SCmdSoundSettings soundSettings;
|
|
SCmdEchoSettings echoSettings;
|
|
SCmdMiscSettings miscSettings;
|
|
SCmdAltHeaders altHeaders;
|
|
} SceneCmd; // size = 0x8
|
|
|
|
typedef enum {
|
|
/* 0x00 */ SCENE_YDAN,
|
|
/* 0x01 */ SCENE_DDAN,
|
|
/* 0x02 */ SCENE_BDAN,
|
|
/* 0x03 */ SCENE_BMORI1,
|
|
/* 0x04 */ SCENE_HIDAN,
|
|
/* 0x05 */ SCENE_MIZUSIN,
|
|
/* 0x06 */ SCENE_JYASINZOU,
|
|
/* 0x07 */ SCENE_HAKADAN,
|
|
/* 0x08 */ SCENE_HAKADANCH,
|
|
/* 0x09 */ SCENE_ICE_DOUKUTO,
|
|
/* 0x0A */ SCENE_GANON,
|
|
/* 0x0B */ SCENE_MEN,
|
|
/* 0x0C */ SCENE_GERUDOWAY,
|
|
/* 0x0D */ SCENE_GANONTIKA,
|
|
/* 0x0E */ SCENE_GANON_SONOGO,
|
|
/* 0x0F */ SCENE_GANONTIKA_SONOGO,
|
|
/* 0x10 */ SCENE_TAKARAYA,
|
|
/* 0x11 */ SCENE_YDAN_BOSS,
|
|
/* 0x12 */ SCENE_DDAN_BOSS,
|
|
/* 0x13 */ SCENE_BDAN_BOSS,
|
|
/* 0x14 */ SCENE_MORIBOSSROOM,
|
|
/* 0x15 */ SCENE_FIRE_BS,
|
|
/* 0x16 */ SCENE_MIZUSIN_BS,
|
|
/* 0x17 */ SCENE_JYASINBOSS,
|
|
/* 0x18 */ SCENE_HAKADAN_BS,
|
|
/* 0x19 */ SCENE_GANON_BOSS,
|
|
/* 0x1A */ SCENE_GANON_FINAL,
|
|
/* 0x1B */ SCENE_ENTRA,
|
|
/* 0x1C */ SCENE_ENTRA_N,
|
|
/* 0x1D */ SCENE_ENRUI,
|
|
/* 0x1E */ SCENE_MARKET_ALLEY,
|
|
/* 0x1F */ SCENE_MARKET_ALLEY_N,
|
|
/* 0x20 */ SCENE_MARKET_DAY,
|
|
/* 0x21 */ SCENE_MARKET_NIGHT,
|
|
/* 0x22 */ SCENE_MARKET_RUINS,
|
|
/* 0x23 */ SCENE_SHRINE,
|
|
/* 0x24 */ SCENE_SHRINE_N,
|
|
/* 0x25 */ SCENE_SHRINE_R,
|
|
/* 0x26 */ SCENE_KOKIRI_HOME,
|
|
/* 0x27 */ SCENE_KOKIRI_HOME3,
|
|
/* 0x28 */ SCENE_KOKIRI_HOME4,
|
|
/* 0x29 */ SCENE_KOKIRI_HOME5,
|
|
/* 0x2A */ SCENE_KAKARIKO,
|
|
/* 0x2B */ SCENE_KAKARIKO3,
|
|
/* 0x2C */ SCENE_SHOP1,
|
|
/* 0x2D */ SCENE_KOKIRI_SHOP,
|
|
/* 0x2E */ SCENE_GOLON,
|
|
/* 0x2F */ SCENE_ZOORA,
|
|
/* 0x30 */ SCENE_DRAG,
|
|
/* 0x31 */ SCENE_ALLEY_SHOP,
|
|
/* 0x32 */ SCENE_NIGHT_SHOP,
|
|
/* 0x33 */ SCENE_FACE_SHOP,
|
|
/* 0x34 */ SCENE_LINK_HOME,
|
|
/* 0x35 */ SCENE_IMPA,
|
|
/* 0x36 */ SCENE_MALON_STABLE,
|
|
/* 0x37 */ SCENE_LABO,
|
|
/* 0x38 */ SCENE_HYLIA_LABO,
|
|
/* 0x39 */ SCENE_TENT,
|
|
/* 0x3A */ SCENE_HUT,
|
|
/* 0x3B */ SCENE_DAIYOUSEI_IZUMI,
|
|
/* 0x3C */ SCENE_YOUSEI_IZUMI_TATE,
|
|
/* 0x3D */ SCENE_YOUSEI_IZUMI_YOKO,
|
|
/* 0x3E */ SCENE_KAKUSIANA,
|
|
/* 0x3F */ SCENE_HAKAANA,
|
|
/* 0x40 */ SCENE_HAKAANA2,
|
|
/* 0x41 */ SCENE_HAKAANA_OUKE,
|
|
/* 0x42 */ SCENE_SYATEKIJYOU,
|
|
/* 0x43 */ SCENE_TOKINOMA,
|
|
/* 0x44 */ SCENE_KENJYANOMA,
|
|
/* 0x45 */ SCENE_HAIRAL_NIWA,
|
|
/* 0x46 */ SCENE_HAIRAL_NIWA_N,
|
|
/* 0x47 */ SCENE_HIRAL_DEMO,
|
|
/* 0x48 */ SCENE_HAKASITARELAY,
|
|
/* 0x49 */ SCENE_TURIBORI,
|
|
/* 0x4A */ SCENE_NAKANIWA,
|
|
/* 0x4B */ SCENE_BOWLING,
|
|
/* 0x4C */ SCENE_SOUKO,
|
|
/* 0x4D */ SCENE_MIHARIGOYA,
|
|
/* 0x4E */ SCENE_MAHOUYA,
|
|
/* 0x4F */ SCENE_GANON_DEMO,
|
|
/* 0x50 */ SCENE_KINSUTA,
|
|
/* 0x51 */ SCENE_SPOT00,
|
|
/* 0x52 */ SCENE_SPOT01,
|
|
/* 0x53 */ SCENE_SPOT02,
|
|
/* 0x54 */ SCENE_SPOT03,
|
|
/* 0x55 */ SCENE_SPOT04,
|
|
/* 0x56 */ SCENE_SPOT05,
|
|
/* 0x57 */ SCENE_SPOT06,
|
|
/* 0x58 */ SCENE_SPOT07,
|
|
/* 0x59 */ SCENE_SPOT08,
|
|
/* 0x5A */ SCENE_SPOT09,
|
|
/* 0x5B */ SCENE_SPOT10,
|
|
/* 0x5C */ SCENE_SPOT11,
|
|
/* 0x5D */ SCENE_SPOT12,
|
|
/* 0x5E */ SCENE_SPOT13,
|
|
/* 0x5F */ SCENE_SPOT15,
|
|
/* 0x60 */ SCENE_SPOT16,
|
|
/* 0x61 */ SCENE_SPOT17,
|
|
/* 0x62 */ SCENE_SPOT18,
|
|
/* 0x63 */ SCENE_SPOT20,
|
|
/* 0x64 */ SCENE_GANON_TOU,
|
|
// Debug only scenes
|
|
/* 0x65 */ SCENE_TEST01,
|
|
/* 0x66 */ SCENE_BESITU,
|
|
/* 0x67 */ SCENE_DEPTH_TEST,
|
|
/* 0x68 */ SCENE_SYOTES,
|
|
/* 0x69 */ SCENE_SYOTES2,
|
|
/* 0x6A */ SCENE_SUTARU,
|
|
/* 0x6B */ SCENE_HAIRAL_NIWA2,
|
|
/* 0x6C */ SCENE_SASATEST,
|
|
/* 0x6D */ SCENE_TESTROOM
|
|
} SceneID;
|
|
|
|
#endif
|