Massive Serious Sam 3: BFE Update Released

As we told you a couple of days ago, Croteam was working on a new update for Serious Sam 3 and… well… it has finally been released on Steam. This new patch is massive and fixes lots of issues, proving that Croteam is dedicated to the PC version of their little gem, even though they are currently working on the console versions of Serious Sam 3. As always, the update will be auto-downloaded next time you start the Steam client and you can view its huge changelog after the jump.
Serious Sam 3: BFE Update Changelog:
o Added support for AlienWare LightFX effects.
o Fixed a number of issues (mainly related to HUD and menus) when using stereoscopic 3D rendering. The game should now look good in stereo 3D.
o Added GPU quality profiles for ATI Radeon HD 7000 series.
o Voice chat now uses internal protocol with Speex compression. This lowers the bandwidth requirements for the voice traffic and makes voice transfer less bursty.
o Different screen layout configurations can now be chosen when playing in split-screen.
o Reworked a number of models by adding some more LODs for them, optimizing their geometry, fixing some errors etc. This should improve performance and used memory somewhat.
o Created some more swimming animations for player character.
o Fixed crash that occurred when kicking a Soldier enemy with multithreaded rendering enabled.
o Sniper zoom now works correctly regardless of aspect ratio.
o When generating crumbs, normals and tangents are not created if source model’s shaders don’t need them.
o Fixed some crashes related to text rendering when multithreaded rendering is used.
o Added cvar ‘mdl_bMorphedShadows’ for controlling whether morph animations will be applied in casted dynamic shadows or not. (Default is disabled since it boost performance noticabely, while quality remains almost the same since morphs are used only for small model deformations and speaking.)
o Fixed unresponsive safe area sliders in gfx options when adjusting window size.
o Refactored implementation of font outline rendering to use a several times lower number of rendering calls.
o The option ‘prefer 3rd person view’ is now taken into consideration to set appropriate avatar view mode. Manual command for toggling 3rd person view overwrites the cvar linked to menu widget, but this is temporary (i.e., not saved in player profile).
o Sniper no longer shows crosshair in versus games.
o Added cvar ‘ogl_iStaticBuffersType’ for selecting which buffer type to use for static buffers under OpenGL. (For performance testing purposes mostly.) When changed, cfunc ‘gfxRefreshGeometry()’ needs to be invoked manually.
o Optimized in-game memory size of some model animations.
o Fixed a possible crash occurring if player disconnects or dies while using Mutilator to get pulled by a Werebull.
o Fixed an issue causing rocket launcher to appear unloaded (missing rocket attachment) if weapon is brought up immediately (such as when starting game at chapter with rocket launcher already equipped). o Enemies without assigned foe player were scheduling moving too often. Now they use less CPU.
o Removed redundant changes of active texture unit in OpenGL.
o Fixed issues with wrong filtering of some textures in some cases.
o Reduced cases where rendering buffers get reallocated, e.g. for SSAO, haze, refraction, distance, sub-sampling and other aux buffers.
o Fixed a rare crash happening when player disconnects while some enemy is having him as foe and doing obstacle avoidance.
o Fixed an issue where picking up a weapon while already having full ammo of its type would not display a message to player to indicate ammo is full. o Tweaked HUD resolution-scale graph to fix an issue where certain HUD elements would overlap in low resolutions (800×600 and 640×480).
o Fixed wrong trilinear dithering of shadows under OpenGL. (‘ScreenPos’ pixel shader input register doesn’t have integer coordinates!)
o Prevented appearing puppets from colliding with existing puppets and falling through floor upon appearing (common problem with “DigOut” spiders).
o Implemented scriptable enemy despawning in case player is doing speed run. It is used on the last level for now.
o Fixed an issue allowing player to move while performing spinning attack with sledgehammer.
o Relaxed cases when puppets force their physics to activate, so enemies standing still on uneven terrain can use less CPU.
o Fixed an issue causing Scrapjack’s head to remain equipped on third person player model even if melee was interrupted before completion.
o Optimized performance of flocking algorithms used by enemy in AI.
o Fixed missing polygons on stairs used on IbnTulun level near mosque.
o Fixed implementation of “Coin-op Co-op” achievement: player needs to finish all levels to get the achievement and is not required to be playing with other players.
o Achievement completion checkboxes are now shown for all achievements which must be performed on all levels.
o When storing level stats, all available level stats will be stored and all completed levels will be unlocked in profile. This is necessary as it sometimes happens that player profile doesn’t get saved correctly (but stats are still stored in save game).
o Statistics menu screen now shows statistics for all levels available in current game stats, not only for unlocked levels, as it happens that sometimes levels don’t get unlocked even though they should be unlocked (probably a crash before profile was saved).
o Optimized smart blur used with ambient occlusion.
o Setting cvar ‘prf_bShowFPS’ to 4 now shows frame-rate variation for given timing interval. (Just below average FPS.)
o Significantly improved performance in several different aspects of AI code in presence of a large number of active entities. E.g. when player spawns a lot of enemies while doing speedruns.
o Fixed cases where too much memory was used if menu background level rendering was disabled.
o Voice encoding quality can now be changed on the fly using svm_iVoiceEncodingQuality cvar.
o Voice chat streaming sound limited to buffer at most 1 second of data (otherwise it was possible for it to accumulate lots of data while application was in background).