MCPcopy Create free account
hub / github.com/TombEngine/TombEngine / InitializeSpotCam

Function InitializeSpotCam

TombEngine/Game/spotcam.cpp:110–332  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

108}
109
110void InitializeSpotCam(short Sequence)
111{
112 if (SpotCam.empty() || SpotCamRemap.find(Sequence) == SpotCamRemap.end())
113 {
114 TENLog(fmt::format("Initializing flyby sequence {} failed, sequence not found.", Sequence), LogLevel::Warning);
115 return;
116 }
117
118 if (TrackCameraInit != 0 && LastSpotCamSequence == Sequence)
119 {
120 TrackCameraInit = false;
121 return;
122 }
123
124 Lara.Control.Look.OpticRange = 0;
125 Lara.Control.Look.IsUsingLasersight = false;
126
127 AlterFOV(ANGLE(DEFAULT_FOV), false);
128
129 LaraItem->MeshBits = ALL_JOINT_BITS;
130
131 ResetPlayerFlex(LaraItem);
132
133 Camera.bounce = 0;
134
135 Lara.Inventory.IsBusy = 0;
136
137 CameraFade = NO_VALUE;
138 LastSpotCamSequence = Sequence;
139 TrackCameraInit = false;
140 SpotcamTimer = 0;
141 SpotcamPaused = false;
142 SpotcamLoopCnt = 0;
143 Lara.Control.IsLocked = false;
144
145 LaraAir = Lara.Status.Air;
146
147 InitialCameraPosition.x = Camera.pos.x;
148 InitialCameraPosition.y = Camera.pos.y;
149 InitialCameraPosition.z = Camera.pos.z;
150
151 InitialCameraTarget.x = Camera.target.x;
152 InitialCameraTarget.y = Camera.target.y;
153 InitialCameraTarget.z = Camera.target.z;
154
155 LaraHealth = LaraItem->HitPoints;
156 InitialCameraRoom = Camera.pos.RoomNumber;
157
158 LaraFixedPosition.x = LaraItem->Pose.Position.x;
159 LaraFixedPosition.y = LaraItem->Pose.Position.y;
160 LaraFixedPosition.z = LaraItem->Pose.Position.z;
161
162 CurrentSpotcamSequence = Sequence;
163 CurrentSplineCamera = 0;
164
165 for (int i = 0; i < SpotCamRemap[Sequence]; i++)
166 CurrentSplineCamera += CameraCnt[i];
167

Callers 4

RaisingCogControlFunction · 0.85
TestTriggersFunction · 0.85
PlayFlybyFunction · 0.85

Calls 9

TENLogFunction · 0.85
AlterFOVFunction · 0.85
ANGLEFunction · 0.85
ResetPlayerFlexFunction · 0.85
SetCinematicBarsFunction · 0.85
formatFunction · 0.50
emptyMethod · 0.45
findMethod · 0.45
endMethod · 0.45

Tested by 1

TestTriggersFunction · 0.68