Difference between revisions of "FreeSpace 2 Mission File Format"

From FreeSpace Wiki
Jump to: navigation, search
m
 
(33 intermediate revisions by 6 users not shown)
Line 1: Line 1:
FS2 files are simple text files defining how FS2 will 'execute' a given mission.
+
.fs2 files are simple text files defining how FS2 will 'execute' a given mission.
 
It refers to external files for the actual assets used in the mission, including [[Model files]] and [[Tables]].
 
It refers to external files for the actual assets used in the mission, including [[Model files]] and [[Tables]].
  
Line 9: Line 9:
 
Comments are indicated by ";!", and continue to the end of the line.
 
Comments are indicated by ";!", and continue to the end of the line.
  
Data finishes at "#End"
+
STRING refers to a String data. The game parses these from the ":" at the end of the flag it belongs to until the next flag begins.
 +
 
 +
XSTR is a single XSTR entry, formatted like this: XSTR("Text data", -1) . The "-1" refers to the entry in tstrings.tbl that contains the translated version.
 +
 
 +
INT is a single integer.
 +
 
 +
FLOAT is a floating point number, usually used with 6 digits after the decimal point.
 +
 
 +
SEXP is a symbolic expression or chain of symbolic expressions. Example:
 +
<pre>( when
 +
  ( >
 +
      ( distance "Zeta 3" "center:1" )
 +
      2000
 +
  )
 +
  ( send-message
 +
      "#Command"
 +
      "High"
 +
      "msg08"
 +
  )
 +
)</pre>
  
 
==Sections==
 
==Sections==
  
 
===#Mission Info===
 
===#Mission Info===
*Defines that the file is a Mission file.
+
Fields:
 +
 
 +
$Version: STRING
 +
*contains the version number for this mission
 +
$Name: XSTR
 +
*contains the name of this mission. Uses tstrings.tbl for translation.
 +
$Author: STRING
 +
*The author's name
 +
$Created: STRING
 +
*The time and date that this mission was created on. Format is "MM/DD/YY at HH:MI:SS", where MM = Month, DD = Day, YY = Year, HH = Hours (24 hour format), MI = minutes and SS = seconds.
 +
$Notes: STRING
 +
*Contains any notes the mission designer wishes to add.
 +
$End Notes: ??
 +
 
 +
$Mission Desc: XSTR
 +
*Contains a short description of this mission. Uses tstrings.tbl for translation.
 +
$end_multi_text
 +
 
 +
+Game Type Flags: INT
 +
 
 +
+Flags: INT
 +
 
 +
+NebAwacs: FLOAT
 +
 
 +
+Storm: STRING
 +
 
 +
+Red Alert: INT
 +
 
 +
+Scramble: INT
 +
 
 +
+Disallow Support: 0 or 1
 +
*Whether or not support ships are available on this mission
 +
 
 +
+Hull Repair Ceiling: FLOAT
 +
 
 +
+Subsystem Repair Ceiling: FLOAT
 +
 
 +
+Player Entry Delay: FLOAT
 +
 
 +
+Viewer pos: FLOAT, FLOAT, FLOAT
 +
*FRED camera position
 +
 
 +
+Viewer orient:
 +
        FLOAT, FLOAT, FLOAT,
 +
        FLOAT, FLOAT, FLOAT,
 +
        FLOAT, FLOAT, FLOAT
 +
*Orientation Matrix for FRED camera
 +
 
 +
$Starting wing names: LIST of STRINGS
 +
*Wings present at the start of the mission, also used for loadout selection
 +
*LIST defaults to ( "Alpha" "Beta" "Gamma" )
 +
*Maximum size of LIST is three strings
 +
*The first STRING in this list must match the first string in $Team-versus-team wing names:
 +
 
 +
$Squadron wing names: LIST of STRINGS
 +
*Unknown - need to check further
 +
*LIST defaults to ( "Alpha" "Beta" "Gamma" "Delta" "Epsilon" )
 +
 
 +
