Modding, Mission Design, and Coding > FS2 Open Coding - The Source Code Project (SCP)

Release: 21.4.0-RC4


Please note: I'll clean this up in the next 24 hours. These changes need to be grouped (i.e. scripting, FRED, ...) to make this list less overwhelming. --ngld

Change log: (chronologically ordered)

* changed ship turnrate when following waypoints to fix a bug introduced in 20.2
* Ai_aims_from_center flag fixed (the flag didn't actually affect aiming)
* glowpoint depth removed (the depth made it possible to position the glowpoint above the hull which looked awkward)
* added $Homing Auto-Target Method: to weapons which changes heatseekers to targett a random enemy instead of the closest
* added the no collide flag for weapons which allows a modder to disable collision for specific weapons
* added Lua functions to control sounds assigned to objects (assignSound, removeSoundByIndex and removeSound)
* added ai_profiles.tbl flag $AI secondary range awareness: which can be set to aware to change AI behavior to only select secondary weapons that are in range of the AI's target
* fixed collision checks involving accelerating weapons (the check happened to late potentially missing collisions)
* fixed a bug where full shields were occasionally pierced (you'll have to enable $fixed ship-weapon collisions: in ai_profiles.tbl or set your target version to 21.4 to get the new behavior because this fix might break mission balance)
* fixed APNG misc mainhall animations (the engine only used one random animation per group instead of picking a new animation for each loop)
* implement $Substitute: for beams
* implemented type 5 beams
* added ai_profiles.tbl flag $no shield damage from ship collisions: which causes ship-ship collisions to cause hull damage instead of shield damage to the heavier ship
* added keyboard shortcut (Ctrl+Shift+S) for "Save As" in FRED
* fixed an assertion when exiting missions through scripting
* fixed scripting documentation to correctly display placeholders like
* added Lua function maybePlayCutscene to start cutscenes
* fixed shadows in briefing stages
* improved nebula poof rendering
* a negative $Hull Repair Rate can now kill the player if their health drops below 0 due to it
* fixed +Attenuation: for beams (the previous implementation didn't have the intended effect and often didn't change the damage at all)
* added +Weapon Optimum Range: for weapons which the AI will attempt to maintain while attacking (this makes it possible to tell the AI to stick close to their target or snipe from afar)
* added in-game options menu options for lightshafts and bloom
* fixed single missions in the tech room becoming invisible if their title was translated
* added time-to-goal SEXP which returns the seconds a ship will take to reach its goal
* added is-language SEXP which checks whether the game is currently running in the given language
* fixed memory leak in F3 lab
* added ballistic beams
* added new script options for sounds: OS_PLAY_ON_PLAYER (allows persistent sounds to play on the player's ship) and OS_LOOPING_DISABLED (sound plays only once even if you don't remove it later)
* fixed AI multilock aiming; the AI now has the same restrictions as the player
* added +Shield Regen Hit Delay: to ships.tbl which specifies the delay after a hit before which the shield starts regenerating
* fixed hang on debug launch if a quotation mark in a string list was missing
* fixed invalid memory access (possible crash) for model point shields with a single quadrant
* added num firepoints for burst shots burst flag for weapons which sets the amount of shots per burst to the number of firepoints used to fire the weapon
* added Lua function setVolume which allows scripts to change the volume of an audio stream
* added game_settings.tbl setting $Don't pre-empt training message voice: which forces the game to finish the training message before it plays further messages (before, new messages would interrupt training messages)
* added $Chase View Offset: and $Chase View Rigidity: to ships.tbl which allow modders to tweak the chase view for each ship
* added Draw outlines on selected ships option in FRED
* fixed handling arbitrary numbers of nebula poofs in FRED #3585 and #3584
* restricted briefing icon override to ships and added $Custom briefing icons always override standard icons: to game_settings.tbl which reverts this change #3565 and #3576
* fixed subsystem debris: the engine will no longer use the specified generic debris model for destroyed subsystems since the model is usually intended to be used for destroyed ships
* support user names that contain non-ASCII characters by forcing the engine in portable mode
* add turret info to FRED's 3D view
* fixed assert when the weapon None was selected as secondary weapon in FRED
* fixed variable replacement in briefings and debriefings for stages that modify variables in their conditions
* increased XSTR ID limit from 4 digits to 7 digits
* added option to disable reflect maps in the lab
* fixed the "add data" menu item in FRED's SEXP editor
* fixed crash caused by orphan weapons
* added weapon flag heals which will cause the weapon to heal its target instead of dealing damage
* added AmbientSnd for weapons which is emitted from the weapon itself as opposed to InFlightSnd which is played as a HUD sound
* added SEXP containers more details
* fixed culling for homing primaries (this used to break homing lasers)
* fixed AI targeting itself when hit by EMP
* added volume effect type for particle effects which spawns particles in a spherical volume (further tweaks possible through options)
* fixed $Max Missiles Locked on Player: to only apply to the player
* added self-shadows for cockpits
* added $Shadow Cascade Distances: to game_settings.tbl
* performance improvements (properly cull debris, improve matrix multiplication, reduce script overhead caused by unused script hooks, improve motion debris rendering)

* script-eval has been deprecated in favor of script-eval-block
* renamed hud-set-retail-gauge-active to hud-set-builtin-gauge-active
Deprecations are a mechanism in FSO where a certain feature or aspect of the engine has changed or is no longer supported. Since this would normally break existing mods we have the mod table feature "$Target Version:" with which a mod can specify what version of FSO it was developed with. The features listed above will be removed or changed when the target version of a mod is at least the version released in this post.

Previous 21.0 Release Thread

Launchers, if you don't have one already:
All platforms: For every day use, we recommend Knossos, an integrated solution for downloading and launching mods.

Hidden Text: Alternative Launchers • ShowCross-platform: wxLauncher 0.12.x Test Build (ongoing project for a unified launcher, you should upgrade to the latest RC/test build if you have not yet)
Important: For best compatibility with FSO 3.8 and later you should use at least wxLauncher 0.12.

Windows:  Launcher 5.5g (Mirror) (Mirror) Not compatible with Windows 8+, use wxLauncher above
OS X:  Soulstorm's OS X Launcher 3.0
Linux:  YAL or by hand or whatever you can figure out.
Windows (32/64-bit)
Compiled using GitHub Actions on Windows Server 2019 (10.0.17763), Visual Studio Enterprise 2019


This one is based on the SSE2 Optimizations from the MSVC Compiler.

Hidden Text: Alternative builds • Show
64-bit AVX:
This one is based on the AVX Optimizations from the MSVC Compiler (fastest build if your CPU supports AVX instructions).

32-bit AVX:
This one is based on the AVX Optimizations from the MSVC Compiler.

What are those SSE, SSE2 and AVX builds I keep seeing everywhere?
Your answer is in this topic.
Don't want to deal with that? Use Knossos and it will download the best build specifically for your PC!

Linux 64-bit
Compiled with Ubuntu 16.04 LTS 64-bit, GCC 5

These builds use a mechanism called AppImage which should allow these builds to run on most Linux distributions. However, we recommend that you compile your own builds which will result in less issues.
Alternatively, if there is a package in your software repository then you should use that. If you are the maintainer of such a package for a distribution then let us know and we will include that here.

Not available We recently lost access to our Mac CI environment which we usually used for compiling these builds so for the time being, there will be no builds for this OS.

Hidden Text: TrackIR Users • ShowImportant!!
An external DLL is required for FSO to use TrackIR functions.  The following DLL is simply unpacked in to your main FreeSpace2 root dir.
TrackIR is only supported on Windows.
TrackIR SCP DLL (Mirror) (Mirror)
Known issues:

* Github issues and pending pull requests
* See the list of Fix for next release bugs - mark a bug as an elevated priority (high, urgent, immediate) to get it included in that filter.


[0] Message Index

Go to full version