
FS2 Open SCP ReadMe

If you run into any bugs or problems, post them using Bugzilla. The
interface is a bit quirky, but once you've gotten accustomed to it, it's
very easy to use. Please note: If you've never used fs2_open before, you'll
have to create a new pilot - otherwise you'll get crashes.

You need DirectX8.1 installed.

Test VP of new stuff:
http://fs2source.warpcore.org/mediaVPs/fs2_open35.zip

All the new stuff is optional. All missions that work in the official FS2
should also work in fs2_open.

Summary of additions:

FS2 enhancements:
ammunition-based primaries (special HUD art is available so that the ammo
doesn't overflow the left side of the weapon display)
custom texture replacement for ships (useful for nameplates, individual
ship art such as kills painted on cockpit, and ship reskins that would
otherwise take up an extra table entry)
primitive sensors cause a ship to view every other ship as untargetable -
they only show up as a blip on the display and can move out of sensor range
there can now be up to 10 different main halls
Damage decal support added; details below. The code is still being
optimized -- if you have more than a few decals in a mission, you might
experience some slowdown.
Ballistic primary support added; details below.
AVI playing



Fred:
beam-free-all-by default mission flag
SEXP menu reorganization with subcategories
squad logos can be set for wings, even wings that aren't part of the
player's squadron
the "special" sexps grant-medal, grant-promotion, etc. have been enabled on
the SEXP menu


Miscellaneous:
transports can now dock with fighters, bombers, and stealth ships
the firing code now supports more than two primaries and more than three
secondaries, in case anyone wants to make the required changes elsewhere
some respellings (especially "catagory" corrected [pic])

Corkscrew missiles

Wireframe hud target box - ctrl+alt+q

Fighter flak: add "flak" tag to a primary weapon

dumbfire lead indicator: automatic

no sun glare option (useful for negative suns): add $NoGlare: to the end of
a sun entry

OpenGL mode - change the videocard string in the registry to "OpenGL -"

hull repairing support ship: flag in FRED

damaged-escort-priority sexp: in FRED

Loads of new sexps added; details below. If you'd like to request a sexp,
post in the sexp thread.

Transports can now dock with fighters, bombers, & stealth ships.
Beam-free-all-by-default mission flag added. When set, this will
automatically beam-free-all every ship in the mission - saving you a bunch
of sexps.
Old bugs fixed (including the player entry delay bug, the beam bug, and the
weapons tech room crash); new bugs added.
Subcategories added to the FRED2 sexp editor, making sexping much faster.
There is now a TBL INFO button present next to initial orders in ship
editor. Pressing this will show the table info for the current selected
ship type.

Movies

Adding a movie to a mission:
This is pretty easy. Anyone who's used the Campaign Editor will have
noticed the field for a "Briefing cutscene". Just enter the filename of the
movie, and it should play right before the Command Briefing.

Enabling movie support:
Movie support needs to be enabled with the "-dshowvid" command line option.
Otherwise, movies will be skipped when they're set to play.

You'll also probably need DX8 to use the EXE, and the DX8 SDK to compile
the movie-specific code (in "movie" and "dx8show")

SEXP

New Sexps (documented in the SEXPs thread):
ai-chase-any-except
change-ai-class, is-ai-class
distance-ship-subsystem
set-scanned, set-unscanned
ship-stealthy, ship-unstealthy, is-ship-stealthy
friendly-stealth-invisible, friendly-stealth-visible, is-friendly-stealth-
visible
damaged-escort-priority-all
set-vaporize, set-no-vaporize
dont-collide-invisible, collide-invisible
set-cargo, is-cargo
primaries-depleted, primary-ammo-pct
change-ship-model, change-ship-class
primitive-sensor-distance
Added "no-subspace-drive" flag for ships; in the process of adding set-
support-ship SEXP
change-music; it changes the music that plays during a mission

Also, I bumped the amount of soundtracks you can specify in music.tbl from
10 to 25.



change-ai-class changes the AI class of a ship or ship subsystem(s) (i.e.,
gun turrets) in mid-mission

damage-escort-list sets the most damaged ship in a specified list to the
first specified priority and all other ships in the list to the second
specified priority

damage-escort-list-all reprioritizes the entire escort ship list according
to a specified list of priorities, from most damaged to least damaged

distance-ship-subsystem returns the distance of a certain object (a ship, a
wing, or a waypoint) from a ship subsystem. Useful for checking if ships
are nearing a fighterbay, if a bomber wing is close enough to attack a
subsystem, if the player's fighter is too close to a capital ship's engine
(triggering a wingman's "watch out for the engine wash!" message), etc.

end-mission ends a mission immediately, without the warpout sequence

friendly-stealth-visible and friendly-stealth-invisible specify whether a
ship will appear on sensors when it has its stealth flag set and a friendly
iff

is-ai-class checks to see whether a certain ship or ship subsystem(s)
is/are of a certain AI class (works just like is-iff)

is-cargo checks to see whether a certain ship or ship subsystem has the
specified cargo

is-friendly-stealth-visible checks to see if a ship will appear on sensors
when it has its stealth flag set and a friendly iff

is-ship-stealthy checks to see if a ship's stealth flag is set

primary-ammo-pct is for ballistic primaries what secondary-ammo-pct is for
conventional secondaries

primaries-depleted is for ballistic primaries what secondaries-depleted is
for conventional secondaries

set-cargo sets a ship's or ship subsystem's cargo without requiring a
transfer or swap with some other ship

set-scanned and set-unscanned set a ship or sub subsystem(s) as scanned or
unscanned (or cargo known/unknown) without the player actually having to do
the scan; set-unscanned is useful to prevent the player from scanning
something before he should

ship-stealthy and ship-unstealthy set the stealth flag on ships

Shield on

Shield off


List of sexp fixes:

is-iff, is-tagged now work the way they should

rand will now generate more than one random number per mission

training-msg no longer requires Instructor to be present


Fun uses of sexp combinations:

end-mission, in conjunction with distance-ship-subsystem, allows the player
ship to depart into a fighter bay. You may run into problems where the sexp
fires before the ship actually enters the bay if you test the distance from
the bay itself; in this case, simply triangulate the distance from a couple
of other subsystems. [pic]

rand, set-cargo, and is-cargo can be used to randomize a cargo inspection
mission - so that the player doesn't know beforehand which cargo container
needs to be scanned/captured, even if he replays the mission


Corkscrew missiles
properties of corkscrew missiles be defined in tables, before they were
hardcoded in the game. The new "$Corkscrew:" flag is optional after any EMP
and Leech info that is defined. If "$Corkscrew:" is not defined, it reverts
to defaults assigned to the Tornado. It goes as follows. It ignores this if
the weapon does not define "corkscrew" in the flags.
code:
[pic]

$Corkscrew:
      +Num Fired:                 4       ;; Number fired in single-fire
mode
      +Radius:               1.25                   ;; radius of spiral
      +Fire Delay:           30                 ;; fire delay in
milliseconds between each individual missile
      +Counter rotate:       YES              ;; counter rotate alternate
missiles
      +Twist:                5                ;; rad/sec the missiles twist
[pic]

How to enable ballistic primary weapons:

Make the following table changes...

Ships.tbl
--Add "ballistic primaries" to the fighter flags
--Add +Pbank Capacity: ( x, ... ) right after $Default Pbanks (in the same
vein as for secondary capacity)

Weapons.tbl
--Add "ballistic" to the weapon flags
--Add $Rearm Rate: x immediately before $Flags (again, just like with
secondaries)

Sounds.tbl
--In the Game Sounds section, copy entries 33 and 34 to spaces 165 and 166.
These will be the sounds for when the ballistic primaries rearm. You may
want to change them, or you may want to leave them the same sounds as for
secondaries.

Please note that the ETS slider for weapons does not appear if no weapon
uses energy. If two out of three systems (weapons, shields, engines) do not
use the ETS gauge, the entire gauge will be gone. This is because when your
ship has neither shields nor weapon energy storage, there's no point in
modifying engine energy when the other two are not present.

You'll also note that the primary weapon ammunition readouts spill over
past the left side of their place in the HUD display. To fix this, download
additional HUD graphics from here. These will take the place of the old
graphics in missions that make use of ballistic primaries. [pic]


How to implement damage decals:

Add this to the bottom of your weapons table entry...
code:
[pic]
$decal:
  +texture: [a texture name]
  +backface texture: [another texture name]
  +radius: [a float]
[pic]

The textures should all be in PCX format. Sample screenshot below...

[pic]


Ship Trails


-Toggleable ship trails
-Option to make it so the support ship repairs hull damage
To enable ship trails in a mission:
1) Open the mission file in a text editor
2) Add 32 to "+Flags:"

