Difference between revisions of "FreeSpace 2 Mission File Format"
(→#Command Briefing: More additions.) |
|||
| (22 intermediate revisions by 5 users not shown) | |||
| Line 1: | Line 1: | ||
| − | + | .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 15: | Line 15: | ||
INT is a single integer. | INT is a single integer. | ||
| − | FLOAT is a floating point number, usually used with 6 digits after the decimal point | + | 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== | ||
| Line 41: | Line 54: | ||
+Flags: INT | +Flags: INT | ||
| + | |||
+NebAwacs: FLOAT | +NebAwacs: FLOAT | ||
+Storm: STRING | +Storm: STRING | ||
| + | |||
+Red Alert: INT | +Red Alert: INT | ||
| + | |||
+Scramble: INT | +Scramble: INT | ||
| Line 64: | Line 80: | ||
FLOAT, FLOAT, FLOAT | FLOAT, FLOAT, FLOAT | ||
*Orientation Matrix for FRED camera | *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 | +SquadReassignName: STRING | ||
| Line 76: | Line 107: | ||
*Which AI profile is used | *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=== | ===#Sexp_variables=== | ||
| − | $Variables: | + | $Variables: |
---- | ---- | ||
| + | |||
===#Plot Info=== | ===#Plot Info=== | ||
| Line 98: | Line 133: | ||
===#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: |
| − | Stages are defined like this: | ||
$Stage Text: XSTR | $Stage Text: XSTR | ||
| Line 114: | Line 148: | ||
===#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 122: | 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 | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
---- | ---- | ||
===#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.
Contents
- 1 General Format
- 2 Sections
- 2.1 #Mission Info
- 2.2 #Fiction Viewer
- 2.3 #Sexp_variables
- 2.4 #Plot Info
- 2.5 #Command Briefing
- 2.6 #Briefing
- 2.7 #Debriefing_info
- 2.8 #Alternate Types
- 2.9 #Callsigns:
- 2.10 #Players
- 2.11 #Objects
- 2.12 #Wings
- 2.13 #Events
- 2.14 #Goals
- 2.15 #Waypoints
- 2.16 #Messages
- 2.17 #Reinforcements
- 2.18 #Background bitmaps
- 2.19 #Asteroid Fields
- 2.20 #Music
- 2.21 #End
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.