Camera.StartCinematic( CMF_NO_LETTERBOX | CMF_SHOW_HIDDEN_OBJECTS | CMF_NO_INITIAL_FADEOUT );// at least one of these allows camera position to be updated in OnTick() after key acquisition cutsceneCamera.ClearLookAtActor();Camera.ClearFinalView();Camera.ClearViewTracks();
kStr s;if ( Sys.GetCvarValue("r_fov",s) ) Camera.fov = s.Atof() / ScopeMag;kPuppet @owner = self.Owner().Actor();// update camera orientationCamera.origin = EyePos();Camera.pitch = owner.Pitch();Camera.roll = owner.Roll();Camera.yaw = owner.Yaw();
2. Level geometry occlusion doesn't always update. So, for example, if you zoom in, then walk around a corner, any level geometry that was originally blocked will still not be rendered (screenshot). I think I've only seen this happen on level 5 (even the corridors of level 8 seem fine), but it's a pretty big error to expect players to just re-scope and ignore.
Having worked with cutscenes briefly, all the other code for stuff loading stuff is still relative to turok himself, not the camera. You probably have to have the game itself render more chunks to fix.Number 1 sounds pretty bad. Does this mean you'd be able to skip triggers?
A scope feature sounds cool! Like in T2. Wish I could help
I'd probably go with call StartCinema when player moved a certain distance as the best choice I know of to keep scoped movement.