Build 174448 for Serious Sam 3 is released. If you have previously opted into public beta, you already have this. For all others, here is the list of changes:
- Linux: Added log messages for connected gamepads. - Linux: Added inp_bLogGamepadEvents cvar for logging gamepad events. - Linux: Fixed crashes on some window managers due to missing Xlib atoms. - Added support for OpenGL tearing in VSync via 'ogl_bVSyncTearing' cvar. When cvar is on, screen refresh will wait for number of retraces specified via 'gfx_iWaitVSyncs' cvar and if more vertical retraces passed, will not wait for next one, but will do swap as soon as possible. - Fixed wrong report of utilized OpenGL extensions. - Slider widgets in color options menu are now enabled/disabled depending on support of gamma-correction also, not only full-screen or window mode. - Fixed resolution downsizing not downsizing some buffer in-game causing more GPU memory usage than needed. - Fixed command bindings not displaying properly in spectator view HUD. - Added news feed to start screen. - Editor: Fixed crash when exporting textures. - Editor: Khnum and Aircraft puppets no longer ignore lethal damage. This allows Killer entity as well as macro functions such as DropDead() to affect these puppets. - Editor: Added a new macro function to base entity: InflictWeaponDamage(). This function deals damage equivalent to one produced by any given weapon.
- Linux: Various fixes for visual artefacts caused by GPU resource corruptions that happened when game was minimized, alt-tabbed or otherwise lost focus. - Faster switching into game after Alt-Tab, and changing Gfx APIs. - Linux: Outdated driver versions are now reported to user on Linux. - Linux: Fixed zombie processes sometimes being left over by the game. - Fixed problem where correct video mode wasn't started when changing back to game (via alt-tab) if cvar 'gfx_iAPI' is set to gfx API that is not actually supported by the platform. - Added CPU name detection and output to console. - For detecting GPU vendor and device ID under Linux, "lspci" external command is now used instead of "libpci" interface. - OSX: Some fixes for handling of gained/lost keyboard focus. - Prevented possible application crash that may occur during Steam Workshop sync IO failure. - Handling of GPU synchronization (if gfx_iFinish>0) is now more responsive. It would sometimes cause stuttering previously. - FPS counter variation is now also displayed (minimum and maximum frame rate for last refresh interval). Controlled via 'prf_bShowFPSVariation' cvar. (Default is on.) - Fixed crash at start if Steam is running in offline mode. - Mouse is no longer confined to window after alt-enter.
If you have previously opted into public beta, you already have this. For all others, here is the list of changes:
Update 173456 contains a number of general fixes in the game, as well as some that are specific to the Linux version.
- IMPORTANT FOR LINUX: Most of the weird performance problems in previous builds were caused by performance throttling (aka power saving) features on various CPUs not correctly identifying that the game is running and continually jittering between low and high performance modes (several times per second sometimes!). This build adds a workaround for this which should hopefully prevent the symptoms from being so extreme. It is not perfect however, as there might still be a few percents of performance to squeeze out. The recommended solution is to turn off such features in BIOS for Linux machines. They can be found in BIOS under names such as SpeedStep, Cool'N'Quiet, C1E, PowerNow!, Power Saving, CPU Throttling, Dynamic Frequency Scaling, or something else - depending on your BIOS.
- Added a script that offers to automatically install libpci.3 on linux if it is missing. - Fixed graphics corruption under OpenGL if game is minimized or "alt-tabbed" while it is loading content. - Fixed screen-shot grabbing and manual save-game thumbnails not working under OpenGL. - OpenGL library can now load even if some vendor dependent functions are missing. - X11 libraries on Linux are now dynamically loaded, so game can properly report and error if something is missing. - Dedicated server on Linux no longer requires X11 to be installed. - Fixed problems with filenames of wrong case that happened only with Linux dedicated server. - Full support for language packs in Workshop. Language mods can now work even in pure (non-moddable) version of the game, and don't require any customization from user side. Just subscribe to them. - Workshop packages menu is now also available in non-moddable version of application (this allows enabling/disabling of language packs). - User is now properly notified when Steam Workshop content download fails. - Fixed issues that might have prevented some user accounts from uploading to Workshop. - SeriousEditor now displays Steam Workshop sync progress in status bar. - Upload to Steam Workshop command is no longer available until Steam Workshop sync is finished. Previuously, it locked up the application. - Fixed an issue causing clients to always see weapon change on HUD at game start. - Fixed a lockup happening if spectator cameras are linked in a closed loop. This only happened with user-made levels. - Weapon change attempt is now correctly being indicated on HUD if performed during sprint. - Fixed popup menus in Serious Editor sometimes going off the bottom of the screen in multimonitor setups. - Fixed duplicate directory entries being shown in Serious Editor in file browsing for directories inside user-made .gro files. - Added vertex merge when importing fbx meshes. - Added facilities in Serious Editor to automate editing on entities from console scripts. - Added cfuncs edtGetMemberValue(strUserDataPath) and edtSetMemberValue(strUserDataPath, value) used to change entity properties. - Added cfunc edtSelectEntityPropertyByID(iEntityID). - On Linux, fixed wrong display settings if no monitor has been marked as primary. - KDE session version added to the log.
- Added a script that offers to automatically install libpci.3 on linux if it is missing. - Fixed graphics corruption under OpenGL if game is minimized or "alt-tabbed" while it is loading content. - Fixed screen-shot grabbing and manual save-game thumbnails not working under OpenGL. - OpenGL library can now load even if some vendor dependent functions are missing. - X11 libraries on Linux are now dynamically loaded, so game can properly report and error if something is missing. - Dedicated server on Linux no longer requires X11 to be installed. - Fixed problems with filenames of wrong case that happened only with Linux dedicated server. - Full support for language packs in Workshop. Language mods can now work even in pure (non-moddable) version of the game, and don't require any customization from user side. Just subscribe to them. - Workshop packages menu is now also available in non-moddable version of application (this allows enabling/disabling of language packs). - User is now properly notified when Steam Workshop content download fails. - Fixed issues that might have prevented some user accounts from uploading to Workshop. - SeriousEditor now displays Steam Workshop sync progress in status bar. - Upload to Steam Workshop command is no longer available until Steam Workshop sync is finished. Previuously, it locked up the application. - Fixed an issue causing clients to always see weapon change on HUD at game start. - Fixed a lockup happening if spectator cameras are linked in a closed loop. This only happened with user-made levels. - Weapon change attempt is now correctly being indicated on HUD if performed during sprint. - Fixed popup menus in Serious Editor sometimes going off the bottom of the screen in multimonitor setups. - Fixed duplicate directory entries being shown in Serious Editor in file browsing for directories inside user-made .gro files. - Added vertex merge when importing fbx meshes. - Added facilities in Serious Editor to automate editing on entities from console scripts. - Added cfuncs edtGetMemberValue(strUserDataPath) and edtSetMemberValue(strUserDataPath, value) used to change entity properties. - Added cfunc edtSelectEntityPropertyByID(iEntityID).
In a post on this Steam forum thread about a new Serious Sam 3 patch, Croteam's CTO Alen Ladavac has spoken out against Microsoft's latest Windows revision, describing the Metro/tiled UI's Windows Store restrictions as a "horrible" idea, and blasting the certification process currently being used to keep certain mature games off the Store.
After the dreaded 'W' and, er, '8' words were brought up in the thread - specifically in regards to problems a player was having running Serious Sam 3 in Windows 8 - Ladavac responded by expressing his concerns about the service, after apologising for "keeping off topic". His biggest complaint was that "one cannot release a tiled UI application by any other means, but only through Windows Store," referring to the interface-formally-known-as-Metro's disregard for any program/game that doesn't meet their strict requirements. To clarify: Windows 8 itself won't restrict you from installing certain games/programs, they just won't show up in its primary interface.
Ladavac took exception to this, stating that "if it was just about 'being downloaded from Windows store', it would not be a problem. It would be nice to have a common hub to download things from. But to get an app onto that store, it has to be certified by MS. This means bringing the 'console experience' onto your desktop. Each app that you will get through the Windows Store will have to adhere to certain requirements imposed by MS." He went on to shake his fist at the age restrictions that have kept games like Dishonored and Skyrim off the Windows Store, at least in the short term.
Thankfully, that policy has been reversed by Microsoft, although it's worth noting that the Windows 8 app certification requirements still state that any applications "with a rating over PEGI 16, ESRB MATURE, or that contain content that would warrant such a rating, are not allowed." In any case, the games haven't appeared on the store yet.
The suggestion that a hypothetical Windows 9 may block off side-loading entirely (loading programs outside of the tiled UI) is entirely speculative, but much of what Ladavac says chimes with what other outspoken developers, and Valve, have been saying for months now. As PCGamesN explained earlier today, they've been putting their considerable weight behind Linux instead, the beta of which opened just last week.
The problem with Serious Sam 3's rocket launcher is that it looks too much like a rocket launcher, rather than, say, a disconcertingly headless enemy that fits in the palm of your hand like a particularly grisly Polly Pocket. Thank heavens then for the Pet Scrapjack mod, and for Steam Workshop in general, which has welcomed Serious Sam 3 into its moddable embrace.
Highlights so far include the aforementioned Scrapjack, the gentlemanly Sir Buttersworth mod, and, er, a map based on the Ben Stiller film Night at the Museum. If that's inspired you to make your own, based on Meet the Parents or even There's Something About Mary, Croteam have helpfully created a guide to putting the thing online. In the meantime, this cheery little headless fella clearly needs to be in everyone's game. Chop chop.
- Prepared everything for Steam Workshop support. - Added Bulgarian locale. - Fixed a crash occuring on server if a client equips sledgehammer, climbs onto a ladder and disconnects while still on the ladder. - Fixed a crash on dedicated server occuring in coin-op if a game ends with all players disconnected. - Fixed another way to get out of map on Medina. - Mirror reflections are now disabled at low GPU quality. - More optimizations on OpenGL (GLSL) shaders. - Glowing in menu is now disabled on OSX and Linux platforms, and on 'lowest' GPU quality preset. - Updated fbx import-export interface to make it accessible from the model editor. - SeriousEditor: Fixed crash when trying to solve solution which doesn't have lightmaps' dimensions of power of 2. - SeriousEditor's file open dialog is now better at handling files with weird path formats (mixed slashes and backslashes, dot-dots...) - Updated browser list control to display green checkered background for files without a catalog index. - Voice chat now also works via OpenAL, if enabled via svm_bOpenALVoiceRecording. It is enabled by default on Linux, but disabled by default on OSX, because OpenAL recording is broken in most OSX versions.
- Player now has correct animations in 3rd person when wielding the axe. - Fixed fast-firing exploit on SledgeHammer/Axes. - In versus game modes, C4 projectile can now be picked up by any player after it has been idle for a while. In non-versus game modes, it can only be picked up by the player who threw it. - In versus games, C4 bombs now collide and bounce off of enemy players when hit, rather than pass through them. - After respawning, players can no longer trigger C4 explosives that they threw before being killed. - When a player is killed in versus game mode holding a weapon with no ammo remaining, they will no longer drop it as a pickable weapon item. - Fixed sniper mask not being rendered if weapon rendering is disabled. - Fixed crashing when going into spectate on DemonTomb, Medina and TombofNefretari. - Added Tehnopolip after 4 min of gameplay on SV_MedinaDefender. - Fixed some places on MedinaDefender, CairoCity and UnfinishedComplex where player could get out of the level. - Fixed falling out of world in Fiaca. - Fixed error in Sphinx explosive planting script. - Fixed wrong handling of file case in Linux dedicated server. - Russian VO for JotN DLC. - Drag&dropping entities onto script variable in editor did not work in the first line in script. Fixed. - Fixed a rare crash in FBX skeleton loader. - Added cvar 'ogl_bCompressCachedShaders' to control whether OpenGL shaders will be compressed when cached to files or not. - Fixed shader cache not saving properly on OpenGL. - Fixed some fatal errors not being visible if happened in full screen.
- NEW! Added 7 new versus maps and 3 new survival maps. - NEW! Added support for VAC.
- When playing versus with automatic map rotation, if playing some map other than the official ones, next map would always be Slumoner. Fixed. - Fixed problem with debris sometimes being lit by distant light even in underground rooms. - Updated localizations for Chinese, Russian, Polish and Czech. - Added support for caching GLSL shaders' binary code under OpenGL via "GL_ARB_get_program_binary" extension. (Currently only works with separated shaders!) - Fixed some cases where (false positive) credentials errors were causing the moddable game to exit. - Fixed SeriousEditor reporting credential errors when user tried to finalize files from list. - Fixed SeriousEditor reporting credential errors when user tried to execute custom script commands. - Fixed a case where 3rd person player model would be left without weapon in hand in some situations. - Devastator projectile can now hit other physical projectiles. - Driver version detection now works under OpenGL. - Update auto-detect GPU info for new and existing cards. - JPG files are now supported as a valid texture file type. - Fixed a very very rare case of crash when printing time/date values (e.g. in load/save menus). - Fixed an enemies remaining without an animation (rendering T-pose) in some very rare cases. - Fixed jetpack sound being heard on entire map. - Fixed errors when getting on or off ladders in network in some cases that didn't manifest on official maps. - Fixed Rockets exploding on launch in some cases if fired while swimming. - Fixed some wrong HUD visuals happening when using combinations of keyboard/mouse and gamepad. - Fixed player banning not working and re-enabled player time ban in voting menu. - Added support for OpenGL "GL_ARB_separate_shader_objects" extension, which speeds up shader compiling under OpenGL. - Fixed fight music sometimes continuing playing when an event script was supposed to induce silence. - Fixed big lens-flares being visible over sniper mask. - Fixed black screen issue under OpenGL when player is hurt. (Mostly appeared on Mac) - Added OpenGL extension for determining amount of video and texture RAM on NV and ATI GPUs. - Fixed some artefacts on Pirate Pete player model. - When no players are alive and have no lives left in a game mode that uses lives, game play will end (in 5 seconds to allow after death score from kills) and map will be restarted. - In case there are no living players anywhere on the world, the first available spectator camera will be selected as best. - Some optimizations in sound playback system. - Light streaks effect quality is now smoother and can be adjusted via new 'efx_iStreaksQuality' cvar. - Fixed black surfaces in some cases when a model with Vegetation shader is instanced. - Further optimizations in multithreaded renderer. - Fixed a rare crash when using C4 in network games. - Various rendering performance optimizations. - Fixed occasional crash at startup of Serious Editor. - Faster texture uploads under Direct3D. Also, if d3d_bMultiThreadedDevice=1, it can upload in separate thread. - Numerous bug fixes for OpenGL rendering. - tex_iSquishCompressionQuality controls DXT compression quality of Squish algorithm; used only when NVIDIA texture tools are not installed - Serious Editor now supports high quality texture compression even in Steam builds. Install NVIDIA texture tools ( http://developer.nvidia.com/content/gpu-accelerated-texture-compression ) to enable this. - Updated fbx import to support blend shape animation. - Fixed bug which caused falling damage when player would climb down the ladder. - Ladders can now be used underwater. - Player can now exit the ladder after climbing down to its base, even if there is no floor below. - Fixed cases where ladders would not work correctly on clients. - Fixed a rare crash that happened some times if client was left in the "you were disconnected" screen for very long time. - Several optimizations in network processing, which lower the CPU load on server and make better use of available bandwidth for clients. - Added steam_bEnableVAC cvar for starting a dedicated server with VAC support. VAC is now enabled by default. - Added a checkbox for filtering VAC unsecured servers in the server list. - Server list now shows an icon for VAC protected servers. - Dedicated server no longer reports errors if XInput is not installed. - Using third person view mode is no longer reported as cheating in versus game modes. - Fixed RConServer handling of cursor offset when pasting text or using home / end keys. - Rcon telnet server now prevents brute force password guessing attacks by limiting number of allowed connection attempts by various criteria. - Fixed a possible crash when processing texts with invalid utf8 sequences. - Fixed cursor navigation in game console in presence of utf8 characters. - Voting info now properly handles player names that have html tags ("<", ">", "&") in them. - Fixed a rare bug where level stats of a finished level would be written to a wrong leaderboard. - Gamepad layout menu no longer renders its menu reflection, to improve readability. - Fixed problem with menus glowing all around after returning from the game sometimes when rendering resolution was smaller than screen resolution. - Raw input system now detects XFire and falls back to legacy sytem, because XFire breaks raw input on the system where it is running. - Added warning in split screen menu if XFire is running. (Since without raw input one cannot use multiple keyboards.) - Fixed some rare general multithreading crashes (all platforms). - Fixed several cases of wrong rendering when multi-threaded renderer was enabled: translucent objects, first-person weapon and some other models flashing, morphs not working. - Fixed crash when using multi-threaded rendering in editor and trying to edit a model. - Fixed a possible crash in editor when attempting to edit a non-local script bound to an entity of a world which had previously been closed. - Fixed a crash in script editor when inserting a new object into an empty line in a script by drag and dropping it. - Fixed an issue preventing auto-complete from working if used on the first token in the first line in script editor. - Skeletons (and animation editor) now support three types of bones - bones, joints and null bones. FBX importer automatically uses null and joint bones where needed. - FBX importer now supports importing and exporting polygon maps and morph maps. - Updated FBX importer to handle negative timestamps for animation keyframes. - Added mesh simplification tool (Ctrl+Shift+C) in mesh editor. It can be used to automatically create LODs or generally simplify meshes. - Environment grabber now also temporarly disable rendering of comments, so these are no longer baked inside probe lights. - Door entity can now be set up to ignore distant lights (added "Ignore distant lights" property). - Find entities dialog now has an "Extensive resource search" button. Entities which in any way reference a resource whose file name matches the search expression will be selected. Note that this is very slow and can take a few minutes on production size levels. - Fixed crash when trying to test model without collision geometry for raycast. - Fixed an issue where third person weapon tool would remain visible after switching to hands weapon to show sirian bracelet. - Fixed some rare cases when enemies would behave strangely if player was in water. - Rather than starting with the first spectator camera on the world, the camera closest to a living player is selected. - Spectator camera's current FOV is now kept same when switching between cameras. - Spectator view now uses standerd HUD rendering system to obey all of its settings, scaling, etc. - Players are no longer forced to exit spectator mode during mid-game round countdown. - Fixed various problems for players that were dead during cutscenes (not seeing the CS, spawning on wrong place...) - Players will no longer produce wound sounds and effects if damaged while dead. - A sound is now played when extra life is received. - Added Intel GPUs to auto-detection list. This is just first version, and will possibly need more tweaking. (Intel GPUs are still not officially supported.) - Added new GPUs from nVidia and ATi to auto-detection list. - Fixed OpenGL initialization crashing on drivers that returned invalid values for identification. - Added workaround for wrong report from ATI OpenGL driver about max render target size supported (GL_MAX_RENDERBUFFER_SIZE). - Fixed some rare cases where shadows were rendered wrong due to visibility errors. - Added further optimizations to visibility system for shadows. - Instancing now works even on destruction models. - Fixed a model disappearing too early if it has several meshes with different max distances and/or fading lenghts. - Fixed problem with some models flashing when fading out. - Fixed flashing pyramid in cut-scene in Luxor level. - Fixed occasional junk screen on startup. - Fixed extremely slow updating of font texture when using extended Direct3D device. - Fixed some HDR brightness parameters from one split-screen view being applied to another in some cases. - Highlight shader now renders in correct brightness when HDR output normalization is used. - Loading shaders from disk is now faster. - Some shaders now report errors for some invalid setup combinations, to aid properly configuring them. - Optimized zoom shader so it doesn't render the effect in vain when very weak. - General optimization in CPU usage for per-frame preparations for some shaders. - Several optimisations in mirrors, refractions and water rippler, as well as SSAO, color ramp processing and light-streaks effect. - Added compatibility testing cvar 'efx_bNoColorGrading' which, when enabled, forbid color ramping in post-processing pass. - Radio chat controller now has IsInRadioChat() functoin to determine if a radio chat is currently in progress. - Khnum now adjusts its feet on unlevel ground. - All jetpack parameters are now overridable through zone controller. - Jet pack can now be dynamically added and removed from script using AddJetpack() and RemoveJetpack() macro functions. - Weapons that don't need auto-aiming no longer show the indicator. - Pressing "aim" button when auto-aiming is enabled will lock on target even for weapons that don't have aim-down-sight. - Auto-aim target tracking during aiming is now more robust handling cases such as spiders on ceilings. - Fixed multiple players sometimes being able to attach a sticky bomb to the same entity on the same attachment. - Fixed sticky bombs sometimes failing to lock on attachment in some rare cases. - Puppets can now define custom stretch multiplier for locked on sticky bomb projectiles / attachments. - Fixed possible lockup in spaceship's beam attack. - Fixed cases where enemies using some tactics would never be able to unable to reach their foe. - Tactics without markers now work. - Fixed an issue with enemy kills in beast hunt mode not being counted if achieved via indirect damage (e.g., killing a kamikaze near another enemy, killing them both with kamikaze's blast). - Ramesseum - fixed bug where in Cooperative if some player with picked canister came to fill the car within 3 seconds after other player filled last canister (8/8) script could fail and level could not finish. - Fixed a rare issue where destroying some object would leave another object on top of it floating in the air. - Fixed the spinning view bug that sometimes appeared on OSX. - Updated fbx import-export to sdk version 2013.2. - Updated fbx import-export. Fixes for model mover and unit conversions. - Player sprint state is now canceled when game session is finished (winner or round winner is declared). - It is no longer possible to sprint when carrying MyBurden. - It is no longer possible to sprint underwater. - Fixed a rare crash after respawning a player who was gibbed.