Author Topic: Release: 3.8.0  (Read 4009 times)

0 Members and 1 Guest are viewing this topic.

Offline SirKnightly

  • George or Keira?
  • 211
Major changes in this version: (chronologically ordered)
  • 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.
  • TrueType Font support: TrueType fonts improve the text rendering capabilities of FSO by allowing to use freely scaleable font faces instead of the previous bitmap fonts.
  • 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.
This list is taken from our GitHub wiki.


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.

Hidden Text: TrackIR Users • Show
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.

Hidden Text: Alternative Launchers • Show
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.

Known issues:


Windows (32/64-bit)
Compiled by Appveyor on Windows Server 2012 R2 64-bit, Visual Studio Community 2015 with Update 3

32-bit: fs2_open_3_8_0-builds-Win32.zip
This one is based on the SSE2 Optimizations from the MSVC Compiler.

64-bit: fs2_open_3_8_0-builds-Win64.zip
WARNING: 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.

Hidden Text: Alternative builds • Show

32-bit AVX: fs2_open_3_8_0-builds-Win32-AVX.zip
This one is based on the AVX Optimizations from the MSVC Compiler (fastest build if your CPU supports AVX instructions).

64-bit AVX: fs2_open_3_8_0-builds-Win64-AVX.zip
WARNING: 64-bit builds are still experimental.
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.


OS X Universal (32/64-bit Intel)
Compiled on OS X 10.11.4, Xcode 7.3 (Apple LLVM version cross-reference)

fs2_open_3_8_0-builds-MacOSX.tar.gz

Linux 64-bit
Compiled on Ubuntu 14.04.4 LTS 64-bit, GCC 5
fs2_open_3_8_0-builds-Linux.tar.gz

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.

Hidden Text: Other Platforms, Source Code • Show

 
Awesome :yes2:

 

Offline Novachen

  • 26
  • The one and only Capella supernova.
Good News.  :yes:

So, what is still missing, is a full release of wxlauncher 0.12 for that :).
Female FS2 pilot since 1999.

German Translations created by me:
Between the Ashes: Slaves of Chaos, FreeSpace Port, The Destiny of Peace, Silent Threat: Reborn (in development), Awakenings (in development),

Other projects:
FSPort Mission Upgrade, 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" ;).

 

Offline Hippo

  • Darth water-horse
  • 211
  • Grazing.
    • All Hands to War
Nicely done.
VBB Survivor -- 387 Posts -- July 3 2001 - April 12 2002
VWBB Survivor -- 100 Posts -- July 10 2002 - July 10 2004

AHTW

 

Offline PVD_Hope

  • 28
  • A Typhon-class destroyer.
I'm reading through the list and I'm like "Oh, that's neat. Oh, cool."

And I see this

Quote
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.

I'm sold.

You guys worked hard, this is super stuff! Thanks!

Postscript: So, um, did the FastDebug builds sacrifice anything to get that fast? Will they be released alongside standard debug builds or are they the new standard debug?
This signature is under construct

Check out my minimod: Lost

 

Offline m!m

  • 210
The Fast debug builds are now the standard debug builds and should behave exactly like a previous debug build. The "real" debug builds are only used for development now.

 

Offline AdmiralRalwood

  • 211
  • Mister Subspace Strikes
    • Skype
    • Steam
    • Twitter
Postscript: So, um, did the FastDebug builds sacrifice anything to get that fast?
Yes; there are a few debug options that can't be enabled while optimizations are enabled. However, those debug options pretty much only matter to coders (and we can just build our own Debug builds).
Ph'nglui mglw'nafh Codethulhu GitHub wgah'nagl fhtagn.

schrödinbug (noun) - a bug that manifests itself in running software after a programmer notices that the code should never have worked in the first place.

When you gaze long into BMPMAN, BMPMAN also gazes into you.

"I am one of the best FREDders on Earth" -General Battuta

<Aesaar> literary criticism is vladimir putin

<MageKing17> "There's probably a reason the code is the way it is" is a very dangerous line of thought. :P
<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.

 
Been looking forward to this. The new lighting is fantastic.  :yes:

I've noticed a couple of issues. Where do I go to report them?

 

Offline AdmiralRalwood

  • 211
  • Mister Subspace Strikes
    • Skype
    • Steam
    • Twitter
Been looking forward to this. The new lighting is fantastic.  :yes:

I've noticed a couple of issues. Where do I go to report them?
Most likely to be noticed here.
Ph'nglui mglw'nafh Codethulhu GitHub wgah'nagl fhtagn.

schrödinbug (noun) - a bug that manifests itself in running software after a programmer notices that the code should never have worked in the first place.

When you gaze long into BMPMAN, BMPMAN also gazes into you.

"I am one of the best FREDders on Earth" -General Battuta

<Aesaar> literary criticism is vladimir putin

<MageKing17> "There's probably a reason the code is the way it is" is a very dangerous line of thought. :P
<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.

 

Offline PVD_Hope

  • 28
  • A Typhon-class destroyer.
Postscript: So, um, did the FastDebug builds sacrifice anything to get that fast?
Yes; there are a few debug options that can't be enabled while optimizations are enabled. However, those debug options pretty much only matter to coders (and we can just build our own Debug builds).

So as a casual modder those options won't affect me?
This signature is under construct

Check out my minimod: Lost

 

Offline m!m

  • 210
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.

 

Offline PVD_Hope

  • 28
  • A Typhon-class destroyer.
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! :D
This signature is under construct

Check out my minimod: Lost

 

Offline Nyctaeus

  • Betrayal is his middle name
  • 211
  • HLP Tileraping Division
    • Exile
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.
Exile | Shadow Genesis | DA Profile | P3D Profile

MY RELEASED CONTENT SO FAR
Old Conversions | GTSD Anchorage | ORFg Tychicus | GTCa Sagittarius | SCv Scylla | EFC Evangelist | EFFg Solomon | GTL Latona | SC Raguel | PVD Atum | GTCv Eurynome | FractalSpace - Apophysis Skydome Pack | Updated Ancients Models
All of my stuff can be used ONLY in Freespace campaigns and missions.

Veteran modder and graphic designer of all kinds. 3D is my speciality. Feel free to PM me if you looking for a model or other GFX help.

 
 

Online Colonol Dekker

  • HLP is my mistress
  • 213
  • Aken Tigh Dekker
    • My old squad sub-domain
My favourite features from that list are APNG and TTF support.
Applause to all involved!

 

Offline Col. Fishguts

  • voodoo doll
  • 211
Cool beans!

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

Visit The Babylon Project, now also with HTL flavour  ¦ GTB Rhea

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

 
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).
Excuse me for any spelling errors I make - I'm still learning English :P

 

Offline Col. Fishguts

  • voodoo doll
  • 211
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.
« Last Edit: August 31, 2017, 08:40:50 am by Col. Fishguts »
"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

Visit The Babylon Project, now also with HTL flavour  ¦ GTB Rhea

 

Offline FSHero

  • 25
Delightful news; a big well done to all the people on the Source Code Project team and their hard work. You are legends!