MAPINFO/Intermission definition

From ZDoom Wiki
Jump to navigation Jump to search

An Intermission definition begins with the keyword "intermission" followed by a name.

An intermission is composed of different sub-blocks, which each define a "step". When a step is finished, the intermission goes to the next step, until the end is reached. The Link properties allows to go to a different intermission instead. The GotoTitle step effectively ends the intermission.

Intermission commands

Intermission name { properties }

Defines an Intermission block.

Intermission properties

The following properties are supported within an Intermission definition:

Property Description
Link = <name> Links to another intermission after the end of this intermission.
Cast {} Defines a cast block as a step for the intermission. See below for cast properties.
Fader {} Defines a fader block as a step for the intermission. See below for fader properties.
GotoTitle {} Goes to the title screen. This effectively ends the intermission and the game.
Image {} Defines an image block as a step for the intermission. See below for image properties.
Scroller {} Defines a scroller block as a step for the intermission. See below for scroller properties.
TextScreen {} Defines a text screen block as a step for the intermission. See below for text screen properties.
Wiper {} Defines a wiper block as a transition between two steps in the intermission. See below for wiper properties.
Cutscene {} (development version 206c229 only) Defines a cutscene block that plays a video as a step during the intermission. See below for cutscene properties.

Generic properties

The following properties are supported within any sub-block:

Property Description
Background = <image>[, <tile>] Defines which image lump to use as the background for this intermission step. Optional parameters can be given. If tile is non-zero, the image is displayed at its resolution and tiled on the screen. If 0 or omitted, the image is stretched.
Draw = <image>, <x>, <y> Draws the specified image using the specified offsets. Coordinates for offsets range from (0, 0) for the top-left corner to (319, 199) for the bottom-right corner.
DrawConditional = <condition>, <image>, <x>, <y> As Draw, but specifies a condition for the drawing. Possible conditions include player class names or Multiplayer.
Music = <song>[, <order>] Defines which music to use during this step of the intermission. For music formats which support sub-songs, an optional parameter allows to choose which to play.
Sound = <sound> Defines a sound to be played upon entering this intermission step.
Time = <length> Defines how long this step of the intermission should last. A positive value is an amount in seconds; a negative value is an amount in tics.

Cast properties

The following properties are supported within a cast sub-block:

Property Description
CastClass = <name> Defines which actor class to use for this cast call.
CastName = <string> Defines the string that is displayed during the cast call. If the string starts with a $ character, it is interpreted as an identifier to a LANGUAGE string.
AttackSound = <label>, <offset>, <sound> Defines which sound to play at which moment of which attack. Label must be either "Melee" or "Missile", offset must be a positive or null value, and sound must be a logical sound name as defined in SNDINFO.

Fader properties

The following properties are supported within a fader sub-block:

Property Description
FadeType = <type> Defines how the fade proceeds. Possible types are FadeIn (default) and FadeOut.

Image properties

Image sub-blocks have no additional properties.

Scroller properties

The following properties are supported within a scroller sub-block:

Property Description
Background2 = <lump> Defines the picture used for the destination screen.
InitialDelay = <length> Specifies how long to wait before scrolling begins. A positive value is an amount in tics, a negative value is an amount in seconds. Default delay is 0.
ScrollDirection = <type> Defines how the scroll proceeds. Possible directions are Up, Down, Left and Right (default).
ScrollTime = <length> Specifies how long it takes for the scroll to end. A positive value is an amount in tics, a negative value is an amount in seconds. Default time is 640.

TextScreen properties

The following properties are supported within a text screen sub-block:

Property Description
Position = <x>, <y> Defines the position of the text. Default is (-1, -1), which means to use the values specified in the GameInfo block.
Text = <line>[, [other line[, ...]] Use the specified text for the content of the text screen. An unlimited amount of parameters can be given, each will be its own line.
TextColor = <value> Specifies the color to use for the text. See the TEXTCOLO lump for more information about text colors. Default color is Untranslated.
TextDelay = <length> Specifies the delay to use when drawing the text. A positive value is the length in tic, a negative value is the length in seconds. Default delay is 10.
TextLump = <lump> Tells to use the given lump as the source of the text displayed by the text screen.
TextSpeed = <value> Specifies the speed at which the text is written on the screen. Default speed is 2.

Wiper properties

The following properties are supported within a wiper sub-block:

Property Description
WipeType = <type> Defines how the screen wipe proceeds. Possible types are Crossfade, Melt, Burn and Default (default).

Cutscene properties

The following properties are supported within a cutscene sub-block:

  • Video = "<videoname>"
Sets the video for the cutscene to play. This must be the full name of the video file, which consists of the path to the file, its name and extension, e.g "graphics/videos/coolvideo.ivf". For a list of supported video formats, see Video format.
  • Function = "<functionname>"
Specifies a ZScript function for the cutscene to run, rather than a video. This ZScript function needs to be static, have no return type, and take a ScreenJobRunner as its sole argument.
  • Sound = "<soundname>"
Specifies the sound that should play during the cutscene. This uses the logical name of a sound. (Verification needed) By default, GZDoom will instead look for an identically named OGG, FLAC, MP3, OPUS, or WAV file in the same directory as the video.
  • SoundID = <id>
Specifies the ID of the sound to play during the cutscene. The default is -1. (Need more info) (Verification needed)
  • FPS = <value>
Sets the framerate to play the cutscene at. This only works with ANM video.
  • Delete
Deletes the cutscenes' function and assigned video. The cutscene will still be defined, but will simply not play anything.
  • Clear
Clears the cutscene definition.

Examples

Example of a cast sub block using the Nitrogolem from Heretic:

Cast
{
  CastClass = "MummyLeader"
  CastName = "Nitrogolem"
  AttackSound = "Missile", 1, "mummy/head"
  AttackSound = "Melee", 1, "mummy/attack2"
}