$Team-versus-team wing names: LIST of STRINGS
 +
*Unknown - need to check further
 +
*LIST defaults to ( "Alpha" "Zeta" )
 +
*The first STRING in this list must match the first string in $Starting wing names:
 +
 
 +
+SquadReassignName: STRING
 +
 
 +
+SquadReassignLogo: STRING
 +
*Squadron the player is reassigned to
 +
 
 +
$Skybox Model: STRING
 +
*Which skybox model to use
 +
 
 +
$AI Profile: STRING
 +
*Which AI profile is used
 +
----
 +
===#Fiction Viewer===
 +
$File: STRING
 +
*Name of the text file that will be displayed in the fiction viewer. The file needs to be in data/fiction, and interface art for the fiction viewer must be present.
 +
----
 +
===#Sexp_variables===
 +
 
 +
$Variables:
 +
----
 +
 
 +
===#Plot Info===
 +
 
 +
$Tour: XSTR
 +
 
 +
$Pre-Briefing Cutscene: STRING
 +
 
 +
$Pre-Mission Cutscene: STRING
 +
 
 +
$Next Mission Success: STRING
 +
 
 +
$Next Mission Partial: STRING
 +
 
 +
$Next Mission Failure: STRING
 +
 
 +
----
  
 
===#Command Briefing===
 
===#Command Briefing===
*Defines the Command Briefing section of the briefing. If no command briefing is required, leave this blank.
+
*Defines the Command Briefing section of the briefing. If no command briefing is required, leave this blank. Stages are defined like this:
 +
 
 +
$Stage Text: XSTR
 +
*The text to be displayed in this stage
 +
$end_multi_text
 +
 
 +
$Ani Filename: STRING
 +
*The ani that will be played while the above text is displayed
 +
 
 +
+Wave Filename: STRING
 +
*The filename of the voiceover
 +
----
  
 
===#Briefing===
 
===#Briefing===
 
*Defines the Mission Briefing. Leaving this blank will cause 'no briefing' to be shown instead of a mission briefing.
 
*Defines the Mission Briefing. Leaving this blank will cause 'no briefing' to be shown instead of a mission briefing.
  
 +
====Briefing init====
 +
$start_briefing
 +
 +
$num_stages: INT
 +
*Number of stages in this briefing. Stages are defined as follows:
 +
 +
$start_stage
 +
 +
$multi_text
 +
XSTR
 +
*Briefing text for this stage.
 +
$end_multi_text
 +
 +
$voice: STRING
 +
*Voiceover filename
 +
 +
$camera_pos: FLOAT, FLOAT, FLOAT
 +
*Camera position for this stage
 +
 +
$camera_orient:
 +
            FLOAT, FLOAT, FLOAT,
 +
            FLOAT, FLOAT, FLOAT,
 +
            FLOAT, FLOAT, FLOAT
 +
*Camera orientation matrix
 +
 +
$camera_time: INT
 +
 +
$num_lines: INT
 +
 +
$num_icons: INT
 +
 +
$Flags: INT
 +
 +
$Formula: SEXP
 +
 +
====Icons====
 +
*Icons are defined as follows
 +
 +
$start_icon
 +
 +
$type: INT
 +
 +
$team: STRING
 +
*Friendly, Hostile, or Neutral
 +
 +
$class: STRING
 +
*Must be a valid reference to a ship class from ships.tbl
 +
 +
$pos: FLOAT, FLOAT, FLOAT
 +
 +
$label: STRING
 +
 +
+id: INT
 +
 +
$hlight: INT
 +
 +
$mirror: INT
 +
 +
$multi_text
 +
 +
$end_multi_text
 +
 +
$end_icon
 
----
 
----
 +
===#Debriefing_info===
 +
 +
$num stages: INT
 +
*Number of debriefing stages. Debrief stages are defined as follows
 +
 +
$Formula: SEXP
 +
*Conditions that must be true for the debriefing stage to be shown. Note that several debrief stages may be shown at the same time.
 +
 +
