Release: 3.8.0

Support for APNG animations:APNG is a variant of the established PNG format which allows to store animations instead of single frames in a PNG file. This change allows to use these animation files in FSO which significantly improves usability for modders since they no longer have to store all individual frames as separate images.

Physically-Based Rendering (PBR): This upgrade of our rendering engine allows to use PBR assets to make models look more realistic and allow more artistic freedom for modders since they have more control over how a model looks. This also added support for HDR lighting which should improve the overall graphics experience.

SDL2 usage on all platforms: SDL is a library for abstracting away the differences between different platforms. We now use SDL2 for all platforms which reduces the amount of platform-specific code tremendously and should result in better usability on all platforms. This was a major change that has been in development for several years. Here are a few key features that were added:

Pilot and configuration data is now stored in the correct location across all platforms (this allows to run FSO on Windows from the Program Files directory without administrator rights)

All platforms now use the ini files for storing settings. This fixes a lot of issues with the registry on Windows.

Better support for input devices. Since SDL handles keyboard, mouse and joystick input we now have better support on newer OS versions. Note: This does not mean that we support multiple joysticks (yet). There is ongoing development effort to support this but this release does not have that yet.

CMake build system generation: This isn't relevant for players but we are now using CMake for handling compiling our builds. This improves cross-platform support and allows to implement advanced compilation features across multiple platforms. Modders will like the new "FastDebug" builds which are like the previous "Debug" builds but are compiled with all the optimizations of normal Release builds. That should make modding a lot easier since you can now debug your mod with almost the same performance as a Release build.

Improved shield effects: Rendering of the shields is now handled by special shaders which improves the overall quality of the effects and allows more freedom for future effects.

Native particle systems: Particles have always been supported by FSO but the effects that could be created by them were very limited. There were some attempts to fix this by using Lua scripting for more advanced features but that suffered from performance issues. With these new particle systems that feature has been integrated directly into the engine which should improve performance and allow for better effects in the future.

Use OpenGL Core Profile for rendering: This is another major graphical upgrade which adds support for the OpenGL Core profile across all platforms (this was also made possible by the SDL2 integration). This upgrade allows us to use more modern rendering techniques and is especially useful for our Linux users who use the open-source Mesa drivers since our shaders failed to compile with those drivers. Now everyone will be able to enjoy the new graphical features added in this and previous releases. This also made some internal changes to how we handle rendering which improves the usability of our rendering engine within our code.

Use FFmpeg for video & audio decoding:FFmpeg is a multi-media library which exposes functionality for decoding video and audio files to their raw form so that we can use that data. Thanks to this library we can now play 1080p cutscenes without any stuttering or frame-timing issues. It also allows to use more advanced audio and video codecs such as H.264 for video or Opus for audio.

Important!!As always, you need OpenAL installed. Linux and OS X come with it but Windows users will need to get Creative's OpenAL installer. Alternatively, if Creative's OpenAL doesn't work with your hardware, you can use OpenAL Soft.

Important!!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)

Launchers, if you don't have one already:All platforms: 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 you should use at least wxLauncher 0.12.

64-bit:fs2_open_3_8_0-builds-Win64.zipWARNING: 64-bit builds are still experimental. These builds have been tested but there may still be issues that are not present in the 32-bit builds. Make sure you read the installation instructions below.Installation: If you use the 64-bit executables you have to make sure that you install all files from the zip file and that there are no remaining 32-bit DLLs left in your FSO directory. Some users have installed the 32-bit OpenAL DLLs directly into your FSO directory which is a common cause for errors. If the launcher fails to use the 64-bit executable this is the first thing you should check.

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.

Other projects:Out of the Shadow: Nova Safiya Edition (Remake of the Out of the Shadow campaign, in development)

If you want to know, what my nickname means, -chen is a german diminutive term, so you can translate Novachen as something like Little Nova or Novalet.Even my original meaning of this name is more like "Sweet pretty deadly (Super)Nova" .

<MageKing17> "There's probably a reason the code is the way it is" is a very dangerous line of thought. <MageKing17> Because the "reason" often turns out to be "nobody noticed it was wrong".(the very next day)<MageKing17> this ****ing code did it to me again<MageKing17> "That doesn't really make sense to me, but I'll assume it was being done for a reason."<MageKing17> **** ME<MageKing17> THE REASON IS PEOPLE ARE STUPID<MageKing17> ESPECIALLY ME

