OnePointDemo OK (#719)

* matches

* more matches

* progress?

* it's time

* so close

* organize declarations

* docs

* more fixes

* more fixes

* fix stage 1

* more fixes

* first try

* demo ids in decimal

* final cleanup

* one more thing

* fixes

* more cleanup

* onepointcs

* OnePointCutscene

Co-authored-by: petrie911 <pmontag@DESKTOP-LG8A167.localdomain>
This commit is contained in:
petrie911
2021-03-31 11:18:31 -05:00
committed by GitHub
parent 28cfd82a4f
commit 9b4482314a
233 changed files with 3949 additions and 7571 deletions
+8 -15
View File
@@ -1073,21 +1073,14 @@ VecSph* OLib_Vec3fToVecSph(VecSph* dest, Vec3f* vec);
VecSph* OLib_Vec3fToVecSphGeo(VecSph* arg0, Vec3f* arg1);
VecSph* OLib_Vec3fDiffToVecSphGeo(VecSph* arg0, Vec3f* a, Vec3f* b);
Vec3f* OLib_Vec3fDiffRad(Vec3f* dest, Vec3f* a, Vec3f* b);
// ? func_8007C680(?);
// ? func_8007C704(?);
// ? func_8007C76C(?);
// ? func_8007C7A8(?);
// ? func_8007C7F8(?);
// ? func_8007C820(?);
// ? func_8007C850(?);
// ? func_8007FFE0(?);
// ? func_80080024(?);
s16 func_800800F8(GlobalContext* globalCtx, s16 csID, s16 timer, Actor* actor, s16 camIdx);
void func_800803F0(GlobalContext* globalCtx, s16 camId);
s16 func_80080480(GlobalContext* globalCtx, Actor* actor);
void func_800806BC(GlobalContext* globalCtx, Actor* actor, u16 sfxId);
UNK_TYPE func_80080728(GlobalContext* globalCtx, u8 actorCategory);
void func_80080788(UNK_TYPE, UNK_TYPE);
s16 OnePointCutscene_Init(GlobalContext* globalCtx, s16 csId, s16 timer, Actor* actor, s16 camIdx);
s16 OnePointCutscene_EndCutscene(GlobalContext* globalCtx, s16 camIdx);
s32 OnePointCutscene_Attention(GlobalContext* globalCtx, Actor* actor);
s32 OnePointCutscene_AttentionSetSfx(GlobalContext* globalCtx, Actor* actor, s32 sfxId);
void OnePointCutscene_EnableAttention(void);
void OnePointCutscene_DisableAttention(void);
s32 OnePointCutscene_CheckForCategory(GlobalContext* globalCtx, s32 actorCategory);
void OnePointCutscene_Noop(GlobalContext* globalCtx, s32 arg1);
void Map_SavePlayerInitialInfo(GlobalContext* globalCtx);
void Map_SetFloorPalettesData(GlobalContext* globalCtx, s16 floor);
void Map_InitData(GlobalContext* globalCtx, s16 room);
-131
View File
@@ -206,137 +206,6 @@ extern u16 D_8011FB40;
//extern ? D_8011FEC4;
//extern ? D_8011FED0;
extern s32 gZeldaArenaLogSeverity;
extern s16 D_80120130;
//extern ? D_80120134;
//extern ? D_80120138;
//extern ? D_8012013C;
//extern ? D_8012021C;
//extern ? D_801202FC;
//extern ? D_80120300;
//extern ? D_80120304;
//extern ? D_80120308;
//extern ? D_80120398;
//extern ? D_8012042C;
//extern ? D_80120430;
//extern ? D_80120434;
//extern ? D_801204D4;
//extern ? D_801205B4;
//extern ? D_80120694;
//extern ? D_80120698;
//extern ? D_8012069C;
//extern ? D_801206A0;
//extern ? D_80120760;
//extern ? D_80120820;
//extern ? D_801208E4;
//extern ? D_801208E8;
//extern ? D_801208EC;
//extern ? D_801208FC;
//extern ? D_80120908;
//extern ? D_80120930;
//extern ? D_80120964;
//extern ? D_80120974;
//extern ? D_80120980;
//extern ? D_801209B4;
//extern ? D_801209C4;
//extern ? D_801209D0;
//extern ? D_801209EC;
//extern ? D_801209F8;
//extern ? D_80120A54;
//extern ? D_80120ACC;
//extern ? D_80120B94;
//extern ? D_80120D4C;
//extern ? D_80120E64;
//extern ? D_80120FA4;
//extern ? D_80121094;
//extern ? D_8012110C;
//extern ? D_80121184;
//extern ? D_801211A0;
//extern ? D_801211D4;
//extern ? D_80121224;
//extern ? D_80121314;
//extern ? D_8012133C;
//extern ? D_80121358;
//extern ? D_801213B4;
//extern ? D_8012147C;
//extern ? D_8012151C;
//extern ? D_8012156C;
//extern ? D_801215BC;
//extern ? D_801215E4;
//extern ? D_80121774;
//extern ? D_80121814;
//extern ? D_801218B4;
//extern ? D_80121904;
//extern ? D_80121954;
//extern ? D_80121A44;
//extern ? D_80121C24;
//extern ? D_80121C34;
//extern ? D_80121C40;
//extern ? D_80121D3C;
//extern ? D_80121DB4;
//extern ? D_80121F1C;
//extern ? D_80121F2C;
//extern ? D_80121F38;
//extern ? D_80121FBC;
//extern ? D_80121FCC;
//extern ? D_80121FD8;
//extern ? D_8012205C;
//extern ? D_801220D4;
//extern ? D_801220E4;
//extern ? D_801220F0;
//extern ? D_8012219C;
//extern ? D_801222B4;
//extern ? D_8012237C;
//extern ? D_801223CC;
//extern ? D_801224BC;
//extern ? D_801225D4;
//extern ? D_8012269C;
//extern ? D_80122714;
//extern ? D_801227B4;
//extern ? D_801228A4;
//extern ? D_8012296C;
//extern ? D_80122A0C;
//extern ? D_80122A5C;
//extern ? D_80122B9C;
//extern ? D_80122C14;
//extern ? D_80122C3C;
//extern ? D_80122C64;
//extern ? D_80122C8C;
//extern ? D_80122CB4;
//extern ? D_80122D04;
//extern ? D_80122D54;
//extern ? D_80122DCC;
//extern ? D_80122E44;
//extern ? D_80123074;
//extern ? D_8012313C;
//extern ? D_801231B4;
//extern ? D_8012323C;
//extern ? D_80123248;
//extern ? D_80123254;
//extern ? D_80123264;
//extern ? D_80123270;
//extern ? D_8012328C;
//extern ? D_80123298;
//extern ? D_801232A4;
//extern ? D_801232B4;
//extern ? D_801232C0;
//extern ? D_801232CC;
//extern ? D_80123394;
//extern ? D_8012345C;
//extern ? D_801234FC;
//extern ? D_801235C4;
//extern ? D_8012368C;
//extern ? D_8012372C;
//extern ? D_801237CC;
//extern ? D_80123894;
//extern ? D_801238A4;
//extern ? D_801238B0;
//extern ? D_8012390C;
//extern ? D_8012391C;
//extern ? D_80123928;
//extern ? D_8012395C;
//extern ? D_8012396C;
//extern ? D_80123978;
//extern ? D_801239D4;
extern MapData gMapDataTable;
extern s16 gSpoilingItems[3];
extern s16 gSpoilingItemReverts[3];
+2 -2
View File
@@ -881,8 +881,8 @@ typedef struct GlobalContext {
/* 0x000B0 */ void* sceneSegment;
/* 0x000B8 */ View view;
/* 0x001E0 */ Camera mainCamera;
/* 0x0034C */ Camera subCameras[3];
/* 0x00790 */ Camera* cameraPtrs[4];
/* 0x0034C */ Camera subCameras[NUM_CAMS - SUBCAM_FIRST];
/* 0x00790 */ Camera* cameraPtrs[NUM_CAMS];
/* 0x007A0 */ s16 activeCamera;
/* 0x007A2 */ s16 nextCamera;
/* 0x007A4 */ SoundContext soundCtx;
+21 -10
View File
@@ -10,6 +10,17 @@
#define CAM_STAT_ACTIVE 7
#define CAM_STAT_UNK100 0x100
#define NUM_CAMS 4
#define MAIN_CAM 0
#define SUBCAM_FIRST 1
#define SUBCAM_FREE 0
#define SUBCAM_NONE -1
#define SUBCAM_ACTIVE -1
#define ONEPOINT_CS_INFO(camera) ((Unique9OnePointCs*)camera->paramData)
#define PARENT_CAM(cam) ((cam)->globalCtx->cameraPtrs[(cam)->parentCamIdx])
#define CHILD_CAM(cam) ((cam)->globalCtx->cameraPtrs[(cam)->childCamIdx])
typedef enum {
/* 0x00 */ CAM_SET_NONE,
/* 0x01 */ CAM_SET_NORMAL0,
@@ -696,10 +707,10 @@ typedef struct {
/* 0x000C */ f32 lerpStepScale;
/* 0x0010 */ Vec3f atTargetInit;
/* 0x001C */ Vec3f eyeTargetInit;
} OnePointDemoFull; /* size = 0x28 */
} OnePointCsFull; /* size = 0x28 */
typedef struct {
/* 0x0000 */ OnePointDemoFull* curKeyFrame;
/* 0x0000 */ OnePointCsFull* curKeyFrame;
/* 0x0004 */ Vec3f atTarget;
/* 0x0010 */ Vec3f eyeTarget;
/* 0x001C */ Vec3f playerPos;
@@ -719,9 +730,9 @@ typedef struct {
typedef struct {
/* 0x0000 */ s32 keyFrameCnt;
/* 0x0004 */ OnePointDemoFull* keyFrames;
/* 0x0004 */ OnePointCsFull* keyFrames;
/* 0x0008 */ Unique9 uniq9;
} Unique9OnePointDemo; // size = 0x48
} Unique9OnePointCs; // size = 0x48
typedef struct {
/* 0x0000 */ f32 curFrame;
@@ -776,12 +787,12 @@ typedef struct {
/* 0x0004 */ CutsceneCameraPoint* eyePoints;
/* 0x0008 */ s16 actionParameters;
/* 0x000A */ s16 initTimer;
} OnePointDemoCamera; // size = 0xC
} OnePointCsCamera; // size = 0xC
typedef struct {
/* 0x0000 */ OnePointDemoCamera onePointDemo;
/* 0x0000 */ OnePointCsCamera onePointCs;
/* 0x000C */ Demo9 demo9;
} Demo9OnePointDemo; // size = 0x1C
} Demo9OnePointCs; // size = 0x1C
typedef struct {
/* 0x0000 */ f32 lerpAtScale;
@@ -849,7 +860,7 @@ typedef struct {
} CamColChk; // size = 0x28
typedef struct {
char paramData[0x50];
/* 0x0000 */ char paramData[0x50];
/* 0x0050 */ Vec3f at;
/* 0x005C */ Vec3f eye;
/* 0x0068 */ Vec3f up;
@@ -884,7 +895,7 @@ typedef struct {
/* 0x012C */ s16 data2;
/* 0x012E */ s16 data3;
/* 0x0130 */ s16 uid;
/* 0x0132 */ char unk_132[0x02];
/* 0x0132 */ char unk_132[2];
/* 0x0134 */ Vec3s inputDir;
/* 0x013A */ Vec3s camDir;
/* 0x0140 */ s16 status;
@@ -907,7 +918,7 @@ typedef struct {
/* 0x0162 */ s16 parentCamIdx;
/* 0x0164 */ s16 thisIdx;
/* 0x0166 */ s16 prevCamDataIdx;
/* 0x0168 */ s16 unk_168;
/* 0x0168 */ s16 csId;
/* 0x016A */ s16 unk_16A;
} Camera; // size = 0x16C
+2 -2
View File
@@ -156,8 +156,8 @@ typedef union CutsceneData {
s8 b[4];
} CutsceneData;
#define CS_CMD_CONTINUE 0x00
#define CS_CMD_STOP 0xFF
#define CS_CMD_CONTINUE 0
#define CS_CMD_STOP -1
typedef enum {
/* 0x00 */ OCARINA_ACTION_UNK_0,