$Multi text
  
 +
XSTR
 +
 +
$end_multi_text
 +
 +
$Voice: STRING
 +
 +
$Recommendation text: XSTR
 +
 +
$end_multi_text
 +
----
 +
 +
===#Alternate Types===
 +
$Alt: STRING
 +
*Contains an Alternate type name. This is a list entry; All alternate types used in the mission must appear here. Must be terminated by #end.
 +
 +
----
 +
 +
===#Callsigns:===
 +
$Callsign: STRING
 +
*Similar to the Alternate Types list. All Callsigns used in the mission must be listed here. Must be terminated by #end.
 +
 +
----
 
===#Players===
 
===#Players===
 
*Defines the players for the mission. At least one player must be defined.
 
*Defines the players for the mission. At least one player must be defined.
 +
 +
$Starting Shipname: STRING
 +
 +
$Ship Choices: ( STRING INT )
 +
*The STRING contains the ship class, the INT holds the number of ships available. Can be left blank ( "$Ship choices: (  )" is valid).
 +
 +
+Weaponry Pool: ( STRING INT )
 +
*The STRING contains the weapon name, the INT the number of weapons available. Primary weapons are listed before secondary weapons.
 +
 +
*NOTE: For multiplayer TVT missions, these three items need to be present a second time to define the loadout team 2 gets.
 +
 
----
 
----
 
===#Objects===
 
===#Objects===
Line 31: Line 263:
 
*This includes all ships (including the player ships), installations and other objects.
 
*This includes all ships (including the player ships), installations and other objects.
 
*Does not include asteroid (debris) fields.
 
*Does not include asteroid (debris) fields.
 +
 +
$Name: STRING
 +
 +
$Class: STRING
 +
 +
$Alt: STRING
 +
*Alternate class name. Must be defined in the #Alternate Types list above.
 +
 +
$Callsign: STRING
 +
*Optional Callsign. Must be defined in the #Callsigns list above.
 +
 +
$Team: STRING
 +
 +
$Location: FLOAT, FLOAT, FLOAT
 +
 +
$Orientation:
 +
        FLOAT, FLOAT, FLOAT,
 +
        FLOAT, FLOAT, FLOAT,
 +
        FLOAT, FLOAT, FLOAT
 +
 +
$IFF: STRING
 +
 +
$AI Behavior: STRING
 +
 +
+AI Class: STRING
 +
 +
$AI Goals: ( goals ( SEXP ) )
 +
*SEXP must be from the ai goals list
 +
 +
$Cargo 1:  XSTR
 +
 +
+Initial Velocity: INT
 +
 +
+Initial Hull: INT
 +
 +
+Subsystem: STRING
 +
 +
$Arrival Location: STRING
 +
 +
$Arrival Cue: SEXP
 +
 +
$Departure Location: STRING
 +
 +
$Departure Cue: SEXP
 +
 +
$Determination: INT
 +
 +
+Flags: ( STRING )
 +
*Flags must be enclosed by "".
 +
 +
+Respawn priority: INT
 +
 +
+Orders Accepted: INT
 +
*This is a bitfield
 +
 +
+Group: INT
 +
 +
+Score: INT
 +
 +
+Persona Index: INT
 
----
 
----
 +
 
===#Wings===
 
===#Wings===
 
*Defines all wings in the mission, friendly and hostile
 
*Defines all wings in the mission, friendly and hostile
 +
 +
$Name: STRING
 +
 +
$Waves: INT
 +
 +
$Wave Threshold: INT
 +
 +
$Special Ship: INT
 +
 +
$Arrival Location: STRING
 +
 +
$Arrival Cue: SEXP
 +
 +
$Departure Location: STRING
 +
 +
$Departure Cue: SEXP
 +
 +
$Ships: ( STRING )
 +
 +
$AI Goals: ( goals ( SEXP ) )
 +
*SEXP must be from the ai goals list
 +
 +
+Hotkey: INT
 +
 +