<MageKing17> God damn, I do not understand how this is breaking.<MageKing17> Everything points to "this should work fine", and yet it's clearly not working.<MjnMixael> 2 hours later... "God damn, how did this ever work at all?!"(...)<MageKing17> so<MageKing17> more than two hours<MageKing17> but once again we have reached the inevitable conclusion<MageKing17> How did this code ever work in the first place!?

<@The_E> Welcome to OpenGL, where standards compliance is optional, and error reporting inconsistent

<MageKing17> It was all working perfectly until I actually tried it on an actual mission.

<IronWorks> I am useful for FSO stuff again. This is a red-letter day!* z64555 erases "Thursday" and rewrites it in red ink

<MageKing17> TIL the entire homing code is held up by shoestrings and duct tape, basically.

<MageKing17> "There's probably a reason the code is the way it is" is a very dangerous line of thought. <MageKing17> Because the "reason" often turns out to be "nobody noticed it was wrong".(the very next day)<MageKing17> this ****ing code did it to me again<MageKing17> "That doesn't really make sense to me, but I'll assume it was being done for a reason."<MageKing17> **** ME<MageKing17> THE REASON IS PEOPLE ARE STUPID<MageKing17> ESPECIALLY ME

<MageKing17> God damn, I do not understand how this is breaking.<MageKing17> Everything points to "this should work fine", and yet it's clearly not working.<MjnMixael> 2 hours later... "God damn, how did this ever work at all?!"(...)<MageKing17> so<MageKing17> more than two hours<MageKing17> but once again we have reached the inevitable conclusion<MageKing17> How did this code ever work in the first place!?

<@The_E> Welcome to OpenGL, where standards compliance is optional, and error reporting inconsistent

<MageKing17> It was all working perfectly until I actually tried it on an actual mission.

<IronWorks> I am useful for FSO stuff again. This is a red-letter day!* z64555 erases "Thursday" and rewrites it in red ink

<MageKing17> TIL the entire homing code is held up by shoestrings and duct tape, basically.

Re: Release: 3.8.0

No, those options are only relevant for coders who want to run the engine under a debugger. You might also not hit a few crashes that would have occurred with old debug builds but as far as modders are concerned Fast Debug builds are not different from the old Debug builds.

Re: Release: 3.8.0

No, those options are only relevant for coders who want to run the engine under a debugger. You might also not hit a few crashes that would have occurred with old debug builds but as far as modders are concerned Fast Debug builds are not different from the old Debug builds.

Awesome. When I get back to my personal project (sequel to Lost yo) this is going to come in real handy. Thanks!

Re: Release: 3.8.0

Checked this with Exile and works flawless. Great job! I dunno if you guys changed PBR rendering engine at all, but older and non-PBR assets finally looks fine compared to RCs and older nightly builds.

Re: Release: 3.8.0

I read through the linked PBR stuff, but something is nowhere mentioned.With 3.8, is now everything rendered via PBR, or only POFs that use the new texture naming scheme?

Also, with post-processing enabled, all ships appear very bright (even the unlit parts), even though "Disable emmisive light from ships" is on. Toggling post-processing on/off in the F3 lab shows that without post-processing things look like they were with 3.7.X.I'm, using the post-processing table form the MediaVPs_2014, but the only brightness related entry in there seems to affect the whole scene, not emmissive light from ships? Am I missing something?

"I don't think that people accept the fact that life doesn't make sense. I think it makes people terribly uncomfortable. It seems like religion and myth were invented against that, trying to make sense out of it." - D. Lynch

Re: Release: 3.8.0

Yeah, to get a rather balanced lighting you need to use -ambient_factor of something between 50 and 70. At least that's what I use most of the time (while also tuning down nearly every other light source except of -spec_static).

Re: Release: 3.8.0

PBR is simply brighter by default, atleast it was in the nightlies. You'll need to adjust your favorite lightning settings to compensate.

I don't know, it seems clearly caused by the post-processing stage, and I assume PBR rendering happens before that?

Look a the attached sceenshots taken with the "-no-emissive-light" flag on, but without any "-ambient_factor" settings. FSO 3.8 with post-processing disabled looks very close to 3.7.4 using the same assets. With 3.7.4 the brightness difference with/without post-processing is marginal.

Also, it doesn't seem to affect the overall image brightness, but the difference between lit/unlit sides of a model is very small in 3.8 with post-processing active.

EDIT: But you're right, adjusting "-ambient_factor" to around 90 results in similar brightness as with 3.7.4. Thanks for the tip.

"I don't think that people accept the fact that life doesn't make sense. I think it makes people terribly uncomfortable. It seems like religion and myth were invented against that, trying to make sense out of it." - D. Lynch