Files
gtav-src/script/dev_ng/shared/include/public/seamless_cuts.sch
T
2025-09-29 00:52:08 +02:00

53 lines
1.6 KiB
Scheme
Executable File

USING "commands_cutscene.sch"
USING "commands_camera.sch"
PROC RESET_SEAMLESS_CUTS(CAMERA_INDEX &seamlessCam, bool &tracker)
if DOES_CAM_EXIST(seamlessCam)
RENDER_SCRIPT_CAMS(FALSE,FALSE)
DESTROY_CAM(seamlessCam)
tracker=FALSE
ENDIF
ENDPROC
PROC SET_SEAMLESS_CUTS_ACTIVE(bool &tracker)
tracker = true
ENDPROC
PROC RUN_SEAMLESS_CUTSCENE(CAMERA_INDEX &seamlessCam, bool &tracker)
if tracker = true
if not HAS_CUTSCENE_FINISHED()
if not DOES_CAM_EXIST(seamlessCam)
seamlessCam = CREATE_CAMERA(CAMTYPE_SCRIPTED,TRUE)
SET_CAM_COORD(seamlessCam,<<10,10,10>>) //initiialise its coords as cams don't like being created at <<0,0,0>>
RENDER_SCRIPT_CAMS(true,FALSE)
ENDIF
SET_CAM_COORD(seamlessCam,GET_FINAL_RENDERED_CAM_COORD())
SET_CAM_FAR_CLIP(seamlessCam,GET_FINAL_RENDERED_CAM_FAR_CLIP())
SET_CAM_FAR_DOF(seamlessCam,GET_FINAL_RENDERED_CAM_FAR_DOF())
SET_CAM_FOV(seamlessCam,GET_FINAL_RENDERED_CAM_FOV())
SET_CAM_MOTION_BLUR_STRENGTH(seamlessCam,GET_FINAL_RENDERED_CAM_MOTION_BLUR_STRENGTH())
SET_CAM_NEAR_CLIP(seamlessCam,GET_FINAL_RENDERED_CAM_NEAR_CLIP())
SET_CAM_NEAR_DOF(seamlessCam,GET_FINAL_RENDERED_CAM_NEAR_DOF())
SET_CAM_ROT(seamlessCam,GET_FINAL_RENDERED_CAM_ROT())
ELSE
if DOES_CAM_EXIST(seamlessCam)
if WAS_CUTSCENE_SKIPPED()
RENDER_SCRIPT_CAMS(FALSE,FALSE)
ELSE
RENDER_SCRIPT_CAMS(FALSE,true)
ENDIF
tracker = FALSE
ENDIF
ENDIF
ELSE
if DOES_CAM_EXIST(seamlessCam)
if not IS_INTERPOLATING_FROM_SCRIPT_CAMS()
DESTROY_CAM(seamlessCam)
ENDIF
ENDIF
ENDIF
ENDPROC