+Flags: ( STRING )
 +
 
----
 
----
 
===#Events===
 
===#Events===
*The SEXPs that make up the Events List.
+
*The SEXPs that make up the Events List. Events are formatted as follows:
 +
 
 +
$Formula: SEXP
 +
 
 +
+Name: STRING
 +
 
 +
+Repeat Count: INT
 +
 
 +
+Interval: INT
 +
 
 +
+Chained: INT
 +
*The INT shows the chain delay in seconds.
 +
 
 +
+Objective: XSTR
 +
 
 +
+Team: INT
  
====$Formula:====
 
<pre>$Formula: ( SEXP_TEXT
 
  FIRST_OPERAND
 
  SECOND_OPERAND
 
)
 
+Name: Event name
 
+Repeat Count: 1
 
+Interval: 1
 
+Chained: 30 ;! Optional indicates that SEXP is chained to previous
 
+Team: 0
 
</pre>
 
 
----
 
----
 +
 
===#Goals===
 
===#Goals===
*The mission directives
+
*The mission directives. Goals are formatted as follows:
 +
 
 +
$Type: STRING
 +
*Primary or Secondary
 +
 
 +
+name: STRING
 +
 
 +
$MessageNew: XSTR
 +
 
 +
$end_multi_text
 +
 
 +
$Formula: SEXP
 +
 
 +
+No music
 +
 
 +
+Invalid
 
----
 
----
 
===#Waypoints===
 
===#Waypoints===
 +
 +
$Name: STRING
 +
 +
$List: ( ( FLOAT, FLOAT, FLOAT ) )
 +
*The list can contain more than one Waypoint, example: ( ( FLOAT, FLOAT, FLOAT ) ( FLOAT, FLOAT, FLOAT ) )
 
----
 
----
 
===#Messages===
 
===#Messages===
 +
 +
$Name: STRING
 +
 +
$Team: INT
 +
 +
$MessageNew:  XSTR
 +
 +
$end_multi_text
 +
 +
+Persona: STRING
 +
 +
+AVI Name: STRING
 +
 +
+Wave Name: STRING
 +
 
----
 
----
 
===#Reinforcements===
 
===#Reinforcements===
 +
 +
$Name: STRING
 +
*Name of the wing that is available as reinforcement. That wing needs to have the "reinforcement" flag.
 +
 +
$Type: STRING
 +
 +
$Num times: INT
 +
 +
+Arrival Delay: INT
 +
 +
+No Messages: ( STRING )
 +
 +
+Yes Messages: ( STRING )
 
----
 
----
 +
 
===#Background bitmaps===
 
===#Background bitmaps===
 +
 +
$Num stars: INT
 +
 +
$Ambient light level: INT
 +
 +
+Neb2: STRING
 +
 +
+Neb2Flags: INT
 +
 +
+Nebula: STRING
 +
* (Optional) '''HISTORICAL''' Version 1 nebula, not used in FS2 retail campaign.
 +
 +
*+Color: STRING
 +
** (Optional) '''HISTORICAL''' Version 1 nebula, not used in FS2 retail campaign.
 +
*+Pitch: INT
 +
** (Optional) '''HISTORICAL''' Version 1 nebula, not used in FS2 retail campaign.
 +
*+Bank: INT
 +
** (Optional) '''HISTORICAL''' Version 1 nebula, not used in FS2 retail campaign.
 +
*+Heading: INT
 +
** (Optional) '''HISTORICAL''' Version 1 nebula, not used in FS2 retail campaign.
 +
 +
$Bitmap List:
 +
*Contains all background bitmaps and suns. Sun entries look like this:
 +
 +
$Sun: STRING
 +
 +
$Angles: FLOAT FLOAT FLOAT
 +
 +
*Background nebulae and other objects look like this:
 +
 +
$Starbitmap: STRING
 +
 +
+Angles: FLOAT FLOAT FLOAT
 +
 +
+ScaleX: FLOAT
 +
 +
