portal64-still-alive/documentation/levels/cutscenes
Matt Penny 1a91f840c0 Document more cutscene steps
* set_signal
* clear_signal
* wait_for_signal
* teleport_player
* load_level
* label
* goto
* start_cutscene
* stop_cutscene
* wait_for_cutscene
2024-04-13 01:13:07 -04:00
..
clear_signal.md Document more cutscene steps 2024-04-13 01:13:07 -04:00
close_portal.md Document delay and open/close portal cutscene steps 2024-02-26 22:30:57 -05:00
delay.md Document delay and open/close portal cutscene steps 2024-02-26 22:30:57 -05:00
goto.md Document more cutscene steps 2024-04-13 01:13:07 -04:00
label.md Document more cutscene steps 2024-04-13 01:13:07 -04:00
load_level.md Document more cutscene steps 2024-04-13 01:13:07 -04:00
open_portal.md Document delay and open/close portal cutscene steps 2024-02-26 22:30:57 -05:00
play_sound.md Document sound-related cutscene steps 2024-02-26 22:30:56 -05:00
q_sound.md Document sound-related cutscene steps 2024-02-26 22:30:56 -05:00
README.md Document more cutscene steps 2024-04-13 01:13:07 -04:00
set_signal.md Document more cutscene steps 2024-04-13 01:13:07 -04:00
start_cutscene.md Document more cutscene steps 2024-04-13 01:13:07 -04:00
start_sound.md Add sound to chamber 14 stair animations 2024-03-11 21:25:49 -04:00
stop_cutscene.md Document more cutscene steps 2024-04-13 01:13:07 -04:00
teleport_player.md Document more cutscene steps 2024-04-13 01:13:07 -04:00
wait_for_channel.md Document sound-related cutscene steps 2024-02-26 22:30:56 -05:00
wait_for_cutscene.md Document more cutscene steps 2024-04-13 01:13:07 -04:00
wait_for_signal.md Document more cutscene steps 2024-04-13 01:13:07 -04:00

Cutscenes

Cutscenes are scripted sequences of steps which can be executed by the game in response to triggers or other cutscenes. Unlike typical usage of the term "cutscene", most do not take control away from the player and are instead more similar to background threads.

Definition

At level export time, level definition C source files are generated using the Lua scripts in tools/level_scripts/, initiated by export_level.lua. Cutscene information is written using information from each level's associated YAML file.

In the YAML file, cutscenes are defined in an object property called cutscenes. Property names are used to reference cutscenes from triggers or other cutscenes. Property values are lists of steps to perform.

Steps use the syntax:

STEP_NAME [ARG]...

That is, the step name followed by 0 or more space-separated arguments. The number and type of the arguments is specific to each step type.

For example,

cutscenes:
  OPEN_PORTAL:
    - delay 5
    - rumble 0
    - open_portal back_wall 0

  ENTERED_TRIGGER:
    - set_signal open_door

Multiple cutscenes can be running at once, and triggered cutscenes are stopped after their final step is executed.

Step types

See the pages below for details on specific cutscene steps.