Cutscene Camera OK (Some Docs) (#1411)

* import WIP

* Match func_80161E4C

* Match func_801620CC

* Match func_80162FF8

* Match func_801631DC

* Match func_80162FF8

* Import bss

* fix bss

* type docs

* more docs?

* waypoint?

* names

* cleanup

* PR Review

* comments

* PR Review

* waypoints as 1 word

* adjust names

* Path order

* remove pathing

* fix bss

---------

Co-authored-by: Derek Hensley <hensley.derek58@gmail.com>
This commit is contained in:
engineer124
2023-10-31 12:44:36 +11:00
committed by GitHub
co-authored by Derek Hensley
parent 23beee0717
commit 4d74fed7f0
8 changed files with 695 additions and 154 deletions
+1 -14
View File
@@ -1679,20 +1679,7 @@ extern SaveContext gSaveContext;
// extern UNK_TYPE4 D_801F6B00;
// extern UNK_TYPE4 D_801F6B04;
// extern UNK_TYPE4 D_801F6B08;
// extern UNK_TYPE1 D_801F6B0C;
// extern UNK_TYPE1 D_801F6B0E;
// extern UNK_TYPE1 D_801F6B10;
// extern UNK_TYPE1 D_801F6B12;
// extern UNK_TYPE1 D_801F6B14;
// extern UNK_TYPE1 D_801F6B16;
// extern UNK_TYPE1 D_801F6B18;
// extern UNK_TYPE1 D_801F6B1A;
// extern UNK_TYPE1 D_801F6B1C;
// extern UNK_TYPE1 D_801F6B1E;
// extern UNK_TYPE1 D_801F6B20;
// extern UNK_TYPE1 D_801F6B22;
// extern UNK_TYPE4 sCurCsCamera;
// extern UNK_TYPE1 D_801F6B58;
extern void (*sKaleidoScopeUpdateFunc)(PlayState* play);
extern void (*sKaleidoScopeDrawFunc)(PlayState* play);
+30 -28
View File
@@ -737,18 +737,21 @@ typedef struct {
/* 0xA */ s16 relativeTo; // see `CutsceneCamRelativeTo`
} CsCmdCamPoint; // size = 0xC
typedef enum {
/* 0 */ CS_CAM_INTERP_0,
/* 1 */ CS_CAM_INTERP_1,
/* 2 */ CS_CAM_INTERP_2,
/* 3 */ CS_CAM_INTERP_3,
/* 4 */ CS_CAM_INTERP_4,
/* 5 */ CS_CAM_INTERP_5,
/* 6 */ CS_CAM_INTERP_6,
/* 7 */ CS_CAM_INTERP_7
typedef enum CutsceneCamInterpType {
/* 0 */ CS_CAM_INTERP_NONE, // values do not change.
// values 1-3 only uses a single point from the cmd
/* 1 */ CS_CAM_INTERP_SET, // values immediately set to cmd values.
/* 2 */ CS_CAM_INTERP_LINEAR, // Lerp to the target position
/* 3 */ CS_CAM_INTERP_SCALE, // Step to the target position in increments scaled by the remaining distance
// values 4-5 uses multiple points from the cmd
/* 4 */ CS_CAM_INTERP_MP_CUBIC, // cubic multi-point (identical to SM64/OoT)
/* 5 */ CS_CAM_INTERP_MP_QUAD, // quadratic multi-point
// value 6 only uses a single point from the cmd
/* 6 */ CS_CAM_INTERP_GEO, // does VecGeo calculations using fov
/* 7 */ CS_CAM_INTERP_OFF // interpolation is not processed.
} CutsceneCamInterpType;
typedef enum {
typedef enum CutsceneCamRelativeTo {
/* 0 */ CS_CAM_REL_0,
/* 1 */ CS_CAM_REL_1,
/* 2 */ CS_CAM_REL_2,
@@ -759,26 +762,25 @@ typedef enum {
// Roll and Fov Data
typedef struct {
/* 0x0 */ s16 unused0; // unused
typedef struct CsCmdCamMisc {
/* 0x0 */ s16 unused0; // used only in the unused interp function
/* 0x2 */ s16 roll;
/* 0x4 */ s16 fov;
/* 0x6 */ s16 unused1; // unused
} CsCmdCamMisc; // size = 0x8
typedef struct {
/* 0x00 */ Vec3f unk_00;
/* 0x0C */ Vec3f unk_0C;
/* 0x18 */ f32 unk_18;
/* 0x1C */ f32 unk_1C;
/* 0x2A */ f32 unk_20;
/* 0x24 */ s16 unk_24;
/* 0x26 */ s16 unk_26;
/* 0x28 */ s16 unk_28;
typedef struct CutsceneCameraInterp {
/* 0x00 */ Vec3f curPos;
/* 0x0C */ Vec3f initPos;
/* 0x18 */ f32 initFov;
/* 0x1C */ f32 initRoll;
/* 0x2A */ f32 unk_20; // position adjustment based on fov?
/* 0x24 */ s16 curFrame;
/* 0x26 */ s16 waypoint;
/* 0x28 */ s16 duration;
/* 0x2A */ s16 numEntries;
/* 0x1E */ u8 curPoint;
/* 0x2D */ u8 unk_2D;
/* 0x2E */ UNK_TYPE1 unk_2E[2];
/* 0x2D */ u8 type; // See `CutsceneCamInterpType`
} CutsceneCameraInterp; // size = 0x30
typedef struct CutsceneCamera {
@@ -798,11 +800,11 @@ typedef struct CutsceneCamera {
} CutsceneCamera; // size = 0x80
typedef enum {
/* 0 */ CS_CAM_STATE_UPDATE_ALL, // Update spline and next spline timer
/* 0 */ CS_CAM_STATE_UPDATE_SPLINE, // Update spline, do not advance next spline timer
/* 0 */ CS_CAM_STATE_PAUSE, // No updates
/* 0 */ CS_CAM_STATE_DONE_SPLINE, // Finished the current spline, ready for the next one
/* 0 */ CS_CAM_STATE_DONE = 999 // Finished all the splines.
/* 0 */ CS_CAM_STATE_UPDATE_ALL, // Update spline and next spline timer
/* 1 */ CS_CAM_STATE_UPDATE_SPLINE, // Update spline, do not advance next spline timer
/* 2 */ CS_CAM_STATE_PAUSE, // No updates
/* 3 */ CS_CAM_STATE_DONE_SPLINE, // Finished the current spline, ready for the next one
/* 999 */ CS_CAM_STATE_DONE = 999 // Finished all the splines.
} CutsceneCameraState;
// OoT Remnant
-1
View File
@@ -531,7 +531,6 @@ beginseg
include "build/src/code/z_player_call.o"
include "build/src/code/z_shrink_window.o"
include "build/src/code/cutscene_camera.o"
include "build/data/code/cutscene_camera.bss.o"
include "build/src/code/z_kaleido_manager.o"
include "build/src/code/z_kaleido_scope_call.o"
include "build/src/code/z_fbdemo_dlftbls.o"
File diff suppressed because it is too large Load Diff
+26 -26
View File
@@ -68,34 +68,34 @@ CutsceneData sDoubleSoTCsCamData[] = {
CS_CAM_SPLINE(13, 424, 0, 100),
// Camera At Data
/* 0x0 */ CS_CAM_POINT(CS_CAM_INTERP_4, 100, 13, 0, 21, -19, CS_CAM_REL_0),
/* 0x1 */ CS_CAM_POINT(CS_CAM_INTERP_4, 100, 18, 0, 21, -19, CS_CAM_REL_0),
/* 0x2 */ CS_CAM_POINT(CS_CAM_INTERP_4, 100, 16, 0, 21, -19, CS_CAM_REL_0),
/* 0x3 */ CS_CAM_POINT(CS_CAM_INTERP_4, 100, 17, -26, -5, -32, CS_CAM_REL_0),
/* 0x4 */ CS_CAM_POINT(CS_CAM_INTERP_4, 100, 15, 0, 18, -32, CS_CAM_REL_0),
/* 0x5 */ CS_CAM_POINT(CS_CAM_INTERP_4, 100, 14, 1, 22, -27, CS_CAM_REL_0),
/* 0x6 */ CS_CAM_POINT(CS_CAM_INTERP_4, 100, 12, 0, 1, -5, CS_CAM_REL_0),
/* 0x7 */ CS_CAM_POINT(CS_CAM_INTERP_4, 100, 7, 16, 29, -77, CS_CAM_REL_0),
/* 0x8 */ CS_CAM_POINT(CS_CAM_INTERP_4, 100, 3, 1, 19, 111, CS_CAM_REL_0),
/* 0x9 */ CS_CAM_POINT(CS_CAM_INTERP_4, 100, 3, -59, 21, 91, CS_CAM_REL_0),
/* 0xA */ CS_CAM_POINT(CS_CAM_INTERP_4, 100, 3, -19, 59, 84, CS_CAM_REL_0),
/* 0xB */ CS_CAM_POINT(CS_CAM_INTERP_4, 100, 136, -19, 59, 84, CS_CAM_REL_0),
/* 0xC */ CS_CAM_POINT(CS_CAM_INTERP_4, 100, 108, -17, 57, 82, CS_CAM_REL_0),
/* 0x0 */ CS_CAM_POINT(CS_CAM_INTERP_MP_CUBIC, 100, 13, 0, 21, -19, CS_CAM_REL_0),
/* 0x1 */ CS_CAM_POINT(CS_CAM_INTERP_MP_CUBIC, 100, 18, 0, 21, -19, CS_CAM_REL_0),
/* 0x2 */ CS_CAM_POINT(CS_CAM_INTERP_MP_CUBIC, 100, 16, 0, 21, -19, CS_CAM_REL_0),
/* 0x3 */ CS_CAM_POINT(CS_CAM_INTERP_MP_CUBIC, 100, 17, -26, -5, -32, CS_CAM_REL_0),
/* 0x4 */ CS_CAM_POINT(CS_CAM_INTERP_MP_CUBIC, 100, 15, 0, 18, -32, CS_CAM_REL_0),
/* 0x5 */ CS_CAM_POINT(CS_CAM_INTERP_MP_CUBIC, 100, 14, 1, 22, -27, CS_CAM_REL_0),
/* 0x6 */ CS_CAM_POINT(CS_CAM_INTERP_MP_CUBIC, 100, 12, 0, 1, -5, CS_CAM_REL_0),
/* 0x7 */ CS_CAM_POINT(CS_CAM_INTERP_MP_CUBIC, 100, 7, 16, 29, -77, CS_CAM_REL_0),
/* 0x8 */ CS_CAM_POINT(CS_CAM_INTERP_MP_CUBIC, 100, 3, 1, 19, 111, CS_CAM_REL_0),
/* 0x9 */ CS_CAM_POINT(CS_CAM_INTERP_MP_CUBIC, 100, 3, -59, 21, 91, CS_CAM_REL_0),
/* 0xA */ CS_CAM_POINT(CS_CAM_INTERP_MP_CUBIC, 100, 3, -19, 59, 84, CS_CAM_REL_0),
/* 0xB */ CS_CAM_POINT(CS_CAM_INTERP_MP_CUBIC, 100, 136, -19, 59, 84, CS_CAM_REL_0),
/* 0xC */ CS_CAM_POINT(CS_CAM_INTERP_MP_CUBIC, 100, 108, -17, 57, 82, CS_CAM_REL_0),
// Camera Eye Data
/* 0x0 */ CS_CAM_POINT(CS_CAM_INTERP_4, 100, 13, 0, 50, 681, CS_CAM_REL_0),
/* 0x1 */ CS_CAM_POINT(CS_CAM_INTERP_4, 100, 18, 0, 50, 681, CS_CAM_REL_0),
/* 0x2 */ CS_CAM_POINT(CS_CAM_INTERP_4, 100, 16, 0, 50, 681, CS_CAM_REL_0),
/* 0x3 */ CS_CAM_POINT(CS_CAM_INTERP_4, 100, 17, -104, 375, 345, CS_CAM_REL_0),
/* 0x4 */ CS_CAM_POINT(CS_CAM_INTERP_4, 100, 15, 0, -62, 289, CS_CAM_REL_0),
/* 0x5 */ CS_CAM_POINT(CS_CAM_INTERP_4, 100, 14, -47, 125, 205, CS_CAM_REL_0),
/* 0x6 */ CS_CAM_POINT(CS_CAM_INTERP_4, 100, 12, -58, -17, 199, CS_CAM_REL_0),
/* 0x7 */ CS_CAM_POINT(CS_CAM_INTERP_4, 100, 7, 16, 53, 211, CS_CAM_REL_0),
/* 0x8 */ CS_CAM_POINT(CS_CAM_INTERP_4, 100, 3, -31, 63, 623, CS_CAM_REL_0),
/* 0x9 */ CS_CAM_POINT(CS_CAM_INTERP_4, 100, 3, -341, 464, 542, CS_CAM_REL_0),
/* 0xA */ CS_CAM_POINT(CS_CAM_INTERP_4, 100, 3, -341, 464, 542, CS_CAM_REL_0),
/* 0xB */ CS_CAM_POINT(CS_CAM_INTERP_4, 100, 136, -341, 464, 542, CS_CAM_REL_0),
/* 0xC */ CS_CAM_POINT(CS_CAM_INTERP_4, 100, 108, -339, 462, 540, CS_CAM_REL_0),
/* 0x0 */ CS_CAM_POINT(CS_CAM_INTERP_MP_CUBIC, 100, 13, 0, 50, 681, CS_CAM_REL_0),
/* 0x1 */ CS_CAM_POINT(CS_CAM_INTERP_MP_CUBIC, 100, 18, 0, 50, 681, CS_CAM_REL_0),
/* 0x2 */ CS_CAM_POINT(CS_CAM_INTERP_MP_CUBIC, 100, 16, 0, 50, 681, CS_CAM_REL_0),
/* 0x3 */ CS_CAM_POINT(CS_CAM_INTERP_MP_CUBIC, 100, 17, -104, 375, 345, CS_CAM_REL_0),
/* 0x4 */ CS_CAM_POINT(CS_CAM_INTERP_MP_CUBIC, 100, 15, 0, -62, 289, CS_CAM_REL_0),
/* 0x5 */ CS_CAM_POINT(CS_CAM_INTERP_MP_CUBIC, 100, 14, -47, 125, 205, CS_CAM_REL_0),
/* 0x6 */ CS_CAM_POINT(CS_CAM_INTERP_MP_CUBIC, 100, 12, -58, -17, 199, CS_CAM_REL_0),
/* 0x7 */ CS_CAM_POINT(CS_CAM_INTERP_MP_CUBIC, 100, 7, 16, 53, 211, CS_CAM_REL_0),
/* 0x8 */ CS_CAM_POINT(CS_CAM_INTERP_MP_CUBIC, 100, 3, -31, 63, 623, CS_CAM_REL_0),
/* 0x9 */ CS_CAM_POINT(CS_CAM_INTERP_MP_CUBIC, 100, 3, -341, 464, 542, CS_CAM_REL_0),
/* 0xA */ CS_CAM_POINT(CS_CAM_INTERP_MP_CUBIC, 100, 3, -341, 464, 542, CS_CAM_REL_0),
/* 0xB */ CS_CAM_POINT(CS_CAM_INTERP_MP_CUBIC, 100, 136, -341, 464, 542, CS_CAM_REL_0),
/* 0xC */ CS_CAM_POINT(CS_CAM_INTERP_MP_CUBIC, 100, 108, -339, 462, 540, CS_CAM_REL_0),
// Camera Roll and Fov Data
/* 0x0 */ CS_CAM_MISC(15, 0xA, 70, 0),
+9 -9
View File
@@ -2904,7 +2904,7 @@
0x80160CD4:("ShrinkWindow_Destroy",),
0x80160CE4:("ShrinkWindow_Update",),
0x80160D98:("ShrinkWindow_Draw",),
0x80161180:("func_80161180",),
0x80161180:("CutsceneCamera_Interp_Off",),
0x8016119C:("CutsceneCamera_Init",),
0x8016122C:("CutsceneCamera_Interpolate",),
0x801612B8:("CutsceneCamera_ProcessSpline",),
@@ -2912,18 +2912,18 @@
0x80161BAC:("func_80161BAC",),
0x80161BE0:("CutsceneCamera_SetState",),
0x80161C0C:("CutsceneCamera_Reset",),
0x80161C20:("func_80161C20",),
0x80161E4C:("func_80161E4C",),
0x801620CC:("func_801620CC",),
0x8016237C:("func_8016237C",),
0x801623E4:("func_801623E4",),
0x80161C20:("CutsceneCamera_Interp_Linear",),
0x80161E4C:("CutsceneCamera_Interp_Scale",),
0x801620CC:("CutsceneCamera_Interp_Geo",),
0x8016237C:("CutsceneCamera_Interp_None",),
0x801623E4:("CutsceneCamera_Interp_Set",),
0x801624EC:("func_801624EC",),
0x8016253C:("func_8016253C",),
0x8016253C:("CutsceneCamera_Interp_MultiPointQuadratic",),
0x801629BC:("func_801629BC",),
0x80162A50:("func_80162A50",),
0x80162A50:("CutsceneCamera_Interp_MultiPointCubic",),
0x80162FF8:("func_80162FF8",),
0x801631DC:("func_801631DC",),
0x80163334:("func_80163334",),
0x80163334:("CutsceneCamera_Interp_Unused",),
0x80163660:("func_80163660",),
0x80163700:("KaleidoManager_FaultAddrConv",),
0x80163758:("KaleidoManager_LoadOvl",),
+1 -1
View File
@@ -3971,7 +3971,7 @@
0x801F6B40:("sShrinkWindow","ShrinkWindow","",0x4),
0x801F6B44:("sShrinkWindowPtr","ShrinkWindow*","",0x4),
0x801F6B50:("sCurCsCamera","UNK_TYPE4","",0x4),
0x801F6B58:("D_801F6B58","UNK_TYPE1","",0x1),
0x801F6B58:("sKnots","UNK_TYPE1","",0x1),
0x801F6BF0:("sKaleidoMgrFaultAddrConvClient","FaultAddrConvClient","",0xC),
0x801F6C00:("sKaleidoScopeUpdateFunc","void*","",0x4),
0x801F6C04:("sKaleidoScopeDrawFunc","void*","",0x4),
+9 -9
View File
@@ -2418,7 +2418,7 @@ asm/non_matchings/code/z_shrink_window/ShrinkWindow_Init.s,ShrinkWindow_Init,0x8
asm/non_matchings/code/z_shrink_window/ShrinkWindow_Destroy.s,ShrinkWindow_Destroy,0x80160CD4,0x4
asm/non_matchings/code/z_shrink_window/ShrinkWindow_Update.s,ShrinkWindow_Update,0x80160CE4,0x2D
asm/non_matchings/code/z_shrink_window/ShrinkWindow_Draw.s,ShrinkWindow_Draw,0x80160D98,0xFA
asm/non_matchings/code/cutscene_camera/func_80161180.s,func_80161180,0x80161180,0x7
asm/non_matchings/code/cutscene_camera/CutsceneCamera_Interp_Off.s,CutsceneCamera_Interp_Off,0x80161180,0x7
asm/non_matchings/code/cutscene_camera/CutsceneCamera_Init.s,CutsceneCamera_Init,0x8016119C,0x24
asm/non_matchings/code/cutscene_camera/CutsceneCamera_Interpolate.s,CutsceneCamera_Interpolate,0x8016122C,0x23
asm/non_matchings/code/cutscene_camera/CutsceneCamera_ProcessSpline.s,CutsceneCamera_ProcessSpline,0x801612B8,0x1B8
@@ -2426,18 +2426,18 @@ asm/non_matchings/code/cutscene_camera/CutsceneCamera_UpdateSplines.s,CutsceneCa
asm/non_matchings/code/cutscene_camera/func_80161BAC.s,func_80161BAC,0x80161BAC,0xD
asm/non_matchings/code/cutscene_camera/CutsceneCamera_SetState.s,CutsceneCamera_SetState,0x80161BE0,0xB
asm/non_matchings/code/cutscene_camera/CutsceneCamera_Reset.s,CutsceneCamera_Reset,0x80161C0C,0x5
asm/non_matchings/code/cutscene_camera/func_80161C20.s,func_80161C20,0x80161C20,0x8B
asm/non_matchings/code/cutscene_camera/func_80161E4C.s,func_80161E4C,0x80161E4C,0xA0
asm/non_matchings/code/cutscene_camera/func_801620CC.s,func_801620CC,0x801620CC,0xAC
asm/non_matchings/code/cutscene_camera/func_8016237C.s,func_8016237C,0x8016237C,0x1A
asm/non_matchings/code/cutscene_camera/func_801623E4.s,func_801623E4,0x801623E4,0x42
asm/non_matchings/code/cutscene_camera/CutsceneCamera_Interp_Linear.s,CutsceneCamera_Interp_Linear,0x80161C20,0x8B
asm/non_matchings/code/cutscene_camera/CutsceneCamera_Interp_Scale.s,CutsceneCamera_Interp_Scale,0x80161E4C,0xA0
asm/non_matchings/code/cutscene_camera/CutsceneCamera_Interp_Geo.s,CutsceneCamera_Interp_Geo,0x801620CC,0xAC
asm/non_matchings/code/cutscene_camera/CutsceneCamera_Interp_None.s,CutsceneCamera_Interp_None,0x8016237C,0x1A
asm/non_matchings/code/cutscene_camera/CutsceneCamera_Interp_Set.s,CutsceneCamera_Interp_Set,0x801623E4,0x42
asm/non_matchings/code/cutscene_camera/func_801624EC.s,func_801624EC,0x801624EC,0x14
asm/non_matchings/code/cutscene_camera/func_8016253C.s,func_8016253C,0x8016253C,0x120
asm/non_matchings/code/cutscene_camera/CutsceneCamera_Interp_MultiPointQuadratic.s,CutsceneCamera_Interp_MultiPointQuadratic,0x8016253C,0x120
asm/non_matchings/code/cutscene_camera/func_801629BC.s,func_801629BC,0x801629BC,0x25
asm/non_matchings/code/cutscene_camera/func_80162A50.s,func_80162A50,0x80162A50,0x16A
asm/non_matchings/code/cutscene_camera/CutsceneCamera_Interp_MultiPointCubic.s,CutsceneCamera_Interp_MultiPointCubic,0x80162A50,0x16A
asm/non_matchings/code/cutscene_camera/func_80162FF8.s,func_80162FF8,0x80162FF8,0x79
asm/non_matchings/code/cutscene_camera/func_801631DC.s,func_801631DC,0x801631DC,0x56
asm/non_matchings/code/cutscene_camera/func_80163334.s,func_80163334,0x80163334,0xCB
asm/non_matchings/code/cutscene_camera/CutsceneCamera_Interp_Unused.s,CutsceneCamera_Interp_Unused,0x80163334,0xCB
asm/non_matchings/code/cutscene_camera/func_80163660.s,func_80163660,0x80163660,0x28
asm/non_matchings/code/z_kaleido_manager/func_80163700.s,func_80163700,0x80163700,0x16
asm/non_matchings/code/z_kaleido_manager/func_80163758.s,func_80163758,0x80163758,0x17
1 asm/non_matchings/code/z_en_a_keep/EnAObj_Init.s EnAObj_Init 0x800A5AC0 0x2B
2418 asm/non_matchings/code/z_shrink_window/ShrinkWindow_Destroy.s ShrinkWindow_Destroy 0x80160CD4 0x4
2419 asm/non_matchings/code/z_shrink_window/ShrinkWindow_Update.s ShrinkWindow_Update 0x80160CE4 0x2D
2420 asm/non_matchings/code/z_shrink_window/ShrinkWindow_Draw.s ShrinkWindow_Draw 0x80160D98 0xFA
2421 asm/non_matchings/code/cutscene_camera/func_80161180.s asm/non_matchings/code/cutscene_camera/CutsceneCamera_Interp_Off.s func_80161180 CutsceneCamera_Interp_Off 0x80161180 0x7
2422 asm/non_matchings/code/cutscene_camera/CutsceneCamera_Init.s CutsceneCamera_Init 0x8016119C 0x24
2423 asm/non_matchings/code/cutscene_camera/CutsceneCamera_Interpolate.s CutsceneCamera_Interpolate 0x8016122C 0x23
2424 asm/non_matchings/code/cutscene_camera/CutsceneCamera_ProcessSpline.s CutsceneCamera_ProcessSpline 0x801612B8 0x1B8
2426 asm/non_matchings/code/cutscene_camera/func_80161BAC.s func_80161BAC 0x80161BAC 0xD
2427 asm/non_matchings/code/cutscene_camera/CutsceneCamera_SetState.s CutsceneCamera_SetState 0x80161BE0 0xB
2428 asm/non_matchings/code/cutscene_camera/CutsceneCamera_Reset.s CutsceneCamera_Reset 0x80161C0C 0x5
2429 asm/non_matchings/code/cutscene_camera/func_80161C20.s asm/non_matchings/code/cutscene_camera/CutsceneCamera_Interp_Linear.s func_80161C20 CutsceneCamera_Interp_Linear 0x80161C20 0x8B
2430 asm/non_matchings/code/cutscene_camera/func_80161E4C.s asm/non_matchings/code/cutscene_camera/CutsceneCamera_Interp_Scale.s func_80161E4C CutsceneCamera_Interp_Scale 0x80161E4C 0xA0
2431 asm/non_matchings/code/cutscene_camera/func_801620CC.s asm/non_matchings/code/cutscene_camera/CutsceneCamera_Interp_Geo.s func_801620CC CutsceneCamera_Interp_Geo 0x801620CC 0xAC
2432 asm/non_matchings/code/cutscene_camera/func_8016237C.s asm/non_matchings/code/cutscene_camera/CutsceneCamera_Interp_None.s func_8016237C CutsceneCamera_Interp_None 0x8016237C 0x1A
2433 asm/non_matchings/code/cutscene_camera/func_801623E4.s asm/non_matchings/code/cutscene_camera/CutsceneCamera_Interp_Set.s func_801623E4 CutsceneCamera_Interp_Set 0x801623E4 0x42
2434 asm/non_matchings/code/cutscene_camera/func_801624EC.s func_801624EC 0x801624EC 0x14
2435 asm/non_matchings/code/cutscene_camera/func_8016253C.s asm/non_matchings/code/cutscene_camera/CutsceneCamera_Interp_MultiPointQuadratic.s func_8016253C CutsceneCamera_Interp_MultiPointQuadratic 0x8016253C 0x120
2436 asm/non_matchings/code/cutscene_camera/func_801629BC.s func_801629BC 0x801629BC 0x25
2437 asm/non_matchings/code/cutscene_camera/func_80162A50.s asm/non_matchings/code/cutscene_camera/CutsceneCamera_Interp_MultiPointCubic.s func_80162A50 CutsceneCamera_Interp_MultiPointCubic 0x80162A50 0x16A
2438 asm/non_matchings/code/cutscene_camera/func_80162FF8.s func_80162FF8 0x80162FF8 0x79
2439 asm/non_matchings/code/cutscene_camera/func_801631DC.s func_801631DC 0x801631DC 0x56
2440 asm/non_matchings/code/cutscene_camera/func_80163334.s asm/non_matchings/code/cutscene_camera/CutsceneCamera_Interp_Unused.s func_80163334 CutsceneCamera_Interp_Unused 0x80163334 0xCB
2441 asm/non_matchings/code/cutscene_camera/func_80163660.s func_80163660 0x80163660 0x28
2442 asm/non_matchings/code/z_kaleido_manager/func_80163700.s func_80163700 0x80163700 0x16
2443 asm/non_matchings/code/z_kaleido_manager/func_80163758.s func_80163758 0x80163758 0x17