+ScaleY: FLOAT
 +
 +
+DivX: INT
 +
 +
+DivY: INT
 
----
 
----
 +
 
===#Asteroid Fields===
 
===#Asteroid Fields===
 +
 +
$Density: INT
 +
 +
+Field Type: INT
 +
 +
+Debris Genre: INT
 +
 +
+Field Debris Type: INT
 +
 +
$Average Speed: FLOAT
 +
 +
$Minimum: FLOAT, FLOAT, FLOAT
 +
 +
$Maximum: FLOAT, FLOAT, FLOAT
 +
 
----
 
----
 +
 
===#Music===
 
===#Music===
 +
 +
$Event Music: STRING
 +
 +
$Briefing Music: STRING
 
----
 
----
 +
 
===#End===
 
===#End===
 
*The end of the file.
 
*The end of the file.
 +
 +
[[Category:Modding]]
 +
[[Category:FRED]]
 +
[[Category:File Types]]

Latest revision as of 10:10, 26 January 2012

.fs2 files are simple text files defining how FS2 will 'execute' a given mission. It refers to external files for the actual assets used in the mission, including Model files and Tables.

General Format

File section headers start with the "#" character. Each file section should be separated by a blank line.

Statements start with either the "$" or "+" characters, and may last for multiple lines. Comments are indicated by ";!", and continue to the end of the line.

STRING refers to a String data. The game parses these from the ":" at the end of the flag it belongs to until the next flag begins.

XSTR is a single XSTR entry, formatted like this: XSTR("Text data", -1) . The "-1" refers to the entry in tstrings.tbl that contains the translated version.

INT is a single integer.

FLOAT is a floating point number, usually used with 6 digits after the decimal point.

SEXP is a symbolic expression or chain of symbolic expressions. Example:

( when
   ( >
      ( distance "Zeta 3" "center:1" )
      2000
   )
   ( send-message
      "#Command"
      "High"
      "msg08"
   )
)

Sections

#Mission Info

Fields:

$Version: STRING

  • contains the version number for this mission

$Name: XSTR

  • contains the name of this mission. Uses tstrings.tbl for translation.

$Author: STRING

  • The author's name

$Created: STRING

  • The time and date that this mission was created on. Format is "MM/DD/YY at HH:MI:SS", where MM = Month, DD = Day, YY = Year, HH = Hours (24 hour format), MI = minutes and SS = seconds.

$Notes: STRING

  • Contains any notes the mission designer wishes to add.

$End Notes: ??

$Mission Desc: XSTR

  • Contains a short description of this mission. Uses tstrings.tbl for translation.

$end_multi_text

+Game Type Flags: INT

+Flags: INT

+NebAwacs: FLOAT

+Storm: STRING

+Red Alert: INT

+Scramble: INT

+Disallow Support: 0 or 1

  • Whether or not support ships are available on this mission

+Hull Repair Ceiling: FLOAT

+Subsystem Repair Ceiling: FLOAT

+Player Entry Delay: FLOAT

+Viewer pos: FLOAT, FLOAT, FLOAT

  • FRED camera position

+Viewer orient:

       FLOAT, FLOAT, FLOAT, 
       FLOAT, FLOAT, FLOAT, 
       FLOAT, FLOAT, FLOAT
  • Orientation Matrix for FRED camera

$Starting wing names: LIST of STRINGS

  • Wings present at the start of the mission, also used for loadout selection
  • LIST defaults to ( "Alpha" "Beta" "Gamma" )
  • Maximum size of LIST is three strings
  • The first STRING in this list must match the first string in $Team-versus-team wing names:

$Squadron wing names: LIST of STRINGS

  • Unknown - need to check further
  • LIST defaults to ( "Alpha" "Beta" "Gamma" "Delta" "Epsilon" )

$Team-versus-team wing names: LIST of STRINGS

  • Unknown - need to check further
  • LIST defaults to ( "Alpha" "Zeta" )
  • The first STRING in this list must match the first string in $Starting wing names:

