Mario Kart 64
Loading...
Searching...
No Matches
TourCamera.h
Go to the documentation of this file.
1#pragma once
2
3#include <libultraship.h>
4#include "GameCamera.h"
5#include "CoreMath.h"
6
7extern "C" {
8#include "camera.h"
9}
10
20class TourCamera : public GameCamera {
21public:
22 enum class TOUR_TYPE {
26 };
27
28 // State for the track's introductory camera sequence
30 size_t ShotIndex;
32 f32 KeyFrameProgress; // The progress from one point to the next (0.0 - 1.0f).
33 bool bShotComplete; // Is the current shot complete?
34 bool bTourComplete; // Is the whole camera sequence complete?
36 uint8_t Alpha;
37
38 // A single camera keyframe.
39 // The camera is smoothly translated between keyframes using
40 // a cubic spline algorithm.
46
47 // A sequence of keyframes that make up a cutscene shot.
48 struct CameraShot {
49 FVector Pos; // Start pos
50 FVector LookAt; // Start lookat
51 std::vector<KeyFrame> Frames;
52 };
53
54 TourCamera(FVector pos, s16 rot, u32 mode);
55
56 virtual void Tick() override;
57 virtual void SetViewProjection() override;
58 void NextShot();
59 void Reset();
60 void Stop();
61 bool IsTourComplete();
62 bool MoveCameraAlongSpline(f32* arg1, std::vector<KeyFrame>& keyFrame);
63 void Draw();
64};
GameCamera()
Definition GameCamera.cpp:16
bool MoveCameraAlongSpline(f32 *arg1, std::vector< KeyFrame > &keyFrame)
Definition TourCamera.cpp:126
void Reset()
Definition TourCamera.cpp:38
bool bActivateAudio
Definition TourCamera.h:35
f32 KeyFrameProgress
Definition TourCamera.h:32
bool bShotComplete
Definition TourCamera.h:33
void Stop()
Definition TourCamera.cpp:56
void NextShot()
Definition TourCamera.cpp:45
uint8_t Alpha
Definition TourCamera.h:36
bool IsTourComplete()
Definition TourCamera.cpp:183
TOUR_TYPE Type
Definition TourCamera.h:29
void Draw()
Definition TourCamera.cpp:215
virtual void Tick() override
Definition TourCamera.cpp:74
bool bTourComplete
Definition TourCamera.h:34
size_t KeyFrameIndex
Definition TourCamera.h:31
size_t ShotIndex
Definition TourCamera.h:30
TourCamera(FVector pos, s16 rot, u32 mode)
Definition TourCamera.cpp:21
TOUR_TYPE
Definition TourCamera.h:22
@ RANDOM
Definition TourCamera.h:24
@ SEQUENTIAL
Definition TourCamera.h:23
@ LOOP
Definition TourCamera.h:25
virtual void SetViewProjection() override
Definition TourCamera.cpp:187
Definition CoreMath.h:30
Definition TourCamera.h:48
FVector LookAt
Definition TourCamera.h:50
FVector Pos
Definition TourCamera.h:49
std::vector< KeyFrame > Frames
Definition TourCamera.h:51
Definition TourCamera.h:41
FVector LookAt
Definition TourCamera.h:43
f32 Duration
Definition TourCamera.h:44
FVector Pos
Definition TourCamera.h:42