RPG cutscene
Intro
Cutscenes are defined much like everything else, and generally also during the configuration phase. Cutscenes consist of multiple directives which may or may not be nested. All the directives can create additional ones. Note that the cutscenes only allow control of the camera, entities and creates are to be moved via script. See the scripting page.
The following command is used to create a new one...
r_new_cutscene ACTIONS POST
the POST argument is generally used to set variables (ie, don't play this cutscene again), and prepare the map should the player choose to skip it.
an example of a simple cutscene is as follows
r_new_cutscene [
r_cutscene_viewspin 180 0 0 5000
] [
echo "cutscene done playing"
]
To start a cutscene, you must invoke: r_start_cutscene INDEX; To start the above, you'd use
r_start_cutscene 0
General Directives
Action/Delay
Introduce a delay in a cutscene before performing an action:
r_cutscene_delay DELAY ACTION
- DELAY: delay in milliseconds before to perform action
- ACTION: action block
Many cutscenes command have DELAY and ACTION as their two last parameters, which allows to chain to the next action after the delay has expired.
Cond
Iterate/Loop
Signal
Subtitle
Camera movement
Move camera
Move the camera to the position of a given camera tag:
r_cutscene_movecamera TAG DELAY
or
r_cutscene_moveaccelcamera TAG DELAY
- TAG: camera tag
- DELAY: delay during which the camera will move to the target (use 0 for immediate)
The first command will move the camera in a linear way to reach the target camera tag. The second one will do the same in an accelerated way.
Move camera to a specific position
Move the camera to a specific position:
r_cutscene_movespecific X Y Z DELAY
or
r_cutscene_moveaccelspecific X Y Z DELAY
- X, Y, Z: absolute coordinates to where the camera must move
- DELAY: delay during which the camera will move to the target (use 0 for immediate)
The first command will move the camera in a linear way to reach the given position. The second will do the same in an accelerated way.
Change Camera View Angle
Change the camera's view angle to match a camera tag's view angle.
r_cutscene_viewcamera TAG DELAY
or
r_cutscene_viewaccelcamera TAG DELAY
- TAG: camera tag from which to use the view angle
- DELAY: delay during which the camera's angle will be modified
The first command will change the camera's view angle in a linear way to reach the target angle. The second command will do the same in an accelerated way.
Change Camera View Angle using specific values
Change the camera's view angle to match the given angle values.
r_cutscene_viewspecific YAW PITCH ROLL DELAY
r_cutscene_viewaccelspecific YAW PITCH ROLL DELAY
- YAW, PITCH, ROLL: target angle
- DELAY: delay during which the camera's angle will be modified
The first command will change the camera's view angle in a linear way to reach the target angle. The second command will do the same in an accelerated way.
Viewspin
Spins the current view using the given relative angle movements.
r_cutscene_viewspin YAW PITCH ROLL DELAY ACTION
- YAW, PITCH, ROLL: relative angle direction in which to spin the current view's angle
- DELAY: duration of the movement
- ACTION: action to perform after the delay