+SquadReassignName: STRING

+SquadReassignLogo: STRING

  • Squadron the player is reassigned to

$Skybox Model: STRING

  • Which skybox model to use

$AI Profile: STRING

  • Which AI profile is used

#Fiction Viewer

$File: STRING

  • Name of the text file that will be displayed in the fiction viewer. The file needs to be in data/fiction, and interface art for the fiction viewer must be present.

#Sexp_variables

$Variables:


#Plot Info

$Tour: XSTR

$Pre-Briefing Cutscene: STRING

$Pre-Mission Cutscene: STRING

$Next Mission Success: STRING

$Next Mission Partial: STRING

$Next Mission Failure: STRING


#Command Briefing

  • Defines the Command Briefing section of the briefing. If no command briefing is required, leave this blank. Stages are defined like this:

$Stage Text: XSTR

  • The text to be displayed in this stage

$end_multi_text

$Ani Filename: STRING

  • The ani that will be played while the above text is displayed

+Wave Filename: STRING

  • The filename of the voiceover

#Briefing

  • Defines the Mission Briefing. Leaving this blank will cause 'no briefing' to be shown instead of a mission briefing.

Briefing init

$start_briefing

$num_stages: INT

  • Number of stages in this briefing. Stages are defined as follows:

$start_stage

$multi_text XSTR

  • Briefing text for this stage.

$end_multi_text

$voice: STRING

  • Voiceover filename

$camera_pos: FLOAT, FLOAT, FLOAT

  • Camera position for this stage

$camera_orient:

           FLOAT, FLOAT, FLOAT,
           FLOAT, FLOAT, FLOAT,
           FLOAT, FLOAT, FLOAT 
  • Camera orientation matrix

$camera_time: INT

$num_lines: INT

$num_icons: INT

$Flags: INT

$Formula: SEXP

Icons

  • Icons are defined as follows

$start_icon

$type: INT

$team: STRING

  • Friendly, Hostile, or Neutral

$class: STRING

  • Must be a valid reference to a ship class from ships.tbl

$pos: FLOAT, FLOAT, FLOAT

$label: STRING

+id: INT

$hlight: INT

$mirror: INT

$multi_text

$end_multi_text

$end_icon


#Debriefing_info

$num stages: INT

  • Number of debriefing stages. Debrief stages are defined as follows

$Formula: SEXP

  • Conditions that must be true for the debriefing stage to be shown. Note that several debrief stages may be shown at the same time.

$Multi text

XSTR

$end_multi_text

$Voice: STRING

$Recommendation text: XSTR

$end_multi_text


#Alternate Types

$Alt: STRING

  • Contains an Alternate type name. This is a list entry; All alternate types used in the mission must appear here. Must be terminated by #end.

#Callsigns:

$Callsign: STRING

  • Similar to the Alternate Types list. All Callsigns used in the mission must be listed here. Must be terminated by #end.

#Players

  • Defines the players for the mission. At least one player must be defined.

$Starting Shipname: STRING

$Ship Choices: ( STRING INT )

  • The STRING contains the ship class, the INT holds the number of ships available. Can be left blank ( "$Ship choices: ( )" is valid).

+Weaponry Pool: ( STRING INT )

  • The STRING contains the weapon name, the INT the number of weapons available. Primary weapons are listed before secondary weapons.
  • NOTE: For multiplayer TVT missions, these three items need to be present a second time to define the loadout team 2 gets.

#Objects

  • Defines all the objects in the mission and their initial state.
  • This includes all ships (including the player ships), installations and other objects.
  • Does not include asteroid (debris) fields.

$Name: STRING

$Class: STRING

$Alt: STRING

  • Alternate class name. Must be defined in the #Alternate Types list above.

$Callsign: STRING

  • Optional Callsign. Must be defined in the #Callsigns list above.

$Team: STRING

$Location: FLOAT, FLOAT, FLOAT

