https://wiki.hard-light.net/api.php?action=feedcontributions&user=Chief1983&feedformat=atomFreeSpace Wiki - User contributions [en]2024-03-28T20:19:11ZUser contributionsMediaWiki 1.31.7https://wiki.hard-light.net/index.php?title=Debug_filter.cfg&diff=46005Debug filter.cfg2017-02-14T17:13:08Z<p>Chief1983: Seems some filters were made obsolete recently.</p>
<hr />
<div>{{TableVersion|bd0a144/20170214}}<br />
<br />
== Overview ==<br />
<br />
The following list is the possible options for putting into a debug_filter.cfg which should be located in your FreeSpace2 Data directory (Freespace2/data for 3.7.4 or earlier on Windows, %APPDATA%\HardLightProductions\Freespace2\data for everywhere else).<br />
<br />
A '+' means that the item listed will have output generated to the fs2_open.log or Fred2_open.log. A '-' means to disregard those items and not print output from them.<br />
<br />
Strings are not case-sensitive as they are checked with stricmp().<br />
<br />
== Available Options ==<br />
<br />
===+AB TRAIL===<br />
<br />
Debugs the creation of afterburner points on a given ship name.<br />
<br />
===+AI===<br />
<br />
Outputs a lot of information related to the AI code.<br />
<br />
===+Alan===<br />
<br />
Lots of information across various files including pre-mission screens, AI, and audio code.<br />
<br />
===+allender===<br />
<br />
Debugs for campaign advancement issues, arrival anchors, and some object cleanup code.<br />
<br />
===+Andsager===<br />
<br />
Currently unused in the code base.<br />
<br />
===+BEAM===<br />
<br />
Identifies bad shot_index values for type D beams, beams powering down for FOV reasons, and recycled beams.<br />
<br />
===+BMP DEBUG===<br />
<br />
Outputs data related to BMPMAN loads and locks, and memory usage.<br />
<br />
===+BmpFastLoad===<br />
<br />
Outputs when it found a bitmap.<br />
<br />
===+BmpInfo===<br />
<br />
Outputs when BMPMAN is loading all used bitmaps and when it completes.<br />
<br />
===+BmpMan===<br />
<br />
The rest of the BMPMAN specific debugging information.<br />
<br />
===+CD===<br />
<br />
Debugs the CD volume to the log.<br />
<br />
===+CFileDebug===<br />
<br />
Outputs the full path where a requested file was found in cfile.cpp.<br />
<br />
===+collision===<br />
<br />
Identifies when the game has run out of object pairs, potentially leading to failed collisions. See objcollide.cpp.<br />
<br />
===+Error===<br />
<br />
Error-level issues printed to the log by default. Can be disabled using debug_filter.cfg.<br />
<br />
===+EVENTMUSIC===<br />
<br />
Debugs music switching events in eventmusic.cpp.<br />
<br />
===+Fred routing===<br />
<br />
Debugs various dialog flows in FRED2.<br />
<br />
===+General===<br />
<br />
General-level issues printed to the log by default. Can be disabled using debug_filter.cfg.<br />
<br />
===+Jim===<br />
<br />
Debugs the frame a weapon is set to detonate in collideshipweapon.cpp.<br />
<br />
===+Joystick===<br />
<br />
Debugging related to joysticks.<br />
<br />
===+lethality===<br />
<br />
Debugs the player's lethality and the number of turrets targeting a player.<br />
<br />
===+lightning===<br />
<br />
Debugs when bolts are released and when out of lightning nodes.<br />
<br />
===+Maps===<br />
<br />
Identifies when an animation could not be found for a given dbg_name in modelinterp.cpp.<br />
<br />
===+messaging===<br />
<br />
Debugs things related to the player messages in missionmessage.cpp.<br />
<br />
===+Mike===<br />
<br />
Debugs laser and missile counts in a frame.<br />
<br />
===+missionlog===<br />
<br />
Debug various things in missionlog.cpp.<br />
<br />
===+MK===<br />
<br />
Currently unused in the code base.<br />
<br />
===+Model===<br />
<br />
Reports issues with models found in the modelread.cpp code.<br />
<br />
===+ModelAnim===<br />
<br />
Debugs info about model animations and when they are played.<br />
<br />
===+MOVIE===<br />
<br />
Writes log entries when memory allocation for movies fails for various reasons. Seems to be removed after 3.7.4, probably during the FFMpeg conversion.<br />
<br />
===+MVE===<br />
<br />
Debugs a couple of things in the decoder16.cpp file.<br />
<br />
===+Network===<br />
<br />
Lots of debugging related to the networking code.<br />
<br />
===+OGGISH===<br />
<br />
Identifies an ogg error occurred in audiostr.cpp. Seems to be removed after 3.7.4, probably during the FFMpeg conversion.<br />
<br />
===+OpenAL===<br />
<br />
Currently debugs detected capture and playback devices.<br />
<br />
===+OpenGL===<br />
<br />
Logs some OpenGL errors found in gropengl.cpp.<br />
<br />
===+Paging===<br />
<br />
Debugs when and for what ships during a mission assets are paged in.<br />
<br />
===+parse===<br />
<br />
This one can get noisy, outputs lots of debugging info related to parsing files and weapons.<br />
<br />
===+Particles===<br />
<br />
Outputs the Num_particles high water mark in particle.cpp.<br />
<br />
===+Physics===<br />
<br />
Numerous log entries related to the physics and collision detection code.<br />
<br />
===+Registry===<br />
<br />
Debugs things read from the registry (should be gone after 3.7.4).<br />
<br />
===+Sandeep===<br />
<br />
Debugs when a joystick effect is played in shiphit.cpp.<br />
<br />
===+SEXP===<br />
<br />
Some error-logging throughout the sexp.cpp codebase.<br />
<br />
===+SHADER-DEBUG===<br />
<br />
Additional warning logging for the shader compilation.<br />
<br />
===+Sound===<br />
<br />
Additional sound related warning logging throughout the codebase.<br />
<br />
===+Speech===<br />
<br />
Some statements to help identify issues with loading text to speech.<br />
<br />
===+UI===<br />
<br />
A warning about bad bitmap mask switching and info about the current UI state.<br />
<br />
===+Warning===<br />
<br />
Warning-level issues printed to the log by default. Can be disabled using debug_filter.cfg.<br />
<br />
===+wash===<br />
<br />
Engine wash output.<br />
<br />
===+Weapons===<br />
<br />
Debugs when a weapon is not being loaded in weapons.cpp.<br />
<br />
== Sample Complete debug_filter.cfg ==<br />
<br />
I cannot recommend using this as-is as it will lead to a very noisy log, that will often be too large to distribute easily during troubleshooting. Disabling parsing errors alone helps immensely with that however.<br />
<br />
<pre><br />
+AB TRAIL<br />
+AI<br />
+Alan<br />
+Allender<br />
+Beam<br />
+BMP DEBUG<br />
+BmpFastLoad<br />
+BmpInfo<br />
+BmpMan<br />
+CD<br />
+CFileDebug<br />
+Collision<br />
+Error<br />
+EVENTMUSIC<br />
+Fred routing<br />
+General<br />
+Jim<br />
+JOYSTICK<br />
+Lethality<br />
+Lightning<br />
+Maps<br />
+Messaging<br />
+Mike<br />
+MissionLog<br />
+Model<br />
+ModelAnim<br />
+MOVIE<br />
+MVE<br />
+Network<br />
+OGGISH<br />
+OpenAL<br />
+OpenGL<br />
+Paging<br />
+Parse<br />
+Particles<br />
+Physics<br />
+Registry<br />
+Sandeep<br />
+SEXP<br />
+SHADER-DEBUG<br />
+Sound<br />
+Speech<br />
+UI<br />
+Warning<br />
+Wash<br />
+Weapons<br />
</pre></div>Chief1983https://wiki.hard-light.net/index.php?title=Template:TableVersion&diff=45597Template:TableVersion2016-08-02T14:46:43Z<p>Chief1983: </p>
<hr />
<div><includeonly>Revision information.....<br />
::'''FSO Revision:''' {{{1}}}<br />
{{Note|Please update the version when the page is updated. If your edit had nothing to do with new code entries then please do not edit the version}}<br />
</includeonly><br />
<noinclude>This table is meant for making the organizing the table file code versions easier<br />
<br />
<pre>Revision information.....<br />
::'''FSO Revision:''' {{{1}}}<br />
{{Note|Please update the version when the page is updated. If your edit had nothing to do with new code entries then please do not edit the version}}</pre><br />
<br />
[[Category:Templates|TableVersion]]</noinclude></div>Chief1983https://wiki.hard-light.net/index.php?title=Debug_filter.cfg&diff=45596Debug filter.cfg2016-08-02T14:45:31Z<p>Chief1983: Added the Speech line.</p>
<hr />
<div>{{TableVersion|44c7155/20160802}}<br />
<br />
== Overview ==<br />
<br />
The following list is the possible options for putting into a debug_filter.cfg which should be located in your FreeSpace2 Data directory (Freespace2/data for 3.7.4 or earlier on Windows, %APPDATA%\HardLightProductions\Freespace2\data for everywhere else).<br />
<br />
A '+' means that the item listed will have output generated to the fs2_open.log or Fred2_open.log. A '-' means to disregard those items and not print output from them.<br />
<br />
Strings are not case-sensitive as they are checked with stricmp().<br />
<br />
== Available Options ==<br />
<br />
===+AB TRAIL===<br />
<br />
Debugs the creation of afterburner points on a given ship name.<br />
<br />
===+AI===<br />
<br />
Outputs a lot of information related to the AI code.<br />
<br />
===+Alan===<br />
<br />
Lots of information across various files including pre-mission screens, AI, and audio code.<br />
<br />
===+allender===<br />
<br />
Debugs for campaign advancement issues, arrival anchors, and some object cleanup code.<br />
<br />
===+Andsager===<br />
<br />
Currently unused in the code base.<br />
<br />
===+BEAM===<br />
<br />
Identifies bad shot_index values for type D beams, beams powering down for FOV reasons, and recycled beams.<br />
<br />
===+BMP DEBUG===<br />
<br />
Outputs data related to BMPMAN loads and locks, and memory usage.<br />
<br />
===+BmpFastLoad===<br />
<br />
Outputs when it found a bitmap.<br />
<br />
===+BmpInfo===<br />
<br />
Outputs when BMPMAN is loading all used bitmaps and when it completes.<br />
<br />
===+BmpMan===<br />
<br />
The rest of the BMPMAN specific debugging information.<br />
<br />
===+CD===<br />
<br />
Debugs the CD volume to the log.<br />
<br />
===+CFileDebug===<br />
<br />
Outputs the full path where a requested file was found in cfile.cpp.<br />
<br />
===+collision===<br />
<br />
Identifies when the game has run out of object pairs, potentially leading to failed collisions. See objcollide.cpp.<br />
<br />
===+Error===<br />
<br />
Error-level issues printed to the log by default. Can be disabled using debug_filter.cfg.<br />
<br />
===+EVENTMUSIC===<br />
<br />
Debugs music switching events in eventmusic.cpp.<br />
<br />
===+Fred routing===<br />
<br />
Debugs various dialog flows in FRED2.<br />
<br />
===+General===<br />
<br />
General-level issues printed to the log by default. Can be disabled using debug_filter.cfg.<br />
<br />
===+Jim===<br />
<br />
Debugs the frame a weapon is set to detonate in collideshipweapon.cpp.<br />
<br />
===+Joystick===<br />
<br />
Debugging related to joysticks.<br />
<br />
===+lethality===<br />
<br />
Debugs the player's lethality and the number of turrets targeting a player.<br />
<br />
===+lightning===<br />
<br />
Debugs when bolts are released and when out of lightning nodes.<br />
<br />
===+Maps===<br />
<br />
Identifies when an animation could not be found for a given dbg_name in modelinterp.cpp.<br />
<br />
===+messaging===<br />
<br />
Debugs things related to the player messages in missionmessage.cpp.<br />
<br />
===+Mike===<br />
<br />
Debugs laser and missile counts in a frame.<br />
<br />
===+missionlog===<br />
<br />
Debug various things in missionlog.cpp.<br />
<br />
===+MK===<br />
<br />
Currently unused in the code base.<br />
<br />
===+Model===<br />
<br />
Reports issues with models found in the modelread.cpp code.<br />
<br />
===+ModelAnim===<br />
<br />
Debugs info about model animations and when they are played.<br />
<br />
===+MOVIE===<br />
<br />
Writes log entries when memory allocation for movies fails for various reasons.<br />
<br />
===+MVE===<br />
<br />
Debugs a couple of things in the decoder16.cpp file.<br />
<br />
===+Network===<br />
<br />
Lots of debugging related to the networking code.<br />
<br />
===+OGGISH===<br />
<br />
Identifies an ogg error occurred in audiostr.cpp.<br />
<br />
===+OpenAL===<br />
<br />
Currently debugs detected capture and playback devices.<br />
<br />
===+OpenGL===<br />
<br />
Logs some OpenGL errors found in gropengl.cpp.<br />
<br />
===+Paging===<br />
<br />
Debugs when and for what ships during a mission assets are paged in.<br />
<br />
===+parse===<br />
<br />
This one can get noisy, outputs lots of debugging info related to parsing files and weapons.<br />
<br />
===+Particles===<br />
<br />
Outputs the Num_particles high water mark in particle.cpp.<br />
<br />
===+Physics===<br />
<br />
Numerous log entries related to the physics and collision detection code.<br />
<br />
===+Registry===<br />
<br />
Debugs things read from the registry (should be gone after 3.7.4).<br />
<br />
===+Sandeep===<br />
<br />
Debugs when a joystick effect is played in shiphit.cpp.<br />
<br />
===+SEXP===<br />
<br />
Some error-logging throughout the sexp.cpp codebase.<br />
<br />
===+SHADER-DEBUG===<br />
<br />
Additional warning logging for the shader compilation.<br />
<br />
===+Sound===<br />
<br />
Additional sound related warning logging throughout the codebase.<br />
<br />
===+Speech===<br />
<br />
Some statements to help identify issues with loading text to speech.<br />
<br />
===+UI===<br />
<br />
A warning about bad bitmap mask switching and info about the current UI state.<br />
<br />
===+Warning===<br />
<br />
Warning-level issues printed to the log by default. Can be disabled using debug_filter.cfg.<br />
<br />
===+wash===<br />
<br />
Engine wash output.<br />
<br />
===+Weapons===<br />
<br />
Debugs when a weapon is not being loaded in weapons.cpp.<br />
<br />
== Sample Complete debug_filter.cfg ==<br />
<br />
I cannot recommend using this as-is as it will lead to a very noisy log, that will often be too large to distribute easily during troubleshooting. Disabling parsing errors alone helps immensely with that however.<br />
<br />
<pre><br />
+AB TRAIL<br />
+AI<br />
+Alan<br />
+Allender<br />
+Beam<br />
+BMP DEBUG<br />
+BmpFastLoad<br />
+BmpInfo<br />
+BmpMan<br />
+CD<br />
+CFileDebug<br />
+Collision<br />
+Error<br />
+EVENTMUSIC<br />
+Fred routing<br />
+General<br />
+Jim<br />
+JOYSTICK<br />
+Lethality<br />
+Lightning<br />
+Maps<br />
+Messaging<br />
+Mike<br />
+MissionLog<br />
+Model<br />
+ModelAnim<br />
+MOVIE<br />
+MVE<br />
+Network<br />
+OGGISH<br />
+OpenAL<br />
+OpenGL<br />
+Paging<br />
+Parse<br />
+Particles<br />
+Physics<br />
+Registry<br />
+Sandeep<br />
+SEXP<br />
+SHADER-DEBUG<br />
+Sound<br />
+Speech<br />
+UI<br />
+Warning<br />
+Wash<br />
+Weapons<br />
</pre></div>Chief1983https://wiki.hard-light.net/index.php?title=Debug_filter.cfg&diff=45577Debug filter.cfg2016-07-25T17:57:36Z<p>Chief1983: Added a couple missing debug filters.</p>
<hr />
<div>{{TableVersion|GIT}}<br />
<br />
== Overview ==<br />
<br />
The following list is the possible options for putting into a debug_filter.cfg which should be located in your FreeSpace2 Data directory (Freespace2/data for 3.7.4 or earlier on Windows, %APPDATA%\HardLightProductions\Freespace2\data for everywhere else).<br />
<br />
A '+' means that the item listed will have output generated to the fs2_open.log or Fred2_open.log. A '-' means to disregard those items and not print output from them.<br />
<br />
Strings are not case-sensitive as they are checked with stricmp().<br />
<br />
== Available Options ==<br />
<br />
===+AB TRAIL===<br />
<br />
Debugs the creation of afterburner points on a given ship name.<br />
<br />
===+AI===<br />
<br />
Outputs a lot of information related to the AI code.<br />
<br />
===+Alan===<br />
<br />
Lots of information across various files including pre-mission screens, AI, and audio code.<br />
<br />
===+allender===<br />
<br />
Debugs for campaign advancement issues, arrival anchors, and some object cleanup code.<br />
<br />
===+Andsager===<br />
<br />
Currently unused in the code base.<br />
<br />
===+BEAM===<br />
<br />
Identifies bad shot_index values for type D beams, beams powering down for FOV reasons, and recycled beams.<br />
<br />
===+BMP DEBUG===<br />
<br />
Outputs data related to BMPMAN loads and locks, and memory usage.<br />
<br />
===+BmpFastLoad===<br />
<br />
Outputs when it found a bitmap.<br />
<br />
===+BmpInfo===<br />
<br />
Outputs when BMPMAN is loading all used bitmaps and when it completes.<br />
<br />
===+BmpMan===<br />
<br />
The rest of the BMPMAN specific debugging information.<br />
<br />
===+CD===<br />
<br />
Debugs the CD volume to the log.<br />
<br />
===+CFileDebug===<br />
<br />
Outputs the full path where a requested file was found in cfile.cpp.<br />
<br />
===+collision===<br />
<br />
Identifies when the game has run out of object pairs, potentially leading to failed collisions. See objcollide.cpp.<br />
<br />
===+Error===<br />
<br />
Error-level issues printed to the log by default. Can be disabled using debug_filter.cfg.<br />
<br />
===+EVENTMUSIC===<br />
<br />
Debugs music switching events in eventmusic.cpp.<br />
<br />
===+Fred routing===<br />
<br />
Debugs various dialog flows in FRED2.<br />
<br />
===+General===<br />
<br />
General-level issues printed to the log by default. Can be disabled using debug_filter.cfg.<br />
<br />
===+Jim===<br />
<br />
Debugs the frame a weapon is set to detonate in collideshipweapon.cpp.<br />
<br />
===+Joystick===<br />
<br />
Debugging related to joysticks.<br />
<br />
===+lethality===<br />
<br />
Debugs the player's lethality and the number of turrets targeting a player.<br />
<br />
===+lightning===<br />
<br />
Debugs when bolts are released and when out of lightning nodes.<br />
<br />
===+Maps===<br />
<br />
Identifies when an animation could not be found for a given dbg_name in modelinterp.cpp.<br />
<br />
===+messaging===<br />
<br />
Debugs things related to the player messages in missionmessage.cpp.<br />
<br />
===+Mike===<br />
<br />
Debugs laser and missile counts in a frame.<br />
<br />
===+missionlog===<br />
<br />
Debug various things in missionlog.cpp.<br />
<br />
===+MK===<br />
<br />
Currently unused in the code base.<br />
<br />
===+Model===<br />
<br />
Reports issues with models found in the modelread.cpp code.<br />
<br />
===+ModelAnim===<br />
<br />
Debugs info about model animations and when they are played.<br />
<br />
===+MOVIE===<br />
<br />
Writes log entries when memory allocation for movies fails for various reasons.<br />
<br />
===+MVE===<br />
<br />
Debugs a couple of things in the decoder16.cpp file.<br />
<br />
===+Network===<br />
<br />
Lots of debugging related to the networking code.<br />
<br />
===+OGGISH===<br />
<br />
Identifies an ogg error occurred in audiostr.cpp.<br />
<br />
===+OpenAL===<br />
<br />
Currently debugs detected capture and playback devices.<br />
<br />
===+OpenGL===<br />
<br />
Logs some OpenGL errors found in gropengl.cpp.<br />
<br />
===+Paging===<br />
<br />
Debugs when and for what ships during a mission assets are paged in.<br />
<br />
===+parse===<br />
<br />
This one can get noisy, outputs lots of debugging info related to parsing files and weapons.<br />
<br />
===+Particles===<br />
<br />
Outputs the Num_particles high water mark in particle.cpp.<br />
<br />
===+Physics===<br />
<br />
Numerous log entries related to the physics and collision detection code.<br />
<br />
===+Registry===<br />
<br />
Debugs things read from the registry (should be gone after 3.7.4).<br />
<br />
===+Sandeep===<br />
<br />
Debugs when a joystick effect is played in shiphit.cpp.<br />
<br />
===+SEXP===<br />
<br />
Some error-logging throughout the sexp.cpp codebase.<br />
<br />
===+SHADER-DEBUG===<br />
<br />
Additional warning logging for the shader compilation.<br />
<br />
===+Sound===<br />
<br />
Additional sound related warning logging throughout the codebase.<br />
<br />
===+UI===<br />
<br />
A warning about bad bitmap mask switching and info about the current UI state.<br />
<br />
===+Warning===<br />
<br />
Warning-level issues printed to the log by default. Can be disabled using debug_filter.cfg.<br />
<br />
===+wash===<br />
<br />
Engine wash output.<br />
<br />
===+Weapons===<br />
<br />
Debugs when a weapon is not being loaded in weapons.cpp.<br />
<br />
== Sample Complete debug_filter.cfg ==<br />
<br />
I cannot recommend using this as-is as it will lead to a very noisy log, that will often be too large to distribute easily during troubleshooting. Disabling parsing errors alone helps immensely with that however.<br />
<br />
<pre><br />
+AB TRAIL<br />
+AI<br />
+Alan<br />
+Allender<br />
+Beam<br />
+BMP DEBUG<br />
+BmpFastLoad<br />
+BmpInfo<br />
+BmpMan<br />
+CD<br />
+CFileDebug<br />
+Collision<br />
+Error<br />
+EVENTMUSIC<br />
+Fred routing<br />
+General<br />
+Jim<br />
+JOYSTICK<br />
+Lethality<br />
+Lightning<br />
+Maps<br />
+Messaging<br />
+Mike<br />
+MissionLog<br />
+Model<br />
+ModelAnim<br />
+MOVIE<br />
+MVE<br />
+Network<br />
+OGGISH<br />
+OpenAL<br />
+OpenGL<br />
+Paging<br />
+Parse<br />
+Particles<br />
+Physics<br />
+Registry<br />
+Sandeep<br />
+SEXP<br />
+SHADER-DEBUG<br />
+Sound<br />
+UI<br />
+Warning<br />
+Wash<br />
+Weapons<br />
</pre></div>Chief1983https://wiki.hard-light.net/index.php?title=Debug_filter.cfg&diff=45576Debug filter.cfg2016-07-25T17:50:13Z<p>Chief1983: Overhaul of this page, adding a lot more information and providing a structure to add more about the use of each debug filter argument.</p>
<hr />
<div>{{TableVersion|GIT}}<br />
<br />
== Overview ==<br />
<br />
The following list is the possible options for putting into a debug_filter.cfg which should be located in your FreeSpace2 Data directory (Freespace2/data for 3.7.4 or earlier on Windows, %APPDATA%\HardLightProductions\Freespace2\data for everywhere else).<br />
<br />
A '+' means that the item listed will have output generated to the fs2_open.log or Fred2_open.log. A '-' means to disregard those items and not print output from them.<br />
<br />
Strings are not case-sensitive as they are checked with stricmp().<br />
<br />
== Available Options ==<br />
<br />
===+AB TRAIL===<br />
<br />
Debugs the creation of afterburner points on a given ship name.<br />
<br />
===+AI===<br />
<br />
Outputs a lot of information related to the AI code.<br />
<br />
===+Alan===<br />
<br />
Lots of information across various files including pre-mission screens, AI, and audio code.<br />
<br />
===+allender===<br />
<br />
Debugs for campaign advancement issues, arrival anchors, and some object cleanup code.<br />
<br />
===+Andsager===<br />
<br />
Currently unused in the code base.<br />
<br />
===+BEAM===<br />
<br />
Identifies bad shot_index values for type D beams, beams powering down for FOV reasons, and recycled beams.<br />
<br />
===+BMP DEBUG===<br />
<br />
Outputs data related to BMPMAN loads and locks, and memory usage.<br />
<br />
===+BmpFastLoad===<br />
<br />
Outputs when it found a bitmap.<br />
<br />
===+BmpInfo===<br />
<br />
Outputs when BMPMAN is loading all used bitmaps and when it completes.<br />
<br />
===+BmpMan===<br />
<br />
The rest of the BMPMAN specific debugging information.<br />
<br />
===+CD===<br />
<br />
Debugs the CD volume to the log.<br />
<br />
===+collision===<br />
<br />
Identifies when the game has run out of object pairs, potentially leading to failed collisions. See objcollide.cpp.<br />
<br />
===+Error===<br />
<br />
Error-level issues printed to the log by default. Can be disabled using debug_filter.cfg.<br />
<br />
===+EVENTMUSIC===<br />
<br />
Debugs music switching events in eventmusic.cpp.<br />
<br />
===+Fred routing===<br />
<br />
Debugs various dialog flows in FRED2.<br />
<br />
===+General===<br />
<br />
General-level issues printed to the log by default. Can be disabled using debug_filter.cfg.<br />
<br />
===+Jim===<br />
<br />
Debugs the frame a weapon is set to detonate in collideshipweapon.cpp.<br />
<br />
===+Joystick===<br />
<br />
Debugging related to joysticks.<br />
<br />
===+lethality===<br />
<br />
Debugs the player's lethality and the number of turrets targeting a player.<br />
<br />
===+lightning===<br />
<br />
Debugs when bolts are released and when out of lightning nodes.<br />
<br />
===+Maps===<br />
<br />
Identifies when an animation could not be found for a given dbg_name in modelinterp.cpp.<br />
<br />
===+messaging===<br />
<br />
Debugs things related to the player messages in missionmessage.cpp.<br />
<br />
===+Mike===<br />
<br />
Debugs laser and missile counts in a frame.<br />
<br />
===+missionlog===<br />
<br />
Debug various things in missionlog.cpp.<br />
<br />
===+MK===<br />
<br />
Currently unused in the code base.<br />
<br />
===+Model===<br />
<br />
Reports issues with models found in the modelread.cpp code.<br />
<br />
===+ModelAnim===<br />
<br />
Debugs info about model animations and when they are played.<br />
<br />
===+MOVIE===<br />
<br />
Writes log entries when memory allocation for movies fails for various reasons.<br />
<br />
===+MVE===<br />
<br />
Debugs a couple of things in the decoder16.cpp file.<br />
<br />
===+Network===<br />
<br />
Lots of debugging related to the networking code.<br />
<br />
===+OGGISH===<br />
<br />
Identifies an ogg error occurred in audiostr.cpp.<br />
<br />
===+OpenAL===<br />
<br />
Currently debugs detected capture and playback devices.<br />
<br />
===+OpenGL===<br />
<br />
Logs some OpenGL errors found in gropengl.cpp.<br />
<br />
===+Paging===<br />
<br />
Debugs when and for what ships during a mission assets are paged in.<br />
<br />
===+parse===<br />
<br />
This one can get noisy, outputs lots of debugging info related to parsing files and weapons.<br />
<br />
===+Particles===<br />
<br />
Outputs the Num_particles high water mark in particle.cpp.<br />
<br />
===+Physics===<br />
<br />
Numerous log entries related to the physics and collision detection code.<br />
<br />
===+Registry===<br />
<br />
Debugs things read from the registry (should be gone after 3.7.4).<br />
<br />
===+Sandeep===<br />
<br />
Debugs when a joystick effect is played in shiphit.cpp.<br />
<br />
===+SEXP===<br />
<br />
Some error-logging throughout the sexp.cpp codebase.<br />
<br />
===+SHADER-DEBUG===<br />
<br />
Additional warning logging for the shader compilation.<br />
<br />
===+Sound===<br />
<br />
Additional sound related warning logging throughout the codebase.<br />
<br />
===+UI===<br />
<br />
A warning about bad bitmap mask switching and info about the current UI state.<br />
<br />
===+Warning===<br />
<br />
Warning-level issues printed to the log by default. Can be disabled using debug_filter.cfg.<br />
<br />
===+wash===<br />
<br />
Engine wash output.<br />
<br />
== Sample Complete debug_filter.cfg ==<br />
<br />
I cannot recommend using this as-is as it will lead to a very noisy log, that will often be too large to distribute easily during troubleshooting. Disabling parsing errors alone helps immensely with that however.<br />
<br />
<pre><br />
+AB TRAIL<br />
+AI<br />
+Alan<br />
+Allender<br />
+Beam<br />
+BMP DEBUG<br />
+BmpFastLoad<br />
+BmpInfo<br />
+BmpMan<br />
+CD<br />
+Collision<br />
+Error<br />
+EVENTMUSIC<br />
+Fred routing<br />
+General<br />
+Jim<br />
+JOYSTICK<br />
+Lethality<br />
+Lightning<br />
+Maps<br />
+Messaging<br />
+Mike<br />
+MissionLog<br />
+Model<br />
+ModelAnim<br />
+MOVIE<br />
+MVE<br />
+Network<br />
+OGGISH<br />
+OpenAL<br />
+OpenGL<br />
+Paging<br />
+Parse<br />
+Particles<br />
+Physics<br />
+Registry<br />
+Sandeep<br />
+SEXP<br />
+SHADER-DEBUG<br />
+Sound<br />
+UI<br />
+Warning<br />
+Wash<br />
</pre></div>Chief1983https://wiki.hard-light.net/index.php?title=Release_Build_Process&diff=45281Release Build Process2016-03-07T20:05:20Z<p>Chief1983: Accidentally removed an important space.</p>
<hr />
<div> <nowiki>Steps 1-5, and 7 are now encompassed by release.pl found at https://svn.icculus.org/fs2open/trunk/nightly-build/ folder. This greatly speeds up the release process.<br />
The script supports the new Git backend, and the commands here have been updated to take that into account. However, the steps below were written with SVN in mind.<br />
The descriptions of the steps that the release script runs are still valid, and could be updated with git-relevant examples at some point.<br />
<br />
The script is generally run with the following options on each platform, and in this order:<br />
<br />
Mac (RC1 only): ./release.pl --lastversion <OLDVERSION> --nextversion <NEWVERSION> --nextsubversion RC1 --lastreleaserevision 000000 --createbranch <release base branch (ex. origin/master)><br />
* Specifying lastversion causes it to do version replacement with the given info and generate versioning commit.<br />
* Specifying createbranch causes it to create a new branch on the VCS, and with git, a branch reference to fork from must be specified.<br />
Mac: ./release.pl --lastversion <NEWVERSION> --lastsubversion RCx --nextversion <NEWVERSION [--nextsubversion RCx] --lastreleaserevision <OLDREVISION><br />
* After RC1, the branch exists so we only specify the necessary versions to accomplish the desired replacements and versioning commit.<br />
Linux: ./release.pl --nextversion <NEWVERSION> [--nextsubversion RCx] --doarchive<br />
* Specifying doarchive causes the code to generate and upload the source code archive in addition to the build.<br />
FreeBSD: ./release.pl --nextversion <NEWVERSION> [--nextsubversion RCx]<br />
Windows: perl release.pl --nextversion <NEWVERSION> [--nextsubversion RCx] --message "Release message here, its existence will lead to the forum post."<br />
If the Windows one gives trouble with arguments, read http://www.perlmonks.org/?node_id=1054513 for help.<br />
<br />
<br />
1) (One time) Create branch for new release. This is an entirely remote op and can be done from anywhere, by anyone with write access.<br />
<br />
svn copy [-r REV] svn://svn.icculus.org/fs2open/trunk/fs2_open svn://svn.icculus.org/fs2open/branches/fs2_open_<VERSION> -m "Copy trunk r<REV> to <VERSION> branch."<br />
# REV is only needed after copy if not just copying the latest HEAD revision in trunk.<br />
<br />
2) (Once per platform) Checkout the branch.<br />
<br />
cd <CODE DIRECTORY><br />
svn co svn://svn.icculus.org/fs2open/branches/fs2_open_<VERSION> fs2_open_<VERSION>_svn<br />
<br />
3) (Once per release) Commit a output filename/versioning commit.<br />
<br />
https://svn.icculus.org/fs2open?view=rev&revision=9638 should be a complete diff of everything that should be modified.<br />
<br />
Since the pilot code, this has been simplified a bit as far as project files are concerned.<br />
Windows project version strings are a bit different (more consistent, fewer). Most consist of replacing 2_open_<PREV_VERSION> with 2_open_<NEXT_VERSION>.<br />
A search and replace through all the necessary files will cover most of the build output filenames for the Windows project files. For instance:<br />
s/2_open_3_6_19/2_open_3_7_0_RC1<br />
That will cover all instances of fred2_open_3_6_19[-DEBUG], fs2_open_3_6_19[-DEBUG], and wxfred2_open_3_6_19[-DEBUG].<br />
For enabling text-to-speech and voice recognition in MSVC_2008, open the Fred2.vcproj, Freespace2.vcproj, and code.vcproj. In all three, you need to:<br />
s/_SECURE_SCL=0;_HAS_ITERATOR_DEBUGGING=0;"/_SECURE_SCL=0;_HAS_ITERATOR_DEBUGGING=0;FS2_SPEECH;FS2_VOICER;"<br />
There should be 18 replacements total, 6 per file. In Freespace2.vcproj, you must also:<br />
s/_VC08;/_VC08;FS2_VOICER;<br />
There should be six of those.<br />
For the Xcode projects, the InfoPlist.strings files are binary, but editable in most decent editors and should be obvious what needs to be changed.<br />
The project.pbxproj files just need the CURRENT_PROJECT_VERSION fields updated from, for example, 3.6.19-trunk to 3.7.0-RC1, etc.<br />
BE SURE TO GET THE CODEBLOCKS Freespace2 project file. It was somehow still missed in the 9638 commit.<br />
<br />
4) (Following instructions are once per release per platform) Export at the desired revision from the branch checkout.<br />
<br />
cd <CODE DIRECTORY><br />
svn up fs2_open_<VERSION>_svn<br />
svn export fs2_open_<VERSION>_svn fs2_open_<VERSION>[_RCx]<br />
# (Linux only)<br />
tar -cvzf fs2_open_<VERSION>[_RCx]_src.tgz fs2_open_<VERSION>[_RCx]<br />
md5sum fs2_open_<VERSION>[_RCx]_src.tgz > fs2_open_<VERSION>[_RCx]_src.md5<br />
# Upload source export and md5 to builds folder.<br />
<br />
5) Follow the specific platform's build method.<br />
<br />
Windows: Currently use MSVC 2008.<br />
Open the .sln, and batch build all configs (Release and Debug Standard, SSE, SSE2) for Freespace2 and Fred2.<br />
-or-<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Release|Win32" && \<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Debug|Win32" && \<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Release SSE|Win32" && \<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Debug SSE|Win32" && \<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Release SSE2|Win32" && \<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Debug SSE2|Win32"<br />
Copy the 2 release exes into the respective debug folder, and archive the 4 exes, the 2 map files, and the 2 pdb files using standard zip compression.<br />
You should end up with three files: fs2_open_<VERSION>[_RCx].zip (SSE2), fs2_open_<VERSION>[_RCx]_SSE.zip, and fs2_open_<VERSION>[_RCx]_NO-SSE.zip.<br />
MD5 the three zip files into fs2_open_<VERSION>[_RCx].md5.<br />
Upload these 4 files to the mirrors under builds/WIN.<br />
<br />
OSX: Currently use Xcode 5.1.1.<br />
cd <CODE DIRECTORY>/fs2_open_<VERSION>[_RCx]/projects/Xcode<br />
tar -xvzf Frameworks.tgz<br />
/<xcodebuild_path>/xcodebuild -configuration Release && /<xcodebuild_path>/xcodebuild -configuration Debug<br />
# Copy .apps from build/Debug and build/Release to a folder names FS2_Open <VERSION>[ RCx].<br />
mkdir ~/Desktop/FS2_Open\ <VERSION>[ RCx]<br />
cp -rf build/Release/FS2_Open.app ~/Desktop/FS2_Open\ <VERSION>[\ RCx]/FS2_Open\ <VERSION>[\ RCx].app<br />
cp -rf build/Debug/FS2_Open\ \(debug\).app ~/Desktop/FS2_Open\ <VERSION>[\ RCx]/FS2_Open\ <VERSION>[\ RCx]\ \(debug\).app<br />
# Use hdiutil to create an archive named FS2_Open-<VERSION>[_RCx].dmg.<br />
hdiutil create -srcfolder ~/Desktop/FS2_Open\ <VERSION>[\ RCx] ~/Desktop/FS2_Open-<VERSION>[_RCx].dmg<br />
# MD5 the .dmg file into FS2_Open-<VERSION>[_RCx].md5.<br />
md5 ~/Desktop/FS2_Open*.dmg > ~/Desktop/FS2_Open-<VERSION>[_RCx].md5<br />
# Upload these 2 files to the mirrors under builds/OSX.<br />
<br />
Linux/FreeBSD: Use whichever latest GCC/Clang is available and working.<br />
cd <CODE DIRECTORY/fs2_open_<VERSION>[_RCx]<br />
./autogen.sh --enable-debug && make && cp code/fs2_open_<VERSION>[_RCx]_DEBUG ../ && make clean && make distclean && ./autogen.sh && make && cp code/fs2_open_<VERSION>[_RCx] ../<br />
# Archive the fs2_open_<VERSION>* binary files into one fs2_open_<VERSION>[_RCx].tar.bz2 file.<br />
cd<br />
tar -cvjf fs2_open_<VERSION>[_RCx].tar.bz2 fs2_open_<VERSION>[_RCx]_DEBUG fs2_open_<VERSION>[_RCx]<br />
# MD5 the bz2 file into fs2_open_<VERSION>[_RCx].md5.<br />
md5sum fs2_open_<VERSION>[_RCx].tar.bz2 > fs2_open_<VERSION>[_RCx].md5<br />
# Upload these 2 files to the mirrors under builds/LINUX or builds/FREEBSD, accordingly.<br />
<br />
6) Update Mantis versions.<br />
<br />
If making a final release, be sure to make a released version for the next trunk version.<br />
Also for finals, bump any remaining Fix For <VERSION> to the next release version.<br />
<br />
7) Make the main forum release post. Use previous release post as template, update all filename links, MD5s, Known Issues, and changelog. Sticky it. Unsticky previous RC posts if there was one. Irrelephant previous RC posts. Unsticky previous final release post if new final release post.<br />
<br />
8) Update SCP website with news post, and links for a final release.<br />
<br />
9) Make other forum and news posts as necessary (Announcements, ModDB for final releases possibly, etc).<br />
<br />
10) Update FSO Installer source files to serve up the new release. Use the checksum files uploaded by the release script to make this easy.</nowiki></div>Chief1983https://wiki.hard-light.net/index.php?title=Release_Build_Process&diff=45280Release Build Process2016-03-07T19:58:18Z<p>Chief1983: </p>
<hr />
<div><nowiki>Steps 1-5, and 7 are now encompassed by release.pl found at https://svn.icculus.org/fs2open/trunk/nightly-build/ folder. This greatly speeds up the release process.<br />
The script supports the new Git backend, and the commands here have been updated to take that into account. However, the steps below were written with SVN in mind.<br />
The descriptions of the steps that the release script runs are still valid, and could be updated with git-relevant examples at some point.<br />
<br />
The script is generally run with the following options on each platform, and in this order:<br />
<br />
Mac (RC1 only): ./release.pl --lastversion <OLDVERSION> --nextversion <NEWVERSION> --nextsubversion RC1 --lastreleaserevision 000000 --createbranch <release base branch (ex. origin/master)><br />
* Specifying lastversion causes it to do version replacement with the given info and generate versioning commit.<br />
* Specifying createbranch causes it to create a new branch on the VCS, and with git, a branch reference to fork from must be specified.<br />
Mac: ./release.pl --lastversion <NEWVERSION> --lastsubversion RCx --nextversion <NEWVERSION [--nextsubversion RCx] --lastreleaserevision <OLDREVISION><br />
* After RC1, the branch exists so we only specify the necessary versions to accomplish the desired replacements and versioning commit.<br />
Linux: ./release.pl --nextversion <NEWVERSION> [--nextsubversion RCx] --doarchive<br />
* Specifying doarchive causes the code to generate and upload the source code archive in addition to the build.<br />
FreeBSD: ./release.pl --nextversion <NEWVERSION> [--nextsubversion RCx]<br />
Windows: perl release.pl --nextversion <NEWVERSION> [--nextsubversion RCx] --message "Release message here, its existence will lead to the forum post."<br />
If the Windows one gives trouble with arguments, read http://www.perlmonks.org/?node_id=1054513 for help.<br />
<br />
<br />
1) (One time) Create branch for new release. This is an entirely remote op and can be done from anywhere, by anyone with write access.<br />
<br />
svn copy [-r REV] svn://svn.icculus.org/fs2open/trunk/fs2_open svn://svn.icculus.org/fs2open/branches/fs2_open_<VERSION> -m "Copy trunk r<REV> to <VERSION> branch."<br />
# REV is only needed after copy if not just copying the latest HEAD revision in trunk.<br />
<br />
2) (Once per platform) Checkout the branch.<br />
<br />
cd <CODE DIRECTORY><br />
svn co svn://svn.icculus.org/fs2open/branches/fs2_open_<VERSION> fs2_open_<VERSION>_svn<br />
<br />
3) (Once per release) Commit a output filename/versioning commit.<br />
<br />
https://svn.icculus.org/fs2open?view=rev&revision=9638 should be a complete diff of everything that should be modified.<br />
<br />
Since the pilot code, this has been simplified a bit as far as project files are concerned.<br />
Windows project version strings are a bit different (more consistent, fewer). Most consist of replacing 2_open_<PREV_VERSION> with 2_open_<NEXT_VERSION>.<br />
A search and replace through all the necessary files will cover most of the build output filenames for the Windows project files. For instance:<br />
s/2_open_3_6_19/2_open_3_7_0_RC1<br />
That will cover all instances of fred2_open_3_6_19[-DEBUG], fs2_open_3_6_19[-DEBUG], and wxfred2_open_3_6_19[-DEBUG].<br />
For enabling text-to-speech and voice recognition in MSVC_2008, open the Fred2.vcproj, Freespace2.vcproj, and code.vcproj. In all three, you need to:<br />
s/_SECURE_SCL=0;_HAS_ITERATOR_DEBUGGING=0;"/_SECURE_SCL=0;_HAS_ITERATOR_DEBUGGING=0;FS2_SPEECH;FS2_VOICER;"<br />
There should be 18 replacements total, 6 per file. In Freespace2.vcproj, you must also:<br />
s/_VC08;/_VC08;FS2_VOICER;<br />
There should be six of those.<br />
For the Xcode projects, the InfoPlist.strings files are binary, but editable in most decent editors and should be obvious what needs to be changed.<br />
The project.pbxproj files just need the CURRENT_PROJECT_VERSION fields updated from, for example, 3.6.19-trunk to 3.7.0-RC1, etc.<br />
BE SURE TO GET THE CODEBLOCKS Freespace2 project file. It was somehow still missed in the 9638 commit.<br />
<br />
4) (Following instructions are once per release per platform) Export at the desired revision from the branch checkout.<br />
<br />
cd <CODE DIRECTORY><br />
svn up fs2_open_<VERSION>_svn<br />
svn export fs2_open_<VERSION>_svn fs2_open_<VERSION>[_RCx]<br />
# (Linux only)<br />
tar -cvzf fs2_open_<VERSION>[_RCx]_src.tgz fs2_open_<VERSION>[_RCx]<br />
md5sum fs2_open_<VERSION>[_RCx]_src.tgz > fs2_open_<VERSION>[_RCx]_src.md5<br />
# Upload source export and md5 to builds folder.<br />
<br />
5) Follow the specific platform's build method.<br />
<br />
Windows: Currently use MSVC 2008.<br />
Open the .sln, and batch build all configs (Release and Debug Standard, SSE, SSE2) for Freespace2 and Fred2.<br />
-or-<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Release|Win32" && \<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Debug|Win32" && \<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Release SSE|Win32" && \<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Debug SSE|Win32" && \<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Release SSE2|Win32" && \<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Debug SSE2|Win32"<br />
Copy the 2 release exes into the respective debug folder, and archive the 4 exes, the 2 map files, and the 2 pdb files using standard zip compression.<br />
You should end up with three files: fs2_open_<VERSION>[_RCx].zip (SSE2), fs2_open_<VERSION>[_RCx]_SSE.zip, and fs2_open_<VERSION>[_RCx]_NO-SSE.zip.<br />
MD5 the three zip files into fs2_open_<VERSION>[_RCx].md5.<br />
Upload these 4 files to the mirrors under builds/WIN.<br />
<br />
OSX: Currently use Xcode 5.1.1.<br />
cd <CODE DIRECTORY>/fs2_open_<VERSION>[_RCx]/projects/Xcode<br />
tar -xvzf Frameworks.tgz<br />
/<xcodebuild_path>/xcodebuild -configuration Release && /<xcodebuild_path>/xcodebuild -configuration Debug<br />
# Copy .apps from build/Debug and build/Release to a folder names FS2_Open <VERSION>[ RCx].<br />
mkdir ~/Desktop/FS2_Open\ <VERSION>[ RCx]<br />
cp -rf build/Release/FS2_Open.app ~/Desktop/FS2_Open\ <VERSION>[\ RCx]/FS2_Open\ <VERSION>[\ RCx].app<br />
cp -rf build/Debug/FS2_Open\ \(debug\).app ~/Desktop/FS2_Open\ <VERSION>[\ RCx]/FS2_Open\ <VERSION>[\ RCx]\ \(debug\).app<br />
# Use hdiutil to create an archive named FS2_Open-<VERSION>[_RCx].dmg.<br />
hdiutil create -srcfolder ~/Desktop/FS2_Open\ <VERSION>[\ RCx] ~/Desktop/FS2_Open-<VERSION>[_RCx].dmg<br />
# MD5 the .dmg file into FS2_Open-<VERSION>[_RCx].md5.<br />
md5 ~/Desktop/FS2_Open*.dmg > ~/Desktop/FS2_Open-<VERSION>[_RCx].md5<br />
# Upload these 2 files to the mirrors under builds/OSX.<br />
<br />
Linux/FreeBSD: Use whichever latest GCC/Clang is available and working.<br />
cd <CODE DIRECTORY/fs2_open_<VERSION>[_RCx]<br />
./autogen.sh --enable-debug && make && cp code/fs2_open_<VERSION>[_RCx]_DEBUG ../ && make clean && make distclean && ./autogen.sh && make && cp code/fs2_open_<VERSION>[_RCx] ../<br />
# Archive the fs2_open_<VERSION>* binary files into one fs2_open_<VERSION>[_RCx].tar.bz2 file.<br />
cd<br />
tar -cvjf fs2_open_<VERSION>[_RCx].tar.bz2 fs2_open_<VERSION>[_RCx]_DEBUG fs2_open_<VERSION>[_RCx]<br />
# MD5 the bz2 file into fs2_open_<VERSION>[_RCx].md5.<br />
md5sum fs2_open_<VERSION>[_RCx].tar.bz2 > fs2_open_<VERSION>[_RCx].md5<br />
# Upload these 2 files to the mirrors under builds/LINUX or builds/FREEBSD, accordingly.<br />
<br />
6) Update Mantis versions.<br />
<br />
If making a final release, be sure to make a released version for the next trunk version.<br />
Also for finals, bump any remaining Fix For <VERSION> to the next release version.<br />
<br />
7) Make the main forum release post. Use previous release post as template, update all filename links, MD5s, Known Issues, and changelog. Sticky it. Unsticky previous RC posts if there was one. Irrelephant previous RC posts. Unsticky previous final release post if new final release post.<br />
<br />
8) Update SCP website with news post, and links for a final release.<br />
<br />
9) Make other forum and news posts as necessary (Announcements, ModDB for final releases possibly, etc).<br />
<br />
10) Update FSO Installer source files to serve up the new release. Use the checksum files uploaded by the release script to make this easy.</nowiki></div>Chief1983https://wiki.hard-light.net/index.php?title=Release_Build_Process&diff=45279Release Build Process2016-03-07T19:57:18Z<p>Chief1983: Clarify that the instructions work with the git setup, add some notes to make it go more smoothly for future git releases.</p>
<hr />
<div><br />
<nowiki>Steps 1-5, and 7 are now encompassed by release.pl found at https://svn.icculus.org/fs2open/trunk/nightly-build/ folder. This greatly speeds up the release process.<br />
The script supports the new Git backend, and the commands here have been updated to take that into account. However, the steps below were written with SVN in mind.<br />
The descriptions of the steps that the release script runs are still valid, and could be updated with git-relevant examples at some point.<br />
<br />
The script is generally run with the following options on each platform, and in this order:<br />
<br />
Mac (RC1 only): ./release.pl --lastversion <OLDVERSION> --nextversion <NEWVERSION> --nextsubversion RC1 --lastreleaserevision 000000 --createbranch <release base branch (ex. origin/master)><br />
* Specifying lastversion causes it to do version replacement with the given info and generate versioning commit.<br />
* Specifying createbranch causes it to create a new branch on the VCS, and with git, a branch reference to fork from must be specified.<br />
Mac: ./release.pl --lastversion <NEWVERSION> --lastsubversion RCx --nextversion <NEWVERSION [--nextsubversion RCx] --lastreleaserevision <OLDREVISION><br />
* After RC1, the branch exists so we only specify the necessary versions to accomplish the desired replacements and versioning commit.<br />
Linux: ./release.pl --nextversion <NEWVERSION> [--nextsubversion RCx] --doarchive<br />
* Specifying doarchive causes the code to generate and upload the source code archive in addition to the build.<br />
FreeBSD: ./release.pl --nextversion <NEWVERSION> [--nextsubversion RCx]<br />
Windows: perl release.pl --nextversion <NEWVERSION> [--nextsubversion RCx] --message "Release message here, its existence will lead to the forum post."<br />
If the Windows one gives trouble with arguments, read http://www.perlmonks.org/?node_id=1054513 for help.<br />
<br />
<br />
1) (One time) Create branch for new release. This is an entirely remote op and can be done from anywhere, by anyone with write access.<br />
<br />
svn copy [-r REV] svn://svn.icculus.org/fs2open/trunk/fs2_open svn://svn.icculus.org/fs2open/branches/fs2_open_<VERSION> -m "Copy trunk r<REV> to <VERSION> branch."<br />
# REV is only needed after copy if not just copying the latest HEAD revision in trunk.<br />
<br />
2) (Once per platform) Checkout the branch.<br />
<br />
cd <CODE DIRECTORY><br />
svn co svn://svn.icculus.org/fs2open/branches/fs2_open_<VERSION> fs2_open_<VERSION>_svn<br />
<br />
3) (Once per release) Commit a output filename/versioning commit.<br />
<br />
https://svn.icculus.org/fs2open?view=rev&revision=9638 should be a complete diff of everything that should be modified.<br />
<br />
Since the pilot code, this has been simplified a bit as far as project files are concerned.<br />
Windows project version strings are a bit different (more consistent, fewer). Most consist of replacing 2_open_<PREV_VERSION> with 2_open_<NEXT_VERSION>.<br />
A search and replace through all the necessary files will cover most of the build output filenames for the Windows project files. For instance:<br />
s/2_open_3_6_19/2_open_3_7_0_RC1<br />
That will cover all instances of fred2_open_3_6_19[-DEBUG], fs2_open_3_6_19[-DEBUG], and wxfred2_open_3_6_19[-DEBUG].<br />
For enabling text-to-speech and voice recognition in MSVC_2008, open the Fred2.vcproj, Freespace2.vcproj, and code.vcproj. In all three, you need to:<br />
s/_SECURE_SCL=0;_HAS_ITERATOR_DEBUGGING=0;"/_SECURE_SCL=0;_HAS_ITERATOR_DEBUGGING=0;FS2_SPEECH;FS2_VOICER;"<br />
There should be 18 replacements total, 6 per file. In Freespace2.vcproj, you must also:<br />
s/_VC08;/_VC08;FS2_VOICER;<br />
There should be six of those.<br />
For the Xcode projects, the InfoPlist.strings files are binary, but editable in most decent editors and should be obvious what needs to be changed.<br />
The project.pbxproj files just need the CURRENT_PROJECT_VERSION fields updated from, for example, 3.6.19-trunk to 3.7.0-RC1, etc.<br />
BE SURE TO GET THE CODEBLOCKS Freespace2 project file. It was somehow still missed in the 9638 commit.<br />
<br />
4) (Following instructions are once per release per platform) Export at the desired revision from the branch checkout.<br />
<br />
cd <CODE DIRECTORY><br />
svn up fs2_open_<VERSION>_svn<br />
svn export fs2_open_<VERSION>_svn fs2_open_<VERSION>[_RCx]<br />
# (Linux only)<br />
tar -cvzf fs2_open_<VERSION>[_RCx]_src.tgz fs2_open_<VERSION>[_RCx]<br />
md5sum fs2_open_<VERSION>[_RCx]_src.tgz > fs2_open_<VERSION>[_RCx]_src.md5<br />
# Upload source export and md5 to builds folder.<br />
<br />
5) Follow the specific platform's build method.<br />
<br />
Windows: Currently use MSVC 2008.<br />
Open the .sln, and batch build all configs (Release and Debug Standard, SSE, SSE2) for Freespace2 and Fred2.<br />
-or-<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Release|Win32" && \<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Debug|Win32" && \<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Release SSE|Win32" && \<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Debug SSE|Win32" && \<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Release SSE2|Win32" && \<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Debug SSE2|Win32"<br />
Copy the 2 release exes into the respective debug folder, and archive the 4 exes, the 2 map files, and the 2 pdb files using standard zip compression.<br />
You should end up with three files: fs2_open_<VERSION>[_RCx].zip (SSE2), fs2_open_<VERSION>[_RCx]_SSE.zip, and fs2_open_<VERSION>[_RCx]_NO-SSE.zip.<br />
MD5 the three zip files into fs2_open_<VERSION>[_RCx].md5.<br />
Upload these 4 files to the mirrors under builds/WIN.<br />
<br />
OSX: Currently use Xcode 5.1.1.<br />
cd <CODE DIRECTORY>/fs2_open_<VERSION>[_RCx]/projects/Xcode<br />
tar -xvzf Frameworks.tgz<br />
/<xcodebuild_path>/xcodebuild -configuration Release && /<xcodebuild_path>/xcodebuild -configuration Debug<br />
# Copy .apps from build/Debug and build/Release to a folder names FS2_Open <VERSION>[ RCx].<br />
mkdir ~/Desktop/FS2_Open\ <VERSION>[ RCx]<br />
cp -rf build/Release/FS2_Open.app ~/Desktop/FS2_Open\ <VERSION>[\ RCx]/FS2_Open\ <VERSION>[\ RCx].app<br />
cp -rf build/Debug/FS2_Open\ \(debug\).app ~/Desktop/FS2_Open\ <VERSION>[\ RCx]/FS2_Open\ <VERSION>[\ RCx]\ \(debug\).app<br />
# Use hdiutil to create an archive named FS2_Open-<VERSION>[_RCx].dmg.<br />
hdiutil create -srcfolder ~/Desktop/FS2_Open\ <VERSION>[\ RCx] ~/Desktop/FS2_Open-<VERSION>[_RCx].dmg<br />
# MD5 the .dmg file into FS2_Open-<VERSION>[_RCx].md5.<br />
md5 ~/Desktop/FS2_Open*.dmg > ~/Desktop/FS2_Open-<VERSION>[_RCx].md5<br />
# Upload these 2 files to the mirrors under builds/OSX.<br />
<br />
Linux/FreeBSD: Use whichever latest GCC/Clang is available and working.<br />
cd <CODE DIRECTORY/fs2_open_<VERSION>[_RCx]<br />
./autogen.sh --enable-debug && make && cp code/fs2_open_<VERSION>[_RCx]_DEBUG ../ && make clean && make distclean && ./autogen.sh && make && cp code/fs2_open_<VERSION>[_RCx] ../<br />
# Archive the fs2_open_<VERSION>* binary files into one fs2_open_<VERSION>[_RCx].tar.bz2 file.<br />
cd<br />
tar -cvjf fs2_open_<VERSION>[_RCx].tar.bz2 fs2_open_<VERSION>[_RCx]_DEBUG fs2_open_<VERSION>[_RCx]<br />
# MD5 the bz2 file into fs2_open_<VERSION>[_RCx].md5.<br />
md5sum fs2_open_<VERSION>[_RCx].tar.bz2 > fs2_open_<VERSION>[_RCx].md5<br />
# Upload these 2 files to the mirrors under builds/LINUX or builds/FREEBSD, accordingly.<br />
<br />
6) Update Mantis versions.<br />
<br />
If making a final release, be sure to make a released version for the next trunk version.<br />
Also for finals, bump any remaining Fix For <VERSION> to the next release version.<br />
<br />
7) Make the main forum release post. Use previous release post as template, update all filename links, MD5s, Known Issues, and changelog. Sticky it. Unsticky previous RC posts if there was one. Irrelephant previous RC posts. Unsticky previous final release post if new final release post.<br />
<br />
8) Update SCP website with news post, and links for a final release.<br />
<br />
9) Make other forum and news posts as necessary (Announcements, ModDB for final releases possibly, etc).<br />
<br />
10) Update FSO Installer source files to serve up the new release. Use the checksum files uploaded by the release script to make this easy.</nowiki></div>Chief1983https://wiki.hard-light.net/index.php?title=Release_Build_Process&diff=45278Release Build Process2016-03-07T19:56:54Z<p>Chief1983: Clarify that the instructions work with the git setup, add some notes to make it go more smoothly for future git releases.</p>
<hr />
<div><nowiki><br />
Steps 1-5, and 7 are now encompassed by release.pl found at https://svn.icculus.org/fs2open/trunk/nightly-build/ folder. This greatly speeds up the release process.<br />
The script supports the new Git backend, and the commands here have been updated to take that into account. However, the steps below were written with SVN in mind.<br />
The descriptions of the steps that the release script runs are still valid, and could be updated with git-relevant examples at some point.<br />
<br />
The script is generally run with the following options on each platform, and in this order:<br />
<br />
Mac (RC1 only): ./release.pl --lastversion <OLDVERSION> --nextversion <NEWVERSION> --nextsubversion RC1 --lastreleaserevision 000000 --createbranch <release base branch (ex. origin/master)><br />
* Specifying lastversion causes it to do version replacement with the given info and generate versioning commit.<br />
* Specifying createbranch causes it to create a new branch on the VCS, and with git, a branch reference to fork from must be specified.<br />
Mac: ./release.pl --lastversion <NEWVERSION> --lastsubversion RCx --nextversion <NEWVERSION [--nextsubversion RCx] --lastreleaserevision <OLDREVISION><br />
* After RC1, the branch exists so we only specify the necessary versions to accomplish the desired replacements and versioning commit.<br />
Linux: ./release.pl --nextversion <NEWVERSION> [--nextsubversion RCx] --doarchive<br />
* Specifying doarchive causes the code to generate and upload the source code archive in addition to the build.<br />
FreeBSD: ./release.pl --nextversion <NEWVERSION> [--nextsubversion RCx]<br />
Windows: perl release.pl --nextversion <NEWVERSION> [--nextsubversion RCx] --message "Release message here, its existence will lead to the forum post."<br />
If the Windows one gives trouble with arguments, read http://www.perlmonks.org/?node_id=1054513 for help.<br />
<br />
<br />
1) (One time) Create branch for new release. This is an entirely remote op and can be done from anywhere, by anyone with write access.<br />
<br />
svn copy [-r REV] svn://svn.icculus.org/fs2open/trunk/fs2_open svn://svn.icculus.org/fs2open/branches/fs2_open_<VERSION> -m "Copy trunk r<REV> to <VERSION> branch."<br />
# REV is only needed after copy if not just copying the latest HEAD revision in trunk.<br />
<br />
2) (Once per platform) Checkout the branch.<br />
<br />
cd <CODE DIRECTORY><br />
svn co svn://svn.icculus.org/fs2open/branches/fs2_open_<VERSION> fs2_open_<VERSION>_svn<br />
<br />
3) (Once per release) Commit a output filename/versioning commit.<br />
<br />
https://svn.icculus.org/fs2open?view=rev&revision=9638 should be a complete diff of everything that should be modified.<br />
<br />
Since the pilot code, this has been simplified a bit as far as project files are concerned.<br />
Windows project version strings are a bit different (more consistent, fewer). Most consist of replacing 2_open_<PREV_VERSION> with 2_open_<NEXT_VERSION>.<br />
A search and replace through all the necessary files will cover most of the build output filenames for the Windows project files. For instance:<br />
s/2_open_3_6_19/2_open_3_7_0_RC1<br />
That will cover all instances of fred2_open_3_6_19[-DEBUG], fs2_open_3_6_19[-DEBUG], and wxfred2_open_3_6_19[-DEBUG].<br />
For enabling text-to-speech and voice recognition in MSVC_2008, open the Fred2.vcproj, Freespace2.vcproj, and code.vcproj. In all three, you need to:<br />
s/_SECURE_SCL=0;_HAS_ITERATOR_DEBUGGING=0;"/_SECURE_SCL=0;_HAS_ITERATOR_DEBUGGING=0;FS2_SPEECH;FS2_VOICER;"<br />
There should be 18 replacements total, 6 per file. In Freespace2.vcproj, you must also:<br />
s/_VC08;/_VC08;FS2_VOICER;<br />
There should be six of those.<br />
For the Xcode projects, the InfoPlist.strings files are binary, but editable in most decent editors and should be obvious what needs to be changed.<br />
The project.pbxproj files just need the CURRENT_PROJECT_VERSION fields updated from, for example, 3.6.19-trunk to 3.7.0-RC1, etc.<br />
BE SURE TO GET THE CODEBLOCKS Freespace2 project file. It was somehow still missed in the 9638 commit.<br />
<br />
4) (Following instructions are once per release per platform) Export at the desired revision from the branch checkout.<br />
<br />
cd <CODE DIRECTORY><br />
svn up fs2_open_<VERSION>_svn<br />
svn export fs2_open_<VERSION>_svn fs2_open_<VERSION>[_RCx]<br />
# (Linux only)<br />
tar -cvzf fs2_open_<VERSION>[_RCx]_src.tgz fs2_open_<VERSION>[_RCx]<br />
md5sum fs2_open_<VERSION>[_RCx]_src.tgz > fs2_open_<VERSION>[_RCx]_src.md5<br />
# Upload source export and md5 to builds folder.<br />
<br />
5) Follow the specific platform's build method.<br />
<br />
Windows: Currently use MSVC 2008.<br />
Open the .sln, and batch build all configs (Release and Debug Standard, SSE, SSE2) for Freespace2 and Fred2.<br />
-or-<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Release|Win32" && \<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Debug|Win32" && \<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Release SSE|Win32" && \<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Debug SSE|Win32" && \<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Release SSE2|Win32" && \<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Debug SSE2|Win32"<br />
Copy the 2 release exes into the respective debug folder, and archive the 4 exes, the 2 map files, and the 2 pdb files using standard zip compression.<br />
You should end up with three files: fs2_open_<VERSION>[_RCx].zip (SSE2), fs2_open_<VERSION>[_RCx]_SSE.zip, and fs2_open_<VERSION>[_RCx]_NO-SSE.zip.<br />
MD5 the three zip files into fs2_open_<VERSION>[_RCx].md5.<br />
Upload these 4 files to the mirrors under builds/WIN.<br />
<br />
OSX: Currently use Xcode 5.1.1.<br />
cd <CODE DIRECTORY>/fs2_open_<VERSION>[_RCx]/projects/Xcode<br />
tar -xvzf Frameworks.tgz<br />
/<xcodebuild_path>/xcodebuild -configuration Release && /<xcodebuild_path>/xcodebuild -configuration Debug<br />
# Copy .apps from build/Debug and build/Release to a folder names FS2_Open <VERSION>[ RCx].<br />
mkdir ~/Desktop/FS2_Open\ <VERSION>[ RCx]<br />
cp -rf build/Release/FS2_Open.app ~/Desktop/FS2_Open\ <VERSION>[\ RCx]/FS2_Open\ <VERSION>[\ RCx].app<br />
cp -rf build/Debug/FS2_Open\ \(debug\).app ~/Desktop/FS2_Open\ <VERSION>[\ RCx]/FS2_Open\ <VERSION>[\ RCx]\ \(debug\).app<br />
# Use hdiutil to create an archive named FS2_Open-<VERSION>[_RCx].dmg.<br />
hdiutil create -srcfolder ~/Desktop/FS2_Open\ <VERSION>[\ RCx] ~/Desktop/FS2_Open-<VERSION>[_RCx].dmg<br />
# MD5 the .dmg file into FS2_Open-<VERSION>[_RCx].md5.<br />
md5 ~/Desktop/FS2_Open*.dmg > ~/Desktop/FS2_Open-<VERSION>[_RCx].md5<br />
# Upload these 2 files to the mirrors under builds/OSX.<br />
<br />
Linux/FreeBSD: Use whichever latest GCC/Clang is available and working.<br />
cd <CODE DIRECTORY/fs2_open_<VERSION>[_RCx]<br />
./autogen.sh --enable-debug && make && cp code/fs2_open_<VERSION>[_RCx]_DEBUG ../ && make clean && make distclean && ./autogen.sh && make && cp code/fs2_open_<VERSION>[_RCx] ../<br />
# Archive the fs2_open_<VERSION>* binary files into one fs2_open_<VERSION>[_RCx].tar.bz2 file.<br />
cd<br />
tar -cvjf fs2_open_<VERSION>[_RCx].tar.bz2 fs2_open_<VERSION>[_RCx]_DEBUG fs2_open_<VERSION>[_RCx]<br />
# MD5 the bz2 file into fs2_open_<VERSION>[_RCx].md5.<br />
md5sum fs2_open_<VERSION>[_RCx].tar.bz2 > fs2_open_<VERSION>[_RCx].md5<br />
# Upload these 2 files to the mirrors under builds/LINUX or builds/FREEBSD, accordingly.<br />
<br />
6) Update Mantis versions.<br />
<br />
If making a final release, be sure to make a released version for the next trunk version.<br />
Also for finals, bump any remaining Fix For <VERSION> to the next release version.<br />
<br />
7) Make the main forum release post. Use previous release post as template, update all filename links, MD5s, Known Issues, and changelog. Sticky it. Unsticky previous RC posts if there was one. Irrelephant previous RC posts. Unsticky previous final release post if new final release post.<br />
<br />
8) Update SCP website with news post, and links for a final release.<br />
<br />
9) Make other forum and news posts as necessary (Announcements, ModDB for final releases possibly, etc).<br />
<br />
10) Update FSO Installer source files to serve up the new release. Use the checksum files uploaded by the release script to make this easy.<br />
</nowiki></div>Chief1983https://wiki.hard-light.net/index.php?title=Fs2_open_on_Linux/Pre-Compile_Configuration&diff=45152Fs2 open on Linux/Pre-Compile Configuration2016-01-26T16:51:47Z<p>Chief1983: Updated tip for FreeBSD users</p>
<hr />
<div>{{Page Navigation|<br />
BookName=[[The fs2_open on Linux Guide]]|<br />
CurrentPage=Pre-Compile Configuration|Pre-Compile Configuration|<br />
PrevPage=[[Fs2 open on Linux/Acquiring the Code|Acquiring the Code]]|<br />
NextPage=[[Fs2_open on Linux/Optimization|Optimization]]}}<br />
<p></p><br />
{{Note| This step is only for those who want the bleeding-edge source code to compile on their own. You can skip this if you intend to use a provided binary executable.}}<br />
Before you compile you need to configure it for your system. In the directory you ran the Git command from, a new directory has appear, namely fs2_open.<br />
If your fs2_open is a completely new checkout, you will first need to run the autogen.sh script.<br />
Run from inside your newly created fs2_open directory:<br />
$ ./autogen.sh<br />
autogen.sh is a script that will generate the required makefiles. You will see alot of "checking for this" and "checking for that", this is actually the "configure" script (which can be run with <tt>./configure</tt> if you need to change the options) examining and configuring fs2_open for your system.<br><br />
It is possible to give autogen.sh configure options as well, autogen.sh will pass them along to configure.<br />
<br />
A full list of configure options can be found by running the configure script with the '--help' option.<br />
$ ./configure --help<br />
<br />
If you have gcc and clang installed on FreeBSD, it may try to use gcc and fail to compile. To remedy this, set CC and CXX before configuring as so:<br />
$ setenv CC clang; setenv CXX clang++; ./autogen.sh<br />
<br />
Note: if you have multiple versions of a dependency installed, and FSO is picking the wrong one, AND it's causing a compile issue, you should be able to select the correct version of the library with something like this: (specific example is given for lua5.1 (good) vs lua5.2 (causes problems) - thanks to ZekeS for this advice<br />
$ LDFLAGS="-l:liblua.so.5.1 $LDFLAGS" CXXFLAGS="-I/usr/include/lua5.1 $CXXFLAGS" ./autogen.sh<br />
<br />
If you end up doing this, let a member of the SCP know about it so that configure.ac can be updated to exclude the incompatible version of the library.<br />
<br />
[[Category:FreeSpace Open on Linux|Pre-Compile Configuration]]</div>Chief1983https://wiki.hard-light.net/index.php?title=Antipodes_Commit_Checklist&diff=45151Antipodes Commit Checklist2016-01-26T16:14:10Z<p>Chief1983: Tweak the OS X target range</p>
<hr />
<div>This is a list of things to check before moving code from the Antipodes branch to Trunk, and who is in charge or capable of signing off on each item. We should have at least two members responsible for every task.<br />
<br />
* Verify that building succeeds on the following platforms (Release Engineering):<br />
** VS2010, VS2012 and VS2015 (done automatically by AppVeyor [https://ci.appveyor.com/project/z64555/fs2open-github-com])<br />
** gcc 4.6.3 (Linux) and Apple LLVM 6 (MacOS) (done automatically by Travis CI [https://travis-ci.org/scp-fs2open/fs2open.github.com])<br />
** Xcode 6.4 (chief1983)<br />
** Xcode 7.2 (?)<br />
** clang 3.4.1 (FreeBSD 10.2) (chief1983)<br />
* Verify builds run on the following, and interoperate properly with their respective launchers (HLP Bughunters):<br />
** Windows XP (Zacam)<br />
** Windows 7 (chief1983/Zacam)<br />
** Windows 8.1 (community)<br />
** Windows 10 (chief1983, community)<br />
** OS X 10.7 - 10.11 (chief1983, Echelon9, community)</span><br />
** Linux (Ubuntu latest and current LTS, Debian, FC) (community)<br />
** FreeBSD 10.2 (community)<br />
* Verify standalone server functionality (chief1983)<br />
* Verify on Windows that FRED runs, loads, check some dialogs, and saves (community)<br />
<br />
This is in addition to any other testing specific to the changes being made, that should already be done. This is mostly to catch common oversights when a coder is focusing on one platform and may neglect others in the process.<br />
<br />
[[Category:Source Code Project]]</div>Chief1983https://wiki.hard-light.net/index.php?title=Antipodes_Commit_Checklist&diff=45150Antipodes Commit Checklist2016-01-26T16:11:40Z<p>Chief1983: Updates to testing targets</p>
<hr />
<div>This is a list of things to check before moving code from the Antipodes branch to Trunk, and who is in charge or capable of signing off on each item. We should have at least two members responsible for every task.<br />
<br />
* Verify that building succeeds on the following platforms (Release Engineering):<br />
** VS2010, VS2012 and VS2015 (done automatically by AppVeyor [https://ci.appveyor.com/project/z64555/fs2open-github-com])<br />
** gcc 4.6.3 (Linux) and Apple LLVM 6 (MacOS) (done automatically by Travis CI [https://travis-ci.org/scp-fs2open/fs2open.github.com])<br />
** Xcode 6.4 (chief1983)<br />
** Xcode 7.2 (?)<br />
** clang 3.4.1 (FreeBSD 10.2) (chief1983)<br />
* Verify builds run on the following, and interoperate properly with their respective launchers (HLP Bughunters):<br />
** Windows XP (Zacam)<br />
** Windows 7 (chief1983/Zacam)<br />
** Windows 8.1 (community)<br />
** Windows 10 (chief1983, community)<br />
** OS X 10.8, 10.9, 10.10, 10.11, maybe more (chief1983, Echelon9, community)</span><br />
** Linux (Ubuntu latest and current LTS, Debian, FC) (community)<br />
** FreeBSD 10.2 (community)<br />
* Verify standalone server functionality (chief1983)<br />
* Verify on Windows that FRED runs, loads, check some dialogs, and saves (community)<br />
<br />
This is in addition to any other testing specific to the changes being made, that should already be done. This is mostly to catch common oversights when a coder is focusing on one platform and may neglect others in the process.<br />
<br />
[[Category:Source Code Project]]</div>Chief1983https://wiki.hard-light.net/index.php?title=Fs2_open_on_Linux/Installing_the_Development_Libraries&diff=44576Fs2 open on Linux/Installing the Development Libraries2015-05-03T14:33:50Z<p>Chief1983: Tweak the FreeBSD list to reflect recent changes</p>
<hr />
<div>{{Page Navigation|<br />
BookName=[[The fs2_open on Linux Guide]]|<br />
CurrentPage=Installing the Development Libraries|Installing the Development Libraries|<br />
PrevPage=[[Fs2_open on Linux/Installing Git|Installing Git]]|<br />
NextPage=[[Fs2_open on Linux/Acquiring the Code|Acquiring the Code]]}}<br />
<p></p><br />
{{Note| This step is only for those who want the bleeding-edge source code to compile on their own. You can skip this if you intend to use a provided binary executable.}}<br />
<p></p><br />
{{Note| If your distribution is not listed below and you are familiar with how to install the needed libraries on it, please add that information to this section. }}<br />
<br />
<br />
To build FS2 Open, you'll need the [http://www.libsdl.org/ SDL], [http://www.openal.org/ OpenAL], [http://www.xiph.org/ogg/ libogg], [http://vorbis.com/ libvorbis], [http://www.theora.org/ libtheora], [http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html readline], [http://www.lua.org liblua (version 5.1.3 or higher)], [http://www.digip.org/jansson/ Jansson], and OpenGL (most likely provided with your video card driver) development packages. And of course, you'll need the [http://gcc.gnu.org/ GNU Compiler Collection] and [http://sourceware.org/autobook/ make].<br />
<br />
<br />
'''Ubuntu''' and '''Linux Mint (except for Debian Edition)''' users should run:<br />
$ apt-get install libopenal-dev libogg-dev libvorbis-dev build-essential automake1.10 autoconf libsdl1.2-dev libtheora-dev libreadline6-dev libpng12-dev libjpeg62-dev liblua5.1-0-dev libjansson-dev libtool<br />
{{Note| The [http://packages.debian.org/unstable/devel/build-essential build-essential] package is a metapackage that installs the essential build tools.}}<br />
<br />
<br />
'''Debian''' and '''Linux Mint Debian Edition''' users should run:<br />
$ apt-get install libopenal-dev libvorbis-dev build-essential automake1.10 autoconf libsdl1.2-dev libtheora-dev libreadline6-dev libpng12-dev liblua5.1-0-dev libjansson-dev libtool<br />
{{Note| The [http://packages.debian.org/unstable/devel/build-essential build-essential] package is a metapackage that installs the essential build tools.}}<br />
<br />
<br />
'''Fedora Core''' users (and most likely Red Hat users too) should run:<br />
$ yum install openal-devel libvorbis-devel gcc gcc-c++ automake autoconf SDL-devel libtheora-devel readline-devel lua-devel libpng-devel libjpeg-devel jansson-devel libtool<br />
<br />
<br />
'''Gentoo''' users should run:<br />
$ emerge -va openal libvorbis libsdl libtheora readline lua jansson<br />
{{Note| media-libs/openal needs the <b>"alsa"</b> USE-flag if you intend to use ALSA, and media-libs/libsdl needs the <b>"X"</b>,<b>"opengl"</b> and <b>"xv"</b> USE-flags.}}<br />
<br />
<br />
'''Mandriva''' users should run:<br />
$ urpmi libsdl-devel libopenal-devel libvorbis-devel libtheora-devel gcc gcc-c++ automake autoconf liblua-devel jansson-devel<br />
<br />
'''OpenSUSE''' users should run:<br />
$ sudo zypper install -t pattern devel_C_C++<br />
$ sudo zypper install libSDL-devel libogg-devel libvorbis-devel libtheora-devel openal-soft-devel lua51-devel libjpeg8-devel libjansson-devel<br />
<br />
'''FreeBSD 10''' users should run:<br />
$ sudo pkg install autotools openal-soft lua51 jansson readline libogg libtheora libvorbis png jpeg sdl libtool<br />
{{Note| Everything after 'lua51' is already installed on PC-BSD 10.1, and likely any other FreeBSD distro with a full desktop environment.}}<br />
<br />
<br />
[[Category:FreeSpace Open on Linux|Installing the Development Libraries]]</div>Chief1983https://wiki.hard-light.net/index.php?title=Release_Build_Process&diff=44398Release Build Process2015-01-23T05:29:27Z<p>Chief1983: Generalizing the release script commands a bit.</p>
<hr />
<div> <nowiki>1) (One time) Create branch for new release. This is an entirely remote op and can be done from anywhere, by anyone with write access.<br />
<br />
svn copy [-r REV] svn://svn.icculus.org/fs2open/trunk/fs2_open svn://svn.icculus.org/fs2open/branches/fs2_open_<VERSION> -m "Copy trunk r<REV> to <VERSION> branch."<br />
# REV is only needed after copy if not just copying the latest HEAD revision in trunk.<br />
<br />
2) (Once per platform) Checkout the branch.<br />
<br />
cd <CODE DIRECTORY><br />
svn co svn://svn.icculus.org/fs2open/branches/fs2_open_<VERSION> fs2_open_<VERSION>_svn<br />
<br />
3) (Once per release) Commit a output filename/versioning commit.<br />
<br />
https://svn.icculus.org/fs2open?view=rev&revision=9638 should be a complete diff of everything that should be modified.<br />
<br />
Since the pilot code, this has been simplified a bit as far as project files are concerned.<br />
Windows project version strings are a bit different (more consistent, fewer). Most consist of replacing 2_open_<PREV_VERSION> with 2_open_<NEXT_VERSION>.<br />
A search and replace through all the necessary files will cover most of the build output filenames for the Windows project files. For instance:<br />
s/2_open_3_6_19/2_open_3_7_0_RC1<br />
That will cover all instances of fred2_open_3_6_19[-DEBUG], fs2_open_3_6_19[-DEBUG], and wxfred2_open_3_6_19[-DEBUG].<br />
For enabling text-to-speech and voice recognition in MSVC_2008, open the Fred2.vcproj, Freespace2.vcproj, and code.vcproj. In all three, you need to:<br />
s/_SECURE_SCL=0;_HAS_ITERATOR_DEBUGGING=0;"/_SECURE_SCL=0;_HAS_ITERATOR_DEBUGGING=0;FS2_SPEECH;FS2_VOICER;"<br />
There should be 18 replacements total, 6 per file. In Freespace2.vcproj, you must also:<br />
s/_VC08;/_VC08;FS2_VOICER;<br />
There should be six of those.<br />
For the Xcode projects, the InfoPlist.strings files are binary, but editable in most decent editors and should be obvious what needs to be changed.<br />
The project.pbxproj files just need the CURRENT_PROJECT_VERSION fields updated from, for example, 3.6.19-trunk to 3.7.0-RC1, etc.<br />
BE SURE TO GET THE CODEBLOCKS Freespace2 project file. It was somehow still missed in the 9638 commit.<br />
<br />
4) (Following instructions are once per release per platform) Export at the desired revision from the branch checkout.<br />
<br />
cd <CODE DIRECTORY><br />
svn up fs2_open_<VERSION>_svn<br />
svn export fs2_open_<VERSION>_svn fs2_open_<VERSION>[_RCx]<br />
# (Linux only)<br />
tar -cvzf fs2_open_<VERSION>[_RCx]_src.tgz fs2_open_<VERSION>[_RCx]<br />
md5sum fs2_open_<VERSION>[_RCx]_src.tgz > fs2_open_<VERSION>[_RCx]_src.md5<br />
# Upload source export and md5 to builds folder.<br />
<br />
5) Follow the specific platform's build method.<br />
<br />
Windows: Currently use MSVC 2008.<br />
Open the .sln, and batch build all configs (Release and Debug Standard, SSE, SSE2) for Freespace2 and Fred2.<br />
-or-<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Release|Win32" && \<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Debug|Win32" && \<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Release SSE|Win32" && \<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Debug SSE|Win32" && \<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Release SSE2|Win32" && \<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Debug SSE2|Win32"<br />
Copy the 2 release exes into the respective debug folder, and archive the 4 exes, the 2 map files, and the 2 pdb files using standard zip compression.<br />
You should end up with three files: fs2_open_<VERSION>[_RCx].zip (SSE2), fs2_open_<VERSION>[_RCx]_SSE.zip, and fs2_open_<VERSION>[_RCx]_NO-SSE.zip.<br />
MD5 the three zip files into fs2_open_<VERSION>[_RCx].md5.<br />
Upload these 4 files to the mirrors under builds/WIN.<br />
<br />
OSX: Currently use Xcode 5.1.1.<br />
cd <CODE DIRECTORY>/fs2_open_<VERSION>[_RCx]/projects/Xcode<br />
tar -xvzf Frameworks.tgz<br />
/<xcodebuild_path>/xcodebuild -configuration Release && /<xcodebuild_path>/xcodebuild -configuration Debug<br />
# Copy .apps from build/Debug and build/Release to a folder names FS2_Open <VERSION>[ RCx].<br />
mkdir ~/Desktop/FS2_Open\ <VERSION>[ RCx]<br />
cp -rf build/Release/FS2_Open.app ~/Desktop/FS2_Open\ <VERSION>[\ RCx]/FS2_Open\ <VERSION>[\ RCx].app<br />
cp -rf build/Debug/FS2_Open\ \(debug\).app ~/Desktop/FS2_Open\ <VERSION>[\ RCx]/FS2_Open\ <VERSION>[\ RCx]\ \(debug\).app<br />
# Use hdiutil to create an archive named FS2_Open-<VERSION>[_RCx].dmg.<br />
hdiutil create -srcfolder ~/Desktop/FS2_Open\ <VERSION>[\ RCx] ~/Desktop/FS2_Open-<VERSION>[_RCx].dmg<br />
# MD5 the .dmg file into FS2_Open-<VERSION>[_RCx].md5.<br />
md5 ~/Desktop/FS2_Open*.dmg > ~/Desktop/FS2_Open-<VERSION>[_RCx].md5<br />
# Upload these 2 files to the mirrors under builds/OSX.<br />
<br />
Linux/FreeBSD: Use whichever latest GCC/Clang is available and working.<br />
cd <CODE DIRECTORY/fs2_open_<VERSION>[_RCx]<br />
./autogen.sh --enable-debug && make && cp code/fs2_open_<VERSION>[_RCx]_DEBUG ../ && make clean && make distclean && ./autogen.sh && make && cp code/fs2_open_<VERSION>[_RCx] ../<br />
# Archive the fs2_open_<VERSION>* binary files into one fs2_open_<VERSION>[_RCx].tar.bz2 file.<br />
cd<br />
tar -cvjf fs2_open_<VERSION>[_RCx].tar.bz2 fs2_open_<VERSION>[_RCx]_DEBUG fs2_open_<VERSION>[_RCx]<br />
# MD5 the bz2 file into fs2_open_<VERSION>[_RCx].md5.<br />
md5sum fs2_open_<VERSION>[_RCx].tar.bz2 > fs2_open_<VERSION>[_RCx].md5<br />
# Upload these 2 files to the mirrors under builds/LINUX or builds/FREEBSD, accordingly.<br />
<br />
6) Update Mantis versions.<br />
<br />
If making a final release, be sure to make a released version for the next trunk version.<br />
Also for finals, bump any remaining Fix For <VERSION> to the next release version.<br />
<br />
7) Make the main forum release post. Use previous release post as template, update all filename links, MD5s, Known Issues, and changelog. Sticky it. Unsticky previous RC posts if there was one. Irrelephant previous RC posts. Unsticky previous final release post if new final release post.<br />
<br />
8) Update SCP website with news post, and links for a final release.<br />
<br />
9) Make other forum and news posts as necessary (Announcements, ModDB for final releases possibly, etc).<br />
<br />
10) Update FSO Installer source files to serve up the new release. Use the checksum files uploaded by the release script to make this easy.<br />
<br />
Steps 1-5, and 7 are now encompassed by release.pl found at https://svn.icculus.org/fs2open/trunk/nightly-build/ folder. This greatly speeds up the release process. The script is generally run with the following options on each platform, and in this order:<br />
<br />
Mac (RC1 only): ./release.pl --lastversion <OLDVERSION> --nextversion <NEWVERSION> --nextsubversion RC1 --lastreleaserevision 000000 --createbranch<br />
Mac: ./release.pl --lastversion <NEWVERSION> --lastsubversion RCx --nextversion <NEWVERSION [--nextsubversion RCx] --lastreleaserevision <OLDREVISION><br />
Linux: ./release.pl --nextversion <NEWVERSION> [--nextsubversion RCx] --doarchive<br />
FreeBSD: ./release.pl --nextversion <NEWVERSION> [--nextsubversion RCx]<br />
Windows: perl release.pl --nextversion <NEWVERSION> [--nextsubversion RCx] --message "Release message here, its existence will lead to the forum post."<br />
If the Windows one gives trouble with arguments, read http://www.perlmonks.org/?node_id=1054513 for help.</nowiki></div>Chief1983https://wiki.hard-light.net/index.php?title=Release_Build_Process&diff=44397Release Build Process2015-01-23T05:17:15Z<p>Chief1983: </p>
<hr />
<div> <nowiki>1) (One time) Create branch for new release. This is an entirely remote op and can be done from anywhere, by anyone with write access.<br />
<br />
svn copy [-r REV] svn://svn.icculus.org/fs2open/trunk/fs2_open svn://svn.icculus.org/fs2open/branches/fs2_open_<VERSION> -m "Copy trunk r<REV> to <VERSION> branch."<br />
# REV is only needed after copy if not just copying the latest HEAD revision in trunk.<br />
<br />
2) (Once per platform) Checkout the branch.<br />
<br />
cd <CODE DIRECTORY><br />
svn co svn://svn.icculus.org/fs2open/branches/fs2_open_<VERSION> fs2_open_<VERSION>_svn<br />
<br />
3) (Once per release) Commit a output filename/versioning commit.<br />
<br />
https://svn.icculus.org/fs2open?view=rev&revision=9638 should be a complete diff of everything that should be modified.<br />
<br />
Since the pilot code, this has been simplified a bit as far as project files are concerned.<br />
Windows project version strings are a bit different (more consistent, fewer). Most consist of replacing 2_open_<PREV_VERSION> with 2_open_<NEXT_VERSION>.<br />
A search and replace through all the necessary files will cover most of the build output filenames for the Windows project files. For instance:<br />
s/2_open_3_6_19/2_open_3_7_0_RC1<br />
That will cover all instances of fred2_open_3_6_19[-DEBUG], fs2_open_3_6_19[-DEBUG], and wxfred2_open_3_6_19[-DEBUG].<br />
For enabling text-to-speech and voice recognition in MSVC_2008, open the Fred2.vcproj, Freespace2.vcproj, and code.vcproj. In all three, you need to:<br />
s/_SECURE_SCL=0;_HAS_ITERATOR_DEBUGGING=0;"/_SECURE_SCL=0;_HAS_ITERATOR_DEBUGGING=0;FS2_SPEECH;FS2_VOICER;"<br />
There should be 18 replacements total, 6 per file. In Freespace2.vcproj, you must also:<br />
s/_VC08;/_VC08;FS2_VOICER;<br />
There should be six of those.<br />
For the Xcode projects, the InfoPlist.strings files are binary, but editable in most decent editors and should be obvious what needs to be changed.<br />
The project.pbxproj files just need the CURRENT_PROJECT_VERSION fields updated from, for example, 3.6.19-trunk to 3.7.0-RC1, etc.<br />
BE SURE TO GET THE CODEBLOCKS Freespace2 project file. It was somehow still missed in the 9638 commit.<br />
<br />
4) (Following instructions are once per release per platform) Export at the desired revision from the branch checkout.<br />
<br />
cd <CODE DIRECTORY><br />
svn up fs2_open_<VERSION>_svn<br />
svn export fs2_open_<VERSION>_svn fs2_open_<VERSION>[_RCx]<br />
# (Linux only)<br />
tar -cvzf fs2_open_<VERSION>[_RCx]_src.tgz fs2_open_<VERSION>[_RCx]<br />
md5sum fs2_open_<VERSION>[_RCx]_src.tgz > fs2_open_<VERSION>[_RCx]_src.md5<br />
# Upload source export and md5 to builds folder.<br />
<br />
5) Follow the specific platform's build method.<br />
<br />
Windows: Currently use MSVC 2008.<br />
Open the .sln, and batch build all configs (Release and Debug Standard, SSE, SSE2) for Freespace2 and Fred2.<br />
-or-<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Release|Win32" && \<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Debug|Win32" && \<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Release SSE|Win32" && \<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Debug SSE|Win32" && \<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Release SSE2|Win32" && \<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Debug SSE2|Win32"<br />
Copy the 2 release exes into the respective debug folder, and archive the 4 exes, the 2 map files, and the 2 pdb files using standard zip compression.<br />
You should end up with three files: fs2_open_<VERSION>[_RCx].zip (SSE2), fs2_open_<VERSION>[_RCx]_SSE.zip, and fs2_open_<VERSION>[_RCx]_NO-SSE.zip.<br />
MD5 the three zip files into fs2_open_<VERSION>[_RCx].md5.<br />
Upload these 4 files to the mirrors under builds/WIN.<br />
<br />
OSX: Currently use Xcode 5.1.1.<br />
cd <CODE DIRECTORY>/fs2_open_<VERSION>[_RCx]/projects/Xcode<br />
tar -xvzf Frameworks.tgz<br />
/<xcodebuild_path>/xcodebuild -configuration Release && /<xcodebuild_path>/xcodebuild -configuration Debug<br />
# Copy .apps from build/Debug and build/Release to a folder names FS2_Open <VERSION>[ RCx].<br />
mkdir ~/Desktop/FS2_Open\ <VERSION>[ RCx]<br />
cp -rf build/Release/FS2_Open.app ~/Desktop/FS2_Open\ <VERSION>[\ RCx]/FS2_Open\ <VERSION>[\ RCx].app<br />
cp -rf build/Debug/FS2_Open\ \(debug\).app ~/Desktop/FS2_Open\ <VERSION>[\ RCx]/FS2_Open\ <VERSION>[\ RCx]\ \(debug\).app<br />
# Use hdiutil to create an archive named FS2_Open-<VERSION>[_RCx].dmg.<br />
hdiutil create -srcfolder ~/Desktop/FS2_Open\ <VERSION>[\ RCx] ~/Desktop/FS2_Open-<VERSION>[_RCx].dmg<br />
# MD5 the .dmg file into FS2_Open-<VERSION>[_RCx].md5.<br />
md5 ~/Desktop/FS2_Open*.dmg > ~/Desktop/FS2_Open-<VERSION>[_RCx].md5<br />
# Upload these 2 files to the mirrors under builds/OSX.<br />
<br />
Linux/FreeBSD: Use whichever latest GCC/Clang is available and working.<br />
cd <CODE DIRECTORY/fs2_open_<VERSION>[_RCx]<br />
./autogen.sh --enable-debug && make && cp code/fs2_open_<VERSION>[_RCx]_DEBUG ../ && make clean && make distclean && ./autogen.sh && make && cp code/fs2_open_<VERSION>[_RCx] ../<br />
# Archive the fs2_open_<VERSION>* binary files into one fs2_open_<VERSION>[_RCx].tar.bz2 file.<br />
cd<br />
tar -cvjf fs2_open_<VERSION>[_RCx].tar.bz2 fs2_open_<VERSION>[_RCx]_DEBUG fs2_open_<VERSION>[_RCx]<br />
# MD5 the bz2 file into fs2_open_<VERSION>[_RCx].md5.<br />
md5sum fs2_open_<VERSION>[_RCx].tar.bz2 > fs2_open_<VERSION>[_RCx].md5<br />
# Upload these 2 files to the mirrors under builds/LINUX or builds/FREEBSD, accordingly.<br />
<br />
6) Update Mantis versions.<br />
<br />
If making a final release, be sure to make a released version for the next trunk version.<br />
Also for finals, bump any remaining Fix For <VERSION> to the next release version.<br />
<br />
7) Make the main forum release post. Use previous release post as template, update all filename links, MD5s, Known Issues, and changelog. Sticky it. Unsticky previous RC posts if there was one. Irrelephant previous RC posts. Unsticky previous final release post if new final release post.<br />
<br />
8) Update SCP website with news post, and links for a final release.<br />
<br />
9) Make other forum and news posts as necessary (Announcements, ModDB for final releases possibly, etc).<br />
<br />
10) Update FSO Installer source files to serve up the new release. Use the checksum files uploaded by the release script to make this easy.<br />
<br />
Steps 1-5, and 7 are now encompassed by release.pl found at https://svn.icculus.org/fs2open/trunk/nightly-build/ folder. This greatly speeds up the release process. The script is generally run with the following options on each platform, and in this order:<br />
<br />
Mac (RC1 only): ./release.pl --lastversion 3.7.1 --nextversion 3.7.2 --nextsubversion RC1 --lastreleaserevision 000000 --createbranch<br />
Mac: ./release.pl --lastversion 3.7.2 --lastsubversion RC4 --nextversion 3.7.2 --nextsubversion RC5 --lastreleaserevision 10997<br />
Linux: ./release.pl --nextversion 3.7.2 --nextsubversion RC5 --doarchive<br />
FreeBSD: ./release.pl --nextversion 3.7.2 --nextsubversion RC5<br />
Windows: perl release.pl --nextversion 3.7.2 --nextsubversion RC5 --message "Release message here, its existence will lead to the forum post."<br />
If the Windows one gives trouble with arguments, read http://www.perlmonks.org/?node_id=1054513 for help.</nowiki></div>Chief1983https://wiki.hard-light.net/index.php?title=Release_Build_Process&diff=44395Release Build Process2015-01-23T02:09:34Z<p>Chief1983: </p>
<hr />
<div> <nowiki>1) (One time) Create branch for new release. This is an entirely remote op and can be done from anywhere, by anyone with write access.<br />
<br />
svn copy [-r REV] svn://svn.icculus.org/fs2open/trunk/fs2_open svn://svn.icculus.org/fs2open/branches/fs2_open_<VERSION> -m "Copy trunk r<REV> to <VERSION> branch."<br />
# REV is only needed after copy if not just copying the latest HEAD revision in trunk.<br />
<br />
2) (Once per platform) Checkout the branch.<br />
<br />
cd <CODE DIRECTORY><br />
svn co svn://svn.icculus.org/fs2open/branches/fs2_open_<VERSION> fs2_open_<VERSION>_svn<br />
<br />
3) (Once per release) Commit a output filename/versioning commit.<br />
<br />
https://svn.icculus.org/fs2open?view=rev&revision=9638 should be a complete diff of everything that should be modified.<br />
<br />
Since the pilot code, this has been simplified a bit as far as project files are concerned.<br />
Windows project version strings are a bit different (more consistent, fewer). Most consist of replacing 2_open_<PREV_VERSION> with 2_open_<NEXT_VERSION>.<br />
A search and replace through all the necessary files will cover most of the build output filenames for the Windows project files. For instance:<br />
s/2_open_3_6_19/2_open_3_7_0_RC1<br />
That will cover all instances of fred2_open_3_6_19[-DEBUG], fs2_open_3_6_19[-DEBUG], and wxfred2_open_3_6_19[-DEBUG].<br />
For enabling text-to-speech and voice recognition in MSVC_2008, open the Fred2.vcproj, Freespace2.vcproj, and code.vcproj. In all three, you need to:<br />
s/_SECURE_SCL=0;_HAS_ITERATOR_DEBUGGING=0;"/_SECURE_SCL=0;_HAS_ITERATOR_DEBUGGING=0;FS2_SPEECH;FS2_VOICER;"<br />
There should be 18 replacements total, 6 per file. In Freespace2.vcproj, you must also:<br />
s/_VC08;/_VC08;FS2_VOICER;<br />
There should be six of those.<br />
For the Xcode projects, the InfoPlist.strings files are binary, but editable in most decent editors and should be obvious what needs to be changed.<br />
The project.pbxproj files just need the CURRENT_PROJECT_VERSION fields updated from, for example, 3.6.19-trunk to 3.7.0-RC1, etc.<br />
BE SURE TO GET THE CODEBLOCKS Freespace2 project file. It was somehow still missed in the 9638 commit.<br />
<br />
4) (Following instructions are once per release per platform) Export at the desired revision from the branch checkout.<br />
<br />
cd <CODE DIRECTORY><br />
svn up fs2_open_<VERSION>_svn<br />
svn export fs2_open_<VERSION>_svn fs2_open_<VERSION>[_RCx]<br />
# (Linux only)<br />
tar -cvzf fs2_open_<VERSION>[_RCx]_src.tgz fs2_open_<VERSION>[_RCx]<br />
md5sum fs2_open_<VERSION>[_RCx]_src.tgz > fs2_open_<VERSION>[_RCx]_src.md5<br />
# Upload source export and md5 to builds folder.<br />
<br />
5) Follow the specific platform's build method.<br />
<br />
Windows: Currently use MSVC 2008.<br />
Open the .sln, and batch build all configs (Release and Debug Standard, SSE, SSE2) for Freespace2 and Fred2.<br />
-or-<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Release|Win32" && \<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Debug|Win32" && \<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Release SSE|Win32" && \<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Debug SSE|Win32" && \<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Release SSE2|Win32" && \<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Debug SSE2|Win32"<br />
Copy the 2 release exes into the respective debug folder, and archive the 4 exes, the 2 map files, and the 2 pdb files using standard zip compression.<br />
You should end up with three files: fs2_open_<VERSION>[_RCx].zip (SSE2), fs2_open_<VERSION>[_RCx]_SSE.zip, and fs2_open_<VERSION>[_RCx]_NO-SSE.zip.<br />
MD5 the three zip files into fs2_open_<VERSION>[_RCx].md5.<br />
Upload these 4 files to the mirrors under builds/WIN.<br />
<br />
OSX: Currently use Xcode 5.1.1.<br />
cd <CODE DIRECTORY>/fs2_open_<VERSION>[_RCx]/projects/Xcode<br />
tar -xvzf Frameworks.tgz<br />
/<xcodebuild_path>/xcodebuild -configuration Release && /<xcodebuild_path>/xcodebuild -configuration Debug<br />
# Copy .apps from build/Debug and build/Release to a folder names FS2_Open <VERSION>[ RCx].<br />
mkdir ~/Desktop/FS2_Open\ <VERSION>[ RCx]<br />
cp -rf build/Release/FS2_Open.app ~/Desktop/FS2_Open\ <VERSION>[\ RCx]/FS2_Open\ <VERSION>[\ RCx].app<br />
cp -rf build/Debug/FS2_Open\ \(debug\).app ~/Desktop/FS2_Open\ <VERSION>[\ RCx]/FS2_Open\ <VERSION>[\ RCx]\ \(debug\).app<br />
# Use hdiutil to create an archive named FS2_Open-<VERSION>[_RCx].dmg.<br />
hdiutil create -srcfolder ~/Desktop/FS2_Open\ <VERSION>[\ RCx] ~/Desktop/FS2_Open-<VERSION>[_RCx].dmg<br />
# MD5 the .dmg file into FS2_Open-<VERSION>[_RCx].md5.<br />
md5 ~/Desktop/FS2_Open*.dmg > ~/Desktop/FS2_Open-<VERSION>[_RCx].md5<br />
# Upload these 2 files to the mirrors under builds/OSX.<br />
<br />
Linux/FreeBSD: Use whichever latest GCC/Clang is available and working.<br />
cd <CODE DIRECTORY/fs2_open_<VERSION>[_RCx]<br />
./autogen.sh --enable-debug && make && cp code/fs2_open_<VERSION>[_RCx]_DEBUG ../ && make clean && make distclean && ./autogen.sh && make && cp code/fs2_open_<VERSION>[_RCx] ../<br />
# Archive the fs2_open_<VERSION>* binary files into one fs2_open_<VERSION>[_RCx].tar.bz2 file.<br />
cd<br />
tar -cvjf fs2_open_<VERSION>[_RCx].tar.bz2 fs2_open_<VERSION>[_RCx]_DEBUG fs2_open_<VERSION>[_RCx]<br />
# MD5 the bz2 file into fs2_open_<VERSION>[_RCx].md5.<br />
md5sum fs2_open_<VERSION>[_RCx].tar.bz2 > fs2_open_<VERSION>[_RCx].md5<br />
# Upload these 2 files to the mirrors under builds/LINUX or builds/FREEBSD, accordingly.<br />
<br />
6) Update Mantis versions.<br />
<br />
If making a final release, be sure to make a released version for the next trunk version.<br />
Also for finals, bump any remaining Fix For <VERSION> to the next release version.<br />
<br />
7) Make the main forum release post. Use previous release post as template, update all filename links, MD5s, Known Issues, and changelog. Sticky it. Unsticky previous RC posts if there was one. Irrelephant previous RC posts. Unsticky previous final release post if new final release post.<br />
<br />
8) Update SCP website with news post, and links for a final release.<br />
<br />
9) Make other forum and news posts as necessary (Announcements, ModDB for final releases possibly, etc).<br />
<br />
<br />
Steps 1-5, and 7 are now encompassed by release.pl found at https://svn.icculus.org/fs2open/trunk/nightly-build/ folder. This greatly speeds up the release process. The script is generally run with the following options on each platform, and in this order:<br />
<br />
Mac (RC1 only): ./release.pl --lastversion 3.7.1 --nextversion 3.7.2 --nextsubversion RC1 --lastreleaserevision 000000 --createbranch<br />
Mac: ./release.pl --lastversion 3.7.2 --lastsubversion RC4 --nextversion 3.7.2 --nextsubversion RC5 --lastreleaserevision 10997<br />
Linux: ./release.pl --nextversion 3.7.2 --nextsubversion RC5 --doarchive<br />
FreeBSD: ./release.pl --nextversion 3.7.2 --nextsubversion RC5<br />
Windows: perl release.pl --nextversion 3.7.2 --nextsubversion RC5 --message "Release message here, its existence will lead to the forum post."<br />
If the Windows one gives trouble with arguments, read http://www.perlmonks.org/?node_id=1054513 for help.</nowiki></div>Chief1983https://wiki.hard-light.net/index.php?title=Release_Build_Process&diff=44394Release Build Process2015-01-23T02:06:03Z<p>Chief1983: </p>
<hr />
<div> <nowiki>1) (One time) Create branch for new release. This is an entirely remote op and can be done from anywhere, by anyone with write access.<br />
<br />
svn copy [-r REV] svn://svn.icculus.org/fs2open/trunk/fs2_open svn://svn.icculus.org/fs2open/branches/fs2_open_<VERSION> -m "Copy trunk r<REV> to <VERSION> branch."<br />
# REV is only needed after copy if not just copying the latest HEAD revision in trunk.<br />
<br />
2) (Once per platform) Checkout the branch.<br />
<br />
cd <CODE DIRECTORY><br />
svn co svn://svn.icculus.org/fs2open/branches/fs2_open_<VERSION> fs2_open_<VERSION>_svn<br />
<br />
3) (Once per release) Commit a output filename/versioning commit.<br />
<br />
https://svn.icculus.org/fs2open?view=rev&revision=9638 should be a complete diff of everything that should be modified.<br />
<br />
Since the pilot code, this has been simplified a bit as far as project files are concerned.<br />
Windows project version strings are a bit different (more consistent, fewer). Most consist of replacing 2_open_<PREV_VERSION> with 2_open_<NEXT_VERSION>.<br />
A search and replace through all the necessary files will cover most of the build output filenames for the Windows project files. For instance:<br />
s/2_open_3_6_19/2_open_3_7_0_RC1<br />
That will cover all instances of fred2_open_3_6_19[-DEBUG], fs2_open_3_6_19[-DEBUG], and wxfred2_open_3_6_19[-DEBUG].<br />
For enabling text-to-speech and voice recognition in MSVC_2008, open the Fred2.vcproj, Freespace2.vcproj, and code.vcproj. In all three, you need to:<br />
s/_SECURE_SCL=0;_HAS_ITERATOR_DEBUGGING=0;"/_SECURE_SCL=0;_HAS_ITERATOR_DEBUGGING=0;FS2_SPEECH;FS2_VOICER;"<br />
There should be 18 replacements total, 6 per file. In Freespace2.vcproj, you must also:<br />
s/_VC08;/_VC08;FS2_VOICER;<br />
There should be six of those.<br />
For the Xcode projects, the InfoPlist.strings files are binary, but editable in most decent editors and should be obvious what needs to be changed.<br />
The project.pbxproj files just need the CURRENT_PROJECT_VERSION fields updated from, for example, 3.6.19-trunk to 3.7.0-RC1, etc.<br />
BE SURE TO GET THE CODEBLOCKS Freespace2 project file. It was somehow still missed in the 9638 commit.<br />
<br />
4) (Following instructions are once per release per platform) Export at the desired revision from the branch checkout.<br />
<br />
cd <CODE DIRECTORY><br />
svn up fs2_open_<VERSION>_svn<br />
svn export fs2_open_<VERSION>_svn fs2_open_<VERSION>[_RCx]<br />
# (Linux only)<br />
tar -cvzf fs2_open_<VERSION>[_RCx]_src.tgz fs2_open_<VERSION>[_RCx]<br />
md5sum fs2_open_<VERSION>[_RCx]_src.tgz > fs2_open_<VERSION>[_RCx]_src.md5<br />
# Upload source export and md5 to builds folder.<br />
<br />
5) Follow the specific platform's build method.<br />
<br />
Windows: Currently use MSVC 2008.<br />
Open the .sln, and batch build all configs (Release and Debug Standard, SSE, SSE2) for Freespace2 and Fred2.<br />
-or-<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Release|Win32" && \<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Debug|Win32" && \<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Release SSE|Win32" && \<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Debug SSE|Win32" && \<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Release SSE2|Win32" && \<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Debug SSE2|Win32"<br />
Copy the 2 release exes into the respective debug folder, and archive the 4 exes, the 2 map files, and the 2 pdb files using standard zip compression.<br />
You should end up with three files: fs2_open_<VERSION>[_RCx].zip (SSE2), fs2_open_<VERSION>[_RCx]_SSE.zip, and fs2_open_<VERSION>[_RCx]_NO-SSE.zip.<br />
MD5 the three zip files into fs2_open_<VERSION>[_RCx].md5.<br />
Upload these 4 files to the mirrors under builds/WIN.<br />
<br />
OSX: Currently use Xcode 5.1.1.<br />
cd <CODE DIRECTORY>/fs2_open_<VERSION>[_RCx]/projects/Xcode<br />
tar -xvzf Frameworks.tgz<br />
/<xcodebuild_path>/xcodebuild -configuration Release && /<xcodebuild_path>/xcodebuild -configuration Debug<br />
# Copy .apps from build/Debug and build/Release to a folder names FS2_Open <VERSION>[ RCx].<br />
mkdir ~/Desktop/FS2_Open\ <VERSION>[ RCx]<br />
cp -rf build/Release/FS2_Open.app ~/Desktop/FS2_Open\ <VERSION>[\ RCx]/FS2_Open\ <VERSION>[\ RCx].app<br />
cp -rf build/Debug/FS2_Open\ \(debug\).app ~/Desktop/FS2_Open\ <VERSION>[\ RCx]/FS2_Open\ <VERSION>[\ RCx]\ \(debug\).app<br />
# Use hdiutil to create an archive named FS2_Open-<VERSION>[_RCx].dmg.<br />
hdiutil create -srcfolder ~/Desktop/FS2_Open\ <VERSION>[\ RCx] ~/Desktop/FS2_Open-<VERSION>[_RCx].dmg<br />
# MD5 the .dmg file into FS2_Open-<VERSION>[_RCx].md5.<br />
md5 ~/Desktop/FS2_Open*.dmg > ~/Desktop/FS2_Open-<VERSION>[_RCx].md5<br />
# Upload these 2 files to the mirrors under builds/OSX.<br />
<br />
Linux/FreeBSD: Use whichever latest GCC/Clang is available and working.<br />
cd <CODE DIRECTORY/fs2_open_<VERSION>[_RCx]<br />
./autogen.sh --enable-debug && make && cp code/fs2_open_<VERSION>[_RCx]_DEBUG ../ && make clean && make distclean && ./autogen.sh && make && cp code/fs2_open_<VERSION>[_RCx] ../<br />
# Archive the fs2_open_<VERSION>* binary files into one fs2_open_<VERSION>[_RCx].tar.bz2 file.<br />
cd<br />
tar -cvjf fs2_open_<VERSION>[_RCx].tar.bz2 fs2_open_<VERSION>[_RCx]_DEBUG fs2_open_<VERSION>[_RCx]<br />
# MD5 the bz2 file into fs2_open_<VERSION>[_RCx].md5.<br />
md5sum fs2_open_<VERSION>[_RCx].tar.bz2 > fs2_open_<VERSION>[_RCx].md5<br />
# Upload these 2 files to the mirrors under builds/LINUX or builds/FREEBSD, accordingly.<br />
<br />
6) Update Mantis versions.<br />
<br />
If making a final release, be sure to make a released version for the next trunk version.<br />
Also for finals, bump any remaining Fix For <VERSION> to the next release version.<br />
<br />
7) Make the main forum release post. Use previous release post as template, update all filename links, MD5s, Known Issues, and changelog. Sticky it. Unsticky previous RC posts if there was one. Irrelephant previous RC posts. Unsticky previous final release post if new final release post.<br />
<br />
8) Update SCP website with news post, and links for a final release.<br />
<br />
9) Make other forum and news posts as necessary (Announcements, ModDB for final releases possibly, etc).<br />
<br />
<br />
Steps 1-5, and 7 are now encompassed by release.pl found at https://svn.icculus.org/fs2open/trunk/nightly-build/ folder. This greatly speeds up the release process. The script is generally run with the following options on each platform, and in this order:<br />
<br />
Mac (RC1 only): ./release.pl --lastversion 3.7.1 --nextversion 3.7.2 --nextsubversion RC1 --lastreleaserevision 000000 --createbranch<br />
Mac: ./release.pl --lastversion 3.7.2 --lastsubversion RC4 --nextversion 3.7.2 --nextsubversion RC5 --lastreleaserevision 10997<br />
Linux: ./release.pl --nextversion 3.7.2 --nextsubversion RC5 --doarchive<br />
FreeBSD: ./release.pl --nextversion 3.7.2 --nextsubversion RC5<br />
Windows: perl release.pl --nextversion 3.7.2 --nextsubversion RC5 --message "Release message here, its existence will lead to the forum post."</nowiki></div>Chief1983https://wiki.hard-light.net/index.php?title=Release_Build_Process&diff=44393Release Build Process2015-01-22T22:54:15Z<p>Chief1983: </p>
<hr />
<div> <nowiki>1) (One time) Create branch for new release. This is an entirely remote op and can be done from anywhere, by anyone with write access.<br />
<br />
svn copy [-r REV] svn://svn.icculus.org/fs2open/trunk/fs2_open svn://svn.icculus.org/fs2open/branches/fs2_open_<VERSION> -m "Copy trunk r<REV> to <VERSION> branch."<br />
# REV is only needed after copy if not just copying the latest HEAD revision in trunk.<br />
<br />
2) (Once per platform) Checkout the branch.<br />
<br />
cd <CODE DIRECTORY><br />
svn co svn://svn.icculus.org/fs2open/branches/fs2_open_<VERSION> fs2_open_<VERSION>_svn<br />
<br />
3) (Once per release) Commit a output filename/versioning commit.<br />
<br />
https://svn.icculus.org/fs2open?view=rev&revision=9638 should be a complete diff of everything that should be modified.<br />
<br />
Since the pilot code, this has been simplified a bit as far as project files are concerned.<br />
Windows project version strings are a bit different (more consistent, fewer). Most consist of replacing 2_open_<PREV_VERSION> with 2_open_<NEXT_VERSION>.<br />
A search and replace through all the necessary files will cover most of the build output filenames for the Windows project files. For instance:<br />
s/2_open_3_6_19/2_open_3_7_0_RC1<br />
That will cover all instances of fred2_open_3_6_19[-DEBUG], fs2_open_3_6_19[-DEBUG], and wxfred2_open_3_6_19[-DEBUG].<br />
For enabling text-to-speech and voice recognition in MSVC_2008, open the Fred2.vcproj, Freespace2.vcproj, and code.vcproj. In all three, you need to:<br />
s/_SECURE_SCL=0;_HAS_ITERATOR_DEBUGGING=0;"/_SECURE_SCL=0;_HAS_ITERATOR_DEBUGGING=0;FS2_SPEECH;FS2_VOICER;"<br />
There should be 18 replacements total, 6 per file. In Freespace2.vcproj, you must also:<br />
s/_VC08;/_VC08;FS2_VOICER;<br />
There should be six of those.<br />
For the Xcode projects, the InfoPlist.strings files are binary, but editable in most decent editors and should be obvious what needs to be changed.<br />
The project.pbxproj files just need the CURRENT_PROJECT_VERSION fields updated from, for example, 3.6.19-trunk to 3.7.0-RC1, etc.<br />
BE SURE TO GET THE CODEBLOCKS Freespace2 project file. It was somehow still missed in the 9638 commit.<br />
<br />
4) (Following instructions are once per release per platform) Export at the desired revision from the branch checkout.<br />
<br />
cd <CODE DIRECTORY><br />
svn up fs2_open_<VERSION>_svn<br />
svn export fs2_open_<VERSION>_svn fs2_open_<VERSION>[_RCx]<br />
# (Linux only)<br />
tar -cvzf fs2_open_<VERSION>[_RCx]_src.tgz fs2_open_<VERSION>[_RCx]<br />
md5sum fs2_open_<VERSION>[_RCx]_src.tgz > fs2_open_<VERSION>[_RCx]_src.md5<br />
# Upload source export and md5 to builds folder.<br />
<br />
5) Follow the specific platform's build method.<br />
<br />
Windows: Currently use MSVC 2008.<br />
Open the .sln, and batch build all configs (Release and Debug Standard, SSE, SSE2) for Freespace2 and Fred2.<br />
-or-<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Release|Win32" && \<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Debug|Win32" && \<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Release SSE|Win32" && \<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Debug SSE|Win32" && \<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Release SSE2|Win32" && \<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Debug SSE2|Win32"<br />
Copy the 2 release exes into the respective debug folder, and archive the 4 exes, the 2 map files, and the 2 pdb files using standard zip compression.<br />
You should end up with three files: fs2_open_<VERSION>[_RCx].zip (SSE2), fs2_open_<VERSION>[_RCx]_SSE.zip, and fs2_open_<VERSION>[_RCx]_NO-SSE.zip.<br />
MD5 the three zip files into fs2_open_<VERSION>[_RCx].md5.<br />
Upload these 4 files to the mirrors under builds/WIN.<br />
<br />
OSX: Currently use Xcode 5.1.1.<br />
cd <CODE DIRECTORY>/fs2_open_<VERSION>[_RCx]/projects/Xcode<br />
tar -xvzf Frameworks.tgz<br />
/<xcodebuild_path>/xcodebuild -configuration Release && /<xcodebuild_path>/xcodebuild -configuration Debug<br />
# Copy .apps from build/Debug and build/Release to a folder names FS2_Open <VERSION>[ RCx].<br />
mkdir ~/Desktop/FS2_Open\ <VERSION>[ RCx]<br />
cp -rf build/Release/FS2_Open.app ~/Desktop/FS2_Open\ <VERSION>[\ RCx]/FS2_Open\ <VERSION>[\ RCx].app<br />
cp -rf build/Debug/FS2_Open\ \(debug\).app ~/Desktop/FS2_Open\ <VERSION>[\ RCx]/FS2_Open\ <VERSION>[\ RCx]\ \(debug\).app<br />
# Use hdiutil to create an archive named FS2_Open-<VERSION>[_RCx].dmg.<br />
hdiutil create -srcfolder ~/Desktop/FS2_Open\ <VERSION>[\ RCx] ~/Desktop/FS2_Open-<VERSION>[_RCx].dmg<br />
# MD5 the .dmg file into FS2_Open-<VERSION>[_RCx].md5.<br />
md5 ~/Desktop/FS2_Open*.dmg > ~/Desktop/FS2_Open-<VERSION>[_RCx].md5<br />
# Upload these 2 files to the mirrors under builds/OSX.<br />
<br />
Linux/FreeBSD: Use whichever latest GCC/Clang is available and working.<br />
cd <CODE DIRECTORY/fs2_open_<VERSION>[_RCx]<br />
./autogen.sh --enable-debug && make && cp code/fs2_open_<VERSION>[_RCx]_DEBUG ../ && make clean && make distclean && ./autogen.sh && make && cp code/fs2_open_<VERSION>[_RCx] ../<br />
# Archive the fs2_open_<VERSION>* binary files into one fs2_open_<VERSION>[_RCx].tar.bz2 file.<br />
cd<br />
tar -cvjf fs2_open_<VERSION>[_RCx].tar.bz2 fs2_open_<VERSION>[_RCx]_DEBUG fs2_open_<VERSION>[_RCx]<br />
# MD5 the bz2 file into fs2_open_<VERSION>[_RCx].md5.<br />
md5sum fs2_open_<VERSION>[_RCx].tar.bz2 > fs2_open_<VERSION>[_RCx].md5<br />
# Upload these 2 files to the mirrors under builds/LINUX or builds/FREEBSD, accordingly.<br />
<br />
6) Update Mantis versions.<br />
<br />
If making a final release, be sure to make a released version for the next trunk version.<br />
Also for finals, bump any remaining Fix For <VERSION> to the next release version.<br />
<br />
7) Make the main forum release post. Use previous release post as template, update all filename links, MD5s, Known Issues, and changelog. Sticky it. Unsticky previous RC posts if there was one. Irrelephant previous RC posts. Unsticky previous final release post if new final release post.<br />
<br />
8) Update SCP website with news post, and links for a final release.<br />
<br />
9) Make other forum and news posts as necessary (Announcements, ModDB for final releases possibly, etc).<br />
<br />
<br />
Steps 1-5, and 7 are now encompassed by release.pl found at https://svn.icculus.org/fs2open/trunk/nightly-build/ folder. This greatly speeds up the release process. The script is generally run with the following options on each platform, and in this order:<br />
<br />
Mac (RC1 only): ./release.pl --lastversion 3.7.1 --nextversion 3.7.2 --nextsubversion RC1 --lastreleaserevision 000000 --createbranch<br />
Mac: ./release.pl --lastversion 3.7.2 --lastsubversion RC4 --nextversion 3.7.2 --nextsubversion RC5 --lastreleaserevision 10997<br />
Linux: ./release.pl --nextversion 3.7.2 --nextsubversion RC5 --doarchive<br />
FreeBSD: ./release.pl --nextversion 3.7.2 --nextsubversion RC5<br />
Windows (in Git bash prompt for args to function properly): ./release.pl --next-version 3.7.2 --nextsubversion RC5 --message "Release message here, its existence will lead to the forum post."</nowiki></div>Chief1983https://wiki.hard-light.net/index.php?title=Release_Build_Process&diff=44392Release Build Process2015-01-22T22:52:30Z<p>Chief1983: </p>
<hr />
<div> <nowiki>1) (One time) Create branch for new release. This is an entirely remote op and can be done from anywhere, by anyone with write access.<br />
<br />
svn copy [-r REV] svn://svn.icculus.org/fs2open/trunk/fs2_open svn://svn.icculus.org/fs2open/branches/fs2_open_<VERSION> -m "Copy trunk r<REV> to <VERSION> branch."<br />
# REV is only needed after copy if not just copying the latest HEAD revision in trunk.<br />
<br />
2) (Once per platform) Checkout the branch.<br />
<br />
cd <CODE DIRECTORY><br />
svn co svn://svn.icculus.org/fs2open/branches/fs2_open_<VERSION> fs2_open_<VERSION>_svn<br />
<br />
3) (Once per release) Commit a output filename/versioning commit.<br />
<br />
https://svn.icculus.org/fs2open?view=rev&revision=9638 should be a complete diff of everything that should be modified.<br />
<br />
Since the pilot code, this has been simplified a bit as far as project files are concerned.<br />
Windows project version strings are a bit different (more consistent, fewer). Most consist of replacing 2_open_<PREV_VERSION> with 2_open_<NEXT_VERSION>.<br />
A search and replace through all the necessary files will cover most of the build output filenames for the Windows project files. For instance:<br />
s/2_open_3_6_19/2_open_3_7_0_RC1<br />
That will cover all instances of fred2_open_3_6_19[-DEBUG], fs2_open_3_6_19[-DEBUG], and wxfred2_open_3_6_19[-DEBUG].<br />
For enabling text-to-speech and voice recognition in MSVC_2008, open the Fred2.vcproj, Freespace2.vcproj, and code.vcproj. In all three, you need to:<br />
s/_SECURE_SCL=0;_HAS_ITERATOR_DEBUGGING=0;"/_SECURE_SCL=0;_HAS_ITERATOR_DEBUGGING=0;FS2_SPEECH;FS2_VOICER;"<br />
There should be 18 replacements total, 6 per file. In Freespace2.vcproj, you must also:<br />
s/_VC08;/_VC08;FS2_VOICER;<br />
There should be six of those.<br />
For the Xcode projects, the InfoPlist.strings files are binary, but editable in most decent editors and should be obvious what needs to be changed.<br />
The project.pbxproj files just need the CURRENT_PROJECT_VERSION fields updated from, for example, 3.6.19-trunk to 3.7.0-RC1, etc.<br />
BE SURE TO GET THE CODEBLOCKS Freespace2 project file. It was somehow still missed in the 9638 commit.<br />
<br />
4) (Following instructions are once per release per platform) Export at the desired revision from the branch checkout.<br />
<br />
cd <CODE DIRECTORY><br />
svn up fs2_open_<VERSION>_svn<br />
svn export fs2_open_<VERSION>_svn fs2_open_<VERSION>[_RCx]<br />
# (Linux only)<br />
tar -cvzf fs2_open_<VERSION>[_RCx]_src.tgz fs2_open_<VERSION>[_RCx]<br />
md5sum fs2_open_<VERSION>[_RCx]_src.tgz > fs2_open_<VERSION>[_RCx]_src.md5<br />
# Upload source export and md5 to builds folder.<br />
<br />
5) Follow the specific platform's build method.<br />
<br />
Windows: Currently use MSVC 2008.<br />
Open the .sln, and batch build all configs (Release and Debug Standard, SSE, SSE2) for Freespace2 and Fred2.<br />
-or-<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Release|Win32" && \<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Debug|Win32" && \<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Release SSE|Win32" && \<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Debug SSE|Win32" && \<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Release SSE2|Win32" && \<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Debug SSE2|Win32"<br />
Copy the 2 release exes into the respective debug folder, and archive the 4 exes, the 2 map files, and the 2 pdb files using standard zip compression.<br />
You should end up with three files: fs2_open_<VERSION>[_RCx].zip (SSE2), fs2_open_<VERSION>[_RCx]_SSE.zip, and fs2_open_<VERSION>[_RCx]_NO-SSE.zip.<br />
MD5 the three zip files into fs2_open_<VERSION>[_RCx].md5.<br />
Upload these 4 files to the mirrors under builds/WIN.<br />
<br />
OSX: Currently use Xcode 5.1.1.<br />
cd <CODE DIRECTORY>/fs2_open_<VERSION>[_RCx]/projects/Xcode<br />
tar -xvzf Frameworks.tgz<br />
/<xcodebuild_path>/xcodebuild -configuration Release && /<xcodebuild_path>/xcodebuild -configuration Debug<br />
# Copy .apps from build/Debug and build/Release to a folder names FS2_Open <VERSION>[ RCx].<br />
mkdir ~/Desktop/FS2_Open\ <VERSION>[ RCx]<br />
cp -rf build/Release/FS2_Open.app ~/Desktop/FS2_Open\ <VERSION>[\ RCx]/FS2_Open\ <VERSION>[\ RCx].app<br />
cp -rf build/Debug/FS2_Open\ \(debug\).app ~/Desktop/FS2_Open\ <VERSION>[\ RCx]/FS2_Open\ <VERSION>[\ RCx]\ \(debug\).app<br />
# Use hdiutil to create an archive named FS2_Open-<VERSION>[_RCx].dmg.<br />
hdiutil create -srcfolder ~/Desktop/FS2_Open\ <VERSION>[\ RCx] ~/Desktop/FS2_Open-<VERSION>[_RCx].dmg<br />
# MD5 the .dmg file into FS2_Open-<VERSION>[_RCx].md5.<br />
md5 ~/Desktop/FS2_Open*.dmg > ~/Desktop/FS2_Open-<VERSION>[_RCx].md5<br />
# Upload these 2 files to the mirrors under builds/OSX.<br />
<br />
Linux/FreeBSD: Use whichever latest GCC/Clang is available and working.<br />
cd <CODE DIRECTORY/fs2_open_<VERSION>[_RCx]<br />
./autogen.sh --enable-debug && make && cp code/fs2_open_<VERSION>[_RCx]_DEBUG ../ && make clean && make distclean && ./autogen.sh && make && cp code/fs2_open_<VERSION>[_RCx] ../<br />
# Archive the fs2_open_<VERSION>* binary files into one fs2_open_<VERSION>[_RCx].tar.bz2 file.<br />
cd<br />
tar -cvjf fs2_open_<VERSION>[_RCx].tar.bz2 fs2_open_<VERSION>[_RCx]_DEBUG fs2_open_<VERSION>[_RCx]<br />
# MD5 the bz2 file into fs2_open_<VERSION>[_RCx].md5.<br />
md5sum fs2_open_<VERSION>[_RCx].tar.bz2 > fs2_open_<VERSION>[_RCx].md5<br />
# Upload these 2 files to the mirrors under builds/LINUX or builds/FREEBSD, accordingly.<br />
<br />
6) Update Mantis versions.<br />
<br />
If making a final release, be sure to make a released version for the next trunk version.<br />
Also for finals, bump any remaining Fix For <VERSION> to the next release version.<br />
<br />
7) Make the main forum release post. Use previous release post as template, update all filename links, MD5s, Known Issues, and changelog. Sticky it. Unsticky previous RC posts if there was one. Irrelephant previous RC posts. Unsticky previous final release post if new final release post.<br />
<br />
8) Update SCP website with news post, and links for a final release.<br />
<br />
9) Make other forum and news posts as necessary (Announcements, ModDB for final releases possibly, etc).<br />
<br />
<br />
Steps 1-5, and 7 are now encompassed by release.pl found at https://svn.icculus.org/fs2open/trunk/nightly-build/ folder. This greatly speeds up the release process. The script is generally run with the following options on each platform, and in this order:<br />
<br />
Mac: ./release.pl --lastversion 3.7.2 --lastsubversion RC4 --nextversion 3.7.2 --nextsubversion RC5 --lastreleaserevision 10997<br />
Linux: ./release.pl --nextversion 3.7.2 --nextsubversion RC5 --doarchive<br />
FreeBSD: ./release.pl --nextversion 3.7.2 --nextsubversion RC5<br />
Windows (in Git bash prompt for args to function properly): ./release.pl --next-version 3.7.2 --nextsubversion RC5 --message "Release message here, its existence will lead to the forum post."</nowiki></div>Chief1983https://wiki.hard-light.net/index.php?title=Release_Build_Process&diff=44391Release Build Process2015-01-22T22:51:41Z<p>Chief1983: Explain some release script usage</p>
<hr />
<div> <nowiki>1) (One time) Create branch for new release. This is an entirely remote op and can be done from anywhere, by anyone with write access.<br />
<br />
svn copy [-r REV] svn://svn.icculus.org/fs2open/trunk/fs2_open svn://svn.icculus.org/fs2open/branches/fs2_open_<VERSION> -m "Copy trunk r<REV> to <VERSION> branch."<br />
# REV is only needed after copy if not just copying the latest HEAD revision in trunk.<br />
<br />
2) (Once per platform) Checkout the branch.<br />
<br />
cd <CODE DIRECTORY><br />
svn co svn://svn.icculus.org/fs2open/branches/fs2_open_<VERSION> fs2_open_<VERSION>_svn<br />
<br />
3) (Once per release) Commit a output filename/versioning commit.<br />
<br />
https://svn.icculus.org/fs2open?view=rev&revision=9638 should be a complete diff of everything that should be modified.<br />
<br />
Since the pilot code, this has been simplified a bit as far as project files are concerned.<br />
Windows project version strings are a bit different (more consistent, fewer). Most consist of replacing 2_open_<PREV_VERSION> with 2_open_<NEXT_VERSION>.<br />
A search and replace through all the necessary files will cover most of the build output filenames for the Windows project files. For instance:<br />
s/2_open_3_6_19/2_open_3_7_0_RC1<br />
That will cover all instances of fred2_open_3_6_19[-DEBUG], fs2_open_3_6_19[-DEBUG], and wxfred2_open_3_6_19[-DEBUG].<br />
For enabling text-to-speech and voice recognition in MSVC_2008, open the Fred2.vcproj, Freespace2.vcproj, and code.vcproj. In all three, you need to:<br />
s/_SECURE_SCL=0;_HAS_ITERATOR_DEBUGGING=0;"/_SECURE_SCL=0;_HAS_ITERATOR_DEBUGGING=0;FS2_SPEECH;FS2_VOICER;"<br />
There should be 18 replacements total, 6 per file. In Freespace2.vcproj, you must also:<br />
s/_VC08;/_VC08;FS2_VOICER;<br />
There should be six of those.<br />
For the Xcode projects, the InfoPlist.strings files are binary, but editable in most decent editors and should be obvious what needs to be changed.<br />
The project.pbxproj files just need the CURRENT_PROJECT_VERSION fields updated from, for example, 3.6.19-trunk to 3.7.0-RC1, etc.<br />
BE SURE TO GET THE CODEBLOCKS Freespace2 project file. It was somehow still missed in the 9638 commit.<br />
<br />
4) (Following instructions are once per release per platform) Export at the desired revision from the branch checkout.<br />
<br />
cd <CODE DIRECTORY><br />
svn up fs2_open_<VERSION>_svn<br />
svn export fs2_open_<VERSION>_svn fs2_open_<VERSION>[_RCx]<br />
# (Linux only)<br />
tar -cvzf fs2_open_<VERSION>[_RCx]_src.tgz fs2_open_<VERSION>[_RCx]<br />
md5sum fs2_open_<VERSION>[_RCx]_src.tgz > fs2_open_<VERSION>[_RCx]_src.md5<br />
# Upload source export and md5 to builds folder.<br />
<br />
5) Follow the specific platform's build method.<br />
<br />
Windows: Currently use MSVC 2008.<br />
Open the .sln, and batch build all configs (Release and Debug Standard, SSE, SSE2) for Freespace2 and Fred2.<br />
-or-<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Release|Win32" && \<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Debug|Win32" && \<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Release SSE|Win32" && \<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Debug SSE|Win32" && \<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Release SSE2|Win32" && \<br />
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcpackages\vcbuild" /nocolor /nologo /rebuild Freespace2.sln "Debug SSE2|Win32"<br />
Copy the 2 release exes into the respective debug folder, and archive the 4 exes, the 2 map files, and the 2 pdb files using standard zip compression.<br />
You should end up with three files: fs2_open_<VERSION>[_RCx].zip (SSE2), fs2_open_<VERSION>[_RCx]_SSE.zip, and fs2_open_<VERSION>[_RCx]_NO-SSE.zip.<br />
MD5 the three zip files into fs2_open_<VERSION>[_RCx].md5.<br />
Upload these 4 files to the mirrors under builds/WIN.<br />
<br />
OSX: Currently use Xcode 5.1.1.<br />
cd <CODE DIRECTORY>/fs2_open_<VERSION>[_RCx]/projects/Xcode<br />
tar -xvzf Frameworks.tgz<br />
/<xcodebuild_path>/xcodebuild -configuration Release && /<xcodebuild_path>/xcodebuild -configuration Debug<br />
# Copy .apps from build/Debug and build/Release to a folder names FS2_Open <VERSION>[ RCx].<br />
mkdir ~/Desktop/FS2_Open\ <VERSION>[ RCx]<br />
cp -rf build/Release/FS2_Open.app ~/Desktop/FS2_Open\ <VERSION>[\ RCx]/FS2_Open\ <VERSION>[\ RCx].app<br />
cp -rf build/Debug/FS2_Open\ \(debug\).app ~/Desktop/FS2_Open\ <VERSION>[\ RCx]/FS2_Open\ <VERSION>[\ RCx]\ \(debug\).app<br />
# Use hdiutil to create an archive named FS2_Open-<VERSION>[_RCx].dmg.<br />
hdiutil create -srcfolder ~/Desktop/FS2_Open\ <VERSION>[\ RCx] ~/Desktop/FS2_Open-<VERSION>[_RCx].dmg<br />
# MD5 the .dmg file into FS2_Open-<VERSION>[_RCx].md5.<br />
md5 ~/Desktop/FS2_Open*.dmg > ~/Desktop/FS2_Open-<VERSION>[_RCx].md5<br />
# Upload these 2 files to the mirrors under builds/OSX.<br />
<br />
Linux/FreeBSD: Use whichever latest GCC/Clang is available and working.<br />
cd <CODE DIRECTORY/fs2_open_<VERSION>[_RCx]<br />
./autogen.sh --enable-debug && make && cp code/fs2_open_<VERSION>[_RCx]_DEBUG ../ && make clean && make distclean && ./autogen.sh && make && cp code/fs2_open_<VERSION>[_RCx] ../<br />
# Archive the fs2_open_<VERSION>* binary files into one fs2_open_<VERSION>[_RCx].tar.bz2 file.<br />
cd<br />
tar -cvjf fs2_open_<VERSION>[_RCx].tar.bz2 fs2_open_<VERSION>[_RCx]_DEBUG fs2_open_<VERSION>[_RCx]<br />
# MD5 the bz2 file into fs2_open_<VERSION>[_RCx].md5.<br />
md5sum fs2_open_<VERSION>[_RCx].tar.bz2 > fs2_open_<VERSION>[_RCx].md5<br />
# Upload these 2 files to the mirrors under builds/LINUX or builds/FREEBSD, accordingly.<br />
<br />
6) Update Mantis versions.<br />
<br />
If making a final release, be sure to make a released version for the next trunk version.<br />
Also for finals, bump any remaining Fix For <VERSION> to the next release version.<br />
<br />
7) Make the main forum release post. Use previous release post as template, update all filename links, MD5s, Known Issues, and changelog. Sticky it. Unsticky previous RC posts if there was one. Irrelephant previous RC posts. Unsticky previous final release post if new final release post.<br />
<br />
8) Update SCP website with news post, and links for a final release.<br />
<br />
9) Make other forum and news posts as necessary (Announcements, ModDB for final releases possibly, etc).</nowiki><br />
<br />
<br />
Steps 1-5, and 7 are now encompassed by release.pl found at https://svn.icculus.org/fs2open/trunk/nightly-build/ folder. This greatly speeds up the release process. The script is generally run with the following options on each platform, and in this order:<br />
<br />
Mac: ./release.pl --lastversion 3.7.2 --lastsubversion RC4 --nextversion 3.7.2 --nextsubversion RC5 --lastreleaserevision 10997<br />
Linux: ./release.pl --nextversion 3.7.2 --nextsubversion RC5 --doarchive<br />
FreeBSD: ./release.pl --nextversion 3.7.2 --nextsubversion RC5<br />
Windows (in Git bash prompt for args to function properly): ./release.pl --next-version 3.7.2 --nextsubversion RC5 --message "Release message here, its existence will lead to the forum post."</div>Chief1983https://wiki.hard-light.net/index.php?title=Fs2_open_on_Linux/Installing_the_Development_Libraries&diff=44370Fs2 open on Linux/Installing the Development Libraries2014-12-11T18:44:14Z<p>Chief1983: Add OpenSuSE entry</p>
<hr />
<div>{{Page Navigation|<br />
BookName=[[The fs2_open on Linux Guide]]|<br />
CurrentPage=Installing the Development Libraries|Installing the Development Libraries|<br />
PrevPage=[[Fs2_open on Linux/Installing Subversion|Installing Subversion]]|<br />
NextPage=[[Fs2_open on Linux/Acquiring the Code|Acquiring the Code]]}}<br />
<p></p><br />
{{Note| This step is only for those who want the bleeding-edge source code to compile on their own. You can skip this if you intend to use a provided binary executable.}}<br />
<p></p><br />
{{Note| If your distribution is not listed below and you are familiar with how to install the needed libraries on it, please add that information to this section. }}<br />
<br />
<br />
To build FS2 Open, you'll need the [http://www.libsdl.org/ SDL], [http://www.openal.org/ OpenAL], [http://www.xiph.org/ogg/ libogg], [http://vorbis.com/ libvorbis], [http://www.theora.org/ libtheora], [http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html readline], [http://www.lua.org liblua (version 5.1.3 or higher)], [http://www.digip.org/jansson/ Jansson], and OpenGL (most likely provided with your video card driver) development packages. And of course, you'll need the [http://gcc.gnu.org/ GNU Compiler Collection] and [http://sourceware.org/autobook/ make].<br />
<br />
<br />
'''Ubuntu''' and '''Linux Mint (except for Debian Edition)''' users should run:<br />
$ apt-get install libopenal-dev libogg-dev libvorbis-dev build-essential automake1.10 autoconf libsdl1.2-dev libtheora-dev libreadline6-dev libpng12-dev libjpeg62-dev liblua5.1-0-dev libjansson-dev libtool<br />
{{Note| The [http://packages.debian.org/unstable/devel/build-essential build-essential] package is a metapackage that installs the essential build tools.}}<br />
<br />
<br />
'''Debian''' and '''Linux Mint Debian Edition''' users should run:<br />
$ apt-get install libopenal-dev libvorbis-dev build-essential automake1.10 autoconf libsdl1.2-dev libtheora-dev libreadline6-dev libpng12-dev liblua5.1-0-dev libjansson-dev libtool<br />
{{Note| The [http://packages.debian.org/unstable/devel/build-essential build-essential] package is a metapackage that installs the essential build tools.}}<br />
<br />
<br />
'''Fedora Core''' users (and most likely Red Hat users too) should run:<br />
$ yum install openal-devel libvorbis-devel gcc gcc-c++ automake autoconf SDL-devel libtheora-devel readline-devel lua-devel libpng-devel libjpeg-devel jansson-devel libtool<br />
<br />
<br />
'''Gentoo''' users should run:<br />
$ emerge -va openal libvorbis libsdl libtheora readline lua jansson<br />
{{Note| media-libs/openal needs the <b>"alsa"</b> USE-flag if you intend to use ALSA, and media-libs/libsdl needs the <b>"X"</b>,<b>"opengl"</b> and <b>"xv"</b> USE-flags.}}<br />
<br />
<br />
'''Mandriva''' users should run:<br />
$ urpmi libsdl-devel libopenal-devel libvorbis-devel libtheora-devel gcc gcc-c++ automake autoconf liblua-devel jansson-devel<br />
<br />
'''OpenSUSE''' users should run:<br />
$ sudo zypper install -t pattern devel_C_C++<br />
$ sudo zypper install libSDL-devel libogg-devel libvorbis-devel libtheora-devel openal-soft-devel lua51-devel libjpeg8-devel libjansson-devel<br />
<br />
'''FreeBSD 10''' users should run:<br />
$ sudo pkg install automake openal-soft jansson lua51 readline libogg libtheora libvorbis png jpeg sdl libtool<br />
{{Note| Everything after 'lua51' is already installed on PC-BSD 10, and likely any other FreeBSD distro with a full desktop environment.}}<br />
<br />
<br />
[[Category:FreeSpace Open on Linux|Installing the Development Libraries]]</div>Chief1983https://wiki.hard-light.net/index.php?title=Fs2_open_on_Linux/Installing_Subversion&diff=44369Fs2 open on Linux/Installing Subversion2014-12-11T18:05:10Z<p>Chief1983: SuSE clarification</p>
<hr />
<div>{{Page Navigation|<br />
BookName=[[The fs2_open on Linux Guide]]|<br />
CurrentPage=Installing Subversion|Installing Subversion|<br />
PrevPage=[[Fs2_open on Linux/Preparation|Preparation]]|<br />
NextPage=[[Fs2_open_on_Linux/Installing_the_Development_Libraries|Installing the Development Libraries]]}}<br />
<br />
{{Note| This step is only for those who want the bleeding-edge source code to compile on their own. You can skip this if you intend to use a provided binary executable.}}<br />
{{Note| If your distribution is not listed below and you are familiar with how to install Subversion on it, please add that information to this section. }}<br />
<br />
Subversion (SVN) is a version control system used to manage changes to documents, such as source files. Developers use Subversion so they can easily coordinate their code changes with those of other developers through a SVN repository.<br />
<br />
Be aware that when you use a copy of fs2_open from Subversion, you are using the most recent revision of the fs2_open code. The newest code might have new features and bug fixes, but it might also be less stable, perform worse, or might not even compile.<br />
<br />
You will need a Subversion client to download ("check out" in SVN terminology) a copy of fs2_open from the Source Code Project's SVN repository. The instructions for getting a client are specific to each Linux distribution.<br />
<br />
<br />
'''Debian''', '''Ubuntu''', and '''Linux Mint''' users should run:<br />
$ apt-get install subversion<br />
<br />
'''Gentoo''' users should run:<br />
$ emerge -a subversion<br />
<br />
'''Arch Linux''' users should run:<br />
$ pacman -Sy subversion<br />
<br />
'''Fedora Core 6 (Zod)''' (and most likely Red Hat) users should run:<br />
# yum install subversion<br />
<br />
'''Mandriva''' users should run:<br />
# urpmi subversion<br />
<br />
'''Novell SuSE''' users should install Subversion via [http://en.opensuse.org/YaST YaST] (if it is not already available after installing the build tools).<br />
<br />
'''FreeBSD 10''' users should already have Subversion, but if not, should run:<br />
$ sudo pkg install subversion<br />
<br />
[[Category:FreeSpace Open on Linux|Installing Subversion]]</div>Chief1983https://wiki.hard-light.net/index.php?title=FS2_Open_on_Solaris&diff=44311FS2 Open on Solaris2014-10-01T16:54:40Z<p>Chief1983: /* Install OpenCSW packages */ One more clarification</p>
<hr />
<div>== Grab a copy of Solaris ==<br />
<br />
Download the Oracle Solaris 11.2 x86 VirtualBox Appliance, update the guest additions, or install Solaris 11.2 for x86 on a desktop PC.<br />
<br />
== Install needed dependencies ==<br />
<ul><br />
<li>developer/gcc (currently installs 4.8.2)</li><br />
<li>Make sure the matching gcc runtime is installed</li><br />
<li>developer/build/autoconf (currently 2.68)</li><br />
<li>developer/build/automake (currently 1.11.2)</li><br />
<li>developer/build/gnu-make (Appliance already has this)</li><br />
<li>developer/build/libtool (currently 2.4.2)</li><br />
<li>library/readline (Appliance already has this)</li><br />
<li>runtime/lua (Appliance already has this)</li><br />
<li>developer/versioning/subversion (currently 1.7.5)</li><br />
<li>library/sdl (currently 1.2.14)</li><br />
<li>developer/versioning/git (currently 1.7.9.2)</li><br />
<li>developer/build/cmake (currently 2.8.6)</li><br />
</ul><br />
<br />
On OpenSXCE (OpenIndiana based distro for Sparc) I had to install CSWautoconf (included 2.63 is too old), CSWpkgconfig (very important to fix parse error in configure script), and uninstalled the original autoconf program. I still had to install OpenAL and Jansson, but OpenAL Soft had to be version 1.11.753 because no newer version would compile due to some opcode errors, and newer versions from git would not configure due to a pthread.h issue which doesn't seem to occur in the last release version or prior. Also, that openal soft's "gmake install" command ignored the cmake install prefix, so I had to install it by manually copying files to their destinations. The latest official Solaris from Oracle doesn't seem to have that problem with the newest versions of OpenAL Soft in git. OpenSXCE did not need a newer gcc though.<br />
<br />
== Install OpenAL ==<br />
This is why git and cmake were installed while you had the package manager open. Download OpenAL Soft 1.15.1 (1.16 and latest git currently fail with a PThreads error) from http://kcat.strangesoft.net/openal-releases/, follow the build instructions on http://kcat.strangesoft.net/openal.html, except use the following command instead of 'cmake ..':<br /><br />
cmake -DCMAKE_INSTALL_PREFIX=/usr ..<br />
<br />
== Install Jansson ==<br />
[http://www.digip.org/jansson/ Jansson] is the JSON library for C that is needed for the new WebUI dedicated server code. There is currently no Solaris package, so you will have to compile this from source. The latest version I can get working out of the box on Solaris 11.2 is from their Git repo, as 2.6 will not compile with a complaint about the isnan macro. Clone the source repo to a new directory and cd into that directory, then:<br />
<ul><br />
<li>cmake -DCMAKE_INSTALL_PREFIX=/usr ..</li><br />
<li>gmake</li><br />
<li>gmake check</li><br />
<li>sudo gmake install</li><br />
</ul><br />
That will give you an installation of Jansson which pkg-config can find with no other environment editing required. Keep the jansson git folder around if you think you might want to run 'sudo gmake uninstall' at some point down the line, like if jansson ever gets into the package manager, or you want to upgrade.<br />
<br />
== Install OpenCSW packages ==<br />
Installing these packages will fix the linking errors with libjpeg and libGL. bzflag bring mesa, libglew, and probably some other stuff that's needed and it was easier to get it all in one go. Yes, Solaris will indicate that jpeg, mesa, etc are already installed, but they don't link correctly for some reason. Installing the CSW versions fixes that.<br />
<ul><br />
<li>sudo pkgadd -d http://get.opencsw.org/now</li><br />
<li>sudo pkgutil -U</li><br />
<li>sudo pkgutil -y -i CSWlibjpeg-dev</li><br />
<li>sudo pkgutil -y -i CSWbzflag</li><br />
<li>sudo ln -s /opt/csw/lib/libjpeg.so.7 /usr/lib/ (might be needed to fix issue with finding libjpeg after these packages are installed)</li><br />
</ul><br />
<br />
== Compile FS2 ==<br />
<ul><br />
<li>svn co svn://svn.icculus.org/fs2open/trunk/fs2_open/</li><br />
<li>cd fs2_open</li><br />
<li>./autogen.sh</li><br />
<li>gmake</li><br />
<li>cp code/fs2_open_* ../</li><br />
</ul><br />
<br />
== References ==<br />
[http://rsaxvc.net/blog/2010/9/30/Building%20FS2_Open%20on%20OpenSolaris.html Building FS2_Open on OpenSolaris]<br /><br />
[http://rsaxvc.net/blog/2010/9/19/Building%20OpenAL%20on%20Solaris.html Building OpenAL on Solaris]</div>Chief1983https://wiki.hard-light.net/index.php?title=FS2_Open_on_Solaris&diff=44310FS2 Open on Solaris2014-10-01T16:26:12Z<p>Chief1983: /* Install OpenCSW packages */</p>
<hr />
<div>== Grab a copy of Solaris ==<br />
<br />
Download the Oracle Solaris 11.2 x86 VirtualBox Appliance, update the guest additions, or install Solaris 11.2 for x86 on a desktop PC.<br />
<br />
== Install needed dependencies ==<br />
<ul><br />
<li>developer/gcc (currently installs 4.8.2)</li><br />
<li>Make sure the matching gcc runtime is installed</li><br />
<li>developer/build/autoconf (currently 2.68)</li><br />
<li>developer/build/automake (currently 1.11.2)</li><br />
<li>developer/build/gnu-make (Appliance already has this)</li><br />
<li>developer/build/libtool (currently 2.4.2)</li><br />
<li>library/readline (Appliance already has this)</li><br />
<li>runtime/lua (Appliance already has this)</li><br />
<li>developer/versioning/subversion (currently 1.7.5)</li><br />
<li>library/sdl (currently 1.2.14)</li><br />
<li>developer/versioning/git (currently 1.7.9.2)</li><br />
<li>developer/build/cmake (currently 2.8.6)</li><br />
</ul><br />
<br />
On OpenSXCE (OpenIndiana based distro for Sparc) I had to install CSWautoconf (included 2.63 is too old), CSWpkgconfig (very important to fix parse error in configure script), and uninstalled the original autoconf program. I still had to install OpenAL and Jansson, but OpenAL Soft had to be version 1.11.753 because no newer version would compile due to some opcode errors, and newer versions from git would not configure due to a pthread.h issue which doesn't seem to occur in the last release version or prior. Also, that openal soft's "gmake install" command ignored the cmake install prefix, so I had to install it by manually copying files to their destinations. The latest official Solaris from Oracle doesn't seem to have that problem with the newest versions of OpenAL Soft in git. OpenSXCE did not need a newer gcc though.<br />
<br />
== Install OpenAL ==<br />
This is why git and cmake were installed while you had the package manager open. Download OpenAL Soft 1.15.1 (1.16 and latest git currently fail with a PThreads error) from http://kcat.strangesoft.net/openal-releases/, follow the build instructions on http://kcat.strangesoft.net/openal.html, except use the following command instead of 'cmake ..':<br /><br />
cmake -DCMAKE_INSTALL_PREFIX=/usr ..<br />
<br />
== Install Jansson ==<br />
[http://www.digip.org/jansson/ Jansson] is the JSON library for C that is needed for the new WebUI dedicated server code. There is currently no Solaris package, so you will have to compile this from source. The latest version I can get working out of the box on Solaris 11.2 is from their Git repo, as 2.6 will not compile with a complaint about the isnan macro. Clone the source repo to a new directory and cd into that directory, then:<br />
<ul><br />
<li>cmake -DCMAKE_INSTALL_PREFIX=/usr ..</li><br />
<li>gmake</li><br />
<li>gmake check</li><br />
<li>sudo gmake install</li><br />
</ul><br />
That will give you an installation of Jansson which pkg-config can find with no other environment editing required. Keep the jansson git folder around if you think you might want to run 'sudo gmake uninstall' at some point down the line, like if jansson ever gets into the package manager, or you want to upgrade.<br />
<br />
== Install OpenCSW packages ==<br />
Installing these packages will fix the linking errors with libjpeg and libGL. bzflag bring mesa, libglew, and probably some other stuff that's needed and it was easier to get it all in one go. Yes, Solaris will indicate that jpeg, mesa, etc are already installed, but they don't link correctly for some reason. Installing the CSW versions fixes that.<br />
<ul><br />
<li>sudo pkgadd -d http://get.opencsw.org/now</li><br />
<li>sudo pkgutil -U</li><br />
<li>sudo pkgutil -y -i CSWlibjpeg-dev</li><br />
<li>sudo pkgutil -y -i CSWbzflag</li><br />
</ul><br />
<br />
== Compile FS2 ==<br />
<ul><br />
<li>svn co svn://svn.icculus.org/fs2open/trunk/fs2_open/</li><br />
<li>cd fs2_open</li><br />
<li>./autogen.sh</li><br />
<li>gmake</li><br />
<li>cp code/fs2_open_* ../</li><br />
</ul><br />
<br />
== References ==<br />
[http://rsaxvc.net/blog/2010/9/30/Building%20FS2_Open%20on%20OpenSolaris.html Building FS2_Open on OpenSolaris]<br /><br />
[http://rsaxvc.net/blog/2010/9/19/Building%20OpenAL%20on%20Solaris.html Building OpenAL on Solaris]</div>Chief1983https://wiki.hard-light.net/index.php?title=FS2_Open_on_Solaris&diff=44309FS2 Open on Solaris2014-10-01T16:16:02Z<p>Chief1983: /* Install needed dependencies */ Also need libtool now</p>
<hr />
<div>== Grab a copy of Solaris ==<br />
<br />
Download the Oracle Solaris 11.2 x86 VirtualBox Appliance, update the guest additions, or install Solaris 11.2 for x86 on a desktop PC.<br />
<br />
== Install needed dependencies ==<br />
<ul><br />
<li>developer/gcc (currently installs 4.8.2)</li><br />
<li>Make sure the matching gcc runtime is installed</li><br />
<li>developer/build/autoconf (currently 2.68)</li><br />
<li>developer/build/automake (currently 1.11.2)</li><br />
<li>developer/build/gnu-make (Appliance already has this)</li><br />
<li>developer/build/libtool (currently 2.4.2)</li><br />
<li>library/readline (Appliance already has this)</li><br />
<li>runtime/lua (Appliance already has this)</li><br />
<li>developer/versioning/subversion (currently 1.7.5)</li><br />
<li>library/sdl (currently 1.2.14)</li><br />
<li>developer/versioning/git (currently 1.7.9.2)</li><br />
<li>developer/build/cmake (currently 2.8.6)</li><br />
</ul><br />
<br />
On OpenSXCE (OpenIndiana based distro for Sparc) I had to install CSWautoconf (included 2.63 is too old), CSWpkgconfig (very important to fix parse error in configure script), and uninstalled the original autoconf program. I still had to install OpenAL and Jansson, but OpenAL Soft had to be version 1.11.753 because no newer version would compile due to some opcode errors, and newer versions from git would not configure due to a pthread.h issue which doesn't seem to occur in the last release version or prior. Also, that openal soft's "gmake install" command ignored the cmake install prefix, so I had to install it by manually copying files to their destinations. The latest official Solaris from Oracle doesn't seem to have that problem with the newest versions of OpenAL Soft in git. OpenSXCE did not need a newer gcc though.<br />
<br />
== Install OpenAL ==<br />
This is why git and cmake were installed while you had the package manager open. Download OpenAL Soft 1.15.1 (1.16 and latest git currently fail with a PThreads error) from http://kcat.strangesoft.net/openal-releases/, follow the build instructions on http://kcat.strangesoft.net/openal.html, except use the following command instead of 'cmake ..':<br /><br />
cmake -DCMAKE_INSTALL_PREFIX=/usr ..<br />
<br />
== Install Jansson ==<br />
[http://www.digip.org/jansson/ Jansson] is the JSON library for C that is needed for the new WebUI dedicated server code. There is currently no Solaris package, so you will have to compile this from source. The latest version I can get working out of the box on Solaris 11.2 is from their Git repo, as 2.6 will not compile with a complaint about the isnan macro. Clone the source repo to a new directory and cd into that directory, then:<br />
<ul><br />
<li>cmake -DCMAKE_INSTALL_PREFIX=/usr ..</li><br />
<li>gmake</li><br />
<li>gmake check</li><br />
<li>sudo gmake install</li><br />
</ul><br />
That will give you an installation of Jansson which pkg-config can find with no other environment editing required. Keep the jansson git folder around if you think you might want to run 'sudo gmake uninstall' at some point down the line, like if jansson ever gets into the package manager, or you want to upgrade.<br />
<br />
== Install OpenCSW packages ==<br />
Installing these packages will fix the linking errors with libjpeg and libGL. bzflag bring mesa, libglew, and probably some other stuff that's needed and it was easier to get it all in one go.<br />
<ul><br />
<li>sudo pkgadd -d http://get.opencsw.org/now</li><br />
<li>sudo pkgutil -U</li><br />
<li>sudo pkgutil -y -i CSWlibjpeg-dev</li><br />
<li>sudo pkgutil -y -i CSWbzflag</li><br />
</ul><br />
<br />
== Compile FS2 ==<br />
<ul><br />
<li>svn co svn://svn.icculus.org/fs2open/trunk/fs2_open/</li><br />
<li>cd fs2_open</li><br />
<li>./autogen.sh</li><br />
<li>gmake</li><br />
<li>cp code/fs2_open_* ../</li><br />
</ul><br />
<br />
== References ==<br />
[http://rsaxvc.net/blog/2010/9/30/Building%20FS2_Open%20on%20OpenSolaris.html Building FS2_Open on OpenSolaris]<br /><br />
[http://rsaxvc.net/blog/2010/9/19/Building%20OpenAL%20on%20Solaris.html Building OpenAL on Solaris]</div>Chief1983https://wiki.hard-light.net/index.php?title=FS2_Open_on_Solaris&diff=44308FS2 Open on Solaris2014-10-01T16:12:57Z<p>Chief1983: /* Install Jansson */ Latest Jansson git works now, use that instead of an old version</p>
<hr />
<div>== Grab a copy of Solaris ==<br />
<br />
Download the Oracle Solaris 11.2 x86 VirtualBox Appliance, update the guest additions, or install Solaris 11.2 for x86 on a desktop PC.<br />
<br />
== Install needed dependencies ==<br />
<ul><br />
<li>developer/gcc (currently installs 4.8.2)</li><br />
<li>Make sure the matching gcc runtime is installed</li><br />
<li>developer/build/autoconf (currently 2.68)</li><br />
<li>developer/build/automake (currently 1.11.2)</li><br />
<li>developer/build/gnu-make (Appliance already has this)</li><br />
<li>library/readline (Appliance already has this)</li><br />
<li>runtime/lua (Appliance already has this)</li><br />
<li>developer/versioning/subversion (currently 1.7.5)</li><br />
<li>library/sdl (currently 1.2.14)</li><br />
<li>developer/versioning/git (currently 1.7.9.2)</li><br />
<li>developer/build/cmake (currently 2.8.6)</li><br />
</ul><br />
<br />
On OpenSXCE (OpenIndiana based distro for Sparc) I had to install CSWautoconf (included 2.63 is too old), CSWpkgconfig (very important to fix parse error in configure script), and uninstalled the original autoconf program. I still had to install OpenAL and Jansson, but OpenAL Soft had to be version 1.11.753 because no newer version would compile due to some opcode errors, and newer versions from git would not configure due to a pthread.h issue which doesn't seem to occur in the last release version or prior. Also, that openal soft's "gmake install" command ignored the cmake install prefix, so I had to install it by manually copying files to their destinations. The latest official Solaris from Oracle doesn't seem to have that problem with the newest versions of OpenAL Soft in git. OpenSXCE did not need a newer gcc though.<br />
<br />
== Install OpenAL ==<br />
This is why git and cmake were installed while you had the package manager open. Download OpenAL Soft 1.15.1 (1.16 and latest git currently fail with a PThreads error) from http://kcat.strangesoft.net/openal-releases/, follow the build instructions on http://kcat.strangesoft.net/openal.html, except use the following command instead of 'cmake ..':<br /><br />
cmake -DCMAKE_INSTALL_PREFIX=/usr ..<br />
<br />
== Install Jansson ==<br />
[http://www.digip.org/jansson/ Jansson] is the JSON library for C that is needed for the new WebUI dedicated server code. There is currently no Solaris package, so you will have to compile this from source. The latest version I can get working out of the box on Solaris 11.2 is from their Git repo, as 2.6 will not compile with a complaint about the isnan macro. Clone the source repo to a new directory and cd into that directory, then:<br />
<ul><br />
<li>cmake -DCMAKE_INSTALL_PREFIX=/usr ..</li><br />
<li>gmake</li><br />
<li>gmake check</li><br />
<li>sudo gmake install</li><br />
</ul><br />
That will give you an installation of Jansson which pkg-config can find with no other environment editing required. Keep the jansson git folder around if you think you might want to run 'sudo gmake uninstall' at some point down the line, like if jansson ever gets into the package manager, or you want to upgrade.<br />
<br />
== Install OpenCSW packages ==<br />
Installing these packages will fix the linking errors with libjpeg and libGL. bzflag bring mesa, libglew, and probably some other stuff that's needed and it was easier to get it all in one go.<br />
<ul><br />
<li>sudo pkgadd -d http://get.opencsw.org/now</li><br />
<li>sudo pkgutil -U</li><br />
<li>sudo pkgutil -y -i CSWlibjpeg-dev</li><br />
<li>sudo pkgutil -y -i CSWbzflag</li><br />
</ul><br />
<br />
== Compile FS2 ==<br />
<ul><br />
<li>svn co svn://svn.icculus.org/fs2open/trunk/fs2_open/</li><br />
<li>cd fs2_open</li><br />
<li>./autogen.sh</li><br />
<li>gmake</li><br />
<li>cp code/fs2_open_* ../</li><br />
</ul><br />
<br />
== References ==<br />
[http://rsaxvc.net/blog/2010/9/30/Building%20FS2_Open%20on%20OpenSolaris.html Building FS2_Open on OpenSolaris]<br /><br />
[http://rsaxvc.net/blog/2010/9/19/Building%20OpenAL%20on%20Solaris.html Building OpenAL on Solaris]</div>Chief1983https://wiki.hard-light.net/index.php?title=FS2_Open_on_Solaris&diff=44307FS2 Open on Solaris2014-10-01T16:02:14Z<p>Chief1983: Clarify what OpenAL Soft versions are known to work currently</p>
<hr />
<div>== Grab a copy of Solaris ==<br />
<br />
Download the Oracle Solaris 11.2 x86 VirtualBox Appliance, update the guest additions, or install Solaris 11.2 for x86 on a desktop PC.<br />
<br />
== Install needed dependencies ==<br />
<ul><br />
<li>developer/gcc (currently installs 4.8.2)</li><br />
<li>Make sure the matching gcc runtime is installed</li><br />
<li>developer/build/autoconf (currently 2.68)</li><br />
<li>developer/build/automake (currently 1.11.2)</li><br />
<li>developer/build/gnu-make (Appliance already has this)</li><br />
<li>library/readline (Appliance already has this)</li><br />
<li>runtime/lua (Appliance already has this)</li><br />
<li>developer/versioning/subversion (currently 1.7.5)</li><br />
<li>library/sdl (currently 1.2.14)</li><br />
<li>developer/versioning/git (currently 1.7.9.2)</li><br />
<li>developer/build/cmake (currently 2.8.6)</li><br />
</ul><br />
<br />
On OpenSXCE (OpenIndiana based distro for Sparc) I had to install CSWautoconf (included 2.63 is too old), CSWpkgconfig (very important to fix parse error in configure script), and uninstalled the original autoconf program. I still had to install OpenAL and Jansson, but OpenAL Soft had to be version 1.11.753 because no newer version would compile due to some opcode errors, and newer versions from git would not configure due to a pthread.h issue which doesn't seem to occur in the last release version or prior. Also, that openal soft's "gmake install" command ignored the cmake install prefix, so I had to install it by manually copying files to their destinations. The latest official Solaris from Oracle doesn't seem to have that problem with the newest versions of OpenAL Soft in git. OpenSXCE did not need a newer gcc though.<br />
<br />
== Install OpenAL ==<br />
This is why git and cmake were installed while you had the package manager open. Download OpenAL Soft 1.15.1 (1.16 and latest git currently fail with a PThreads error) from http://kcat.strangesoft.net/openal-releases/, follow the build instructions on http://kcat.strangesoft.net/openal.html, except use the following command instead of 'cmake ..':<br /><br />
cmake -DCMAKE_INSTALL_PREFIX=/usr ..<br />
<br />
== Install Jansson ==<br />
[http://www.digip.org/jansson/ Jansson] is the JSON library for C that is needed for the new WebUI dedicated server code. There is currently no Solaris package, so you will have to compile this from source. The latest version I can get working out of the box on Solaris 11.1 is [www.digip.org/jansson/releases/jansson-2.3.1.tar.gz Jansson 2.3.1]. Download the archive, extract it, cd into the new directory, then:<br />
<ul><br />
<li>./configure --prefix=/usr</li><br />
<li>gmake</li><br />
<li>gmake check</li><br />
<li>sudo gmake install</li><br />
</ul><br />
That will give you an installation of Jansson which pkg-config can find with no other environment editing required. Keep the jansson-2.3 folder around if you think you might want to run 'sudo gmake uninstall' at some point down the line, like if jansson ever gets into the package manager, or you want to upgrade.<br />
<br />
== Install OpenCSW packages ==<br />
Installing these packages will fix the linking errors with libjpeg and libGL. bzflag bring mesa, libglew, and probably some other stuff that's needed and it was easier to get it all in one go.<br />
<ul><br />
<li>sudo pkgadd -d http://get.opencsw.org/now</li><br />
<li>sudo pkgutil -U</li><br />
<li>sudo pkgutil -y -i CSWlibjpeg-dev</li><br />
<li>sudo pkgutil -y -i CSWbzflag</li><br />
</ul><br />
<br />
== Compile FS2 ==<br />
<ul><br />
<li>svn co svn://svn.icculus.org/fs2open/trunk/fs2_open/</li><br />
<li>cd fs2_open</li><br />
<li>./autogen.sh</li><br />
<li>gmake</li><br />
<li>cp code/fs2_open_* ../</li><br />
</ul><br />
<br />
== References ==<br />
[http://rsaxvc.net/blog/2010/9/30/Building%20FS2_Open%20on%20OpenSolaris.html Building FS2_Open on OpenSolaris]<br /><br />
[http://rsaxvc.net/blog/2010/9/19/Building%20OpenAL%20on%20Solaris.html Building OpenAL on Solaris]</div>Chief1983https://wiki.hard-light.net/index.php?title=FS2_Open_on_Solaris&diff=44306FS2 Open on Solaris2014-10-01T15:52:20Z<p>Chief1983: Update list of required packages with release of Solaris 11.2</p>
<hr />
<div>== Grab a copy of Solaris ==<br />
<br />
Download the Oracle Solaris 11.2 x86 VirtualBox Appliance, update the guest additions, or install Solaris 11.2 for x86 on a desktop PC.<br />
<br />
== Install needed dependencies ==<br />
<ul><br />
<li>developer/gcc (currently installs 4.8.2)</li><br />
<li>Make sure the matching gcc runtime is installed</li><br />
<li>developer/build/autoconf (currently 2.68)</li><br />
<li>developer/build/automake (currently 1.11.2)</li><br />
<li>developer/build/gnu-make (Appliance already has this)</li><br />
<li>library/readline (Appliance already has this)</li><br />
<li>runtime/lua (Appliance already has this)</li><br />
<li>developer/versioning/subversion (currently 1.7.5)</li><br />
<li>library/sdl (currently 1.2.14)</li><br />
<li>developer/versioning/git (currently 1.7.9.2)</li><br />
<li>developer/build/cmake (currently 2.8.6)</li><br />
</ul><br />
<br />
On OpenSXCE (OpenIndiana based distro for Sparc) I had to install CSWautoconf (included 2.63 is too old), CSWpkgconfig (very important to fix parse error in configure script), and uninstalled the original autoconf program. I still had to install OpenAL and Jansson, but OpenAL Soft had to be version 1.11.753 because no newer version would compile due to some opcode errors, and newer versions from git would not configure due to a pthread.h issue which doesn't seem to occur in the last release version or prior. Also, that openal soft's "gmake install" command ignored the cmake install prefix, so I had to install it by manually copying files to their destinations. The latest official Solaris from Oracle doesn't seem to have that problem with the newest versions of OpenAL Soft in git. OpenSXCE did not need a newer gcc though.<br />
<br />
== Install OpenAL ==<br />
This is why git and cmake were installed while you had the package manager open. Clone the latest openal-soft from http://kcat.strangesoft.net/openal.html, follow its build instructions, except use the following command instead of 'cmake ..':<br /><br />
cmake -DCMAKE_INSTALL_PREFIX=/usr ..<br />
<br />
== Install Jansson ==<br />
[http://www.digip.org/jansson/ Jansson] is the JSON library for C that is needed for the new WebUI dedicated server code. There is currently no Solaris package, so you will have to compile this from source. The latest version I can get working out of the box on Solaris 11.1 is [www.digip.org/jansson/releases/jansson-2.3.1.tar.gz Jansson 2.3.1]. Download the archive, extract it, cd into the new directory, then:<br />
<ul><br />
<li>./configure --prefix=/usr</li><br />
<li>gmake</li><br />
<li>gmake check</li><br />
<li>sudo gmake install</li><br />
</ul><br />
That will give you an installation of Jansson which pkg-config can find with no other environment editing required. Keep the jansson-2.3 folder around if you think you might want to run 'sudo gmake uninstall' at some point down the line, like if jansson ever gets into the package manager, or you want to upgrade.<br />
<br />
== Install OpenCSW packages ==<br />
Installing these packages will fix the linking errors with libjpeg and libGL. bzflag bring mesa, libglew, and probably some other stuff that's needed and it was easier to get it all in one go.<br />
<ul><br />
<li>sudo pkgadd -d http://get.opencsw.org/now</li><br />
<li>sudo pkgutil -U</li><br />
<li>sudo pkgutil -y -i CSWlibjpeg-dev</li><br />
<li>sudo pkgutil -y -i CSWbzflag</li><br />
</ul><br />
<br />
== Compile FS2 ==<br />
<ul><br />
<li>svn co svn://svn.icculus.org/fs2open/trunk/fs2_open/</li><br />
<li>cd fs2_open</li><br />
<li>./autogen.sh</li><br />
<li>gmake</li><br />
<li>cp code/fs2_open_* ../</li><br />
</ul><br />
<br />
== References ==<br />
[http://rsaxvc.net/blog/2010/9/30/Building%20FS2_Open%20on%20OpenSolaris.html Building FS2_Open on OpenSolaris]<br /><br />
[http://rsaxvc.net/blog/2010/9/19/Building%20OpenAL%20on%20Solaris.html Building OpenAL on Solaris]</div>Chief1983https://wiki.hard-light.net/index.php?title=Messages.tbl&diff=44289Messages.tbl2014-09-23T15:53:21Z<p>Chief1983: /* #Messages */ Add $Append Suffix documentation</p>
<hr />
<div>{{TableVersion|10943}}<br />
<br />
The '''messages.tbl''' is used to link actions, animations, and sounds of the messages received during the mission. Personas are used to group messages by the same talker, for example, all the Wingman 1 (Male Terran Pilot) messages go with a Wingman 1 persona.<br />
<br />
Each message is composed of a text macro, and optionally a head .ani and/or an audio macro.<br />
<br />
<br />
[[Tables|List of Tables]]<br />
<br />
==#Message Frequencies==<br />
{{Table3615|<br />
Optional Group. Defines how often and how many times during the campaign the messages should be shown.}}<br><br />
<br />
<br />
===$Name:===<br />
{{Table3615|<br />
Required. Defines the message to augment.<br />
*Syntax: '''String'''<br />
*Available Values: See [[Messages.tbl#.24Name:_2|$Name in Messages.tbl]]}}<br><br />
<br />
<br />
===+Occurrence Chance:===<br />
{{Table3615|<br />
Optional. Defines the % chance this message will be played when the associated event occurs. For example, if you score a kill, and the '''+Occurrence Chance:''' is 10 for a Praise message, then there is a 10% chance that you a Praise message will play.<br />
*Syntax: '''Integer'''<br />
*Available Values: '''Between 0 and 100'''}}<br><br />
<br />
===+Maximum Count:===<br />
{{Table3615|<br />
Optional. Defines the maximum number of times this message will be played during a given mission.<br />
*Syntax: '''Integer'''}}<br><br />
<br />
===+Minimum Delay:===<br />
{{Table3615|<br />
Optional. Defines the minimum delay time between being queue by the game and the time the message actually plays. (This helps simulate "organic" AI's)<br />
*Syntax: '''Integer''' in milliseconds}}<br><br />
<br />
==#Moods==<br />
{{Table3615|<br />
Optional. You can change the mission mood using the new set-mission-mood SEXP, and those moods can be used to filter what built-in messages are played by defining a mood within a message. This section lists all available moods for use in the table and in the SEXP.}}<br><br />
<br />
===$Mood:===<br />
{{Table3615|<br />
Optional. The name of a mood to be attached to a message and set as a mission mood. Example: Happy, Vengeful, etc.<br />
*Syntax: '''String'''}}<br><br />
<br />
==#End==<br />
{{Table3615|<br />
The moods section, if it exists, must end with #End.}}<br />
<br />
==#Personas==<br />
Required. The #Personas group is used to define the all of the personas used for the messages.<br><br />
<br />
<br />
===$Persona:===<br />
Required. Defines the name of the persona<br />
*Syntax: '''String'''<br><br />
<br />
<br />
===$Type:===<br />
Required. Defines the type of the persona<br />
*Syntax: '''String'''<br />
*Available types:<br />
::'''wingman'''<br />
::'''support'''<br />
::'''large'''<br />
::'''command'''<br><br />
<br />
<br />
===+<Species>===<br />
Optional. The +<Species> (such as '''+Vasudan''') can be used to assign personas to other species. If omitted, the Persona is assigned to the '''default''' species.<br />
*Syntax: +'''String'''<br><br />
<br />
<br />
==#Messages==<br />
Required. The #Messages group contains all available messages.<br><br />
<br />
===$Name:===<br />
Required. Defines the type of the message<br />
*Syntax: '''String'''<br />
*Available types (types marked with '''*''' do not have code support) :<br />
::'''Arrive Enemy'''<br />
::'''Attack Target'''<br />
::'''Beta Arrived'''<br />
::'''Check 6'''<br />
::'''Engage'''<br />
::'''Gamma Arrived'''<br />
::'''Help'''<br />
::'''Praise'''<br />
::'''Backup'''<br />
::'''Ignore Target'''<br />
::'''No'''<br />
::'''Oops 1''' * (Only Command has code support in Retail)<br />
::'''Permission''' *<br />
::'''Stray''' *<br />
::'''Depart'''<br />
::'''yes'''<br />
::'''Rearm on Way'''<br />
::'''On way'''<br />
::'''Rearm warping in'''<br />
::'''No Target'''<br />
::'''Docking Start''' *<br />
::'''Repair Done'''<br />
::'''Repair Aborted'''<br />
::'''Traitor'''<br />
::'''Rearm'''<br />
::'''Disable Target'''<br />
::'''Disarm Target'''<br />
::'''Player Dead'''<br />
::'''Death'''<br />
::'''Support Killed'''<br />
::'''All Clear''' * <br />
::'''All Alone'''<br />
::'''Repair'''<br />
::'''Delta Arrived'''<br />
::'''Epsilon Arrived'''<br />
::'''Instructor Hit'''<br />
::'''Instructor Attack'''<br />
::'''Stray Warning'''<br />
::'''Stray Warning Final'''<br />
::'''AWACS at 75'''<br />
::'''AWACS at 25'''<br />
{{Table3611|<br />
::'''Praise Self''' <br />
::'''High Praise'''<br />
::'''Primaries Low'''}}<br><br />
<br />
<br />
===$Message: and $MessageNew:===<br />
Defines the message shown in game screen when the message is triggered. Value is a reference to [[tstrings.tbl]].<br><br />
'''$Message:''' is used for single-line messages, while '''$MessageNew:''' is used for multi-line messages (but can also be used for single-line messages)<br />
*'''$MessageNew:''' is preferred over '''$Message:'''<br />
*Syntax: XSTR("'''string'''", '''integer''')<br><br />
<br />
<br />
===+Persona:===<br />
Optional. Defines the persona associated with the message<br />
*Syntax:<br />
'''String'''<br><br />
<br />
===+AVI Name:===<br />
Optional. Determines the ANI file to be played when the message is triggered.<br />
<br />
In contrast to FREDded messages, the game does not attempt to use the file ''<string>''.ani in a persona message. Instead, it picks one of ''<string>''a.ani, ''<string>''b.ani and ''<string>''c.ani each time. So if you have defined ''+Avi Name: Head-Joe'', the game will attempt to use the files ''Head-Joea.ani'', ''Head-Joeb.ani'' and ''Head-Joec.ani''. For wingmen personas, the ''c'' variant is assumed to be a death animation.<br />
*Syntax: '''String'''<br><br />
<br />
<br />
===+Wave Name:===<br />
Optional. Sets the sounds file that is played when the message is triggered<br />
*Syntax: '''String'''<br><br />
<br />
<br />
===$Mood:===<br />
{{Table3615|<br />
The mood where this message should ideally be played. It may be played on other moods as long as it is not excluded for them below, if no better matching message is found.<br />
*Syntax: '''String'''}}<br><br />
<br />
===$Exclude Mood:===<br />
{{Table3615|<br />
A list of moods not to play this message, ever. The list goes in parentheses. See Terran 'Attack Target' example below for usage.<br />
*Syntax: '''String List'''}}<br><br />
<br />
===$Append Suffix:===<br />
{{Table372|<br />
Optional. By default, built-in messages have a suffix added to them to choose from several variants of a persona (see +AVI name description). Setting to 'no' will allow the specified ani name to be unmodified when attempting to load it from the filesystem.<br />
*Syntax: '''Boolean'''<br />
*Default value: yes}}<br><br />
<br />
==#End==<br />
{{Table3615|<br />
The very last entry must be #End. No exceptions.}}<br><br />
<br />
<br />
==#Simulated Speech Overrides==<br />
{{Table3613|<br />
Optional. Used to add file names to the generic message list, which defaults to 'none', 'cuevoice', 'emptymsg', 'generic', and 'msgstart'. Filenames listed below will be overridden by Text to Speech (TTS) when it is enabled, in addition to those in the default list.}}<br><br />
<br />
===$File Name:===<br />
{{Table3613|<br />
Optional. File name to add to the overrides list. Filenames provided here, however, must include an extension or a warning will be issues, for example msg_1.wav.<br />
*Syntax: '''String'''}}<br><br />
<br />
==#End==<br />
{{Table3613|<br />
Must also end the optional Simulated Speech Overrides section with #End.}}<br><br />
<br />
==Sample==<br />
This is a snippet of the retail FreeSpace 2 table, highlighting two major examples between a default (Terran) persona and a species (Vasudan) persona. Command, Support, and Large ship message examples are also included. Newer features have been added for extra clarification of their usage.<br />
<pre>;; This is a list of moods that the game will use for builtin <br />
;; messages. Any message without a mood is treated as General<br />
<br />
#Moods<br />
<br />
$Mood: Happy<br />
$Mood: Angry<br />
$Mood: Vengeful<br />
<br />
#End<br />
<br />
<br />
#Personas<br />
<br />
$Persona: Wingman 1 <br />
$Type: wingman<br />
<br />
$Persona: Wingman 6<br />
$Type: wingman<br />
+Vasudan<br />
<br />
$Persona: Support Ship<br />
$Type: support<br />
<br />
$Persona: Support Ship Vasudan<br />
$Type: support<br />
+Vasudan<br />
<br />
$Persona: Large Ship<br />
$Type: large<br />
<br />
$Persona: Large Ship Vasudan<br />
$Type: large<br />
+Vasudan<br />
<br />
$Persona: Terran Command<br />
$Type: Command<br />
<br />
#Messages<br />
<br />
<br />
;; ALL CLEAR ..................................................................................<br />
<br />
$Name: All Clear<br />
$Message: XSTR("Command, we have secured the area.", 2725)<br />
+Persona: Wingman 1<br />
+Avi Name: Head-TP1<br />
+Wave Name: 1_allclear.wav<br />
<br />
$Name: All Clear<br />
$Message: XSTR("All enemy forces negated.", 2730)<br />
+Persona: Wingman 6<br />
+Avi Name: Head-VP1<br />
+Wave Name: 6_allclear.wav<br />
<br />
;; ARRIVAL (Enemy) ...................................................................<br />
<br />
$Name: Arrive Enemy<br />
$Message: XSTR("Bandits incoming!", 1079)<br />
+Persona: Wingman 1<br />
+Avi Name: Head-TP1<br />
+Wave Name: 1_arrival.wav<br />
<br />
$Name: Arrive Enemy<br />
$Message: XSTR("Reading hostile indicators.", 2734)<br />
+Persona: Wingman 6<br />
+Avi Name: Head-VP1<br />
+Wave Name: 6_arrival.wav<br />
<br />
$Name: Arrive Enemy<br />
$Message: XSTR("Incoming jump signature! Hostile configuration!", 2736)<br />
+Persona: Terran Command<br />
+Avi Name: Head-CM2<br />
+Wave Name: TC_arrival.wav<br />
<br />
;; ATTACK MY TARGET ...........................................................................<br />
<br />
$Name: Attack Target<br />
$Message: XSTR("Roger that, sir. Engaging your target.", 2737)<br />
+Persona: Wingman 1<br />
+Avi Name: Head-TP1<br />
+Wave Name: 1_attack.wav<br />
<br />
$Name: Attack Target<br />
$Message: XSTR("Yes sir, I'll make the bastards pay for Capella!", 2737)<br />
+Persona: Wingman 1<br />
+Avi Name: Head-TP1<br />
+Wave Name: 1_attack.wav<br />
$Mood: Vengeful<br />
$Exclude Mood: ( "Happy" )<br />
<br />
$Name: Attack Target<br />
$Message: XSTR("Yes sir. I just love killing Shivans!", 2737)<br />
+Persona: Wingman 1<br />
+Avi Name: Head-TP1<br />
+Wave Name: 1_attack.wav<br />
$Mood: Angry<br />
$Exclude Mood: ( "Angry" "Vengeful" )<br />
<br />
$Name: Attack Target<br />
$Message: XSTR("Affirmative. We will destroy your target.", 2742)<br />
+Persona: Wingman 6<br />
+Avi Name: Head-VP1<br />
+Wave Name: 6_attack.wav<br />
<br />
;; BACKUP ARRIVAL (previously named "REINFORCEMENTS") .........................................<br />
<br />
$Name: Backup<br />
$Message: XSTR("Reinforcements on station. Request status brief.", 2744)<br />
+Persona: Wingman 1<br />
+Avi Name: Head-TP1<br />
+Wave Name: 1_backup.wav<br />
<br />
$Name: Backup<br />
$Message: XSTR("We are here to assist. What is your status?", 2749)<br />
+Persona: Wingman 6<br />
+Avi Name: Head-VP1<br />
+Wave Name: 6_backup.wav<br />
<br />
;; BETA WING ARRIVAL ..........................................................................<br />
<br />
$Name: Beta Arrived<br />
$Message: XSTR("Beta wing here. Standing by.", 2751)<br />
+Persona: Wingman 1<br />
+Avi Name: Head-TP1<br />
+Wave Name: 1_beta.wav<br />
<br />
$Name: Beta Arrived<br />
$Message: XSTR("Beta wing is on station.", 2756)<br />
+Persona: Wingman 6<br />
+Avi Name: Head-VP1<br />
+Wave Name: 6_beta.wav<br />
<br />
;; CHECK YOUR SIX .............................................................................<br />
<br />
$Name: Check 6<br />
$Message: XSTR("Check your six!", 2758)<br />
+Persona: Wingman 1<br />
+Avi Name: Head-TP1<br />
+Wave Name: 1_Check6.wav<br />
<br />
$Name: Check 6<br />
$Message: XSTR("Take evasive action, pilot!", 2763)<br />
+Persona: Wingman 6<br />
+Avi Name: Head-VP1<br />
+Wave Name: 6_Check6.wav<br />
<br />
;; DEATH (previously wingman scream)...................................................<br />
<br />
$Name: Death<br />
$Message: XSTR("Noooooooo!!!", 2765)<br />
+Persona: Wingman 1<br />
+Avi Name: Head-TP1<br />
+Wave Name: 1_Death.wav<br />
<br />
$Name: Death<br />
$Message: XSTR("Avenge me!", 2770)<br />
+Persona: Wingman 6<br />
+Avi Name: Head-VP1<br />
+Wave Name: 6_Death.wav<br />
<br />
;; DELTA WING ARRIVAL .........................................................................<br />
<br />
$Name: Delta Arrived<br />
$Message: XSTR("This is Delta wing. What's your status?", 2772)<br />
+Persona: Wingman 1<br />
+Avi Name: Head-TP1<br />
+Wave Name: 1_Delta.wav<br />
<br />
$Name: Delta Arrived<br />
$Message: XSTR("Delta wing is ready to assist, pilot.", 2777)<br />
+Persona: Wingman 6<br />
+Avi Name: Head-VP1<br />
+Wave Name: 6_Delta.wav<br />
<br />
;; DEPART (previously named "WARPOUT") ........................................................<br />
<br />
$Name: Depart<br />
$Message: XSTR("Yes, sir! I'm outta here!", 2779)<br />
+Persona: Wingman 1<br />
+Avi Name: Head-TP1<br />
+Wave Name: 1_depart.wav<br />
<br />
$Name: Depart<br />
$Message: XSTR("We are departing as ordered.", 2784)<br />
+Persona: Wingman 6<br />
+Avi Name: Head-VP1<br />
+Wave Name: 6_depart.wav<br />
<br />
$Name: Depart<br />
$Message: XSTR("I copy. Engaging jump drive now.", 2786)<br />
+Persona: Support Ship<br />
+Avi Name: Head-TP3<br />
+Wave Name: S_depart.wav<br />
<br />
$Name: Depart<br />
$Message: XSTR("Departing field of engagement.", 2787)<br />
+Persona: Support Ship Vasudan<br />
+Avi Name: Head-VP2<br />
+Wave Name: VS_depart.wav<br />
<br />
$Name: Depart<br />
$Message: XSTR("We are departing as ordered.", 2788)<br />
+Persona: Large Ship Vasudan<br />
+Avi Name: Head-VP1<br />
+Wave Name: 6_depart.wav<br />
<br />
;; DISABLE TARGET .............................................................................<br />
<br />
$Name: Disable Target<br />
$Message: XSTR("Roger that, sir. Disabling your target.", 2789)<br />
+Persona: Wingman 1<br />
+Avi Name: Head-TP1<br />
+Wave Name: 1_Disable.wav <br />
<br />
$Name: Disable Target<br />
$Message: XSTR("Affirmative. Disabling your target.", 2794)<br />
+Persona: Wingman 6<br />
+Avi Name: Head-VP1<br />
+Wave Name: 6_Disable.wav<br />
<br />
;; DISARM TARGET ..............................................................................<br />
<br />
$Name: Disarm Target<br />
$Message: XSTR("Yes, sir! Targeting weapons now!", 2796)<br />
+Persona: Wingman 1<br />
+Avi Name: Head-TP1<br />
+Wave Name: 1_Disarm.wav <br />
<br />
$Name: Disarm Target<br />
$Message: XSTR("Acknowledged. Weapon subsystem targeted. ", 2801)<br />
+Persona: Wingman 6<br />
+Avi Name: Head-VP1<br />
+Wave Name: 6_Disarm.wav <br />
<br />
#End<br />
<br />
#Simulated Speech Overrides<br />
<br />
$File Name: msg_1.wav<br />
$File Name: msg_2.wav<br />
$File Name: msg_3.wav<br />
$File Name: msg_4.wav<br />
$File Name: msg_5.wav<br />
$File Name: msg_6.wav<br />
<br />
#End</pre><br />
[[Category:Tables]]</div>Chief1983https://wiki.hard-light.net/index.php?title=Fs2_open_on_Linux/Installing_the_Development_Libraries&diff=44277Fs2 open on Linux/Installing the Development Libraries2014-09-10T21:28:35Z<p>Chief1983: Libtool recently became a requirement so install it on FreeBSD which doesn't have it by default.</p>
<hr />
<div>{{Page Navigation|<br />
BookName=[[The fs2_open on Linux Guide]]|<br />
CurrentPage=Installing the Development Libraries|Installing the Development Libraries|<br />
PrevPage=[[Fs2_open on Linux/Installing Subversion|Installing Subversion]]|<br />
NextPage=[[Fs2_open on Linux/Acquiring the Code|Acquiring the Code]]}}<br />
<p></p><br />
{{Note| This step is only for those who want the bleeding-edge source code to compile on their own. You can skip this if you intend to use a provided binary executable.}}<br />
<p></p><br />
{{Note| If your distribution is not listed below and you are familiar with how to install the needed libraries on it, please add that information to this section. }}<br />
<br />
<br />
To build FS2 Open, you'll need the [http://www.libsdl.org/ SDL], [http://www.openal.org/ OpenAL], [http://www.xiph.org/ogg/ libogg], [http://vorbis.com/ libvorbis], [http://www.theora.org/ libtheora], [http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html readline], [http://www.lua.org liblua (version 5.1.3 or higher)], [http://www.digip.org/jansson/ Jansson], and OpenGL (most likely provided with your video card driver) development packages. And of course, you'll need the [http://gcc.gnu.org/ GNU Compiler Collection] and [http://sourceware.org/autobook/ make].<br />
<br />
<br />
'''Ubuntu''' and '''Linux Mint (except for Debian Edition)''' users should run:<br />
$ apt-get install libopenal-dev libogg-dev libvorbis-dev build-essential automake1.10 autoconf libsdl1.2-dev libtheora-dev libreadline6-dev libpng12-dev libjpeg62-dev liblua5.1-0-dev libjansson-dev<br />
{{Note| The [http://packages.debian.org/unstable/devel/build-essential build-essential] package is a metapackage that installs the essential build tools.}}<br />
<br />
<br />
'''Debian''' and '''Linux Mint Debian Edition''' users should run:<br />
$ apt-get install libopenal-dev libvorbis-dev build-essential automake1.10 autoconf libsdl1.2-dev libtheora-dev libreadline6-dev libpng12-dev liblua5.1-0-dev libjansson-dev<br />
{{Note| The [http://packages.debian.org/unstable/devel/build-essential build-essential] package is a metapackage that installs the essential build tools.}}<br />
<br />
<br />
'''Fedora Core''' users (and most likely Red Hat users too) should run:<br />
$ yum install openal-devel libvorbis-devel gcc gcc-c++ automake autoconf SDL-devel libtheora-devel readline-devel lua-devel libpng-devel libjpeg-devel jansson-devel<br />
<br />
<br />
'''Gentoo''' users should run:<br />
$ emerge -va openal libvorbis libsdl libtheora readline lua jansson<br />
{{Note| media-libs/openal needs the <b>"alsa"</b> USE-flag if you intend to use ALSA, and media-libs/libsdl needs the <b>"X"</b>,<b>"opengl"</b> and <b>"xv"</b> USE-flags.}}<br />
<br />
<br />
'''Mandriva''' users should run:<br />
$ urpmi libsdl-devel libopenal-devel libvorbis-devel libtheora-devel gcc gcc-c++ automake autoconf liblua-devel jansson-devel<br />
<br />
'''FreeBSD 10''' users should run:<br />
$ sudo pkg install automake openal-soft jansson lua51 readline libogg libtheora libvorbis png jpeg sdl libtool<br />
{{Note| Everything after 'lua51' is already installed on PC-BSD 10, and likely any other FreeBSD distro with a full desktop environment.}}<br />
<br />
<br />
[[Category:FreeSpace Open on Linux|Installing the Development Libraries]]</div>Chief1983https://wiki.hard-light.net/index.php?title=Messages.tbl&diff=44146Messages.tbl2014-07-25T16:17:18Z<p>Chief1983: Added version info to some recently added entries</p>
<hr />
<div>{{TableVersion|10943}}<br />
<br />
The '''messages.tbl''' is used to link actions, animations, and sounds of the messages received during the mission. Personas are used to group messages by the same talker, for example, all the Wingman 1 (Male Terran Pilot) messages go with a Wingman 1 persona.<br />
<br />
Each message is composed of a text macro, and optionally a head .ani and/or an audio macro.<br />
<br />
<br />
[[Tables|List of Tables]]<br />
<br />
==#Message Frequencies==<br />
{{Table3615|<br />
Optional Group. Defines how often and how many times during the campaign the messages should be shown.}}<br><br />
<br />
<br />
===$Name:===<br />
{{Table3615|<br />
Required. Defines the message to augment.<br />
*Syntax: '''String'''<br />
*Available Values: See [[Messages.tbl#.24Name:_2|$Name in Messages.tbl]]}}<br><br />
<br />
<br />
===+Occurrence Chance:===<br />
{{Table3615|<br />
Optional. Defines the % chance this message will be played when the associated event occurs. For example, if you score a kill, and the '''+Occurrence Chance:''' is 10 for a Praise message, then there is a 10% chance that you a Praise message will play.<br />
*Syntax: '''Integer'''<br />
*Available Values: '''Between 0 and 100'''}}<br><br />
<br />
===+Maximum Count:===<br />
{{Table3615|<br />
Optional. Defines the maximum number of times this message will be played during a given mission.<br />
*Syntax: '''Integer'''}}<br><br />
<br />
===+Minimum Delay:===<br />
{{Table3615|<br />
Optional. Defines the minimum delay time between being queue by the game and the time the message actually plays. (This helps simulate "organic" AI's)<br />
*Syntax: '''Integer''' in milliseconds}}<br><br />
<br />
==#Moods==<br />
{{Table3615|<br />
Optional. You can change the mission mood using the new set-mission-mood SEXP, and those moods can be used to filter what built-in messages are played by defining a mood within a message. This section lists all available moods for use in the table and in the SEXP.}}<br><br />
<br />
===$Mood:===<br />
{{Table3615|<br />
Optional. The name of a mood to be attached to a message and set as a mission mood. Example: Happy, Vengeful, etc.<br />
*Syntax: '''String'''}}<br><br />
<br />
==#End==<br />
{{Table3615|<br />
The moods section, if it exists, must end with #End.}}<br />
<br />
==#Personas==<br />
Required. The #Personas group is used to define the all of the personas used for the messages.<br><br />
<br />
<br />
===$Persona:===<br />
Required. Defines the name of the persona<br />
*Syntax: '''String'''<br><br />
<br />
<br />
===$Type:===<br />
Required. Defines the type of the persona<br />
*Syntax: '''String'''<br />
*Available types:<br />
::'''wingman'''<br />
::'''support'''<br />
::'''large'''<br />
::'''command'''<br><br />
<br />
<br />
===+<Species>===<br />
Optional. The +<Species> (such as '''+Vasudan''') can be used to assign personas to other species. If omitted, the Persona is assigned to the '''default''' species.<br />
*Syntax: +'''String'''<br><br />
<br />
<br />
==#Messages==<br />
Required. The #Messages group contains all available messages.<br><br />
<br />
===$Name:===<br />
Required. Defines the type of the message<br />
*Syntax: '''String'''<br />
*Available types (types marked with '''*''' do not have code support) :<br />
::'''Arrive Enemy'''<br />
::'''Attack Target'''<br />
::'''Beta Arrived'''<br />
::'''Check 6'''<br />
::'''Engage'''<br />
::'''Gamma Arrived'''<br />
::'''Help'''<br />
::'''Praise'''<br />
::'''Backup'''<br />
::'''Ignore Target'''<br />
::'''No'''<br />
::'''Oops 1''' * (Only Command has code support in Retail)<br />
::'''Permission''' *<br />
::'''Stray''' *<br />
::'''Depart'''<br />
::'''yes'''<br />
::'''Rearm on Way'''<br />
::'''On way'''<br />
::'''Rearm warping in'''<br />
::'''No Target'''<br />
::'''Docking Start''' *<br />
::'''Repair Done'''<br />
::'''Repair Aborted'''<br />
::'''Traitor'''<br />
::'''Rearm'''<br />
::'''Disable Target'''<br />
::'''Disarm Target'''<br />
::'''Player Dead'''<br />
::'''Death'''<br />
::'''Support Killed'''<br />
::'''All Clear''' * <br />
::'''All Alone'''<br />
::'''Repair'''<br />
::'''Delta Arrived'''<br />
::'''Epsilon Arrived'''<br />
::'''Instructor Hit'''<br />
::'''Instructor Attack'''<br />
::'''Stray Warning'''<br />
::'''Stray Warning Final'''<br />
::'''AWACS at 75'''<br />
::'''AWACS at 25'''<br />
{{Table3611|<br />
::'''Praise Self''' <br />
::'''High Praise'''<br />
::'''Primaries Low'''}}<br><br />
<br />
<br />
===$Message: and $MessageNew:===<br />
Defines the message shown in game screen when the message is triggered. Value is a reference to [[tstrings.tbl]].<br><br />
'''$Message:''' is used for single-line messages, while '''$MessageNew:''' is used for multi-line messages (but can also be used for single-line messages)<br />
*'''$MessageNew:''' is preferred over '''$Message:'''<br />
*Syntax: XSTR("'''string'''", '''integer''')<br><br />
<br />
<br />
===+Persona:===<br />
Optional. Defines the persona associated with the message<br />
*Syntax:<br />
'''String'''<br><br />
<br />
===+AVI Name:===<br />
Optional. Determines the ANI file to be played when the message is triggered.<br />
<br />
In contrast to FREDded messages, the game does not attempt to use the file ''<string>''.ani in a persona message. Instead, it picks one of ''<string>''a.ani, ''<string>''b.ani and ''<string>''c.ani each time. So if you have defined ''+Avi Name: Head-Joe'', the game will attempt to use the files ''Head-Joea.ani'', ''Head-Joeb.ani'' and ''Head-Joec.ani''. For wingmen personas, the ''c'' variant is assumed to be a death animation.<br />
*Syntax: '''String'''<br><br />
<br />
<br />
===+Wave Name:===<br />
Optional. Sets the sounds file that is played when the message is triggered<br />
*Syntax: '''String'''<br><br />
<br />
<br />
===$Mood:===<br />
{{Table3615|<br />
The mood where this message should ideally be played. It may be played on other moods as long as it is not excluded for them below, if no better matching message is found.<br />
*Syntax: '''String'''}}<br><br />
<br />
===$Exclude Mood:===<br />
{{Table3615|<br />
A list of moods not to play this message, ever. The list goes in parentheses. See Terran 'Attack Target' example below for usage.<br />
*Syntax: '''String List'''}}<br><br />
<br />
==#End==<br />
{{Table3615|<br />
The very last entry must be #End. No exceptions.}}<br><br />
<br />
<br />
==#Simulated Speech Overrides==<br />
{{Table3613|<br />
Optional. Used to add file names to the generic message list, which defaults to 'none', 'cuevoice', 'emptymsg', 'generic', and 'msgstart'. Filenames listed below will be overridden by Text to Speech (TTS) when it is enabled, in addition to those in the default list.}}<br><br />
<br />
===$File Name:===<br />
{{Table3613|<br />
Optional. File name to add to the overrides list. Filenames provided here, however, must include an extension or a warning will be issues, for example msg_1.wav.<br />
*Syntax: '''String'''}}<br><br />
<br />
==#End==<br />
{{Table3613|<br />
Must also end the optional Simulated Speech Overrides section with #End.}}<br><br />
<br />
==Sample==<br />
This is a snippet of the retail FreeSpace 2 table, highlighting two major examples between a default (Terran) persona and a species (Vasudan) persona. Command, Support, and Large ship message examples are also included. Newer features have been added for extra clarification of their usage.<br />
<pre>;; This is a list of moods that the game will use for builtin <br />
;; messages. Any message without a mood is treated as General<br />
<br />
#Moods<br />
<br />
$Mood: Happy<br />
$Mood: Angry<br />
$Mood: Vengeful<br />
<br />
#End<br />
<br />
<br />
#Personas<br />
<br />
$Persona: Wingman 1 <br />
$Type: wingman<br />
<br />
$Persona: Wingman 6<br />
$Type: wingman<br />
+Vasudan<br />
<br />
$Persona: Support Ship<br />
$Type: support<br />
<br />
$Persona: Support Ship Vasudan<br />
$Type: support<br />
+Vasudan<br />
<br />
$Persona: Large Ship<br />
$Type: large<br />
<br />
$Persona: Large Ship Vasudan<br />
$Type: large<br />
+Vasudan<br />
<br />
$Persona: Terran Command<br />
$Type: Command<br />
<br />
#Messages<br />
<br />
<br />
;; ALL CLEAR ..................................................................................<br />
<br />
$Name: All Clear<br />
$Message: XSTR("Command, we have secured the area.", 2725)<br />
+Persona: Wingman 1<br />
+Avi Name: Head-TP1<br />
+Wave Name: 1_allclear.wav<br />
<br />
$Name: All Clear<br />
$Message: XSTR("All enemy forces negated.", 2730)<br />
+Persona: Wingman 6<br />
+Avi Name: Head-VP1<br />
+Wave Name: 6_allclear.wav<br />
<br />
;; ARRIVAL (Enemy) ...................................................................<br />
<br />
$Name: Arrive Enemy<br />
$Message: XSTR("Bandits incoming!", 1079)<br />
+Persona: Wingman 1<br />
+Avi Name: Head-TP1<br />
+Wave Name: 1_arrival.wav<br />
<br />
$Name: Arrive Enemy<br />
$Message: XSTR("Reading hostile indicators.", 2734)<br />
+Persona: Wingman 6<br />
+Avi Name: Head-VP1<br />
+Wave Name: 6_arrival.wav<br />
<br />
$Name: Arrive Enemy<br />
$Message: XSTR("Incoming jump signature! Hostile configuration!", 2736)<br />
+Persona: Terran Command<br />
+Avi Name: Head-CM2<br />
+Wave Name: TC_arrival.wav<br />
<br />
;; ATTACK MY TARGET ...........................................................................<br />
<br />
$Name: Attack Target<br />
$Message: XSTR("Roger that, sir. Engaging your target.", 2737)<br />
+Persona: Wingman 1<br />
+Avi Name: Head-TP1<br />
+Wave Name: 1_attack.wav<br />
<br />
$Name: Attack Target<br />
$Message: XSTR("Yes sir, I'll make the bastards pay for Capella!", 2737)<br />
+Persona: Wingman 1<br />
+Avi Name: Head-TP1<br />
+Wave Name: 1_attack.wav<br />
$Mood: Vengeful<br />
$Exclude Mood: ( "Happy" )<br />
<br />
$Name: Attack Target<br />
$Message: XSTR("Yes sir. I just love killing Shivans!", 2737)<br />
+Persona: Wingman 1<br />
+Avi Name: Head-TP1<br />
+Wave Name: 1_attack.wav<br />
$Mood: Angry<br />
$Exclude Mood: ( "Angry" "Vengeful" )<br />
<br />
$Name: Attack Target<br />
$Message: XSTR("Affirmative. We will destroy your target.", 2742)<br />
+Persona: Wingman 6<br />
+Avi Name: Head-VP1<br />
+Wave Name: 6_attack.wav<br />
<br />
;; BACKUP ARRIVAL (previously named "REINFORCEMENTS") .........................................<br />
<br />
$Name: Backup<br />
$Message: XSTR("Reinforcements on station. Request status brief.", 2744)<br />
+Persona: Wingman 1<br />
+Avi Name: Head-TP1<br />
+Wave Name: 1_backup.wav<br />
<br />
$Name: Backup<br />
$Message: XSTR("We are here to assist. What is your status?", 2749)<br />
+Persona: Wingman 6<br />
+Avi Name: Head-VP1<br />
+Wave Name: 6_backup.wav<br />
<br />
;; BETA WING ARRIVAL ..........................................................................<br />
<br />
$Name: Beta Arrived<br />
$Message: XSTR("Beta wing here. Standing by.", 2751)<br />
+Persona: Wingman 1<br />
+Avi Name: Head-TP1<br />
+Wave Name: 1_beta.wav<br />
<br />
$Name: Beta Arrived<br />
$Message: XSTR("Beta wing is on station.", 2756)<br />
+Persona: Wingman 6<br />
+Avi Name: Head-VP1<br />
+Wave Name: 6_beta.wav<br />
<br />
;; CHECK YOUR SIX .............................................................................<br />
<br />
$Name: Check 6<br />
$Message: XSTR("Check your six!", 2758)<br />
+Persona: Wingman 1<br />
+Avi Name: Head-TP1<br />
+Wave Name: 1_Check6.wav<br />
<br />
$Name: Check 6<br />
$Message: XSTR("Take evasive action, pilot!", 2763)<br />
+Persona: Wingman 6<br />
+Avi Name: Head-VP1<br />
+Wave Name: 6_Check6.wav<br />
<br />
;; DEATH (previously wingman scream)...................................................<br />
<br />
$Name: Death<br />
$Message: XSTR("Noooooooo!!!", 2765)<br />
+Persona: Wingman 1<br />
+Avi Name: Head-TP1<br />
+Wave Name: 1_Death.wav<br />
<br />
$Name: Death<br />
$Message: XSTR("Avenge me!", 2770)<br />
+Persona: Wingman 6<br />
+Avi Name: Head-VP1<br />
+Wave Name: 6_Death.wav<br />
<br />
;; DELTA WING ARRIVAL .........................................................................<br />
<br />
$Name: Delta Arrived<br />
$Message: XSTR("This is Delta wing. What's your status?", 2772)<br />
+Persona: Wingman 1<br />
+Avi Name: Head-TP1<br />
+Wave Name: 1_Delta.wav<br />
<br />
$Name: Delta Arrived<br />
$Message: XSTR("Delta wing is ready to assist, pilot.", 2777)<br />
+Persona: Wingman 6<br />
+Avi Name: Head-VP1<br />
+Wave Name: 6_Delta.wav<br />
<br />
;; DEPART (previously named "WARPOUT") ........................................................<br />
<br />
$Name: Depart<br />
$Message: XSTR("Yes, sir! I'm outta here!", 2779)<br />
+Persona: Wingman 1<br />
+Avi Name: Head-TP1<br />
+Wave Name: 1_depart.wav<br />
<br />
$Name: Depart<br />
$Message: XSTR("We are departing as ordered.", 2784)<br />
+Persona: Wingman 6<br />
+Avi Name: Head-VP1<br />
+Wave Name: 6_depart.wav<br />
<br />
$Name: Depart<br />
$Message: XSTR("I copy. Engaging jump drive now.", 2786)<br />
+Persona: Support Ship<br />
+Avi Name: Head-TP3<br />
+Wave Name: S_depart.wav<br />
<br />
$Name: Depart<br />
$Message: XSTR("Departing field of engagement.", 2787)<br />
+Persona: Support Ship Vasudan<br />
+Avi Name: Head-VP2<br />
+Wave Name: VS_depart.wav<br />
<br />
$Name: Depart<br />
$Message: XSTR("We are departing as ordered.", 2788)<br />
+Persona: Large Ship Vasudan<br />
+Avi Name: Head-VP1<br />
+Wave Name: 6_depart.wav<br />
<br />
;; DISABLE TARGET .............................................................................<br />
<br />
$Name: Disable Target<br />
$Message: XSTR("Roger that, sir. Disabling your target.", 2789)<br />
+Persona: Wingman 1<br />
+Avi Name: Head-TP1<br />
+Wave Name: 1_Disable.wav <br />
<br />
$Name: Disable Target<br />
$Message: XSTR("Affirmative. Disabling your target.", 2794)<br />
+Persona: Wingman 6<br />
+Avi Name: Head-VP1<br />
+Wave Name: 6_Disable.wav<br />
<br />
;; DISARM TARGET ..............................................................................<br />
<br />
$Name: Disarm Target<br />
$Message: XSTR("Yes, sir! Targeting weapons now!", 2796)<br />
+Persona: Wingman 1<br />
+Avi Name: Head-TP1<br />
+Wave Name: 1_Disarm.wav <br />
<br />
$Name: Disarm Target<br />
$Message: XSTR("Acknowledged. Weapon subsystem targeted. ", 2801)<br />
+Persona: Wingman 6<br />
+Avi Name: Head-VP1<br />
+Wave Name: 6_Disarm.wav <br />
<br />
#End<br />
<br />
#Simulated Speech Overrides<br />
<br />
$File Name: msg_1.wav<br />
$File Name: msg_2.wav<br />
$File Name: msg_3.wav<br />
$File Name: msg_4.wav<br />
$File Name: msg_5.wav<br />
$File Name: msg_6.wav<br />
<br />
#End</pre><br />
[[Category:Tables]]</div>Chief1983https://wiki.hard-light.net/index.php?title=Messages.tbl&diff=44145Messages.tbl2014-07-25T16:04:12Z<p>Chief1983: Added documentation for message Moods.</p>
<hr />
<div>{{TableVersion|10943}}<br />
<br />
The '''messages.tbl''' is used to link actions, animations, and sounds of the messages received during the mission. Personas are used to group messages by the same talker, for example, all the Wingman 1 (Male Terran Pilot) messages go with a Wingman 1 persona.<br />
<br />
Each message is composed of a text macro, and optionally a head .ani and/or an audio macro.<br />
<br />
<br />
[[Tables|List of Tables]]<br />
<br />
==#Message Frequencies==<br />
{{Table3615|<br />
Optional Group. Defines how often and how many times during the campaign the messages should be shown.}}<br><br />
<br />
<br />
===$Name:===<br />
{{Table3615|<br />
Required. Defines the message to augment.<br />
*Syntax: '''String'''<br />
*Available Values: See [[Messages.tbl#.24Name:_2|$Name in Messages.tbl]]}}<br><br />
<br />
<br />
===+Occurrence Chance:===<br />
{{Table3615|<br />
Optional. Defines the % chance this message will be played when the associated event occurs. For example, if you score a kill, and the '''+Occurrence Chance:''' is 10 for a Praise message, then there is a 10% chance that you a Praise message will play.<br />
*Syntax: '''Integer'''<br />
*Available Values: '''Between 0 and 100'''}}<br><br />
<br />
===+Maximum Count:===<br />
{{Table3615|<br />
Optional. Defines the maximum number of times this message will be played during a given mission.<br />
*Syntax: '''Integer'''}}<br><br />
<br />
===+Minimum Delay:===<br />
{{Table3615|<br />
Optional. Defines the minimum delay time between being queue by the game and the time the message actually plays. (This helps simulate "organic" AI's)<br />
*Syntax: '''Integer''' in milliseconds}}<br><br />
<br />
==#Moods==<br />
Optional. You can change the mission mood using the new set-mission-mood SEXP, and those moods can be used to filter what built-in messages are played by defining a mood within a message. This section lists all available moods for use in the table and in the SEXP.<br />
<br />
===$Mood:===<br />
Optional. The name of a mood to be attached to a message and set as a mission mood. Example: Happy, Vengeful, etc.<br />
<br />
==#End==<br />
The moods section, if it exists, must end with #End.<br />
<br />
==#Personas==<br />
Required. The #Personas group is used to define the all of the personas used for the messages.<br><br />
<br />
<br />
===$Persona:===<br />
Required. Defines the name of the persona<br />
*Syntax: '''String'''<br><br />
<br />
<br />
===$Type:===<br />
Required. Defines the type of the persona<br />
*Syntax: '''String'''<br />
*Available types:<br />
::'''wingman'''<br />
::'''support'''<br />
::'''large'''<br />
::'''command'''<br><br />
<br />
<br />
===+<Species>===<br />
Optional. The +<Species> (such as '''+Vasudan''') can be used to assign personas to other species. If omitted, the Persona is assigned to the '''default''' species.<br />
*Syntax: +'''String'''<br><br />
<br />
<br />
==#Messages==<br />
Required. The #Messages group contains all available messages.<br><br />
<br />
===$Name:===<br />
Required. Defines the type of the message<br />
*Syntax: '''String'''<br />
*Available types (types marked with '''*''' do not have code support) :<br />
::'''Arrive Enemy'''<br />
::'''Attack Target'''<br />
::'''Beta Arrived'''<br />
::'''Check 6'''<br />
::'''Engage'''<br />
::'''Gamma Arrived'''<br />
::'''Help'''<br />
::'''Praise'''<br />
::'''Backup'''<br />
::'''Ignore Target'''<br />
::'''No'''<br />
::'''Oops 1''' * (Only Command has code support in Retail)<br />
::'''Permission''' *<br />
::'''Stray''' *<br />
::'''Depart'''<br />
::'''yes'''<br />
::'''Rearm on Way'''<br />
::'''On way'''<br />
::'''Rearm warping in'''<br />
::'''No Target'''<br />
::'''Docking Start''' *<br />
::'''Repair Done'''<br />
::'''Repair Aborted'''<br />
::'''Traitor'''<br />
::'''Rearm'''<br />
::'''Disable Target'''<br />
::'''Disarm Target'''<br />
::'''Player Dead'''<br />
::'''Death'''<br />
::'''Support Killed'''<br />
::'''All Clear''' * <br />
::'''All Alone'''<br />
::'''Repair'''<br />
::'''Delta Arrived'''<br />
::'''Epsilon Arrived'''<br />
::'''Instructor Hit'''<br />
::'''Instructor Attack'''<br />
::'''Stray Warning'''<br />
::'''Stray Warning Final'''<br />
::'''AWACS at 75'''<br />
::'''AWACS at 25'''<br />
{{Table3611|<br />
::'''Praise Self''' <br />
::'''High Praise'''<br />
::'''Primaries Low'''}}<br><br />
<br />
<br />
===$Message: and $MessageNew:===<br />
Defines the message shown in game screen when the message is triggered. Value is a reference to [[tstrings.tbl]].<br><br />
'''$Message:''' is used for single-line messages, while '''$MessageNew:''' is used for multi-line messages (but can also be used for single-line messages)<br />
*'''$MessageNew:''' is preferred over '''$Message:'''<br />
*Syntax: XSTR("'''string'''", '''integer''')<br><br />
<br />
<br />
===+Persona:===<br />
Optional. Defines the persona associated with the message<br />
*Syntax:<br />
'''String'''<br><br />
<br />
===+AVI Name:===<br />
Optional. Determines the ANI file to be played when the message is triggered.<br />
<br />
In contrast to FREDded messages, the game does not attempt to use the file ''<string>''.ani in a persona message. Instead, it picks one of ''<string>''a.ani, ''<string>''b.ani and ''<string>''c.ani each time. So if you have defined ''+Avi Name: Head-Joe'', the game will attempt to use the files ''Head-Joea.ani'', ''Head-Joeb.ani'' and ''Head-Joec.ani''. For wingmen personas, the ''c'' variant is assumed to be a death animation.<br />
*Syntax: '''String'''<br><br />
<br />
<br />
===+Wave Name:===<br />
Optional. Sets the sounds file that is played when the message is triggered<br />
*Syntax: '''String'''<br><br />
<br />
<br />
===$Mood:===<br />
The mood where this message should ideally be played. It may be played on other moods as long as it is not excluded for them below, if no better matching message is found.<br />
<br />
===$Exclude Mood:===<br />
A list of moods not to play this message, ever. The list goes in parentheses. See Terran 'Attack Target' example below for usage.<br />
<br />
==#End==<br />
The very last entry must be #End. No exceptions.<br />
<br />
<br />
==#Simulated Speech Overrides==<br />
Optional. Used to add file names to the generic message list, which defaults to 'none', 'cuevoice', 'emptymsg', 'generic', and 'msgstart'. Filenames listed below will be overridden by Text to Speech (TTS) when it is enabled, in addition to those in the default list.<br />
<br />
===$File Name:===<br />
Optional. File name to add to the overrides list. Filenames provided here, however, must include an extension or a warning will be issues, for example msg_1.wav.<br />
<br />
==#End==<br />
Must also end the optional Simulated Speech Overrides section with #End.<br />
<br />
==Sample==<br />
This is a snippet of the retail FreeSpace 2 table, highlighting two major examples between a default (Terran) persona and a species (Vasudan) persona. Command, Support, and Large ship message examples are also included. Newer features have been added for extra clarification of their usage.<br />
<pre>;; This is a list of moods that the game will use for builtin <br />
;; messages. Any message without a mood is treated as General<br />
<br />
#Moods<br />
<br />
$Mood: Happy<br />
$Mood: Angry<br />
$Mood: Vengeful<br />
<br />
#End<br />
<br />
<br />
#Personas<br />
<br />
$Persona: Wingman 1 <br />
$Type: wingman<br />
<br />
$Persona: Wingman 6<br />
$Type: wingman<br />
+Vasudan<br />
<br />
$Persona: Support Ship<br />
$Type: support<br />
<br />
$Persona: Support Ship Vasudan<br />
$Type: support<br />
+Vasudan<br />
<br />
$Persona: Large Ship<br />
$Type: large<br />
<br />
$Persona: Large Ship Vasudan<br />
$Type: large<br />
+Vasudan<br />
<br />
$Persona: Terran Command<br />
$Type: Command<br />
<br />
#Messages<br />
<br />
<br />
;; ALL CLEAR ..................................................................................<br />
<br />
$Name: All Clear<br />
$Message: XSTR("Command, we have secured the area.", 2725)<br />
+Persona: Wingman 1<br />
+Avi Name: Head-TP1<br />
+Wave Name: 1_allclear.wav<br />
<br />
$Name: All Clear<br />
$Message: XSTR("All enemy forces negated.", 2730)<br />
+Persona: Wingman 6<br />
+Avi Name: Head-VP1<br />
+Wave Name: 6_allclear.wav<br />
<br />
;; ARRIVAL (Enemy) ...................................................................<br />
<br />
$Name: Arrive Enemy<br />
$Message: XSTR("Bandits incoming!", 1079)<br />
+Persona: Wingman 1<br />
+Avi Name: Head-TP1<br />
+Wave Name: 1_arrival.wav<br />
<br />
$Name: Arrive Enemy<br />
$Message: XSTR("Reading hostile indicators.", 2734)<br />
+Persona: Wingman 6<br />
+Avi Name: Head-VP1<br />
+Wave Name: 6_arrival.wav<br />
<br />
$Name: Arrive Enemy<br />
$Message: XSTR("Incoming jump signature! Hostile configuration!", 2736)<br />
+Persona: Terran Command<br />
+Avi Name: Head-CM2<br />
+Wave Name: TC_arrival.wav<br />
<br />
;; ATTACK MY TARGET ...........................................................................<br />
<br />
$Name: Attack Target<br />
$Message: XSTR("Roger that, sir. Engaging your target.", 2737)<br />
+Persona: Wingman 1<br />
+Avi Name: Head-TP1<br />
+Wave Name: 1_attack.wav<br />
<br />
$Name: Attack Target<br />
$Message: XSTR("Yes sir, I'll make the bastards pay for Capella!", 2737)<br />
+Persona: Wingman 1<br />
+Avi Name: Head-TP1<br />
+Wave Name: 1_attack.wav<br />
$Mood: Vengeful<br />
$Exclude Mood: ( "Happy" )<br />
<br />
$Name: Attack Target<br />
$Message: XSTR("Yes sir. I just love killing Shivans!", 2737)<br />
+Persona: Wingman 1<br />
+Avi Name: Head-TP1<br />
+Wave Name: 1_attack.wav<br />
$Mood: Angry<br />
$Exclude Mood: ( "Angry" "Vengeful" )<br />
<br />
$Name: Attack Target<br />
$Message: XSTR("Affirmative. We will destroy your target.", 2742)<br />
+Persona: Wingman 6<br />
+Avi Name: Head-VP1<br />
+Wave Name: 6_attack.wav<br />
<br />
;; BACKUP ARRIVAL (previously named "REINFORCEMENTS") .........................................<br />
<br />
$Name: Backup<br />
$Message: XSTR("Reinforcements on station. Request status brief.", 2744)<br />
+Persona: Wingman 1<br />
+Avi Name: Head-TP1<br />
+Wave Name: 1_backup.wav<br />
<br />
$Name: Backup<br />
$Message: XSTR("We are here to assist. What is your status?", 2749)<br />
+Persona: Wingman 6<br />
+Avi Name: Head-VP1<br />
+Wave Name: 6_backup.wav<br />
<br />
;; BETA WING ARRIVAL ..........................................................................<br />
<br />
$Name: Beta Arrived<br />
$Message: XSTR("Beta wing here. Standing by.", 2751)<br />
+Persona: Wingman 1<br />
+Avi Name: Head-TP1<br />
+Wave Name: 1_beta.wav<br />
<br />
$Name: Beta Arrived<br />
$Message: XSTR("Beta wing is on station.", 2756)<br />
+Persona: Wingman 6<br />
+Avi Name: Head-VP1<br />
+Wave Name: 6_beta.wav<br />
<br />
;; CHECK YOUR SIX .............................................................................<br />
<br />
$Name: Check 6<br />
$Message: XSTR("Check your six!", 2758)<br />
+Persona: Wingman 1<br />
+Avi Name: Head-TP1<br />
+Wave Name: 1_Check6.wav<br />
<br />
$Name: Check 6<br />
$Message: XSTR("Take evasive action, pilot!", 2763)<br />
+Persona: Wingman 6<br />
+Avi Name: Head-VP1<br />
+Wave Name: 6_Check6.wav<br />
<br />
;; DEATH (previously wingman scream)...................................................<br />
<br />
$Name: Death<br />
$Message: XSTR("Noooooooo!!!", 2765)<br />
+Persona: Wingman 1<br />
+Avi Name: Head-TP1<br />
+Wave Name: 1_Death.wav<br />
<br />
$Name: Death<br />
$Message: XSTR("Avenge me!", 2770)<br />
+Persona: Wingman 6<br />
+Avi Name: Head-VP1<br />
+Wave Name: 6_Death.wav<br />
<br />
;; DELTA WING ARRIVAL .........................................................................<br />
<br />
$Name: Delta Arrived<br />
$Message: XSTR("This is Delta wing. What's your status?", 2772)<br />
+Persona: Wingman 1<br />
+Avi Name: Head-TP1<br />
+Wave Name: 1_Delta.wav<br />
<br />
$Name: Delta Arrived<br />
$Message: XSTR("Delta wing is ready to assist, pilot.", 2777)<br />
+Persona: Wingman 6<br />
+Avi Name: Head-VP1<br />
+Wave Name: 6_Delta.wav<br />
<br />
;; DEPART (previously named "WARPOUT") ........................................................<br />
<br />
$Name: Depart<br />
$Message: XSTR("Yes, sir! I'm outta here!", 2779)<br />
+Persona: Wingman 1<br />
+Avi Name: Head-TP1<br />
+Wave Name: 1_depart.wav<br />
<br />
$Name: Depart<br />
$Message: XSTR("We are departing as ordered.", 2784)<br />
+Persona: Wingman 6<br />
+Avi Name: Head-VP1<br />
+Wave Name: 6_depart.wav<br />
<br />
$Name: Depart<br />
$Message: XSTR("I copy. Engaging jump drive now.", 2786)<br />
+Persona: Support Ship<br />
+Avi Name: Head-TP3<br />
+Wave Name: S_depart.wav<br />
<br />
$Name: Depart<br />
$Message: XSTR("Departing field of engagement.", 2787)<br />
+Persona: Support Ship Vasudan<br />
+Avi Name: Head-VP2<br />
+Wave Name: VS_depart.wav<br />
<br />
$Name: Depart<br />
$Message: XSTR("We are departing as ordered.", 2788)<br />
+Persona: Large Ship Vasudan<br />
+Avi Name: Head-VP1<br />
+Wave Name: 6_depart.wav<br />
<br />
;; DISABLE TARGET .............................................................................<br />
<br />
$Name: Disable Target<br />
$Message: XSTR("Roger that, sir. Disabling your target.", 2789)<br />
+Persona: Wingman 1<br />
+Avi Name: Head-TP1<br />
+Wave Name: 1_Disable.wav <br />
<br />
$Name: Disable Target<br />
$Message: XSTR("Affirmative. Disabling your target.", 2794)<br />
+Persona: Wingman 6<br />
+Avi Name: Head-VP1<br />
+Wave Name: 6_Disable.wav<br />
<br />
;; DISARM TARGET ..............................................................................<br />
<br />
$Name: Disarm Target<br />
$Message: XSTR("Yes, sir! Targeting weapons now!", 2796)<br />
+Persona: Wingman 1<br />
+Avi Name: Head-TP1<br />
+Wave Name: 1_Disarm.wav <br />
<br />
$Name: Disarm Target<br />
$Message: XSTR("Acknowledged. Weapon subsystem targeted. ", 2801)<br />
+Persona: Wingman 6<br />
+Avi Name: Head-VP1<br />
+Wave Name: 6_Disarm.wav <br />
<br />
#End<br />
<br />
#Simulated Speech Overrides<br />
<br />
$File Name: msg_1.wav<br />
$File Name: msg_2.wav<br />
$File Name: msg_3.wav<br />
$File Name: msg_4.wav<br />
$File Name: msg_5.wav<br />
$File Name: msg_6.wav<br />
<br />
#End</pre><br />
[[Category:Tables]]</div>Chief1983https://wiki.hard-light.net/index.php?title=Messages.tbl&diff=44144Messages.tbl2014-07-25T15:38:28Z<p>Chief1983: Added Simulated Speech Overrides documentation.</p>
<hr />
<div>{{TableVersion|8905}}<br />
<br />
The '''messages.tbl''' is used to link actions, animations, and sounds of the messages received during the mission. Personas are used to group messages by the same talker, for example, all the Wingman 1 (Male Terran Pilot) messages go with a Wingman 1 persona.<br />
<br />
Each message is composed of a text macro, and optionally a head .ani and/or an audio macro.<br />
<br />
<br />
[[Tables|List of Tables]]<br />
<br />
==#Message Frequencies==<br />
{{Table3615|<br />
Optional Group. Defines how often and how many times during the campaign the messages should be shown.}}<br><br />
<br />
<br />
===$Name:===<br />
{{Table3615|<br />
Required. Defines the message to augment.<br />
*Syntax: '''String'''<br />
*Available Values: See [[Messages.tbl#.24Name:_2|$Name in Messages.tbl]]}}<br><br />
<br />
<br />
===+Occurrence Chance:===<br />
{{Table3615|<br />
Optional. Defines the % chance this message will be played when the associated event occurs. For example, if you score a kill, and the '''+Occurrence Chance:''' is 10 for a Praise message, then there is a 10% chance that you a Praise message will play.<br />
*Syntax: '''Integer'''<br />
*Available Values: '''Between 0 and 100'''}}<br><br />
<br />
===+Maximum Count:===<br />
{{Table3615|<br />
Optional. Defines the maximum number of times this message will be played during a given mission.<br />
*Syntax: '''Integer'''}}<br><br />
<br />
===+Minimum Delay:===<br />
{{Table3615|<br />
Optional. Defines the minimum delay time between being queue by the game and the time the message actually plays. (This helps simulate "organic" AI's)<br />
*Syntax: '''Integer''' in milliseconds}}<br><br />
<br />
<br />
==#Personas==<br />
Required. The #Personas group is used to define the all of the personas used for the messages.<br><br />
<br />
<br />
===$Persona:===<br />
Required. Defines the name of the persona<br />
*Syntax: '''String'''<br><br />
<br />
<br />
===$Type:===<br />
Required. Defines the type of the persona<br />
*Syntax: '''String'''<br />
*Available types:<br />
::'''wingman'''<br />
::'''support'''<br />
::'''large'''<br />
::'''command'''<br><br />
<br />
<br />
===+<Species>===<br />
Optional. The +<Species> (such as '''+Vasudan''') can be used to assign personas to other species. If omitted, the Persona is assigned to the '''default''' species.<br />
*Syntax: +'''String'''<br><br />
<br />
<br />
==#Messages==<br />
Required. The #Messages group contains all available messages.<br><br />
<br />
===$Name:===<br />
Required. Defines the type of the message<br />
*Syntax: '''String'''<br />
*Available types (types marked with '''*''' do not have code support) :<br />
::'''Arrive Enemy'''<br />
::'''Attack Target'''<br />
::'''Beta Arrived'''<br />
::'''Check 6'''<br />
::'''Engage'''<br />
::'''Gamma Arrived'''<br />
::'''Help'''<br />
::'''Praise'''<br />
::'''Backup'''<br />
::'''Ignore Target'''<br />
::'''No'''<br />
::'''Oops 1''' * (Only Command has code support in Retail)<br />
::'''Permission''' *<br />
::'''Stray''' *<br />
::'''Depart'''<br />
::'''yes'''<br />
::'''Rearm on Way'''<br />
::'''On way'''<br />
::'''Rearm warping in'''<br />
::'''No Target'''<br />
::'''Docking Start''' *<br />
::'''Repair Done'''<br />
::'''Repair Aborted'''<br />
::'''Traitor'''<br />
::'''Rearm'''<br />
::'''Disable Target'''<br />
::'''Disarm Target'''<br />
::'''Player Dead'''<br />
::'''Death'''<br />
::'''Support Killed'''<br />
::'''All Clear''' * <br />
::'''All Alone'''<br />
::'''Repair'''<br />
::'''Delta Arrived'''<br />
::'''Epsilon Arrived'''<br />
::'''Instructor Hit'''<br />
::'''Instructor Attack'''<br />
::'''Stray Warning'''<br />
::'''Stray Warning Final'''<br />
::'''AWACS at 75'''<br />
::'''AWACS at 25'''<br />
{{Table3611|<br />
::'''Praise Self''' <br />
::'''High Praise'''<br />
::'''Primaries Low'''}}<br><br />
<br />
<br />
===$Message: and $MessageNew:===<br />
Defines the message shown in game screen when the message is triggered. Value is a reference to [[tstrings.tbl]].<br><br />
'''$Message:''' is used for single-line messages, while '''$MessageNew:''' is used for multi-line messages (but can also be used for single-line messages)<br />
*'''$MessageNew:''' is preferred over '''$Message:'''<br />
*Syntax: XSTR("'''string'''", '''integer''')<br><br />
<br />
<br />
===+Persona:===<br />
Optional. Defines the persona associated with the message<br />
*Syntax:<br />
'''String'''<br><br />
<br />
===+AVI Name:===<br />
Optional. Determines the ANI file to be played when the message is triggered.<br />
<br />
In contrast to FREDded messages, the game does not attempt to use the file ''<string>''.ani in a persona message. Instead, it picks one of ''<string>''a.ani, ''<string>''b.ani and ''<string>''c.ani each time. So if you have defined ''+Avi Name: Head-Joe'', the game will attempt to use the files ''Head-Joea.ani'', ''Head-Joeb.ani'' and ''Head-Joec.ani''. For wingmen personas, the ''c'' variant is assumed to be a death animation.<br />
*Syntax: '''String'''<br><br />
<br />
<br />
===+Wave Name:===<br />
Optional. Sets the sounds file that is played when the message is triggered<br />
*Syntax: '''String'''<br><br />
<br />
<br />
==#End==<br />
The very last entry must be #End. No exceptions.<br />
<br />
==#Simulated Speech Overrides==<br />
Optional. Used to add file names to the generic message list, which defaults to 'none', 'cuevoice', 'emptymsg', 'generic', and 'msgstart'. Filenames listed below will be overridden by Text to Speech (TTS) when it is enabled, in addition to those in the default list.<br />
<br />
===$File Name:===<br />
Optional. File name to add to the overrides list. Filenames provided here, however, must include an extension or a warning will be issues, for example msg_1.wav.<br />
<br />
==#End==<br />
Must also end the optional Simulated Speech Overrides section with #End.<br />
<br />
==Sample==<br />
This is a snippet of the retail FreeSpace 2 table, highlighting two major examples between a default (Terran) persona and a species (Vasudan) persona. Command, Support, and Large ship message examples are also included.<br />
<pre>#Personas<br />
<br />
$Persona: Wingman 1 <br />
$Type: wingman<br />
<br />
$Persona: Wingman 6<br />
$Type: wingman<br />
+Vasudan<br />
<br />
$Persona: Support Ship<br />
$Type: support<br />
<br />
$Persona: Support Ship Vasudan<br />
$Type: support<br />
+Vasudan<br />
<br />
$Persona: Large Ship<br />
$Type: large<br />
<br />
$Persona: Large Ship Vasudan<br />
$Type: large<br />
+Vasudan<br />
<br />
$Persona: Terran Command<br />
$Type: Command<br />
<br />
#Messages<br />
<br />
<br />
;; ALL CLEAR ..................................................................................<br />
<br />
$Name: All Clear<br />
$Message: XSTR("Command, we have secured the area.", 2725)<br />
+Persona: Wingman 1<br />
+Avi Name: Head-TP1<br />
+Wave Name: 1_allclear.wav<br />
<br />
$Name: All Clear<br />
$Message: XSTR("All enemy forces negated.", 2730)<br />
+Persona: Wingman 6<br />
+Avi Name: Head-VP1<br />
+Wave Name: 6_allclear.wav<br />
<br />
;; ARRIVAL (Enemy) ...................................................................<br />
<br />
$Name: Arrive Enemy<br />
$Message: XSTR("Bandits incoming!", 1079)<br />
+Persona: Wingman 1<br />
+Avi Name: Head-TP1<br />
+Wave Name: 1_arrival.wav<br />
<br />
$Name: Arrive Enemy<br />
$Message: XSTR("Reading hostile indicators.", 2734)<br />
+Persona: Wingman 6<br />
+Avi Name: Head-VP1<br />
+Wave Name: 6_arrival.wav<br />
<br />
$Name: Arrive Enemy<br />
$Message: XSTR("Incoming jump signature! Hostile configuration!", 2736)<br />
+Persona: Terran Command<br />
+Avi Name: Head-CM2<br />
+Wave Name: TC_arrival.wav<br />
<br />
;; ATTACK MY TARGET ...........................................................................<br />
<br />
$Name: Attack Target<br />
$Message: XSTR("Roger that, sir. Engaging your target.", 2737)<br />
+Persona: Wingman 1<br />
+Avi Name: Head-TP1<br />
+Wave Name: 1_attack.wav<br />
<br />
$Name: Attack Target<br />
$Message: XSTR("Affirmative. We will destroy your target.", 2742)<br />
+Persona: Wingman 6<br />
+Avi Name: Head-VP1<br />
+Wave Name: 6_attack.wav<br />
<br />
;; BACKUP ARRIVAL (previously named "REINFORCEMENTS") .........................................<br />
<br />
$Name: Backup<br />
$Message: XSTR("Reinforcements on station. Request status brief.", 2744)<br />
+Persona: Wingman 1<br />
+Avi Name: Head-TP1<br />
+Wave Name: 1_backup.wav<br />
<br />
$Name: Backup<br />
$Message: XSTR("We are here to assist. What is your status?", 2749)<br />
+Persona: Wingman 6<br />
+Avi Name: Head-VP1<br />
+Wave Name: 6_backup.wav<br />
<br />
;; BETA WING ARRIVAL ..........................................................................<br />
<br />
$Name: Beta Arrived<br />
$Message: XSTR("Beta wing here. Standing by.", 2751)<br />
+Persona: Wingman 1<br />
+Avi Name: Head-TP1<br />
+Wave Name: 1_beta.wav<br />
<br />
$Name: Beta Arrived<br />
$Message: XSTR("Beta wing is on station.", 2756)<br />
+Persona: Wingman 6<br />
+Avi Name: Head-VP1<br />
+Wave Name: 6_beta.wav<br />
<br />
;; CHECK YOUR SIX .............................................................................<br />
<br />
$Name: Check 6<br />
$Message: XSTR("Check your six!", 2758)<br />
+Persona: Wingman 1<br />
+Avi Name: Head-TP1<br />
+Wave Name: 1_Check6.wav<br />
<br />
$Name: Check 6<br />
$Message: XSTR("Take evasive action, pilot!", 2763)<br />
+Persona: Wingman 6<br />
+Avi Name: Head-VP1<br />
+Wave Name: 6_Check6.wav<br />
<br />
;; DEATH (previously wingman scream)...................................................<br />
<br />
$Name: Death<br />
$Message: XSTR("Noooooooo!!!", 2765)<br />
+Persona: Wingman 1<br />
+Avi Name: Head-TP1<br />
+Wave Name: 1_Death.wav<br />
<br />
$Name: Death<br />
$Message: XSTR("Avenge me!", 2770)<br />
+Persona: Wingman 6<br />
+Avi Name: Head-VP1<br />
+Wave Name: 6_Death.wav<br />
<br />
;; DELTA WING ARRIVAL .........................................................................<br />
<br />
$Name: Delta Arrived<br />
$Message: XSTR("This is Delta wing. What's your status?", 2772)<br />
+Persona: Wingman 1<br />
+Avi Name: Head-TP1<br />
+Wave Name: 1_Delta.wav<br />
<br />
$Name: Delta Arrived<br />
$Message: XSTR("Delta wing is ready to assist, pilot.", 2777)<br />
+Persona: Wingman 6<br />
+Avi Name: Head-VP1<br />
+Wave Name: 6_Delta.wav<br />
<br />
;; DEPART (previously named "WARPOUT") ........................................................<br />
<br />
$Name: Depart<br />
$Message: XSTR("Yes, sir! I'm outta here!", 2779)<br />
+Persona: Wingman 1<br />
+Avi Name: Head-TP1<br />
+Wave Name: 1_depart.wav<br />
<br />
$Name: Depart<br />
$Message: XSTR("We are departing as ordered.", 2784)<br />
+Persona: Wingman 6<br />
+Avi Name: Head-VP1<br />
+Wave Name: 6_depart.wav<br />
<br />
$Name: Depart<br />
$Message: XSTR("I copy. Engaging jump drive now.", 2786)<br />
+Persona: Support Ship<br />
+Avi Name: Head-TP3<br />
+Wave Name: S_depart.wav<br />
<br />
$Name: Depart<br />
$Message: XSTR("Departing field of engagement.", 2787)<br />
+Persona: Support Ship Vasudan<br />
+Avi Name: Head-VP2<br />
+Wave Name: VS_depart.wav<br />
<br />
$Name: Depart<br />
$Message: XSTR("We are departing as ordered.", 2788)<br />
+Persona: Large Ship Vasudan<br />
+Avi Name: Head-VP1<br />
+Wave Name: 6_depart.wav<br />
<br />
;; DISABLE TARGET .............................................................................<br />
<br />
$Name: Disable Target<br />
$Message: XSTR("Roger that, sir. Disabling your target.", 2789)<br />
+Persona: Wingman 1<br />
+Avi Name: Head-TP1<br />
+Wave Name: 1_Disable.wav <br />
<br />
$Name: Disable Target<br />
$Message: XSTR("Affirmative. Disabling your target.", 2794)<br />
+Persona: Wingman 6<br />
+Avi Name: Head-VP1<br />
+Wave Name: 6_Disable.wav<br />
<br />
;; DISARM TARGET ..............................................................................<br />
<br />
$Name: Disarm Target<br />
$Message: XSTR("Yes, sir! Targeting weapons now!", 2796)<br />
+Persona: Wingman 1<br />
+Avi Name: Head-TP1<br />
+Wave Name: 1_Disarm.wav <br />
<br />
$Name: Disarm Target<br />
$Message: XSTR("Acknowledged. Weapon subsystem targeted. ", 2801)<br />
+Persona: Wingman 6<br />
+Avi Name: Head-VP1<br />
+Wave Name: 6_Disarm.wav <br />
<br />
#End<br />
<br />
#Simulated Speech Overrides<br />
<br />
$File Name: msg_1.wav<br />
$File Name: msg_2.wav<br />
$File Name: msg_3.wav<br />
$File Name: msg_4.wav<br />
$File Name: msg_5.wav<br />
$File Name: msg_6.wav<br />
<br />
#End</pre><br />
[[Category:Tables]]</div>Chief1983https://wiki.hard-light.net/index.php?title=Fs2_open_on_Linux/Installing_Subversion&diff=44106Fs2 open on Linux/Installing Subversion2014-07-02T20:59:02Z<p>Chief1983: Added FreeBSD instructions</p>
<hr />
<div>{{Page Navigation|<br />
BookName=[[The fs2_open on Linux Guide]]|<br />
CurrentPage=Installing Subversion|Installing Subversion|<br />
PrevPage=[[Fs2_open on Linux/Preparation|Preparation]]|<br />
NextPage=[[Fs2_open_on_Linux/Installing_the_Development_Libraries|Installing the Development Libraries]]}}<br />
<br />
{{Note| This step is only for those who want the bleeding-edge source code to compile on their own. You can skip this if you intend to use a provided binary executable.}}<br />
{{Note| If your distribution is not listed below and you are familiar with how to install Subversion on it, please add that information to this section. }}<br />
<br />
Subversion (SVN) is a version control system used to manage changes to documents, such as source files. Developers use Subversion so they can easily coordinate their code changes with those of other developers through a SVN repository.<br />
<br />
Be aware that when you use a copy of fs2_open from Subversion, you are using the most recent revision of the fs2_open code. The newest code might have new features and bug fixes, but it might also be less stable, perform worse, or might not even compile.<br />
<br />
You will need a Subversion client to download ("check out" in SVN terminology) a copy of fs2_open from the Source Code Project's SVN repository. The instructions for getting a client are specific to each Linux distribution.<br />
<br />
<br />
'''Debian''', '''Ubuntu''', and '''Linux Mint''' users should run:<br />
$ apt-get install subversion<br />
<br />
'''Gentoo''' users should run:<br />
$ emerge -a subversion<br />
<br />
'''Arch Linux''' users should run:<br />
$ pacman -Sy subversion<br />
<br />
'''Fedora Core 6 (Zod)''' (and most likely Red Hat) users should run:<br />
# yum install subversion<br />
<br />
'''Mandriva''' users should run:<br />
# urpmi subversion<br />
<br />
'''Novell SuSE''' users should install Subversion via [http://en.opensuse.org/YaST YaST].<br />
<br />
'''FreeBSD 10''' users should already have Subversion, but if not, should run:<br />
$ sudo pkg install subversion<br />
<br />
[[Category:FreeSpace Open on Linux|Installing Subversion]]</div>Chief1983https://wiki.hard-light.net/index.php?title=Fs2_open_on_Linux/Installing_the_Development_Libraries&diff=44105Fs2 open on Linux/Installing the Development Libraries2014-07-02T20:57:43Z<p>Chief1983: Added FreeBSD instructions</p>
<hr />
<div>{{Page Navigation|<br />
BookName=[[The fs2_open on Linux Guide]]|<br />
CurrentPage=Installing the Development Libraries|Installing the Development Libraries|<br />
PrevPage=[[Fs2_open on Linux/Installing Subversion|Installing Subversion]]|<br />
NextPage=[[Fs2_open on Linux/Acquiring the Code|Acquiring the Code]]}}<br />
<p></p><br />
{{Note| This step is only for those who want the bleeding-edge source code to compile on their own. You can skip this if you intend to use a provided binary executable.}}<br />
<p></p><br />
{{Note| If your distribution is not listed below and you are familiar with how to install the needed libraries on it, please add that information to this section. }}<br />
<br />
<br />
To build FS2 Open, you'll need the [http://www.libsdl.org/ SDL], [http://www.openal.org/ OpenAL], [http://www.xiph.org/ogg/ libogg], [http://vorbis.com/ libvorbis], [http://www.theora.org/ libtheora], [http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html readline], [http://www.lua.org liblua (version 5.1.3 or higher)], [http://www.digip.org/jansson/ Jansson], and OpenGL (most likely provided with your video card driver) development packages. And of course, you'll need the [http://gcc.gnu.org/ GNU Compiler Collection] and [http://sourceware.org/autobook/ make].<br />
<br />
<br />
'''Ubuntu''' and '''Linux Mint (except for Debian Edition)''' users should run:<br />
$ apt-get install libopenal-dev libogg-dev libvorbis-dev build-essential automake1.10 autoconf libsdl1.2-dev libtheora-dev libreadline6-dev libpng12-dev libjpeg62-dev liblua5.1-0-dev libjansson-dev<br />
{{Note| The [http://packages.debian.org/unstable/devel/build-essential build-essential] package is a metapackage that installs the essential build tools.}}<br />
<br />
<br />
'''Debian''' and '''Linux Mint Debian Edition''' users should run:<br />
$ apt-get install libopenal-dev libvorbis-dev build-essential automake1.10 autoconf libsdl1.2-dev libtheora-dev libreadline6-dev libpng12-dev liblua5.1-0-dev libjansson-dev<br />
{{Note| The [http://packages.debian.org/unstable/devel/build-essential build-essential] package is a metapackage that installs the essential build tools.}}<br />
<br />
<br />
'''Fedora Core''' users (and most likely Red Hat users too) should run:<br />
$ yum install openal-devel libvorbis-devel gcc gcc-c++ automake autoconf SDL-devel libtheora-devel readline-devel lua-devel libpng-devel libjpeg-devel jansson-devel<br />
<br />
<br />
'''Gentoo''' users should run:<br />
$ emerge -va openal libvorbis libsdl libtheora readline lua jansson<br />
{{Note| media-libs/openal needs the <b>"alsa"</b> USE-flag if you intend to use ALSA, and media-libs/libsdl needs the <b>"X"</b>,<b>"opengl"</b> and <b>"xv"</b> USE-flags.}}<br />
<br />
<br />
'''Mandriva''' users should run:<br />
$ urpmi libsdl-devel libopenal-devel libvorbis-devel libtheora-devel gcc gcc-c++ automake autoconf liblua-devel jansson-devel<br />
<br />
'''FreeBSD 10''' users should run:<br />
$ sudo pkg install automake openal-soft jansson lua51 readline libogg libtheora libvorbis png jpeg sdl<br />
{{Note| Everything after 'lua51' is already installed on PC-BSD 10, and likely any other FreeBSD distro with a full desktop environment.}}<br />
<br />
<br />
[[Category:FreeSpace Open on Linux|Installing the Development Libraries]]</div>Chief1983https://wiki.hard-light.net/index.php?title=Mac_Development_Guide&diff=44104Mac Development Guide2014-06-30T21:48:57Z<p>Chief1983: /* Getting Xcode */ Add info about acquiring Xcode 3.2.6.</p>
<hr />
<div>This page provides background and instructions to setup the Xcode development environment in order to compile FreeSpace 2 Open SCP. After following these instructions you will have a working Xcode build environment, a checked out copy of the latest FS2_Open source code, and compiled binaries of the latest revision of the FS2_Open engine.<br />
<br />
[[Image:Xcode icon.png|right|110px]]<br />
<br />
==Getting Xcode==<br />
Xcode is the integrated development environment (IDE) that Apple provides free of charge for the Mac OS platform. It is the Mac equivalent to Microsoft Visual Studio. In practice, Xcode provides a graphical interface to an underlying Clang/LLVM compiler; with the addition of platform libraries (Frameworks), code completion, project management and the other features you would expect of a modern IDE.<br />
<br />
The latest Xcode is available free from the Mac App Store. Xcode 3.2.6 is available to those with a free Apple Developer account on the [https://developer.apple.com/downloads/index.action Apple Developer Downloads] page, search for 'Xcode 3.2.6' and it should be the only result. This may be useful for those with older hardware/software needs.<br />
<br />
It is '''strongly recommended''' that you update to the latest version of Xcode compatible with your Mac OS version, as prior versions have bugs which prevent FS2_Open from compiling properly.<br />
<br />
{| style="text-align:center"<br />
|+ ''Known working combinations''<br />
! !! OS X 10.9 !! OS X 10.8 !! OS X 10.7<br />
|-<br />
! Xcode 5.1.1<br />
| <font color=green>Yes</font> || <font color=green>Yes</font> || n/a <br />
|-<br />
! Xcode 5.0.2<br />
| <font color=green>Yes</font> || <font color=green>Yes</font> || n/a <br />
|-<br />
! Xcode 4.2.1<br />
| n/a || n/a || <font color=orange>Partially</font> <br />
|-<br />
! Xcode 3.2.6<br />
| n/a || <font color=green>Yes</font> || <font color=green>Yes</font><br />
|}<br />
<br />
==Getting FreeSpace 2 Open SCP source code==<br />
<br />
Open Terminal.app through Spotlight, or it can be found in /Applications/Utilities/Terminal.app. This is the console command line for Mac OS. You will need a location to save the checked out source code. The following commands will create a new folder in your personal Documents called 'coding' and then within a subfolder specific for FS2_Open called 'fs2_open' checkout the latest Subversion revision.<br />
<br />
cd Documents<br />
mkdir coding<br />
cd coding<br />
svn checkout svn://svn.icculus.org/fs2open/trunk/fs2_open fs2_open<br />
<br />
<br />
Open Finder and browse to ~/Documents/coding/fs2_open/ to see the new files that have been downloaded from the FS2_Open Subversion source code repository.<br />
<br />
FS2_Open currently uses some precompiled third party Frameworks to handle music and video on Mac OS, which are stored in compressed form within Subversion. Open the 'projects' folder and then 'Xcode4'. This is the location of recent Xcode specific project files and settings. For now, double click on Frameworks.tgz to uncompress these Frameworks to a new folder called Frameworks.<br />
<br />
Your local SVN checkout of the FreeSpace 2 Open SCP code can be keep up to date with the latest changes by opening Terminal.app again, and running the following commands<br />
<br />
cd Documents/coding/fs2_open<br />
svn up<br />
<br />
Xcode and the FreeSpace 2 Open SCP source code is now setup, so let's start our first compilation by double clicking on the FS2_Open.xcodeproj Xcode project file.<br />
<br />
<br />
==Compiling FreeSpace 2 Open SCP source code (GUI)==<br />
<br />
Click the 'Build' button or press Apple key+B. This should complete successfully, and once done the binary application can be found within 'projects/Xcode4/build/'. Open the folder with the same name as the build type you selected previously to find the compiled FS2_Open application.<br />
[[Category:Source Code Project]][[Category:FreeSpace_Open_on_Mac]]<br />
<br />
<br />
==Compiling FreeSpace 2 Open SCP source code (Command line)==<br />
<br />
Open Terminal.app and run the following commands to build a Debug version of FS2_Open<br />
<br />
cd Documents/coding/fs2_open/projects/Xcode4<br />
xcodebuild<br />
<br />
In order to build an AddressSanitizer build, first a trunk version of Clang/LLVM must be downloaded and installed as the Apple-supplied Clang does not enable AddressSanitizer features.<br />
<br />
Following the instructions at http://clang.llvm.org/get_started.html<br />
<br />
Then use this trunk build of Clang instead of the Apple-supplied Clang to build FS2_Open with AddressSanitizer<br />
<br />
cd Documents/coding/fs2_open/projects/Xcode4<br />
export CC=/path/to/llvm/../build/Debug+Asserts/bin/clang<br />
export CXX=/path/to/llvm/../build/Debug+Asserts/bin/clang++<br />
export CFLAGS=-fsanitize=address<br />
export LDFLAGS=-fsanitize=address<br />
xcodebuild CC=$CC CXX=$CXX OTHER_CFLAGS=$CFLAGS LDFLAGS=$LDFLAGS LDPLUSPLUS=$CXX CLANG_LINK_OBJC_RUNTIME=NO<br />
<br />
You may need to open the Xcode GUI and copy the following file into the Linked Frameworks<br />
<br />
/path/to/llvm/build/Debug+Asserts/lib/clang/3.5.0/lib/darwin/libclang_rt.asan_osx_dynamic.dylib<br />
<br />
FS2_Open must be run from the Terminal to enable to AddressSanitizer feature at runtime. Additionally, to ensure line references and the like are cleanly shown the output must be piped to a Python script which symobilizes line references<br />
<br />
./FS2_Open\ \(debug\).app/Contents/MacOS/FS2_Open\ \(debug\) 2>&1 | /path/to/llvm/projects/compiler-rt/lib/asan/scripts/asan_symbolize.py | c++filt</div>Chief1983https://wiki.hard-light.net/index.php?title=Mac_Development_Guide&diff=44103Mac Development Guide2014-06-30T21:44:37Z<p>Chief1983: /* Getting Xcode */ 3.2.6 works on 10.8 just fine, and I'll hopefully be able to test 10.9 soon.</p>
<hr />
<div>This page provides background and instructions to setup the Xcode development environment in order to compile FreeSpace 2 Open SCP. After following these instructions you will have a working Xcode build environment, a checked out copy of the latest FS2_Open source code, and compiled binaries of the latest revision of the FS2_Open engine.<br />
<br />
[[Image:Xcode icon.png|right|110px]]<br />
<br />
==Getting Xcode==<br />
Xcode is the integrated development environment (IDE) that Apple provides free of charge for the Mac OS platform. It is the Mac equivalent to Microsoft Visual Studio. In practice, Xcode provides a graphical interface to an underlying Clang/LLVM compiler; with the addition of platform libraries (Frameworks), code completion, project management and the other features you would expect of a modern IDE.<br />
<br />
Xcode is available free from the Mac App Store.<br />
<br />
It is '''strongly recommended''' that you update to the latest version of Xcode compatible with your Mac OS version, as prior versions have bugs which prevent FS2_Open from compiling properly.<br />
<br />
{| style="text-align:center"<br />
|+ ''Known working combinations''<br />
! !! OS X 10.9 !! OS X 10.8 !! OS X 10.7<br />
|-<br />
! Xcode 5.1.1<br />
| <font color=green>Yes</font> || <font color=green>Yes</font> || n/a <br />
|-<br />
! Xcode 5.0.2<br />
| <font color=green>Yes</font> || <font color=green>Yes</font> || n/a <br />
|-<br />
! Xcode 4.2.1<br />
| n/a || n/a || <font color=orange>Partially</font> <br />
|-<br />
! Xcode 3.2.6<br />
| n/a || <font color=green>Yes</font> || <font color=green>Yes</font><br />
|}<br />
<br />
==Getting FreeSpace 2 Open SCP source code==<br />
<br />
Open Terminal.app through Spotlight, or it can be found in /Applications/Utilities/Terminal.app. This is the console command line for Mac OS. You will need a location to save the checked out source code. The following commands will create a new folder in your personal Documents called 'coding' and then within a subfolder specific for FS2_Open called 'fs2_open' checkout the latest Subversion revision.<br />
<br />
cd Documents<br />
mkdir coding<br />
cd coding<br />
svn checkout svn://svn.icculus.org/fs2open/trunk/fs2_open fs2_open<br />
<br />
<br />
Open Finder and browse to ~/Documents/coding/fs2_open/ to see the new files that have been downloaded from the FS2_Open Subversion source code repository.<br />
<br />
FS2_Open currently uses some precompiled third party Frameworks to handle music and video on Mac OS, which are stored in compressed form within Subversion. Open the 'projects' folder and then 'Xcode4'. This is the location of recent Xcode specific project files and settings. For now, double click on Frameworks.tgz to uncompress these Frameworks to a new folder called Frameworks.<br />
<br />
Your local SVN checkout of the FreeSpace 2 Open SCP code can be keep up to date with the latest changes by opening Terminal.app again, and running the following commands<br />
<br />
cd Documents/coding/fs2_open<br />
svn up<br />
<br />
Xcode and the FreeSpace 2 Open SCP source code is now setup, so let's start our first compilation by double clicking on the FS2_Open.xcodeproj Xcode project file.<br />
<br />
<br />
==Compiling FreeSpace 2 Open SCP source code (GUI)==<br />
<br />
Click the 'Build' button or press Apple key+B. This should complete successfully, and once done the binary application can be found within 'projects/Xcode4/build/'. Open the folder with the same name as the build type you selected previously to find the compiled FS2_Open application.<br />
[[Category:Source Code Project]][[Category:FreeSpace_Open_on_Mac]]<br />
<br />
<br />
==Compiling FreeSpace 2 Open SCP source code (Command line)==<br />
<br />
Open Terminal.app and run the following commands to build a Debug version of FS2_Open<br />
<br />
cd Documents/coding/fs2_open/projects/Xcode4<br />
xcodebuild<br />
<br />
In order to build an AddressSanitizer build, first a trunk version of Clang/LLVM must be downloaded and installed as the Apple-supplied Clang does not enable AddressSanitizer features.<br />
<br />
Following the instructions at http://clang.llvm.org/get_started.html<br />
<br />
Then use this trunk build of Clang instead of the Apple-supplied Clang to build FS2_Open with AddressSanitizer<br />
<br />
cd Documents/coding/fs2_open/projects/Xcode4<br />
export CC=/path/to/llvm/../build/Debug+Asserts/bin/clang<br />
export CXX=/path/to/llvm/../build/Debug+Asserts/bin/clang++<br />
export CFLAGS=-fsanitize=address<br />
export LDFLAGS=-fsanitize=address<br />
xcodebuild CC=$CC CXX=$CXX OTHER_CFLAGS=$CFLAGS LDFLAGS=$LDFLAGS LDPLUSPLUS=$CXX CLANG_LINK_OBJC_RUNTIME=NO<br />
<br />
You may need to open the Xcode GUI and copy the following file into the Linked Frameworks<br />
<br />
/path/to/llvm/build/Debug+Asserts/lib/clang/3.5.0/lib/darwin/libclang_rt.asan_osx_dynamic.dylib<br />
<br />
FS2_Open must be run from the Terminal to enable to AddressSanitizer feature at runtime. Additionally, to ensure line references and the like are cleanly shown the output must be piped to a Python script which symobilizes line references<br />
<br />
./FS2_Open\ \(debug\).app/Contents/MacOS/FS2_Open\ \(debug\) 2>&1 | /path/to/llvm/projects/compiler-rt/lib/asan/scripts/asan_symbolize.py | c++filt</div>Chief1983https://wiki.hard-light.net/index.php?title=Command-Line_Reference&diff=44102Command-Line Reference2014-06-30T21:07:59Z<p>Chief1983: /* -ati_swap */ improve link title</p>
<hr />
<div>Command-Line Flags (also called Command-Line Parameters) are optional flags passed to the FSO executable, and generally enables one or more features added to the FS2 Open engine. These flags are accessed conveniently through an [[FSO Launcher]]. To have FSO list all available flags, use any one of the following: [[Command-Line_Reference#-help|-help]], [[Command-Line_Reference#-help|--help]], [[Command-Line_Reference#-help|-h]], or [[Command-Line_Reference#-help|-?]].<br />
<br />
<!--May need version info for the various flags, such as 3.6.13, etc. --><br />
<br />
===Graphics===<br />
====-spec====<br />
'''"Enable Specular"'''<br />
<br />
Only polygons mapped with textures for which a shinemap exists will receive specular mapping; no attempt is made to generate spec maps where they do not exist. Specular maps are specified with the base map name plus "-shine" (i.e. TCov3A-shine.pcx).<br />
{{Table3615|<br />
*This feature is on by default, use launcher option Disable Specular or if necessary to manually disable enter the flag -nospec}}<br />
<br />
====-env====<br />
'''"Enable Environment maps"'''<br />
<br />
It only works if [[Command-Line_Reference#-spec|-spec]] is also set. Environment mapping intensity will be determined from the shine map too (see [[Texturing]] for more info). [[Installing FreeSpace 2 Open#Video setup|See Video setup.]]<br />
{{Table3615|<br />
*This feature is on by default, use launcher option Disable Environment Maps or if necessary to manually disable enter the flag -noenv }}<br />
<br />
====-glow====<br />
'''"Enable Glowmaps"'''<br />
<br />
Only polygons mapped with textures for which a glowmap exists will be glowmapped. Glow maps are specified with the base map name plus "-glow" (i.e. TCov4A-glow.pcx)<br />
{{Table3615|<br />
*This feature is on by default, use launcher option Disable Glow Maps or if necessary to manually disable enter the flag -noglow }}<br />
<br />
====-nomotiondebris====<br />
'''"Disable motion debris"'''<br />
<br />
====-noscalevid====<br />
"Disable scale-to-window for Movies"<br />
<br />
Disables fullscreen scaling of video clips.<br />
<br />
====-missile_lighting====<br />
'''"Apply Lighting to Missiles"'''<br />
<br />
====-normal====<br />
'''"Enable Normal Maps"'''<br />
<br />
Normal maps require GLSL rendering, (see [[OpenGL_Shaders_(GLSL)|OpenGL Shaders (GLSL)]] for further info). It needs auxiliary normal maps (the same name of the base map plus "-normal"). DXT5_NM DDS format is needed. (Technical note: DXT5 will work, since only the GREEN and ALPHA channels are read by the current shader system. One direction of lines goes into the GREEN channel, the other direction goes into the ALPHA channel. RED and BLUE can be either base gray (#808080) or black. Usual practice is after creating the DXT5_NM, copy the RED channel to the ALPHA channel, black out the RED and BLUE an then save as either a DXT5 or u8888 (uncompressed) DDS file.)<br />
{{Table3615|<br />
*This feature is on by default, use launcher option Disable Normal Maps or if necessary to manually disable enter the flag -nonormal }}<br />
<br />
====-height====<br />
Enables height maps (parallax mapping). It only works if [[Command-Line_Reference#-normal|-normal]] is also set. It also needs GLSL rendering, (see [[OpenGL_Shaders_(GLSL)|OpenGL Shaders (GLSL)]] for further info). It needs auxiliary height maps (with the same name than base map plus "-height").<br />
{{Table3615|<br />
*This feature is on by default. To manually disable, enter the flag -noheight}}<br />
<br />
====-post_process====<br />
'''"Enable Post Processing"'''<br />
<br />
enables the use (if present) of post-processing effects as defined by the post_process.tbl. Bloom usage has an additional cmdline option for setting it's value, most post processing effects are achieved in mission per the mission designer or can be enabled globally in the table.<br />
<br />
====-soft_particles====<br />
'''"Enable soft particles"'''<br />
<br />
====-3dshockwave====<br />
'''"Enable 3D Shockwaves"'''<br />
<br />
This only has any effect when both a 2d and 3d shockwave effect are present, otherwise the only available effect is used (2d shockwave is defined by effects/shockwave01.eff or .ani, and 3d shockwave by models/shockwave.pof)<br />
<br />
Note that 3d shockwaves are usually flat discs, that FSO scales up. The animated 2d billboards used by 2d shockwaves with the addition of [[Command-Line Reference#-soft_particles|soft particles]], may look better when intersecting with models (which shockwaves often do). Use at your discretion.<br />
<br />
====-fxaa====<br />
'''"Enable FXAA antialiasing"'''<br />
<br />
Enables the FXAA postprocessing stage. Further information can be found here: http://www.hard-light.net/forums/index.php?topic=76145.0<br />
<br />
====-nolightshafts====<br />
'''"Disable lightshafts"'''<br />
<br />
Disables Lightshafts even if a mission designer enables them via SEXP in a mission. This was previously documented as -flightshaftsoff but appears to have been changed to -nolightshafts for consistency before -flightshaftsoff was ever used in a released build.<br />
<br />
===Game Speed===<br />
====-img2dds====<br />
'''"Compress non-compressed images"'''<br />
<br />
Converts all images to DDS (compressed) format. Decreases memory usage but potentially reduces image quality.<br />
<br />
====-no_vsync====<br />
'''"Disable vertical sync"'''<br />
<br />
====-no_fps_capping====<br />
'''"Don't limit frames-per-second"'''<br />
<br />
====-cache_bitmaps====<br />
'''"Cache bitmaps between missions"'''<br />
<br />
Will ideally reduce the load-time from one mission to another.<br />
<br />
===HUD===<br />
====-dualscanlines====<br />
'''"Another Pair of Scanning Lines"'''<br />
<br />
Adds a second pair of scanning lines to the target window when scanning an object.<br />
<br />
====-targetinfo====<br />
'''"Enable Info next to Target"'''<br />
<br />
Displays target info, such as name and class, beside the targeted object.<br />
<br />
====-orbradar====<br />
'''"Enables 3D radar"'''<br />
<br />
An Orb style 3D radar will replace the standard 2D version.<br />
<br />
====-rearm_timer====<br />
'''"Enable Rearm/Repair Completion Timer"'''<br />
<br />
Displays time remaining until rearm and repair from a support ship is complete.<br />
<br />
====-ballistic_gauge====<br />
'''"Enable the analog Ballistic Ammo gauge"'''<br />
<br />
Adds an ammo gauge to the HUD when armed with a ballistic weapon.<br />
<br />
<br />
===Gameplay===<br />
====-ship_choice_3d====<br />
'''"Use Models for Ship Selection"'''<br />
<br />
Uses ship models in ship selection window. It completely disables the standard ANI interface in this screen. <br><br />
Some mods need a compulsory use of this flag because they don't have available animations for their ships. In this situation, and if it is not used, the game will probably crash to desktop in the ship selection window.<br />
<br />
====-weapon_choice_3d====<br />
'''"Use Models for Weapon Selection"'''<br />
<br />
Uses weapon models in weapon loadout window for secondary weapons (missiles and bombs). It completely disables the standard ANI interface in this screen. <br><br />
Some mods need a compulsory use of this flag because they don't have available animations for their secondary weapons. In this situation, and if it is not used, the game will probably crash to desktop in the weapon loadout window.<br />
<br />
====-3dwarp====<br />
'''"Enable 3D Warp"'''<br />
<br />
Use full geometry for the subspace warp effect.<br />
<br />
====-warp_flash====<br />
'''"Enable Flash upon Warp"'''<br />
<br />
Enable a flash at warp in and warp out.<br />
<br />
====-no_ap_interrupt====<br />
'''"Disable Interrupting of AutoPilot"'''<br />
<br />
Tells the game to not allow players to interrupt an autopilot already-in-progress.<br />
<br />
====-stretch_menu====<br />
'''"Stretch interface to fill screen"'''<br />
<br />
Scales the interface to fill the screen without preserving the aspect ratio. Omit this to keep the aspect ratio, adding black bars where appropriate.<br />
<br />
<br />
===Audio===<br />
====-snd_preload====<br />
'''"Preload mission game sounds"'''<br />
<br />
Useful in preventing game stuttering when sounds are played for the first time.<br />
<br />
====-nosound====<br />
'''"Disable Sound and Music"'''<br />
<br />
====-nomusic====<br />
'''"Disables Music"'''<br />
<br />
===Multiplayer===<br />
====-standalone====<br />
'''"Run as Stand Alone Server"'''<br />
<br />
Creates a standalone multi-player server.<br />
<br />
====-startgame====<br />
'''"Skip Mainhall and Start Hosting"'''<br />
<br />
Once you launch and choose a pilot within the game, you will immediately have begun to host a game. This can be used in conjunction with several options to customize the game you create: -closed, -restricted, -password, -gamename, -allowabove, and -allowbelow. -startgame has no effect when -standalone is used.<br />
<br />
See related: [[Command-Line_Reference#-closed|-closed]] [[Command-Line_Reference#-restricted|-restricted]] [[Command-Line_Reference#-password|-password]] [[Command-Line_Reference#-gamename|-gamename]] [[Command-Line_Reference#-allowabove|-allowabove]] [[Command-Line_Reference#-allowbelow|-allowbelow]]<br />
<br />
====-closed====<br />
'''"Start Hosted Server as Closed"'''<br />
<br />
Hosts a new game in a closed state, where no one can join until the in-game "Close" button is cleared. This only works when used in conjunction with -startgame. Cannot be used in conjunction with -restricted or -password.<br />
<br />
See related: [[Command-Line_Reference#-startgame|-startgame]] [[Command-Line_Reference#-restricted|-restricted]] [[Command-Line_Reference#-password|-password]]<br />
<br />
====-restricted====<br />
'''"Host Confirms Join requests"'''<br />
<br />
Hosts a new game in a restricted state. The host is presented with option to accept or deny each client's request to join the game. This only works when used in conjunction with -startgame. Cannot be used in conjunction with -closed or -password.<br />
<br />
See related: [[Command-Line_Reference#-startgame|-startgame]] [[Command-Line_Reference#-closed|-closed]] [[Command-Line_Reference#-password|-password]]<br />
<br />
====-multilog====<br />
Creates a log file with a summary of packets sent and received in multiplayer games. The file is saved as \data\multi.log within the active mod folder&mdash;or with main data folder if no mod is active.<br />
<br />
====-clientdamage====<br />
{{Note| This feature is not available in current builds.}}<br />
<br />
====-mpnoreturn====<br />
'''"Disables Flight Deck option"'''<br />
<br />
Disables return to the flight deck screen after a mission completes.<br />
<br />
<br />
===Troubleshooting===<br />
====-nohtl====<br />
'''"Software Mode (very slow)"'''<br />
{{Warning| Enabling this will significantly reduce performance.}}<br />
Reverts to software rendering mode.<br />
<br />
====-no_set_gamma====<br />
'''"Disable Setting of Gamma"'''<br />
<br />
Disables the gamma settings in the options screen.<br />
<br />
====-nomovies====<br />
'''"Disable Video Playback"'''<br />
<br />
Disables all video playback.<br />
<br />
====-noparseerrors====<br />
'''"Disable Parsing Errors"'''<br />
<br />
Disables some parsing warnings and makes other parse errors non-fatal. Do not rely on this when creating new tables. The errors are there for a reason.<br />
<br />
====-parse_cmdline_only====<br />
'''"Parse Command Line Only"'''<br />
<br />
Parse only the application command line settings, and ignore any that may have been set in the on-disk data/cmdline_fso.cfg or per-user cmdline_fso.cfg (on Linux/Mac)<br />
<br />
====-safeloading====<br />
Loads missions the old way. Typically safer, but slower.<br />
{{Note| This parameter was removed as of the July 5, 2011 nightly build.}}<br />
<br />
====-query_speech====<br />
'''"Does this build have Speech?"'''<br />
<br />
Determines if the current build includes text-to-speech.<br />
<br />
====-novbo====<br />
'''"Disable OpenGL VBO"'''<br />
<br />
====-noibx====<br />
'''"Don't use cached index buffers (IBX)"'''<br />
<br />
Disables IBX caching of model geometry data. This will dramatically increase load times, but will help troubleshoot a model if one is working incorrectly.<br />
<br />
====-loadallweps====<br />
'''"Load all weapons, even those not used"'''<br />
<br />
====-disable_fbo====<br />
'''"Disable OpenGL RenderTargets"'''<br />
<br />
====-disable_pbo====<br />
'''"Disable OpenGL Pixel Buffer Objects"'''<br />
<br />
Disables the use of Pixel Buffer Objects (PBO) which may cause certain OpenGL operations to perform slower. Note PBO's were only used at three places in FSO anyway so it's *probably* not going to have a noticeable effect. <br />
<br />
May be required to workaround issues in certain versions of Linux's Mesa drivers for Intel integrated graphics cards where crashes occur in the mainhall (i.e. whenever a popup occurs). Distros that seem to have this problem presently include Ubuntu 13.10 and openSUSE 13.1.<br />
{{Table371|<br />
*This feature is present to work around a bug in Linux's Mesa drivers for Intel integrated graphics cards}}<br />
<br />
====-no_glsl====<br />
'''"Disable GLSL (shader) Support"'''<br />
<br />
Disables the use of GLSL rendering (OpenGL shaders). The game will revert to legacy fixed render pipeline. Please note that Normal and Height map effects will be unavailable.<br />
<br />
====-disable_glsl_model====<br />
'''"Don't use shaders for model rendering"'''<br />
<br />
====-ati_swap====<br />
'''"Fix Color issues on some ATI cards"'''<br />
<br />
[http://scp.indiegames.us/mantis/view.php?id=1669 Mantis #1669] is what led to this flag's creation.<br />
<br />
====-no_3d_sound====<br />
'''"Use only 2D/stereo for sound effects"'''<br />
<br />
====-disable_di_mouse====<br />
'''"Disables the DirectInput mouse code for FSO on windows."'''<br />
<br />
'''Windows Only''' Can make mouse movement smoother on certain machines.<br />
<br />
====-mipmap====<br />
'''"Enable mipmapping"'''<br />
<br />
Causes for non-mipmapped textures to have mipmaps generated within the GPU on certain kind of texture formats, (IIRC, DDS formatted textures with a power of 2 size in both width and height). <br><br />
Since the use of already mipmapped DDS textures has become common, it has become deprecated.<br />
The quality of the generated mipmaps depends on each GPU and used driver. It is normally used with [[Command-Line_Reference#-img2dds|-img2dds]] flag.<br />
<br />
====-use_gldrawelements====<br />
'''"Use glDrawElements instead of glDrawRangeElements"'''<br />
<br />
Introduced as a means of switching to the slower OpenGL call glDrawElements, instead of glDrawRangeElements.<br />
{{Table3614|<br />
*This feature may resolve certain rendering problems where parts of models are not drawn on Linux drivers}}<br />
<br />
====-keyboard_layout====<br />
'''"Manually sets a keyboard layout"'''<br />
<br />
A commandline parameter to set the keyboard layout as a string parameter.<br />
{{Table3614|<br />
*Currently the only valid string is "qwertz" (German) but French azerty may be added in future.}}<br />
<br />
====-old_collision====<br />
'''"Use old collision detection system"'''<br />
<br />
Uses the old collision code instead of Swifty's new collision code introduced in the 'go_even_faster' project.<br />
<br />
===Experimental===<br />
====-ingame_join====<br />
'''"Allows Ingame Joining"'''<br />
<br />
Enables ingame joining in multiplayer. FIXME: Host option?<br />
<br />
====-voicer====<br />
'''"Voice Recognition"'''<br />
<br />
Windows-only. Enables voice-recognition for wingmen commands. Must be specifically compiled into a build in order for it to be available; 3.6.10 final includes the feature. See [[Voice Recognition]] for more details.<br />
<br />
====-fb_explosions====<br />
'''"Enable Framebuffer Shockwaves"'''<br />
<br />
===Development Tools===<br />
====-fps====<br />
'''"Show frames per second on HUD"'''<br />
<br />
Displays current frames per second.<br />
<br />
====-pos====<br />
'''"Show Position of Camera"'''<br />
<br />
Displays current position coordinates of camera.<br />
<br />
====-window====<br />
'''"Run in Window"'''<br />
<br />
Runs the game in a window. No check to make sure that resolution is no higher than your desktop resolution, so be careful.<br />
<br />
====-fullscreen_window====<br />
'''"Run in Fullscreen Window"'''<br />
{{Note| This feature is only available on Windows.}}<br />
<br />
====-timerbar====<br />
Displays a timing bar across the top of the screen. Timerbar format varies by build. This is a relic from the Volition development days, and is unmaintained.<br />
{{Note| This parameter was removed as of the July 5, 2011 nightly build.}}<br />
<br />
====-stats====<br />
'''"Show Statistics"'''<br />
<br />
Shows total and free physical memory, virtual memory and system pagefile.<br />
<br />
====-coords====<br />
'''"Show Coordinates"'''<br />
<br />
Shows coordinates of the mouse cursor.<br />
<br />
====-show_mem_usage====<br />
'''"Show Memory Usage"'''<br />
<br />
Shows detailed RAM usage based on file, handler and process usage and display on the left-center side of the screen during mission load and while in mission.<br />
<br />
The meaning of the info displayed in the upper right corner of the HUD is:<br />
<br />
'''DYN''' = dynamic memory, basically anything that's been allocated by the vm_* memory functions. This does NOT indicate total memory usage but does account for most of it.<br />
<br />
'''POF''' = model memory, how much memory is being used by models (does not include textures)<br />
<br />
'''C-BMP, BMP''' = bmpman memory, how much is used by the textures/images that are loaded. C-BMP means that you are using -cache_bitmaps and it will try to keep textures in memory between level loads and as the new level is loading it will keep what it needs and unload what it doesn't. Can greatly increase level loading speed, but does so at the cost of memory between level loads. This does not increase overall memory usage though, only during the loading screen. BMP means that it is not cached and all textures are unloaded from memory at the start of level load and all needed textures are then loaded from the disk again.<br />
<br />
'''S-RAM''' = sound memory, how much is used by the sounds loaded in memory at the time. This counts static sounds only (from sounds.tbl, etc.) and not streaming sounds (music, voices, briefing stuff, etc).<br />
<br />
'''V-RAM''' = approximate memory usage of video textures. This does not mean that your card has this much memory, and can report higher numbers that your card actually has memory. For OpenGL it also includes some of the geometry data, but this number does not reflect the total memory that your video card is using. It only reports how much data the game has purposefully loaded into API memory (meaning it could be in system memory, video card memory, or AGP memory).<br />
<br />
<br />
''(It only works with debug builds, not with release builds).''<br />
<br />
====-pofspew====<br />
Reads all objects in the pof file of the selected mod, and creates an ibx cache file for each object in the data/cache folder for that mod. <br><br />
Details for each object are output to a pofspew.txt file created in the data folder. <br><br />
Otherwise, ibx files are created in game before each mission.<br />
<br />
====-tablecrcs====<br />
Is actually now (or should be) a typed reference rather than as a selection item. Takes 1 argument, usually a descriptive name.<br />
Example usage: "-table_crcs MediaVPs" will create a table_crcs.csv file in the running mod (name can be separate of the mod selected) that allows for the validation of the tables used by that mod while on-line. The descriptive parameter given helps "allocate" that .csv file to the mod in question, and as such should closely or exactly match that mods name if possible.<br />
<br />
====-missioncrcs====<br />
Is actually now (or should be) a typed reference rather than as a selection item. Takes 1 argument, usually a descriptive name.<br />
Example usage: "-mission_crcs MediaVPs" will create a mission_crcs.csv file in the running mod (name can be separate of the mod selected) that allows for the validation of the missions used by that mod while on-line. The descriptive parameter given helps "allocate" that .csv file to the mod in question, and as such should closely or exactly match that mods name if possible.<br />
<br />
====-dis_collisions====<br />
'''"Disable Collisions"'''<br />
<br />
Disables all collisions.<br />
<br />
====-dis_weapons====<br />
'''"Disable Weapon Rendering"'''<br />
<br />
Disables weapons rendering.<br />
<br />
====-output_sexps====<br />
This will make the FSO build spit out an html file that documents the supported SEXP's.<br />
<br />
Just double click on sexps.html and it should open in your default web browser.<br />
<br />
====-output_scripting====<br />
This will make the FSO build spit out an html file that documents the supported scripting hooks and LUA libraries.<br />
<br />
Just double click on scripting.html and it should open in your default web browser.<br />
<br />
====-nograb====<br />
Disables focus grabbing in a window.<br />
{{Note| This feature is not available on Windows.}}<br />
<br />
====-save_render_target====<br />
'''"Save Render Targets to file"'''<br />
<br />
====-debug_window====<br />
'''"Display Debug Window"'''<br />
<br />
Lists the fs2_open.log in (nearly)real-time generation.<br />
<br />
====-verify_vps====<br />
'''"Spew VP crcs to vp_crcs.txt"'''<br />
<br />
Exports the CRC values of the VP files being loaded into a vp_crcs.txt file.<br />
<br />
====-reparse_mainhall====<br />
'''"Reparse mainhall.tbl when loading halls"'''<br />
<br />
Mainhall.tbl will be reparsed every time a mainhall is loaded, as opposed to just once at game startup.<br />
<br />
====-profile_frame_time====<br />
'''"Profile engine subsystems"'''<br />
<br />
Activates the frame profiling code. This presents a readout showing the current, minimum, maximum and average percentages of frametime a given section of code has taken up; this can be used to identify particular bottlenecks or measure the effectiveness of certain optimizations.<br />
<br />
====-profile_write_file====<br />
'''"Write profiling information to file"'''<br />
<br />
This will write the frame times of each gameplay frame to the file 'profiling.csv' where each line is ''<framenumber>;<frametime>''. The first two frames are usually very long because the timer is set at engine startup so you might want to exclude those from your data.<br />
<br />
====-no_unfocused_pause====<br />
'''"Don't pause if the window isn't focused"'''<br />
<br />
When the FSO window looses focus it will not pause the game, useful for doing non-interactive test runs.<br />
<br />
==Other==<br />
The following options are not available as checkboxes in the launcher. Many require parameters, which follow the flag separated by a space. The prototype for use in this case is "-option argument"<br />
<br />
===Lighting===<br />
These factors can dramatically alter the atmosphere of the game. [[Sample Lighting Settings|This page]] has some sample lighting settings with screenshots.<br />
<br />
====-ambient_factor====<br />
This must be entered into the "Custom flags" field. This is a multiplier applied to the intensity of ambient lighting. Ambient light is lighting applied to all parts of a ship. FS2's standard value is 120. Try 75 for a good and realistic looking value. However, that is relative.<br />
<br />
====-no_emissive_light====<br />
By default, all ships in FS2 have a light generated on their own, it is more or less similar to a minimal amount of -ambient_factor. This feature was implemented to help the player seeing the ships over a black background. This flag disables this feature. Use it with a low -ambient_factor value to obtain an ultra-realistic dark looking.<br />
<br />
====-spec_exp====<br />
This must be used with the -spec command line parameter and must be entered into the "Custom flags" field. Adjusts the size of the shiny spot on ships. Higher number mean smaller spots. Default is 16. However, 11 is recommended. This is a relative value.<br />
<br />
====-spec_point====<br />
This must be used with the -spec command line parameter and must be entered into the<br />
"Custom flags" field. Adjusts how much laser weapons contribute to specular highlights. Higher number mean greater contributions. Default is 1.0. However, 0.6 is recommended. This is a relative value.<br />
<br />
====-spec_static====<br />
This must be used with the -spec command line parameter and must be entered into the "Custom flags" field. Adjusts how much suns contribute to specular highlights. Higher numbers mean a greater contribution. Default is 1.0. However, is 0.8 recommended. This is a relative value.<br />
<br />
====-spec_tube====<br />
This must be used with the -spec command line parameter and must be entered into the "Custom flags" field. Adjusts how much Beam Weapons contribute to specular highlights. Higher numbers mean a greater contribution. Default is 1.0. However, 0.4 is recommended. This is a relative value.<br />
<br />
====-ogl_spec====<br />
Takes a numerical argument. This value changes the basic shininess of the specular light in OpenGL. A lower value reduces the overall intensity of the light making it broader and less powerful. A higher value makes it more focused and brighter. The default value is 80, and the usable range is 0 to 128 (clamped). The original default value was 60, but it was raised to behave more D3D like.<br />
<br />
<br />
===Graphics===<br />
====-bloom_intensity====<br />
Requires -post_processing ("Enable Post Processing") command.<br />
Default value is 75. Range is 0-200.<br />
<br />
====-clipdist====<br />
Changes the distance from the viewpoint for the near-clipping plane.<br />
<br />
Takes one argument decimal specifying the distance to the near-clipping plane.<br />
<br />
====-res====<br />
Allows you to specify a resolution if the desired one cannot be set in the Launcher. <br />
For example, -res 1920x1080 would run the game in 1920 x 1080 resolution. Since it requires an argument, it needs to be entered as a custom flag when using the Launcher. The "Run at specified resolution" option the Launcher gives is essentially this, but without being able to actually specify a resolution, it doesn't work.<br />
<br />
====-fxaa_preset====<br />
Requires both -post_processing and -fxaa. Can be used to adjust the FXAA quality and speed, 0 is fastest, 9 is highest quality. Default setting is 6.<br />
<br />
===Gameplay===<br />
====-start_mission====<br />
'''"Skip the mainhall in jump right into the specified mission"'''<br />
<br />
Jump into the mission specified by the filename. Only in effect on the first run. This will skip load of the mainhall and its other related things altogether.<br />
<br />
====-mod====<br />
Specifies in which folders inside FreeSpace 2 directory, the game looks for all the game data (models, missions, textures, tables, ...). Retail version only looks inside ''Freespace2/data/'' structure and ''Freespace2/vp archives''.<br />
<br />
This flag allows installing several different mods that modify retail behavior, and switching between them without needing to erase files or having undesired cross effects. Each mod should be installed in its own folder.<br />
<br />
It takes one argument string: the chain of names of the used directories. Comma (''',''') must be used as separator. In this way, '''-mod dir1,dir2,dir3,...,dirx''' causes the game to use the following directory precedence:<br />
<br />
#Freespace2/dir1/<br />
#Freespace2/dir2/<br />
#Freespace2/dir3/<br />
# ... (the rest of the typed directories) ...<br />
#Freespace2/dirx/<br />
#Freespace2/<br />
<br />
This flag can be indirectly set, (and it is normally set), through Launcher MOD tab and [[mod.ini]] file.<br />
<br />
Within the Launcher's MOD tab you can select one directory, (let's call it ''moddir''), so the flag is at least set to '''-mod moddir'''.<br />
If ''Freespace2/moddir/[[mod.ini]]'' exists it will be used to modify the -mod flag, too.<br />
<br />
For further details, see '''[[mod.ini]]'''<br />
<br />
'''Data precedence'''<br />
<br />
As already said, within the different directories, the data precedence is set by the specified order in the -mod flag. The lowest priority goes to the Freespace2 installation directory.<br />
<br />
Inside each directory, data precedence is the following:<br />
<br />
#Individual files located in ''Current_dir/data/'' subdir structure. See [[FS2_Data_Structure|FS2 Data Structure topic]] for deeper info about the different folders and contents this structure has.<br />
#Files located inside vp archives. (These vp archives are "similar" to zip archives. They just contain other files and folders. Moreover, files have to be stored using the same ''data/'' structure used outside it). <br>Vp archives are read in alphabetical order, so aaa.vp files have higher priority than aab.vp files and so on.<br />
<br />
The highest priority file overrides the rest of them. In this way, if you have a ''Mission.fs2'' inside ''Freespace2/Pri1/data/missions/'' it doesn't matter that this ''Mission.fs2'' is also inside ''Freespace2/Pri1/aaa.vp'', ''Freespace2/Pri1/aab.vp'', ... or ''Freespace2/data/missions/''. This data precedence allows the user to quickly replace old files by corrected or enhanced ones adding them in a higher priority place.<br />
<br />
<br />
'''Additional notes'''<br />
# As derived from the explanation, the exact names for directories or vp archives are actually irrelevant. It only matters the directory order inside -mod flag argument and the alphabetical order for vp archives inside each used directory.<br />
# This flag is also used by [[Portal:FRED|FRED]]. So if there is special mod info, (like backgrounds maps, ship models or whatever), it must be typed, (''Fred2_Open_r.exe -MOD whatever''), or FRED won't be able to use it. A special build of wxLauncher is able to configure FRED so that the -mod doesn't have to be done manually see [http://www.hard-light.net/forums/index.php?topic=67950.msg1387911#msg1387911 the forum post] for more details.<br />
{{Table3612|As of 3.6.12 FRED now loads cmdline_fso.cfg just like FS does so FRED will use the same settings as FS including the -mod settings}}<br />
# Be careful while typing the directory names in the flag argument or inside mod.ini files. The program doesn't check if the typed directories exist. If they do not exist, they are just ignored. No warnings, no errors, no messages at all.<br />
<br />
{{Warning| '''Priority and Texture Formats'''<br />
<br />
''Obsolete behavior - Until FS2_open v3.6.9.:''<br />
<br />
FS2_Open can use several file formats in textures: [http://en.wikipedia.org/wiki/PCX PCX], [http://en.wikipedia.org/wiki/DirectDraw_Surface DDS], [http://en.wikipedia.org/wiki/JPG JPG] and [http://en.wikipedia.org/wiki/TGA TGA]. Make sure you keep the format when you update your texture. For example if you update the old ''TextureOfMyFighter.tga'', do not save it as ''TextureOfMyFighter.dds'' in a higher priority place, because there is a chance of the game loading the old one despite of all.<br />
<br />
The reason to do this is that, loading process (including priorities) is applied firstly for a kind of textures (TGAs), then for another kind (JPGs), and so on. This behavior can lead to situation where your new, updated and higher priority placed texture is not read because the format of the older one.<br />
<br />
<br />
''New behavior - From FS2_open v3.6.10. (including previous beta testing releases):''<br />
<br />
The former issue has been fixed. Now texture format priority is only applied within the same location. In this ''strange'' situation it goes DDS -> TGA -> JPG -> PCX. Examples:<br />
* ''/Freespace2/MyVp.vp>>>data/maps/MyTexture.dds'' is loaded instead of ''/Freespace2/MyVp.vp>>>data/maps/MyTexture.tga''.<br />
* But your improved ''/Freespace2/data/maps/MyTexture.xxx'' will override them both despite of its format.<br />
In this way, when you update any texture, you don't have to pay attention to its original format. Just place it in a higher priority place.<br />
<br />
Nevertheless, global priority is kept between animated and static textures. Because of their management, animated textures (ANIs and EFFs) are looked for BEFORE static ones. In this way there's no way to update an animated texture with a static one (an obsolete ANI is always going to be loaded before the newer DDS version). The solution: use an updated EFF with just one frame.<br />
<br />
}}<br />
<br />
====-fov====<br />
This flag allows the player to specify the ''vertical'' Field of View (FoV) angle, in radians, for the player eyepoint. The angle is measured across the full height of the viewing cone. The FoV angle is technically known as the Angle of View (AoV)<br />
<br />
*Syntax: '''''float''''' Angle<br />
*Valid Values: 0 to 2*Pi radians<br />
*Default Value: 0.75 radians<br />
<br />
{{Note|For peculiar reasons, the actual FoV/AoV used by the game will be the supplied value multiplied by 1.39626348.}}<br />
<br />
<br />
The the FoV angle/AoV is what determines the relative zoom level of the main game camera. Smaller angles generally equal to higher zoom levels, while larger angles equal to lower zoom levels (down to the theoretical x0 magnification).<br />
<br />
<br />
However, too small of an angle will have a squashed look on the edges of your screen, and too high of an angle will greatly stretch edges. It is recommended to change the AoV, as FS2's default AoV has some perspective distortion at the screen edges (the default AoV is too high).<br />
<br />
<br />
A natural looking (as if you where physically in the cockpit) AoV depends on the distance the player's actual eyes are away from the screen: the further away from the screen, the smaller the AoV should be, and vice versa. "Ergonomic" distances generally yield a '''''diagonal''''' AoV of 0.523 radians (30 degrees), but you can easily find the natural AoV by the following formula:<br />
<br />
<br />
AoV (radians) = 2 * atan( H / ( 2*D ))<br />
<br />
where:<br />
<br />
Height of screen = H<br />
<br />
Distance between head/eye and the screen = D<br />
<br />
<br />
Generally, gamers like to increase the AoV in order to increase their peripheral vision on the screen, so as to gain a better situational awareness around their craft. An AoV of 0.39 radians seems to be a good start, but feel free to experiment and use whatever AoV you are most comfortable with.<br />
<br />
===Multiplayer===<br />
====-gamename====<br />
Specifies the name of the game to be created by the host. This only works when used in conjunction with -startgame. <br />
<br />
Takes one argument string, the name to be assigned to the game being created.<br />
<br />
This argument does nothing when used with -standalone. To set the name for a standalone server, see [[Multiplayer(Main)#Standalone Servers|Standalone Servers]].<br />
<br />
See related:&nbsp;&nbsp; [[Command-Line_Reference#-startgame|-startgame]]&nbsp;&nbsp; [[Multiplayer(Main)#Standalone Servers|Standalone Servers]]<br />
<br />
====-password====<br />
Specifies the password for a standalone server. This only works when used in conjunction with -startgame. Cannot be used in conjunction with -closed or -restricted.<br />
<br />
Takes one argument string, the required password for the game being created.<br />
<br />
See related: [[Command-Line_Reference#-startgame|-startgame]] [[Command-Line_Reference#-closed|-closed]] [[Command-Line_Reference#-restricted|-restricted]]<br />
<br />
====-allowabove====<br />
Specifies a player's minimum rank for joining a game. This only works when used in conjunction with -startgame.<br />
<br />
Takes one argument integer, the points ranking above which a player must be to enter the game.<br />
<br />
See related: [[Command-Line_Reference#-startgame|-startgame]]<br />
<br />
====-allowbelow====<br />
Specifies a player's maximum rank for joining a game on a standalone server. This only works when used in conjunction with -startgame.<br />
<br />
Takes one argument integer, the points ranking below which a player must be to enter the game.<br />
<br />
See related: [[Command-Line_Reference#-startgame|-startgame]]<br />
<br />
====-port====<br />
Specifies the port on which to host a game or serve a standalone game.<br />
<br />
Takes one argument integer, the port on which the host will listen for clients.<br />
<br />
====-connect====<br />
Automatically connect to multiplayer IP:PORT.<br />
<br />
Takes one string value, such as 192.168.0.1:<br />
<br />
====-timeout====<br />
Multiplayer network timeout (secs).<br />
<br />
Takes one integer argument, the timeout value in seconds. Default is 30.<br />
<br />
====-cap_object_update====<br />
Caps the maximum object update the server will respond to regardless of what the client has set. If the client is set to request high object updates but the server is capped to low, then that's all the client will get. <br />
<br />
Takes one argument integer (0 to 3) which corresponds to the object update cap (With 0 being low and 3 being LAN).<br />
<br />
===Help===<br />
====-help====<br />
Instructs FSO to print out all supported parameters. Some launchers can use these options to automatically populate the available command line options, even if the version of FSO is far newer than the launcher itself. NOTE: This option only works in Linux builds...<br />
<br />
====--help====<br />
See [[Command-Line_Reference#-help|-help]]<br />
<br />
====-h====<br />
See [[Command-Line_Reference#-help|-help]]<br />
<br />
====-?====<br />
See [[Command-Line_Reference#-help|-help]]<br />
<br />
[[Category:Lists]]<br />
[[Category:Source Code Project]]</div>Chief1983https://wiki.hard-light.net/index.php?title=Command-Line_Reference&diff=44101Command-Line Reference2014-06-30T21:07:25Z<p>Chief1983: /* Troubleshooting */ Add more clarification to -ati_swap</p>
<hr />
<div>Command-Line Flags (also called Command-Line Parameters) are optional flags passed to the FSO executable, and generally enables one or more features added to the FS2 Open engine. These flags are accessed conveniently through an [[FSO Launcher]]. To have FSO list all available flags, use any one of the following: [[Command-Line_Reference#-help|-help]], [[Command-Line_Reference#-help|--help]], [[Command-Line_Reference#-help|-h]], or [[Command-Line_Reference#-help|-?]].<br />
<br />
<!--May need version info for the various flags, such as 3.6.13, etc. --><br />
<br />
===Graphics===<br />
====-spec====<br />
'''"Enable Specular"'''<br />
<br />
Only polygons mapped with textures for which a shinemap exists will receive specular mapping; no attempt is made to generate spec maps where they do not exist. Specular maps are specified with the base map name plus "-shine" (i.e. TCov3A-shine.pcx).<br />
{{Table3615|<br />
*This feature is on by default, use launcher option Disable Specular or if necessary to manually disable enter the flag -nospec}}<br />
<br />
====-env====<br />
'''"Enable Environment maps"'''<br />
<br />
It only works if [[Command-Line_Reference#-spec|-spec]] is also set. Environment mapping intensity will be determined from the shine map too (see [[Texturing]] for more info). [[Installing FreeSpace 2 Open#Video setup|See Video setup.]]<br />
{{Table3615|<br />
*This feature is on by default, use launcher option Disable Environment Maps or if necessary to manually disable enter the flag -noenv }}<br />
<br />
====-glow====<br />
'''"Enable Glowmaps"'''<br />
<br />
Only polygons mapped with textures for which a glowmap exists will be glowmapped. Glow maps are specified with the base map name plus "-glow" (i.e. TCov4A-glow.pcx)<br />
{{Table3615|<br />
*This feature is on by default, use launcher option Disable Glow Maps or if necessary to manually disable enter the flag -noglow }}<br />
<br />
====-nomotiondebris====<br />
'''"Disable motion debris"'''<br />
<br />
====-noscalevid====<br />
"Disable scale-to-window for Movies"<br />
<br />
Disables fullscreen scaling of video clips.<br />
<br />
====-missile_lighting====<br />
'''"Apply Lighting to Missiles"'''<br />
<br />
====-normal====<br />
'''"Enable Normal Maps"'''<br />
<br />
Normal maps require GLSL rendering, (see [[OpenGL_Shaders_(GLSL)|OpenGL Shaders (GLSL)]] for further info). It needs auxiliary normal maps (the same name of the base map plus "-normal"). DXT5_NM DDS format is needed. (Technical note: DXT5 will work, since only the GREEN and ALPHA channels are read by the current shader system. One direction of lines goes into the GREEN channel, the other direction goes into the ALPHA channel. RED and BLUE can be either base gray (#808080) or black. Usual practice is after creating the DXT5_NM, copy the RED channel to the ALPHA channel, black out the RED and BLUE an then save as either a DXT5 or u8888 (uncompressed) DDS file.)<br />
{{Table3615|<br />
*This feature is on by default, use launcher option Disable Normal Maps or if necessary to manually disable enter the flag -nonormal }}<br />
<br />
====-height====<br />
Enables height maps (parallax mapping). It only works if [[Command-Line_Reference#-normal|-normal]] is also set. It also needs GLSL rendering, (see [[OpenGL_Shaders_(GLSL)|OpenGL Shaders (GLSL)]] for further info). It needs auxiliary height maps (with the same name than base map plus "-height").<br />
{{Table3615|<br />
*This feature is on by default. To manually disable, enter the flag -noheight}}<br />
<br />
====-post_process====<br />
'''"Enable Post Processing"'''<br />
<br />
enables the use (if present) of post-processing effects as defined by the post_process.tbl. Bloom usage has an additional cmdline option for setting it's value, most post processing effects are achieved in mission per the mission designer or can be enabled globally in the table.<br />
<br />
====-soft_particles====<br />
'''"Enable soft particles"'''<br />
<br />
====-3dshockwave====<br />
'''"Enable 3D Shockwaves"'''<br />
<br />
This only has any effect when both a 2d and 3d shockwave effect are present, otherwise the only available effect is used (2d shockwave is defined by effects/shockwave01.eff or .ani, and 3d shockwave by models/shockwave.pof)<br />
<br />
Note that 3d shockwaves are usually flat discs, that FSO scales up. The animated 2d billboards used by 2d shockwaves with the addition of [[Command-Line Reference#-soft_particles|soft particles]], may look better when intersecting with models (which shockwaves often do). Use at your discretion.<br />
<br />
====-fxaa====<br />
'''"Enable FXAA antialiasing"'''<br />
<br />
Enables the FXAA postprocessing stage. Further information can be found here: http://www.hard-light.net/forums/index.php?topic=76145.0<br />
<br />
====-nolightshafts====<br />
'''"Disable lightshafts"'''<br />
<br />
Disables Lightshafts even if a mission designer enables them via SEXP in a mission. This was previously documented as -flightshaftsoff but appears to have been changed to -nolightshafts for consistency before -flightshaftsoff was ever used in a released build.<br />
<br />
===Game Speed===<br />
====-img2dds====<br />
'''"Compress non-compressed images"'''<br />
<br />
Converts all images to DDS (compressed) format. Decreases memory usage but potentially reduces image quality.<br />
<br />
====-no_vsync====<br />
'''"Disable vertical sync"'''<br />
<br />
====-no_fps_capping====<br />
'''"Don't limit frames-per-second"'''<br />
<br />
====-cache_bitmaps====<br />
'''"Cache bitmaps between missions"'''<br />
<br />
Will ideally reduce the load-time from one mission to another.<br />
<br />
===HUD===<br />
====-dualscanlines====<br />
'''"Another Pair of Scanning Lines"'''<br />
<br />
Adds a second pair of scanning lines to the target window when scanning an object.<br />
<br />
====-targetinfo====<br />
'''"Enable Info next to Target"'''<br />
<br />
Displays target info, such as name and class, beside the targeted object.<br />
<br />
====-orbradar====<br />
'''"Enables 3D radar"'''<br />
<br />
An Orb style 3D radar will replace the standard 2D version.<br />
<br />
====-rearm_timer====<br />
'''"Enable Rearm/Repair Completion Timer"'''<br />
<br />
Displays time remaining until rearm and repair from a support ship is complete.<br />
<br />
====-ballistic_gauge====<br />
'''"Enable the analog Ballistic Ammo gauge"'''<br />
<br />
Adds an ammo gauge to the HUD when armed with a ballistic weapon.<br />
<br />
<br />
===Gameplay===<br />
====-ship_choice_3d====<br />
'''"Use Models for Ship Selection"'''<br />
<br />
Uses ship models in ship selection window. It completely disables the standard ANI interface in this screen. <br><br />
Some mods need a compulsory use of this flag because they don't have available animations for their ships. In this situation, and if it is not used, the game will probably crash to desktop in the ship selection window.<br />
<br />
====-weapon_choice_3d====<br />
'''"Use Models for Weapon Selection"'''<br />
<br />
Uses weapon models in weapon loadout window for secondary weapons (missiles and bombs). It completely disables the standard ANI interface in this screen. <br><br />
Some mods need a compulsory use of this flag because they don't have available animations for their secondary weapons. In this situation, and if it is not used, the game will probably crash to desktop in the weapon loadout window.<br />
<br />
====-3dwarp====<br />
'''"Enable 3D Warp"'''<br />
<br />
Use full geometry for the subspace warp effect.<br />
<br />
====-warp_flash====<br />
'''"Enable Flash upon Warp"'''<br />
<br />
Enable a flash at warp in and warp out.<br />
<br />
====-no_ap_interrupt====<br />
'''"Disable Interrupting of AutoPilot"'''<br />
<br />
Tells the game to not allow players to interrupt an autopilot already-in-progress.<br />
<br />
====-stretch_menu====<br />
'''"Stretch interface to fill screen"'''<br />
<br />
Scales the interface to fill the screen without preserving the aspect ratio. Omit this to keep the aspect ratio, adding black bars where appropriate.<br />
<br />
<br />
===Audio===<br />
====-snd_preload====<br />
'''"Preload mission game sounds"'''<br />
<br />
Useful in preventing game stuttering when sounds are played for the first time.<br />
<br />
====-nosound====<br />
'''"Disable Sound and Music"'''<br />
<br />
====-nomusic====<br />
'''"Disables Music"'''<br />
<br />
===Multiplayer===<br />
====-standalone====<br />
'''"Run as Stand Alone Server"'''<br />
<br />
Creates a standalone multi-player server.<br />
<br />
====-startgame====<br />
'''"Skip Mainhall and Start Hosting"'''<br />
<br />
Once you launch and choose a pilot within the game, you will immediately have begun to host a game. This can be used in conjunction with several options to customize the game you create: -closed, -restricted, -password, -gamename, -allowabove, and -allowbelow. -startgame has no effect when -standalone is used.<br />
<br />
See related: [[Command-Line_Reference#-closed|-closed]] [[Command-Line_Reference#-restricted|-restricted]] [[Command-Line_Reference#-password|-password]] [[Command-Line_Reference#-gamename|-gamename]] [[Command-Line_Reference#-allowabove|-allowabove]] [[Command-Line_Reference#-allowbelow|-allowbelow]]<br />
<br />
====-closed====<br />
'''"Start Hosted Server as Closed"'''<br />
<br />
Hosts a new game in a closed state, where no one can join until the in-game "Close" button is cleared. This only works when used in conjunction with -startgame. Cannot be used in conjunction with -restricted or -password.<br />
<br />
See related: [[Command-Line_Reference#-startgame|-startgame]] [[Command-Line_Reference#-restricted|-restricted]] [[Command-Line_Reference#-password|-password]]<br />
<br />
====-restricted====<br />
'''"Host Confirms Join requests"'''<br />
<br />
Hosts a new game in a restricted state. The host is presented with option to accept or deny each client's request to join the game. This only works when used in conjunction with -startgame. Cannot be used in conjunction with -closed or -password.<br />
<br />
See related: [[Command-Line_Reference#-startgame|-startgame]] [[Command-Line_Reference#-closed|-closed]] [[Command-Line_Reference#-password|-password]]<br />
<br />
====-multilog====<br />
Creates a log file with a summary of packets sent and received in multiplayer games. The file is saved as \data\multi.log within the active mod folder&mdash;or with main data folder if no mod is active.<br />
<br />
====-clientdamage====<br />
{{Note| This feature is not available in current builds.}}<br />
<br />
====-mpnoreturn====<br />
'''"Disables Flight Deck option"'''<br />
<br />
Disables return to the flight deck screen after a mission completes.<br />
<br />
<br />
===Troubleshooting===<br />
====-nohtl====<br />
'''"Software Mode (very slow)"'''<br />
{{Warning| Enabling this will significantly reduce performance.}}<br />
Reverts to software rendering mode.<br />
<br />
====-no_set_gamma====<br />
'''"Disable Setting of Gamma"'''<br />
<br />
Disables the gamma settings in the options screen.<br />
<br />
====-nomovies====<br />
'''"Disable Video Playback"'''<br />
<br />
Disables all video playback.<br />
<br />
====-noparseerrors====<br />
'''"Disable Parsing Errors"'''<br />
<br />
Disables some parsing warnings and makes other parse errors non-fatal. Do not rely on this when creating new tables. The errors are there for a reason.<br />
<br />
====-parse_cmdline_only====<br />
'''"Parse Command Line Only"'''<br />
<br />
Parse only the application command line settings, and ignore any that may have been set in the on-disk data/cmdline_fso.cfg or per-user cmdline_fso.cfg (on Linux/Mac)<br />
<br />
====-safeloading====<br />
Loads missions the old way. Typically safer, but slower.<br />
{{Note| This parameter was removed as of the July 5, 2011 nightly build.}}<br />
<br />
====-query_speech====<br />
'''"Does this build have Speech?"'''<br />
<br />
Determines if the current build includes text-to-speech.<br />
<br />
====-novbo====<br />
'''"Disable OpenGL VBO"'''<br />
<br />
====-noibx====<br />
'''"Don't use cached index buffers (IBX)"'''<br />
<br />
Disables IBX caching of model geometry data. This will dramatically increase load times, but will help troubleshoot a model if one is working incorrectly.<br />
<br />
====-loadallweps====<br />
'''"Load all weapons, even those not used"'''<br />
<br />
====-disable_fbo====<br />
'''"Disable OpenGL RenderTargets"'''<br />
<br />
====-disable_pbo====<br />
'''"Disable OpenGL Pixel Buffer Objects"'''<br />
<br />
Disables the use of Pixel Buffer Objects (PBO) which may cause certain OpenGL operations to perform slower. Note PBO's were only used at three places in FSO anyway so it's *probably* not going to have a noticeable effect. <br />
<br />
May be required to workaround issues in certain versions of Linux's Mesa drivers for Intel integrated graphics cards where crashes occur in the mainhall (i.e. whenever a popup occurs). Distros that seem to have this problem presently include Ubuntu 13.10 and openSUSE 13.1.<br />
{{Table371|<br />
*This feature is present to work around a bug in Linux's Mesa drivers for Intel integrated graphics cards}}<br />
<br />
====-no_glsl====<br />
'''"Disable GLSL (shader) Support"'''<br />
<br />
Disables the use of GLSL rendering (OpenGL shaders). The game will revert to legacy fixed render pipeline. Please note that Normal and Height map effects will be unavailable.<br />
<br />
====-disable_glsl_model====<br />
'''"Don't use shaders for model rendering"'''<br />
<br />
====-ati_swap====<br />
'''"Fix Color issues on some ATI cards"'''<br />
<br />
[http://scp.indiegames.us/mantis/view.php?id=1669 This Mantis issue] was what led to this flag's creation.<br />
<br />
====-no_3d_sound====<br />
'''"Use only 2D/stereo for sound effects"'''<br />
<br />
====-disable_di_mouse====<br />
'''"Disables the DirectInput mouse code for FSO on windows."'''<br />
<br />
'''Windows Only''' Can make mouse movement smoother on certain machines.<br />
<br />
====-mipmap====<br />
'''"Enable mipmapping"'''<br />
<br />
Causes for non-mipmapped textures to have mipmaps generated within the GPU on certain kind of texture formats, (IIRC, DDS formatted textures with a power of 2 size in both width and height). <br><br />
Since the use of already mipmapped DDS textures has become common, it has become deprecated.<br />
The quality of the generated mipmaps depends on each GPU and used driver. It is normally used with [[Command-Line_Reference#-img2dds|-img2dds]] flag.<br />
<br />
====-use_gldrawelements====<br />
'''"Use glDrawElements instead of glDrawRangeElements"'''<br />
<br />
Introduced as a means of switching to the slower OpenGL call glDrawElements, instead of glDrawRangeElements.<br />
{{Table3614|<br />
*This feature may resolve certain rendering problems where parts of models are not drawn on Linux drivers}}<br />
<br />
====-keyboard_layout====<br />
'''"Manually sets a keyboard layout"'''<br />
<br />
A commandline parameter to set the keyboard layout as a string parameter.<br />
{{Table3614|<br />
*Currently the only valid string is "qwertz" (German) but French azerty may be added in future.}}<br />
<br />
====-old_collision====<br />
'''"Use old collision detection system"'''<br />
<br />
Uses the old collision code instead of Swifty's new collision code introduced in the 'go_even_faster' project.<br />
<br />
===Experimental===<br />
====-ingame_join====<br />
'''"Allows Ingame Joining"'''<br />
<br />
Enables ingame joining in multiplayer. FIXME: Host option?<br />
<br />
====-voicer====<br />
'''"Voice Recognition"'''<br />
<br />
Windows-only. Enables voice-recognition for wingmen commands. Must be specifically compiled into a build in order for it to be available; 3.6.10 final includes the feature. See [[Voice Recognition]] for more details.<br />
<br />
====-fb_explosions====<br />
'''"Enable Framebuffer Shockwaves"'''<br />
<br />
===Development Tools===<br />
====-fps====<br />
'''"Show frames per second on HUD"'''<br />
<br />
Displays current frames per second.<br />
<br />
====-pos====<br />
'''"Show Position of Camera"'''<br />
<br />
Displays current position coordinates of camera.<br />
<br />
====-window====<br />
'''"Run in Window"'''<br />
<br />
Runs the game in a window. No check to make sure that resolution is no higher than your desktop resolution, so be careful.<br />
<br />
====-fullscreen_window====<br />
'''"Run in Fullscreen Window"'''<br />
{{Note| This feature is only available on Windows.}}<br />
<br />
====-timerbar====<br />
Displays a timing bar across the top of the screen. Timerbar format varies by build. This is a relic from the Volition development days, and is unmaintained.<br />
{{Note| This parameter was removed as of the July 5, 2011 nightly build.}}<br />
<br />
====-stats====<br />
'''"Show Statistics"'''<br />
<br />
Shows total and free physical memory, virtual memory and system pagefile.<br />
<br />
====-coords====<br />
'''"Show Coordinates"'''<br />
<br />
Shows coordinates of the mouse cursor.<br />
<br />
====-show_mem_usage====<br />
'''"Show Memory Usage"'''<br />
<br />
Shows detailed RAM usage based on file, handler and process usage and display on the left-center side of the screen during mission load and while in mission.<br />
<br />
The meaning of the info displayed in the upper right corner of the HUD is:<br />
<br />
'''DYN''' = dynamic memory, basically anything that's been allocated by the vm_* memory functions. This does NOT indicate total memory usage but does account for most of it.<br />
<br />
'''POF''' = model memory, how much memory is being used by models (does not include textures)<br />
<br />
'''C-BMP, BMP''' = bmpman memory, how much is used by the textures/images that are loaded. C-BMP means that you are using -cache_bitmaps and it will try to keep textures in memory between level loads and as the new level is loading it will keep what it needs and unload what it doesn't. Can greatly increase level loading speed, but does so at the cost of memory between level loads. This does not increase overall memory usage though, only during the loading screen. BMP means that it is not cached and all textures are unloaded from memory at the start of level load and all needed textures are then loaded from the disk again.<br />
<br />
'''S-RAM''' = sound memory, how much is used by the sounds loaded in memory at the time. This counts static sounds only (from sounds.tbl, etc.) and not streaming sounds (music, voices, briefing stuff, etc).<br />
<br />
'''V-RAM''' = approximate memory usage of video textures. This does not mean that your card has this much memory, and can report higher numbers that your card actually has memory. For OpenGL it also includes some of the geometry data, but this number does not reflect the total memory that your video card is using. It only reports how much data the game has purposefully loaded into API memory (meaning it could be in system memory, video card memory, or AGP memory).<br />
<br />
<br />
''(It only works with debug builds, not with release builds).''<br />
<br />
====-pofspew====<br />
Reads all objects in the pof file of the selected mod, and creates an ibx cache file for each object in the data/cache folder for that mod. <br><br />
Details for each object are output to a pofspew.txt file created in the data folder. <br><br />
Otherwise, ibx files are created in game before each mission.<br />
<br />
====-tablecrcs====<br />
Is actually now (or should be) a typed reference rather than as a selection item. Takes 1 argument, usually a descriptive name.<br />
Example usage: "-table_crcs MediaVPs" will create a table_crcs.csv file in the running mod (name can be separate of the mod selected) that allows for the validation of the tables used by that mod while on-line. The descriptive parameter given helps "allocate" that .csv file to the mod in question, and as such should closely or exactly match that mods name if possible.<br />
<br />
====-missioncrcs====<br />
Is actually now (or should be) a typed reference rather than as a selection item. Takes 1 argument, usually a descriptive name.<br />
Example usage: "-mission_crcs MediaVPs" will create a mission_crcs.csv file in the running mod (name can be separate of the mod selected) that allows for the validation of the missions used by that mod while on-line. The descriptive parameter given helps "allocate" that .csv file to the mod in question, and as such should closely or exactly match that mods name if possible.<br />
<br />
====-dis_collisions====<br />
'''"Disable Collisions"'''<br />
<br />
Disables all collisions.<br />
<br />
====-dis_weapons====<br />
'''"Disable Weapon Rendering"'''<br />
<br />
Disables weapons rendering.<br />
<br />
====-output_sexps====<br />
This will make the FSO build spit out an html file that documents the supported SEXP's.<br />
<br />
Just double click on sexps.html and it should open in your default web browser.<br />
<br />
====-output_scripting====<br />
This will make the FSO build spit out an html file that documents the supported scripting hooks and LUA libraries.<br />
<br />
Just double click on scripting.html and it should open in your default web browser.<br />
<br />
====-nograb====<br />
Disables focus grabbing in a window.<br />
{{Note| This feature is not available on Windows.}}<br />
<br />
====-save_render_target====<br />
'''"Save Render Targets to file"'''<br />
<br />
====-debug_window====<br />
'''"Display Debug Window"'''<br />
<br />
Lists the fs2_open.log in (nearly)real-time generation.<br />
<br />
====-verify_vps====<br />
'''"Spew VP crcs to vp_crcs.txt"'''<br />
<br />
Exports the CRC values of the VP files being loaded into a vp_crcs.txt file.<br />
<br />
====-reparse_mainhall====<br />
'''"Reparse mainhall.tbl when loading halls"'''<br />
<br />
Mainhall.tbl will be reparsed every time a mainhall is loaded, as opposed to just once at game startup.<br />
<br />
====-profile_frame_time====<br />
'''"Profile engine subsystems"'''<br />
<br />
Activates the frame profiling code. This presents a readout showing the current, minimum, maximum and average percentages of frametime a given section of code has taken up; this can be used to identify particular bottlenecks or measure the effectiveness of certain optimizations.<br />
<br />
====-profile_write_file====<br />
'''"Write profiling information to file"'''<br />
<br />
This will write the frame times of each gameplay frame to the file 'profiling.csv' where each line is ''<framenumber>;<frametime>''. The first two frames are usually very long because the timer is set at engine startup so you might want to exclude those from your data.<br />
<br />
====-no_unfocused_pause====<br />
'''"Don't pause if the window isn't focused"'''<br />
<br />
When the FSO window looses focus it will not pause the game, useful for doing non-interactive test runs.<br />
<br />
==Other==<br />
The following options are not available as checkboxes in the launcher. Many require parameters, which follow the flag separated by a space. The prototype for use in this case is "-option argument"<br />
<br />
===Lighting===<br />
These factors can dramatically alter the atmosphere of the game. [[Sample Lighting Settings|This page]] has some sample lighting settings with screenshots.<br />
<br />
====-ambient_factor====<br />
This must be entered into the "Custom flags" field. This is a multiplier applied to the intensity of ambient lighting. Ambient light is lighting applied to all parts of a ship. FS2's standard value is 120. Try 75 for a good and realistic looking value. However, that is relative.<br />
<br />
====-no_emissive_light====<br />
By default, all ships in FS2 have a light generated on their own, it is more or less similar to a minimal amount of -ambient_factor. This feature was implemented to help the player seeing the ships over a black background. This flag disables this feature. Use it with a low -ambient_factor value to obtain an ultra-realistic dark looking.<br />
<br />
====-spec_exp====<br />
This must be used with the -spec command line parameter and must be entered into the "Custom flags" field. Adjusts the size of the shiny spot on ships. Higher number mean smaller spots. Default is 16. However, 11 is recommended. This is a relative value.<br />
<br />
====-spec_point====<br />
This must be used with the -spec command line parameter and must be entered into the<br />
"Custom flags" field. Adjusts how much laser weapons contribute to specular highlights. Higher number mean greater contributions. Default is 1.0. However, 0.6 is recommended. This is a relative value.<br />
<br />
====-spec_static====<br />
This must be used with the -spec command line parameter and must be entered into the "Custom flags" field. Adjusts how much suns contribute to specular highlights. Higher numbers mean a greater contribution. Default is 1.0. However, is 0.8 recommended. This is a relative value.<br />
<br />
====-spec_tube====<br />
This must be used with the -spec command line parameter and must be entered into the "Custom flags" field. Adjusts how much Beam Weapons contribute to specular highlights. Higher numbers mean a greater contribution. Default is 1.0. However, 0.4 is recommended. This is a relative value.<br />
<br />
====-ogl_spec====<br />
Takes a numerical argument. This value changes the basic shininess of the specular light in OpenGL. A lower value reduces the overall intensity of the light making it broader and less powerful. A higher value makes it more focused and brighter. The default value is 80, and the usable range is 0 to 128 (clamped). The original default value was 60, but it was raised to behave more D3D like.<br />
<br />
<br />
===Graphics===<br />
====-bloom_intensity====<br />
Requires -post_processing ("Enable Post Processing") command.<br />
Default value is 75. Range is 0-200.<br />
<br />
====-clipdist====<br />
Changes the distance from the viewpoint for the near-clipping plane.<br />
<br />
Takes one argument decimal specifying the distance to the near-clipping plane.<br />
<br />
====-res====<br />
Allows you to specify a resolution if the desired one cannot be set in the Launcher. <br />
For example, -res 1920x1080 would run the game in 1920 x 1080 resolution. Since it requires an argument, it needs to be entered as a custom flag when using the Launcher. The "Run at specified resolution" option the Launcher gives is essentially this, but without being able to actually specify a resolution, it doesn't work.<br />
<br />
====-fxaa_preset====<br />
Requires both -post_processing and -fxaa. Can be used to adjust the FXAA quality and speed, 0 is fastest, 9 is highest quality. Default setting is 6.<br />
<br />
===Gameplay===<br />
====-start_mission====<br />
'''"Skip the mainhall in jump right into the specified mission"'''<br />
<br />
Jump into the mission specified by the filename. Only in effect on the first run. This will skip load of the mainhall and its other related things altogether.<br />
<br />
====-mod====<br />
Specifies in which folders inside FreeSpace 2 directory, the game looks for all the game data (models, missions, textures, tables, ...). Retail version only looks inside ''Freespace2/data/'' structure and ''Freespace2/vp archives''.<br />
<br />
This flag allows installing several different mods that modify retail behavior, and switching between them without needing to erase files or having undesired cross effects. Each mod should be installed in its own folder.<br />
<br />
It takes one argument string: the chain of names of the used directories. Comma (''',''') must be used as separator. In this way, '''-mod dir1,dir2,dir3,...,dirx''' causes the game to use the following directory precedence:<br />
<br />
#Freespace2/dir1/<br />
#Freespace2/dir2/<br />
#Freespace2/dir3/<br />
# ... (the rest of the typed directories) ...<br />
#Freespace2/dirx/<br />
#Freespace2/<br />
<br />
This flag can be indirectly set, (and it is normally set), through Launcher MOD tab and [[mod.ini]] file.<br />
<br />
Within the Launcher's MOD tab you can select one directory, (let's call it ''moddir''), so the flag is at least set to '''-mod moddir'''.<br />
If ''Freespace2/moddir/[[mod.ini]]'' exists it will be used to modify the -mod flag, too.<br />
<br />
For further details, see '''[[mod.ini]]'''<br />
<br />
'''Data precedence'''<br />
<br />
As already said, within the different directories, the data precedence is set by the specified order in the -mod flag. The lowest priority goes to the Freespace2 installation directory.<br />
<br />
Inside each directory, data precedence is the following:<br />
<br />
#Individual files located in ''Current_dir/data/'' subdir structure. See [[FS2_Data_Structure|FS2 Data Structure topic]] for deeper info about the different folders and contents this structure has.<br />
#Files located inside vp archives. (These vp archives are "similar" to zip archives. They just contain other files and folders. Moreover, files have to be stored using the same ''data/'' structure used outside it). <br>Vp archives are read in alphabetical order, so aaa.vp files have higher priority than aab.vp files and so on.<br />
<br />
The highest priority file overrides the rest of them. In this way, if you have a ''Mission.fs2'' inside ''Freespace2/Pri1/data/missions/'' it doesn't matter that this ''Mission.fs2'' is also inside ''Freespace2/Pri1/aaa.vp'', ''Freespace2/Pri1/aab.vp'', ... or ''Freespace2/data/missions/''. This data precedence allows the user to quickly replace old files by corrected or enhanced ones adding them in a higher priority place.<br />
<br />
<br />
'''Additional notes'''<br />
# As derived from the explanation, the exact names for directories or vp archives are actually irrelevant. It only matters the directory order inside -mod flag argument and the alphabetical order for vp archives inside each used directory.<br />
# This flag is also used by [[Portal:FRED|FRED]]. So if there is special mod info, (like backgrounds maps, ship models or whatever), it must be typed, (''Fred2_Open_r.exe -MOD whatever''), or FRED won't be able to use it. A special build of wxLauncher is able to configure FRED so that the -mod doesn't have to be done manually see [http://www.hard-light.net/forums/index.php?topic=67950.msg1387911#msg1387911 the forum post] for more details.<br />
{{Table3612|As of 3.6.12 FRED now loads cmdline_fso.cfg just like FS does so FRED will use the same settings as FS including the -mod settings}}<br />
# Be careful while typing the directory names in the flag argument or inside mod.ini files. The program doesn't check if the typed directories exist. If they do not exist, they are just ignored. No warnings, no errors, no messages at all.<br />
<br />
{{Warning| '''Priority and Texture Formats'''<br />
<br />
''Obsolete behavior - Until FS2_open v3.6.9.:''<br />
<br />
FS2_Open can use several file formats in textures: [http://en.wikipedia.org/wiki/PCX PCX], [http://en.wikipedia.org/wiki/DirectDraw_Surface DDS], [http://en.wikipedia.org/wiki/JPG JPG] and [http://en.wikipedia.org/wiki/TGA TGA]. Make sure you keep the format when you update your texture. For example if you update the old ''TextureOfMyFighter.tga'', do not save it as ''TextureOfMyFighter.dds'' in a higher priority place, because there is a chance of the game loading the old one despite of all.<br />
<br />
The reason to do this is that, loading process (including priorities) is applied firstly for a kind of textures (TGAs), then for another kind (JPGs), and so on. This behavior can lead to situation where your new, updated and higher priority placed texture is not read because the format of the older one.<br />
<br />
<br />
''New behavior - From FS2_open v3.6.10. (including previous beta testing releases):''<br />
<br />
The former issue has been fixed. Now texture format priority is only applied within the same location. In this ''strange'' situation it goes DDS -> TGA -> JPG -> PCX. Examples:<br />
* ''/Freespace2/MyVp.vp>>>data/maps/MyTexture.dds'' is loaded instead of ''/Freespace2/MyVp.vp>>>data/maps/MyTexture.tga''.<br />
* But your improved ''/Freespace2/data/maps/MyTexture.xxx'' will override them both despite of its format.<br />
In this way, when you update any texture, you don't have to pay attention to its original format. Just place it in a higher priority place.<br />
<br />
Nevertheless, global priority is kept between animated and static textures. Because of their management, animated textures (ANIs and EFFs) are looked for BEFORE static ones. In this way there's no way to update an animated texture with a static one (an obsolete ANI is always going to be loaded before the newer DDS version). The solution: use an updated EFF with just one frame.<br />
<br />
}}<br />
<br />
====-fov====<br />
This flag allows the player to specify the ''vertical'' Field of View (FoV) angle, in radians, for the player eyepoint. The angle is measured across the full height of the viewing cone. The FoV angle is technically known as the Angle of View (AoV)<br />
<br />
*Syntax: '''''float''''' Angle<br />
*Valid Values: 0 to 2*Pi radians<br />
*Default Value: 0.75 radians<br />
<br />
{{Note|For peculiar reasons, the actual FoV/AoV used by the game will be the supplied value multiplied by 1.39626348.}}<br />
<br />
<br />
The the FoV angle/AoV is what determines the relative zoom level of the main game camera. Smaller angles generally equal to higher zoom levels, while larger angles equal to lower zoom levels (down to the theoretical x0 magnification).<br />
<br />
<br />
However, too small of an angle will have a squashed look on the edges of your screen, and too high of an angle will greatly stretch edges. It is recommended to change the AoV, as FS2's default AoV has some perspective distortion at the screen edges (the default AoV is too high).<br />
<br />
<br />
A natural looking (as if you where physically in the cockpit) AoV depends on the distance the player's actual eyes are away from the screen: the further away from the screen, the smaller the AoV should be, and vice versa. "Ergonomic" distances generally yield a '''''diagonal''''' AoV of 0.523 radians (30 degrees), but you can easily find the natural AoV by the following formula:<br />
<br />
<br />
AoV (radians) = 2 * atan( H / ( 2*D ))<br />
<br />
where:<br />
<br />
Height of screen = H<br />
<br />
Distance between head/eye and the screen = D<br />
<br />
<br />
Generally, gamers like to increase the AoV in order to increase their peripheral vision on the screen, so as to gain a better situational awareness around their craft. An AoV of 0.39 radians seems to be a good start, but feel free to experiment and use whatever AoV you are most comfortable with.<br />
<br />
===Multiplayer===<br />
====-gamename====<br />
Specifies the name of the game to be created by the host. This only works when used in conjunction with -startgame. <br />
<br />
Takes one argument string, the name to be assigned to the game being created.<br />
<br />
This argument does nothing when used with -standalone. To set the name for a standalone server, see [[Multiplayer(Main)#Standalone Servers|Standalone Servers]].<br />
<br />
See related:&nbsp;&nbsp; [[Command-Line_Reference#-startgame|-startgame]]&nbsp;&nbsp; [[Multiplayer(Main)#Standalone Servers|Standalone Servers]]<br />
<br />
====-password====<br />
Specifies the password for a standalone server. This only works when used in conjunction with -startgame. Cannot be used in conjunction with -closed or -restricted.<br />
<br />
Takes one argument string, the required password for the game being created.<br />
<br />
See related: [[Command-Line_Reference#-startgame|-startgame]] [[Command-Line_Reference#-closed|-closed]] [[Command-Line_Reference#-restricted|-restricted]]<br />
<br />
====-allowabove====<br />
Specifies a player's minimum rank for joining a game. This only works when used in conjunction with -startgame.<br />
<br />
Takes one argument integer, the points ranking above which a player must be to enter the game.<br />
<br />
See related: [[Command-Line_Reference#-startgame|-startgame]]<br />
<br />
====-allowbelow====<br />
Specifies a player's maximum rank for joining a game on a standalone server. This only works when used in conjunction with -startgame.<br />
<br />
Takes one argument integer, the points ranking below which a player must be to enter the game.<br />
<br />
See related: [[Command-Line_Reference#-startgame|-startgame]]<br />
<br />
====-port====<br />
Specifies the port on which to host a game or serve a standalone game.<br />
<br />
Takes one argument integer, the port on which the host will listen for clients.<br />
<br />
====-connect====<br />
Automatically connect to multiplayer IP:PORT.<br />
<br />
Takes one string value, such as 192.168.0.1:<br />
<br />
====-timeout====<br />
Multiplayer network timeout (secs).<br />
<br />
Takes one integer argument, the timeout value in seconds. Default is 30.<br />
<br />
====-cap_object_update====<br />
Caps the maximum object update the server will respond to regardless of what the client has set. If the client is set to request high object updates but the server is capped to low, then that's all the client will get. <br />
<br />
Takes one argument integer (0 to 3) which corresponds to the object update cap (With 0 being low and 3 being LAN).<br />
<br />
===Help===<br />
====-help====<br />
Instructs FSO to print out all supported parameters. Some launchers can use these options to automatically populate the available command line options, even if the version of FSO is far newer than the launcher itself. NOTE: This option only works in Linux builds...<br />
<br />
====--help====<br />
See [[Command-Line_Reference#-help|-help]]<br />
<br />
====-h====<br />
See [[Command-Line_Reference#-help|-help]]<br />
<br />
====-?====<br />
See [[Command-Line_Reference#-help|-help]]<br />
<br />
[[Category:Lists]]<br />
[[Category:Source Code Project]]</div>Chief1983https://wiki.hard-light.net/index.php?title=Command-Line_Reference&diff=44100Command-Line Reference2014-06-30T19:27:04Z<p>Chief1983: /* Game Speed */ Add -no_fps_capping</p>
<hr />
<div>Command-Line Flags (also called Command-Line Parameters) are optional flags passed to the FSO executable, and generally enables one or more features added to the FS2 Open engine. These flags are accessed conveniently through an [[FSO Launcher]]. To have FSO list all available flags, use any one of the following: [[Command-Line_Reference#-help|-help]], [[Command-Line_Reference#-help|--help]], [[Command-Line_Reference#-help|-h]], or [[Command-Line_Reference#-help|-?]].<br />
<br />
<!--May need version info for the various flags, such as 3.6.13, etc. --><br />
<br />
===Graphics===<br />
====-spec====<br />
'''"Enable Specular"'''<br />
<br />
Only polygons mapped with textures for which a shinemap exists will receive specular mapping; no attempt is made to generate spec maps where they do not exist. Specular maps are specified with the base map name plus "-shine" (i.e. TCov3A-shine.pcx).<br />
{{Table3615|<br />
*This feature is on by default, use launcher option Disable Specular or if necessary to manually disable enter the flag -nospec}}<br />
<br />
====-env====<br />
'''"Enable Environment maps"'''<br />
<br />
It only works if [[Command-Line_Reference#-spec|-spec]] is also set. Environment mapping intensity will be determined from the shine map too (see [[Texturing]] for more info). [[Installing FreeSpace 2 Open#Video setup|See Video setup.]]<br />
{{Table3615|<br />
*This feature is on by default, use launcher option Disable Environment Maps or if necessary to manually disable enter the flag -noenv }}<br />
<br />
====-glow====<br />
'''"Enable Glowmaps"'''<br />
<br />
Only polygons mapped with textures for which a glowmap exists will be glowmapped. Glow maps are specified with the base map name plus "-glow" (i.e. TCov4A-glow.pcx)<br />
{{Table3615|<br />
*This feature is on by default, use launcher option Disable Glow Maps or if necessary to manually disable enter the flag -noglow }}<br />
<br />
====-nomotiondebris====<br />
'''"Disable motion debris"'''<br />
<br />
====-noscalevid====<br />
"Disable scale-to-window for Movies"<br />
<br />
Disables fullscreen scaling of video clips.<br />
<br />
====-missile_lighting====<br />
'''"Apply Lighting to Missiles"'''<br />
<br />
====-normal====<br />
'''"Enable Normal Maps"'''<br />
<br />
Normal maps require GLSL rendering, (see [[OpenGL_Shaders_(GLSL)|OpenGL Shaders (GLSL)]] for further info). It needs auxiliary normal maps (the same name of the base map plus "-normal"). DXT5_NM DDS format is needed. (Technical note: DXT5 will work, since only the GREEN and ALPHA channels are read by the current shader system. One direction of lines goes into the GREEN channel, the other direction goes into the ALPHA channel. RED and BLUE can be either base gray (#808080) or black. Usual practice is after creating the DXT5_NM, copy the RED channel to the ALPHA channel, black out the RED and BLUE an then save as either a DXT5 or u8888 (uncompressed) DDS file.)<br />
{{Table3615|<br />
*This feature is on by default, use launcher option Disable Normal Maps or if necessary to manually disable enter the flag -nonormal }}<br />
<br />
====-height====<br />
Enables height maps (parallax mapping). It only works if [[Command-Line_Reference#-normal|-normal]] is also set. It also needs GLSL rendering, (see [[OpenGL_Shaders_(GLSL)|OpenGL Shaders (GLSL)]] for further info). It needs auxiliary height maps (with the same name than base map plus "-height").<br />
{{Table3615|<br />
*This feature is on by default. To manually disable, enter the flag -noheight}}<br />
<br />
====-post_process====<br />
'''"Enable Post Processing"'''<br />
<br />
enables the use (if present) of post-processing effects as defined by the post_process.tbl. Bloom usage has an additional cmdline option for setting it's value, most post processing effects are achieved in mission per the mission designer or can be enabled globally in the table.<br />
<br />
====-soft_particles====<br />
'''"Enable soft particles"'''<br />
<br />
====-3dshockwave====<br />
'''"Enable 3D Shockwaves"'''<br />
<br />
This only has any effect when both a 2d and 3d shockwave effect are present, otherwise the only available effect is used (2d shockwave is defined by effects/shockwave01.eff or .ani, and 3d shockwave by models/shockwave.pof)<br />
<br />
Note that 3d shockwaves are usually flat discs, that FSO scales up. The animated 2d billboards used by 2d shockwaves with the addition of [[Command-Line Reference#-soft_particles|soft particles]], may look better when intersecting with models (which shockwaves often do). Use at your discretion.<br />
<br />
====-fxaa====<br />
'''"Enable FXAA antialiasing"'''<br />
<br />
Enables the FXAA postprocessing stage. Further information can be found here: http://www.hard-light.net/forums/index.php?topic=76145.0<br />
<br />
====-nolightshafts====<br />
'''"Disable lightshafts"'''<br />
<br />
Disables Lightshafts even if a mission designer enables them via SEXP in a mission. This was previously documented as -flightshaftsoff but appears to have been changed to -nolightshafts for consistency before -flightshaftsoff was ever used in a released build.<br />
<br />
===Game Speed===<br />
====-img2dds====<br />
'''"Compress non-compressed images"'''<br />
<br />
Converts all images to DDS (compressed) format. Decreases memory usage but potentially reduces image quality.<br />
<br />
====-no_vsync====<br />
'''"Disable vertical sync"'''<br />
<br />
====-no_fps_capping====<br />
'''"Don't limit frames-per-second"'''<br />
<br />
====-cache_bitmaps====<br />
'''"Cache bitmaps between missions"'''<br />
<br />
Will ideally reduce the load-time from one mission to another.<br />
<br />
===HUD===<br />
====-dualscanlines====<br />
'''"Another Pair of Scanning Lines"'''<br />
<br />
Adds a second pair of scanning lines to the target window when scanning an object.<br />
<br />
====-targetinfo====<br />
'''"Enable Info next to Target"'''<br />
<br />
Displays target info, such as name and class, beside the targeted object.<br />
<br />
====-orbradar====<br />
'''"Enables 3D radar"'''<br />
<br />
An Orb style 3D radar will replace the standard 2D version.<br />
<br />
====-rearm_timer====<br />
'''"Enable Rearm/Repair Completion Timer"'''<br />
<br />
Displays time remaining until rearm and repair from a support ship is complete.<br />
<br />
====-ballistic_gauge====<br />
'''"Enable the analog Ballistic Ammo gauge"'''<br />
<br />
Adds an ammo gauge to the HUD when armed with a ballistic weapon.<br />
<br />
<br />
===Gameplay===<br />
====-ship_choice_3d====<br />
'''"Use Models for Ship Selection"'''<br />
<br />
Uses ship models in ship selection window. It completely disables the standard ANI interface in this screen. <br><br />
Some mods need a compulsory use of this flag because they don't have available animations for their ships. In this situation, and if it is not used, the game will probably crash to desktop in the ship selection window.<br />
<br />
====-weapon_choice_3d====<br />
'''"Use Models for Weapon Selection"'''<br />
<br />
Uses weapon models in weapon loadout window for secondary weapons (missiles and bombs). It completely disables the standard ANI interface in this screen. <br><br />
Some mods need a compulsory use of this flag because they don't have available animations for their secondary weapons. In this situation, and if it is not used, the game will probably crash to desktop in the weapon loadout window.<br />
<br />
====-3dwarp====<br />
'''"Enable 3D Warp"'''<br />
<br />
Use full geometry for the subspace warp effect.<br />
<br />
====-warp_flash====<br />
'''"Enable Flash upon Warp"'''<br />
<br />
Enable a flash at warp in and warp out.<br />
<br />
====-no_ap_interrupt====<br />
'''"Disable Interrupting of AutoPilot"'''<br />
<br />
Tells the game to not allow players to interrupt an autopilot already-in-progress.<br />
<br />
====-stretch_menu====<br />
'''"Stretch interface to fill screen"'''<br />
<br />
Scales the interface to fill the screen without preserving the aspect ratio. Omit this to keep the aspect ratio, adding black bars where appropriate.<br />
<br />
<br />
===Audio===<br />
====-snd_preload====<br />
'''"Preload mission game sounds"'''<br />
<br />
Useful in preventing game stuttering when sounds are played for the first time.<br />
<br />
====-nosound====<br />
'''"Disable Sound and Music"'''<br />
<br />
====-nomusic====<br />
'''"Disables Music"'''<br />
<br />
===Multiplayer===<br />
====-standalone====<br />
'''"Run as Stand Alone Server"'''<br />
<br />
Creates a standalone multi-player server.<br />
<br />
====-startgame====<br />
'''"Skip Mainhall and Start Hosting"'''<br />
<br />
Once you launch and choose a pilot within the game, you will immediately have begun to host a game. This can be used in conjunction with several options to customize the game you create: -closed, -restricted, -password, -gamename, -allowabove, and -allowbelow. -startgame has no effect when -standalone is used.<br />
<br />
See related: [[Command-Line_Reference#-closed|-closed]] [[Command-Line_Reference#-restricted|-restricted]] [[Command-Line_Reference#-password|-password]] [[Command-Line_Reference#-gamename|-gamename]] [[Command-Line_Reference#-allowabove|-allowabove]] [[Command-Line_Reference#-allowbelow|-allowbelow]]<br />
<br />
====-closed====<br />
'''"Start Hosted Server as Closed"'''<br />
<br />
Hosts a new game in a closed state, where no one can join until the in-game "Close" button is cleared. This only works when used in conjunction with -startgame. Cannot be used in conjunction with -restricted or -password.<br />
<br />
See related: [[Command-Line_Reference#-startgame|-startgame]] [[Command-Line_Reference#-restricted|-restricted]] [[Command-Line_Reference#-password|-password]]<br />
<br />
====-restricted====<br />
'''"Host Confirms Join requests"'''<br />
<br />
Hosts a new game in a restricted state. The host is presented with option to accept or deny each client's request to join the game. This only works when used in conjunction with -startgame. Cannot be used in conjunction with -closed or -password.<br />
<br />
See related: [[Command-Line_Reference#-startgame|-startgame]] [[Command-Line_Reference#-closed|-closed]] [[Command-Line_Reference#-password|-password]]<br />
<br />
====-multilog====<br />
Creates a log file with a summary of packets sent and received in multiplayer games. The file is saved as \data\multi.log within the active mod folder&mdash;or with main data folder if no mod is active.<br />
<br />
====-clientdamage====<br />
{{Note| This feature is not available in current builds.}}<br />
<br />
====-mpnoreturn====<br />
'''"Disables Flight Deck option"'''<br />
<br />
Disables return to the flight deck screen after a mission completes.<br />
<br />
<br />
===Troubleshooting===<br />
====-nohtl====<br />
'''"Software Mode (very slow)"'''<br />
{{Warning| Enabling this will significantly reduce performance.}}<br />
Reverts to software rendering mode.<br />
<br />
====-no_set_gamma====<br />
'''"Disable Setting of Gamma"'''<br />
<br />
Disables the gamma settings in the options screen.<br />
<br />
====-nomovies====<br />
'''"Disable Video Playback"'''<br />
<br />
Disables all video playback.<br />
<br />
====-noparseerrors====<br />
'''"Disable Parsing Errors"'''<br />
<br />
Disables some parsing warnings and makes other parse errors non-fatal. Do not rely on this when creating new tables. The errors are there for a reason.<br />
<br />
====-parse_cmdline_only====<br />
'''"Parse Command Line Only"'''<br />
<br />
Parse only the application command line settings, and ignore any that may have been set in the on-disk data/cmdline_fso.cfg or per-user cmdline_fso.cfg (on Linux/Mac)<br />
<br />
====-safeloading====<br />
Loads missions the old way. Typically safer, but slower.<br />
{{Note| This parameter was removed as of the July 5, 2011 nightly build.}}<br />
<br />
====-query_speech====<br />
'''"Does this build have Speech?"'''<br />
<br />
Determines if the current build includes text-to-speech.<br />
<br />
====-novbo====<br />
'''"Disable OpenGL VBO"'''<br />
<br />
====-noibx====<br />
'''"Don't use cached index buffers (IBX)"'''<br />
<br />
Disables IBX caching of model geometry data. This will dramatically increase load times, but will help troubleshoot a model if one is working incorrectly.<br />
<br />
====-loadallweps====<br />
'''"Load all weapons, even those not used"'''<br />
<br />
====-disable_fbo====<br />
'''"Disable OpenGL RenderTargets"'''<br />
<br />
====-disable_pbo====<br />
'''"Disable OpenGL Pixel Buffer Objects"'''<br />
<br />
Disables the use of Pixel Buffer Objects (PBO) which may cause certain OpenGL operations to perform slower. Note PBO's were only used at three places in FSO anyway so it's *probably* not going to have a noticeable effect. <br />
<br />
May be required to workaround issues in certain versions of Linux's Mesa drivers for Intel integrated graphics cards where crashes occur in the mainhall (i.e. whenever a popup occurs). Distros that seem to have this problem presently include Ubuntu 13.10 and openSUSE 13.1.<br />
{{Table371|<br />
*This feature is present to work around a bug in Linux's Mesa drivers for Intel integrated graphics cards}}<br />
<br />
====-no_glsl====<br />
'''"Disable GLSL (shader) Support"'''<br />
<br />
Disables the use of GLSL rendering (OpenGL shaders). The game will revert to legacy fixed render pipeline. Please note that Normal and Height map effects will be unavailable.<br />
<br />
====-disable_glsl_model====<br />
'''"Don't use shaders for model rendering"'''<br />
<br />
====-ati_swap====<br />
'''"Fix Color issues on some ATI cards"'''<br />
<br />
====-no_3d_sound====<br />
'''"Use only 2D/stereo for sound effects"'''<br />
<br />
====-disable_di_mouse====<br />
'''"Disables the DirectInput mouse code for FSO on windows."'''<br />
<br />
'''Windows Only''' Can make mouse movement smoother on certain machines.<br />
<br />
====-mipmap====<br />
'''"Enable mipmapping"'''<br />
<br />
Causes for non-mipmapped textures to have mipmaps generated within the GPU on certain kind of texture formats, (IIRC, DDS formatted textures with a power of 2 size in both width and height). <br><br />
Since the use of already mipmapped DDS textures has become common, it has become deprecated.<br />
The quality of the generated mipmaps depends on each GPU and used driver. It is normally used with [[Command-Line_Reference#-img2dds|-img2dds]] flag.<br />
<br />
====-use_gldrawelements====<br />
'''"Use glDrawElements instead of glDrawRangeElements"'''<br />
<br />
Introduced as a means of switching to the slower OpenGL call glDrawElements, instead of glDrawRangeElements.<br />
{{Table3614|<br />
*This feature may resolve certain rendering problems where parts of models are not drawn on Linux drivers}}<br />
<br />
====-keyboard_layout====<br />
'''"Manually sets a keyboard layout"'''<br />
<br />
A commandline parameter to set the keyboard layout as a string parameter.<br />
{{Table3614|<br />
*Currently the only valid string is "qwertz" (German) but French azerty may be added in future.}}<br />
<br />
====-old_collision====<br />
'''"Use old collision detection system"'''<br />
<br />
Uses the old collision code instead of Swifty's new collision code introduced in the 'go_even_faster' project.<br />
<br />
===Experimental===<br />
====-ingame_join====<br />
'''"Allows Ingame Joining"'''<br />
<br />
Enables ingame joining in multiplayer. FIXME: Host option?<br />
<br />
====-voicer====<br />
'''"Voice Recognition"'''<br />
<br />
Windows-only. Enables voice-recognition for wingmen commands. Must be specifically compiled into a build in order for it to be available; 3.6.10 final includes the feature. See [[Voice Recognition]] for more details.<br />
<br />
====-fb_explosions====<br />
'''"Enable Framebuffer Shockwaves"'''<br />
<br />
===Development Tools===<br />
====-fps====<br />
'''"Show frames per second on HUD"'''<br />
<br />
Displays current frames per second.<br />
<br />
====-pos====<br />
'''"Show Position of Camera"'''<br />
<br />
Displays current position coordinates of camera.<br />
<br />
====-window====<br />
'''"Run in Window"'''<br />
<br />
Runs the game in a window. No check to make sure that resolution is no higher than your desktop resolution, so be careful.<br />
<br />
====-fullscreen_window====<br />
'''"Run in Fullscreen Window"'''<br />
{{Note| This feature is only available on Windows.}}<br />
<br />
====-timerbar====<br />
Displays a timing bar across the top of the screen. Timerbar format varies by build. This is a relic from the Volition development days, and is unmaintained.<br />
{{Note| This parameter was removed as of the July 5, 2011 nightly build.}}<br />
<br />
====-stats====<br />
'''"Show Statistics"'''<br />
<br />
Shows total and free physical memory, virtual memory and system pagefile.<br />
<br />
====-coords====<br />
'''"Show Coordinates"'''<br />
<br />
Shows coordinates of the mouse cursor.<br />
<br />
====-show_mem_usage====<br />
'''"Show Memory Usage"'''<br />
<br />
Shows detailed RAM usage based on file, handler and process usage and display on the left-center side of the screen during mission load and while in mission.<br />
<br />
The meaning of the info displayed in the upper right corner of the HUD is:<br />
<br />
'''DYN''' = dynamic memory, basically anything that's been allocated by the vm_* memory functions. This does NOT indicate total memory usage but does account for most of it.<br />
<br />
'''POF''' = model memory, how much memory is being used by models (does not include textures)<br />
<br />
'''C-BMP, BMP''' = bmpman memory, how much is used by the textures/images that are loaded. C-BMP means that you are using -cache_bitmaps and it will try to keep textures in memory between level loads and as the new level is loading it will keep what it needs and unload what it doesn't. Can greatly increase level loading speed, but does so at the cost of memory between level loads. This does not increase overall memory usage though, only during the loading screen. BMP means that it is not cached and all textures are unloaded from memory at the start of level load and all needed textures are then loaded from the disk again.<br />
<br />
'''S-RAM''' = sound memory, how much is used by the sounds loaded in memory at the time. This counts static sounds only (from sounds.tbl, etc.) and not streaming sounds (music, voices, briefing stuff, etc).<br />
<br />
'''V-RAM''' = approximate memory usage of video textures. This does not mean that your card has this much memory, and can report higher numbers that your card actually has memory. For OpenGL it also includes some of the geometry data, but this number does not reflect the total memory that your video card is using. It only reports how much data the game has purposefully loaded into API memory (meaning it could be in system memory, video card memory, or AGP memory).<br />
<br />
<br />
''(It only works with debug builds, not with release builds).''<br />
<br />
====-pofspew====<br />
Reads all objects in the pof file of the selected mod, and creates an ibx cache file for each object in the data/cache folder for that mod. <br><br />
Details for each object are output to a pofspew.txt file created in the data folder. <br><br />
Otherwise, ibx files are created in game before each mission.<br />
<br />
====-tablecrcs====<br />
Is actually now (or should be) a typed reference rather than as a selection item. Takes 1 argument, usually a descriptive name.<br />
Example usage: "-table_crcs MediaVPs" will create a table_crcs.csv file in the running mod (name can be separate of the mod selected) that allows for the validation of the tables used by that mod while on-line. The descriptive parameter given helps "allocate" that .csv file to the mod in question, and as such should closely or exactly match that mods name if possible.<br />
<br />
====-missioncrcs====<br />
Is actually now (or should be) a typed reference rather than as a selection item. Takes 1 argument, usually a descriptive name.<br />
Example usage: "-mission_crcs MediaVPs" will create a mission_crcs.csv file in the running mod (name can be separate of the mod selected) that allows for the validation of the missions used by that mod while on-line. The descriptive parameter given helps "allocate" that .csv file to the mod in question, and as such should closely or exactly match that mods name if possible.<br />
<br />
====-dis_collisions====<br />
'''"Disable Collisions"'''<br />
<br />
Disables all collisions.<br />
<br />
====-dis_weapons====<br />
'''"Disable Weapon Rendering"'''<br />
<br />
Disables weapons rendering.<br />
<br />
====-output_sexps====<br />
This will make the FSO build spit out an html file that documents the supported SEXP's.<br />
<br />
Just double click on sexps.html and it should open in your default web browser.<br />
<br />
====-output_scripting====<br />
This will make the FSO build spit out an html file that documents the supported scripting hooks and LUA libraries.<br />
<br />
Just double click on scripting.html and it should open in your default web browser.<br />
<br />
====-nograb====<br />
Disables focus grabbing in a window.<br />
{{Note| This feature is not available on Windows.}}<br />
<br />
====-save_render_target====<br />
'''"Save Render Targets to file"'''<br />
<br />
====-debug_window====<br />
'''"Display Debug Window"'''<br />
<br />
Lists the fs2_open.log in (nearly)real-time generation.<br />
<br />
====-verify_vps====<br />
'''"Spew VP crcs to vp_crcs.txt"'''<br />
<br />
Exports the CRC values of the VP files being loaded into a vp_crcs.txt file.<br />
<br />
====-reparse_mainhall====<br />
'''"Reparse mainhall.tbl when loading halls"'''<br />
<br />
Mainhall.tbl will be reparsed every time a mainhall is loaded, as opposed to just once at game startup.<br />
<br />
====-profile_frame_time====<br />
'''"Profile engine subsystems"'''<br />
<br />
Activates the frame profiling code. This presents a readout showing the current, minimum, maximum and average percentages of frametime a given section of code has taken up; this can be used to identify particular bottlenecks or measure the effectiveness of certain optimizations.<br />
<br />
====-profile_write_file====<br />
'''"Write profiling information to file"'''<br />
<br />
This will write the frame times of each gameplay frame to the file 'profiling.csv' where each line is ''<framenumber>;<frametime>''. The first two frames are usually very long because the timer is set at engine startup so you might want to exclude those from your data.<br />
<br />
====-no_unfocused_pause====<br />
'''"Don't pause if the window isn't focused"'''<br />
<br />
When the FSO window looses focus it will not pause the game, useful for doing non-interactive test runs.<br />
<br />
==Other==<br />
The following options are not available as checkboxes in the launcher. Many require parameters, which follow the flag separated by a space. The prototype for use in this case is "-option argument"<br />
<br />
===Lighting===<br />
These factors can dramatically alter the atmosphere of the game. [[Sample Lighting Settings|This page]] has some sample lighting settings with screenshots.<br />
<br />
====-ambient_factor====<br />
This must be entered into the "Custom flags" field. This is a multiplier applied to the intensity of ambient lighting. Ambient light is lighting applied to all parts of a ship. FS2's standard value is 120. Try 75 for a good and realistic looking value. However, that is relative.<br />
<br />
====-no_emissive_light====<br />
By default, all ships in FS2 have a light generated on their own, it is more or less similar to a minimal amount of -ambient_factor. This feature was implemented to help the player seeing the ships over a black background. This flag disables this feature. Use it with a low -ambient_factor value to obtain an ultra-realistic dark looking.<br />
<br />
====-spec_exp====<br />
This must be used with the -spec command line parameter and must be entered into the "Custom flags" field. Adjusts the size of the shiny spot on ships. Higher number mean smaller spots. Default is 16. However, 11 is recommended. This is a relative value.<br />
<br />
====-spec_point====<br />
This must be used with the -spec command line parameter and must be entered into the<br />
"Custom flags" field. Adjusts how much laser weapons contribute to specular highlights. Higher number mean greater contributions. Default is 1.0. However, 0.6 is recommended. This is a relative value.<br />
<br />
====-spec_static====<br />
This must be used with the -spec command line parameter and must be entered into the "Custom flags" field. Adjusts how much suns contribute to specular highlights. Higher numbers mean a greater contribution. Default is 1.0. However, is 0.8 recommended. This is a relative value.<br />
<br />
====-spec_tube====<br />
This must be used with the -spec command line parameter and must be entered into the "Custom flags" field. Adjusts how much Beam Weapons contribute to specular highlights. Higher numbers mean a greater contribution. Default is 1.0. However, 0.4 is recommended. This is a relative value.<br />
<br />
====-ogl_spec====<br />
Takes a numerical argument. This value changes the basic shininess of the specular light in OpenGL. A lower value reduces the overall intensity of the light making it broader and less powerful. A higher value makes it more focused and brighter. The default value is 80, and the usable range is 0 to 128 (clamped). The original default value was 60, but it was raised to behave more D3D like.<br />
<br />
<br />
===Graphics===<br />
====-bloom_intensity====<br />
Requires -post_processing ("Enable Post Processing") command.<br />
Default value is 75. Range is 0-200.<br />
<br />
====-clipdist====<br />
Changes the distance from the viewpoint for the near-clipping plane.<br />
<br />
Takes one argument decimal specifying the distance to the near-clipping plane.<br />
<br />
====-res====<br />
Allows you to specify a resolution if the desired one cannot be set in the Launcher. <br />
For example, -res 1920x1080 would run the game in 1920 x 1080 resolution. Since it requires an argument, it needs to be entered as a custom flag when using the Launcher. The "Run at specified resolution" option the Launcher gives is essentially this, but without being able to actually specify a resolution, it doesn't work.<br />
<br />
====-fxaa_preset====<br />
Requires both -post_processing and -fxaa. Can be used to adjust the FXAA quality and speed, 0 is fastest, 9 is highest quality. Default setting is 6.<br />
<br />
===Gameplay===<br />
====-start_mission====<br />
'''"Skip the mainhall in jump right into the specified mission"'''<br />
<br />
Jump into the mission specified by the filename. Only in effect on the first run. This will skip load of the mainhall and its other related things altogether.<br />
<br />
====-mod====<br />
Specifies in which folders inside FreeSpace 2 directory, the game looks for all the game data (models, missions, textures, tables, ...). Retail version only looks inside ''Freespace2/data/'' structure and ''Freespace2/vp archives''.<br />
<br />
This flag allows installing several different mods that modify retail behavior, and switching between them without needing to erase files or having undesired cross effects. Each mod should be installed in its own folder.<br />
<br />
It takes one argument string: the chain of names of the used directories. Comma (''',''') must be used as separator. In this way, '''-mod dir1,dir2,dir3,...,dirx''' causes the game to use the following directory precedence:<br />
<br />
#Freespace2/dir1/<br />
#Freespace2/dir2/<br />
#Freespace2/dir3/<br />
# ... (the rest of the typed directories) ...<br />
#Freespace2/dirx/<br />
#Freespace2/<br />
<br />
This flag can be indirectly set, (and it is normally set), through Launcher MOD tab and [[mod.ini]] file.<br />
<br />
Within the Launcher's MOD tab you can select one directory, (let's call it ''moddir''), so the flag is at least set to '''-mod moddir'''.<br />
If ''Freespace2/moddir/[[mod.ini]]'' exists it will be used to modify the -mod flag, too.<br />
<br />
For further details, see '''[[mod.ini]]'''<br />
<br />
'''Data precedence'''<br />
<br />
As already said, within the different directories, the data precedence is set by the specified order in the -mod flag. The lowest priority goes to the Freespace2 installation directory.<br />
<br />
Inside each directory, data precedence is the following:<br />
<br />
#Individual files located in ''Current_dir/data/'' subdir structure. See [[FS2_Data_Structure|FS2 Data Structure topic]] for deeper info about the different folders and contents this structure has.<br />
#Files located inside vp archives. (These vp archives are "similar" to zip archives. They just contain other files and folders. Moreover, files have to be stored using the same ''data/'' structure used outside it). <br>Vp archives are read in alphabetical order, so aaa.vp files have higher priority than aab.vp files and so on.<br />
<br />
The highest priority file overrides the rest of them. In this way, if you have a ''Mission.fs2'' inside ''Freespace2/Pri1/data/missions/'' it doesn't matter that this ''Mission.fs2'' is also inside ''Freespace2/Pri1/aaa.vp'', ''Freespace2/Pri1/aab.vp'', ... or ''Freespace2/data/missions/''. This data precedence allows the user to quickly replace old files by corrected or enhanced ones adding them in a higher priority place.<br />
<br />
<br />
'''Additional notes'''<br />
# As derived from the explanation, the exact names for directories or vp archives are actually irrelevant. It only matters the directory order inside -mod flag argument and the alphabetical order for vp archives inside each used directory.<br />
# This flag is also used by [[Portal:FRED|FRED]]. So if there is special mod info, (like backgrounds maps, ship models or whatever), it must be typed, (''Fred2_Open_r.exe -MOD whatever''), or FRED won't be able to use it. A special build of wxLauncher is able to configure FRED so that the -mod doesn't have to be done manually see [http://www.hard-light.net/forums/index.php?topic=67950.msg1387911#msg1387911 the forum post] for more details.<br />
{{Table3612|As of 3.6.12 FRED now loads cmdline_fso.cfg just like FS does so FRED will use the same settings as FS including the -mod settings}}<br />
# Be careful while typing the directory names in the flag argument or inside mod.ini files. The program doesn't check if the typed directories exist. If they do not exist, they are just ignored. No warnings, no errors, no messages at all.<br />
<br />
{{Warning| '''Priority and Texture Formats'''<br />
<br />
''Obsolete behavior - Until FS2_open v3.6.9.:''<br />
<br />
FS2_Open can use several file formats in textures: [http://en.wikipedia.org/wiki/PCX PCX], [http://en.wikipedia.org/wiki/DirectDraw_Surface DDS], [http://en.wikipedia.org/wiki/JPG JPG] and [http://en.wikipedia.org/wiki/TGA TGA]. Make sure you keep the format when you update your texture. For example if you update the old ''TextureOfMyFighter.tga'', do not save it as ''TextureOfMyFighter.dds'' in a higher priority place, because there is a chance of the game loading the old one despite of all.<br />
<br />
The reason to do this is that, loading process (including priorities) is applied firstly for a kind of textures (TGAs), then for another kind (JPGs), and so on. This behavior can lead to situation where your new, updated and higher priority placed texture is not read because the format of the older one.<br />
<br />
<br />
''New behavior - From FS2_open v3.6.10. (including previous beta testing releases):''<br />
<br />
The former issue has been fixed. Now texture format priority is only applied within the same location. In this ''strange'' situation it goes DDS -> TGA -> JPG -> PCX. Examples:<br />
* ''/Freespace2/MyVp.vp>>>data/maps/MyTexture.dds'' is loaded instead of ''/Freespace2/MyVp.vp>>>data/maps/MyTexture.tga''.<br />
* But your improved ''/Freespace2/data/maps/MyTexture.xxx'' will override them both despite of its format.<br />
In this way, when you update any texture, you don't have to pay attention to its original format. Just place it in a higher priority place.<br />
<br />
Nevertheless, global priority is kept between animated and static textures. Because of their management, animated textures (ANIs and EFFs) are looked for BEFORE static ones. In this way there's no way to update an animated texture with a static one (an obsolete ANI is always going to be loaded before the newer DDS version). The solution: use an updated EFF with just one frame.<br />
<br />
}}<br />
<br />
====-fov====<br />
This flag allows the player to specify the ''vertical'' Field of View (FoV) angle, in radians, for the player eyepoint. The angle is measured across the full height of the viewing cone. The FoV angle is technically known as the Angle of View (AoV)<br />
<br />
*Syntax: '''''float''''' Angle<br />
*Valid Values: 0 to 2*Pi radians<br />
*Default Value: 0.75 radians<br />
<br />
{{Note|For peculiar reasons, the actual FoV/AoV used by the game will be the supplied value multiplied by 1.39626348.}}<br />
<br />
<br />
The the FoV angle/AoV is what determines the relative zoom level of the main game camera. Smaller angles generally equal to higher zoom levels, while larger angles equal to lower zoom levels (down to the theoretical x0 magnification).<br />
<br />
<br />
However, too small of an angle will have a squashed look on the edges of your screen, and too high of an angle will greatly stretch edges. It is recommended to change the AoV, as FS2's default AoV has some perspective distortion at the screen edges (the default AoV is too high).<br />
<br />
<br />
A natural looking (as if you where physically in the cockpit) AoV depends on the distance the player's actual eyes are away from the screen: the further away from the screen, the smaller the AoV should be, and vice versa. "Ergonomic" distances generally yield a '''''diagonal''''' AoV of 0.523 radians (30 degrees), but you can easily find the natural AoV by the following formula:<br />
<br />
<br />
AoV (radians) = 2 * atan( H / ( 2*D ))<br />
<br />
where:<br />
<br />
Height of screen = H<br />
<br />
Distance between head/eye and the screen = D<br />
<br />
<br />
Generally, gamers like to increase the AoV in order to increase their peripheral vision on the screen, so as to gain a better situational awareness around their craft. An AoV of 0.39 radians seems to be a good start, but feel free to experiment and use whatever AoV you are most comfortable with.<br />
<br />
===Multiplayer===<br />
====-gamename====<br />
Specifies the name of the game to be created by the host. This only works when used in conjunction with -startgame. <br />
<br />
Takes one argument string, the name to be assigned to the game being created.<br />
<br />
This argument does nothing when used with -standalone. To set the name for a standalone server, see [[Multiplayer(Main)#Standalone Servers|Standalone Servers]].<br />
<br />
See related:&nbsp;&nbsp; [[Command-Line_Reference#-startgame|-startgame]]&nbsp;&nbsp; [[Multiplayer(Main)#Standalone Servers|Standalone Servers]]<br />
<br />
====-password====<br />
Specifies the password for a standalone server. This only works when used in conjunction with -startgame. Cannot be used in conjunction with -closed or -restricted.<br />
<br />
Takes one argument string, the required password for the game being created.<br />
<br />
See related: [[Command-Line_Reference#-startgame|-startgame]] [[Command-Line_Reference#-closed|-closed]] [[Command-Line_Reference#-restricted|-restricted]]<br />
<br />
====-allowabove====<br />
Specifies a player's minimum rank for joining a game. This only works when used in conjunction with -startgame.<br />
<br />
Takes one argument integer, the points ranking above which a player must be to enter the game.<br />
<br />
See related: [[Command-Line_Reference#-startgame|-startgame]]<br />
<br />
====-allowbelow====<br />
Specifies a player's maximum rank for joining a game on a standalone server. This only works when used in conjunction with -startgame.<br />
<br />
Takes one argument integer, the points ranking below which a player must be to enter the game.<br />
<br />
See related: [[Command-Line_Reference#-startgame|-startgame]]<br />
<br />
====-port====<br />
Specifies the port on which to host a game or serve a standalone game.<br />
<br />
Takes one argument integer, the port on which the host will listen for clients.<br />
<br />
====-connect====<br />
Automatically connect to multiplayer IP:PORT.<br />
<br />
Takes one string value, such as 192.168.0.1:<br />
<br />
====-timeout====<br />
Multiplayer network timeout (secs).<br />
<br />
Takes one integer argument, the timeout value in seconds. Default is 30.<br />
<br />
====-cap_object_update====<br />
Caps the maximum object update the server will respond to regardless of what the client has set. If the client is set to request high object updates but the server is capped to low, then that's all the client will get. <br />
<br />
Takes one argument integer (0 to 3) which corresponds to the object update cap (With 0 being low and 3 being LAN).<br />
<br />
===Help===<br />
====-help====<br />
Instructs FSO to print out all supported parameters. Some launchers can use these options to automatically populate the available command line options, even if the version of FSO is far newer than the launcher itself. NOTE: This option only works in Linux builds...<br />
<br />
====--help====<br />
See [[Command-Line_Reference#-help|-help]]<br />
<br />
====-h====<br />
See [[Command-Line_Reference#-help|-help]]<br />
<br />
====-?====<br />
See [[Command-Line_Reference#-help|-help]]<br />
<br />
[[Category:Lists]]<br />
[[Category:Source Code Project]]</div>Chief1983https://wiki.hard-light.net/index.php?title=Command-Line_Reference&diff=44099Command-Line Reference2014-06-30T18:21:12Z<p>Chief1983: /* Multiplayer */ Add descriptions to -connect and -timeout. Not sure the flags actually work but at least now someone will know what they should do.</p>
<hr />
<div>Command-Line Flags (also called Command-Line Parameters) are optional flags passed to the FSO executable, and generally enables one or more features added to the FS2 Open engine. These flags are accessed conveniently through an [[FSO Launcher]]. To have FSO list all available flags, use any one of the following: [[Command-Line_Reference#-help|-help]], [[Command-Line_Reference#-help|--help]], [[Command-Line_Reference#-help|-h]], or [[Command-Line_Reference#-help|-?]].<br />
<br />
<!--May need version info for the various flags, such as 3.6.13, etc. --><br />
<br />
===Graphics===<br />
====-spec====<br />
'''"Enable Specular"'''<br />
<br />
Only polygons mapped with textures for which a shinemap exists will receive specular mapping; no attempt is made to generate spec maps where they do not exist. Specular maps are specified with the base map name plus "-shine" (i.e. TCov3A-shine.pcx).<br />
{{Table3615|<br />
*This feature is on by default, use launcher option Disable Specular or if necessary to manually disable enter the flag -nospec}}<br />
<br />
====-env====<br />
'''"Enable Environment maps"'''<br />
<br />
It only works if [[Command-Line_Reference#-spec|-spec]] is also set. Environment mapping intensity will be determined from the shine map too (see [[Texturing]] for more info). [[Installing FreeSpace 2 Open#Video setup|See Video setup.]]<br />
{{Table3615|<br />
*This feature is on by default, use launcher option Disable Environment Maps or if necessary to manually disable enter the flag -noenv }}<br />
<br />
====-glow====<br />
'''"Enable Glowmaps"'''<br />
<br />
Only polygons mapped with textures for which a glowmap exists will be glowmapped. Glow maps are specified with the base map name plus "-glow" (i.e. TCov4A-glow.pcx)<br />
{{Table3615|<br />
*This feature is on by default, use launcher option Disable Glow Maps or if necessary to manually disable enter the flag -noglow }}<br />
<br />
====-nomotiondebris====<br />
'''"Disable motion debris"'''<br />
<br />
====-noscalevid====<br />
"Disable scale-to-window for Movies"<br />
<br />
Disables fullscreen scaling of video clips.<br />
<br />
====-missile_lighting====<br />
'''"Apply Lighting to Missiles"'''<br />
<br />
====-normal====<br />
'''"Enable Normal Maps"'''<br />
<br />
Normal maps require GLSL rendering, (see [[OpenGL_Shaders_(GLSL)|OpenGL Shaders (GLSL)]] for further info). It needs auxiliary normal maps (the same name of the base map plus "-normal"). DXT5_NM DDS format is needed. (Technical note: DXT5 will work, since only the GREEN and ALPHA channels are read by the current shader system. One direction of lines goes into the GREEN channel, the other direction goes into the ALPHA channel. RED and BLUE can be either base gray (#808080) or black. Usual practice is after creating the DXT5_NM, copy the RED channel to the ALPHA channel, black out the RED and BLUE an then save as either a DXT5 or u8888 (uncompressed) DDS file.)<br />
{{Table3615|<br />
*This feature is on by default, use launcher option Disable Normal Maps or if necessary to manually disable enter the flag -nonormal }}<br />
<br />
====-height====<br />
Enables height maps (parallax mapping). It only works if [[Command-Line_Reference#-normal|-normal]] is also set. It also needs GLSL rendering, (see [[OpenGL_Shaders_(GLSL)|OpenGL Shaders (GLSL)]] for further info). It needs auxiliary height maps (with the same name than base map plus "-height").<br />
{{Table3615|<br />
*This feature is on by default. To manually disable, enter the flag -noheight}}<br />
<br />
====-post_process====<br />
'''"Enable Post Processing"'''<br />
<br />
enables the use (if present) of post-processing effects as defined by the post_process.tbl. Bloom usage has an additional cmdline option for setting it's value, most post processing effects are achieved in mission per the mission designer or can be enabled globally in the table.<br />
<br />
====-soft_particles====<br />
'''"Enable soft particles"'''<br />
<br />
====-3dshockwave====<br />
'''"Enable 3D Shockwaves"'''<br />
<br />
This only has any effect when both a 2d and 3d shockwave effect are present, otherwise the only available effect is used (2d shockwave is defined by effects/shockwave01.eff or .ani, and 3d shockwave by models/shockwave.pof)<br />
<br />
Note that 3d shockwaves are usually flat discs, that FSO scales up. The animated 2d billboards used by 2d shockwaves with the addition of [[Command-Line Reference#-soft_particles|soft particles]], may look better when intersecting with models (which shockwaves often do). Use at your discretion.<br />
<br />
====-fxaa====<br />
'''"Enable FXAA antialiasing"'''<br />
<br />
Enables the FXAA postprocessing stage. Further information can be found here: http://www.hard-light.net/forums/index.php?topic=76145.0<br />
<br />
====-nolightshafts====<br />
'''"Disable lightshafts"'''<br />
<br />
Disables Lightshafts even if a mission designer enables them via SEXP in a mission. This was previously documented as -flightshaftsoff but appears to have been changed to -nolightshafts for consistency before -flightshaftsoff was ever used in a released build.<br />
<br />
===Game Speed===<br />
====-img2dds====<br />
'''"Compress non-compressed images"'''<br />
<br />
Converts all images to DDS (compressed) format. Decreases memory usage but potentially reduces image quality.<br />
<br />
====-no_vsync====<br />
'''"Disable vertical sync"'''<br />
<br />
====-cache_bitmaps====<br />
'''"Cache bitmaps between missions"'''<br />
<br />
Will ideally reduce the load-time from one mission to another.<br />
<br />
<br />
===HUD===<br />
====-dualscanlines====<br />
'''"Another Pair of Scanning Lines"'''<br />
<br />
Adds a second pair of scanning lines to the target window when scanning an object.<br />
<br />
====-targetinfo====<br />
'''"Enable Info next to Target"'''<br />
<br />
Displays target info, such as name and class, beside the targeted object.<br />
<br />
====-orbradar====<br />
'''"Enables 3D radar"'''<br />
<br />
An Orb style 3D radar will replace the standard 2D version.<br />
<br />
====-rearm_timer====<br />
'''"Enable Rearm/Repair Completion Timer"'''<br />
<br />
Displays time remaining until rearm and repair from a support ship is complete.<br />
<br />
====-ballistic_gauge====<br />
'''"Enable the analog Ballistic Ammo gauge"'''<br />
<br />
Adds an ammo gauge to the HUD when armed with a ballistic weapon.<br />
<br />
<br />
===Gameplay===<br />
====-ship_choice_3d====<br />
'''"Use Models for Ship Selection"'''<br />
<br />
Uses ship models in ship selection window. It completely disables the standard ANI interface in this screen. <br><br />
Some mods need a compulsory use of this flag because they don't have available animations for their ships. In this situation, and if it is not used, the game will probably crash to desktop in the ship selection window.<br />
<br />
====-weapon_choice_3d====<br />
'''"Use Models for Weapon Selection"'''<br />
<br />
Uses weapon models in weapon loadout window for secondary weapons (missiles and bombs). It completely disables the standard ANI interface in this screen. <br><br />
Some mods need a compulsory use of this flag because they don't have available animations for their secondary weapons. In this situation, and if it is not used, the game will probably crash to desktop in the weapon loadout window.<br />
<br />
====-3dwarp====<br />
'''"Enable 3D Warp"'''<br />
<br />
Use full geometry for the subspace warp effect.<br />
<br />
====-warp_flash====<br />
'''"Enable Flash upon Warp"'''<br />
<br />
Enable a flash at warp in and warp out.<br />
<br />
====-no_ap_interrupt====<br />
'''"Disable Interrupting of AutoPilot"'''<br />
<br />
Tells the game to not allow players to interrupt an autopilot already-in-progress.<br />
<br />
====-stretch_menu====<br />
'''"Stretch interface to fill screen"'''<br />
<br />
Scales the interface to fill the screen without preserving the aspect ratio. Omit this to keep the aspect ratio, adding black bars where appropriate.<br />
<br />
<br />
===Audio===<br />
====-snd_preload====<br />
'''"Preload mission game sounds"'''<br />
<br />
Useful in preventing game stuttering when sounds are played for the first time.<br />
<br />
====-nosound====<br />
'''"Disable Sound and Music"'''<br />
<br />
====-nomusic====<br />
'''"Disables Music"'''<br />
<br />
===Multiplayer===<br />
====-standalone====<br />
'''"Run as Stand Alone Server"'''<br />
<br />
Creates a standalone multi-player server.<br />
<br />
====-startgame====<br />
'''"Skip Mainhall and Start Hosting"'''<br />
<br />
Once you launch and choose a pilot within the game, you will immediately have begun to host a game. This can be used in conjunction with several options to customize the game you create: -closed, -restricted, -password, -gamename, -allowabove, and -allowbelow. -startgame has no effect when -standalone is used.<br />
<br />
See related: [[Command-Line_Reference#-closed|-closed]] [[Command-Line_Reference#-restricted|-restricted]] [[Command-Line_Reference#-password|-password]] [[Command-Line_Reference#-gamename|-gamename]] [[Command-Line_Reference#-allowabove|-allowabove]] [[Command-Line_Reference#-allowbelow|-allowbelow]]<br />
<br />
====-closed====<br />
'''"Start Hosted Server as Closed"'''<br />
<br />
Hosts a new game in a closed state, where no one can join until the in-game "Close" button is cleared. This only works when used in conjunction with -startgame. Cannot be used in conjunction with -restricted or -password.<br />
<br />
See related: [[Command-Line_Reference#-startgame|-startgame]] [[Command-Line_Reference#-restricted|-restricted]] [[Command-Line_Reference#-password|-password]]<br />
<br />
====-restricted====<br />
'''"Host Confirms Join requests"'''<br />
<br />
Hosts a new game in a restricted state. The host is presented with option to accept or deny each client's request to join the game. This only works when used in conjunction with -startgame. Cannot be used in conjunction with -closed or -password.<br />
<br />
See related: [[Command-Line_Reference#-startgame|-startgame]] [[Command-Line_Reference#-closed|-closed]] [[Command-Line_Reference#-password|-password]]<br />
<br />
====-multilog====<br />
Creates a log file with a summary of packets sent and received in multiplayer games. The file is saved as \data\multi.log within the active mod folder&mdash;or with main data folder if no mod is active.<br />
<br />
====-clientdamage====<br />
{{Note| This feature is not available in current builds.}}<br />
<br />
====-mpnoreturn====<br />
'''"Disables Flight Deck option"'''<br />
<br />
Disables return to the flight deck screen after a mission completes.<br />
<br />
<br />
===Troubleshooting===<br />
====-nohtl====<br />
'''"Software Mode (very slow)"'''<br />
{{Warning| Enabling this will significantly reduce performance.}}<br />
Reverts to software rendering mode.<br />
<br />
====-no_set_gamma====<br />
'''"Disable Setting of Gamma"'''<br />
<br />
Disables the gamma settings in the options screen.<br />
<br />
====-nomovies====<br />
'''"Disable Video Playback"'''<br />
<br />
Disables all video playback.<br />
<br />
====-noparseerrors====<br />
'''"Disable Parsing Errors"'''<br />
<br />
Disables some parsing warnings and makes other parse errors non-fatal. Do not rely on this when creating new tables. The errors are there for a reason.<br />
<br />
====-parse_cmdline_only====<br />
'''"Parse Command Line Only"'''<br />
<br />
Parse only the application command line settings, and ignore any that may have been set in the on-disk data/cmdline_fso.cfg or per-user cmdline_fso.cfg (on Linux/Mac)<br />
<br />
====-safeloading====<br />
Loads missions the old way. Typically safer, but slower.<br />
{{Note| This parameter was removed as of the July 5, 2011 nightly build.}}<br />
<br />
====-query_speech====<br />
'''"Does this build have Speech?"'''<br />
<br />
Determines if the current build includes text-to-speech.<br />
<br />
====-novbo====<br />
'''"Disable OpenGL VBO"'''<br />
<br />
====-noibx====<br />
'''"Don't use cached index buffers (IBX)"'''<br />
<br />
Disables IBX caching of model geometry data. This will dramatically increase load times, but will help troubleshoot a model if one is working incorrectly.<br />
<br />
====-loadallweps====<br />
'''"Load all weapons, even those not used"'''<br />
<br />
====-disable_fbo====<br />
'''"Disable OpenGL RenderTargets"'''<br />
<br />
====-disable_pbo====<br />
'''"Disable OpenGL Pixel Buffer Objects"'''<br />
<br />
Disables the use of Pixel Buffer Objects (PBO) which may cause certain OpenGL operations to perform slower. Note PBO's were only used at three places in FSO anyway so it's *probably* not going to have a noticeable effect. <br />
<br />
May be required to workaround issues in certain versions of Linux's Mesa drivers for Intel integrated graphics cards where crashes occur in the mainhall (i.e. whenever a popup occurs). Distros that seem to have this problem presently include Ubuntu 13.10 and openSUSE 13.1.<br />
{{Table371|<br />
*This feature is present to work around a bug in Linux's Mesa drivers for Intel integrated graphics cards}}<br />
<br />
====-no_glsl====<br />
'''"Disable GLSL (shader) Support"'''<br />
<br />
Disables the use of GLSL rendering (OpenGL shaders). The game will revert to legacy fixed render pipeline. Please note that Normal and Height map effects will be unavailable.<br />
<br />
====-disable_glsl_model====<br />
'''"Don't use shaders for model rendering"'''<br />
<br />
====-ati_swap====<br />
'''"Fix Color issues on some ATI cards"'''<br />
<br />
====-no_3d_sound====<br />
'''"Use only 2D/stereo for sound effects"'''<br />
<br />
====-disable_di_mouse====<br />
'''"Disables the DirectInput mouse code for FSO on windows."'''<br />
<br />
'''Windows Only''' Can make mouse movement smoother on certain machines.<br />
<br />
====-mipmap====<br />
'''"Enable mipmapping"'''<br />
<br />
Causes for non-mipmapped textures to have mipmaps generated within the GPU on certain kind of texture formats, (IIRC, DDS formatted textures with a power of 2 size in both width and height). <br><br />
Since the use of already mipmapped DDS textures has become common, it has become deprecated.<br />
The quality of the generated mipmaps depends on each GPU and used driver. It is normally used with [[Command-Line_Reference#-img2dds|-img2dds]] flag.<br />
<br />
====-use_gldrawelements====<br />
'''"Use glDrawElements instead of glDrawRangeElements"'''<br />
<br />
Introduced as a means of switching to the slower OpenGL call glDrawElements, instead of glDrawRangeElements.<br />
{{Table3614|<br />
*This feature may resolve certain rendering problems where parts of models are not drawn on Linux drivers}}<br />
<br />
====-keyboard_layout====<br />
'''"Manually sets a keyboard layout"'''<br />
<br />
A commandline parameter to set the keyboard layout as a string parameter.<br />
{{Table3614|<br />
*Currently the only valid string is "qwertz" (German) but French azerty may be added in future.}}<br />
<br />
====-old_collision====<br />
'''"Use old collision detection system"'''<br />
<br />
Uses the old collision code instead of Swifty's new collision code introduced in the 'go_even_faster' project.<br />
<br />
===Experimental===<br />
====-ingame_join====<br />
'''"Allows Ingame Joining"'''<br />
<br />
Enables ingame joining in multiplayer. FIXME: Host option?<br />
<br />
====-voicer====<br />
'''"Voice Recognition"'''<br />
<br />
Windows-only. Enables voice-recognition for wingmen commands. Must be specifically compiled into a build in order for it to be available; 3.6.10 final includes the feature. See [[Voice Recognition]] for more details.<br />
<br />
====-fb_explosions====<br />
'''"Enable Framebuffer Shockwaves"'''<br />
<br />
===Development Tools===<br />
====-fps====<br />
'''"Show frames per second on HUD"'''<br />
<br />
Displays current frames per second.<br />
<br />
====-pos====<br />
'''"Show Position of Camera"'''<br />
<br />
Displays current position coordinates of camera.<br />
<br />
====-window====<br />
'''"Run in Window"'''<br />
<br />
Runs the game in a window. No check to make sure that resolution is no higher than your desktop resolution, so be careful.<br />
<br />
====-fullscreen_window====<br />
'''"Run in Fullscreen Window"'''<br />
{{Note| This feature is only available on Windows.}}<br />
<br />
====-timerbar====<br />
Displays a timing bar across the top of the screen. Timerbar format varies by build. This is a relic from the Volition development days, and is unmaintained.<br />
{{Note| This parameter was removed as of the July 5, 2011 nightly build.}}<br />
<br />
====-stats====<br />
'''"Show Statistics"'''<br />
<br />
Shows total and free physical memory, virtual memory and system pagefile.<br />
<br />
====-coords====<br />
'''"Show Coordinates"'''<br />
<br />
Shows coordinates of the mouse cursor.<br />
<br />
====-show_mem_usage====<br />
'''"Show Memory Usage"'''<br />
<br />
Shows detailed RAM usage based on file, handler and process usage and display on the left-center side of the screen during mission load and while in mission.<br />
<br />
The meaning of the info displayed in the upper right corner of the HUD is:<br />
<br />
'''DYN''' = dynamic memory, basically anything that's been allocated by the vm_* memory functions. This does NOT indicate total memory usage but does account for most of it.<br />
<br />
'''POF''' = model memory, how much memory is being used by models (does not include textures)<br />
<br />
'''C-BMP, BMP''' = bmpman memory, how much is used by the textures/images that are loaded. C-BMP means that you are using -cache_bitmaps and it will try to keep textures in memory between level loads and as the new level is loading it will keep what it needs and unload what it doesn't. Can greatly increase level loading speed, but does so at the cost of memory between level loads. This does not increase overall memory usage though, only during the loading screen. BMP means that it is not cached and all textures are unloaded from memory at the start of level load and all needed textures are then loaded from the disk again.<br />
<br />
'''S-RAM''' = sound memory, how much is used by the sounds loaded in memory at the time. This counts static sounds only (from sounds.tbl, etc.) and not streaming sounds (music, voices, briefing stuff, etc).<br />
<br />
'''V-RAM''' = approximate memory usage of video textures. This does not mean that your card has this much memory, and can report higher numbers that your card actually has memory. For OpenGL it also includes some of the geometry data, but this number does not reflect the total memory that your video card is using. It only reports how much data the game has purposefully loaded into API memory (meaning it could be in system memory, video card memory, or AGP memory).<br />
<br />
<br />
''(It only works with debug builds, not with release builds).''<br />
<br />
====-pofspew====<br />
Reads all objects in the pof file of the selected mod, and creates an ibx cache file for each object in the data/cache folder for that mod. <br><br />
Details for each object are output to a pofspew.txt file created in the data folder. <br><br />
Otherwise, ibx files are created in game before each mission.<br />
<br />
====-tablecrcs====<br />
Is actually now (or should be) a typed reference rather than as a selection item. Takes 1 argument, usually a descriptive name.<br />
Example usage: "-table_crcs MediaVPs" will create a table_crcs.csv file in the running mod (name can be separate of the mod selected) that allows for the validation of the tables used by that mod while on-line. The descriptive parameter given helps "allocate" that .csv file to the mod in question, and as such should closely or exactly match that mods name if possible.<br />
<br />
====-missioncrcs====<br />
Is actually now (or should be) a typed reference rather than as a selection item. Takes 1 argument, usually a descriptive name.<br />
Example usage: "-mission_crcs MediaVPs" will create a mission_crcs.csv file in the running mod (name can be separate of the mod selected) that allows for the validation of the missions used by that mod while on-line. The descriptive parameter given helps "allocate" that .csv file to the mod in question, and as such should closely or exactly match that mods name if possible.<br />
<br />
====-dis_collisions====<br />
'''"Disable Collisions"'''<br />
<br />
Disables all collisions.<br />
<br />
====-dis_weapons====<br />
'''"Disable Weapon Rendering"'''<br />
<br />
Disables weapons rendering.<br />
<br />
====-output_sexps====<br />
This will make the FSO build spit out an html file that documents the supported SEXP's.<br />
<br />
Just double click on sexps.html and it should open in your default web browser.<br />
<br />
====-output_scripting====<br />
This will make the FSO build spit out an html file that documents the supported scripting hooks and LUA libraries.<br />
<br />
Just double click on scripting.html and it should open in your default web browser.<br />
<br />
====-nograb====<br />
Disables focus grabbing in a window.<br />
{{Note| This feature is not available on Windows.}}<br />
<br />
====-save_render_target====<br />
'''"Save Render Targets to file"'''<br />
<br />
====-debug_window====<br />
'''"Display Debug Window"'''<br />
<br />
Lists the fs2_open.log in (nearly)real-time generation.<br />
<br />
====-verify_vps====<br />
'''"Spew VP crcs to vp_crcs.txt"'''<br />
<br />
Exports the CRC values of the VP files being loaded into a vp_crcs.txt file.<br />
<br />
====-reparse_mainhall====<br />
'''"Reparse mainhall.tbl when loading halls"'''<br />
<br />
Mainhall.tbl will be reparsed every time a mainhall is loaded, as opposed to just once at game startup.<br />
<br />
====-profile_frame_time====<br />
'''"Profile engine subsystems"'''<br />
<br />
Activates the frame profiling code. This presents a readout showing the current, minimum, maximum and average percentages of frametime a given section of code has taken up; this can be used to identify particular bottlenecks or measure the effectiveness of certain optimizations.<br />
<br />
====-profile_write_file====<br />
'''"Write profiling information to file"'''<br />
<br />
This will write the frame times of each gameplay frame to the file 'profiling.csv' where each line is ''<framenumber>;<frametime>''. The first two frames are usually very long because the timer is set at engine startup so you might want to exclude those from your data.<br />
<br />
====-no_unfocused_pause====<br />
'''"Don't pause if the window isn't focused"'''<br />
<br />
When the FSO window looses focus it will not pause the game, useful for doing non-interactive test runs.<br />
<br />
==Other==<br />
The following options are not available as checkboxes in the launcher. Many require parameters, which follow the flag separated by a space. The prototype for use in this case is "-option argument"<br />
<br />
===Lighting===<br />
These factors can dramatically alter the atmosphere of the game. [[Sample Lighting Settings|This page]] has some sample lighting settings with screenshots.<br />
<br />
====-ambient_factor====<br />
This must be entered into the "Custom flags" field. This is a multiplier applied to the intensity of ambient lighting. Ambient light is lighting applied to all parts of a ship. FS2's standard value is 120. Try 75 for a good and realistic looking value. However, that is relative.<br />
<br />
====-no_emissive_light====<br />
By default, all ships in FS2 have a light generated on their own, it is more or less similar to a minimal amount of -ambient_factor. This feature was implemented to help the player seeing the ships over a black background. This flag disables this feature. Use it with a low -ambient_factor value to obtain an ultra-realistic dark looking.<br />
<br />
====-spec_exp====<br />
This must be used with the -spec command line parameter and must be entered into the "Custom flags" field. Adjusts the size of the shiny spot on ships. Higher number mean smaller spots. Default is 16. However, 11 is recommended. This is a relative value.<br />
<br />
====-spec_point====<br />
This must be used with the -spec command line parameter and must be entered into the<br />
"Custom flags" field. Adjusts how much laser weapons contribute to specular highlights. Higher number mean greater contributions. Default is 1.0. However, 0.6 is recommended. This is a relative value.<br />
<br />
====-spec_static====<br />
This must be used with the -spec command line parameter and must be entered into the "Custom flags" field. Adjusts how much suns contribute to specular highlights. Higher numbers mean a greater contribution. Default is 1.0. However, is 0.8 recommended. This is a relative value.<br />
<br />
====-spec_tube====<br />
This must be used with the -spec command line parameter and must be entered into the "Custom flags" field. Adjusts how much Beam Weapons contribute to specular highlights. Higher numbers mean a greater contribution. Default is 1.0. However, 0.4 is recommended. This is a relative value.<br />
<br />
====-ogl_spec====<br />
Takes a numerical argument. This value changes the basic shininess of the specular light in OpenGL. A lower value reduces the overall intensity of the light making it broader and less powerful. A higher value makes it more focused and brighter. The default value is 80, and the usable range is 0 to 128 (clamped). The original default value was 60, but it was raised to behave more D3D like.<br />
<br />
<br />
===Graphics===<br />
====-bloom_intensity====<br />
Requires -post_processing ("Enable Post Processing") command.<br />
Default value is 75. Range is 0-200.<br />
<br />
====-clipdist====<br />
Changes the distance from the viewpoint for the near-clipping plane.<br />
<br />
Takes one argument decimal specifying the distance to the near-clipping plane.<br />
<br />
====-res====<br />
Allows you to specify a resolution if the desired one cannot be set in the Launcher. <br />
For example, -res 1920x1080 would run the game in 1920 x 1080 resolution. Since it requires an argument, it needs to be entered as a custom flag when using the Launcher. The "Run at specified resolution" option the Launcher gives is essentially this, but without being able to actually specify a resolution, it doesn't work.<br />
<br />
====-fxaa_preset====<br />
Requires both -post_processing and -fxaa. Can be used to adjust the FXAA quality and speed, 0 is fastest, 9 is highest quality. Default setting is 6.<br />
<br />
===Gameplay===<br />
====-start_mission====<br />
'''"Skip the mainhall in jump right into the specified mission"'''<br />
<br />
Jump into the mission specified by the filename. Only in effect on the first run. This will skip load of the mainhall and its other related things altogether.<br />
<br />
====-mod====<br />
Specifies in which folders inside FreeSpace 2 directory, the game looks for all the game data (models, missions, textures, tables, ...). Retail version only looks inside ''Freespace2/data/'' structure and ''Freespace2/vp archives''.<br />
<br />
This flag allows installing several different mods that modify retail behavior, and switching between them without needing to erase files or having undesired cross effects. Each mod should be installed in its own folder.<br />
<br />
It takes one argument string: the chain of names of the used directories. Comma (''',''') must be used as separator. In this way, '''-mod dir1,dir2,dir3,...,dirx''' causes the game to use the following directory precedence:<br />
<br />
#Freespace2/dir1/<br />
#Freespace2/dir2/<br />
#Freespace2/dir3/<br />
# ... (the rest of the typed directories) ...<br />
#Freespace2/dirx/<br />
#Freespace2/<br />
<br />
This flag can be indirectly set, (and it is normally set), through Launcher MOD tab and [[mod.ini]] file.<br />
<br />
Within the Launcher's MOD tab you can select one directory, (let's call it ''moddir''), so the flag is at least set to '''-mod moddir'''.<br />
If ''Freespace2/moddir/[[mod.ini]]'' exists it will be used to modify the -mod flag, too.<br />
<br />
For further details, see '''[[mod.ini]]'''<br />
<br />
'''Data precedence'''<br />
<br />
As already said, within the different directories, the data precedence is set by the specified order in the -mod flag. The lowest priority goes to the Freespace2 installation directory.<br />
<br />
Inside each directory, data precedence is the following:<br />
<br />
#Individual files located in ''Current_dir/data/'' subdir structure. See [[FS2_Data_Structure|FS2 Data Structure topic]] for deeper info about the different folders and contents this structure has.<br />
#Files located inside vp archives. (These vp archives are "similar" to zip archives. They just contain other files and folders. Moreover, files have to be stored using the same ''data/'' structure used outside it). <br>Vp archives are read in alphabetical order, so aaa.vp files have higher priority than aab.vp files and so on.<br />
<br />
The highest priority file overrides the rest of them. In this way, if you have a ''Mission.fs2'' inside ''Freespace2/Pri1/data/missions/'' it doesn't matter that this ''Mission.fs2'' is also inside ''Freespace2/Pri1/aaa.vp'', ''Freespace2/Pri1/aab.vp'', ... or ''Freespace2/data/missions/''. This data precedence allows the user to quickly replace old files by corrected or enhanced ones adding them in a higher priority place.<br />
<br />
<br />
'''Additional notes'''<br />
# As derived from the explanation, the exact names for directories or vp archives are actually irrelevant. It only matters the directory order inside -mod flag argument and the alphabetical order for vp archives inside each used directory.<br />
# This flag is also used by [[Portal:FRED|FRED]]. So if there is special mod info, (like backgrounds maps, ship models or whatever), it must be typed, (''Fred2_Open_r.exe -MOD whatever''), or FRED won't be able to use it. A special build of wxLauncher is able to configure FRED so that the -mod doesn't have to be done manually see [http://www.hard-light.net/forums/index.php?topic=67950.msg1387911#msg1387911 the forum post] for more details.<br />
{{Table3612|As of 3.6.12 FRED now loads cmdline_fso.cfg just like FS does so FRED will use the same settings as FS including the -mod settings}}<br />
# Be careful while typing the directory names in the flag argument or inside mod.ini files. The program doesn't check if the typed directories exist. If they do not exist, they are just ignored. No warnings, no errors, no messages at all.<br />
<br />
{{Warning| '''Priority and Texture Formats'''<br />
<br />
''Obsolete behavior - Until FS2_open v3.6.9.:''<br />
<br />
FS2_Open can use several file formats in textures: [http://en.wikipedia.org/wiki/PCX PCX], [http://en.wikipedia.org/wiki/DirectDraw_Surface DDS], [http://en.wikipedia.org/wiki/JPG JPG] and [http://en.wikipedia.org/wiki/TGA TGA]. Make sure you keep the format when you update your texture. For example if you update the old ''TextureOfMyFighter.tga'', do not save it as ''TextureOfMyFighter.dds'' in a higher priority place, because there is a chance of the game loading the old one despite of all.<br />
<br />
The reason to do this is that, loading process (including priorities) is applied firstly for a kind of textures (TGAs), then for another kind (JPGs), and so on. This behavior can lead to situation where your new, updated and higher priority placed texture is not read because the format of the older one.<br />
<br />
<br />
''New behavior - From FS2_open v3.6.10. (including previous beta testing releases):''<br />
<br />
The former issue has been fixed. Now texture format priority is only applied within the same location. In this ''strange'' situation it goes DDS -> TGA -> JPG -> PCX. Examples:<br />
* ''/Freespace2/MyVp.vp>>>data/maps/MyTexture.dds'' is loaded instead of ''/Freespace2/MyVp.vp>>>data/maps/MyTexture.tga''.<br />
* But your improved ''/Freespace2/data/maps/MyTexture.xxx'' will override them both despite of its format.<br />
In this way, when you update any texture, you don't have to pay attention to its original format. Just place it in a higher priority place.<br />
<br />
Nevertheless, global priority is kept between animated and static textures. Because of their management, animated textures (ANIs and EFFs) are looked for BEFORE static ones. In this way there's no way to update an animated texture with a static one (an obsolete ANI is always going to be loaded before the newer DDS version). The solution: use an updated EFF with just one frame.<br />
<br />
}}<br />
<br />
====-fov====<br />
This flag allows the player to specify the ''vertical'' Field of View (FoV) angle, in radians, for the player eyepoint. The angle is measured across the full height of the viewing cone. The FoV angle is technically known as the Angle of View (AoV)<br />
<br />
*Syntax: '''''float''''' Angle<br />
*Valid Values: 0 to 2*Pi radians<br />
*Default Value: 0.75 radians<br />
<br />
{{Note|For peculiar reasons, the actual FoV/AoV used by the game will be the supplied value multiplied by 1.39626348.}}<br />
<br />
<br />
The the FoV angle/AoV is what determines the relative zoom level of the main game camera. Smaller angles generally equal to higher zoom levels, while larger angles equal to lower zoom levels (down to the theoretical x0 magnification).<br />
<br />
<br />
However, too small of an angle will have a squashed look on the edges of your screen, and too high of an angle will greatly stretch edges. It is recommended to change the AoV, as FS2's default AoV has some perspective distortion at the screen edges (the default AoV is too high).<br />
<br />
<br />
A natural looking (as if you where physically in the cockpit) AoV depends on the distance the player's actual eyes are away from the screen: the further away from the screen, the smaller the AoV should be, and vice versa. "Ergonomic" distances generally yield a '''''diagonal''''' AoV of 0.523 radians (30 degrees), but you can easily find the natural AoV by the following formula:<br />
<br />
<br />
AoV (radians) = 2 * atan( H / ( 2*D ))<br />
<br />
where:<br />
<br />
Height of screen = H<br />
<br />
Distance between head/eye and the screen = D<br />
<br />
<br />
Generally, gamers like to increase the AoV in order to increase their peripheral vision on the screen, so as to gain a better situational awareness around their craft. An AoV of 0.39 radians seems to be a good start, but feel free to experiment and use whatever AoV you are most comfortable with.<br />
<br />
===Multiplayer===<br />
====-gamename====<br />
Specifies the name of the game to be created by the host. This only works when used in conjunction with -startgame. <br />
<br />
Takes one argument string, the name to be assigned to the game being created.<br />
<br />
This argument does nothing when used with -standalone. To set the name for a standalone server, see [[Multiplayer(Main)#Standalone Servers|Standalone Servers]].<br />
<br />
See related:&nbsp;&nbsp; [[Command-Line_Reference#-startgame|-startgame]]&nbsp;&nbsp; [[Multiplayer(Main)#Standalone Servers|Standalone Servers]]<br />
<br />
====-password====<br />
Specifies the password for a standalone server. This only works when used in conjunction with -startgame. Cannot be used in conjunction with -closed or -restricted.<br />
<br />
Takes one argument string, the required password for the game being created.<br />
<br />
See related: [[Command-Line_Reference#-startgame|-startgame]] [[Command-Line_Reference#-closed|-closed]] [[Command-Line_Reference#-restricted|-restricted]]<br />
<br />
====-allowabove====<br />
Specifies a player's minimum rank for joining a game. This only works when used in conjunction with -startgame.<br />
<br />
Takes one argument integer, the points ranking above which a player must be to enter the game.<br />
<br />
See related: [[Command-Line_Reference#-startgame|-startgame]]<br />
<br />
====-allowbelow====<br />
Specifies a player's maximum rank for joining a game on a standalone server. This only works when used in conjunction with -startgame.<br />
<br />
Takes one argument integer, the points ranking below which a player must be to enter the game.<br />
<br />
See related: [[Command-Line_Reference#-startgame|-startgame]]<br />
<br />
====-port====<br />
Specifies the port on which to host a game or serve a standalone game.<br />
<br />
Takes one argument integer, the port on which the host will listen for clients.<br />
<br />
====-connect====<br />
Automatically connect to multiplayer IP:PORT.<br />
<br />
Takes one string value, such as 192.168.0.1:<br />
<br />
====-timeout====<br />
Multiplayer network timeout (secs).<br />
<br />
Takes one integer argument, the timeout value in seconds. Default is 30.<br />
<br />
====-cap_object_update====<br />
Caps the maximum object update the server will respond to regardless of what the client has set. If the client is set to request high object updates but the server is capped to low, then that's all the client will get. <br />
<br />
Takes one argument integer (0 to 3) which corresponds to the object update cap (With 0 being low and 3 being LAN).<br />
<br />
===Help===<br />
====-help====<br />
Instructs FSO to print out all supported parameters. Some launchers can use these options to automatically populate the available command line options, even if the version of FSO is far newer than the launcher itself. NOTE: This option only works in Linux builds...<br />
<br />
====--help====<br />
See [[Command-Line_Reference#-help|-help]]<br />
<br />
====-h====<br />
See [[Command-Line_Reference#-help|-help]]<br />
<br />
====-?====<br />
See [[Command-Line_Reference#-help|-help]]<br />
<br />
[[Category:Lists]]<br />
[[Category:Source Code Project]]</div>Chief1983https://wiki.hard-light.net/index.php?title=Command-Line_Reference&diff=44098Command-Line Reference2014-06-30T17:24:38Z<p>Chief1983: Move -start_mission under the 'Other/Gameplay' category since it requires an argument.</p>
<hr />
<div>Command-Line Flags (also called Command-Line Parameters) are optional flags passed to the FSO executable, and generally enables one or more features added to the FS2 Open engine. These flags are accessed conveniently through an [[FSO Launcher]]. To have FSO list all available flags, use any one of the following: [[Command-Line_Reference#-help|-help]], [[Command-Line_Reference#-help|--help]], [[Command-Line_Reference#-help|-h]], or [[Command-Line_Reference#-help|-?]].<br />
<br />
<!--May need version info for the various flags, such as 3.6.13, etc. --><br />
<br />
===Graphics===<br />
====-spec====<br />
'''"Enable Specular"'''<br />
<br />
Only polygons mapped with textures for which a shinemap exists will receive specular mapping; no attempt is made to generate spec maps where they do not exist. Specular maps are specified with the base map name plus "-shine" (i.e. TCov3A-shine.pcx).<br />
{{Table3615|<br />
*This feature is on by default, use launcher option Disable Specular or if necessary to manually disable enter the flag -nospec}}<br />
<br />
====-env====<br />
'''"Enable Environment maps"'''<br />
<br />
It only works if [[Command-Line_Reference#-spec|-spec]] is also set. Environment mapping intensity will be determined from the shine map too (see [[Texturing]] for more info). [[Installing FreeSpace 2 Open#Video setup|See Video setup.]]<br />
{{Table3615|<br />
*This feature is on by default, use launcher option Disable Environment Maps or if necessary to manually disable enter the flag -noenv }}<br />
<br />
====-glow====<br />
'''"Enable Glowmaps"'''<br />
<br />
Only polygons mapped with textures for which a glowmap exists will be glowmapped. Glow maps are specified with the base map name plus "-glow" (i.e. TCov4A-glow.pcx)<br />
{{Table3615|<br />
*This feature is on by default, use launcher option Disable Glow Maps or if necessary to manually disable enter the flag -noglow }}<br />
<br />
====-nomotiondebris====<br />
'''"Disable motion debris"'''<br />
<br />
====-noscalevid====<br />
"Disable scale-to-window for Movies"<br />
<br />
Disables fullscreen scaling of video clips.<br />
<br />
====-missile_lighting====<br />
'''"Apply Lighting to Missiles"'''<br />
<br />
====-normal====<br />
'''"Enable Normal Maps"'''<br />
<br />
Normal maps require GLSL rendering, (see [[OpenGL_Shaders_(GLSL)|OpenGL Shaders (GLSL)]] for further info). It needs auxiliary normal maps (the same name of the base map plus "-normal"). DXT5_NM DDS format is needed. (Technical note: DXT5 will work, since only the GREEN and ALPHA channels are read by the current shader system. One direction of lines goes into the GREEN channel, the other direction goes into the ALPHA channel. RED and BLUE can be either base gray (#808080) or black. Usual practice is after creating the DXT5_NM, copy the RED channel to the ALPHA channel, black out the RED and BLUE an then save as either a DXT5 or u8888 (uncompressed) DDS file.)<br />
{{Table3615|<br />
*This feature is on by default, use launcher option Disable Normal Maps or if necessary to manually disable enter the flag -nonormal }}<br />
<br />
====-height====<br />
Enables height maps (parallax mapping). It only works if [[Command-Line_Reference#-normal|-normal]] is also set. It also needs GLSL rendering, (see [[OpenGL_Shaders_(GLSL)|OpenGL Shaders (GLSL)]] for further info). It needs auxiliary height maps (with the same name than base map plus "-height").<br />
{{Table3615|<br />
*This feature is on by default. To manually disable, enter the flag -noheight}}<br />
<br />
====-post_process====<br />
'''"Enable Post Processing"'''<br />
<br />
enables the use (if present) of post-processing effects as defined by the post_process.tbl. Bloom usage has an additional cmdline option for setting it's value, most post processing effects are achieved in mission per the mission designer or can be enabled globally in the table.<br />
<br />
====-soft_particles====<br />
'''"Enable soft particles"'''<br />
<br />
====-3dshockwave====<br />
'''"Enable 3D Shockwaves"'''<br />
<br />
This only has any effect when both a 2d and 3d shockwave effect are present, otherwise the only available effect is used (2d shockwave is defined by effects/shockwave01.eff or .ani, and 3d shockwave by models/shockwave.pof)<br />
<br />
Note that 3d shockwaves are usually flat discs, that FSO scales up. The animated 2d billboards used by 2d shockwaves with the addition of [[Command-Line Reference#-soft_particles|soft particles]], may look better when intersecting with models (which shockwaves often do). Use at your discretion.<br />
<br />
====-fxaa====<br />
'''"Enable FXAA antialiasing"'''<br />
<br />
Enables the FXAA postprocessing stage. Further information can be found here: http://www.hard-light.net/forums/index.php?topic=76145.0<br />
<br />
====-nolightshafts====<br />
'''"Disable lightshafts"'''<br />
<br />
Disables Lightshafts even if a mission designer enables them via SEXP in a mission. This was previously documented as -flightshaftsoff but appears to have been changed to -nolightshafts for consistency before -flightshaftsoff was ever used in a released build.<br />
<br />
===Game Speed===<br />
====-img2dds====<br />
'''"Compress non-compressed images"'''<br />
<br />
Converts all images to DDS (compressed) format. Decreases memory usage but potentially reduces image quality.<br />
<br />
====-no_vsync====<br />
'''"Disable vertical sync"'''<br />
<br />
====-cache_bitmaps====<br />
'''"Cache bitmaps between missions"'''<br />
<br />
Will ideally reduce the load-time from one mission to another.<br />
<br />
<br />
===HUD===<br />
====-dualscanlines====<br />
'''"Another Pair of Scanning Lines"'''<br />
<br />
Adds a second pair of scanning lines to the target window when scanning an object.<br />
<br />
====-targetinfo====<br />
'''"Enable Info next to Target"'''<br />
<br />
Displays target info, such as name and class, beside the targeted object.<br />
<br />
====-orbradar====<br />
'''"Enables 3D radar"'''<br />
<br />
An Orb style 3D radar will replace the standard 2D version.<br />
<br />
====-rearm_timer====<br />
'''"Enable Rearm/Repair Completion Timer"'''<br />
<br />
Displays time remaining until rearm and repair from a support ship is complete.<br />
<br />
====-ballistic_gauge====<br />
'''"Enable the analog Ballistic Ammo gauge"'''<br />
<br />
Adds an ammo gauge to the HUD when armed with a ballistic weapon.<br />
<br />
<br />
===Gameplay===<br />
====-ship_choice_3d====<br />
'''"Use Models for Ship Selection"'''<br />
<br />
Uses ship models in ship selection window. It completely disables the standard ANI interface in this screen. <br><br />
Some mods need a compulsory use of this flag because they don't have available animations for their ships. In this situation, and if it is not used, the game will probably crash to desktop in the ship selection window.<br />
<br />
====-weapon_choice_3d====<br />
'''"Use Models for Weapon Selection"'''<br />
<br />
Uses weapon models in weapon loadout window for secondary weapons (missiles and bombs). It completely disables the standard ANI interface in this screen. <br><br />
Some mods need a compulsory use of this flag because they don't have available animations for their secondary weapons. In this situation, and if it is not used, the game will probably crash to desktop in the weapon loadout window.<br />
<br />
====-3dwarp====<br />
'''"Enable 3D Warp"'''<br />
<br />
Use full geometry for the subspace warp effect.<br />
<br />
====-warp_flash====<br />
'''"Enable Flash upon Warp"'''<br />
<br />
Enable a flash at warp in and warp out.<br />
<br />
====-no_ap_interrupt====<br />
'''"Disable Interrupting of AutoPilot"'''<br />
<br />
Tells the game to not allow players to interrupt an autopilot already-in-progress.<br />
<br />
====-stretch_menu====<br />
'''"Stretch interface to fill screen"'''<br />
<br />
Scales the interface to fill the screen without preserving the aspect ratio. Omit this to keep the aspect ratio, adding black bars where appropriate.<br />
<br />
<br />
===Audio===<br />
====-snd_preload====<br />
'''"Preload mission game sounds"'''<br />
<br />
Useful in preventing game stuttering when sounds are played for the first time.<br />
<br />
====-nosound====<br />
'''"Disable Sound and Music"'''<br />
<br />
====-nomusic====<br />
'''"Disables Music"'''<br />
<br />
===Multiplayer===<br />
====-standalone====<br />
'''"Run as Stand Alone Server"'''<br />
<br />
Creates a standalone multi-player server.<br />
<br />
====-startgame====<br />
'''"Skip Mainhall and Start Hosting"'''<br />
<br />
Once you launch and choose a pilot within the game, you will immediately have begun to host a game. This can be used in conjunction with several options to customize the game you create: -closed, -restricted, -password, -gamename, -allowabove, and -allowbelow. -startgame has no effect when -standalone is used.<br />
<br />
See related: [[Command-Line_Reference#-closed|-closed]] [[Command-Line_Reference#-restricted|-restricted]] [[Command-Line_Reference#-password|-password]] [[Command-Line_Reference#-gamename|-gamename]] [[Command-Line_Reference#-allowabove|-allowabove]] [[Command-Line_Reference#-allowbelow|-allowbelow]]<br />
<br />
====-closed====<br />
'''"Start Hosted Server as Closed"'''<br />
<br />
Hosts a new game in a closed state, where no one can join until the in-game "Close" button is cleared. This only works when used in conjunction with -startgame. Cannot be used in conjunction with -restricted or -password.<br />
<br />
See related: [[Command-Line_Reference#-startgame|-startgame]] [[Command-Line_Reference#-restricted|-restricted]] [[Command-Line_Reference#-password|-password]]<br />
<br />
====-restricted====<br />
'''"Host Confirms Join requests"'''<br />
<br />
Hosts a new game in a restricted state. The host is presented with option to accept or deny each client's request to join the game. This only works when used in conjunction with -startgame. Cannot be used in conjunction with -closed or -password.<br />
<br />
See related: [[Command-Line_Reference#-startgame|-startgame]] [[Command-Line_Reference#-closed|-closed]] [[Command-Line_Reference#-password|-password]]<br />
<br />
====-multilog====<br />
Creates a log file with a summary of packets sent and received in multiplayer games. The file is saved as \data\multi.log within the active mod folder&mdash;or with main data folder if no mod is active.<br />
<br />
====-clientdamage====<br />
{{Note| This feature is not available in current builds.}}<br />
<br />
====-mpnoreturn====<br />
'''"Disables Flight Deck option"'''<br />
<br />
Disables return to the flight deck screen after a mission completes.<br />
<br />
<br />
===Troubleshooting===<br />
====-nohtl====<br />
'''"Software Mode (very slow)"'''<br />
{{Warning| Enabling this will significantly reduce performance.}}<br />
Reverts to software rendering mode.<br />
<br />
====-no_set_gamma====<br />
'''"Disable Setting of Gamma"'''<br />
<br />
Disables the gamma settings in the options screen.<br />
<br />
====-nomovies====<br />
'''"Disable Video Playback"'''<br />
<br />
Disables all video playback.<br />
<br />
====-noparseerrors====<br />
'''"Disable Parsing Errors"'''<br />
<br />
Disables some parsing warnings and makes other parse errors non-fatal. Do not rely on this when creating new tables. The errors are there for a reason.<br />
<br />
====-parse_cmdline_only====<br />
'''"Parse Command Line Only"'''<br />
<br />
Parse only the application command line settings, and ignore any that may have been set in the on-disk data/cmdline_fso.cfg or per-user cmdline_fso.cfg (on Linux/Mac)<br />
<br />
====-safeloading====<br />
Loads missions the old way. Typically safer, but slower.<br />
{{Note| This parameter was removed as of the July 5, 2011 nightly build.}}<br />
<br />
====-query_speech====<br />
'''"Does this build have Speech?"'''<br />
<br />
Determines if the current build includes text-to-speech.<br />
<br />
====-novbo====<br />
'''"Disable OpenGL VBO"'''<br />
<br />
====-noibx====<br />
'''"Don't use cached index buffers (IBX)"'''<br />
<br />
Disables IBX caching of model geometry data. This will dramatically increase load times, but will help troubleshoot a model if one is working incorrectly.<br />
<br />
====-loadallweps====<br />
'''"Load all weapons, even those not used"'''<br />
<br />
====-disable_fbo====<br />
'''"Disable OpenGL RenderTargets"'''<br />
<br />
====-disable_pbo====<br />
'''"Disable OpenGL Pixel Buffer Objects"'''<br />
<br />
Disables the use of Pixel Buffer Objects (PBO) which may cause certain OpenGL operations to perform slower. Note PBO's were only used at three places in FSO anyway so it's *probably* not going to have a noticeable effect. <br />
<br />
May be required to workaround issues in certain versions of Linux's Mesa drivers for Intel integrated graphics cards where crashes occur in the mainhall (i.e. whenever a popup occurs). Distros that seem to have this problem presently include Ubuntu 13.10 and openSUSE 13.1.<br />
{{Table371|<br />
*This feature is present to work around a bug in Linux's Mesa drivers for Intel integrated graphics cards}}<br />
<br />
====-no_glsl====<br />
'''"Disable GLSL (shader) Support"'''<br />
<br />
Disables the use of GLSL rendering (OpenGL shaders). The game will revert to legacy fixed render pipeline. Please note that Normal and Height map effects will be unavailable.<br />
<br />
====-disable_glsl_model====<br />
'''"Don't use shaders for model rendering"'''<br />
<br />
====-ati_swap====<br />
'''"Fix Color issues on some ATI cards"'''<br />
<br />
====-no_3d_sound====<br />
'''"Use only 2D/stereo for sound effects"'''<br />
<br />
====-disable_di_mouse====<br />
'''"Disables the DirectInput mouse code for FSO on windows."'''<br />
<br />
'''Windows Only''' Can make mouse movement smoother on certain machines.<br />
<br />
====-mipmap====<br />
'''"Enable mipmapping"'''<br />
<br />
Causes for non-mipmapped textures to have mipmaps generated within the GPU on certain kind of texture formats, (IIRC, DDS formatted textures with a power of 2 size in both width and height). <br><br />
Since the use of already mipmapped DDS textures has become common, it has become deprecated.<br />
The quality of the generated mipmaps depends on each GPU and used driver. It is normally used with [[Command-Line_Reference#-img2dds|-img2dds]] flag.<br />
<br />
====-use_gldrawelements====<br />
'''"Use glDrawElements instead of glDrawRangeElements"'''<br />
<br />
Introduced as a means of switching to the slower OpenGL call glDrawElements, instead of glDrawRangeElements.<br />
{{Table3614|<br />
*This feature may resolve certain rendering problems where parts of models are not drawn on Linux drivers}}<br />
<br />
====-keyboard_layout====<br />
'''"Manually sets a keyboard layout"'''<br />
<br />
A commandline parameter to set the keyboard layout as a string parameter.<br />
{{Table3614|<br />
*Currently the only valid string is "qwertz" (German) but French azerty may be added in future.}}<br />
<br />
====-old_collision====<br />
'''"Use old collision detection system"'''<br />
<br />
Uses the old collision code instead of Swifty's new collision code introduced in the 'go_even_faster' project.<br />
<br />
===Experimental===<br />
====-ingame_join====<br />
'''"Allows Ingame Joining"'''<br />
<br />
Enables ingame joining in multiplayer. FIXME: Host option?<br />
<br />
====-voicer====<br />
'''"Voice Recognition"'''<br />
<br />
Windows-only. Enables voice-recognition for wingmen commands. Must be specifically compiled into a build in order for it to be available; 3.6.10 final includes the feature. See [[Voice Recognition]] for more details.<br />
<br />
====-fb_explosions====<br />
'''"Enable Framebuffer Shockwaves"'''<br />
<br />
===Development Tools===<br />
====-fps====<br />
'''"Show frames per second on HUD"'''<br />
<br />
Displays current frames per second.<br />
<br />
====-pos====<br />
'''"Show Position of Camera"'''<br />
<br />
Displays current position coordinates of camera.<br />
<br />
====-window====<br />
'''"Run in Window"'''<br />
<br />
Runs the game in a window. No check to make sure that resolution is no higher than your desktop resolution, so be careful.<br />
<br />
====-fullscreen_window====<br />
'''"Run in Fullscreen Window"'''<br />
{{Note| This feature is only available on Windows.}}<br />
<br />
====-timerbar====<br />
Displays a timing bar across the top of the screen. Timerbar format varies by build. This is a relic from the Volition development days, and is unmaintained.<br />
{{Note| This parameter was removed as of the July 5, 2011 nightly build.}}<br />
<br />
====-stats====<br />
'''"Show Statistics"'''<br />
<br />
Shows total and free physical memory, virtual memory and system pagefile.<br />
<br />
====-coords====<br />
'''"Show Coordinates"'''<br />
<br />
Shows coordinates of the mouse cursor.<br />
<br />
====-show_mem_usage====<br />
'''"Show Memory Usage"'''<br />
<br />
Shows detailed RAM usage based on file, handler and process usage and display on the left-center side of the screen during mission load and while in mission.<br />
<br />
The meaning of the info displayed in the upper right corner of the HUD is:<br />
<br />
'''DYN''' = dynamic memory, basically anything that's been allocated by the vm_* memory functions. This does NOT indicate total memory usage but does account for most of it.<br />
<br />
'''POF''' = model memory, how much memory is being used by models (does not include textures)<br />
<br />
'''C-BMP, BMP''' = bmpman memory, how much is used by the textures/images that are loaded. C-BMP means that you are using -cache_bitmaps and it will try to keep textures in memory between level loads and as the new level is loading it will keep what it needs and unload what it doesn't. Can greatly increase level loading speed, but does so at the cost of memory between level loads. This does not increase overall memory usage though, only during the loading screen. BMP means that it is not cached and all textures are unloaded from memory at the start of level load and all needed textures are then loaded from the disk again.<br />
<br />
'''S-RAM''' = sound memory, how much is used by the sounds loaded in memory at the time. This counts static sounds only (from sounds.tbl, etc.) and not streaming sounds (music, voices, briefing stuff, etc).<br />
<br />
'''V-RAM''' = approximate memory usage of video textures. This does not mean that your card has this much memory, and can report higher numbers that your card actually has memory. For OpenGL it also includes some of the geometry data, but this number does not reflect the total memory that your video card is using. It only reports how much data the game has purposefully loaded into API memory (meaning it could be in system memory, video card memory, or AGP memory).<br />
<br />
<br />
''(It only works with debug builds, not with release builds).''<br />
<br />
====-pofspew====<br />
Reads all objects in the pof file of the selected mod, and creates an ibx cache file for each object in the data/cache folder for that mod. <br><br />
Details for each object are output to a pofspew.txt file created in the data folder. <br><br />
Otherwise, ibx files are created in game before each mission.<br />
<br />
====-tablecrcs====<br />
Is actually now (or should be) a typed reference rather than as a selection item. Takes 1 argument, usually a descriptive name.<br />
Example usage: "-table_crcs MediaVPs" will create a table_crcs.csv file in the running mod (name can be separate of the mod selected) that allows for the validation of the tables used by that mod while on-line. The descriptive parameter given helps "allocate" that .csv file to the mod in question, and as such should closely or exactly match that mods name if possible.<br />
<br />
====-missioncrcs====<br />
Is actually now (or should be) a typed reference rather than as a selection item. Takes 1 argument, usually a descriptive name.<br />
Example usage: "-mission_crcs MediaVPs" will create a mission_crcs.csv file in the running mod (name can be separate of the mod selected) that allows for the validation of the missions used by that mod while on-line. The descriptive parameter given helps "allocate" that .csv file to the mod in question, and as such should closely or exactly match that mods name if possible.<br />
<br />
====-dis_collisions====<br />
'''"Disable Collisions"'''<br />
<br />
Disables all collisions.<br />
<br />
====-dis_weapons====<br />
'''"Disable Weapon Rendering"'''<br />
<br />
Disables weapons rendering.<br />
<br />
====-output_sexps====<br />
This will make the FSO build spit out an html file that documents the supported SEXP's.<br />
<br />
Just double click on sexps.html and it should open in your default web browser.<br />
<br />
====-output_scripting====<br />
This will make the FSO build spit out an html file that documents the supported scripting hooks and LUA libraries.<br />
<br />
Just double click on scripting.html and it should open in your default web browser.<br />
<br />
====-nograb====<br />
Disables focus grabbing in a window.<br />
{{Note| This feature is not available on Windows.}}<br />
<br />
====-save_render_target====<br />
'''"Save Render Targets to file"'''<br />
<br />
====-debug_window====<br />
'''"Display Debug Window"'''<br />
<br />
Lists the fs2_open.log in (nearly)real-time generation.<br />
<br />
====-verify_vps====<br />
'''"Spew VP crcs to vp_crcs.txt"'''<br />
<br />
Exports the CRC values of the VP files being loaded into a vp_crcs.txt file.<br />
<br />
====-reparse_mainhall====<br />
'''"Reparse mainhall.tbl when loading halls"'''<br />
<br />
Mainhall.tbl will be reparsed every time a mainhall is loaded, as opposed to just once at game startup.<br />
<br />
====-profile_frame_time====<br />
'''"Profile engine subsystems"'''<br />
<br />
Activates the frame profiling code. This presents a readout showing the current, minimum, maximum and average percentages of frametime a given section of code has taken up; this can be used to identify particular bottlenecks or measure the effectiveness of certain optimizations.<br />
<br />
====-profile_write_file====<br />
'''"Write profiling information to file"'''<br />
<br />
This will write the frame times of each gameplay frame to the file 'profiling.csv' where each line is ''<framenumber>;<frametime>''. The first two frames are usually very long because the timer is set at engine startup so you might want to exclude those from your data.<br />
<br />
====-no_unfocused_pause====<br />
'''"Don't pause if the window isn't focused"'''<br />
<br />
When the FSO window looses focus it will not pause the game, useful for doing non-interactive test runs.<br />
<br />
==Other==<br />
The following options are not available as checkboxes in the launcher. Many require parameters, which follow the flag separated by a space. The prototype for use in this case is "-option argument"<br />
<br />
===Lighting===<br />
These factors can dramatically alter the atmosphere of the game. [[Sample Lighting Settings|This page]] has some sample lighting settings with screenshots.<br />
<br />
====-ambient_factor====<br />
This must be entered into the "Custom flags" field. This is a multiplier applied to the intensity of ambient lighting. Ambient light is lighting applied to all parts of a ship. FS2's standard value is 120. Try 75 for a good and realistic looking value. However, that is relative.<br />
<br />
====-no_emissive_light====<br />
By default, all ships in FS2 have a light generated on their own, it is more or less similar to a minimal amount of -ambient_factor. This feature was implemented to help the player seeing the ships over a black background. This flag disables this feature. Use it with a low -ambient_factor value to obtain an ultra-realistic dark looking.<br />
<br />
====-spec_exp====<br />
This must be used with the -spec command line parameter and must be entered into the "Custom flags" field. Adjusts the size of the shiny spot on ships. Higher number mean smaller spots. Default is 16. However, 11 is recommended. This is a relative value.<br />
<br />
====-spec_point====<br />
This must be used with the -spec command line parameter and must be entered into the<br />
"Custom flags" field. Adjusts how much laser weapons contribute to specular highlights. Higher number mean greater contributions. Default is 1.0. However, 0.6 is recommended. This is a relative value.<br />
<br />
====-spec_static====<br />
This must be used with the -spec command line parameter and must be entered into the "Custom flags" field. Adjusts how much suns contribute to specular highlights. Higher numbers mean a greater contribution. Default is 1.0. However, is 0.8 recommended. This is a relative value.<br />
<br />
====-spec_tube====<br />
This must be used with the -spec command line parameter and must be entered into the "Custom flags" field. Adjusts how much Beam Weapons contribute to specular highlights. Higher numbers mean a greater contribution. Default is 1.0. However, 0.4 is recommended. This is a relative value.<br />
<br />
====-ogl_spec====<br />
Takes a numerical argument. This value changes the basic shininess of the specular light in OpenGL. A lower value reduces the overall intensity of the light making it broader and less powerful. A higher value makes it more focused and brighter. The default value is 80, and the usable range is 0 to 128 (clamped). The original default value was 60, but it was raised to behave more D3D like.<br />
<br />
<br />
===Graphics===<br />
====-bloom_intensity====<br />
Requires -post_processing ("Enable Post Processing") command.<br />
Default value is 75. Range is 0-200.<br />
<br />
====-clipdist====<br />
Changes the distance from the viewpoint for the near-clipping plane.<br />
<br />
Takes one argument decimal specifying the distance to the near-clipping plane.<br />
<br />
====-res====<br />
Allows you to specify a resolution if the desired one cannot be set in the Launcher. <br />
For example, -res 1920x1080 would run the game in 1920 x 1080 resolution. Since it requires an argument, it needs to be entered as a custom flag when using the Launcher. The "Run at specified resolution" option the Launcher gives is essentially this, but without being able to actually specify a resolution, it doesn't work.<br />
<br />
====-fxaa_preset====<br />
Requires both -post_processing and -fxaa. Can be used to adjust the FXAA quality and speed, 0 is fastest, 9 is highest quality. Default setting is 6.<br />
<br />
===Gameplay===<br />
====-start_mission====<br />
'''"Skip the mainhall in jump right into the specified mission"'''<br />
<br />
Jump into the mission specified by the filename. Only in effect on the first run. This will skip load of the mainhall and its other related things altogether.<br />
<br />
====-mod====<br />
Specifies in which folders inside FreeSpace 2 directory, the game looks for all the game data (models, missions, textures, tables, ...). Retail version only looks inside ''Freespace2/data/'' structure and ''Freespace2/vp archives''.<br />
<br />
This flag allows installing several different mods that modify retail behavior, and switching between them without needing to erase files or having undesired cross effects. Each mod should be installed in its own folder.<br />
<br />
It takes one argument string: the chain of names of the used directories. Comma (''',''') must be used as separator. In this way, '''-mod dir1,dir2,dir3,...,dirx''' causes the game to use the following directory precedence:<br />
<br />
#Freespace2/dir1/<br />
#Freespace2/dir2/<br />
#Freespace2/dir3/<br />
# ... (the rest of the typed directories) ...<br />
#Freespace2/dirx/<br />
#Freespace2/<br />
<br />
This flag can be indirectly set, (and it is normally set), through Launcher MOD tab and [[mod.ini]] file.<br />
<br />
Within the Launcher's MOD tab you can select one directory, (let's call it ''moddir''), so the flag is at least set to '''-mod moddir'''.<br />
If ''Freespace2/moddir/[[mod.ini]]'' exists it will be used to modify the -mod flag, too.<br />
<br />
For further details, see '''[[mod.ini]]'''<br />
<br />
'''Data precedence'''<br />
<br />
As already said, within the different directories, the data precedence is set by the specified order in the -mod flag. The lowest priority goes to the Freespace2 installation directory.<br />
<br />
Inside each directory, data precedence is the following:<br />
<br />
#Individual files located in ''Current_dir/data/'' subdir structure. See [[FS2_Data_Structure|FS2 Data Structure topic]] for deeper info about the different folders and contents this structure has.<br />
#Files located inside vp archives. (These vp archives are "similar" to zip archives. They just contain other files and folders. Moreover, files have to be stored using the same ''data/'' structure used outside it). <br>Vp archives are read in alphabetical order, so aaa.vp files have higher priority than aab.vp files and so on.<br />
<br />
The highest priority file overrides the rest of them. In this way, if you have a ''Mission.fs2'' inside ''Freespace2/Pri1/data/missions/'' it doesn't matter that this ''Mission.fs2'' is also inside ''Freespace2/Pri1/aaa.vp'', ''Freespace2/Pri1/aab.vp'', ... or ''Freespace2/data/missions/''. This data precedence allows the user to quickly replace old files by corrected or enhanced ones adding them in a higher priority place.<br />
<br />
<br />
'''Additional notes'''<br />
# As derived from the explanation, the exact names for directories or vp archives are actually irrelevant. It only matters the directory order inside -mod flag argument and the alphabetical order for vp archives inside each used directory.<br />
# This flag is also used by [[Portal:FRED|FRED]]. So if there is special mod info, (like backgrounds maps, ship models or whatever), it must be typed, (''Fred2_Open_r.exe -MOD whatever''), or FRED won't be able to use it. A special build of wxLauncher is able to configure FRED so that the -mod doesn't have to be done manually see [http://www.hard-light.net/forums/index.php?topic=67950.msg1387911#msg1387911 the forum post] for more details.<br />
{{Table3612|As of 3.6.12 FRED now loads cmdline_fso.cfg just like FS does so FRED will use the same settings as FS including the -mod settings}}<br />
# Be careful while typing the directory names in the flag argument or inside mod.ini files. The program doesn't check if the typed directories exist. If they do not exist, they are just ignored. No warnings, no errors, no messages at all.<br />
<br />
{{Warning| '''Priority and Texture Formats'''<br />
<br />
''Obsolete behavior - Until FS2_open v3.6.9.:''<br />
<br />
FS2_Open can use several file formats in textures: [http://en.wikipedia.org/wiki/PCX PCX], [http://en.wikipedia.org/wiki/DirectDraw_Surface DDS], [http://en.wikipedia.org/wiki/JPG JPG] and [http://en.wikipedia.org/wiki/TGA TGA]. Make sure you keep the format when you update your texture. For example if you update the old ''TextureOfMyFighter.tga'', do not save it as ''TextureOfMyFighter.dds'' in a higher priority place, because there is a chance of the game loading the old one despite of all.<br />
<br />
The reason to do this is that, loading process (including priorities) is applied firstly for a kind of textures (TGAs), then for another kind (JPGs), and so on. This behavior can lead to situation where your new, updated and higher priority placed texture is not read because the format of the older one.<br />
<br />
<br />
''New behavior - From FS2_open v3.6.10. (including previous beta testing releases):''<br />
<br />
The former issue has been fixed. Now texture format priority is only applied within the same location. In this ''strange'' situation it goes DDS -> TGA -> JPG -> PCX. Examples:<br />
* ''/Freespace2/MyVp.vp>>>data/maps/MyTexture.dds'' is loaded instead of ''/Freespace2/MyVp.vp>>>data/maps/MyTexture.tga''.<br />
* But your improved ''/Freespace2/data/maps/MyTexture.xxx'' will override them both despite of its format.<br />
In this way, when you update any texture, you don't have to pay attention to its original format. Just place it in a higher priority place.<br />
<br />
Nevertheless, global priority is kept between animated and static textures. Because of their management, animated textures (ANIs and EFFs) are looked for BEFORE static ones. In this way there's no way to update an animated texture with a static one (an obsolete ANI is always going to be loaded before the newer DDS version). The solution: use an updated EFF with just one frame.<br />
<br />
}}<br />
<br />
====-fov====<br />
This flag allows the player to specify the ''vertical'' Field of View (FoV) angle, in radians, for the player eyepoint. The angle is measured across the full height of the viewing cone. The FoV angle is technically known as the Angle of View (AoV)<br />
<br />
*Syntax: '''''float''''' Angle<br />
*Valid Values: 0 to 2*Pi radians<br />
*Default Value: 0.75 radians<br />
<br />
{{Note|For peculiar reasons, the actual FoV/AoV used by the game will be the supplied value multiplied by 1.39626348.}}<br />
<br />
<br />
The the FoV angle/AoV is what determines the relative zoom level of the main game camera. Smaller angles generally equal to higher zoom levels, while larger angles equal to lower zoom levels (down to the theoretical x0 magnification).<br />
<br />
<br />
However, too small of an angle will have a squashed look on the edges of your screen, and too high of an angle will greatly stretch edges. It is recommended to change the AoV, as FS2's default AoV has some perspective distortion at the screen edges (the default AoV is too high).<br />
<br />
<br />
A natural looking (as if you where physically in the cockpit) AoV depends on the distance the player's actual eyes are away from the screen: the further away from the screen, the smaller the AoV should be, and vice versa. "Ergonomic" distances generally yield a '''''diagonal''''' AoV of 0.523 radians (30 degrees), but you can easily find the natural AoV by the following formula:<br />
<br />
<br />
AoV (radians) = 2 * atan( H / ( 2*D ))<br />
<br />
where:<br />
<br />
Height of screen = H<br />
<br />
Distance between head/eye and the screen = D<br />
<br />
<br />
Generally, gamers like to increase the AoV in order to increase their peripheral vision on the screen, so as to gain a better situational awareness around their craft. An AoV of 0.39 radians seems to be a good start, but feel free to experiment and use whatever AoV you are most comfortable with.<br />
<br />
===Multiplayer===<br />
====-gamename====<br />
Specifies the name of the game to be created by the host. This only works when used in conjunction with -startgame. <br />
<br />
Takes one argument string, the name to be assigned to the game being created.<br />
<br />
This argument does nothing when used with -standalone. To set the name for a standalone server, see [[Multiplayer(Main)#Standalone Servers|Standalone Servers]].<br />
<br />
See related:&nbsp;&nbsp; [[Command-Line_Reference#-startgame|-startgame]]&nbsp;&nbsp; [[Multiplayer(Main)#Standalone Servers|Standalone Servers]]<br />
<br />
====-password====<br />
Specifies the password for a standalone server. This only works when used in conjunction with -startgame. Cannot be used in conjunction with -closed or -restricted.<br />
<br />
Takes one argument string, the required password for the game being created.<br />
<br />
See related: [[Command-Line_Reference#-startgame|-startgame]] [[Command-Line_Reference#-closed|-closed]] [[Command-Line_Reference#-restricted|-restricted]]<br />
<br />
====-allowabove====<br />
Specifies a player's minimum rank for joining a game. This only works when used in conjunction with -startgame.<br />
<br />
Takes one argument integer, the points ranking above which a player must be to enter the game.<br />
<br />
See related: [[Command-Line_Reference#-startgame|-startgame]]<br />
<br />
====-allowbelow====<br />
Specifies a player's maximum rank for joining a game on a standalone server. This only works when used in conjunction with -startgame.<br />
<br />
Takes one argument integer, the points ranking below which a player must be to enter the game.<br />
<br />
See related: [[Command-Line_Reference#-startgame|-startgame]]<br />
<br />
====-port====<br />
Specifies the port on which to host a game or serve a standalone game.<br />
<br />
Takes one argument integer, the port on which the host will listen for clients.<br />
<br />
====-connect====<br />
{{Sectstub}}<br />
====-timeout====<br />
{{Sectstub}}<br />
====-cap_object_update====<br />
Caps the maximum object update the server will respond to regardless of what the client has set. If the client is set to request high object updates but the server is capped to low, then that's all the client will get. <br />
<br />
Takes one argument integer (0 to 3) which corresponds to the object update cap (With 0 being low and 3 being LAN).<br />
<br />
<br />
===Help===<br />
====-help====<br />
Instructs FSO to print out all supported parameters. Some launchers can use these options to automatically populate the available command line options, even if the version of FSO is far newer than the launcher itself. NOTE: This option only works in Linux builds...<br />
<br />
====--help====<br />
See [[Command-Line_Reference#-help|-help]]<br />
<br />
====-h====<br />
See [[Command-Line_Reference#-help|-help]]<br />
<br />
====-?====<br />
See [[Command-Line_Reference#-help|-help]]<br />
<br />
[[Category:Lists]]<br />
[[Category:Source Code Project]]</div>Chief1983https://wiki.hard-light.net/index.php?title=Command-Line_Reference&diff=44097Command-Line Reference2014-06-30T16:39:37Z<p>Chief1983: /* Troubleshooting */ Add -old_collision</p>
<hr />
<div>Command-Line Flags (also called Command-Line Parameters) are optional flags passed to the FSO executable, and generally enables one or more features added to the FS2 Open engine. These flags are accessed conveniently through an [[FSO Launcher]]. To have FSO list all available flags, use any one of the following: [[Command-Line_Reference#-help|-help]], [[Command-Line_Reference#-help|--help]], [[Command-Line_Reference#-help|-h]], or [[Command-Line_Reference#-help|-?]].<br />
<br />
<!--May need version info for the various flags, such as 3.6.13, etc. --><br />
<br />
===Graphics===<br />
====-spec====<br />
'''"Enable Specular"'''<br />
<br />
Only polygons mapped with textures for which a shinemap exists will receive specular mapping; no attempt is made to generate spec maps where they do not exist. Specular maps are specified with the base map name plus "-shine" (i.e. TCov3A-shine.pcx).<br />
{{Table3615|<br />
*This feature is on by default, use launcher option Disable Specular or if necessary to manually disable enter the flag -nospec}}<br />
<br />
====-env====<br />
'''"Enable Environment maps"'''<br />
<br />
It only works if [[Command-Line_Reference#-spec|-spec]] is also set. Environment mapping intensity will be determined from the shine map too (see [[Texturing]] for more info). [[Installing FreeSpace 2 Open#Video setup|See Video setup.]]<br />
{{Table3615|<br />
*This feature is on by default, use launcher option Disable Environment Maps or if necessary to manually disable enter the flag -noenv }}<br />
<br />
====-glow====<br />
'''"Enable Glowmaps"'''<br />
<br />
Only polygons mapped with textures for which a glowmap exists will be glowmapped. Glow maps are specified with the base map name plus "-glow" (i.e. TCov4A-glow.pcx)<br />
{{Table3615|<br />
*This feature is on by default, use launcher option Disable Glow Maps or if necessary to manually disable enter the flag -noglow }}<br />
<br />
====-nomotiondebris====<br />
'''"Disable motion debris"'''<br />
<br />
====-noscalevid====<br />
"Disable scale-to-window for Movies"<br />
<br />
Disables fullscreen scaling of video clips.<br />
<br />
====-missile_lighting====<br />
'''"Apply Lighting to Missiles"'''<br />
<br />
====-normal====<br />
'''"Enable Normal Maps"'''<br />
<br />
Normal maps require GLSL rendering, (see [[OpenGL_Shaders_(GLSL)|OpenGL Shaders (GLSL)]] for further info). It needs auxiliary normal maps (the same name of the base map plus "-normal"). DXT5_NM DDS format is needed. (Technical note: DXT5 will work, since only the GREEN and ALPHA channels are read by the current shader system. One direction of lines goes into the GREEN channel, the other direction goes into the ALPHA channel. RED and BLUE can be either base gray (#808080) or black. Usual practice is after creating the DXT5_NM, copy the RED channel to the ALPHA channel, black out the RED and BLUE an then save as either a DXT5 or u8888 (uncompressed) DDS file.)<br />
{{Table3615|<br />
*This feature is on by default, use launcher option Disable Normal Maps or if necessary to manually disable enter the flag -nonormal }}<br />
<br />
====-height====<br />
Enables height maps (parallax mapping). It only works if [[Command-Line_Reference#-normal|-normal]] is also set. It also needs GLSL rendering, (see [[OpenGL_Shaders_(GLSL)|OpenGL Shaders (GLSL)]] for further info). It needs auxiliary height maps (with the same name than base map plus "-height").<br />
{{Table3615|<br />
*This feature is on by default. To manually disable, enter the flag -noheight}}<br />
<br />
====-post_process====<br />
'''"Enable Post Processing"'''<br />
<br />
enables the use (if present) of post-processing effects as defined by the post_process.tbl. Bloom usage has an additional cmdline option for setting it's value, most post processing effects are achieved in mission per the mission designer or can be enabled globally in the table.<br />
<br />
====-soft_particles====<br />
'''"Enable soft particles"'''<br />
<br />
====-3dshockwave====<br />
'''"Enable 3D Shockwaves"'''<br />
<br />
This only has any effect when both a 2d and 3d shockwave effect are present, otherwise the only available effect is used (2d shockwave is defined by effects/shockwave01.eff or .ani, and 3d shockwave by models/shockwave.pof)<br />
<br />
Note that 3d shockwaves are usually flat discs, that FSO scales up. The animated 2d billboards used by 2d shockwaves with the addition of [[Command-Line Reference#-soft_particles|soft particles]], may look better when intersecting with models (which shockwaves often do). Use at your discretion.<br />
<br />
====-fxaa====<br />
'''"Enable FXAA antialiasing"'''<br />
<br />
Enables the FXAA postprocessing stage. Further information can be found here: http://www.hard-light.net/forums/index.php?topic=76145.0<br />
<br />
====-nolightshafts====<br />
'''"Disable lightshafts"'''<br />
<br />
Disables Lightshafts even if a mission designer enables them via SEXP in a mission. This was previously documented as -flightshaftsoff but appears to have been changed to -nolightshafts for consistency before -flightshaftsoff was ever used in a released build.<br />
<br />
===Game Speed===<br />
====-img2dds====<br />
'''"Compress non-compressed images"'''<br />
<br />
Converts all images to DDS (compressed) format. Decreases memory usage but potentially reduces image quality.<br />
<br />
====-no_vsync====<br />
'''"Disable vertical sync"'''<br />
<br />
====-cache_bitmaps====<br />
'''"Cache bitmaps between missions"'''<br />
<br />
Will ideally reduce the load-time from one mission to another.<br />
<br />
<br />
===HUD===<br />
====-dualscanlines====<br />
'''"Another Pair of Scanning Lines"'''<br />
<br />
Adds a second pair of scanning lines to the target window when scanning an object.<br />
<br />
====-targetinfo====<br />
'''"Enable Info next to Target"'''<br />
<br />
Displays target info, such as name and class, beside the targeted object.<br />
<br />
====-orbradar====<br />
'''"Enables 3D radar"'''<br />
<br />
An Orb style 3D radar will replace the standard 2D version.<br />
<br />
====-rearm_timer====<br />
'''"Enable Rearm/Repair Completion Timer"'''<br />
<br />
Displays time remaining until rearm and repair from a support ship is complete.<br />
<br />
====-ballistic_gauge====<br />
'''"Enable the analog Ballistic Ammo gauge"'''<br />
<br />
Adds an ammo gauge to the HUD when armed with a ballistic weapon.<br />
<br />
<br />
===Gameplay===<br />
====-ship_choice_3d====<br />
'''"Use Models for Ship Selection"'''<br />
<br />
Uses ship models in ship selection window. It completely disables the standard ANI interface in this screen. <br><br />
Some mods need a compulsory use of this flag because they don't have available animations for their ships. In this situation, and if it is not used, the game will probably crash to desktop in the ship selection window.<br />
<br />
====-weapon_choice_3d====<br />
'''"Use Models for Weapon Selection"'''<br />
<br />
Uses weapon models in weapon loadout window for secondary weapons (missiles and bombs). It completely disables the standard ANI interface in this screen. <br><br />
Some mods need a compulsory use of this flag because they don't have available animations for their secondary weapons. In this situation, and if it is not used, the game will probably crash to desktop in the weapon loadout window.<br />
<br />
====-3dwarp====<br />
'''"Enable 3D Warp"'''<br />
<br />
Use full geometry for the subspace warp effect.<br />
<br />
====-warp_flash====<br />
'''"Enable Flash upon Warp"'''<br />
<br />
Enable a flash at warp in and warp out.<br />
<br />
====-no_ap_interrupt====<br />
'''"Disable Interrupting of AutoPilot"'''<br />
<br />
Tells the game to not allow players to interrupt an autopilot already-in-progress.<br />
<br />
====-stretch_menu====<br />
'''"Stretch interface to fill screen"'''<br />
<br />
Scales the interface to fill the screen without preserving the aspect ratio. Omit this to keep the aspect ratio, adding black bars where appropriate.<br />
<br />
<br />
===Audio===<br />
====-snd_preload====<br />
'''"Preload mission game sounds"'''<br />
<br />
Useful in preventing game stuttering when sounds are played for the first time.<br />
<br />
====-nosound====<br />
'''"Disable Sound and Music"'''<br />
<br />
====-nomusic====<br />
'''"Disables Music"'''<br />
<br />
===Multiplayer===<br />
====-standalone====<br />
'''"Run as Stand Alone Server"'''<br />
<br />
Creates a standalone multi-player server.<br />
<br />
====-startgame====<br />
'''"Skip Mainhall and Start Hosting"'''<br />
<br />
Once you launch and choose a pilot within the game, you will immediately have begun to host a game. This can be used in conjunction with several options to customize the game you create: -closed, -restricted, -password, -gamename, -allowabove, and -allowbelow. -startgame has no effect when -standalone is used.<br />
<br />
See related: [[Command-Line_Reference#-closed|-closed]] [[Command-Line_Reference#-restricted|-restricted]] [[Command-Line_Reference#-password|-password]] [[Command-Line_Reference#-gamename|-gamename]] [[Command-Line_Reference#-allowabove|-allowabove]] [[Command-Line_Reference#-allowbelow|-allowbelow]]<br />
<br />
====-closed====<br />
'''"Start Hosted Server as Closed"'''<br />
<br />
Hosts a new game in a closed state, where no one can join until the in-game "Close" button is cleared. This only works when used in conjunction with -startgame. Cannot be used in conjunction with -restricted or -password.<br />
<br />
See related: [[Command-Line_Reference#-startgame|-startgame]] [[Command-Line_Reference#-restricted|-restricted]] [[Command-Line_Reference#-password|-password]]<br />
<br />
====-restricted====<br />
'''"Host Confirms Join requests"'''<br />
<br />
Hosts a new game in a restricted state. The host is presented with option to accept or deny each client's request to join the game. This only works when used in conjunction with -startgame. Cannot be used in conjunction with -closed or -password.<br />
<br />
See related: [[Command-Line_Reference#-startgame|-startgame]] [[Command-Line_Reference#-closed|-closed]] [[Command-Line_Reference#-password|-password]]<br />
<br />
====-multilog====<br />
Creates a log file with a summary of packets sent and received in multiplayer games. The file is saved as \data\multi.log within the active mod folder&mdash;or with main data folder if no mod is active.<br />
<br />
====-clientdamage====<br />
{{Note| This feature is not available in current builds.}}<br />
<br />
====-mpnoreturn====<br />
'''"Disables Flight Deck option"'''<br />
<br />
Disables return to the flight deck screen after a mission completes.<br />
<br />
<br />
===Troubleshooting===<br />
====-nohtl====<br />
'''"Software Mode (very slow)"'''<br />
{{Warning| Enabling this will significantly reduce performance.}}<br />
Reverts to software rendering mode.<br />
<br />
====-no_set_gamma====<br />
'''"Disable Setting of Gamma"'''<br />
<br />
Disables the gamma settings in the options screen.<br />
<br />
====-nomovies====<br />
'''"Disable Video Playback"'''<br />
<br />
Disables all video playback.<br />
<br />
====-noparseerrors====<br />
'''"Disable Parsing Errors"'''<br />
<br />
Disables some parsing warnings and makes other parse errors non-fatal. Do not rely on this when creating new tables. The errors are there for a reason.<br />
<br />
====-parse_cmdline_only====<br />
'''"Parse Command Line Only"'''<br />
<br />
Parse only the application command line settings, and ignore any that may have been set in the on-disk data/cmdline_fso.cfg or per-user cmdline_fso.cfg (on Linux/Mac)<br />
<br />
====-safeloading====<br />
Loads missions the old way. Typically safer, but slower.<br />
{{Note| This parameter was removed as of the July 5, 2011 nightly build.}}<br />
<br />
====-query_speech====<br />
'''"Does this build have Speech?"'''<br />
<br />
Determines if the current build includes text-to-speech.<br />
<br />
====-novbo====<br />
'''"Disable OpenGL VBO"'''<br />
<br />
====-noibx====<br />
'''"Don't use cached index buffers (IBX)"'''<br />
<br />
Disables IBX caching of model geometry data. This will dramatically increase load times, but will help troubleshoot a model if one is working incorrectly.<br />
<br />
====-loadallweps====<br />
'''"Load all weapons, even those not used"'''<br />
<br />
====-disable_fbo====<br />
'''"Disable OpenGL RenderTargets"'''<br />
<br />
====-disable_pbo====<br />
'''"Disable OpenGL Pixel Buffer Objects"'''<br />
<br />
Disables the use of Pixel Buffer Objects (PBO) which may cause certain OpenGL operations to perform slower. Note PBO's were only used at three places in FSO anyway so it's *probably* not going to have a noticeable effect. <br />
<br />
May be required to workaround issues in certain versions of Linux's Mesa drivers for Intel integrated graphics cards where crashes occur in the mainhall (i.e. whenever a popup occurs). Distros that seem to have this problem presently include Ubuntu 13.10 and openSUSE 13.1.<br />
{{Table371|<br />
*This feature is present to work around a bug in Linux's Mesa drivers for Intel integrated graphics cards}}<br />
<br />
====-no_glsl====<br />
'''"Disable GLSL (shader) Support"'''<br />
<br />
Disables the use of GLSL rendering (OpenGL shaders). The game will revert to legacy fixed render pipeline. Please note that Normal and Height map effects will be unavailable.<br />
<br />
====-disable_glsl_model====<br />
'''"Don't use shaders for model rendering"'''<br />
<br />
====-ati_swap====<br />
'''"Fix Color issues on some ATI cards"'''<br />
<br />
====-no_3d_sound====<br />
'''"Use only 2D/stereo for sound effects"'''<br />
<br />
====-disable_di_mouse====<br />
'''"Disables the DirectInput mouse code for FSO on windows."'''<br />
<br />
'''Windows Only''' Can make mouse movement smoother on certain machines.<br />
<br />
====-mipmap====<br />
'''"Enable mipmapping"'''<br />
<br />
Causes for non-mipmapped textures to have mipmaps generated within the GPU on certain kind of texture formats, (IIRC, DDS formatted textures with a power of 2 size in both width and height). <br><br />
Since the use of already mipmapped DDS textures has become common, it has become deprecated.<br />
The quality of the generated mipmaps depends on each GPU and used driver. It is normally used with [[Command-Line_Reference#-img2dds|-img2dds]] flag.<br />
<br />
====-use_gldrawelements====<br />
'''"Use glDrawElements instead of glDrawRangeElements"'''<br />
<br />
Introduced as a means of switching to the slower OpenGL call glDrawElements, instead of glDrawRangeElements.<br />
{{Table3614|<br />
*This feature may resolve certain rendering problems where parts of models are not drawn on Linux drivers}}<br />
<br />
====-keyboard_layout====<br />
'''"Manually sets a keyboard layout"'''<br />
<br />
A commandline parameter to set the keyboard layout as a string parameter.<br />
{{Table3614|<br />
*Currently the only valid string is "qwertz" (German) but French azerty may be added in future.}}<br />
<br />
====-old_collision====<br />
'''"Use old collision detection system"'''<br />
<br />
Uses the old collision code instead of Swifty's new collision code introduced in the 'go_even_faster' project.<br />
<br />
===Experimental===<br />
====-ingame_join====<br />
'''"Allows Ingame Joining"'''<br />
<br />
Enables ingame joining in multiplayer. FIXME: Host option?<br />
<br />
====-voicer====<br />
'''"Voice Recognition"'''<br />
<br />
Windows-only. Enables voice-recognition for wingmen commands. Must be specifically compiled into a build in order for it to be available; 3.6.10 final includes the feature. See [[Voice Recognition]] for more details.<br />
<br />
====-fb_explosions====<br />
'''"Enable Framebuffer Shockwaves"'''<br />
<br />
===Development Tools===<br />
====-fps====<br />
'''"Show frames per second on HUD"'''<br />
<br />
Displays current frames per second.<br />
<br />
====-pos====<br />
'''"Show Position of Camera"'''<br />
<br />
Displays current position coordinates of camera.<br />
<br />
====-window====<br />
'''"Run in Window"'''<br />
<br />
Runs the game in a window. No check to make sure that resolution is no higher than your desktop resolution, so be careful.<br />
<br />
====-fullscreen_window====<br />
'''"Run in Fullscreen Window"'''<br />
{{Note| This feature is only available on Windows.}}<br />
<br />
====-timerbar====<br />
Displays a timing bar across the top of the screen. Timerbar format varies by build. This is a relic from the Volition development days, and is unmaintained.<br />
{{Note| This parameter was removed as of the July 5, 2011 nightly build.}}<br />
<br />
====-stats====<br />
'''"Show Statistics"'''<br />
<br />
Shows total and free physical memory, virtual memory and system pagefile.<br />
<br />
====-coords====<br />
'''"Show Coordinates"'''<br />
<br />
Shows coordinates of the mouse cursor.<br />
<br />
====-show_mem_usage====<br />
'''"Show Memory Usage"'''<br />
<br />
Shows detailed RAM usage based on file, handler and process usage and display on the left-center side of the screen during mission load and while in mission.<br />
<br />
The meaning of the info displayed in the upper right corner of the HUD is:<br />
<br />
'''DYN''' = dynamic memory, basically anything that's been allocated by the vm_* memory functions. This does NOT indicate total memory usage but does account for most of it.<br />
<br />
'''POF''' = model memory, how much memory is being used by models (does not include textures)<br />
<br />
'''C-BMP, BMP''' = bmpman memory, how much is used by the textures/images that are loaded. C-BMP means that you are using -cache_bitmaps and it will try to keep textures in memory between level loads and as the new level is loading it will keep what it needs and unload what it doesn't. Can greatly increase level loading speed, but does so at the cost of memory between level loads. This does not increase overall memory usage though, only during the loading screen. BMP means that it is not cached and all textures are unloaded from memory at the start of level load and all needed textures are then loaded from the disk again.<br />
<br />
'''S-RAM''' = sound memory, how much is used by the sounds loaded in memory at the time. This counts static sounds only (from sounds.tbl, etc.) and not streaming sounds (music, voices, briefing stuff, etc).<br />
<br />
'''V-RAM''' = approximate memory usage of video textures. This does not mean that your card has this much memory, and can report higher numbers that your card actually has memory. For OpenGL it also includes some of the geometry data, but this number does not reflect the total memory that your video card is using. It only reports how much data the game has purposefully loaded into API memory (meaning it could be in system memory, video card memory, or AGP memory).<br />
<br />
<br />
''(It only works with debug builds, not with release builds).''<br />
<br />
====-pofspew====<br />
Reads all objects in the pof file of the selected mod, and creates an ibx cache file for each object in the data/cache folder for that mod. <br><br />
Details for each object are output to a pofspew.txt file created in the data folder. <br><br />
Otherwise, ibx files are created in game before each mission.<br />
<br />
====-tablecrcs====<br />
Is actually now (or should be) a typed reference rather than as a selection item. Takes 1 argument, usually a descriptive name.<br />
Example usage: "-table_crcs MediaVPs" will create a table_crcs.csv file in the running mod (name can be separate of the mod selected) that allows for the validation of the tables used by that mod while on-line. The descriptive parameter given helps "allocate" that .csv file to the mod in question, and as such should closely or exactly match that mods name if possible.<br />
<br />
====-missioncrcs====<br />
Is actually now (or should be) a typed reference rather than as a selection item. Takes 1 argument, usually a descriptive name.<br />
Example usage: "-mission_crcs MediaVPs" will create a mission_crcs.csv file in the running mod (name can be separate of the mod selected) that allows for the validation of the missions used by that mod while on-line. The descriptive parameter given helps "allocate" that .csv file to the mod in question, and as such should closely or exactly match that mods name if possible.<br />
<br />
====-dis_collisions====<br />
'''"Disable Collisions"'''<br />
<br />
Disables all collisions.<br />
<br />
====-dis_weapons====<br />
'''"Disable Weapon Rendering"'''<br />
<br />
Disables weapons rendering.<br />
<br />
====-output_sexps====<br />
This will make the FSO build spit out an html file that documents the supported SEXP's.<br />
<br />
Just double click on sexps.html and it should open in your default web browser.<br />
<br />
====-output_scripting====<br />
This will make the FSO build spit out an html file that documents the supported scripting hooks and LUA libraries.<br />
<br />
Just double click on scripting.html and it should open in your default web browser.<br />
<br />
====-nograb====<br />
Disables focus grabbing in a window.<br />
{{Note| This feature is not available on Windows.}}<br />
<br />
====-save_render_target====<br />
'''"Save Render Targets to file"'''<br />
<br />
====-debug_window====<br />
'''"Display Debug Window"'''<br />
<br />
Lists the fs2_open.log in (nearly)real-time generation.<br />
<br />
====-verify_vps====<br />
'''"Spew VP crcs to vp_crcs.txt"'''<br />
<br />
Exports the CRC values of the VP files being loaded into a vp_crcs.txt file.<br />
<br />
====-reparse_mainhall====<br />
'''"Reparse mainhall.tbl when loading halls"'''<br />
<br />
Mainhall.tbl will be reparsed every time a mainhall is loaded, as opposed to just once at game startup.<br />
<br />
====-start_mission====<br />
'''"Skip the mainhall in jump right into the specified mission"'''<br />
<br />
Jump into the mission specified by the filename. Only in effect on the first run. This will skip load of the mainhall and its other related things altogether.<br />
<br />
====-profile_frame_time====<br />
'''"Profile engine subsystems"'''<br />
<br />
Activates the frame profiling code. This presents a readout showing the current, minimum, maximum and average percentages of frametime a given section of code has taken up; this can be used to identify particular bottlenecks or measure the effectiveness of certain optimizations.<br />
<br />
====-profile_write_file====<br />
'''"Write profiling information to file"'''<br />
<br />
This will write the frame times of each gameplay frame to the file 'profiling.csv' where each line is ''<framenumber>;<frametime>''. The first two frames are usually very long because the timer is set at engine startup so you might want to exclude those from your data.<br />
<br />
====-no_unfocused_pause====<br />
'''"Don't pause if the window isn't focused"'''<br />
<br />
When the FSO window looses focus it will not pause the game, useful for doing non-interactive test runs.<br />
<br />
==Other==<br />
The following options are not available as checkboxes in the launcher. Many require parameters, which follow the flag separated by a space. The prototype for use in this case is "-option argument"<br />
<br />
===Lighting===<br />
These factors can dramatically alter the atmosphere of the game. [[Sample Lighting Settings|This page]] has some sample lighting settings with screenshots.<br />
<br />
====-ambient_factor====<br />
This must be entered into the "Custom flags" field. This is a multiplier applied to the intensity of ambient lighting. Ambient light is lighting applied to all parts of a ship. FS2's standard value is 120. Try 75 for a good and realistic looking value. However, that is relative.<br />
<br />
====-no_emissive_light====<br />
By default, all ships in FS2 have a light generated on their own, it is more or less similar to a minimal amount of -ambient_factor. This feature was implemented to help the player seeing the ships over a black background. This flag disables this feature. Use it with a low -ambient_factor value to obtain an ultra-realistic dark looking.<br />
<br />
====-spec_exp====<br />
This must be used with the -spec command line parameter and must be entered into the "Custom flags" field. Adjusts the size of the shiny spot on ships. Higher number mean smaller spots. Default is 16. However, 11 is recommended. This is a relative value.<br />
<br />
====-spec_point====<br />
This must be used with the -spec command line parameter and must be entered into the<br />
"Custom flags" field. Adjusts how much laser weapons contribute to specular highlights. Higher number mean greater contributions. Default is 1.0. However, 0.6 is recommended. This is a relative value.<br />
<br />
====-spec_static====<br />
This must be used with the -spec command line parameter and must be entered into the "Custom flags" field. Adjusts how much suns contribute to specular highlights. Higher numbers mean a greater contribution. Default is 1.0. However, is 0.8 recommended. This is a relative value.<br />
<br />
====-spec_tube====<br />
This must be used with the -spec command line parameter and must be entered into the "Custom flags" field. Adjusts how much Beam Weapons contribute to specular highlights. Higher numbers mean a greater contribution. Default is 1.0. However, 0.4 is recommended. This is a relative value.<br />
<br />
====-ogl_spec====<br />
Takes a numerical argument. This value changes the basic shininess of the specular light in OpenGL. A lower value reduces the overall intensity of the light making it broader and less powerful. A higher value makes it more focused and brighter. The default value is 80, and the usable range is 0 to 128 (clamped). The original default value was 60, but it was raised to behave more D3D like.<br />
<br />
<br />
===Graphics===<br />
====-bloom_intensity====<br />
Requires -post_processing ("Enable Post Processing") command.<br />
Default value is 75. Range is 0-200.<br />
<br />
====-clipdist====<br />
Changes the distance from the viewpoint for the near-clipping plane.<br />
<br />
Takes one argument decimal specifying the distance to the near-clipping plane.<br />
<br />
====-res====<br />
Allows you to specify a resolution if the desired one cannot be set in the Launcher. <br />
For example, -res 1920x1080 would run the game in 1920 x 1080 resolution. Since it requires an argument, it needs to be entered as a custom flag when using the Launcher. The "Run at specified resolution" option the Launcher gives is essentially this, but without being able to actually specify a resolution, it doesn't work.<br />
<br />
====-fxaa_preset====<br />
Requires both -post_processing and -fxaa. Can be used to adjust the FXAA quality and speed, 0 is fastest, 9 is highest quality. Default setting is 6.<br />
<br />
===Gameplay===<br />
====-mod====<br />
Specifies in which folders inside FreeSpace 2 directory, the game looks for all the game data (models, missions, textures, tables, ...). Retail version only looks inside ''Freespace2/data/'' structure and ''Freespace2/vp archives''.<br />
<br />
This flag allows installing several different mods that modify retail behavior, and switching between them without needing to erase files or having undesired cross effects. Each mod should be installed in its own folder.<br />
<br />
It takes one argument string: the chain of names of the used directories. Comma (''',''') must be used as separator. In this way, '''-mod dir1,dir2,dir3,...,dirx''' causes the game to use the following directory precedence:<br />
<br />
#Freespace2/dir1/<br />
#Freespace2/dir2/<br />
#Freespace2/dir3/<br />
# ... (the rest of the typed directories) ...<br />
#Freespace2/dirx/<br />
#Freespace2/<br />
<br />
This flag can be indirectly set, (and it is normally set), through Launcher MOD tab and [[mod.ini]] file.<br />
<br />
Within the Launcher's MOD tab you can select one directory, (let's call it ''moddir''), so the flag is at least set to '''-mod moddir'''.<br />
If ''Freespace2/moddir/[[mod.ini]]'' exists it will be used to modify the -mod flag, too.<br />
<br />
For further details, see '''[[mod.ini]]'''<br />
<br />
'''Data precedence'''<br />
<br />
As already said, within the different directories, the data precedence is set by the specified order in the -mod flag. The lowest priority goes to the Freespace2 installation directory.<br />
<br />
Inside each directory, data precedence is the following:<br />
<br />
#Individual files located in ''Current_dir/data/'' subdir structure. See [[FS2_Data_Structure|FS2 Data Structure topic]] for deeper info about the different folders and contents this structure has.<br />
#Files located inside vp archives. (These vp archives are "similar" to zip archives. They just contain other files and folders. Moreover, files have to be stored using the same ''data/'' structure used outside it). <br>Vp archives are read in alphabetical order, so aaa.vp files have higher priority than aab.vp files and so on.<br />
<br />
The highest priority file overrides the rest of them. In this way, if you have a ''Mission.fs2'' inside ''Freespace2/Pri1/data/missions/'' it doesn't matter that this ''Mission.fs2'' is also inside ''Freespace2/Pri1/aaa.vp'', ''Freespace2/Pri1/aab.vp'', ... or ''Freespace2/data/missions/''. This data precedence allows the user to quickly replace old files by corrected or enhanced ones adding them in a higher priority place.<br />
<br />
<br />
'''Additional notes'''<br />
# As derived from the explanation, the exact names for directories or vp archives are actually irrelevant. It only matters the directory order inside -mod flag argument and the alphabetical order for vp archives inside each used directory.<br />
# This flag is also used by [[Portal:FRED|FRED]]. So if there is special mod info, (like backgrounds maps, ship models or whatever), it must be typed, (''Fred2_Open_r.exe -MOD whatever''), or FRED won't be able to use it. A special build of wxLauncher is able to configure FRED so that the -mod doesn't have to be done manually see [http://www.hard-light.net/forums/index.php?topic=67950.msg1387911#msg1387911 the forum post] for more details.<br />
{{Table3612|As of 3.6.12 FRED now loads cmdline_fso.cfg just like FS does so FRED will use the same settings as FS including the -mod settings}}<br />
# Be careful while typing the directory names in the flag argument or inside mod.ini files. The program doesn't check if the typed directories exist. If they do not exist, they are just ignored. No warnings, no errors, no messages at all.<br />
<br />
{{Warning| '''Priority and Texture Formats'''<br />
<br />
''Obsolete behavior - Until FS2_open v3.6.9.:''<br />
<br />
FS2_Open can use several file formats in textures: [http://en.wikipedia.org/wiki/PCX PCX], [http://en.wikipedia.org/wiki/DirectDraw_Surface DDS], [http://en.wikipedia.org/wiki/JPG JPG] and [http://en.wikipedia.org/wiki/TGA TGA]. Make sure you keep the format when you update your texture. For example if you update the old ''TextureOfMyFighter.tga'', do not save it as ''TextureOfMyFighter.dds'' in a higher priority place, because there is a chance of the game loading the old one despite of all.<br />
<br />
The reason to do this is that, loading process (including priorities) is applied firstly for a kind of textures (TGAs), then for another kind (JPGs), and so on. This behavior can lead to situation where your new, updated and higher priority placed texture is not read because the format of the older one.<br />
<br />
<br />
''New behavior - From FS2_open v3.6.10. (including previous beta testing releases):''<br />
<br />
The former issue has been fixed. Now texture format priority is only applied within the same location. In this ''strange'' situation it goes DDS -> TGA -> JPG -> PCX. Examples:<br />
* ''/Freespace2/MyVp.vp>>>data/maps/MyTexture.dds'' is loaded instead of ''/Freespace2/MyVp.vp>>>data/maps/MyTexture.tga''.<br />
* But your improved ''/Freespace2/data/maps/MyTexture.xxx'' will override them both despite of its format.<br />
In this way, when you update any texture, you don't have to pay attention to its original format. Just place it in a higher priority place.<br />
<br />
Nevertheless, global priority is kept between animated and static textures. Because of their management, animated textures (ANIs and EFFs) are looked for BEFORE static ones. In this way there's no way to update an animated texture with a static one (an obsolete ANI is always going to be loaded before the newer DDS version). The solution: use an updated EFF with just one frame.<br />
<br />
}}<br />
<br />
====-fov====<br />
This flag allows the player to specify the ''vertical'' Field of View (FoV) angle, in radians, for the player eyepoint. The angle is measured across the full height of the viewing cone. The FoV angle is technically known as the Angle of View (AoV)<br />
<br />
*Syntax: '''''float''''' Angle<br />
*Valid Values: 0 to 2*Pi radians<br />
*Default Value: 0.75 radians<br />
<br />
{{Note|For peculiar reasons, the actual FoV/AoV used by the game will be the supplied value multiplied by 1.39626348.}}<br />
<br />
<br />
The the FoV angle/AoV is what determines the relative zoom level of the main game camera. Smaller angles generally equal to higher zoom levels, while larger angles equal to lower zoom levels (down to the theoretical x0 magnification).<br />
<br />
<br />
However, too small of an angle will have a squashed look on the edges of your screen, and too high of an angle will greatly stretch edges. It is recommended to change the AoV, as FS2's default AoV has some perspective distortion at the screen edges (the default AoV is too high).<br />
<br />
<br />
A natural looking (as if you where physically in the cockpit) AoV depends on the distance the player's actual eyes are away from the screen: the further away from the screen, the smaller the AoV should be, and vice versa. "Ergonomic" distances generally yield a '''''diagonal''''' AoV of 0.523 radians (30 degrees), but you can easily find the natural AoV by the following formula:<br />
<br />
<br />
AoV (radians) = 2 * atan( H / ( 2*D ))<br />
<br />
where:<br />
<br />
Height of screen = H<br />
<br />
Distance between head/eye and the screen = D<br />
<br />
<br />
Generally, gamers like to increase the AoV in order to increase their peripheral vision on the screen, so as to gain a better situational awareness around their craft. An AoV of 0.39 radians seems to be a good start, but feel free to experiment and use whatever AoV you are most comfortable with.<br />
<br />
===Multiplayer===<br />
====-gamename====<br />
Specifies the name of the game to be created by the host. This only works when used in conjunction with -startgame. <br />
<br />
Takes one argument string, the name to be assigned to the game being created.<br />
<br />
This argument does nothing when used with -standalone. To set the name for a standalone server, see [[Multiplayer(Main)#Standalone Servers|Standalone Servers]].<br />
<br />
See related:&nbsp;&nbsp; [[Command-Line_Reference#-startgame|-startgame]]&nbsp;&nbsp; [[Multiplayer(Main)#Standalone Servers|Standalone Servers]]<br />
<br />
====-password====<br />
Specifies the password for a standalone server. This only works when used in conjunction with -startgame. Cannot be used in conjunction with -closed or -restricted.<br />
<br />
Takes one argument string, the required password for the game being created.<br />
<br />
See related: [[Command-Line_Reference#-startgame|-startgame]] [[Command-Line_Reference#-closed|-closed]] [[Command-Line_Reference#-restricted|-restricted]]<br />
<br />
====-allowabove====<br />
Specifies a player's minimum rank for joining a game. This only works when used in conjunction with -startgame.<br />
<br />
Takes one argument integer, the points ranking above which a player must be to enter the game.<br />
<br />
See related: [[Command-Line_Reference#-startgame|-startgame]]<br />
<br />
====-allowbelow====<br />
Specifies a player's maximum rank for joining a game on a standalone server. This only works when used in conjunction with -startgame.<br />
<br />
Takes one argument integer, the points ranking below which a player must be to enter the game.<br />
<br />
See related: [[Command-Line_Reference#-startgame|-startgame]]<br />
<br />
====-port====<br />
Specifies the port on which to host a game or serve a standalone game.<br />
<br />
Takes one argument integer, the port on which the host will listen for clients.<br />
<br />
====-connect====<br />
{{Sectstub}}<br />
====-timeout====<br />
{{Sectstub}}<br />
====-cap_object_update====<br />
Caps the maximum object update the server will respond to regardless of what the client has set. If the client is set to request high object updates but the server is capped to low, then that's all the client will get. <br />
<br />
Takes one argument integer (0 to 3) which corresponds to the object update cap (With 0 being low and 3 being LAN).<br />
<br />
<br />
===Help===<br />
====-help====<br />
Instructs FSO to print out all supported parameters. Some launchers can use these options to automatically populate the available command line options, even if the version of FSO is far newer than the launcher itself. NOTE: This option only works in Linux builds...<br />
<br />
====--help====<br />
See [[Command-Line_Reference#-help|-help]]<br />
<br />
====-h====<br />
See [[Command-Line_Reference#-help|-help]]<br />
<br />
====-?====<br />
See [[Command-Line_Reference#-help|-help]]<br />
<br />
[[Category:Lists]]<br />
[[Category:Source Code Project]]</div>Chief1983https://wiki.hard-light.net/index.php?title=Command-Line_Reference&diff=44087Command-Line Reference2014-06-30T15:36:09Z<p>Chief1983: /* -nolightshafts */ Also update the text description of -nolightshafts to match engine output.</p>
<hr />
<div>Command-Line Flags (also called Command-Line Parameters) are optional flags passed to the FSO executable, and generally enables one or more features added to the FS2 Open engine. These flags are accessed conveniently through an [[FSO Launcher]]. To have FSO list all available flags, use any one of the following: [[Command-Line_Reference#-help|-help]], [[Command-Line_Reference#-help|--help]], [[Command-Line_Reference#-help|-h]], or [[Command-Line_Reference#-help|-?]].<br />
<br />
<!--May need version info for the various flags, such as 3.6.13, etc. --><br />
<br />
===Graphics===<br />
====-spec====<br />
'''"Enable Specular"'''<br />
<br />
Only polygons mapped with textures for which a shinemap exists will receive specular mapping; no attempt is made to generate spec maps where they do not exist. Specular maps are specified with the base map name plus "-shine" (i.e. TCov3A-shine.pcx).<br />
{{Table3615|<br />
*This feature is on by default, use launcher option Disable Specular or if necessary to manually disable enter the flag -nospec}}<br />
<br />
====-env====<br />
'''"Enable Environment maps"'''<br />
<br />
It only works if [[Command-Line_Reference#-spec|-spec]] is also set. Environment mapping intensity will be determined from the shine map too (see [[Texturing]] for more info). [[Installing FreeSpace 2 Open#Video setup|See Video setup.]]<br />
{{Table3615|<br />
*This feature is on by default, use launcher option Disable Environment Maps or if necessary to manually disable enter the flag -noenv }}<br />
<br />
====-glow====<br />
'''"Enable Glowmaps"'''<br />
<br />
Only polygons mapped with textures for which a glowmap exists will be glowmapped. Glow maps are specified with the base map name plus "-glow" (i.e. TCov4A-glow.pcx)<br />
{{Table3615|<br />
*This feature is on by default, use launcher option Disable Glow Maps or if necessary to manually disable enter the flag -noglow }}<br />
<br />
====-nomotiondebris====<br />
'''"Disable motion debris"'''<br />
<br />
====-noscalevid====<br />
"Disable scale-to-window for Movies"<br />
<br />
Disables fullscreen scaling of video clips.<br />
<br />
====-missile_lighting====<br />
'''"Apply Lighting to Missiles"'''<br />
<br />
====-normal====<br />
'''"Enable Normal Maps"'''<br />
<br />
Normal maps require GLSL rendering, (see [[OpenGL_Shaders_(GLSL)|OpenGL Shaders (GLSL)]] for further info). It needs auxiliary normal maps (the same name of the base map plus "-normal"). DXT5_NM DDS format is needed. (Technical note: DXT5 will work, since only the GREEN and ALPHA channels are read by the current shader system. One direction of lines goes into the GREEN channel, the other direction goes into the ALPHA channel. RED and BLUE can be either base gray (#808080) or black. Usual practice is after creating the DXT5_NM, copy the RED channel to the ALPHA channel, black out the RED and BLUE an then save as either a DXT5 or u8888 (uncompressed) DDS file.)<br />
{{Table3615|<br />
*This feature is on by default, use launcher option Disable Normal Maps or if necessary to manually disable enter the flag -nonormal }}<br />
<br />
====-height====<br />
Enables height maps (parallax mapping). It only works if [[Command-Line_Reference#-normal|-normal]] is also set. It also needs GLSL rendering, (see [[OpenGL_Shaders_(GLSL)|OpenGL Shaders (GLSL)]] for further info). It needs auxiliary height maps (with the same name than base map plus "-height").<br />
{{Table3615|<br />
*This feature is on by default. To manually disable, enter the flag -noheight}}<br />
<br />
====-post_process====<br />
'''"Enable Post Processing"'''<br />
<br />
enables the use (if present) of post-processing effects as defined by the post_process.tbl. Bloom usage has an additional cmdline option for setting it's value, most post processing effects are achieved in mission per the mission designer or can be enabled globally in the table.<br />
<br />
====-soft_particles====<br />
'''"Enable soft particles"'''<br />
<br />
====-3dshockwave====<br />
'''"Enable 3D Shockwaves"'''<br />
<br />
This only has any effect when both a 2d and 3d shockwave effect are present, otherwise the only available effect is used (2d shockwave is defined by effects/shockwave01.eff or .ani, and 3d shockwave by models/shockwave.pof)<br />
<br />
Note that 3d shockwaves are usually flat discs, that FSO scales up. The animated 2d billboards used by 2d shockwaves with the addition of [[Command-Line Reference#-soft_particles|soft particles]], may look better when intersecting with models (which shockwaves often do). Use at your discretion.<br />
<br />
====-fxaa====<br />
'''"Enable FXAA antialiasing"'''<br />
<br />
Enables the FXAA postprocessing stage. Further information can be found here: http://www.hard-light.net/forums/index.php?topic=76145.0<br />
<br />
====-nolightshafts====<br />
'''"Disable lightshafts"'''<br />
<br />
Disables Lightshafts even if a mission designer enables them via SEXP in a mission. This was previously documented as -flightshaftsoff but appears to have been changed to -nolightshafts for consistency before -flightshaftsoff was ever used in a released build.<br />
<br />
===Game Speed===<br />
====-img2dds====<br />
'''"Compress non-compressed images"'''<br />
<br />
Converts all images to DDS (compressed) format. Decreases memory usage but potentially reduces image quality.<br />
<br />
====-no_vsync====<br />
'''"Disable vertical sync"'''<br />
<br />
====-cache_bitmaps====<br />
'''"Cache bitmaps between missions"'''<br />
<br />
Will ideally reduce the load-time from one mission to another.<br />
<br />
<br />
===HUD===<br />
====-dualscanlines====<br />
'''"Another Pair of Scanning Lines"'''<br />
<br />
Adds a second pair of scanning lines to the target window when scanning an object.<br />
<br />
====-targetinfo====<br />
'''"Enable Info next to Target"'''<br />
<br />
Displays target info, such as name and class, beside the targeted object.<br />
<br />
====-orbradar====<br />
'''"Enables 3D radar"'''<br />
<br />
An Orb style 3D radar will replace the standard 2D version.<br />
<br />
====-rearm_timer====<br />
'''"Enable Rearm/Repair Completion Timer"'''<br />
<br />
Displays time remaining until rearm and repair from a support ship is complete.<br />
<br />
====-ballistic_gauge====<br />
'''"Enable the analog Ballistic Ammo gauge"'''<br />
<br />
Adds an ammo gauge to the HUD when armed with a ballistic weapon.<br />
<br />
<br />
===Gameplay===<br />
====-ship_choice_3d====<br />
'''"Use Models for Ship Selection"'''<br />
<br />
Uses ship models in ship selection window. It completely disables the standard ANI interface in this screen. <br><br />
Some mods need a compulsory use of this flag because they don't have available animations for their ships. In this situation, and if it is not used, the game will probably crash to desktop in the ship selection window.<br />
<br />
====-weapon_choice_3d====<br />
'''"Use Models for Weapon Selection"'''<br />
<br />
Uses weapon models in weapon loadout window for secondary weapons (missiles and bombs). It completely disables the standard ANI interface in this screen. <br><br />
Some mods need a compulsory use of this flag because they don't have available animations for their secondary weapons. In this situation, and if it is not used, the game will probably crash to desktop in the weapon loadout window.<br />
<br />
====-3dwarp====<br />
'''"Enable 3D Warp"'''<br />
<br />
Use full geometry for the subspace warp effect.<br />
<br />
====-warp_flash====<br />
'''"Enable Flash upon Warp"'''<br />
<br />
Enable a flash at warp in and warp out.<br />
<br />
====-no_ap_interrupt====<br />
'''"Disable Interrupting of AutoPilot"'''<br />
<br />
Tells the game to not allow players to interrupt an autopilot already-in-progress.<br />
<br />
====-stretch_menu====<br />
'''"Stretch interface to fill screen"'''<br />
<br />
Scales the interface to fill the screen without preserving the aspect ratio. Omit this to keep the aspect ratio, adding black bars where appropriate.<br />
<br />
<br />
===Audio===<br />
====-snd_preload====<br />
'''"Preload mission game sounds"'''<br />
<br />
Useful in preventing game stuttering when sounds are played for the first time.<br />
<br />
====-nosound====<br />
'''"Disable Sound and Music"'''<br />
<br />
====-nomusic====<br />
'''"Disables Music"'''<br />
<br />
===Multiplayer===<br />
====-standalone====<br />
'''"Run as Stand Alone Server"'''<br />
<br />
Creates a standalone multi-player server.<br />
<br />
====-startgame====<br />
'''"Skip Mainhall and Start Hosting"'''<br />
<br />
Once you launch and choose a pilot within the game, you will immediately have begun to host a game. This can be used in conjunction with several options to customize the game you create: -closed, -restricted, -password, -gamename, -allowabove, and -allowbelow. -startgame has no effect when -standalone is used.<br />
<br />
See related: [[Command-Line_Reference#-closed|-closed]] [[Command-Line_Reference#-restricted|-restricted]] [[Command-Line_Reference#-password|-password]] [[Command-Line_Reference#-gamename|-gamename]] [[Command-Line_Reference#-allowabove|-allowabove]] [[Command-Line_Reference#-allowbelow|-allowbelow]]<br />
<br />
====-closed====<br />
'''"Start Hosted Server as Closed"'''<br />
<br />
Hosts a new game in a closed state, where no one can join until the in-game "Close" button is cleared. This only works when used in conjunction with -startgame. Cannot be used in conjunction with -restricted or -password.<br />
<br />
See related: [[Command-Line_Reference#-startgame|-startgame]] [[Command-Line_Reference#-restricted|-restricted]] [[Command-Line_Reference#-password|-password]]<br />
<br />
====-restricted====<br />
'''"Host Confirms Join requests"'''<br />
<br />
Hosts a new game in a restricted state. The host is presented with option to accept or deny each client's request to join the game. This only works when used in conjunction with -startgame. Cannot be used in conjunction with -closed or -password.<br />
<br />
See related: [[Command-Line_Reference#-startgame|-startgame]] [[Command-Line_Reference#-closed|-closed]] [[Command-Line_Reference#-password|-password]]<br />
<br />
====-multilog====<br />
Creates a log file with a summary of packets sent and received in multiplayer games. The file is saved as \data\multi.log within the active mod folder&mdash;or with main data folder if no mod is active.<br />
<br />
====-clientdamage====<br />
{{Note| This feature is not available in current builds.}}<br />
<br />
====-mpnoreturn====<br />
'''"Disables Flight Deck option"'''<br />
<br />
Disables return to the flight deck screen after a mission completes.<br />
<br />
<br />
===Troubleshooting===<br />
====-nohtl====<br />
'''"Software Mode (very slow)"'''<br />
{{Warning| Enabling this will significantly reduce performance.}}<br />
Reverts to software rendering mode.<br />
<br />
====-no_set_gamma====<br />
'''"Disable Setting of Gamma"'''<br />
<br />
Disables the gamma settings in the options screen.<br />
<br />
====-nomovies====<br />
'''"Disable Video Playback"'''<br />
<br />
Disables all video playback.<br />
<br />
====-noparseerrors====<br />
'''"Disable Parsing Errors"'''<br />
<br />
Disables some parsing warnings and makes other parse errors non-fatal. Do not rely on this when creating new tables. The errors are there for a reason.<br />
<br />
====-parse_cmdline_only====<br />
'''"Parse Command Line Only"'''<br />
<br />
Parse only the application command line settings, and ignore any that may have been set in the on-disk data/cmdline_fso.cfg or per-user cmdline_fso.cfg (on Linux/Mac)<br />
<br />
====-safeloading====<br />
Loads missions the old way. Typically safer, but slower.<br />
{{Note| This parameter was removed as of the July 5, 2011 nightly build.}}<br />
<br />
====-query_speech====<br />
'''"Does this build have Speech?"'''<br />
<br />
Determines if the current build includes text-to-speech.<br />
<br />
====-novbo====<br />
'''"Disable OpenGL VBO"'''<br />
<br />
====-noibx====<br />
'''"Don't use cached index buffers (IBX)"'''<br />
<br />
Disables IBX caching of model geometry data. This will dramatically increase load times, but will help troubleshoot a model if one is working incorrectly.<br />
<br />
====-loadallweps====<br />
'''"Load all weapons, even those not used"'''<br />
<br />
====-disable_fbo====<br />
'''"Disable OpenGL RenderTargets"'''<br />
<br />
====-disable_pbo====<br />
'''"Disable OpenGL Pixel Buffer Objects"'''<br />
<br />
Disables the use of Pixel Buffer Objects (PBO) which may cause certain OpenGL operations to perform slower. Note PBO's were only used at three places in FSO anyway so it's *probably* not going to have a noticeable effect. <br />
<br />
May be required to workaround issues in certain versions of Linux's Mesa drivers for Intel integrated graphics cards where crashes occur in the mainhall (i.e. whenever a popup occurs). Distros that seem to have this problem presently include Ubuntu 13.10 and openSUSE 13.1.<br />
{{Table371|<br />
*This feature is present to work around a bug in Linux's Mesa drivers for Intel integrated graphics cards}}<br />
<br />
====-no_glsl====<br />
'''"Disable GLSL (shader) Support"'''<br />
<br />
Disables the use of GLSL rendering (OpenGL shaders). The game will revert to legacy fixed render pipeline. Please note that Normal and Height map effects will be unavailable.<br />
<br />
====-disable_glsl_model====<br />
'''"Don't use shaders for model rendering"'''<br />
<br />
====-ati_swap====<br />
'''"Fix Color issues on some ATI cards"'''<br />
<br />
====-no_3d_sound====<br />
'''"Use only 2D/stereo for sound effects"'''<br />
<br />
====-disable_di_mouse====<br />
'''"Disables the DirectInput mouse code for FSO on windows."'''<br />
<br />
'''Windows Only''' Can make mouse movement smoother on certain machines.<br />
<br />
====-mipmap====<br />
'''"Enable mipmapping"'''<br />
<br />
Causes for non-mipmapped textures to have mipmaps generated within the GPU on certain kind of texture formats, (IIRC, DDS formatted textures with a power of 2 size in both width and height). <br><br />
Since the use of already mipmapped DDS textures has become common, it has become deprecated.<br />
The quality of the generated mipmaps depends on each GPU and used driver. It is normally used with [[Command-Line_Reference#-img2dds|-img2dds]] flag.<br />
<br />
====-use_gldrawelements====<br />
'''"Use glDrawElements instead of glDrawRangeElements"'''<br />
<br />
Introduced as a means of switching to the slower OpenGL call glDrawElements, instead of glDrawRangeElements.<br />
{{Table3614|<br />
*This feature may resolve certain rendering problems where parts of models are not drawn on Linux drivers}}<br />
<br />
====-keyboard_layout====<br />
'''"Manually sets a keyboard layout"'''<br />
<br />
A commandline parameter to set the keyboard layout as a string parameter.<br />
{{Table3614|<br />
*Currently the only valid string is "qwertz" (German) but French azerty may be added in future.}}<br />
<br />
===Experimental===<br />
====-ingame_join====<br />
'''"Allows Ingame Joining"'''<br />
<br />
Enables ingame joining in multiplayer. FIXME: Host option?<br />
<br />
====-voicer====<br />
'''"Voice Recognition"'''<br />
<br />
Windows-only. Enables voice-recognition for wingmen commands. Must be specifically compiled into a build in order for it to be available; 3.6.10 final includes the feature. See [[Voice Recognition]] for more details.<br />
<br />
====-fb_explosions====<br />
'''"Enable Framebuffer Shockwaves"'''<br />
<br />
===Development Tools===<br />
====-fps====<br />
'''"Show frames per second on HUD"'''<br />
<br />
Displays current frames per second.<br />
<br />
====-pos====<br />
'''"Show Position of Camera"'''<br />
<br />
Displays current position coordinates of camera.<br />
<br />
====-window====<br />
'''"Run in Window"'''<br />
<br />
Runs the game in a window. No check to make sure that resolution is no higher than your desktop resolution, so be careful.<br />
<br />
====-fullscreen_window====<br />
'''"Run in Fullscreen Window"'''<br />
{{Note| This feature is only available on Windows.}}<br />
<br />
====-timerbar====<br />
Displays a timing bar across the top of the screen. Timerbar format varies by build. This is a relic from the Volition development days, and is unmaintained.<br />
{{Note| This parameter was removed as of the July 5, 2011 nightly build.}}<br />
<br />
====-stats====<br />
'''"Show Statistics"'''<br />
<br />
Shows total and free physical memory, virtual memory and system pagefile.<br />
<br />
====-coords====<br />
'''"Show Coordinates"'''<br />
<br />
Shows coordinates of the mouse cursor.<br />
<br />
====-show_mem_usage====<br />
'''"Show Memory Usage"'''<br />
<br />
Shows detailed RAM usage based on file, handler and process usage and display on the left-center side of the screen during mission load and while in mission.<br />
<br />
The meaning of the info displayed in the upper right corner of the HUD is:<br />
<br />
'''DYN''' = dynamic memory, basically anything that's been allocated by the vm_* memory functions. This does NOT indicate total memory usage but does account for most of it.<br />
<br />
'''POF''' = model memory, how much memory is being used by models (does not include textures)<br />
<br />
'''C-BMP, BMP''' = bmpman memory, how much is used by the textures/images that are loaded. C-BMP means that you are using -cache_bitmaps and it will try to keep textures in memory between level loads and as the new level is loading it will keep what it needs and unload what it doesn't. Can greatly increase level loading speed, but does so at the cost of memory between level loads. This does not increase overall memory usage though, only during the loading screen. BMP means that it is not cached and all textures are unloaded from memory at the start of level load and all needed textures are then loaded from the disk again.<br />
<br />
'''S-RAM''' = sound memory, how much is used by the sounds loaded in memory at the time. This counts static sounds only (from sounds.tbl, etc.) and not streaming sounds (music, voices, briefing stuff, etc).<br />
<br />
'''V-RAM''' = approximate memory usage of video textures. This does not mean that your card has this much memory, and can report higher numbers that your card actually has memory. For OpenGL it also includes some of the geometry data, but this number does not reflect the total memory that your video card is using. It only reports how much data the game has purposefully loaded into API memory (meaning it could be in system memory, video card memory, or AGP memory).<br />
<br />
<br />
''(It only works with debug builds, not with release builds).''<br />
<br />
====-pofspew====<br />
Reads all objects in the pof file of the selected mod, and creates an ibx cache file for each object in the data/cache folder for that mod. <br><br />
Details for each object are output to a pofspew.txt file created in the data folder. <br><br />
Otherwise, ibx files are created in game before each mission.<br />
<br />
====-tablecrcs====<br />
Is actually now (or should be) a typed reference rather than as a selection item. Takes 1 argument, usually a descriptive name.<br />
Example usage: "-table_crcs MediaVPs" will create a table_crcs.csv file in the running mod (name can be separate of the mod selected) that allows for the validation of the tables used by that mod while on-line. The descriptive parameter given helps "allocate" that .csv file to the mod in question, and as such should closely or exactly match that mods name if possible.<br />
<br />
====-missioncrcs====<br />
Is actually now (or should be) a typed reference rather than as a selection item. Takes 1 argument, usually a descriptive name.<br />
Example usage: "-mission_crcs MediaVPs" will create a mission_crcs.csv file in the running mod (name can be separate of the mod selected) that allows for the validation of the missions used by that mod while on-line. The descriptive parameter given helps "allocate" that .csv file to the mod in question, and as such should closely or exactly match that mods name if possible.<br />
<br />
====-dis_collisions====<br />
'''"Disable Collisions"'''<br />
<br />
Disables all collisions.<br />
<br />
====-dis_weapons====<br />
'''"Disable Weapon Rendering"'''<br />
<br />
Disables weapons rendering.<br />
<br />
====-output_sexps====<br />
This will make the FSO build spit out an html file that documents the supported SEXP's.<br />
<br />
Just double click on sexps.html and it should open in your default web browser.<br />
<br />
====-output_scripting====<br />
This will make the FSO build spit out an html file that documents the supported scripting hooks and LUA libraries.<br />
<br />
Just double click on scripting.html and it should open in your default web browser.<br />
<br />
====-nograb====<br />
Disables focus grabbing in a window.<br />
{{Note| This feature is not available on Windows.}}<br />
<br />
====-save_render_target====<br />
'''"Save Render Targets to file"'''<br />
<br />
====-debug_window====<br />
'''"Display Debug Window"'''<br />
<br />
Lists the fs2_open.log in (nearly)real-time generation.<br />
<br />
====-verify_vps====<br />
'''"Spew VP crcs to vp_crcs.txt"'''<br />
<br />
Exports the CRC values of the VP files being loaded into a vp_crcs.txt file.<br />
<br />
====-reparse_mainhall====<br />
'''"Reparse mainhall.tbl when loading halls"'''<br />
<br />
Mainhall.tbl will be reparsed every time a mainhall is loaded, as opposed to just once at game startup.<br />
<br />
====-start_mission====<br />
'''"Skip the mainhall in jump right into the specified mission"'''<br />
<br />
Jump into the mission specified by the filename. Only in effect on the first run. This will skip load of the mainhall and its other related things altogether.<br />
<br />
====-profile_frame_time====<br />
'''"Profile engine subsystems"'''<br />
<br />
Activates the frame profiling code. This presents a readout showing the current, minimum, maximum and average percentages of frametime a given section of code has taken up; this can be used to identify particular bottlenecks or measure the effectiveness of certain optimizations.<br />
<br />
====-profile_write_file====<br />
'''"Write profiling information to file"'''<br />
<br />
This will write the frame times of each gameplay frame to the file 'profiling.csv' where each line is ''<framenumber>;<frametime>''. The first two frames are usually very long because the timer is set at engine startup so you might want to exclude those from your data.<br />
<br />
====-no_unfocused_pause====<br />
'''"Don't pause if the window isn't focused"'''<br />
<br />
When the FSO window looses focus it will not pause the game, useful for doing non-interactive test runs.<br />
<br />
==Other==<br />
The following options are not available as checkboxes in the launcher. Many require parameters, which follow the flag separated by a space. The prototype for use in this case is "-option argument"<br />
<br />
===Lighting===<br />
These factors can dramatically alter the atmosphere of the game. [[Sample Lighting Settings|This page]] has some sample lighting settings with screenshots.<br />
<br />
====-ambient_factor====<br />
This must be entered into the "Custom flags" field. This is a multiplier applied to the intensity of ambient lighting. Ambient light is lighting applied to all parts of a ship. FS2's standard value is 120. Try 75 for a good and realistic looking value. However, that is relative.<br />
<br />
====-no_emissive_light====<br />
By default, all ships in FS2 have a light generated on their own, it is more or less similar to a minimal amount of -ambient_factor. This feature was implemented to help the player seeing the ships over a black background. This flag disables this feature. Use it with a low -ambient_factor value to obtain an ultra-realistic dark looking.<br />
<br />
====-spec_exp====<br />
This must be used with the -spec command line parameter and must be entered into the "Custom flags" field. Adjusts the size of the shiny spot on ships. Higher number mean smaller spots. Default is 16. However, 11 is recommended. This is a relative value.<br />
<br />
====-spec_point====<br />
This must be used with the -spec command line parameter and must be entered into the<br />
"Custom flags" field. Adjusts how much laser weapons contribute to specular highlights. Higher number mean greater contributions. Default is 1.0. However, 0.6 is recommended. This is a relative value.<br />
<br />
====-spec_static====<br />
This must be used with the -spec command line parameter and must be entered into the "Custom flags" field. Adjusts how much suns contribute to specular highlights. Higher numbers mean a greater contribution. Default is 1.0. However, is 0.8 recommended. This is a relative value.<br />
<br />
====-spec_tube====<br />
This must be used with the -spec command line parameter and must be entered into the "Custom flags" field. Adjusts how much Beam Weapons contribute to specular highlights. Higher numbers mean a greater contribution. Default is 1.0. However, 0.4 is recommended. This is a relative value.<br />
<br />
====-ogl_spec====<br />
Takes a numerical argument. This value changes the basic shininess of the specular light in OpenGL. A lower value reduces the overall intensity of the light making it broader and less powerful. A higher value makes it more focused and brighter. The default value is 80, and the usable range is 0 to 128 (clamped). The original default value was 60, but it was raised to behave more D3D like.<br />
<br />
<br />
===Graphics===<br />
====-bloom_intensity====<br />
Requires -post_processing ("Enable Post Processing") command.<br />
Default value is 75. Range is 0-200.<br />
<br />
====-clipdist====<br />
Changes the distance from the viewpoint for the near-clipping plane.<br />
<br />
Takes one argument decimal specifying the distance to the near-clipping plane.<br />
<br />
====-res====<br />
Allows you to specify a resolution if the desired one cannot be set in the Launcher. <br />
For example, -res 1920x1080 would run the game in 1920 x 1080 resolution. Since it requires an argument, it needs to be entered as a custom flag when using the Launcher. The "Run at specified resolution" option the Launcher gives is essentially this, but without being able to actually specify a resolution, it doesn't work.<br />
<br />
====-fxaa_preset====<br />
Requires both -post_processing and -fxaa. Can be used to adjust the FXAA quality and speed, 0 is fastest, 9 is highest quality. Default setting is 6.<br />
<br />
===Gameplay===<br />
====-mod====<br />
Specifies in which folders inside FreeSpace 2 directory, the game looks for all the game data (models, missions, textures, tables, ...). Retail version only looks inside ''Freespace2/data/'' structure and ''Freespace2/vp archives''.<br />
<br />
This flag allows installing several different mods that modify retail behavior, and switching between them without needing to erase files or having undesired cross effects. Each mod should be installed in its own folder.<br />
<br />
It takes one argument string: the chain of names of the used directories. Comma (''',''') must be used as separator. In this way, '''-mod dir1,dir2,dir3,...,dirx''' causes the game to use the following directory precedence:<br />
<br />
#Freespace2/dir1/<br />
#Freespace2/dir2/<br />
#Freespace2/dir3/<br />
# ... (the rest of the typed directories) ...<br />
#Freespace2/dirx/<br />
#Freespace2/<br />
<br />
This flag can be indirectly set, (and it is normally set), through Launcher MOD tab and [[mod.ini]] file.<br />
<br />
Within the Launcher's MOD tab you can select one directory, (let's call it ''moddir''), so the flag is at least set to '''-mod moddir'''.<br />
If ''Freespace2/moddir/[[mod.ini]]'' exists it will be used to modify the -mod flag, too.<br />
<br />
For further details, see '''[[mod.ini]]'''<br />
<br />
'''Data precedence'''<br />
<br />
As already said, within the different directories, the data precedence is set by the specified order in the -mod flag. The lowest priority goes to the Freespace2 installation directory.<br />
<br />
Inside each directory, data precedence is the following:<br />
<br />
#Individual files located in ''Current_dir/data/'' subdir structure. See [[FS2_Data_Structure|FS2 Data Structure topic]] for deeper info about the different folders and contents this structure has.<br />
#Files located inside vp archives. (These vp archives are "similar" to zip archives. They just contain other files and folders. Moreover, files have to be stored using the same ''data/'' structure used outside it). <br>Vp archives are read in alphabetical order, so aaa.vp files have higher priority than aab.vp files and so on.<br />
<br />
The highest priority file overrides the rest of them. In this way, if you have a ''Mission.fs2'' inside ''Freespace2/Pri1/data/missions/'' it doesn't matter that this ''Mission.fs2'' is also inside ''Freespace2/Pri1/aaa.vp'', ''Freespace2/Pri1/aab.vp'', ... or ''Freespace2/data/missions/''. This data precedence allows the user to quickly replace old files by corrected or enhanced ones adding them in a higher priority place.<br />
<br />
<br />
'''Additional notes'''<br />
# As derived from the explanation, the exact names for directories or vp archives are actually irrelevant. It only matters the directory order inside -mod flag argument and the alphabetical order for vp archives inside each used directory.<br />
# This flag is also used by [[Portal:FRED|FRED]]. So if there is special mod info, (like backgrounds maps, ship models or whatever), it must be typed, (''Fred2_Open_r.exe -MOD whatever''), or FRED won't be able to use it. A special build of wxLauncher is able to configure FRED so that the -mod doesn't have to be done manually see [http://www.hard-light.net/forums/index.php?topic=67950.msg1387911#msg1387911 the forum post] for more details.<br />
{{Table3612|As of 3.6.12 FRED now loads cmdline_fso.cfg just like FS does so FRED will use the same settings as FS including the -mod settings}}<br />
# Be careful while typing the directory names in the flag argument or inside mod.ini files. The program doesn't check if the typed directories exist. If they do not exist, they are just ignored. No warnings, no errors, no messages at all.<br />
<br />
{{Warning| '''Priority and Texture Formats'''<br />
<br />
''Obsolete behavior - Until FS2_open v3.6.9.:''<br />
<br />
FS2_Open can use several file formats in textures: [http://en.wikipedia.org/wiki/PCX PCX], [http://en.wikipedia.org/wiki/DirectDraw_Surface DDS], [http://en.wikipedia.org/wiki/JPG JPG] and [http://en.wikipedia.org/wiki/TGA TGA]. Make sure you keep the format when you update your texture. For example if you update the old ''TextureOfMyFighter.tga'', do not save it as ''TextureOfMyFighter.dds'' in a higher priority place, because there is a chance of the game loading the old one despite of all.<br />
<br />
The reason to do this is that, loading process (including priorities) is applied firstly for a kind of textures (TGAs), then for another kind (JPGs), and so on. This behavior can lead to situation where your new, updated and higher priority placed texture is not read because the format of the older one.<br />
<br />
<br />
''New behavior - From FS2_open v3.6.10. (including previous beta testing releases):''<br />
<br />
The former issue has been fixed. Now texture format priority is only applied within the same location. In this ''strange'' situation it goes DDS -> TGA -> JPG -> PCX. Examples:<br />
* ''/Freespace2/MyVp.vp>>>data/maps/MyTexture.dds'' is loaded instead of ''/Freespace2/MyVp.vp>>>data/maps/MyTexture.tga''.<br />
* But your improved ''/Freespace2/data/maps/MyTexture.xxx'' will override them both despite of its format.<br />
In this way, when you update any texture, you don't have to pay attention to its original format. Just place it in a higher priority place.<br />
<br />
Nevertheless, global priority is kept between animated and static textures. Because of their management, animated textures (ANIs and EFFs) are looked for BEFORE static ones. In this way there's no way to update an animated texture with a static one (an obsolete ANI is always going to be loaded before the newer DDS version). The solution: use an updated EFF with just one frame.<br />
<br />
}}<br />
<br />
====-fov====<br />
This flag allows the player to specify the ''vertical'' Field of View (FoV) angle, in radians, for the player eyepoint. The angle is measured across the full height of the viewing cone. The FoV angle is technically known as the Angle of View (AoV)<br />
<br />
*Syntax: '''''float''''' Angle<br />
*Valid Values: 0 to 2*Pi radians<br />
*Default Value: 0.75 radians<br />
<br />
{{Note|For peculiar reasons, the actual FoV/AoV used by the game will be the supplied value multiplied by 1.39626348.}}<br />
<br />
<br />
The the FoV angle/AoV is what determines the relative zoom level of the main game camera. Smaller angles generally equal to higher zoom levels, while larger angles equal to lower zoom levels (down to the theoretical x0 magnification).<br />
<br />
<br />
However, too small of an angle will have a squashed look on the edges of your screen, and too high of an angle will greatly stretch edges. It is recommended to change the AoV, as FS2's default AoV has some perspective distortion at the screen edges (the default AoV is too high).<br />
<br />
<br />
A natural looking (as if you where physically in the cockpit) AoV depends on the distance the player's actual eyes are away from the screen: the further away from the screen, the smaller the AoV should be, and vice versa. "Ergonomic" distances generally yield a '''''diagonal''''' AoV of 0.523 radians (30 degrees), but you can easily find the natural AoV by the following formula:<br />
<br />
<br />
AoV (radians) = 2 * atan( H / ( 2*D ))<br />
<br />
where:<br />
<br />
Height of screen = H<br />
<br />
Distance between head/eye and the screen = D<br />
<br />
<br />
Generally, gamers like to increase the AoV in order to increase their peripheral vision on the screen, so as to gain a better situational awareness around their craft. An AoV of 0.39 radians seems to be a good start, but feel free to experiment and use whatever AoV you are most comfortable with.<br />
<br />
===Multiplayer===<br />
====-gamename====<br />
Specifies the name of the game to be created by the host. This only works when used in conjunction with -startgame. <br />
<br />
Takes one argument string, the name to be assigned to the game being created.<br />
<br />
This argument does nothing when used with -standalone. To set the name for a standalone server, see [[Multiplayer(Main)#Standalone Servers|Standalone Servers]].<br />
<br />
See related:&nbsp;&nbsp; [[Command-Line_Reference#-startgame|-startgame]]&nbsp;&nbsp; [[Multiplayer(Main)#Standalone Servers|Standalone Servers]]<br />
<br />
====-password====<br />
Specifies the password for a standalone server. This only works when used in conjunction with -startgame. Cannot be used in conjunction with -closed or -restricted.<br />
<br />
Takes one argument string, the required password for the game being created.<br />
<br />
See related: [[Command-Line_Reference#-startgame|-startgame]] [[Command-Line_Reference#-closed|-closed]] [[Command-Line_Reference#-restricted|-restricted]]<br />
<br />
====-allowabove====<br />
Specifies a player's minimum rank for joining a game. This only works when used in conjunction with -startgame.<br />
<br />
Takes one argument integer, the points ranking above which a player must be to enter the game.<br />
<br />
See related: [[Command-Line_Reference#-startgame|-startgame]]<br />
<br />
====-allowbelow====<br />
Specifies a player's maximum rank for joining a game on a standalone server. This only works when used in conjunction with -startgame.<br />
<br />
Takes one argument integer, the points ranking below which a player must be to enter the game.<br />
<br />
See related: [[Command-Line_Reference#-startgame|-startgame]]<br />
<br />
====-port====<br />
Specifies the port on which to host a game or serve a standalone game.<br />
<br />
Takes one argument integer, the port on which the host will listen for clients.<br />
<br />
====-connect====<br />
{{Sectstub}}<br />
====-timeout====<br />
{{Sectstub}}<br />
====-cap_object_update====<br />
Caps the maximum object update the server will respond to regardless of what the client has set. If the client is set to request high object updates but the server is capped to low, then that's all the client will get. <br />
<br />
Takes one argument integer (0 to 3) which corresponds to the object update cap (With 0 being low and 3 being LAN).<br />
<br />
<br />
===Help===<br />
====-help====<br />
Instructs FSO to print out all supported parameters. Some launchers can use these options to automatically populate the available command line options, even if the version of FSO is far newer than the launcher itself. NOTE: This option only works in Linux builds...<br />
<br />
====--help====<br />
See [[Command-Line_Reference#-help|-help]]<br />
<br />
====-h====<br />
See [[Command-Line_Reference#-help|-help]]<br />
<br />
====-?====<br />
See [[Command-Line_Reference#-help|-help]]<br />
<br />
[[Category:Lists]]<br />
[[Category:Source Code Project]]</div>Chief1983https://wiki.hard-light.net/index.php?title=Command-Line_Reference&diff=44086Command-Line Reference2014-06-30T15:35:06Z<p>Chief1983: /* -flightshaftsoff */ Is actually -nolightshafts</p>
<hr />
<div>Command-Line Flags (also called Command-Line Parameters) are optional flags passed to the FSO executable, and generally enables one or more features added to the FS2 Open engine. These flags are accessed conveniently through an [[FSO Launcher]]. To have FSO list all available flags, use any one of the following: [[Command-Line_Reference#-help|-help]], [[Command-Line_Reference#-help|--help]], [[Command-Line_Reference#-help|-h]], or [[Command-Line_Reference#-help|-?]].<br />
<br />
<!--May need version info for the various flags, such as 3.6.13, etc. --><br />
<br />
===Graphics===<br />
====-spec====<br />
'''"Enable Specular"'''<br />
<br />
Only polygons mapped with textures for which a shinemap exists will receive specular mapping; no attempt is made to generate spec maps where they do not exist. Specular maps are specified with the base map name plus "-shine" (i.e. TCov3A-shine.pcx).<br />
{{Table3615|<br />
*This feature is on by default, use launcher option Disable Specular or if necessary to manually disable enter the flag -nospec}}<br />
<br />
====-env====<br />
'''"Enable Environment maps"'''<br />
<br />
It only works if [[Command-Line_Reference#-spec|-spec]] is also set. Environment mapping intensity will be determined from the shine map too (see [[Texturing]] for more info). [[Installing FreeSpace 2 Open#Video setup|See Video setup.]]<br />
{{Table3615|<br />
*This feature is on by default, use launcher option Disable Environment Maps or if necessary to manually disable enter the flag -noenv }}<br />
<br />
====-glow====<br />
'''"Enable Glowmaps"'''<br />
<br />
Only polygons mapped with textures for which a glowmap exists will be glowmapped. Glow maps are specified with the base map name plus "-glow" (i.e. TCov4A-glow.pcx)<br />
{{Table3615|<br />
*This feature is on by default, use launcher option Disable Glow Maps or if necessary to manually disable enter the flag -noglow }}<br />
<br />
====-nomotiondebris====<br />
'''"Disable motion debris"'''<br />
<br />
====-noscalevid====<br />
"Disable scale-to-window for Movies"<br />
<br />
Disables fullscreen scaling of video clips.<br />
<br />
====-missile_lighting====<br />
'''"Apply Lighting to Missiles"'''<br />
<br />
====-normal====<br />
'''"Enable Normal Maps"'''<br />
<br />
Normal maps require GLSL rendering, (see [[OpenGL_Shaders_(GLSL)|OpenGL Shaders (GLSL)]] for further info). It needs auxiliary normal maps (the same name of the base map plus "-normal"). DXT5_NM DDS format is needed. (Technical note: DXT5 will work, since only the GREEN and ALPHA channels are read by the current shader system. One direction of lines goes into the GREEN channel, the other direction goes into the ALPHA channel. RED and BLUE can be either base gray (#808080) or black. Usual practice is after creating the DXT5_NM, copy the RED channel to the ALPHA channel, black out the RED and BLUE an then save as either a DXT5 or u8888 (uncompressed) DDS file.)<br />
{{Table3615|<br />
*This feature is on by default, use launcher option Disable Normal Maps or if necessary to manually disable enter the flag -nonormal }}<br />
<br />
====-height====<br />
Enables height maps (parallax mapping). It only works if [[Command-Line_Reference#-normal|-normal]] is also set. It also needs GLSL rendering, (see [[OpenGL_Shaders_(GLSL)|OpenGL Shaders (GLSL)]] for further info). It needs auxiliary height maps (with the same name than base map plus "-height").<br />
{{Table3615|<br />
*This feature is on by default. To manually disable, enter the flag -noheight}}<br />
<br />
====-post_process====<br />
'''"Enable Post Processing"'''<br />
<br />
enables the use (if present) of post-processing effects as defined by the post_process.tbl. Bloom usage has an additional cmdline option for setting it's value, most post processing effects are achieved in mission per the mission designer or can be enabled globally in the table.<br />
<br />
====-soft_particles====<br />
'''"Enable soft particles"'''<br />
<br />
====-3dshockwave====<br />
'''"Enable 3D Shockwaves"'''<br />
<br />
This only has any effect when both a 2d and 3d shockwave effect are present, otherwise the only available effect is used (2d shockwave is defined by effects/shockwave01.eff or .ani, and 3d shockwave by models/shockwave.pof)<br />
<br />
Note that 3d shockwaves are usually flat discs, that FSO scales up. The animated 2d billboards used by 2d shockwaves with the addition of [[Command-Line Reference#-soft_particles|soft particles]], may look better when intersecting with models (which shockwaves often do). Use at your discretion.<br />
<br />
====-fxaa====<br />
'''"Enable FXAA antialiasing"'''<br />
<br />
Enables the FXAA postprocessing stage. Further information can be found here: http://www.hard-light.net/forums/index.php?topic=76145.0<br />
<br />
====-nolightshafts====<br />
'''"Force Lightshafts off"'''<br />
<br />
Disables Lightshafts even if a mission designer enables them via SEXP in a mission. This was previously documented as -flightshaftsoff but appears to have been changed to -nolightshafts for consistency before -flightshaftsoff was ever used in a released build.<br />
<br />
===Game Speed===<br />
====-img2dds====<br />
'''"Compress non-compressed images"'''<br />
<br />
Converts all images to DDS (compressed) format. Decreases memory usage but potentially reduces image quality.<br />
<br />
====-no_vsync====<br />
'''"Disable vertical sync"'''<br />
<br />
====-cache_bitmaps====<br />
'''"Cache bitmaps between missions"'''<br />
<br />
Will ideally reduce the load-time from one mission to another.<br />
<br />
<br />
===HUD===<br />
====-dualscanlines====<br />
'''"Another Pair of Scanning Lines"'''<br />
<br />
Adds a second pair of scanning lines to the target window when scanning an object.<br />
<br />
====-targetinfo====<br />
'''"Enable Info next to Target"'''<br />
<br />
Displays target info, such as name and class, beside the targeted object.<br />
<br />
====-orbradar====<br />
'''"Enables 3D radar"'''<br />
<br />
An Orb style 3D radar will replace the standard 2D version.<br />
<br />
====-rearm_timer====<br />
'''"Enable Rearm/Repair Completion Timer"'''<br />
<br />
Displays time remaining until rearm and repair from a support ship is complete.<br />
<br />
====-ballistic_gauge====<br />
'''"Enable the analog Ballistic Ammo gauge"'''<br />
<br />
Adds an ammo gauge to the HUD when armed with a ballistic weapon.<br />
<br />
<br />
===Gameplay===<br />
====-ship_choice_3d====<br />
'''"Use Models for Ship Selection"'''<br />
<br />
Uses ship models in ship selection window. It completely disables the standard ANI interface in this screen. <br><br />
Some mods need a compulsory use of this flag because they don't have available animations for their ships. In this situation, and if it is not used, the game will probably crash to desktop in the ship selection window.<br />
<br />
====-weapon_choice_3d====<br />
'''"Use Models for Weapon Selection"'''<br />
<br />
Uses weapon models in weapon loadout window for secondary weapons (missiles and bombs). It completely disables the standard ANI interface in this screen. <br><br />
Some mods need a compulsory use of this flag because they don't have available animations for their secondary weapons. In this situation, and if it is not used, the game will probably crash to desktop in the weapon loadout window.<br />
<br />
====-3dwarp====<br />
'''"Enable 3D Warp"'''<br />
<br />
Use full geometry for the subspace warp effect.<br />
<br />
====-warp_flash====<br />
'''"Enable Flash upon Warp"'''<br />
<br />
Enable a flash at warp in and warp out.<br />
<br />
====-no_ap_interrupt====<br />
'''"Disable Interrupting of AutoPilot"'''<br />
<br />
Tells the game to not allow players to interrupt an autopilot already-in-progress.<br />
<br />
====-stretch_menu====<br />
'''"Stretch interface to fill screen"'''<br />
<br />
Scales the interface to fill the screen without preserving the aspect ratio. Omit this to keep the aspect ratio, adding black bars where appropriate.<br />
<br />
<br />
===Audio===<br />
====-snd_preload====<br />
'''"Preload mission game sounds"'''<br />
<br />
Useful in preventing game stuttering when sounds are played for the first time.<br />
<br />
====-nosound====<br />
'''"Disable Sound and Music"'''<br />
<br />
====-nomusic====<br />
'''"Disables Music"'''<br />
<br />
===Multiplayer===<br />
====-standalone====<br />
'''"Run as Stand Alone Server"'''<br />
<br />
Creates a standalone multi-player server.<br />
<br />
====-startgame====<br />
'''"Skip Mainhall and Start Hosting"'''<br />
<br />
Once you launch and choose a pilot within the game, you will immediately have begun to host a game. This can be used in conjunction with several options to customize the game you create: -closed, -restricted, -password, -gamename, -allowabove, and -allowbelow. -startgame has no effect when -standalone is used.<br />
<br />
See related: [[Command-Line_Reference#-closed|-closed]] [[Command-Line_Reference#-restricted|-restricted]] [[Command-Line_Reference#-password|-password]] [[Command-Line_Reference#-gamename|-gamename]] [[Command-Line_Reference#-allowabove|-allowabove]] [[Command-Line_Reference#-allowbelow|-allowbelow]]<br />
<br />
====-closed====<br />
'''"Start Hosted Server as Closed"'''<br />
<br />
Hosts a new game in a closed state, where no one can join until the in-game "Close" button is cleared. This only works when used in conjunction with -startgame. Cannot be used in conjunction with -restricted or -password.<br />
<br />
See related: [[Command-Line_Reference#-startgame|-startgame]] [[Command-Line_Reference#-restricted|-restricted]] [[Command-Line_Reference#-password|-password]]<br />
<br />
====-restricted====<br />
'''"Host Confirms Join requests"'''<br />
<br />
Hosts a new game in a restricted state. The host is presented with option to accept or deny each client's request to join the game. This only works when used in conjunction with -startgame. Cannot be used in conjunction with -closed or -password.<br />
<br />
See related: [[Command-Line_Reference#-startgame|-startgame]] [[Command-Line_Reference#-closed|-closed]] [[Command-Line_Reference#-password|-password]]<br />
<br />
====-multilog====<br />
Creates a log file with a summary of packets sent and received in multiplayer games. The file is saved as \data\multi.log within the active mod folder&mdash;or with main data folder if no mod is active.<br />
<br />
====-clientdamage====<br />
{{Note| This feature is not available in current builds.}}<br />
<br />
====-mpnoreturn====<br />
'''"Disables Flight Deck option"'''<br />
<br />
Disables return to the flight deck screen after a mission completes.<br />
<br />
<br />
===Troubleshooting===<br />
====-nohtl====<br />
'''"Software Mode (very slow)"'''<br />
{{Warning| Enabling this will significantly reduce performance.}}<br />
Reverts to software rendering mode.<br />
<br />
====-no_set_gamma====<br />
'''"Disable Setting of Gamma"'''<br />
<br />
Disables the gamma settings in the options screen.<br />
<br />
====-nomovies====<br />
'''"Disable Video Playback"'''<br />
<br />
Disables all video playback.<br />
<br />
====-noparseerrors====<br />
'''"Disable Parsing Errors"'''<br />
<br />
Disables some parsing warnings and makes other parse errors non-fatal. Do not rely on this when creating new tables. The errors are there for a reason.<br />
<br />
====-parse_cmdline_only====<br />
'''"Parse Command Line Only"'''<br />
<br />
Parse only the application command line settings, and ignore any that may have been set in the on-disk data/cmdline_fso.cfg or per-user cmdline_fso.cfg (on Linux/Mac)<br />
<br />
====-safeloading====<br />
Loads missions the old way. Typically safer, but slower.<br />
{{Note| This parameter was removed as of the July 5, 2011 nightly build.}}<br />
<br />
====-query_speech====<br />
'''"Does this build have Speech?"'''<br />
<br />
Determines if the current build includes text-to-speech.<br />
<br />
====-novbo====<br />
'''"Disable OpenGL VBO"'''<br />
<br />
====-noibx====<br />
'''"Don't use cached index buffers (IBX)"'''<br />
<br />
Disables IBX caching of model geometry data. This will dramatically increase load times, but will help troubleshoot a model if one is working incorrectly.<br />
<br />
====-loadallweps====<br />
'''"Load all weapons, even those not used"'''<br />
<br />
====-disable_fbo====<br />
'''"Disable OpenGL RenderTargets"'''<br />
<br />
====-disable_pbo====<br />
'''"Disable OpenGL Pixel Buffer Objects"'''<br />
<br />
Disables the use of Pixel Buffer Objects (PBO) which may cause certain OpenGL operations to perform slower. Note PBO's were only used at three places in FSO anyway so it's *probably* not going to have a noticeable effect. <br />
<br />
May be required to workaround issues in certain versions of Linux's Mesa drivers for Intel integrated graphics cards where crashes occur in the mainhall (i.e. whenever a popup occurs). Distros that seem to have this problem presently include Ubuntu 13.10 and openSUSE 13.1.<br />
{{Table371|<br />
*This feature is present to work around a bug in Linux's Mesa drivers for Intel integrated graphics cards}}<br />
<br />
====-no_glsl====<br />
'''"Disable GLSL (shader) Support"'''<br />
<br />
Disables the use of GLSL rendering (OpenGL shaders). The game will revert to legacy fixed render pipeline. Please note that Normal and Height map effects will be unavailable.<br />
<br />
====-disable_glsl_model====<br />
'''"Don't use shaders for model rendering"'''<br />
<br />
====-ati_swap====<br />
'''"Fix Color issues on some ATI cards"'''<br />
<br />
====-no_3d_sound====<br />
'''"Use only 2D/stereo for sound effects"'''<br />
<br />
====-disable_di_mouse====<br />
'''"Disables the DirectInput mouse code for FSO on windows."'''<br />
<br />
'''Windows Only''' Can make mouse movement smoother on certain machines.<br />
<br />
====-mipmap====<br />
'''"Enable mipmapping"'''<br />
<br />
Causes for non-mipmapped textures to have mipmaps generated within the GPU on certain kind of texture formats, (IIRC, DDS formatted textures with a power of 2 size in both width and height). <br><br />
Since the use of already mipmapped DDS textures has become common, it has become deprecated.<br />
The quality of the generated mipmaps depends on each GPU and used driver. It is normally used with [[Command-Line_Reference#-img2dds|-img2dds]] flag.<br />
<br />
====-use_gldrawelements====<br />
'''"Use glDrawElements instead of glDrawRangeElements"'''<br />
<br />
Introduced as a means of switching to the slower OpenGL call glDrawElements, instead of glDrawRangeElements.<br />
{{Table3614|<br />
*This feature may resolve certain rendering problems where parts of models are not drawn on Linux drivers}}<br />
<br />
====-keyboard_layout====<br />
'''"Manually sets a keyboard layout"'''<br />
<br />
A commandline parameter to set the keyboard layout as a string parameter.<br />
{{Table3614|<br />
*Currently the only valid string is "qwertz" (German) but French azerty may be added in future.}}<br />
<br />
===Experimental===<br />
====-ingame_join====<br />
'''"Allows Ingame Joining"'''<br />
<br />
Enables ingame joining in multiplayer. FIXME: Host option?<br />
<br />
====-voicer====<br />
'''"Voice Recognition"'''<br />
<br />
Windows-only. Enables voice-recognition for wingmen commands. Must be specifically compiled into a build in order for it to be available; 3.6.10 final includes the feature. See [[Voice Recognition]] for more details.<br />
<br />
====-fb_explosions====<br />
'''"Enable Framebuffer Shockwaves"'''<br />
<br />
===Development Tools===<br />
====-fps====<br />
'''"Show frames per second on HUD"'''<br />
<br />
Displays current frames per second.<br />
<br />
====-pos====<br />
'''"Show Position of Camera"'''<br />
<br />
Displays current position coordinates of camera.<br />
<br />
====-window====<br />
'''"Run in Window"'''<br />
<br />
Runs the game in a window. No check to make sure that resolution is no higher than your desktop resolution, so be careful.<br />
<br />
====-fullscreen_window====<br />
'''"Run in Fullscreen Window"'''<br />
{{Note| This feature is only available on Windows.}}<br />
<br />
====-timerbar====<br />
Displays a timing bar across the top of the screen. Timerbar format varies by build. This is a relic from the Volition development days, and is unmaintained.<br />
{{Note| This parameter was removed as of the July 5, 2011 nightly build.}}<br />
<br />
====-stats====<br />
'''"Show Statistics"'''<br />
<br />
Shows total and free physical memory, virtual memory and system pagefile.<br />
<br />
====-coords====<br />
'''"Show Coordinates"'''<br />
<br />
Shows coordinates of the mouse cursor.<br />
<br />
====-show_mem_usage====<br />
'''"Show Memory Usage"'''<br />
<br />
Shows detailed RAM usage based on file, handler and process usage and display on the left-center side of the screen during mission load and while in mission.<br />
<br />
The meaning of the info displayed in the upper right corner of the HUD is:<br />
<br />
'''DYN''' = dynamic memory, basically anything that's been allocated by the vm_* memory functions. This does NOT indicate total memory usage but does account for most of it.<br />
<br />
'''POF''' = model memory, how much memory is being used by models (does not include textures)<br />
<br />
'''C-BMP, BMP''' = bmpman memory, how much is used by the textures/images that are loaded. C-BMP means that you are using -cache_bitmaps and it will try to keep textures in memory between level loads and as the new level is loading it will keep what it needs and unload what it doesn't. Can greatly increase level loading speed, but does so at the cost of memory between level loads. This does not increase overall memory usage though, only during the loading screen. BMP means that it is not cached and all textures are unloaded from memory at the start of level load and all needed textures are then loaded from the disk again.<br />
<br />
'''S-RAM''' = sound memory, how much is used by the sounds loaded in memory at the time. This counts static sounds only (from sounds.tbl, etc.) and not streaming sounds (music, voices, briefing stuff, etc).<br />
<br />
'''V-RAM''' = approximate memory usage of video textures. This does not mean that your card has this much memory, and can report higher numbers that your card actually has memory. For OpenGL it also includes some of the geometry data, but this number does not reflect the total memory that your video card is using. It only reports how much data the game has purposefully loaded into API memory (meaning it could be in system memory, video card memory, or AGP memory).<br />
<br />
<br />
''(It only works with debug builds, not with release builds).''<br />
<br />
====-pofspew====<br />
Reads all objects in the pof file of the selected mod, and creates an ibx cache file for each object in the data/cache folder for that mod. <br><br />
Details for each object are output to a pofspew.txt file created in the data folder. <br><br />
Otherwise, ibx files are created in game before each mission.<br />
<br />
====-tablecrcs====<br />
Is actually now (or should be) a typed reference rather than as a selection item. Takes 1 argument, usually a descriptive name.<br />
Example usage: "-table_crcs MediaVPs" will create a table_crcs.csv file in the running mod (name can be separate of the mod selected) that allows for the validation of the tables used by that mod while on-line. The descriptive parameter given helps "allocate" that .csv file to the mod in question, and as such should closely or exactly match that mods name if possible.<br />
<br />
====-missioncrcs====<br />
Is actually now (or should be) a typed reference rather than as a selection item. Takes 1 argument, usually a descriptive name.<br />
Example usage: "-mission_crcs MediaVPs" will create a mission_crcs.csv file in the running mod (name can be separate of the mod selected) that allows for the validation of the missions used by that mod while on-line. The descriptive parameter given helps "allocate" that .csv file to the mod in question, and as such should closely or exactly match that mods name if possible.<br />
<br />
====-dis_collisions====<br />
'''"Disable Collisions"'''<br />
<br />
Disables all collisions.<br />
<br />
====-dis_weapons====<br />
'''"Disable Weapon Rendering"'''<br />
<br />
Disables weapons rendering.<br />
<br />
====-output_sexps====<br />
This will make the FSO build spit out an html file that documents the supported SEXP's.<br />
<br />
Just double click on sexps.html and it should open in your default web browser.<br />
<br />
====-output_scripting====<br />
This will make the FSO build spit out an html file that documents the supported scripting hooks and LUA libraries.<br />
<br />
Just double click on scripting.html and it should open in your default web browser.<br />
<br />
====-nograb====<br />
Disables focus grabbing in a window.<br />
{{Note| This feature is not available on Windows.}}<br />
<br />
====-save_render_target====<br />
'''"Save Render Targets to file"'''<br />
<br />
====-debug_window====<br />
'''"Display Debug Window"'''<br />
<br />
Lists the fs2_open.log in (nearly)real-time generation.<br />
<br />
====-verify_vps====<br />
'''"Spew VP crcs to vp_crcs.txt"'''<br />
<br />
Exports the CRC values of the VP files being loaded into a vp_crcs.txt file.<br />
<br />
====-reparse_mainhall====<br />
'''"Reparse mainhall.tbl when loading halls"'''<br />
<br />
Mainhall.tbl will be reparsed every time a mainhall is loaded, as opposed to just once at game startup.<br />
<br />
====-start_mission====<br />
'''"Skip the mainhall in jump right into the specified mission"'''<br />
<br />
Jump into the mission specified by the filename. Only in effect on the first run. This will skip load of the mainhall and its other related things altogether.<br />
<br />
====-profile_frame_time====<br />
'''"Profile engine subsystems"'''<br />
<br />
Activates the frame profiling code. This presents a readout showing the current, minimum, maximum and average percentages of frametime a given section of code has taken up; this can be used to identify particular bottlenecks or measure the effectiveness of certain optimizations.<br />
<br />
====-profile_write_file====<br />
'''"Write profiling information to file"'''<br />
<br />
This will write the frame times of each gameplay frame to the file 'profiling.csv' where each line is ''<framenumber>;<frametime>''. The first two frames are usually very long because the timer is set at engine startup so you might want to exclude those from your data.<br />
<br />
====-no_unfocused_pause====<br />
'''"Don't pause if the window isn't focused"'''<br />
<br />
When the FSO window looses focus it will not pause the game, useful for doing non-interactive test runs.<br />
<br />
==Other==<br />
The following options are not available as checkboxes in the launcher. Many require parameters, which follow the flag separated by a space. The prototype for use in this case is "-option argument"<br />
<br />
===Lighting===<br />
These factors can dramatically alter the atmosphere of the game. [[Sample Lighting Settings|This page]] has some sample lighting settings with screenshots.<br />
<br />
====-ambient_factor====<br />
This must be entered into the "Custom flags" field. This is a multiplier applied to the intensity of ambient lighting. Ambient light is lighting applied to all parts of a ship. FS2's standard value is 120. Try 75 for a good and realistic looking value. However, that is relative.<br />
<br />
====-no_emissive_light====<br />
By default, all ships in FS2 have a light generated on their own, it is more or less similar to a minimal amount of -ambient_factor. This feature was implemented to help the player seeing the ships over a black background. This flag disables this feature. Use it with a low -ambient_factor value to obtain an ultra-realistic dark looking.<br />
<br />
====-spec_exp====<br />
This must be used with the -spec command line parameter and must be entered into the "Custom flags" field. Adjusts the size of the shiny spot on ships. Higher number mean smaller spots. Default is 16. However, 11 is recommended. This is a relative value.<br />
<br />
====-spec_point====<br />
This must be used with the -spec command line parameter and must be entered into the<br />
"Custom flags" field. Adjusts how much laser weapons contribute to specular highlights. Higher number mean greater contributions. Default is 1.0. However, 0.6 is recommended. This is a relative value.<br />
<br />
====-spec_static====<br />
This must be used with the -spec command line parameter and must be entered into the "Custom flags" field. Adjusts how much suns contribute to specular highlights. Higher numbers mean a greater contribution. Default is 1.0. However, is 0.8 recommended. This is a relative value.<br />
<br />
====-spec_tube====<br />
This must be used with the -spec command line parameter and must be entered into the "Custom flags" field. Adjusts how much Beam Weapons contribute to specular highlights. Higher numbers mean a greater contribution. Default is 1.0. However, 0.4 is recommended. This is a relative value.<br />
<br />
====-ogl_spec====<br />
Takes a numerical argument. This value changes the basic shininess of the specular light in OpenGL. A lower value reduces the overall intensity of the light making it broader and less powerful. A higher value makes it more focused and brighter. The default value is 80, and the usable range is 0 to 128 (clamped). The original default value was 60, but it was raised to behave more D3D like.<br />
<br />
<br />
===Graphics===<br />
====-bloom_intensity====<br />
Requires -post_processing ("Enable Post Processing") command.<br />
Default value is 75. Range is 0-200.<br />
<br />
====-clipdist====<br />
Changes the distance from the viewpoint for the near-clipping plane.<br />
<br />
Takes one argument decimal specifying the distance to the near-clipping plane.<br />
<br />
====-res====<br />
Allows you to specify a resolution if the desired one cannot be set in the Launcher. <br />
For example, -res 1920x1080 would run the game in 1920 x 1080 resolution. Since it requires an argument, it needs to be entered as a custom flag when using the Launcher. The "Run at specified resolution" option the Launcher gives is essentially this, but without being able to actually specify a resolution, it doesn't work.<br />
<br />
====-fxaa_preset====<br />
Requires both -post_processing and -fxaa. Can be used to adjust the FXAA quality and speed, 0 is fastest, 9 is highest quality. Default setting is 6.<br />
<br />
===Gameplay===<br />
====-mod====<br />
Specifies in which folders inside FreeSpace 2 directory, the game looks for all the game data (models, missions, textures, tables, ...). Retail version only looks inside ''Freespace2/data/'' structure and ''Freespace2/vp archives''.<br />
<br />
This flag allows installing several different mods that modify retail behavior, and switching between them without needing to erase files or having undesired cross effects. Each mod should be installed in its own folder.<br />
<br />
It takes one argument string: the chain of names of the used directories. Comma (''',''') must be used as separator. In this way, '''-mod dir1,dir2,dir3,...,dirx''' causes the game to use the following directory precedence:<br />
<br />
#Freespace2/dir1/<br />
#Freespace2/dir2/<br />
#Freespace2/dir3/<br />
# ... (the rest of the typed directories) ...<br />
#Freespace2/dirx/<br />
#Freespace2/<br />
<br />
This flag can be indirectly set, (and it is normally set), through Launcher MOD tab and [[mod.ini]] file.<br />
<br />
Within the Launcher's MOD tab you can select one directory, (let's call it ''moddir''), so the flag is at least set to '''-mod moddir'''.<br />
If ''Freespace2/moddir/[[mod.ini]]'' exists it will be used to modify the -mod flag, too.<br />
<br />
For further details, see '''[[mod.ini]]'''<br />
<br />
'''Data precedence'''<br />
<br />
As already said, within the different directories, the data precedence is set by the specified order in the -mod flag. The lowest priority goes to the Freespace2 installation directory.<br />
<br />
Inside each directory, data precedence is the following:<br />
<br />
#Individual files located in ''Current_dir/data/'' subdir structure. See [[FS2_Data_Structure|FS2 Data Structure topic]] for deeper info about the different folders and contents this structure has.<br />
#Files located inside vp archives. (These vp archives are "similar" to zip archives. They just contain other files and folders. Moreover, files have to be stored using the same ''data/'' structure used outside it). <br>Vp archives are read in alphabetical order, so aaa.vp files have higher priority than aab.vp files and so on.<br />
<br />
The highest priority file overrides the rest of them. In this way, if you have a ''Mission.fs2'' inside ''Freespace2/Pri1/data/missions/'' it doesn't matter that this ''Mission.fs2'' is also inside ''Freespace2/Pri1/aaa.vp'', ''Freespace2/Pri1/aab.vp'', ... or ''Freespace2/data/missions/''. This data precedence allows the user to quickly replace old files by corrected or enhanced ones adding them in a higher priority place.<br />
<br />
<br />
'''Additional notes'''<br />
# As derived from the explanation, the exact names for directories or vp archives are actually irrelevant. It only matters the directory order inside -mod flag argument and the alphabetical order for vp archives inside each used directory.<br />
# This flag is also used by [[Portal:FRED|FRED]]. So if there is special mod info, (like backgrounds maps, ship models or whatever), it must be typed, (''Fred2_Open_r.exe -MOD whatever''), or FRED won't be able to use it. A special build of wxLauncher is able to configure FRED so that the -mod doesn't have to be done manually see [http://www.hard-light.net/forums/index.php?topic=67950.msg1387911#msg1387911 the forum post] for more details.<br />
{{Table3612|As of 3.6.12 FRED now loads cmdline_fso.cfg just like FS does so FRED will use the same settings as FS including the -mod settings}}<br />
# Be careful while typing the directory names in the flag argument or inside mod.ini files. The program doesn't check if the typed directories exist. If they do not exist, they are just ignored. No warnings, no errors, no messages at all.<br />
<br />
{{Warning| '''Priority and Texture Formats'''<br />
<br />
''Obsolete behavior - Until FS2_open v3.6.9.:''<br />
<br />
FS2_Open can use several file formats in textures: [http://en.wikipedia.org/wiki/PCX PCX], [http://en.wikipedia.org/wiki/DirectDraw_Surface DDS], [http://en.wikipedia.org/wiki/JPG JPG] and [http://en.wikipedia.org/wiki/TGA TGA]. Make sure you keep the format when you update your texture. For example if you update the old ''TextureOfMyFighter.tga'', do not save it as ''TextureOfMyFighter.dds'' in a higher priority place, because there is a chance of the game loading the old one despite of all.<br />
<br />
The reason to do this is that, loading process (including priorities) is applied firstly for a kind of textures (TGAs), then for another kind (JPGs), and so on. This behavior can lead to situation where your new, updated and higher priority placed texture is not read because the format of the older one.<br />
<br />
<br />
''New behavior - From FS2_open v3.6.10. (including previous beta testing releases):''<br />
<br />
The former issue has been fixed. Now texture format priority is only applied within the same location. In this ''strange'' situation it goes DDS -> TGA -> JPG -> PCX. Examples:<br />
* ''/Freespace2/MyVp.vp>>>data/maps/MyTexture.dds'' is loaded instead of ''/Freespace2/MyVp.vp>>>data/maps/MyTexture.tga''.<br />
* But your improved ''/Freespace2/data/maps/MyTexture.xxx'' will override them both despite of its format.<br />
In this way, when you update any texture, you don't have to pay attention to its original format. Just place it in a higher priority place.<br />
<br />
Nevertheless, global priority is kept between animated and static textures. Because of their management, animated textures (ANIs and EFFs) are looked for BEFORE static ones. In this way there's no way to update an animated texture with a static one (an obsolete ANI is always going to be loaded before the newer DDS version). The solution: use an updated EFF with just one frame.<br />
<br />
}}<br />
<br />
====-fov====<br />
This flag allows the player to specify the ''vertical'' Field of View (FoV) angle, in radians, for the player eyepoint. The angle is measured across the full height of the viewing cone. The FoV angle is technically known as the Angle of View (AoV)<br />
<br />
*Syntax: '''''float''''' Angle<br />
*Valid Values: 0 to 2*Pi radians<br />
*Default Value: 0.75 radians<br />
<br />
{{Note|For peculiar reasons, the actual FoV/AoV used by the game will be the supplied value multiplied by 1.39626348.}}<br />
<br />
<br />
The the FoV angle/AoV is what determines the relative zoom level of the main game camera. Smaller angles generally equal to higher zoom levels, while larger angles equal to lower zoom levels (down to the theoretical x0 magnification).<br />
<br />
<br />
However, too small of an angle will have a squashed look on the edges of your screen, and too high of an angle will greatly stretch edges. It is recommended to change the AoV, as FS2's default AoV has some perspective distortion at the screen edges (the default AoV is too high).<br />
<br />
<br />
A natural looking (as if you where physically in the cockpit) AoV depends on the distance the player's actual eyes are away from the screen: the further away from the screen, the smaller the AoV should be, and vice versa. "Ergonomic" distances generally yield a '''''diagonal''''' AoV of 0.523 radians (30 degrees), but you can easily find the natural AoV by the following formula:<br />
<br />
<br />
AoV (radians) = 2 * atan( H / ( 2*D ))<br />
<br />
where:<br />
<br />
Height of screen = H<br />
<br />
Distance between head/eye and the screen = D<br />
<br />
<br />
Generally, gamers like to increase the AoV in order to increase their peripheral vision on the screen, so as to gain a better situational awareness around their craft. An AoV of 0.39 radians seems to be a good start, but feel free to experiment and use whatever AoV you are most comfortable with.<br />
<br />
===Multiplayer===<br />
====-gamename====<br />
Specifies the name of the game to be created by the host. This only works when used in conjunction with -startgame. <br />
<br />
Takes one argument string, the name to be assigned to the game being created.<br />
<br />
This argument does nothing when used with -standalone. To set the name for a standalone server, see [[Multiplayer(Main)#Standalone Servers|Standalone Servers]].<br />
<br />
See related:&nbsp;&nbsp; [[Command-Line_Reference#-startgame|-startgame]]&nbsp;&nbsp; [[Multiplayer(Main)#Standalone Servers|Standalone Servers]]<br />
<br />
====-password====<br />
Specifies the password for a standalone server. This only works when used in conjunction with -startgame. Cannot be used in conjunction with -closed or -restricted.<br />
<br />
Takes one argument string, the required password for the game being created.<br />
<br />
See related: [[Command-Line_Reference#-startgame|-startgame]] [[Command-Line_Reference#-closed|-closed]] [[Command-Line_Reference#-restricted|-restricted]]<br />
<br />
====-allowabove====<br />
Specifies a player's minimum rank for joining a game. This only works when used in conjunction with -startgame.<br />
<br />
Takes one argument integer, the points ranking above which a player must be to enter the game.<br />
<br />
See related: [[Command-Line_Reference#-startgame|-startgame]]<br />
<br />
====-allowbelow====<br />
Specifies a player's maximum rank for joining a game on a standalone server. This only works when used in conjunction with -startgame.<br />
<br />
Takes one argument integer, the points ranking below which a player must be to enter the game.<br />
<br />
See related: [[Command-Line_Reference#-startgame|-startgame]]<br />
<br />
====-port====<br />
Specifies the port on which to host a game or serve a standalone game.<br />
<br />
Takes one argument integer, the port on which the host will listen for clients.<br />
<br />
====-connect====<br />
{{Sectstub}}<br />
====-timeout====<br />
{{Sectstub}}<br />
====-cap_object_update====<br />
Caps the maximum object update the server will respond to regardless of what the client has set. If the client is set to request high object updates but the server is capped to low, then that's all the client will get. <br />
<br />
Takes one argument integer (0 to 3) which corresponds to the object update cap (With 0 being low and 3 being LAN).<br />
<br />
<br />
===Help===<br />
====-help====<br />
Instructs FSO to print out all supported parameters. Some launchers can use these options to automatically populate the available command line options, even if the version of FSO is far newer than the launcher itself. NOTE: This option only works in Linux builds...<br />
<br />
====--help====<br />
See [[Command-Line_Reference#-help|-help]]<br />
<br />
====-h====<br />
See [[Command-Line_Reference#-help|-help]]<br />
<br />
====-?====<br />
See [[Command-Line_Reference#-help|-help]]<br />
<br />
[[Category:Lists]]<br />
[[Category:Source Code Project]]</div>Chief1983https://wiki.hard-light.net/index.php?title=Command-Line_Reference&diff=44085Command-Line Reference2014-06-30T15:25:56Z<p>Chief1983: Move height maps into graphics to reflect current behavior in launcher</p>
<hr />
<div>Command-Line Flags (also called Command-Line Parameters) are optional flags passed to the FSO executable, and generally enables one or more features added to the FS2 Open engine. These flags are accessed conveniently through an [[FSO Launcher]]. To have FSO list all available flags, use any one of the following: [[Command-Line_Reference#-help|-help]], [[Command-Line_Reference#-help|--help]], [[Command-Line_Reference#-help|-h]], or [[Command-Line_Reference#-help|-?]].<br />
<br />
<!--May need version info for the various flags, such as 3.6.13, etc. --><br />
<br />
===Graphics===<br />
====-spec====<br />
'''"Enable Specular"'''<br />
<br />
Only polygons mapped with textures for which a shinemap exists will receive specular mapping; no attempt is made to generate spec maps where they do not exist. Specular maps are specified with the base map name plus "-shine" (i.e. TCov3A-shine.pcx).<br />
{{Table3615|<br />
*This feature is on by default, use launcher option Disable Specular or if necessary to manually disable enter the flag -nospec}}<br />
<br />
====-env====<br />
'''"Enable Environment maps"'''<br />
<br />
It only works if [[Command-Line_Reference#-spec|-spec]] is also set. Environment mapping intensity will be determined from the shine map too (see [[Texturing]] for more info). [[Installing FreeSpace 2 Open#Video setup|See Video setup.]]<br />
{{Table3615|<br />
*This feature is on by default, use launcher option Disable Environment Maps or if necessary to manually disable enter the flag -noenv }}<br />
<br />
====-glow====<br />
'''"Enable Glowmaps"'''<br />
<br />
Only polygons mapped with textures for which a glowmap exists will be glowmapped. Glow maps are specified with the base map name plus "-glow" (i.e. TCov4A-glow.pcx)<br />
{{Table3615|<br />
*This feature is on by default, use launcher option Disable Glow Maps or if necessary to manually disable enter the flag -noglow }}<br />
<br />
====-nomotiondebris====<br />
'''"Disable motion debris"'''<br />
<br />
====-noscalevid====<br />
"Disable scale-to-window for Movies"<br />
<br />
Disables fullscreen scaling of video clips.<br />
<br />
====-missile_lighting====<br />
'''"Apply Lighting to Missiles"'''<br />
<br />
====-normal====<br />
'''"Enable Normal Maps"'''<br />
<br />
Normal maps require GLSL rendering, (see [[OpenGL_Shaders_(GLSL)|OpenGL Shaders (GLSL)]] for further info). It needs auxiliary normal maps (the same name of the base map plus "-normal"). DXT5_NM DDS format is needed. (Technical note: DXT5 will work, since only the GREEN and ALPHA channels are read by the current shader system. One direction of lines goes into the GREEN channel, the other direction goes into the ALPHA channel. RED and BLUE can be either base gray (#808080) or black. Usual practice is after creating the DXT5_NM, copy the RED channel to the ALPHA channel, black out the RED and BLUE an then save as either a DXT5 or u8888 (uncompressed) DDS file.)<br />
{{Table3615|<br />
*This feature is on by default, use launcher option Disable Normal Maps or if necessary to manually disable enter the flag -nonormal }}<br />
<br />
====-height====<br />
Enables height maps (parallax mapping). It only works if [[Command-Line_Reference#-normal|-normal]] is also set. It also needs GLSL rendering, (see [[OpenGL_Shaders_(GLSL)|OpenGL Shaders (GLSL)]] for further info). It needs auxiliary height maps (with the same name than base map plus "-height").<br />
{{Table3615|<br />
*This feature is on by default. To manually disable, enter the flag -noheight}}<br />
<br />
====-post_process====<br />
'''"Enable Post Processing"'''<br />
<br />
enables the use (if present) of post-processing effects as defined by the post_process.tbl. Bloom usage has an additional cmdline option for setting it's value, most post processing effects are achieved in mission per the mission designer or can be enabled globally in the table.<br />
<br />
====-soft_particles====<br />
'''"Enable soft particles"'''<br />
<br />
====-3dshockwave====<br />
'''"Enable 3D Shockwaves"'''<br />
<br />
This only has any effect when both a 2d and 3d shockwave effect are present, otherwise the only available effect is used (2d shockwave is defined by effects/shockwave01.eff or .ani, and 3d shockwave by models/shockwave.pof)<br />
<br />
Note that 3d shockwaves are usually flat discs, that FSO scales up. The animated 2d billboards used by 2d shockwaves with the addition of [[Command-Line Reference#-soft_particles|soft particles]], may look better when intersecting with models (which shockwaves often do). Use at your discretion.<br />
<br />
====-fxaa====<br />
'''"Enable FXAA antialiasing"'''<br />
<br />
Enables the FXAA postprocessing stage. Further information can be found here: http://www.hard-light.net/forums/index.php?topic=76145.0<br />
<br />
====-flightshaftsoff====<br />
'''"Force Lightshafts off"'''<br />
<br />
Disables Lightshafts even if a mission designer enables them via SEXP in a mission.<br />
<br />
<br />
===Game Speed===<br />
====-img2dds====<br />
'''"Compress non-compressed images"'''<br />
<br />
Converts all images to DDS (compressed) format. Decreases memory usage but potentially reduces image quality.<br />
<br />
====-no_vsync====<br />
'''"Disable vertical sync"'''<br />
<br />
====-cache_bitmaps====<br />
'''"Cache bitmaps between missions"'''<br />
<br />
Will ideally reduce the load-time from one mission to another.<br />
<br />
<br />
===HUD===<br />
====-dualscanlines====<br />
'''"Another Pair of Scanning Lines"'''<br />
<br />
Adds a second pair of scanning lines to the target window when scanning an object.<br />
<br />
====-targetinfo====<br />
'''"Enable Info next to Target"'''<br />
<br />
Displays target info, such as name and class, beside the targeted object.<br />
<br />
====-orbradar====<br />
'''"Enables 3D radar"'''<br />
<br />
An Orb style 3D radar will replace the standard 2D version.<br />
<br />
====-rearm_timer====<br />
'''"Enable Rearm/Repair Completion Timer"'''<br />
<br />
Displays time remaining until rearm and repair from a support ship is complete.<br />
<br />
====-ballistic_gauge====<br />
'''"Enable the analog Ballistic Ammo gauge"'''<br />
<br />
Adds an ammo gauge to the HUD when armed with a ballistic weapon.<br />
<br />
<br />
===Gameplay===<br />
====-ship_choice_3d====<br />
'''"Use Models for Ship Selection"'''<br />
<br />
Uses ship models in ship selection window. It completely disables the standard ANI interface in this screen. <br><br />
Some mods need a compulsory use of this flag because they don't have available animations for their ships. In this situation, and if it is not used, the game will probably crash to desktop in the ship selection window.<br />
<br />
====-weapon_choice_3d====<br />
'''"Use Models for Weapon Selection"'''<br />
<br />
Uses weapon models in weapon loadout window for secondary weapons (missiles and bombs). It completely disables the standard ANI interface in this screen. <br><br />
Some mods need a compulsory use of this flag because they don't have available animations for their secondary weapons. In this situation, and if it is not used, the game will probably crash to desktop in the weapon loadout window.<br />
<br />
====-3dwarp====<br />
'''"Enable 3D Warp"'''<br />
<br />
Use full geometry for the subspace warp effect.<br />
<br />
====-warp_flash====<br />
'''"Enable Flash upon Warp"'''<br />
<br />
Enable a flash at warp in and warp out.<br />
<br />
====-no_ap_interrupt====<br />
'''"Disable Interrupting of AutoPilot"'''<br />
<br />
Tells the game to not allow players to interrupt an autopilot already-in-progress.<br />
<br />
====-stretch_menu====<br />
'''"Stretch interface to fill screen"'''<br />
<br />
Scales the interface to fill the screen without preserving the aspect ratio. Omit this to keep the aspect ratio, adding black bars where appropriate.<br />
<br />
<br />
===Audio===<br />
====-snd_preload====<br />
'''"Preload mission game sounds"'''<br />
<br />
Useful in preventing game stuttering when sounds are played for the first time.<br />
<br />
====-nosound====<br />
'''"Disable Sound and Music"'''<br />
<br />
====-nomusic====<br />
'''"Disables Music"'''<br />
<br />
===Multiplayer===<br />
====-standalone====<br />
'''"Run as Stand Alone Server"'''<br />
<br />
Creates a standalone multi-player server.<br />
<br />
====-startgame====<br />
'''"Skip Mainhall and Start Hosting"'''<br />
<br />
Once you launch and choose a pilot within the game, you will immediately have begun to host a game. This can be used in conjunction with several options to customize the game you create: -closed, -restricted, -password, -gamename, -allowabove, and -allowbelow. -startgame has no effect when -standalone is used.<br />
<br />
See related: [[Command-Line_Reference#-closed|-closed]] [[Command-Line_Reference#-restricted|-restricted]] [[Command-Line_Reference#-password|-password]] [[Command-Line_Reference#-gamename|-gamename]] [[Command-Line_Reference#-allowabove|-allowabove]] [[Command-Line_Reference#-allowbelow|-allowbelow]]<br />
<br />
====-closed====<br />
'''"Start Hosted Server as Closed"'''<br />
<br />
Hosts a new game in a closed state, where no one can join until the in-game "Close" button is cleared. This only works when used in conjunction with -startgame. Cannot be used in conjunction with -restricted or -password.<br />
<br />
See related: [[Command-Line_Reference#-startgame|-startgame]] [[Command-Line_Reference#-restricted|-restricted]] [[Command-Line_Reference#-password|-password]]<br />
<br />
====-restricted====<br />
'''"Host Confirms Join requests"'''<br />
<br />
Hosts a new game in a restricted state. The host is presented with option to accept or deny each client's request to join the game. This only works when used in conjunction with -startgame. Cannot be used in conjunction with -closed or -password.<br />
<br />
See related: [[Command-Line_Reference#-startgame|-startgame]] [[Command-Line_Reference#-closed|-closed]] [[Command-Line_Reference#-password|-password]]<br />
<br />
====-multilog====<br />
Creates a log file with a summary of packets sent and received in multiplayer games. The file is saved as \data\multi.log within the active mod folder&mdash;or with main data folder if no mod is active.<br />
<br />
====-clientdamage====<br />
{{Note| This feature is not available in current builds.}}<br />
<br />
====-mpnoreturn====<br />
'''"Disables Flight Deck option"'''<br />
<br />
Disables return to the flight deck screen after a mission completes.<br />
<br />
<br />
===Troubleshooting===<br />
====-nohtl====<br />
'''"Software Mode (very slow)"'''<br />
{{Warning| Enabling this will significantly reduce performance.}}<br />
Reverts to software rendering mode.<br />
<br />
====-no_set_gamma====<br />
'''"Disable Setting of Gamma"'''<br />
<br />
Disables the gamma settings in the options screen.<br />
<br />
====-nomovies====<br />
'''"Disable Video Playback"'''<br />
<br />
Disables all video playback.<br />
<br />
====-noparseerrors====<br />
'''"Disable Parsing Errors"'''<br />
<br />
Disables some parsing warnings and makes other parse errors non-fatal. Do not rely on this when creating new tables. The errors are there for a reason.<br />
<br />
====-parse_cmdline_only====<br />
'''"Parse Command Line Only"'''<br />
<br />
Parse only the application command line settings, and ignore any that may have been set in the on-disk data/cmdline_fso.cfg or per-user cmdline_fso.cfg (on Linux/Mac)<br />
<br />
====-safeloading====<br />
Loads missions the old way. Typically safer, but slower.<br />
{{Note| This parameter was removed as of the July 5, 2011 nightly build.}}<br />
<br />
====-query_speech====<br />
'''"Does this build have Speech?"'''<br />
<br />
Determines if the current build includes text-to-speech.<br />
<br />
====-novbo====<br />
'''"Disable OpenGL VBO"'''<br />
<br />
====-noibx====<br />
'''"Don't use cached index buffers (IBX)"'''<br />
<br />
Disables IBX caching of model geometry data. This will dramatically increase load times, but will help troubleshoot a model if one is working incorrectly.<br />
<br />
====-loadallweps====<br />
'''"Load all weapons, even those not used"'''<br />
<br />
====-disable_fbo====<br />
'''"Disable OpenGL RenderTargets"'''<br />
<br />
====-disable_pbo====<br />
'''"Disable OpenGL Pixel Buffer Objects"'''<br />
<br />
Disables the use of Pixel Buffer Objects (PBO) which may cause certain OpenGL operations to perform slower. Note PBO's were only used at three places in FSO anyway so it's *probably* not going to have a noticeable effect. <br />
<br />
May be required to workaround issues in certain versions of Linux's Mesa drivers for Intel integrated graphics cards where crashes occur in the mainhall (i.e. whenever a popup occurs). Distros that seem to have this problem presently include Ubuntu 13.10 and openSUSE 13.1.<br />
{{Table371|<br />
*This feature is present to work around a bug in Linux's Mesa drivers for Intel integrated graphics cards}}<br />
<br />
====-no_glsl====<br />
'''"Disable GLSL (shader) Support"'''<br />
<br />
Disables the use of GLSL rendering (OpenGL shaders). The game will revert to legacy fixed render pipeline. Please note that Normal and Height map effects will be unavailable.<br />
<br />
====-disable_glsl_model====<br />
'''"Don't use shaders for model rendering"'''<br />
<br />
====-ati_swap====<br />
'''"Fix Color issues on some ATI cards"'''<br />
<br />
====-no_3d_sound====<br />
'''"Use only 2D/stereo for sound effects"'''<br />
<br />
====-disable_di_mouse====<br />
'''"Disables the DirectInput mouse code for FSO on windows."'''<br />
<br />
'''Windows Only''' Can make mouse movement smoother on certain machines.<br />
<br />
====-mipmap====<br />
'''"Enable mipmapping"'''<br />
<br />
Causes for non-mipmapped textures to have mipmaps generated within the GPU on certain kind of texture formats, (IIRC, DDS formatted textures with a power of 2 size in both width and height). <br><br />
Since the use of already mipmapped DDS textures has become common, it has become deprecated.<br />
The quality of the generated mipmaps depends on each GPU and used driver. It is normally used with [[Command-Line_Reference#-img2dds|-img2dds]] flag.<br />
<br />
====-use_gldrawelements====<br />
'''"Use glDrawElements instead of glDrawRangeElements"'''<br />
<br />
Introduced as a means of switching to the slower OpenGL call glDrawElements, instead of glDrawRangeElements.<br />
{{Table3614|<br />
*This feature may resolve certain rendering problems where parts of models are not drawn on Linux drivers}}<br />
<br />
====-keyboard_layout====<br />
'''"Manually sets a keyboard layout"'''<br />
<br />
A commandline parameter to set the keyboard layout as a string parameter.<br />
{{Table3614|<br />
*Currently the only valid string is "qwertz" (German) but French azerty may be added in future.}}<br />
<br />
===Experimental===<br />
====-ingame_join====<br />
'''"Allows Ingame Joining"'''<br />
<br />
Enables ingame joining in multiplayer. FIXME: Host option?<br />
<br />
====-voicer====<br />
'''"Voice Recognition"'''<br />
<br />
Windows-only. Enables voice-recognition for wingmen commands. Must be specifically compiled into a build in order for it to be available; 3.6.10 final includes the feature. See [[Voice Recognition]] for more details.<br />
<br />
====-fb_explosions====<br />
'''"Enable Framebuffer Shockwaves"'''<br />
<br />
===Development Tools===<br />
====-fps====<br />
'''"Show frames per second on HUD"'''<br />
<br />
Displays current frames per second.<br />
<br />
====-pos====<br />
'''"Show Position of Camera"'''<br />
<br />
Displays current position coordinates of camera.<br />
<br />
====-window====<br />
'''"Run in Window"'''<br />
<br />
Runs the game in a window. No check to make sure that resolution is no higher than your desktop resolution, so be careful.<br />
<br />
====-fullscreen_window====<br />
'''"Run in Fullscreen Window"'''<br />
{{Note| This feature is only available on Windows.}}<br />
<br />
====-timerbar====<br />
Displays a timing bar across the top of the screen. Timerbar format varies by build. This is a relic from the Volition development days, and is unmaintained.<br />
{{Note| This parameter was removed as of the July 5, 2011 nightly build.}}<br />
<br />
====-stats====<br />
'''"Show Statistics"'''<br />
<br />
Shows total and free physical memory, virtual memory and system pagefile.<br />
<br />
====-coords====<br />
'''"Show Coordinates"'''<br />
<br />
Shows coordinates of the mouse cursor.<br />
<br />
====-show_mem_usage====<br />
'''"Show Memory Usage"'''<br />
<br />
Shows detailed RAM usage based on file, handler and process usage and display on the left-center side of the screen during mission load and while in mission.<br />
<br />
The meaning of the info displayed in the upper right corner of the HUD is:<br />
<br />
'''DYN''' = dynamic memory, basically anything that's been allocated by the vm_* memory functions. This does NOT indicate total memory usage but does account for most of it.<br />
<br />
'''POF''' = model memory, how much memory is being used by models (does not include textures)<br />
<br />
'''C-BMP, BMP''' = bmpman memory, how much is used by the textures/images that are loaded. C-BMP means that you are using -cache_bitmaps and it will try to keep textures in memory between level loads and as the new level is loading it will keep what it needs and unload what it doesn't. Can greatly increase level loading speed, but does so at the cost of memory between level loads. This does not increase overall memory usage though, only during the loading screen. BMP means that it is not cached and all textures are unloaded from memory at the start of level load and all needed textures are then loaded from the disk again.<br />
<br />
'''S-RAM''' = sound memory, how much is used by the sounds loaded in memory at the time. This counts static sounds only (from sounds.tbl, etc.) and not streaming sounds (music, voices, briefing stuff, etc).<br />
<br />
'''V-RAM''' = approximate memory usage of video textures. This does not mean that your card has this much memory, and can report higher numbers that your card actually has memory. For OpenGL it also includes some of the geometry data, but this number does not reflect the total memory that your video card is using. It only reports how much data the game has purposefully loaded into API memory (meaning it could be in system memory, video card memory, or AGP memory).<br />
<br />
<br />
''(It only works with debug builds, not with release builds).''<br />
<br />
====-pofspew====<br />
Reads all objects in the pof file of the selected mod, and creates an ibx cache file for each object in the data/cache folder for that mod. <br><br />
Details for each object are output to a pofspew.txt file created in the data folder. <br><br />
Otherwise, ibx files are created in game before each mission.<br />
<br />
====-tablecrcs====<br />
Is actually now (or should be) a typed reference rather than as a selection item. Takes 1 argument, usually a descriptive name.<br />
Example usage: "-table_crcs MediaVPs" will create a table_crcs.csv file in the running mod (name can be separate of the mod selected) that allows for the validation of the tables used by that mod while on-line. The descriptive parameter given helps "allocate" that .csv file to the mod in question, and as such should closely or exactly match that mods name if possible.<br />
<br />
====-missioncrcs====<br />
Is actually now (or should be) a typed reference rather than as a selection item. Takes 1 argument, usually a descriptive name.<br />
Example usage: "-mission_crcs MediaVPs" will create a mission_crcs.csv file in the running mod (name can be separate of the mod selected) that allows for the validation of the missions used by that mod while on-line. The descriptive parameter given helps "allocate" that .csv file to the mod in question, and as such should closely or exactly match that mods name if possible.<br />
<br />
====-dis_collisions====<br />
'''"Disable Collisions"'''<br />
<br />
Disables all collisions.<br />
<br />
====-dis_weapons====<br />
'''"Disable Weapon Rendering"'''<br />
<br />
Disables weapons rendering.<br />
<br />
====-output_sexps====<br />
This will make the FSO build spit out an html file that documents the supported SEXP's.<br />
<br />
Just double click on sexps.html and it should open in your default web browser.<br />
<br />
====-output_scripting====<br />
This will make the FSO build spit out an html file that documents the supported scripting hooks and LUA libraries.<br />
<br />
Just double click on scripting.html and it should open in your default web browser.<br />
<br />
====-nograb====<br />
Disables focus grabbing in a window.<br />
{{Note| This feature is not available on Windows.}}<br />
<br />
====-save_render_target====<br />
'''"Save Render Targets to file"'''<br />
<br />
====-debug_window====<br />
'''"Display Debug Window"'''<br />
<br />
Lists the fs2_open.log in (nearly)real-time generation.<br />
<br />
====-verify_vps====<br />
'''"Spew VP crcs to vp_crcs.txt"'''<br />
<br />
Exports the CRC values of the VP files being loaded into a vp_crcs.txt file.<br />
<br />
====-reparse_mainhall====<br />
'''"Reparse mainhall.tbl when loading halls"'''<br />
<br />
Mainhall.tbl will be reparsed every time a mainhall is loaded, as opposed to just once at game startup.<br />
<br />
====-start_mission====<br />
'''"Skip the mainhall in jump right into the specified mission"'''<br />
<br />
Jump into the mission specified by the filename. Only in effect on the first run. This will skip load of the mainhall and its other related things altogether.<br />
<br />
====-profile_frame_time====<br />
'''"Profile engine subsystems"'''<br />
<br />
Activates the frame profiling code. This presents a readout showing the current, minimum, maximum and average percentages of frametime a given section of code has taken up; this can be used to identify particular bottlenecks or measure the effectiveness of certain optimizations.<br />
<br />
====-profile_write_file====<br />
'''"Write profiling information to file"'''<br />
<br />
This will write the frame times of each gameplay frame to the file 'profiling.csv' where each line is ''<framenumber>;<frametime>''. The first two frames are usually very long because the timer is set at engine startup so you might want to exclude those from your data.<br />
<br />
====-no_unfocused_pause====<br />
'''"Don't pause if the window isn't focused"'''<br />
<br />
When the FSO window looses focus it will not pause the game, useful for doing non-interactive test runs.<br />
<br />
==Other==<br />
The following options are not available as checkboxes in the launcher. Many require parameters, which follow the flag separated by a space. The prototype for use in this case is "-option argument"<br />
<br />
===Lighting===<br />
These factors can dramatically alter the atmosphere of the game. [[Sample Lighting Settings|This page]] has some sample lighting settings with screenshots.<br />
<br />
====-ambient_factor====<br />
This must be entered into the "Custom flags" field. This is a multiplier applied to the intensity of ambient lighting. Ambient light is lighting applied to all parts of a ship. FS2's standard value is 120. Try 75 for a good and realistic looking value. However, that is relative.<br />
<br />
====-no_emissive_light====<br />
By default, all ships in FS2 have a light generated on their own, it is more or less similar to a minimal amount of -ambient_factor. This feature was implemented to help the player seeing the ships over a black background. This flag disables this feature. Use it with a low -ambient_factor value to obtain an ultra-realistic dark looking.<br />
<br />
====-spec_exp====<br />
This must be used with the -spec command line parameter and must be entered into the "Custom flags" field. Adjusts the size of the shiny spot on ships. Higher number mean smaller spots. Default is 16. However, 11 is recommended. This is a relative value.<br />
<br />
====-spec_point====<br />
This must be used with the -spec command line parameter and must be entered into the<br />
"Custom flags" field. Adjusts how much laser weapons contribute to specular highlights. Higher number mean greater contributions. Default is 1.0. However, 0.6 is recommended. This is a relative value.<br />
<br />
====-spec_static====<br />
This must be used with the -spec command line parameter and must be entered into the "Custom flags" field. Adjusts how much suns contribute to specular highlights. Higher numbers mean a greater contribution. Default is 1.0. However, is 0.8 recommended. This is a relative value.<br />
<br />
====-spec_tube====<br />
This must be used with the -spec command line parameter and must be entered into the "Custom flags" field. Adjusts how much Beam Weapons contribute to specular highlights. Higher numbers mean a greater contribution. Default is 1.0. However, 0.4 is recommended. This is a relative value.<br />
<br />
====-ogl_spec====<br />
Takes a numerical argument. This value changes the basic shininess of the specular light in OpenGL. A lower value reduces the overall intensity of the light making it broader and less powerful. A higher value makes it more focused and brighter. The default value is 80, and the usable range is 0 to 128 (clamped). The original default value was 60, but it was raised to behave more D3D like.<br />
<br />
<br />
===Graphics===<br />
====-bloom_intensity====<br />
Requires -post_processing ("Enable Post Processing") command.<br />
Default value is 75. Range is 0-200.<br />
<br />
====-clipdist====<br />
Changes the distance from the viewpoint for the near-clipping plane.<br />
<br />
Takes one argument decimal specifying the distance to the near-clipping plane.<br />
<br />
====-res====<br />
Allows you to specify a resolution if the desired one cannot be set in the Launcher. <br />
For example, -res 1920x1080 would run the game in 1920 x 1080 resolution. Since it requires an argument, it needs to be entered as a custom flag when using the Launcher. The "Run at specified resolution" option the Launcher gives is essentially this, but without being able to actually specify a resolution, it doesn't work.<br />
<br />
====-fxaa_preset====<br />
Requires both -post_processing and -fxaa. Can be used to adjust the FXAA quality and speed, 0 is fastest, 9 is highest quality. Default setting is 6.<br />
<br />
===Gameplay===<br />
====-mod====<br />
Specifies in which folders inside FreeSpace 2 directory, the game looks for all the game data (models, missions, textures, tables, ...). Retail version only looks inside ''Freespace2/data/'' structure and ''Freespace2/vp archives''.<br />
<br />
This flag allows installing several different mods that modify retail behavior, and switching between them without needing to erase files or having undesired cross effects. Each mod should be installed in its own folder.<br />
<br />
It takes one argument string: the chain of names of the used directories. Comma (''',''') must be used as separator. In this way, '''-mod dir1,dir2,dir3,...,dirx''' causes the game to use the following directory precedence:<br />
<br />
#Freespace2/dir1/<br />
#Freespace2/dir2/<br />
#Freespace2/dir3/<br />
# ... (the rest of the typed directories) ...<br />
#Freespace2/dirx/<br />
#Freespace2/<br />
<br />
This flag can be indirectly set, (and it is normally set), through Launcher MOD tab and [[mod.ini]] file.<br />
<br />
Within the Launcher's MOD tab you can select one directory, (let's call it ''moddir''), so the flag is at least set to '''-mod moddir'''.<br />
If ''Freespace2/moddir/[[mod.ini]]'' exists it will be used to modify the -mod flag, too.<br />
<br />
For further details, see '''[[mod.ini]]'''<br />
<br />
'''Data precedence'''<br />
<br />
As already said, within the different directories, the data precedence is set by the specified order in the -mod flag. The lowest priority goes to the Freespace2 installation directory.<br />
<br />
Inside each directory, data precedence is the following:<br />
<br />
#Individual files located in ''Current_dir/data/'' subdir structure. See [[FS2_Data_Structure|FS2 Data Structure topic]] for deeper info about the different folders and contents this structure has.<br />
#Files located inside vp archives. (These vp archives are "similar" to zip archives. They just contain other files and folders. Moreover, files have to be stored using the same ''data/'' structure used outside it). <br>Vp archives are read in alphabetical order, so aaa.vp files have higher priority than aab.vp files and so on.<br />
<br />
The highest priority file overrides the rest of them. In this way, if you have a ''Mission.fs2'' inside ''Freespace2/Pri1/data/missions/'' it doesn't matter that this ''Mission.fs2'' is also inside ''Freespace2/Pri1/aaa.vp'', ''Freespace2/Pri1/aab.vp'', ... or ''Freespace2/data/missions/''. This data precedence allows the user to quickly replace old files by corrected or enhanced ones adding them in a higher priority place.<br />
<br />
<br />
'''Additional notes'''<br />
# As derived from the explanation, the exact names for directories or vp archives are actually irrelevant. It only matters the directory order inside -mod flag argument and the alphabetical order for vp archives inside each used directory.<br />
# This flag is also used by [[Portal:FRED|FRED]]. So if there is special mod info, (like backgrounds maps, ship models or whatever), it must be typed, (''Fred2_Open_r.exe -MOD whatever''), or FRED won't be able to use it. A special build of wxLauncher is able to configure FRED so that the -mod doesn't have to be done manually see [http://www.hard-light.net/forums/index.php?topic=67950.msg1387911#msg1387911 the forum post] for more details.<br />
{{Table3612|As of 3.6.12 FRED now loads cmdline_fso.cfg just like FS does so FRED will use the same settings as FS including the -mod settings}}<br />
# Be careful while typing the directory names in the flag argument or inside mod.ini files. The program doesn't check if the typed directories exist. If they do not exist, they are just ignored. No warnings, no errors, no messages at all.<br />
<br />
{{Warning| '''Priority and Texture Formats'''<br />
<br />
''Obsolete behavior - Until FS2_open v3.6.9.:''<br />
<br />
FS2_Open can use several file formats in textures: [http://en.wikipedia.org/wiki/PCX PCX], [http://en.wikipedia.org/wiki/DirectDraw_Surface DDS], [http://en.wikipedia.org/wiki/JPG JPG] and [http://en.wikipedia.org/wiki/TGA TGA]. Make sure you keep the format when you update your texture. For example if you update the old ''TextureOfMyFighter.tga'', do not save it as ''TextureOfMyFighter.dds'' in a higher priority place, because there is a chance of the game loading the old one despite of all.<br />
<br />
The reason to do this is that, loading process (including priorities) is applied firstly for a kind of textures (TGAs), then for another kind (JPGs), and so on. This behavior can lead to situation where your new, updated and higher priority placed texture is not read because the format of the older one.<br />
<br />
<br />
''New behavior - From FS2_open v3.6.10. (including previous beta testing releases):''<br />
<br />
The former issue has been fixed. Now texture format priority is only applied within the same location. In this ''strange'' situation it goes DDS -> TGA -> JPG -> PCX. Examples:<br />
* ''/Freespace2/MyVp.vp>>>data/maps/MyTexture.dds'' is loaded instead of ''/Freespace2/MyVp.vp>>>data/maps/MyTexture.tga''.<br />
* But your improved ''/Freespace2/data/maps/MyTexture.xxx'' will override them both despite of its format.<br />
In this way, when you update any texture, you don't have to pay attention to its original format. Just place it in a higher priority place.<br />
<br />
Nevertheless, global priority is kept between animated and static textures. Because of their management, animated textures (ANIs and EFFs) are looked for BEFORE static ones. In this way there's no way to update an animated texture with a static one (an obsolete ANI is always going to be loaded before the newer DDS version). The solution: use an updated EFF with just one frame.<br />
<br />
}}<br />
<br />
====-fov====<br />
This flag allows the player to specify the ''vertical'' Field of View (FoV) angle, in radians, for the player eyepoint. The angle is measured across the full height of the viewing cone. The FoV angle is technically known as the Angle of View (AoV)<br />
<br />
*Syntax: '''''float''''' Angle<br />
*Valid Values: 0 to 2*Pi radians<br />
*Default Value: 0.75 radians<br />
<br />
{{Note|For peculiar reasons, the actual FoV/AoV used by the game will be the supplied value multiplied by 1.39626348.}}<br />
<br />
<br />
The the FoV angle/AoV is what determines the relative zoom level of the main game camera. Smaller angles generally equal to higher zoom levels, while larger angles equal to lower zoom levels (down to the theoretical x0 magnification).<br />
<br />
<br />
However, too small of an angle will have a squashed look on the edges of your screen, and too high of an angle will greatly stretch edges. It is recommended to change the AoV, as FS2's default AoV has some perspective distortion at the screen edges (the default AoV is too high).<br />
<br />
<br />
A natural looking (as if you where physically in the cockpit) AoV depends on the distance the player's actual eyes are away from the screen: the further away from the screen, the smaller the AoV should be, and vice versa. "Ergonomic" distances generally yield a '''''diagonal''''' AoV of 0.523 radians (30 degrees), but you can easily find the natural AoV by the following formula:<br />
<br />
<br />
AoV (radians) = 2 * atan( H / ( 2*D ))<br />
<br />
where:<br />
<br />
Height of screen = H<br />
<br />
Distance between head/eye and the screen = D<br />
<br />
<br />
Generally, gamers like to increase the AoV in order to increase their peripheral vision on the screen, so as to gain a better situational awareness around their craft. An AoV of 0.39 radians seems to be a good start, but feel free to experiment and use whatever AoV you are most comfortable with.<br />
<br />
===Multiplayer===<br />
====-gamename====<br />
Specifies the name of the game to be created by the host. This only works when used in conjunction with -startgame. <br />
<br />
Takes one argument string, the name to be assigned to the game being created.<br />
<br />
This argument does nothing when used with -standalone. To set the name for a standalone server, see [[Multiplayer(Main)#Standalone Servers|Standalone Servers]].<br />
<br />
See related:&nbsp;&nbsp; [[Command-Line_Reference#-startgame|-startgame]]&nbsp;&nbsp; [[Multiplayer(Main)#Standalone Servers|Standalone Servers]]<br />
<br />
====-password====<br />
Specifies the password for a standalone server. This only works when used in conjunction with -startgame. Cannot be used in conjunction with -closed or -restricted.<br />
<br />
Takes one argument string, the required password for the game being created.<br />
<br />
See related: [[Command-Line_Reference#-startgame|-startgame]] [[Command-Line_Reference#-closed|-closed]] [[Command-Line_Reference#-restricted|-restricted]]<br />
<br />
====-allowabove====<br />
Specifies a player's minimum rank for joining a game. This only works when used in conjunction with -startgame.<br />
<br />
Takes one argument integer, the points ranking above which a player must be to enter the game.<br />
<br />
See related: [[Command-Line_Reference#-startgame|-startgame]]<br />
<br />
====-allowbelow====<br />
Specifies a player's maximum rank for joining a game on a standalone server. This only works when used in conjunction with -startgame.<br />
<br />
Takes one argument integer, the points ranking below which a player must be to enter the game.<br />
<br />
See related: [[Command-Line_Reference#-startgame|-startgame]]<br />
<br />
====-port====<br />
Specifies the port on which to host a game or serve a standalone game.<br />
<br />
Takes one argument integer, the port on which the host will listen for clients.<br />
<br />
====-connect====<br />
{{Sectstub}}<br />
====-timeout====<br />
{{Sectstub}}<br />
====-cap_object_update====<br />
Caps the maximum object update the server will respond to regardless of what the client has set. If the client is set to request high object updates but the server is capped to low, then that's all the client will get. <br />
<br />
Takes one argument integer (0 to 3) which corresponds to the object update cap (With 0 being low and 3 being LAN).<br />
<br />
<br />
===Help===<br />
====-help====<br />
Instructs FSO to print out all supported parameters. Some launchers can use these options to automatically populate the available command line options, even if the version of FSO is far newer than the launcher itself. NOTE: This option only works in Linux builds...<br />
<br />
====--help====<br />
See [[Command-Line_Reference#-help|-help]]<br />
<br />
====-h====<br />
See [[Command-Line_Reference#-help|-help]]<br />
<br />
====-?====<br />
See [[Command-Line_Reference#-help|-help]]<br />
<br />
[[Category:Lists]]<br />
[[Category:Source Code Project]]</div>Chief1983https://wiki.hard-light.net/index.php?title=Innoextract_Standalone_Compiling&diff=44037Innoextract Standalone Compiling2014-05-29T21:17:57Z<p>Chief1983: Created page with "<ul> <li>In the xz source folder:</li> <li>./autogen.sh (probably optional, already comes with a configure)</li> <li>./configure --enable-static --prefix=/tmp/xz</li> <li>make &&…"</p>
<hr />
<div><ul><br />
<li>In the xz source folder:</li><br />
<li>./autogen.sh (probably optional, already comes with a configure)</li><br />
<li>./configure --enable-static --prefix=/tmp/xz</li><br />
<li>make && make install</li><br />
<li>In the Boost source folder:</li><br />
<li>./bootstrap.sh --prefix=/tmp/boost<br />
<li>OSX: ./b2 toolset=clang cxxflags=-stdlib=libstdc++ linkflags=-stdlib=libstdc++ -j2 --prefix=/tmp/boost/install --build-dir=/tmp/boost/build variant=release link=static threading=multi install</li><br />
<li>Solaris: ./b2 toolset=gcc -j2 --prefix=/tmp/boost/install --build-dir=/tmp/boost/build variant=release link=static install</li><br />
<li>In the Innoextract source folder:</li><br />
<li>mkdir build && cd build && cmake -DUSE_STATIC_LIBS=ON -DBOOST_ROOT=/tmp/boost/install -DLZMA_INCLUDE_DIR=/tmp/xz/include ../</li><br />
<li>make</li><br />
</ul></div>Chief1983https://wiki.hard-light.net/index.php?title=FS2_Open_on_Solaris&diff=44035FS2 Open on Solaris2014-05-29T16:10:42Z<p>Chief1983: Clarification of changes for OpenSXCE vs official Solaris.</p>
<hr />
<div>== Grab a copy of Solaris ==<br />
<br />
Download the Oracle Solaris 11.1 x86 VirtualBox Appliance, update the guest additions, or install Solaris 11.1 for x86 on a desktop PC.<br />
<br />
== Install needed dependencies ==<br />
<ul><br />
<li>developer/gcc-45</li><br />
<li>system/library/gcc-45-runtime</li><br />
<li>developer/build/autoconf</li><br />
<li>developer/build/automake</li><br />
<li>developer/build/gnu-make</li><br />
<li>library/readline</li><br />
<li>runtime/lua</li><br />
<li>developer/versioning/subversion</li><br />
<li>library/sdl</li><br />
<li>developer/versioning/git</li><br />
<li>developer/build/cmake</li><br />
</ul><br />
<br />
On OpenSXCE (OpenIndiana based distro for Sparc) I had to install CSWautoconf (included 2.63 is too old), CSWpkgconfig (very important to fix parse error in configure script), and uninstalled the original autoconf program. I still had to install OpenAL and Jansson, but OpenAL Soft had to be version 1.11.753 because no newer version would compile due to some opcode errors, and newer versions from git would not configure due to a pthread.h issue which doesn't seem to occur in the last release version or prior. Also, that openal soft's "gmake install" command ignored the cmake install prefix, so I had to install it by manually copying files to their destinations. The latest official Solaris from Oracle doesn't seem to have that problem with the newest versions of OpenAL Soft in git. OpenSXCE did not need a newer gcc though.<br />
<br />
== Install OpenAL ==<br />
This is why git and cmake were installed while you had the package manager open. Clone the latest openal-soft from http://kcat.strangesoft.net/openal.html, follow its build instructions, except use the following command instead of 'cmake ..':<br /><br />
cmake -DCMAKE_INSTALL_PREFIX=/usr ..<br />
<br />
== Install Jansson ==<br />
[http://www.digip.org/jansson/ Jansson] is the JSON library for C that is needed for the new WebUI dedicated server code. There is currently no Solaris package, so you will have to compile this from source. The latest version I can get working out of the box on Solaris 11.1 is [www.digip.org/jansson/releases/jansson-2.3.1.tar.gz Jansson 2.3.1]. Download the archive, extract it, cd into the new directory, then:<br />
<ul><br />
<li>./configure --prefix=/usr</li><br />
<li>gmake</li><br />
<li>gmake check</li><br />
<li>sudo gmake install</li><br />
</ul><br />
That will give you an installation of Jansson which pkg-config can find with no other environment editing required. Keep the jansson-2.3 folder around if you think you might want to run 'sudo gmake uninstall' at some point down the line, like if jansson ever gets into the package manager, or you want to upgrade.<br />
<br />
== Install OpenCSW packages ==<br />
Installing these packages will fix the linking errors with libjpeg and libGL. bzflag bring mesa, libglew, and probably some other stuff that's needed and it was easier to get it all in one go.<br />
<ul><br />
<li>sudo pkgadd -d http://get.opencsw.org/now</li><br />
<li>sudo pkgutil -U</li><br />
<li>sudo pkgutil -y -i CSWlibjpeg-dev</li><br />
<li>sudo pkgutil -y -i CSWbzflag</li><br />
</ul><br />
<br />
== Compile FS2 ==<br />
<ul><br />
<li>svn co svn://svn.icculus.org/fs2open/trunk/fs2_open/</li><br />
<li>cd fs2_open</li><br />
<li>./autogen.sh</li><br />
<li>gmake</li><br />
<li>cp code/fs2_open_* ../</li><br />
</ul><br />
<br />
== References ==<br />
[http://rsaxvc.net/blog/2010/9/30/Building%20FS2_Open%20on%20OpenSolaris.html Building FS2_Open on OpenSolaris]<br /><br />
[http://rsaxvc.net/blog/2010/9/19/Building%20OpenAL%20on%20Solaris.html Building OpenAL on Solaris]</div>Chief1983https://wiki.hard-light.net/index.php?title=FS2_Open_on_Solaris&diff=44033FS2 Open on Solaris2014-05-28T00:26:50Z<p>Chief1983: Added the stuff needed to get a successful install on Solaris 11.1.</p>
<hr />
<div>== Grab a copy of Solaris ==<br />
<br />
Download the Oracle Solaris 11.1 x86 VirtualBox Appliance, update the guest additions, or install Solaris 11.1 for x86 on a desktop PC.<br />
<br />
== Install needed dependencies ==<br />
<ul><br />
<li>developer/gcc-45</li><br />
<li>system/library/gcc-45-runtime</li><br />
<li>developer/build/autoconf</li><br />
<li>developer/build/automake</li><br />
<li>developer/build/gnu-make</li><br />
<li>library/readline</li><br />
<li>runtime/lua</li><br />
<li>developer/versioning/subversion</li><br />
<li>library/sdl</li><br />
<li>developer/versioning/git</li><br />
<li>developer/build/cmake</li><br />
</ul><br />
<br />
On OpenSXCE (OpenIndiana based distro for Sparc) I had to install CSWautoconf (included 2.63 is too old), CSWlibjpeg-dev (the original 6.2 version wouldn't load its symbols for some reason), CSWbzflag (easy way to pull in a bunch of OpenGL deps), CSWpkgconfig (very important to fix parse error in configure script), and uninstalled the original autoconf program. I still had to install OpenAL and Jansson, but OpenAL Soft had to be version 1.11.753 because no newer version would compile due to some opcode errors, and newer versions from git would not configure due to a pthread.h issue which doesn't seem to occur in the last release version or prior. Also, that openal soft's "gmake install" command ignored the cmake install prefix, so I had to install it by manually copying files to their destinations.<br />
<br />
== Install OpenAL ==<br />
This is why git and cmake were installed while you had the package manager open. Clone the latest openal-soft from http://kcat.strangesoft.net/openal.html, follow its build instructions, except use the following command instead of 'cmake ..':<br /><br />
cmake -DCMAKE_INSTALL_PREFIX=/usr ..<br />
<br />
== Install Jansson ==<br />
[http://www.digip.org/jansson/ Jansson] is the JSON library for C that is needed for the new WebUI dedicated server code. There is currently no Solaris package, so you will have to compile this from source. The latest version I can get working out of the box on Solaris 11.1 is [www.digip.org/jansson/releases/jansson-2.3.1.tar.gz Jansson 2.3.1]. Download the archive, extract it, cd into the new directory, then:<br />
<ul><br />
<li>./configure --prefix=/usr</li><br />
<li>gmake</li><br />
<li>gmake check</li><br />
<li>sudo gmake install</li><br />
</ul><br />
That will give you an installation of Jansson which pkg-config can find with no other environment editing required. Keep the jansson-2.3 folder around if you think you might want to run 'sudo gmake uninstall' at some point down the line, like if jansson ever gets into the package manager, or you want to upgrade.<br />
<br />
== Install OpenCSW packages ==<br />
Installing these packages will fix the linking errors with libjpeg and libGL. bzflag bring mesa, libglew, and probably some other stuff that's needed and it was easier to get it all in one go.<br />
<ul><br />
<li>sudo pkgadd -d http://get.opencsw.org/now</li><br />
<li>sudo pkgutil -U</li><br />
<li>sudo pkgutil -y -i CSWlibjpeg-dev</li><br />
<li>sudo pkgutil -y -i CSWbzflag</li><br />
</ul><br />
<br />
== Compile FS2 ==<br />
<ul><br />
<li>svn co svn://svn.icculus.org/fs2open/trunk/fs2_open/</li><br />
<li>cd fs2_open</li><br />
<li>./autogen.sh</li><br />
<li>gmake</li><br />
<li>cp code/fs2_open_* ../</li><br />
</ul><br />
<br />
== References ==<br />
[http://rsaxvc.net/blog/2010/9/30/Building%20FS2_Open%20on%20OpenSolaris.html Building FS2_Open on OpenSolaris]<br /><br />
[http://rsaxvc.net/blog/2010/9/19/Building%20OpenAL%20on%20Solaris.html Building OpenAL on Solaris]</div>Chief1983https://wiki.hard-light.net/index.php?title=FS2_Open_on_Solaris&diff=43888FS2 Open on Solaris2014-05-15T17:33:12Z<p>Chief1983: Clarified some things I had to do to get compiling working on OpenSXCE.</p>
<hr />
<div>== Grab a copy of Solaris ==<br />
<br />
Download the Oracle Solaris 11.1 x86 VirtualBox Appliance, update the guest additions, or install Solaris 11.1 for x86 on a desktop PC.<br />
<br />
== Install needed dependencies ==<br />
<ul><br />
<li>developer/gcc-45</li><br />
<li>system/library/gcc-45-runtime</li><br />
<li>developer/build/autoconf</li><br />
<li>developer/build/automake</li><br />
<li>developer/build/gnu-make</li><br />
<li>library/readline</li><br />
<li>runtime/lua</li><br />
<li>developer/versioning/subversion</li><br />
<li>library/sdl</li><br />
<li>developer/versioning/git</li><br />
<li>developer/build/cmake</li><br />
</ul><br />
<br />
On OpenSXCE (OpenIndiana based distro for Sparc) I had to install CSWautoconf (included 2.63 is too old), CSWlibjpeg-dev (the original 6.2 version wouldn't load its symbols for some reason), CSWbzflag (easy way to pull in a bunch of OpenGL deps), CSWpkgconfig (very important to fix parse error in configure script), and uninstalled the original autoconf program. I still had to install OpenAL and Jansson, but OpenAL Soft had to be version 1.11.753 because no newer version would compile due to some opcode errors, and newer versions from git would not configure due to a pthread.h issue which doesn't seem to occur in the last release version or prior. Also, that openal soft's "gmake install" command ignored the cmake install prefix, so I had to install it by manually copying files to their destinations.<br />
<br />
== Install OpenAL ==<br />
This is why git and cmake were installed while you had the package manager open. Clone the latest openal-soft from http://kcat.strangesoft.net/openal.html, follow its build instructions, except use the following command instead of 'cmake ..':<br /><br />
cmake -DCMAKE_INSTALL_PREFIX=/usr ..<br />
<br />
== Install Jansson ==<br />
[http://www.digip.org/jansson/ Jansson] is the JSON library for C that is needed for the new WebUI dedicated server code. There is currently no Solaris package, so you will have to compile this from source. The latest version I can get working out of the box on Solaris 11.1 is [www.digip.org/jansson/releases/jansson-2.3.1.tar.gz Jansson 2.3.1]. Download the archive, extract it, cd into the new directory, then:<br />
<ul><br />
<li>./configure --prefix=/usr</li><br />
<li>gmake</li><br />
<li>gmake check</li><br />
<li>sudo gmake install</li><br />
</ul><br />
That will give you an installation of Jansson which pkg-config can find with no other environment editing required. Keep the jansson-2.3 folder around if you think you might want to run 'sudo gmake uninstall' at some point down the line, like if jansson ever gets into the package manager, or you want to upgrade.<br />
<br />
== Compile FS2 ==<br />
<ul><br />
<li>svn co svn://svn.icculus.org/fs2open/trunk/fs2_open/</li><br />
<li>cd fs2_open</li><br />
<li>./autogen.sh</li><br />
<li>gmake</li><br />
<li>TODO: Figure out why it can't find libGL.so.1 or the jpeg symbols in the virtual machine. See if a full blown desktop install has similar issues.</li><br />
<li>cp code/fs2_open_* ../</li><br />
</ul><br />
<br />
== References ==<br />
[http://rsaxvc.net/blog/2010/9/30/Building%20FS2_Open%20on%20OpenSolaris.html Building FS2_Open on OpenSolaris]<br /><br />
[http://rsaxvc.net/blog/2010/9/19/Building%20OpenAL%20on%20Solaris.html Building OpenAL on Solaris]</div>Chief1983