To have the support ship repair ships' hull:
1) Open the mission file in a text editor
2) Add 64 to "+Flags:"

Command argument flags

fs2_open -X

where x is

-almission Y ; Auto loads multiplayer mission Y, where Y is the mission
file name without the extension
(DTP) ; Mission must exist in mission directory or the game will crash.
;
-GF4FIX ; Enables the Geforce 4 fix for ani files
(Random tiger) ;
;
-ALLSLEV ; Gives access to all singleplayer missions
(Random tiger) ;
;
-phreak ; Gives access to Phreaks targeting-code and options
(Phreak) ;
;
-mod Y ; Switches on the mod system, where Y is a subdirectory found in
../freespace2/
(DTP) ;
; in case Y = mymod, then the game will look in these directories for
extra/replacement files
;
; freespace2/mymod/
; freespace2/mymod/data/
; freespace2/mymod/missions/
; freespace2/mymod/tables/
;
; and so on, all valid subdirectories in the mod directory will be read
from.
;
; in case of the mod flag, you must manually in some way create the mod
directories player
; sub-directories, you must do this before you run the game with the mod
flag.
; these are in case Y = mymod
;
; freespace2/mymod/players/
; freespace2/mymod/players/single
; freespace2/mymod/players/multi
; freespace2/mymod/players/squad ;dont know about this one really needs to
be created
; ;but be safe and create it anyway
; freespace2/mymod/players/images ;same as above.
;
;
;
;
; so the mod directory if Y=mymod would be freespace2/mymod
; all valid subdirectories like data/missions found in the mod directory
will be used
; to be looked for files. if a file is found, and if a matching file exists
in the normal
; locations then the file found in the mod directory will be used.
;
; VP files should now be fully supported.
; But if a .VP file is found in the Mod directory then files found in that
.VP file will be used
; Instead of the files found in VP files in other locations than the mod
directory.
;
; should there be more than 1 .VP file in the mod directory containing
matching files, then the file
; found in the VP file that lexicographically comes first be used.
;
; Plain files not packed(in both the mod directroy and the default
directories) will be used instead of matching files found in any .Vp file
;
; Player directories in the Mod directory must at the present time, be
created, manually
; Those directories must exist or the game cannot write the pilot info when
the player is being forced
; To create a new pilot when running the game for the first time.
;
; The game will ask for CD # 2 when you run the game with the mod-flag for
a mod
; if there is not any pilot (.plr) files present
;
; Do not use invalid signs such as "#¤%&/()=? `@£$€{[]}~|'*¨^ in your mod
directory name
;
; Y must match the directory name to the point. dont worry about directory
seperators, the game adds them if needed.

-----end of command line argument enhancements.


Bug fixes:

-Multiplayer success/failure music fixed
-Fixed secondary banks' inheriting of the reload time when a weapon runs
out of ammo
-AI code revised for better primary weapon selection
-Subspace Missile code updated to work with Tag C

Sexp fixes:
FRED doesn't complain anymore when you make Alpha 1 the target of certain
sexps
rand now generates more than one random number per event
orders does what it's supposed to
training-msg doesn't require Instructor to be present
is-iff now works properly
both change-iff and is-iff support both wings and ships
ai-stay-near-ship and ai-keep-safe-distance enabled for fighters and
bombers


Bug fixes for bugs introduced in various SCP builds:
send-message <any wingman>
huge engine glows
no beam whack
beam depletion of shields - completed DTP's fast fix