$Orientation:

       FLOAT, FLOAT, FLOAT, 
       FLOAT, FLOAT, FLOAT, 
       FLOAT, FLOAT, FLOAT

$IFF: STRING

$AI Behavior: STRING

+AI Class: STRING

$AI Goals: ( goals ( SEXP ) )

  • SEXP must be from the ai goals list

$Cargo 1: XSTR

+Initial Velocity: INT

+Initial Hull: INT

+Subsystem: STRING

$Arrival Location: STRING

$Arrival Cue: SEXP

$Departure Location: STRING

$Departure Cue: SEXP

$Determination: INT

+Flags: ( STRING )

  • Flags must be enclosed by "".

+Respawn priority: INT

+Orders Accepted: INT

  • This is a bitfield

+Group: INT

+Score: INT

+Persona Index: INT


#Wings

  • Defines all wings in the mission, friendly and hostile

$Name: STRING

$Waves: INT

$Wave Threshold: INT

$Special Ship: INT

$Arrival Location: STRING

$Arrival Cue: SEXP

$Departure Location: STRING

$Departure Cue: SEXP

$Ships: ( STRING )

$AI Goals: ( goals ( SEXP ) )

  • SEXP must be from the ai goals list

+Hotkey: INT

+Flags: ( STRING )


#Events

  • The SEXPs that make up the Events List. Events are formatted as follows:

$Formula: SEXP

+Name: STRING

+Repeat Count: INT

+Interval: INT

+Chained: INT

  • The INT shows the chain delay in seconds.

+Objective: XSTR

+Team: INT


#Goals

  • The mission directives. Goals are formatted as follows:

$Type: STRING

  • Primary or Secondary

+name: STRING

$MessageNew: XSTR

$end_multi_text

$Formula: SEXP

+No music

+Invalid


#Waypoints

$Name: STRING

$List: ( ( FLOAT, FLOAT, FLOAT ) )

  • The list can contain more than one Waypoint, example: ( ( FLOAT, FLOAT, FLOAT ) ( FLOAT, FLOAT, FLOAT ) )

#Messages

$Name: STRING

$Team: INT

$MessageNew: XSTR

$end_multi_text

+Persona: STRING

+AVI Name: STRING

+Wave Name: STRING


#Reinforcements

$Name: STRING

  • Name of the wing that is available as reinforcement. That wing needs to have the "reinforcement" flag.

$Type: STRING

$Num times: INT

+Arrival Delay: INT

+No Messages: ( STRING )

+Yes Messages: ( STRING )


#Background bitmaps

$Num stars: INT

$Ambient light level: INT

+Neb2: STRING

+Neb2Flags: INT

+Nebula: STRING

  • (Optional) HISTORICAL Version 1 nebula, not used in FS2 retail campaign.
  • +Color: STRING
    • (Optional) HISTORICAL Version 1 nebula, not used in FS2 retail campaign.
  • +Pitch: INT
    • (Optional) HISTORICAL Version 1 nebula, not used in FS2 retail campaign.
  • +Bank: INT
    • (Optional) HISTORICAL Version 1 nebula, not used in FS2 retail campaign.
  • +Heading: INT
    • (Optional) HISTORICAL Version 1 nebula, not used in FS2 retail campaign.

$Bitmap List:

  • Contains all background bitmaps and suns. Sun entries look like this:

$Sun: STRING

$Angles: FLOAT FLOAT FLOAT

  • Background nebulae and other objects look like this:

$Starbitmap: STRING

+Angles: FLOAT FLOAT FLOAT

+ScaleX: FLOAT

+ScaleY: FLOAT

+DivX: INT

+DivY: INT


#Asteroid Fields

$Density: INT

+Field Type: INT

+Debris Genre: INT

+Field Debris Type: INT

$Average Speed: FLOAT

$Minimum: FLOAT, FLOAT, FLOAT

$Maximum: FLOAT, FLOAT, FLOAT


#Music

$Event Music: STRING

$Briefing Music: STRING


#End

  • The end of the file.