Unvanquished Changelog

New in version Alpha 41

July 6th, 2015
  • 84983b0 First step in moving librocket to cgame.
  • a4fcb1d Remove client libRocket code
  • 6cbfd24 Initialize all fields of IPC::Channel in constructors
  • b477683 Remove librocket trap calls and replace them with direct calls to the library
  • a90af83 Add some syscalls. Something renders now. I don’t where the rest is though
  • 8837e75 Initialize glconfig with librocket init
  • a8bc4a5 Actually copy over all the font data when generating a font texture
  • c0ef576 Add more missing syscalls + some other stuff
  • 041516a Fix input handling with librocket
  • c5c1cf1 Add text input event to the cgame. Also remove some old unused VM calls
  • c1189fd Fix compilation of GAME_NACL AND NACL_EXE
  • 0027314 Take away focus from librocket when clearing keys
  • 4b61962 Remove incorrect command
  • 8563cd6 Call Rocket_SetActiveContext when changing keycatchers
  • 5542985 Call trap_Key_SetCatcher in CG_SetKeyCatcher
  • 21153e9 Don’t call Rocket_Render() multiple times per frame
  • c49f700 Add VMCall for sending console lines to cgame
  • e8ce926 Include NaCl precompiled libs headers in the deps zip
  • 061d61e Remove the misc_text element. It is unused and probably a performance abomination.
  • b94a425 Remove some unsued fields
  • 3f72eb1 Fix to not try to use ssao if driver does not support it.
  • 4d9bee6 Require vid_restart to load ssao shader
  • 449a475 Take only half of the samples to speed up SSAO.
  • 1318e1d Fix CMake CursesW finding routine
  • c1b2c87 Make GeoIP look for the databases also in libpath
  • fd590ac Remove GEOIP_SILENCE flag
  • 4045785 Fix travis
  • a47a931 Convert element
  • 8b09da0 Convert element
  • 6bb4960 Move Rocket update to the end of Rocket_Frame
  • b3ee6d2 Add TextHudElement. COnvert , , and to use it
  • 914e973 COnvert
  • 0f97d84 Remove unsued variable
  • e4f8ade Update librocket
  • 5ec6db4 Copy constructor for HudElement because GCC 4.6 can’t handle constructors calling constructors
  • f8f598e Replace STATIC_LIB with ROCKET_STATIC_LIB
  • b82aea2 MIssed a definition of STATIC_LIB -> ROCKET_STATIC_LIB
  • 21a114b Version bump to Alpha 41

New in version Alpha 40 (June 8th, 2015)

  • f299b1c Add initial implementation of Vector class
  • a90bac0 Put vector in the Math namespace, add VecX to the prelude
  • 55d7ab2 Add Data() method to vectors that exposes the internal data.
  • bd25e62 Allow mutating a vector through non-const Data and operator[]
  • 212348d Fix compound assignment operators for vectors
  • 761a16a Initial implementation of filters.
  • 8d3057b Download script typo.
  • 98c150a Reimplement weapon bobbing and inertia using filters (fixes #204 and #409).
  • 06a210c Rename Filter.hpp to Filter.h.
  • 003462a Clean up the filter code.
  • 582112c Fix build error
  • 7d6492c Some fixes for vectors
  • 884f537 Add a way to convert a vector to a string
  • 19fef52 Refactor CG_CalculateWeaponPosition to use the new vector library.
  • d928ff3 More filter code cleanups.
  • 0c3b04e Fix a compiler warning.
  • 5a482df More fixes for vectors
  • d88f140 Add projection, rejection and reflection to vector lib.
  • 627c9aa Capitalize all vector functions’ names.
  • d03e179 Use GL_ARB_framebuffer_object instead of the old GL_EXT_framebuffer_object.
  • 2a418e9 Ignore qtcreator project files
  • 3e3bc19 Avoid reuploading the same colorgrading textures every frame.
  • a2adc9e Changes to make shader debugging easier. Support a -set shaderpath “c:/unvanquished/main” option. See app and git comments.
  • 97251a9 Use runtime_exception as suggested by VadmimGit. Fix a compiler error regarding exception and some warnings.
  • f655753 More changes to address review comments and other tidy ups I noticed.
  • f148c92 Add headers in CMakeLists.txt to help some IDEs parse the project correctly.
  • 9d6e379 Revert g_shaderPath changes.
  • 990ff57 Address more review comments and more tidy up.
  • 77f97e3 Revert accidental change.
  • a295432 More clean ups.
  • 442918c For completeness fix review concerns about the performance of the StripComments function. Other small clean ups.
  • 2c52ac5 Fix some compiler warnings re:unused variables.
  • 5c7cfad Removed use shader_enabled flag. More tidy ups and renaming.
  • 0d44e49 Re-order code and make gcc happy.
  • 9181401 Fix another review issue.
  • 443ca16 Address more view comments: delete new lines in log messages, use implicit includes (yuk), adjust error message etc.
  • 84942a1 Fix missed review items more new lines and error things and re-use error codes.
  • d7b82fb Tidy up some shader logging loose ends.
  • 03ad4c7 Fix some overly complicated logic and make it clear when we have reverted back successfully to built-in shaders because of errors with external ones.
  • 46c3eb9 Small suggestions. Should be no functional change.
  • 75531a4 Fix some int to char conversion warnings.
  • dcd98fc Add SSAO shader based on AMD’s HDAO algorithm.
  • 5604bd8 Fix bug in file reading where caller will get junk if full read not satisfied.
  • 5f4a541 A bunch of by value to by const reference changes to help performance and be more idiomatic. NFC intended.
  • 9acc95f Fix bugs on /if command when used with string operators, or no ‘else’ command
  • 9b28400 Remove shader comment stripping.
  • 5650768 Remove comment stripping as no longer required. Remember to get latest shaders.cpp and /unvanquished/main/glsl folder when getting this commit.
  • 0fab68a Fix a regression I made where missing binary shader file causes an exception where it shouldn’t.
  • 34612f8 Fix syntax of prior commit and a few warnings.
  • 93fee30 A few more changes as discussed on irc.
  • d208ee0 Don’t error out if a shader binary can’t be loaded
  • 424a3fb Implement animations needed by the new barricade model.
  • 0a3ad89 Fix a few issues with the barricade.
  • eb54592 Stop openAL ‘No Error’ spam
  • 80cbaa8 Fix potential bug in zip file reading. If there’s an read error we can have valid data read to < length and we don't want to return random chunk.
  • 3aac187 Fix CMake GLEW finding routine
  • 2897cbd SSAO improvements.
  • 42d72fc Turn SSAO off by default.
  • 95db7f9 Add SSAO to options.
  • 0cd03af Some suggestions for String.h. Update a few member values and functions to const.
  • 33e239e Fix barricade model’s rotation.
  • c77f395 Make the client send the userinfo upon entering the game
  • 5b28a16 Version bump for Alpha 40

New in version Alpha 39.0 (May 10th, 2015)

  • 216d7a2 Remove the unused TWOSIDED compile macro.
  • 98ea7a9 Reset all vertex attributes on RE_Shutdown.
  • 05c32f4 Use Q_snprintf instead of snprintf because the latter doesn’t exist on windows
  • b74e9ec Make unvanquished compile with VS2015. Note SDL2 will need to be compiled with VS2015 too.
  • 6c445d3 Don’t include property type suffix in the value passed to sscanf as it can confuse it. Seems sensible anyway but makes VS2015 work.
  • fd9a63e Add a flag for when the process is terminating
  • 01fb67b Do not dispatch logs when the process is terminating
  • 0a8898c Fix VM compilation
  • 8ed6f59 Bind the new world VBO after R_CreateWorldVBO.
  • 0b61c25 Proper fix for 8ed6f598.
  • 4f7fb33 Fix deforms being applied to all following shaders.
  • 6a35b0f Reintroduce /me and /me_team, fixes #391
  • 241ff9e Set the number of bones in null_renderer, should fix #503
  • db9f9bb Fix wrong sorted aray order in 6a35b0f7
  • d35b42e Don’t print a warning if the default pak path doesn’t contain a pkg directory. Fixes #702
  • b908f6a Mark OSExit as NORETURN
  • e882322 Remove the qboolean enum
  • 8b3bc27 Simplify bool uses
  • 841fac3 Fix “Taking boolean from pointer ‘FS::PakInfo const *’ without a cast”
  • d8df70f Fix “Return type of function ‘trap_FS_Write’ declaration (void) differs from the return type of function definition (int)”
  • 67c97fe Mark Sys::Drop as noreturn
  • 11cad33 Fix “Returning ‘gentity_t *’ from a function returning ‘bool'”
  • ba78530 Remove redundant casts
  • 657e646 Replace NULL with nullptr in code
  • 62cab2d Replace NULL with nullptr in comments
  • 26fb278 Replace func(void) with func()
  • 53fe4d2 Fix “Variable ‘foundToken’ is reassigned a value before the old one has been used” in bg_voice.cpp Make trap_Parse_ReadToken return bool
  • ccfcb9d Fix “Parameter ‘define’ is passed by value. It could be passed as a (const) reference which is usually faster”
  • b7ccb02 Fix “The expression ‘enableNetworking’ is of type ‘bool’ and it is compared against an integer value”
  • e4a9d06 Fix “Same expression on both sides of ‘|'”
  • 2a57b98 Enable -Wextra and make the build pass with -Werror
  • 5546d24 Try ninja -j8
  • a82059b Suppress many instances of writable-strings
  • 7f51eac Add a missing override
  • c138957 Configure appveyor
  • 43324fc Fix MSVC C4805
  • 098a7bb Don’t print color strings if we are not on running a tty console
  • bff6225 Fix type of fields in unlockable_t.
  • d80a312 Reduce local compile verbosity to show only the warnings people actually care about
  • bbea53b Fix remaining writable strings warnings
  • 6c563be Fix remaining absolute value warnings
  • 55cd307 Remove unused warning suppressions
  • 0d5c425 Fix AppVeyor
  • cbd731f Improve build and launch instructions.
  • 46fa390 Fix VM compatibility broken in e882322
  • 32039c7 Pass index -1 for the global colorgrading configstring.
  • 6237280 Disable vsync by default, it causes performance issues for some people
  • d3beb7b Fix incorrect usage of memset found by GM2
  • ea1345d Replace some exceptions with error codes to help debug performance on MSVC
  • 81c87d1 Fix file error handling
  • b983c76 Update README to note that BUILD_GAME_NACL should be disabled when cross-compiling
  • 566a3e3 Automatically disable BUILD_GAME_NACL when cross-compiling. Fixes #713
  • ed8ca2c Generate GLSL for shaders with deforms.
  • a12c4ca Fix “too many dependent texture reads” error on mesa/r300g.
  • a503ca0 Fix #688.
  • 832cd81 Fix #686.
  • a614288 Fix games.log format breaking after 999:59 (issue #539).
  • 55b58ff Orient missiles along their actual velocity (fixes #586).
  • 82e0d17 Remove unnecessary draw command in tr_model.c
  • 36a07e0 Group project and source files for our Visual Studio friends
  • 88755cf Increase the number of reserved vertex uniforms to avoid software rendering on Mac
  • efcac1f Fix a couple MSVC warnings
  • b50ba9a Use a stringified deformVertexes shader to keep compatibility with old pk3s.
  • 0f1d7da Create script to stringify all shaders in the glsl directory.
  • 8b4f2c2 Only load RSA keys once during CL_Init
  • a114f8e Remove unnecessary dependencies from CMakeLists.txt
  • 3379a4e Clear deform shaders state to stop crashing on vid_restart
  • 9922b21 Only provide a UI for selecting supported resolutions
  • 7eb1292 Fix spectator spacing again
  • 9fb3085 Don’t draw numspawns if intermission has started
  • ed582ca Remove cvar attrib from the resolution dataselect. It is not used.
  • 2024c0f Remove comments from stringified shaders.
  • 351633b Store shaders as const char arrays.
  • 9dea2b8 Always show vote binds in the vote dialog
  • cd011ff No need to set pseudo class on element being deconstructed.
  • a3794f9 Make rocketChatField UCS2 aware.
  • d6e00c7 Fix order of functions in displaying translated spawn count
  • 9c9db73 Make the previous fix in the right place
  • f673ea9 Don’t use P_() because Travis complains. Expand it into multiple branches.
  • 6479f08 Nvm. Use P_() again and don’t hardcode the 1
  • 7790159 Fix MSVC warnings
  • f4aafe3 Stop all sounds when asked, fix #533
  • 181940f Revert “Fix VM compatibility broken in e882322″
  • a6226ad Make SendServerCommandMsg a SyncMessage because it can call back into the VM when a client is dropped.
  • 246394d Let instant building be enabled/disabled with a cvar (issue #718).
  • 8cd12b6 Use default deform for shaders with zero stages.

New in version Alpha 38.0 (April 6th, 2015)

  • 5e7447b Simplify beacon highlighting, fix BCT_HEALTH appearing on players.
  • 5c65f0b Add info about the highlighted beacon to HUD & various fixes.
  • 846cd4c Remove CG_FormatSI to fix QVM compilation.
  • 7a9c889 Continue beacon status displays. Still WIP.
  • f119501 Move highlighted beacon UI update to seperate function.
  • baaf858 Add beacon icon to info display.
  • d4afdc0 Fix Mac .app build scripts
  • 54b34da Archlinux: Update starters and config.
  • 062ae32 Simplify beacon highlighting even more.
  • ffb8b44 Archlinux: Don’t handle unv:// URLs in starter script.
  • 446d10d Refactor display of highlighted beacons.
  • f1259b2 Fix buildable tags disappearing when tagger leaves team.
  • a54d15b Disable occlusion effects for beacons for now.
  • f2d5b5d Snap tag beacon origin to exact player location if known.
  • 682a217 Display clamped beacons for enemy players.
  • 515d529 Remove manual tagging of enemy players, add human radar auto-tagging.
  • d4be9e0 Add alien sense using implicit beacons.
  • de14734 Remove old human radar and alien sense.
  • 80d8438 Properly detach alien sense beacons on death.
  • 5f04a4f Fix high CPU load caused by glFinish #359
  • 2395859 Less scoreboard flickering #371, better aligned layout
  • 268cd7b larger and scrollable map list with max-height, fix #667
  • 83cf04e sort maps by internal bsp name instead of display name (do not sort by color code) fix #670
  • b4744f8 Vertex shader refactoring.
  • ad9fb44 Fix passing deforms to shaders.
  • 6c43f6f Rework VBO creation to accept data in final form.
  • 1be0331 Do autosprite deforms in GLSL shaders.
  • a3bf25e Add new shader flag to turn on autosprite in RegisterShader.
  • 5975e11 Consider durability of affected units when calculating spiker attack scoring.
  • 3d113ea Diverse fixes for autosprite: fix alpha-testing, pass texcoords.
  • 55e479a Fix MSVC not properly zero-initializing values in the default constructor
  • faee5ba Use a C++11 braced initializer instead of a bracket initializer when zeroing a struct.
  • 33166e2 Fix sky box rendering.
  • de08217 Fixes for heat haze on particle shaders.
  • acaf611 Don’t allow dretches to bite turrets.
  • 0af55af Improve Spiker trigger conditition: Consider current health for friendly units.
  • 4ff7248 Add serialization support for vector
  • d579e95 Remove unused projectionShadow deform.
  • 8b4adf6 Fix cg destruction and init bug.
  • 9d57bab Add a GLSL implementation of DEFORM_NORMALS.
  • 92cab70 Remove unused things from tr_types.cpp
  • 866a9e5 Remove a bunch of unused renderer stuff
  • 242b9bc Update the number of uniforms used besides the bones matrices
  • c517ba0 Use a custom serialization for refSkeleton_t and refEntity_t
  • a7c3a83 Use ReadSize/WriteSize, thanks Amanieu!
  • 51435b9 Fix compilation of null_renderer.cpp
  • a0719f7 Validate number of bones for refSkeleton_t IPC
  • c77f998 Pass proper shader time to GLSL.
  • 0ace454 Make sure cm.entityString is null-terminated, see #649
  • abceb12 Remove stencil shader keyword
  • 3792f29 Remove unused warnings
  • 51e2c82 Remove support for shader guide that were unused
  • 1d4d340 Remove more unused shader stuff from the renderer
  • 9e62bf0 Fix last commit
  • 6dbb61d Reduce complexity of deform calculations.
  • d818c00 Make Logger::Do*Code templated to avoid a heavy std::function creation
  • e570876 Make vertex color available to deforms.
  • 7702b72 Add include dirs, make all includes use absolute paths
  • 1c23a95 Fix last commit commenting out the operator new
  • a03b297 Would that fix travis?
  • 429bb6e Fix Travis by adding a PPA for a more recent version of cmake
  • 23b29d7 Make momentum gained for kills depend linearly on player count.
  • 6568fab Custom deform for human buildings.
  • 8286050 Add warnings when files needed by NaCl are not found
  • a9c6f0b Add message id in SyncMessage vs Message error
  • 246a5fe Only open the log file after initialization has created the singleton socket
  • 35fc519 Properly reset the terminal after sending a command to an existing instance
  • b242134 Add a better check for the presence of a real terminal
  • 26c5ef2 Remove usage of Com_Printf and Com_Error in common code
  • 0afa5ed fix sensor_player entity, ref #663
  • ca8eff2 Change blendfunc add to blendfunc GL_SRC_ALPHA GL_ONE for particles.
  • 6d4cd0d Fix mass driver crash.
  • 30eaf8c Silence a warning from a typo.
  • d91bf57 Fix mass driver crash.
  • 1555181 Silence a warning from a typo.
  • 3466853 Fix shaders for pre OpenGL 2.1
  • 812b5c3 Fix TCGEN_ENVIRONMENT shader.
  • 67fe9f5 Make Sys_Milliseconds() and trap_Milliseconds()’s implementations match
  • c8d999f Roughly synchronize Sys_Milliseconds and trap_Milliseconds

New in version Alpha 37.0 (March 5th, 2015)

  • 46f6f11 Initial work on rewriting the sys_*.c code
  • 5b6ae42 Simplify sleep code
  • 93ebe4d Mark process as DPI-aware on Vista and above
  • 9c46d70 Some more work on Sys
  • 94a9f27 Split system code between common and framework
  • bbd2247 Move DynamicLib into common
  • 5525d24 Start using some of the new system code
  • e317cbe Compatibility with gcc 4.6
  • b0fd8ed Don’t include dlfcn.h in NaCl builds
  • 52d55be Fix gamelogic compilation
  • c7d99a6 Reset signal handlers when a signal is caught
  • b39c65a Start work on CGame NaCl
  • 3199321 Nuke lcc too
  • ce19958 Implement more initialization code, including a new URL-handling system
  • 021df60 More work on sys_rewrite
  • 06d1e35 Whitespace fixes and make (c)gvm a unique_ptr
  • ab037ac Remove the need for StaticInit and clean up CommonProxies.cpp includes
  • f1d205c Remove excessive pointers from GameVM
  • 3d1eef6 Remove excessive pointers from CGameVM
  • acee865 Add STATIC_INIT VMCalls back, they are needed for proper initialization
  • dff074f Move game traps that are common with cgame in common files
  • 8e34694 Active back cgame compilation (no syscalls implemented yet)
  • aaf0ab2 Remove cg_api.asm and cg_api.c
  • e9a50fe Remove the map loading hack in the game vm
  • 719e183 Purge all QVM-related code
  • 37d655a More work on sys_rewrite
  • 83bb31f Implement Misc cgame syscalls
  • 79101d2 Add Audio cgame syscalls
  • 6f7e336 Unify the parse syscalls
  • f1f2842 Rename all C files in cgame/* and shared/* to C++ files
  • aaeb548 Remove unused syscall S_ClearSounds, thanks ZTM
  • 190abbe Allow client and server to run concurrently on the same homepath
  • 60f3200 Remove unused renderer cgame syscalls
  • 71886a8 Implement renderer syscalls
  • 77c6380 Remove the rest of the unused cgame syscalls
  • a1758ad Implement all key cgame syscalls and a missing renderer one
  • f891efe Implement all LAN cgame syscalls
  • 93211f0 Remove unused LAN functions
  • 8f86c89 Fix whitespace
  • fc223c8 Brutally implement rocket cgame syscalls
  • c3036b5 Remove CGame QVM syscall stats
  • 970ffd2 Fake the completion callback syscalls
  • 0e17e03 Add the last VM->engine syscalls, implemented in the VM or in shared code
  • cd8d89c Implement the Engine->VM syscall handlers
  • b93384a Add back the rocket VM initialization
  • ce09a16 Fix some message definitions and make VMs exit cleanly
  • c39a484 Change CM_LoadMap to load the map data itself
  • d41f6d7 More small fixes, we can now see the map for a frame
  • 3cc52f4 Fix CG_Trace not handling NULL vectors
  • 66f119a Handle more arguments that can be null
  • 7256ac9 Improve the tracing of syscalls (to have start and end markers)
  • 8edbc5d Disable CG_TutorialText temporarily, see #448
  • 2c134da Remove uses of tokenized strings for syscall param passing
  • cd18f56 Add trap_LAN_ResetServerStatus to fix crashes
  • a3843ba Init and shutdown cgame VM Services at the same time as cgame
  • ba6299b Quickfix for a crash in BG_UnloadConfigs
  • 0e4a280 Replace SetClipRegion with a null argument to ResetClipRegion
  • 1cc241d Delete duplicate entries in the CMakeLists.txt
  • 74bbd73 Revert “Revert “Add a check to avoid sending sync messages while handling async messages””
  • f49ef0f Fix trap_Rocket_GetProperty
  • 96971d3 Fix #471, progressbars not working on nacl-cgame
  • e00f966 Do not remove /listCgameCmds when removing a cgame VM
  • 15b137e Fix compilation of the TTY client
  • 2b3d000 Fix MarkFragment trap call, partially fixes #474
  • c8ba1b8 Fix the MarkFragment syscall more, #474
  • df0eddb Fixes #474 by fixing AddPolysToScene
  • 3f14e66 #474 fix MarkFragments even MORE…
  • a952f9b Move Com_*Time to q_shared to remove 2 syscalls
  • 709a976 Remove unused demo getter syscalls
  • 2c15b70 Send glconfig on CG_Init instead of doing a syscall to get it
  • 28d37ab Remove the GetGameState syscall, refactor gamestate
  • d452100 Move the getting of client state from a syscall to rocket_frame
  • 7ab31ef Remove an unused member of snapshot_t
  • 93521a7 Remove trap_Log
  • 13aa830 Fix async in sync error when a VM calls Com_Error
  • aaced1d Improve DynamicLib::LoadSym interface a bit
  • b5abf28 Make daemon work out of the compile on mac
  • 30bb43a Fix some crashes on macosx
  • f0d5478 Fix compilation for VS
  • 08eab7e Initialize all fields of IPC::Channel in constructors
  • 5c86c93 Various improvements for sys_rewrite
  • 4a69ce0 Remove some dead ‘viewlog’ code
  • fbb8dce Some more minor changes
  • 5b8f1e6 More sys_rewrite stuff, including proper error handling for VMs
  • a14c832 Properly reset the internal handle in DynamicLib::Close
  • a34a08f Make snapshot_t contain server commands and use a vector for entities
  • 7216345 Remove SetClientLerpOrigin
  • 6d0f514 Remove usages of identClient keeping netcode compatibility
  • ee6a40d Try to make Travis happy
  • 660fbab Add NET_Init to Com_Init
  • 4e5b085 Fix typo in VirtualMachine.h comments
  • 2b44a37 Fix compilation >_>
  • 446c67a Fix last-minute error in a34a08f4fec4
  • 436c198 Ensure all fds in loadedPaks are closed on shutdown
  • 4c1d445 Fix compilation on Mac
  • ff3acca Initial work on removing the old sys_ code
  • b99a9e3 Reimplement is num lock down
  • 006a664 Replace missing sys_main/{os} functions
  • 005b0ec Remove sys_local.h (move the remaining functions in qcommon.h)
  • f18693f Remove Com_TouchMemory
  • d12b12d Remove unused SDLMain.h
  • f4ddd6b Fix TTY client compilation
  • c792f8d Revert “Revert overmind animation changes.”
  • 8c3a559 Add new overmind config files.
  • 0fa3b2b Revert changes to NORETURN
  • 5cf9eb4 Add a warning if the VM process did not exit cleanly
  • b0e6cda Reset the background color to default instead of black in con_tty, this fixes terminals with fancy backgrounds
  • c4800c6 Fix crash when calling CG_CapTrace with null bounds
  • d4307d1 Split IPC in several files
  • 6944b6d IPC::Desc -> IPC::FileDesc
  • 522e4f2 Split the messages of cg_api.h in cg_msgdef.h, same for g_api
  • 9391dc8 Fix compilation without PCH
  • 1033577 Serialize -> Utils
  • c5433e1 Comment parts of the IPC and Serialize code
  • eb6a83c Make spiker deal locational damage.
  • ca846f9 Add more randomization to spiker fire pattern and improve trigger condition.
  • 087d30f Rename namespace Utils to Util to match previous Util namespace
  • dd30643 Disable the curses console by default
  • b46f476 First implementation of IPC command buffers
  • 059c026 Remove the key mechanism from Channel
  • 0bdeb5b Fix memory leak. No need for dynamic allocation here.
  • 00caaf8 Try flushing the buffer after every syscall (they are all synchronous)
  • 41bfcfc Ensure command buffer flushes are in sync message handling
  • e40ee01 Fix windows build. Define _USE_MATH_DEFINES to get M_PI etc.
  • 12f44f0 Remove a stack of unused variables. No intended functional change.
  • 6593545 Remove exception name comments as requested to by reviewer for pull request.
  • 4311ad6 Increase spiker spike damage (20 → 30).
  • 7459740 Fix a few compilation errors on MSVC
  • 737efae Fix MSVC build
  • 4fa449f Fix Win32 build
  • a4d33da Implement circular shared mem buffer, compiles but might not work yet
  • 2ccccf6 Fix the first implementation of the circular command buffer
  • f622f72 Add srand to static cgame initialization, fixes #575
  • e4e8747 Remove unused member in Channel
  • c271b16 Fix co;pilation after the merge
  • 651c91f Fix an IPC bug caused by a buffer Flush doing sync in toplovel
  • d251cf1 Misc changes to CommandBuffer, some suggested by Amanieu
  • 28655ac Mark win32 binaries as large address aware
  • 0f2de16 Don’t use smart pointers in client_t
  • 21047ac Prevent sending sync messages in VM toplevel
  • 0584d09 Fix last commit (no sync in VM toplevel)
  • 209d8ca Set CMake Policy 26 to new
  • b827b72 Revert “Set CMake Policy 26 to new”
  • ed1ce79 Reduce DATA_OFFSET, reload writer data when finished in CommandBufferHost
  • 88d0838 Drop on incomplete command buffer writes
  • c07e10e Switch of warning for MSVC about truncated symbols.
  • 88751db Switch of warning for MSVC about use of open instead of _open. etc.
  • 93dceff Fix MSVC performance warnings
  • 5ee8e83 Remove some unneeded move statements. They might even hinder than help.
  • 19cc636 Fix hive sometimes attacking while OM is down.
  • 24f4dfb Refactor hive target selection.
  • f796178 On /devmap do not clear the hunk after starting cgame
  • 4d3e496 Fix #606
  • 6fd994b Fix null com_consoleLines crashing the StringRef constructor in Com_StartupVariable
  • a5bb31d Fix Command already registered spam
  • dbf7d4d Refactor target selection of turrets and Rockedpods
  • 8eb6fe4 Update external_deps
  • 75e6a78 Make build.sh work on mac with two new hacks
  • 66274e8 Newer NaCl sdk versions don’t put executables in bin64/ anymore
  • 9175cd6 Add a copy of BlendSkeleton on the VM side (uglily)
  • dae519e Fix warnings in CommandBuffer.cpp
  • 4b90e61 Some more doc for IPC, hopefully it will be useful to someone someday
  • ebb7012 Fix one reason for “invalid source” in issue #516
  • 27ce34f Fix command buffer, better logging
  • c070f95 Make the renderer call use the command buffer
  • 290d825 Optimize the binding getting syscall and re-enable the tutorial
  • 7e94483 Updated NaCl SDK prevents VM from creating shm, wors around this limitation
  • b60a3a2 Make the alignement of transform_t match between native and NaCl
  • 2335346 Add checks that the entire message is consumed in HandleMsg
  • 3c4e9e2 Avoid the use of sigwait because it interferes with gdb
  • 8a8114c Update the quit mechanism for VM type 4
  • 4a2935a Nerf firebomb, adjust human unlock thresholds.
  • 55b652b Escape text sent from a rocket chatfield
  • ac7c905 Ensure that we always blank the element if we return early.
  • 3265b37 Ensure that scoreboard shows at intermission. Disable +/-scores during intermission
  • b0b3426 Fix a bunch of warnings in the cgame
  • f384507 Fix compilation on Windows after nettle update
  • 5300122 Super ugly fix for nettle in non-win
  • 689b352 Detect the parameter type of nettle_random_func with templates
  • 3b7524c Make VMBase::Free free libpath nacl vms
  • bcf8107 Use physical keyboard layout instead of virtual for game controls
  • 04f7e8e Clean up vm.*.type values and native vm filenames
  • f4dbc7d adjust .gitignore
  • 65c7092 Fix compilation of Nettle version detection on Windows
  • f86fb4f Better error description for snapshotNum
  • fe50af5 Fix CMake warning
  • 7f2c27f Correct buffer size for formatted net address with port
  • 8386499 Force the command environment to be transient instead of stateful
  • ca5a57b Fix Exec printing execing … after sending the file to the command buffer
  • 8d518c2 Execute the command buffer on an rcon, fixes #598
  • 427ce7c Change -path to -pakpath and add path validation to the FS
  • a748f38 Rename sel_ldr to nacl_loader
  • 8937e6d Add some basic thread safety for the command system
  • 09883f9 Fix another cmake warning
  • 1565c21 Fix filesystem syscalls not passing file handles properly
  • a60f07e Avoid deadlock on exit on Windows due to CloseHandle blocking
  • 207e19c Fix compilation on Windows
  • dbac194 Don’t let nacl_loader create a console window
  • 51ee5f8 Enable the curses console by default for the windows server and tty client
  • ffa2121 Pass refEntity_t by rv-ref to HandleMsg, fixes compile for Win32
  • 710f10b Use M_PI_2 and M_PI_4 where applicable.
  • 3196474 Revert “Use physical keyboard layout instead of virtual for game controls”
  • 94c50c0 Clean up command line options, make -help useful
  • 9f066ee Make stdout/stderr visible on the parent process’s console on Windows
  • 224b5f9 Rename game to sgame
  • ef1d72b Add basic target tracking for the overmind eye.
  • 0b1524e adjust .gitignore
  • fa2afc1 No need to use floor to truncate alien evo value
  • ed48a17 Fix command escaping for rocket chatfields
  • 16731ab Remove the ability to run commands from a chat text field

New in version Alpha 36.0 (February 2nd, 2015)

  • Our latest alpha release is a big one! We have two new models, two mapping updates, gameplay progress, and plenty going on behind the scenes. First, let’s go over the new models. We’ve got the repeater, which means that of this release, all human building models are finished! As for the alien team, we have the spiker, a brand new defense structure that acts as a living proximity mine. For our maps, Antares has received a significant overhaul with a new detail pass, and Forlorn has seen another large graphical update, with both maps heading towards a stable state soon.
  • Gameplay has the spiker, as previously mentioned. We’ve also improved performance when facing rocket pods and turrets, as their targeting calculation has been refactored to be more efficient. Rocket pods now have a lock-on delay, their firing rate has been halved, and their damage has been increased by a third. Engine-side, we’ve been working on preparing NaCl for a tentative public release of the new VM system next month. We presently use NaCl server-side, but this will now run for clients too, completely replacing QVM with NaCl. The sys_rewrite branch has been merged into NaCl-cgame, and the new VM system is playable, but it needs some final tuning. You can expect a more detailed update on this soon!
  • Now, for the commits made over the course of this release cycle:
  • ca49aed Add spiker and placeholder spiker code
  • 3a3985c Fix spiker config files.
  • 62d1b7e Adjust spiker body, bounding box and creep sizes.
  • 560b40c WIP on the spiker.
  • beac6fe Add missing spiker.missile.cfg, update spiker shader name.
  • 3b3820c Use spike model for the spiker’s missile.
  • 7807154 Update changelog.
  • 5d62ba3 Use proper missile model for spiker.
  • 47f1d02 Update changelog.
  • d62a54d Allow missile impact PS to spawn in flight direction.
  • c696712 Split special casing in MissileImpact into seperate functions.
  • a36e72c Update packaging.
  • fb122dc download-pk3.sh –cdn ⇒ use cdn.unvanquished.net.
  • e6339b1 Avoid undefined behavior from dereferencing an invalid pointer
  • fd88764 Improve turret and rocketpod code; Give rocketpod a lock-on delay.
  • d15cbcb Half rocketpod fire rate, increase damage by a third.
  • 5753ad8 Remove temporary flag from g_debug* cvars.
  • d9701ae Remove everything related to hunkusage.dat
  • 7a79841 Implement new repeater model.
  • e11a5b2 Use vfork instead of fork to avoid potential out of memory errors
  • 5ad7609 debian: fix JPEG dependency by adding libjpeg-dev as preferred alternative.
  • 406f155 Option for specifying the path to the NaCl helper binaries.
  • d06d460 Remove the encryption of usercmd sent to the server
  • 9ffbdfe Don’t always show spiker debug output.
  • c78576e Use placeholder effects for the spiker.
  • 0555894 Adjsut spiker price, threshold and description.
  • 1143cde Fix socket handle getting overwritten with vfork
  • 909d5c5 Fix from Ensiform for event overflow during startup and loading
  • 8b46c65 Remove identClient from userCmd_t
  • 2194259 Arch Linux: Use server.lanOnly in server configuration.
  • 798acc7 Refactor missile PS/TS handling.
  • 90d554e Improve turret and rocket pod performance.
  • f864b5e Clean up NACL_RUNTIME_PATH and add a message to show which pk3 a VM is extracted from
  • 203bd2c Make spiker idle anim looped.
  • f80af98 Don’t clear keys upon changing UI focus. Also, change UI focus last.
  • a7a803f Change order of buy validation logic for weapons and upgrades
  • 51a5765 Set element to be empty instead of returning when returning clips if holding a ckit
  • 0dfccf5 Update librocket
  • 94d6cd9 Fix a few warnings
  • 438b50a Set overmind animations
  • 8b5cacc Make dedicated only server commands useable again.
  • acc664e Make OM anim loop
  • 5fe5c7b Revert overmind animation changes.
  • df666ab Only enter turret pre-blast state when about to blast.
  • fc7a576 Prevent map models from appearing at missile impact point.
  • f2cdc58 Small cleanups in server code
  • b7665b5 Remove remaining reference to vm_game
  • f937155 Blind fix for demos not loading paks
  • 608018e Fix pk3 loading in demos
  • 60de58e Only load extrapaks for demos
  • e3dcb6a Increase Bone limit to 256.
  • b637775 Fix typo in VirtualMachine.h
  • 3808960 Add kill message for the spiker
  • 716d93a Version bump to Alpha 36
  • 967c4fd Change the -> a in spiker kill message

New in version Alpha 35.1 (January 5th, 2015)

  • By accident we included an outdated client virtual machine file. If you have aready installed version 0.35.0, you can easily upgrade to 0.35.1 by placing unvanquished_0.35.1.pk3 in your installation’s pkg directory. It is also sufficient to auto-download this file from an official server once they are updated. (Note that servers generally should not offer base packages for download, since they are not compatible with outdated clients in general.) If you have not yet installed 0.35.0, you can also wait a few more hours until 0.35.1 is available for download on your platform. Sorry for the inconvenience!

New in version Alpha 35.0 (January 5th, 2015)

  • The star of this release is the rocket pod, which makes its debut as a major gameplay feature and our newest addition to the human base. It replaces the old tesla generator, and functions by firing long-ranged homing rockets that pack a serious punch. We also have new first-person claws for the marauder and mantis, based off their third-person models. This means that all of the slashing aliens now have the appropriate first-person animations, and we’ll think up a suitable effect for the biting aliens.
  • Our map Forlorn now has another monthly update, featuring some new lighting and textures, while we also have our first release of its associated texture set. This will be an added bonus for community mappers, as they originate from us and are appropriately licensed, in addition to looking great! It will also make updates to the map easier, as we don’t need to ship the whole texture set every time. There is also a new Parpax update, with a layout featuring new bases for both teams.
  • Code-side, we have numerous fixes to things, including better motion blur, deadlocks with Nvidia and Bumblebee, r_showLightGrid crashes, and delays on dedicated servers.
  • Here are all of the commits from this release cycle:
  • 549507a Download torrent file via SSL inside download-pk3-torrent.sh.
  • e90fae6 Remove usage of SYSTEMINFO for pmove cvars
  • 790f242 Fix the spam of NET_CompareAdr
  • 8fed63a Make sure all the bot detection uses SV_IsBot
  • 3bc882c Some more SV_IsBot fixes
  • 6533972 Fix clients connecting as bots (and related problems)
  • 1216a88 Do not send the renderer info to the server >_>
  • e726378 Simplify the bot client allocation logic
  • 08b12a1 Revert “Revert “Merge remote-tracking branch ‘origin/remove_sdl1_support'””
  • 8183532 Try to make travis use sdl2
  • 394337e Explain to travis it should say yes when adding a PPA
  • e2b931b Remove filename extensions from rcss images and explicitly state image-s and image-t for checkbox
  • a874d82 Fix delay on the dedicated server
  • 7eeb8e4 Fix commit removing SDL1, SDL2 was always true and removes the cls.glconfig.isfullscreen, thanks ZTM!
  • 2433590 Change vm.*.type to default to TYPE_NACL
  • 8ae07fd Fix buffer overflow in R_UploadImage
  • 6658232 Fix /delay’s help text
  • fc2cd9a Fix /exec with arguments for the file being execed
  • c5bb4b5 Fix the motion blur effect
  • 7de1372 Fix pitch of turret for new model. yaw still WIP
  • 96c7019 Allow buildable model configs to rotate the model, use this for the turret.
  • 6e04343 Use neutral pitch for turret in construction.
  • 8ab645a Fix bad rotation of preview buildables.
  • 31ef83f Add turret barrel rotation and muzzle flash.
  • f4af6ab Move turret brass ejection to the right place.
  • 13eef2c Don’t draw tracers when buildables shoot as they use their origin as muzzle point.
  • 516a96b Fix flickering of turret muzzle flash particle system.
  • ff9b80b Reintroduce tracers for buildables, draw them more precisely everywhere.
  • f6819ee Make tracers more visible.
  • 317523b Misc tracer improvments:
  • d01a814 Add documentation to explain the different VM types
  • bfcfe6c Update turret shader.
  • 9657b0e Don’t play a construct animation for the turret.
  • 8827100 Make turret death animation consider the current pitch.
  • 02d8481 Remove the tesla generator and add basic support for the rocket pod.
  • 261f4e8 Fix typos and explain NACL_LIBPATH, thanks ZTM, Viech and Amanieu!
  • d740d09 Demerge turret and rocketpod some more.
  • 1483b97 Split rocket pod and turret target comparators and improve both.
  • 454ab3b Don’t crash if an IQM animation has no bounds.
  • 01341af Another fix for animation without bounds.
  • cccc95b Make the rocket pod enter a safe mode when an enemy is very close.
  • f7c8990 Allow scaling and rotation of missile models; Use it for the rocket.
  • b1f914b Make rocket shader use transparency.
  • effba47 Add a trail system for the rocket.
  • b97620d Increase turret giveup on target time and add an assertion for it.
  • a2c7a06 Set default spectator color to white
  • 47cd07f Attempt to fix two issues that can break compilation.
  • ff4871f Fix rocket pod animation jumps when leaving safe mode.
  • 3957840 Add basic tracking to the rocket.
  • 202f9a1 Make sure the rocket pod doesn’t hurt friends.
  • 28bab03 Start balancing rocket pod and turret.
  • b524cd3 Only set IQM anim bounds/poses if they exist
  • a635993 Allow adding a muzzle PS to the rocket pod.
  • 70d03f6 Improve rocket pod target selection.
  • 3a492ec Remove some dead ‘viewlog’ code
  • cfe4eef Refactor buildable animation handling.
  • 3c53699 Make the rocket pod shutters functional.
  • 1b726bd Force the client to always have com_dedicated 0
  • 996b54b Remove “inline” directive that can prevent compilation.
  • fbb084f Buildable animation coins.
  • e088dca Fix rocket pod reacting to close spectators.
  • f3f00d8 Fix fbb084f breaking the medistation animation.
  • 695fd97 Allow buildables to be rotated along all axis, similiar to missiles.
  • c2ccbab Lots of small changes to remove com_dedicated, it is now server.lanOnly
  • c776adb Fix a crash at startup with some compilers in Release mode
  • f9c6d54 Delete Fences after they have been waited for.
  • 2b615ff Use a preallocated ent structure to avoid alignment issues on QVM.
  • 04ef970 Make lcc report aligned structs on the stack.
  • da5d90d Make all aligned structs used by cgame static so lcc doesn’t mess them up.
  • b243f8d Split static refEntity_t from 2b615ff by function.
  • 7958985 Fix SIGSEGV on client disconnect before their building finishes construction.
  • 7cf3940 Make daemon work out of the compile on mac
  • c6e5c42 Fix r_showLightGrid crashing
  • bd49647 Copy all runtime dependencies into the build directory
  • dc8588f Add some comments to explain the ring buffer mechanism.
  • e1c84d1 Allow tagging of buildables in construction and confirm their death earlier.
  • 191e3fd Fix and add filter support to /shaderlist
  • 890ca58 Update weapon skeleton bounds when rotating
  • 9b6c2d7 Update the skeleton bounds when building the skeleton for an iqm model
  • 1d10a95 Show votes above the tutorial

New in version Alpha 34.0 (December 8th, 2014)

  • This release mainly contains bug-fixes and code cleanups. There has been art progress as well but it came late in the alpha cycle and the integration of the assets wasn't perfect so we did not merge them. If you want to be kept up to date with our art progress, follow @UNVofficial where we regularly post progress on the models and animations. Thanks to the bug fixing, in this release you should hopefully not see the dreaded CM_Inline model error, doors disappearing on Windows, and errors when running demos.
  • Under the hood:
  • We have also been working on our longer-term project of porting the gamelogic to using PNaCl instead of QVMs. The server side gamelogic had already been ported so we focused on the client side part. It now compiles and runs on all operating systems and we have reached correctness of the first direct translation from QVM to NaCl. However, as was expected, there was a performance hit as we need to copy big data structures (up to 100KB for snapshot_t) in a socket to communicate them, so we are now looking at improving the performance by removing synchronization points between the engine and the gamelogic, optimizing the size of the data sent and introducing a shared memory command buffer. At the same time we have started porting all the librocket code in the gamelogic, where it belonged in the first place except QVM did not allow C++, this will avoid a lot of hacks that were used to populate the librocket elements with gamelogic data. If you want to see the progress on these you can look at the nacl-cgame/main and nacl-cgame/librocket branches...
  • 4682256 Revert "Increase particle system limits." This prevents the game from starting on Windows.
  • 69a592e Turn DropClientMsg into a SyncMessage because it will call back into the VM
  • 4492970 Version bump to Alpha 33.1
  • 31b0574 Revert "Turn DropClientMsg into a SyncMessage because it will call back into the VM"
  • 79d35f6 Revert "Revert "Turn DropClientMsg into a SyncMessage because it will call back into the VM""
  • 6544a6b Small improvements to the /play[Sound|Music] commands
  • b2c41b8 Revert "Stop using entityState_t.solid for transmitting bboxes over the"
  • b644251 Revert "Fix 615c3c3."
  • cda263d Remove stereo support
  • 34d5127 Remove r_HeatHazeFix that noone uses anyway
  • 4518c89 Remove light/entity/interaction occlusion culling
  • 012e689 GLSL function declarations should be after the compile macros
  • 4471423 Remove CVAR_ARCHIVE cgame variables
  • 74b80c1 Load the map when playing a demo
  • 899a294 Add support for the "colorGrade" world spawn key Fixes #473
  • d8529f8 Figured out the difference between SERVERINFO and SYSTEMINFO
  • 737427a Remove some redundancy and reorder SV_DropClient
  • 46054c6 Remove arg of BotAllocateClient and introduce SV_IsBot
  • 307c410 Remove unused declaration and vars
  • 831ad05 Fix a copy paste error
  • 5c7f5ca Fix download-pk3.sh for BSD md5sum
  • 47ad268 Fix last download-pk3.sh patch for with a space
  • cb47910 Remove SDL1 support
  • f96c02c Fix UI lags
  • e343532 Version bump to Alpha 34
  • 46b938d Remove warning for when I->oav is NaN
  • 9dacad1 Update travis to use SDL2
  • 1fae126 Revert "Merge remote-tracking branch 'origin/remove_sdl1_support'"
  • fc1cedb Revert "Update travis to use SDL2"

New in version Alpha 33.0 (November 3rd, 2014)

  • 7c2917c Update changelog.
  • deaca2b Update changelog.
  • 5633b82 Increase particle system limits.
  • d0d8663 Add cg_spawnEffects to disable spawn colorgrading since OSX doesn't like it
  • 4deff12 Fix error message
  • 6e75400 Move build timer under momentum bar Fixes #455
  • 06baab5 Revert "Add a check to avoid sending sync messages while handling async messages"
  • aa452fc Clear the tutorial text when the cvar is disabled Fixes #457
  • 5e8ab1e Replace std::map with std::unordered_map in PropertyMap
  • 96e94a5 Restore previous weapon HUD upon vid_restart
  • 706a0b2 Adding /playSound /playMusic /stopMusic command
  • 5a219bc Fix id of the 'Resume Action' button Fixes #464
  • a7e1c9b Remove feature test macros from qcommon.h
  • 2711497 Detect a missing opusfile at configure time. Fixes #467.
  • 366e8d0 Implement soft particle shader.
  • 37655d9 Add depthFade to the acid tube acid shader
  • 5607dbb Attempt to mitigate #409. Add logging for when it does happen
  • 89dba82 Orient sprites toward view center.
  • dde6031 Add depthFade to the booster spores shader.
  • 786e8c4 Avoid division by zero in Tess_SurfaceSprite.
  • 1c5e599 Name the magic number in Tess_SurfaceSprite.
  • 7569c59 Attempt to fix interpolation of fadeDepth.

New in version Alpha 32.0 (October 6th, 2014)

  • Add missing Tess_MapVBOs calls to DebugUtils
  • Use persistent buffer mapping for dynamic buffer objects.
  • Pass a dummy color attribute to the lightmapping shader.
  • Add files from new assets
  • Only set the HUD on the initial snapshot
  • Always cull using the surface's AABB in R_CullSurface
  • Don't needlessly frustum cull in R_CullSurface
  • Optimize R_SortDrawSurfs
  • Call Tess_MapVBOs when rendering the sky
  • Make the parameters to BoxOnPlaneSide const
  • Ignore mouse up events without a mouse down event Fixes #447
  • Delete the old UI vm code
  • Allow disabling of buffer object extensions
  • Fix NULL dereference crash
  • Only drop the mouseup without mousedown event if the key is mouse1
  • Remove USE_DEFORM_VERTEXES macro.
  • Remove USE_EYE_OUTSIDE macro.
  • Add cvar to disable GL_ARB_sync.
  • Fix building on old GLEW.
  • Fix inverted if condition.
  • Remove useless extern "C"
  • Add a check to avoid sending sync messages while handling async messages
  • Remove USE_FRUSTUM_CULLING macro.
  • Remove BRIGHTPASS_FILTER macro.
  • Remove USE_GBUFFER macro.
  • Refactor vertex deformation code.
  • Consistent alien buy menu colors.
  • Consistent human buy menu colors.
  • Let's do the same to build menus.
  • Rename 'rifle' to 'SMG' in the UI only.
  • Add mine rate back to builder HUD.
  • Small changes to make the default UI use American English spelling. Also, small phrasing tweaks.
  • Tweak to the resource rate text.
  • Let's explain spawning choices.
  • Undo American -> Britsh changes for now.
  • For some reason, this fixes mantis corpse
  • Make update-version-number.sh update menu file versions too
  • Merge all available bounding boxes for IQM culling.
  • Work around '#directive in the middle of a shader' error on Mesa

New in version Alpha 31.0 (September 8th, 2014)

  • 1b54795 Add more variants of G_LineOfSight, modify the semantics a bit.
  • b0df029 Increase alien teammate heal range and apply a 4× modifier for three or more aliens.
  • 28d6b1a Move build point and mining related functions to new file g_buildpoints.cpp.
  • 5b5c456 Tentative approach to have RGS store a fraction of the team's build point pool.
  • 584e25b Remove leftover debug output.
  • 319d81a Fix minimum build point generation being added twice to the account of mined build points.
  • 605d624 Refactor g_buildpoints.cpp a bit.
  • ecb5a58 Add current mine rate and stored build points to buildable status displays.
  • 17b1c6c Store remaining BP in the main structure. Only lose a fraction if a BP storage gets destroyed.
  • 9c99291 Don't add or remove momentum when the main structure gets built or deconstructed.
  • 890cd96 Reward momentum to enemy attackers if a hurt structure gets deconstructed.
  • 144d5a9 Rename g_confidence.cpp to g_momentum.cpp.
  • 9aa01b6 Fix build.
  • a0f7327 Fix momentum reward size for killing players.
  • 528e3a4 Buildables don't heal if they're not powered.
  • de78c1a UI Replace references to deleted circle assets
  • 5c0eeb9 Remove obselete QVMs from gitignore
  • 5b05927 Use NOEXCEPT instead of noexcept to fix VS build
  • 8b15c28 Fix stack smashing in CopyVertexData
  • 00f5441 Temporarily remove asserts that crash on the ckit model because of degenerate triangles
  • 6a89697 Initialize empty infostring in CG_Rocjet_BuildServerInfo
  • 36d59a8 Fix scaling of bone-less models with r_vboVertexskinning 0.
  • 9a23381 Force lookup of master server address on net_restart.
  • 4ce6eab Fix an incorrect vec4 copy (should be vec3).
  • b26ffc7 Fix beacon highlighting.
  • 8c9623b Add unlocked-marker-color and locked-marker-color to allow controlling the color of the unlock markers on the momentum bar
  • 724bd64 Clean up of
  • 3766ee7 Add buildable costs to both teams' circlemenus
  • dca0919 Terminology: "forgiving vsync" -> "flexible"
  • 0ad9bd5 Move the handling of sv_cheats to common.cpp
  • da6528e Fix the client resetting sv_cheats too eagerly when starting a local server
  • bbbf6da Fix the VM not having the right value for g_cheats.
  • 18c7d57 Update librocket
  • df3b84b Slight cleanup of CL_GetServerCommand
  • 9b84285 Command.cpp no longer depends on framework files
  • 77745be Explicitly load fonts for librocket
  • 54dc6d5 Style the armoury weapon menu like the weapon menu
  • 22fd709 Get rid of Cbuf_ExecuteText
  • 4f5b10e Remove other framework includes in common
  • e583ab8 Add Logger::Do(Debug|Notice|Warn)Code
  • 133e0d7 Fix emoticon size on loading screen
  • 961076f Simplify cg_beacons.c.
  • 0ac406b Remove unneeded members of bspNode_t
  • 0d96fc0 Remove unnecessary spans from Rocket_QuakeToRML output
  • 621aa75 Fixup and enable light scissor tests
  • 801d78c Merge multidraws when possible
  • 74c1f3c Improve world vbo surface order
  • dca6da9 Remove r_dynamicBspOcclusionCulling support
  • f2804aa Reduce the size of bspNode_t
  • 9904907 Remove r_mergeMultidraws cvar
  • 0eab9f1 Fix crash
  • 512c091 Remove the _#x# suffix from emoticons
  • 398dcd8 Add sorting by server name, player count, and map
  • 7f4d7ae Fix OB1 error in the consoleTextElement that prevented text with the timestamp from appearing Fixes #346
  • 375996f Add build timers to alien and human builder HUDs
  • fec9ebb Fix a typo in light direction reconstruction.
  • eabb0cd Death message grammar fixes.
  • 1bb8350 Here, have some more death messages.
  • 737bd0d Last of death messages, for now.
  • 5ea15a8 If friendly fire is disabled, don't prevent the egg from killing friendly buildables in its way.
  • 81e33fd Move Vertex and Index data into aligned arrays.
  • c6c6b69 Delay mipmap computation of cubemaps until the texture is complete.
  • 16b8cd9 Use unsynchronized glMapBufferRange for VBO upload if possible.
  • 50efef8 Avoid glVertexAttribPointer calls during world rendering.
  • 7989221 Stop RocketCvarInlineElement from updating every frame
  • c103d28 Fix RocketConsoleTextElement OOB access
  • 29d2345 Fix off by one error in RocketConsoleTextElement
  • c64cd89 Cleanup rocketProgressBar slightly
  • b53de31 Add USER_ARCHIVE flag to cvars set by the UI so they save
  • c76eda1 Set openal current device so the dataselect can select it
  • 4efac03 Add trap_Cvar_AddFlags
  • 9957243 Add CVAR_ARCHIVE to audio.al.device when set via the UI
  • 8c67e75 Start loaded HUD units hidden
  • 1235443 Resize alien health and poison progressbar images to remove alpha Fixes #420
  • cdcd525 Remove tag sounds and tag score indicator.
  • 0b3f79c Fix highlighting, add back BCT_HEALTH and BCT_AMMO, make beacons more opaque when fading in.
  • 58982b0 Remove unimplemented stuff from tr_types.h
  • aca2872 Remove unused parameter from R_CullSurface
  • a66b6bb Remove R_AddBrushModelSurface
  • 565bd57 Remove unused patch culling stats
  • f6dd09f Remove double setting of vertex attrib pointers and improve Scissor.
  • a7ede0b Default to no knockback for all damage; Add the doKnockback missile config option.
  • 40f1980 Fix GLimp_DebugCallback to work with different versions of GLEW
  • cf5fae4 Remove unneeded call of va() in Tess_UpdateVBOs.
  • ca159a2 Fix grenade and other missiles scaling.
  • 69bc3a1 Selection box description changes.
  • 5e33ec2 Download text change.
  • 458cfd2 Let the base clustering code handle tag beacons instead of structures.
  • 551d626 Cleanup CG_RunBeacon a bit.
  • 65bde36 Make enemy structure tags permanent.
  • 3e6a79d Defer removal of enemy structure tags until the structure's death was confirmed.
  • b0e46c4 Let's not translate IRC error messages.
  • 727a64b Don't need to translate these IP messages.
  • c0ce6ee Why translate cvar messages?
  • a36ec3a Removed cl_parse translations
  • 1e7004c Removed the rest of cl_irc translations.
  • a8d0795 Removed cl_keys translations.
  • 6fbea99 Removed cl_main translations.
  • 1b56168 Let's not translate sv_client.
  • 70e5ea2 Let's not translate sv_main.
  • 0b37a58 Let's not translate sv_ccmds.
  • d6052fe Misc server translation removal.
  • 2028938 BaseCommands translation removal.
  • 725ab52 Removed translation from common.cpp.
  • f147af8 Removed translation from msg.cpp.
  • a9cca39 Removed translation from files.cpp.
  • c695956 Untranslate the rest of qcommon.
  • 0530230 Rest of CvarSystem.
  • b274063 Fixed line in translation.cpp.
  • b6fa5e9 Removed translations from audio.
  • ba1b1e3 Remainder of src/engine translation scrubbing.
  • 615c3c3 Stop using entityState_t.solid for transmitting bboxes over the network.
  • 920d466 Rename Lore to Help
  • 1e1171b Fix 615c3c3.
  • b858247 Use static VBOs where possible.
  • 0eb7de8 Add guarding #ifdefs around GLEW_ARB_buffer_strorage
  • 0233a2a Invalidate tess.surfaceShader after scissor is updated.
  • 103ccbf Clean up rocketDataSource.h
  • fbce5c9 Fix spacing on scoreboard Fixes: #428
  • bbfe283 Fix ping on scoreboard Fixes: #429
  • 4e7e7aa Set size of emoticons everywhere to 1.1em so they appear properly sized Fixes: #431
  • 8425dd8 Clear all key states when switching to UI focus Fixes: #367
  • 9038e4b Make scoreboard show up instantly, even if it is wrong briefly
  • b9c9802 Add a trap call to load map metadata + refactor code for this change - All maps must keep their levelshots and arena files in a meta/ folder at the root of the pk3/pk3dir - datasource levelshot and maploading levelshot split off into different elements - Only the map you are playing is fully loaded now.
  • 89067e0 Remove invalid comment
  • 8ec3022 Fix armoury bounding box/size mismatch.
  • ab0df56 Load arenafiles from meta/mapname/mapname.arena Add trap_GetFileListRecursive to accomplish this
  • 0bc1513 Always load DEPS when loading a pak with a prefix
  • 8ff8680 only load hud/menu stuff from the ui/ prefix
  • c69824a Check for tess.indexes == NULL in RB_StretchPic and friends.
  • 170cd1a Send full list of commands to the client upon pubkey authentication and remove listrotation and listmaps from admin command list /listrotation didn't work because someone added it to the admin command list with no function so it was always handled by the admin list instead of the command list in g_cmds.cpp. Fixes #433
  • af2adf6 Fix typo in registering a rocket property Fixes #430
  • fcb6a06 When restarting the UI in CL_Disconnect, shutdown the entire cgame instead of just rocket Fixes #438
  • 30eb458 Fix typo in createserver menu
  • adf7293 Protect failed to load animation warning with a debug cvar This warnings are only useful to developers and are annoying. In the future, when we have per subsystem logging, this cvar can be replaced.
  • b932e65 Add mantis charge cooldown progressbar to hud
  • a8322dd Version bumb to 0.31.0
  • ff90986 bump version in the main menu

New in version Alpha 30.0 (August 5th, 2014)

  • New armory:
  • The new armory model is now in this release. As you can probably tell, it looks absolutely nothing like the old one, and presents a more circular design. It's taller than the previous armory, and you'll need to be a bit more creative if you intend to camp on top of it. We are open to suggestions as to what to display on the screens that you can see in the shot.
  • New hive:
  • Everyone's favorite late-game alien defense structure now has a new model, too. The model lies closer to the ground and has a face to ensure that you will feel guilty when firing upon it. For the moment it still fires a swarm of buzzing things, but in the near future it will fire off individual flies.
  • Beacons:
  • We now have a cool new beacon system that will lay the foundations for many future changes, but they are already usable as-is. It is now possible to mark things with a variety of beacons visible to teammates, including attack, defend, pointer, repair, and time beacons. They are also visible on the minimap. We tried our best to make them unobtrusive, and in the future, we will use the system for team radar. Give us feedback!
  • Vertex data optimization:
  • For this release we've merged in our 'vertexpack' branch, which adds some efficiency to our renderer in the form of more efficient vertex attributes. This should result in less GPU memory usage per model, and depending on the graphics card in question, faster vertex shader invocation should result in some users noticing a degree of performance increase. We will have an article soon on the more technical aspects of it, as well as future plans regarding it.
  • Weapon inertia:
  • As part of what will be a series of changes in making the first-person weapons behave more realistically, human weapons now all have inertia behind them. This means that they will now lag slightly when following your motions,
  • Bug fixes:
  • We spent a lot of time going over the new libRocket interface and fixing things, so it should be a lot better than it was on the debut last month. For instance, we've reorganized many things in the interface, including many small things like adding a new team selection box. We also fixed long-standing issues like the weirdness with first-person models while spectating, assorted console strangeness, and the abundance of dynamic light created by marauders for no reason.

New in version Alpha 29.0 (July 8th, 2014)

  • libRocket:
  • We've finally added our new UI system based off libRocket. The effort has spanned many months of design and work, and we are pleased to have finally merged it into the master branch. Gone is the old clunky interface with its awkward design, now to be replaced with a modern interface of our own creation. Considering we are still in alpha, you may expect some weirdness here and there, but as players you are the eyes of our project, and you will be valuable in spotting glaring inconsistencies and bugs for us to fix. Please report any and all strangeness you find on our forums, IRC channel, or GitHub bug tracker.
  • Here are a few things to keep in mind:
  • You no longer select items, freeing the mouse wheel for other binds.
  • There is now a default grenade bind, assigned to the 'g' key.
  • Making new HUDs is a different process, which will be explained soon.
  • Our menus have been greatly improved, both in and out of the game. Take a look at the options menu for instance, or the server listing. You can now easily start a local server without needing to bother with console, and you can even add bots to it, as long as the map has navmeshes included. For both teams, there is now a circle menu that will allow you to purchase upgrades and other things much more efficiently than before, and all items have clear explanations regarding what they do, hopefully leaving the game more comprehensible for new players.
  • The addition of the new libRocket interface brings us closer to our long-awaited beta, and once we've ironed out most of the bugs by next release, you can expect to hear about the next big thing we'll be up to.
  • A new map:
  • Or rather, a classic one in the process of being upgraded for our engine. We now have a testing version of a retextured Station15, and the map will be available for you to play around with and provide much-desired feedback on. Considering that it is now our eighth map, and we have fulfilled our beta goal of at least six maps, we have made the decision to drop all of the old Tremulous maps from our default set. This leaves us shipping only our own maps, but you can still play the old Tremulous maps on your own servers as long as they are modified to work with our new filesystem.
  • Other changes:
  • A lot of other things went on this month for the game, although they've been dwarfed by libRocket. The human soldier now has cleaner armor textures, and the armor set has been modified so that the "unarmored" human is wearing a vest instead of charging into aliens in nothing more than chainmail pajamas. You can also expect the usual lot of bug fixes, of which there are too many to summarize here but can be viewed on our GitHub page.

New in version Alpha 28.0 (June 2nd, 2014)

  • Maps and models:
  • Two of our maps have received updates. Viech has made a few adjustments to Parpax – some which you'll notice quite quickly are around the humans' front entrance – and one old Tremulous map has become an Unvanquished map. Supertanker has done a retexturing job on Spacetracks (and there may be one or two layout tweaks too).
  • The drill and the jetpack have seen a few fixes – there were a few problems in the initial model exports. Little things like sharp seams being lost.
  • Gameplay changes:
  • Turrets now cost 10 build points and have increased health (250hp) ‒ but are now susceptible to dretch damage. Their firing pattern is once more continuous, and they'll continue to fire so long as there's a line of sight to the target. Armouries now cost 8bp each.
  • Alien health regeneration is tweaked: you get less for being in base and more for being on creep or close to a team-mate. It's no longer possible to switch between higher alien classes which have the same cost.
  • Radar and advanced marauders are now available earlier, and the cost of a grenade is reduced to 250 credits. Finally, fire spread is a bit less aggressive.
  • Build changes:
  • We now use header compilation, which provides a significant reduction in build time. There's been a lot of small fixes and some clean-up of dead code. Compatibility should be improved a bit too – unnecessary checks for unused GL extensions have been removed.

New in version Alpha 27.0 (May 5th, 2014)

  • Shared texture packages:
  • They have arrived! Alpha 27 ships a total of seven compressed texture sets that are ready for mappers to use.
  • As the name suggests, the textures are shared among the maps, without one map depending on the other. This alone would already reduce the total download size of an Unvanquished installation as maps don't need to ship duplicates of these textures but the biggest improvment is in the compression itself. With regards to file size, the compressed packages are much smaller than the zip-compressed source format sets. While the latter are 335 MB total, the compressed sets total up to 115 MB, not much more than a third.
  • The second big advantage of the compression is in the map load time. We spent a lot of time during the map load process decoding the different texture formats. This part is now almost completely gone since the new format can be loaded directly onto the GPU. Reduced memory usage might be a side effect that was also observed when we compressed the game's base assets.
  • Performance aside, I hope that mappers will have a quicker start given that they don't need to download and cleanup the individual texture sets or write shaders and readme file entries for them. Last but not least, I have found that compressed textures unexpectedly look quite a bit better since the effect of normal mapping is more strongly defined.
  • New common shader set:
  • Technically just another texture set, this package replaces the old common shaders that may have been in fluctuation before some of our mappers were born. A lot of cleanup and bug-fixing work has been done and, if you are a level designer, you might also enjoy a fresh set of radiant preview images for caulk, clip and friends.
  • Gamma reset:
  • We have been using a default gamma value of 1.3 so far. This was a very bad decision because, obviously, mappers didn't want their maps to look washed out and thus adjusted to the new setting, not only making it useless in the first place but also reducing the resolution of the overall brightness distribution as well as the player's clearance for further gamma adjustments (artifacts show up sooner). We corrected this with the release of Alpha 27 by resetting the default value of r_gamma to 1.0. In addition, we also reset r_specularScale to 1.0. This means that all our maps had to be recompiled with new settings. However, we didn't touch placeholder maps inherited from Tremulous yet and some of the old maps might appear too dark as a result.
  • Perseus:
  • The prison complex found a layout update in addition to the switch to texture packages. Most notably, a new potential base location was added right behind the humans' default base and the alien base doesn't suffer from the vent access any more. I'm looking forward to testing the new layout in the next wave of public development games (each Sunday, 20:00 UTC)!
  • Plat23:
  • Platform 23 uses texture packages, has improved visually and features a small new area in the middle of the tunnel, which hopefully adds as much gameplay depth as the bunker below the platform. The map is also pending excessive testing during the dev matches.
  • Other maps:
  • While Parpax and Yocto have been put through the whole upgrade process, Chasm was recompiled to match the new brightness settings and will make use of the texture packages in a later release while Thunder has yet to be recompiled. However, most of our maps, and the Tremulous maps which we use, use the new texture format.

New in version Alpha 26.0 (April 8th, 2014)

  • Gameplay:
  • The battery pack has been discharged and sent for recycling, and weapon magazine sizes have been adjusted to compensate. The radar item now uses the backpack slot (which means that, once again, it conflicts with the battlesuit – you can't have both). The jetpack can be activated when falling after a jump. Also, the ignition cost is halved. Turrets will prefer targets which require less turning time for aiming. Deconstruction of buildings has been streamlined. Telenodes no longer require power.
  • Dretch and mantis health are reduced to 30hp and 75hp respectively, and mantises must wait longer between pounces. The booster now emits a spore cloud when healing aliens.
  • Vsays are now local (map area) by default.
  • HUD changes:
  • Kill assists by players are now shown for kills by players or buildings, so long as the assistant did enough damage. Team indicators are also shown. (Right now, these are inconsistent: we still use [H] and [A] elsewhere.)
  • ●King Slayer was blasted by ●ultran00b; ●Dr Fail assisted
  • You can use a style which uses icons representing the kill method (well, mostly – we need some extra icons) with /set cg_emoticonsInMessages 1 or go back to the verbose style with /set cg_emoticonsInMessages 1. (You may also notice that the text is a little smaller.)
  • The scores display now uses the advanced alien class icons, matching the momentum bar usage.
  • Builders now see, on the building status indicators, a mark indicating the amount of power required by that building.
  • Rendering and graphics:
  • We have improved textures for the dretch, trapper and acid tube, and improved textures and model for the drill.
  • Leaf surface merging (map render optimisation) and VBO vertex deformation are now enabled by default. These result in, respectively, more efficient rendering and more efficient handling of animated models. Also, IQM culling is improved a little and trilinear filtering is enabled by default.
  • There are some lighting improvements: the light grid interpolation has been adjusted a bit, and there are also some changes to avoid darkening of buildings and player models near walls. Smooth alpha blending and light vector scaling now work properly.
  • Bug fixes:
  • We've found and fixed the cause of the ‘stuck key’ bug: press and release a key, to which some command such as+leftwas bound, with the space of one local frame and the release would be mis-handled. Also fixed are some bugs related to loading of maps, re-initialisation, executable pathname(!) and TTY console input. modcase console variable interpolation is re-enabled, and map and devmap command completion (layout name lookup) is fixed.

New in version Alpha 25.0 (March 10th, 2014)

  • New booster! New drill! Improved tyrant:
  • We've also started actually using IQM for models.
  • One renderer to draw them all:
  • We've removed the old OpenGL 1 renderer. This leaves the renderer formerly known as GL3 and effectively raises the minimum requirement to OpenGL 2.1. There's also been a fix to some matrix maths which means that tone mapping now works properly – not that you'll have noticed, though, since this was one problem which was in the way of us using DXTn etc.
  • If you're using slower hardware and you were using the OpenGL 1 renderer, you may need to play with the graphics settings. In particular, that “Dlights, no fx” video quality preset which we added last month.
  • Light relief;
  • That lighting bug which affects some Tremulous maps was fixed a few weeks ago. No more green overminds in Nano!
  • Gamma correction is done in shaders now, so everybody gets to play with it. And we've played with the player state colour grading effects: no more fading or colouring for low health or tyrant charge.
  • Gameplay:
  • Basilisks and advanced dretches are gone. Instead, we have the mantis: it looks like a basilisk, it can pounce but it doesn't grab and it doesn't have a healing aura, or at least less of one. Its claws cause temporary slowing and will drain stamina.
  • Turret firing has been played with – damage done is affected by distance, and it's bursty. We've experimented with dretch health and found that 35 seems to work well given the turret changes and various other factors.
  • Jetpacks are now useable even without enough stamina to jump. We've fixed a problem with the game thinking that you've landed due to having touched ground by checking for upward acceleration. Ignition cost is reduced.
  • Builders can build again without waiting for building completion, but some waiting is still needed (it's currently set at 60% completion).
  • Miscellaneous:
  • Writing of configuration files now goes via temporary files. This means that if there should be a problem when writing (partition full, for example), the old version will remain intact. The file which contains your identification details is private and, on Unix-type systems, is now created with appropriate permissions.

New in version Alpha 24.0 (February 4th, 2014)

  • New filesystem code:
  • This got a complete overhaul. It's now cleaner and it handles files much more strictly. See ”Big changes to the filesystem” for more info. Basically, the files have been re-arranged somewhat and are stored in a different directory; profiles are no more; there are new naming schemes for .pk3 contents; and we have .pk3 dependencies.
  • Things may be a bit broken as a result. All being well, any such breakage will be fixed over the next month or two.
  • Those changes mean that this is a good time to do a .pk3 clean-up and merge. We're throwing out a lot of old, unused resources. Consequently, plenty to download this month – and there'll be more cleanup once we've got the remaining problems with pre-compressed textures (DXTn and the like, so that we can avoid having to decompress them for sending to the GPU) sorted out.
  • You're likely to need to copy some files from the old location to the new one – those of you who use the Unvanquished packages for Debian or Ubuntu should find that their identification and key bindings are retained (if not, it just means that the migration script saw something already there) – and, unless you were using the defaults, you'll need to check your settings.
  • Gameplay changes:
  • If you're using the armoury via the UI, as new players will, you'll see some improvements. Buy an item, and all conflicting items will be sold – so switching weapons is now a lot faster. Also, items which you can't afford and carried items which conflict with what you want to buy are marked in red.
  • Tyrants can slash a little faster, but basilisks no longer draw power from humans' power sources. Grangers can build any structure (so long as that type is unlocked), but they still can't wall-walk without being the advanced form. Humans can buy light armour at the start of the game. Buildings, when placed, now have 25% of their total health.
  • The minimum time for which items, buildables or classes are guaranteed to be unlocked is halved to 30 seconds. You gain less momentum for destroying enemy buildings and a little more for enemy players. Basic income is gone.
  • Rendering changes:
  • We've added an extra preset, “Dlights, no fx”, to the video quality options menu. This is intended for hardware such as older laptops which can run the GL3 renderer but struggle somewhat – if you get less than 30fps, you probably want this option, which should allow for rendering speeds close to those of the older renderer.
  • Configuration changes
  • Configuration settings are no longer saved if they haven't been changed. There's still a work-in-progress element here – we don't yet have reset buttons in the menus, but if you know the name of the console variable used for that setting, you can /reset it.
  • A few important things to note here regarding variables…
  • /foo bar sets foo to “bar” and marks it as to be saved. (This still requires that foo already exists.)
  • /set foo bar sets foo to “bar”, creating it if needed. Certain variables will be marked as to be saved; most won't.
  • /listcvars has corresponding output changes – if the flag list contains ‘a’, the variable will be saved if its value is changed. If it instead contains ‘A’, the variable is marked as to be saved.
  • /reset will clear the ‘to be saved’ flag of each variable it's told to reset.
  • Misc changes:
  • There have been a lot of small fixes and improvements. A few more console commands have completion support, and some command output has been tidied up. Mouse pointer movement should be much improved. A lot of potential bugs (mostly harmless, I suspect) have been fixed…

New in version Alpha 23.0 (January 6th, 2014)

  • Audio system rewrite;
  • We're using OpenAL everywhere now (QAL's gone), so we can now start making good use of various effects; as of this release, we have doppler and reverb. There's a /testReverb command, intended to help mappers choose a suitable preset; we have reverb effects much like we already have colour grading – and Parpax has been updated to use this.
  • Gameplay changes:
  • R.I.P. Defence Computer
  • The defence computer farms have repaired their last. The last few were shut down just a few hours ago, and we held a 10-second silence in honour of the truly magnificent repair ability of one million DCs in and around the human base. Flags were at half-mast. Grangers briefly stopped building. Dragoons held back on their pouncing. Humans camped for a moment as the last defence computer was ceremonially destroyed, along with a team-mate who'd set up camp too close, by a defending lucisuit.
  • Instead, the human team's buildings now have self-repair capabilities, and the construction kit repair rate is reduced to compensate for this. Reactor zap is extended but weakened, and it gets the defence computer bonus by default.
  • Danger! Improved turrets!
  • Turrets now lock onto aliens much more quickly; there is no delay before they start shooting. They're now much more like those of Tremulous 1.1 than 1.2 – in particular, they're much more effective against smaller aliens but less so against tyrants. We've also fixed the firing effect.
  • Mining:
  • When placing a drill or a leech, the mining efficiency gain (or loss) is now shown. This is much more useful than the percentage efficiency for the building in question since you'll immediately know if you'd lose mining efficiency instead of having to wait until the building is complete.
  • Miscellaneous:
  • Hives have more sting – their choice of target is improved.
  • The build time for leeches and drills is halved.
  • When you receive damage, if you have a jetpack then, instead of it being temporarily disabled, some fuel is lost.
  • IQM support:
  • We now have support for the IQM format for models and animations, and we'll start making use of this over the next few releases.
  • Other changes:
  • Snowstation is now known as Chasm.
  • You can now switch renderers without exiting. Set cl_renderer as needed then /vid_restart. There are also a few small renderer fixes. /modcase now recognises the ‘compose’ and ‘menu’ modifier keys. default.cfg is client-only now, and client and server use different history files.
  • We've done quite a few small clean-ups and fixes since Alpha 22. /delay (with the value given in frames) works again. /gametimelimit is no more, having been merged into /time. Latched variables have been fixed and some server command output formatting has been fixed up.
  • Various admin commands don't make sense during intermissions, so we've disabled them at those times. One fun one was to have the last egg or telenode in a location visible from the default spectator camera then to revert its destruction just after the game is won by the other team: an egg visible there despite humans having won!
  • We've moved a little closer to getting rid of QVM code: the game code is now compilable as either C or C++.

New in version Alpha 22.1 (December 4th, 2013)

  • Custom layouts weren't being used
  • Various menu options weren't working properly
  • /me was horribly broken
  • Wallwalk toggle, team overlay etc. were effectively disabled
  • Text input (via the consoles) was broken for non-ASCII

New in version Alpha 22 (December 2nd, 2013)

  • Maps:
  • We have a new map, Snowstation, from Supertanker. It has a simple layout, essentially a loop, and a snow-covered outside area forming part of that loop. Also, EmperorJack's Plat23 has had a little work done on it – colour tweaks and a few scenery adjustments.
  • Engine changes:
  • Lots of things going on here. We're now using C++ for all engine code. (Game logic is still in C. We're not ready to change that yet.) A few things are a bit different – some commands are changed a little or renamed and some output looks different. One which you'll probably notice while playing is marking for deconstruction – you'll need to rebind that key. The reason is that /if has lost its modifier key support; you'll need to use /modcase instead. (You can effect the change by setting the deconstruct key via the bindings menus.)
  • For the moment, we've retained compatibility with SDL 1.2 and gcc 4.6.
  • Gameplay changes:
  • Firstly, confidence ⇒ momentum. Nothing more than a name change.
  • The jetpack:
  • Hold down the jump key and fly – but you can't hover any more and you only have a limited amount of fuel… when you're not flying, your jetpack will refuel itself. Flying is also faster but less accurate, and the jetpack isn't disabled when you're hurt by acid or swarms.
  • Under attack:
  • We've changed when and for what reasons “under attack” messages are reported. Humans will see warnings, indicating nearby destroyed buildings, relayed by repeaters or the reactor (repeaters will inform of their own destruction too); similarly, aliens will see warnings relayed by the overmind. The reactor and overmind will also relay warnings that they are under attack (at 75% health and 25% health) and when they are destroyed.
  • Ammunition and charge:
  • Humans' weapons will be refilled or recharged automatically when close to a suitable building and not in use. Clipless weapons are fully refilled or recharged; other weapons get a full set of clips, but the clip in use isn't refilled (you'll have to reload).
  • Power supply:
  • Repeaters are now effectively small reactors. They'll provide power even if there's no reactor.
  • Miscellaneous:
  • The predicted % efficiency shown when placing a drill or a leech is now coloured. You want the colour to be green or yellow. Red is bad.
  • Bots should behave better around armouries now – little things like buying weapons from too far away.
  • Renderer changes:
  • FXAA now works with Mesa in OpenGL 2.1 contexts.
  • Missing presumed delayed:
  • We'd hoped to have IQM support and a new model or two this month, but they weren't ready in time.

New in version Alpha 21 (November 4th, 2013)

  • Building changes:
  • Humans no longer need a power source near a drill, though one may be needed anyway if there are other buildings nearby.
  • For aliens, the Overmind and eggs now provide creep while being built, so no more exploding buildings just because you decided to move that lone supporting egg a few millimetres to the left.
  • Builders now see a set of icons indicating, if they can't build somewhere, why not. Sometimes it's an image of a building, showing what's needed, e.g. a drill or a leech if you need build points; sometimes, a glyph – ‘⧉’ if there's no room there, ‘∡’ if the surface is too steep, and ‘×’ for no-build zones.
  • Unlocking changes:
  • We've played with the unlock thresholds somewhat. For example, armour is not immediately available to humans, and aliens need to do some damage before they can evolve into dragoons.
  • You'll see, below the confidence momentum bar, some boxes containing various buildings, upgrades and/or weapons. Those items shown brightly (and all which aren't shown at all) are unlocked; from left to right, each marker on the momentum bar has its corresponding box. (They're not lined up. We tried, and got a lot of overlap.)
  • We hit a problem with advanced granger being shown in the spawn menu but also being locked; so now dead players are told about items being locked or unlocked, and (for aliens) both granger forms are listed.
  • Other gameplay changes:
  • When running low on stamina, you will no longer black out after your view has been bobbing significantly and your walk speed has asymptotically approached zero. As in many other games, sprinting will stop automatically when you run out of stamina and it will be regenerated slowly even if you keep the sprint button pressed until the threshold is reached that allows you to start another one. In future, we want to introduce different kinds of coughing to indicate whether Unvguy is sprinting or recovering from exhaustion.
  • You will also notice subtle changes to damage knockback and credit rewards. We rewrote them in order to improve code maintainability and achieve a more coherent effect – knockback strength is now based on the same mass that is used to calculate weight and crush damage and rewards for killing aliens are calculated with the same formula as those for killing humans: you'll get a base value of 200 plus half the price the opponent paid for equipment/evolution. Finally, evos and credits obey the same ruleset and we can consider them for balance decisions: a class that costs four evos should match armour and weapons for a total of 400 credits etc.
  • Other things:
  • We've fixed reporting of kills by firebomb.
  • Shadows and lighting have seen some small improvements, mainly regarding culling. This should provide some accuracy and rendering speed improvements.
  • There should be less of a problem with misrendered weapons when switching between players as a spectator.
  • There are some fixes for input-related bugs which sneaked in as a result of porting to SDL2.
  • And, of course, other miscellaneous fixes and adjustments.
  • (Incidentally, the three longest paragraphs in this article were written by Viech.)

New in version Alpha 20 (October 8th, 2013)

  • Stages? Who needs stages?:
  • We've removed stages! In their place, upgrades, weapons and alien forms have unlock thresholds; the current state is shown in a bar along the lower edge of the game window, with markers indicating unlock (or re-lock) points. For the moment, they're set up as for stages, but we expect to change this (as we already have on our dev server). We don't yet show what each marker represents; however, that's on the to-do list.
  • Bots:
  • Bots are now available in our release builds! You can now start a local game and add bots (via the/botcommand) without having to recompile.
  • Firebombs:
  • Humans now have firebombs to throw at the aliens! Cheaper than the fragmentation grenades which have been available since, well, Tremulous, they explode with less force but, like the flamer, they throw out some burning fuel and may set fire to nearby alien buildings. (And, yes, there's [firebomb] too for chat.)
  • New indicators:
  • You now get to see whether friend or foe is in your sights, and you get to see when you've damaged something. Watch your cross-hair
  • SDL 2:
  • Unvanquished has been ported to SDL 2. This brings various improvements – better handling of window manager hot keys (Alt-Tab etc.), mouse motion and multiple monitors, for example. There's still plenty which we could do to better make use of SDL , though. (It can still be built with SDL 1.2 for compatibility, e.g. you want to use externally-compiled SDL but 2.0 isn't readily available.)
  • More engine and renderer changes:
  • FXAA (fast approximate anti-aliasing) has been added. It requires the GL3 renderer, but may not work on some older Intel hardware due to driver deficiencies. Click here if you want to read more about FXAA. To enable it, /set r_FXAA 1.
  • Some work has been done on multi-threading, allowing the renderer to run in a separate thread. This will help with complex scenes, giving a frame-rate boost (possibly as much as 40%) because it allows the game to get on with processing your input and talking to the server while the display is being updated – so long as you have a multi-core CPU (which you probably do). To enable it, /set r_smp 1 then restart the client.
  • GeoIP support is present now. Some will have noticed “$PLAYER has connected from $COUNTRY” on some of servers – that's basically it, except that admins get /listgeoip too.
  • Improved IPv4 and IPv6 support – the server list now shows servers which are listening on both IPv4 and IPv6 once only, and you'll connect using whichever protocol is preferred and available. (If you have publicly-visible IPv6 addresses and you want IPv6 to be preferred, /set net_enabled 7 (assuming that its value was 1 or 3) and restart the client, and you'll be connecting via IPv6 where possible by default.
  • Other bits:
  • There are some animation fixes for alien buildings when they're destroyed but there's no overmind. We've also quietened loading of animations – there were “couldn't load” messages which some thought were errors, but these were actually harmless.
  • Warnings issued by admins are now recorded in the ban log, and admins get to see who has active warnings against them via /listplayers and /showbans.
  • There's also the usual set of miscellaneous fixes and rendering improvements.

New in version Alpha 19 (September 2nd, 2013)

  • Gameplay merge:
  • As of this release, we've switched to our new gameplay basis by merging the gameplay development branch into master for the first time. This is our first major step in moving away from the gameplay of Tremulous, and is the result of months of planning and testing, aided in no small part by our summer tournament. All of our official servers will be running the new gameplay now, and you can practice it on our training server with bots. Successive releases will continue to feature new gameplay changes, and you can take part in testing and influencing our direction by playing our weekly development games on Saturday afternoons.
  • So, what's new? Many things, for someone coming from a Tremulous perspective. Build points are earned through a resource system, and will require you to make extraction structures on both teams. Stages are earned through what we call the ‘confidence’ system, which rewards you for spreading through the map and penalizes you for remaining in your base all game. In addition to those two macro-scale changes, we have a bunch of smaller ones, too:
  • Radar for both teams functions as a motion sensor. If you stay perfectly still, you will fade out of radar on both teams. We added this last year, but it deserves a second mention.
  • Dretches can now evolve into the advanced dretch, which has 35 health and can use a dretch pounce ability, which works instantaneously and has a short cooldown period.
  • Humans and aliens above the dretch are capable of dealing crush damage if they fall on something, which scales up depending on the mass of what's falling and how long it drops.
  • Flamethrowers will now set things on fire, and can also be used on the floor to light it up for a brief period. Grangers can put out burning structures with their spit.
  • Renderer updates:
  • We now use SSE vertex skinning by default, which will give a speed boost for MD5 models on the vanilla renderer, and for people using GL3 with MESA or with manually disabled GPU vertex skinning. In addition, we no longer do an extra pass for glow maps, which should provide a performance increase for models that use them, like the acid tube and the new alien player models. Finally, the amount of data sent to the GPU each frame was reduced.
  • Assorted fixes:
  • The human now has new hand textures, which match the new third person textures we gave him last release. As we go about upgrading or replacing our weapon models, the new hands will be used alongside them. So far, you can see them on the shotgun. The animation.cfg file is no longer read when a player spawns, which should help with lag. Also, we have another update to the medistation texture, and a higher resolution texture for the blaster. We have also finally squashed the dreaded sticky key bug.
  • Language updates:
  • We now have a Russian translation, as well as updates to Galician and Ukrainian. This brings our total foreign translation count to seven, with translations for French, Galician, German, Polish, Russian, Spanish, and Ukrainian. As always, our community-driven translation effort can use all the help it can get. If you know a foreign language and you'd like to translate for us, make sure to tell us!

New in version Alpha 18 (August 6th, 2013)

  • New marauder model:
  • We've brought in a new addition to the alien team this release, with a brand new marauder model. It is nicely detailed with glowing chameleon-esque eyes, sharp teeth, and small hooks on the end of its legs, ostensibly to aid in wall jumping. There are high-resolution textures for both the regular and advanced forms. Try it out! New first-person limbs will be available next release.
  • New reactor model:
  • As I've mentioned in the preview post last week, we now have a new model for the human team, the reactor. Much more detailed than its predecessor, the reactor's glowing, spinning arms pulsate to reassure you that your turrets are ready and primed to fend off alien attacks, likely from that new marauder. Available now in a human base near you!
  • New medistation model:
  • Surprise! We have yet another model for the human team this release, dug up from our pre-alpha vaults and touched up to fit in with our new buildings. The new medistation does away with the floating holographic plus sign that the old one had, instead replacing it with a pleasant pulsing glow to verify that it is in operation. Make sure to use it instead of feeding the alien team!
  • Updated human textures:
  • Once more we've updated the human textures, likely for the final time. They're in double the resolution, they've received gloss maps, and in general they look better than they did before with a more consistent color scheme and proper shading. Next month, they'll be updated for the first-person arms as we go about updating our weapons. We've also fixed the transparency issue on the armor, so you won't be able to see through it anymore.
  • Gloss map support:
  • In addition to our existing support for diffuse, specular, normal, and glow maps, we now have support for another kind of texture mapping, gloss maps. A gloss map defines the roughness of a surface, which is useful when a texture uses multiple materials. You can see them in action on the reactor, the turret, and the new human textures.
  • More renderer improvements:
  • Besides gloss maps, we have some other neat things. For one, we've drastically reduced the amount of memory used by Thunder, and the same fix should work on some of our other new maps, too! Some of the shadow weirdness should be fixed, and the player shadows are certainly in a presentable state, although we're still working on building shadows. Also, you should see performance improvements if you were using CPU rather than GPU vertex skinning, likely if you're using Mesa.

New in version Alpha 17 (July 8th, 2013)

  • Shadows:
  • A long-awaited feature, we now have preliminary shadows on the GL3 renderer. Formerly, we only had blob shadows, which looked quite terrible and didn't exactly go nicely with our new models. With this release, we finally have projection shadows based off shadow maps. They're still in an early stage, but you're free to experiment with them. Use the cg_buildableShadows and cg_playerShadows cvars to turn them on for buildings and players, respectively. The cg_shadows cvar will adjust the quality, with 1 being the old blob shadows and 2 to 6 being the new ones. You can expect some initial weirdness as we work out bugs, but that's where you come in. Test it out and post shots on our forums so we can make sure we get everything ironed out!
  • Map updates:
  • Both Plat23 and Thunder have been improved for the tournament. To make it perform better, Thunder's fog has been replaced with color grading. As for Plat23, it has more detail than before, and the specular maps have been toned down somewhat so that it doesn't interact so strongly with our bloom. You can also jump off the railings at the center of the map, but you'll die. This is probably not a good idea.
  • Unvstats:
  • Now we're debuting our first Unvstats release, which is based off the old Tremstats you might be familiar with. More features will be added to it over the coming weeks and months, including achievements and stats for our newly launched EU server, but at the moment you can already see some of the improvements we've made. For one, it's much more attractive to look at, with quite a bit of web design done to it, not to mention better organization. There's also a skill algorithm you can use to see how you stack up against other players. The graphs are all in SVG, too.
  • Universal zip:
  • With this release, we now have a universal zip available. Instead of installing, you simply run the appropriate binary, and that's that. This should vastly simplify things for people on our three supported platforms, assuming you don't like to use the installer. It has binaries for Windows, Mac, and Linux. Also, in the case you like installers, we will have the generic Linux installer available again this release. Just wait a day or two and it'll be up.
  • NetRadiant packages:
  • For our mappers, we now have a new NetRadiant build with updates for Unvanquished, as well as a gamepack to use with NetRadiant. Support has been added for the WebP image format, as well as our new entities. Of course, you'll actually have to know how to use Radiant-based map editors to make usage of it. The packages can be found in this forum thread.
  • Bot improvements:
  • As always, we have some new updates to bot behavior for this release, based on player feedback and our own observations. We've fixed bot reactions to being attacked, and have made changes to the navmeshes they use for navigation. Bots will walk to regain stamina if they're human. They will also be forced to stay on the navmesh at all times, which should prevent them from getting into silly situations.
  • Translation updates:
  • We now have an entirely new language, Galician, which is spoken in the autonomous Galicia region in the northwest of Spain and is somewhat related to Portuguese. In addition, we also have updates for the French, German, and Ukrainian languages. As always, we are open to more translators, and you'll get a nice spot on our credits if you complete a translation or contribute substantially to one.

New in version Alpha 16 (June 4th, 2013)

  • Minimaps:
  • This has been a long-requested feature, and we've at last added it this month. A minimap will display for all of our new maps, as well as for the majority of commonly played Tremulous maps. As one might expect, the minimap will display your current location, and will rotate along with your view. Teammates are displayed on the minimap, and the maps are appropiately colored as well. Make sure to give us plenty of feedback on it! In the future, we will consider adding a 3D minimap as well.
  • Renderer improvements:
  • Color grading can now work on a regional basis, and multiple color grading effects can work in a single location, based on their respective weights. As a result, mappers can now have multiple regions utilizing separate color grades, and blend them where appropriate. In addition, the heat haze effect added last month should be much more easily noticed, so take a look at it when you use the flamethrower, lucifer cannon, or grenade.
  • Color grading effects:
  • Of course, color grading is not just for maps! Now that we have support for regional color grading, we've added some very nice effects that use it. For instance, if you take damage on either team, your view will fade into red (for humans) or grayscale (for aliens). When you die, the screen will be desaturated, and this will be retained during the spawn queue until you spawn, with colors fading back in. As a tyrant, charging up your trample will make the view go red. Finally, the mass driver scope will color your view teal, but that's not all! There's also a nice scope effect, which is animated and is displayed on both renderers. Happy hunting!
  • Bot updates:
  • Plenty of upgrades to our bot code have gone in this month, from bug fixes to new actions for our behavior tree system. For instance, bots can now be made to say things both globally and to the team. Also, bots will no longer end up standing still for no reason, and the detection of the flamethrower range has been improved, so they won't waste their ammunition flaming from a distance. More specific information about the changes can be found on our bots branch, for those who are interested.
  • Gameplay updates:
  • We've had some great development games on the development server over the last month, and as a result, we've used feedback from those games to do some more work on our in-progress gameplay. As you may or may not be aware of, we're shifting from the old Tremulous system to a new one in which build points are generated via resources, via resource extraction structures that must be built at distances from each other. There is also a confidence system that replaces the old stage up/down system, as has been explained in a blog post earlier last month. We're now testing out a new human building system based off power, which allows humans to build anywhere without a repeater, but requires them to build additional repeaters when the base grows and draws more power.

New in version Alpha 15 (May 7th, 2013)

  • Renderer updates:
  • We've done more work on color grading, adding support for four grading texture slots and grading weights, meaning that maps can now have multiple color grades for different areas, and the grades can be blended with each other. In addition, we now have heat haze. This effect only works on GL3, as you might expect, and at the moment is deployed on several human weapons. Currently, you can see it in action on the flamethrower, the lucifer cannon primary shot, and the grenade. It's a subtle effect, but a very neat one, and something we expect to use elsewhere in the future. It's disabled by default, considering that it's a bit of a resource drain, but can be enabled on the menu.
  • Mapping updates:
  • There's a new version of Thunder out, and while the layout hasn't been changed since the prior version, the map has been cleaned up and some of the unnecessary texture and shader load has been removed, which may result in a performance increase. Also, we have had more work done on entities this month, as part of our broader effort to clean up the map entities that we've inherited, as well as preparing to introduce some new ones.
  • Engine updates:
  • By improving R_AddNormals, there are fewer and less expensive calculations to be made, meaning that our new maps should load a bit faster than they previously did. Also, in regards to binds, buy and sell will now take multiple parameters, and it's also possible to now sell things by using -item. For instance, the sell-all bind for the human team would now be /buy -all rifle, which would remove all upgrades and purchase a rifle. This should allow for much more streamlined binds. We've also fixed some things we've come across, such as an uninitialized memory access and a load of unnecessary code.
  • Translation updates:
  • In addition to adding the most recent updates to our existing translations, we've also done some more work on the translation code. It should now be easier than ever to translate Unvanquished, since we've removed quite a bit of unneeded strings and fixed other things. If you're interested in translating Unvanquished, check out this page! In case you don't see your language listed there, please ask us on our forums and we'll make sure to add it for you. Those who translate Unvanquished will be listed on our credits and will be given access to the development section on our forums.

New in version Alpha 14 (April 8th, 2013)

  • Color grading:
  • We've added another significant feature to our renderer in the form of color grading, which can be used to alter and enhance color channels, as well as contrast. It's a map-based feature and we're working on having it work per-room, and at the moment, it's available as a public test that affects the map as a whole. Try it out! So far, Parpax has been color graded, and we've included some sample color grades that you can experiment with on any map. To do so, just type /testcgrade gfx/cgrades/colorgrade, where colorgrade is the name of the file. Some of the colorful examples provided are red, green, and blue. To switch back, use neutral.
  • Bug fixes:
  • We've fixed quite a few bugs this month, the most easily noticed of which would be the server lag bug, which is now gone. Hopefully, you should no longer be experiencing the small lag spikes that appeared out of nowhere, as they have no longer shown up in our tests. The numBones error will no longer cause you to disconnect, although it may induce graphical anomalies. The /builder command will work on buildings under construction, and no-build areas on Tremulous maps will now work.
  • Engine improvements:
  • Maps should load significantly faster now as we've optimized the calculation of visvis, although this may be more noticeable for those with slower hardware. Occlusion query-based "real" fades on light flares can be enabled via cg_lightFlares 3, and might provide a slight performance increase. For those on our new GL3 renderer, startup and map load time should be improved as the engine no longer needlessly goes through the combined shadertext. In addition, by enabling r_lazyShaders, shaders will be compiled immediately after the game has started, although at the cost of slightly choppy UI interaction until they are finished. The /map and /devmap commands can now take a layout name as a second parameter. We also have some variable expansion and quoting improvements; for instance, /say $p_teamname$ will, if you're on the alien team, display you as saying "aliens" to other players.
  • Config files:
  • As part of our efforts to make the game balance easier to modify and to lay the foundation for the addition of new game modes, we're in the process of moving all of our player class and building definitions from unvanquished.h into a series of config files. The implications of this include the possibility of easy distribution of balance changes in simple pk3 files by player modders, and the rapid testing of balance due to the removal of the need to recompile. To reiterate, you no longer need to compile if you want to change, for instance, the damage of a weapon or the speed of an alien; rather, you can just edit the appropriate plaintext config file.
  • Entities improvements:
  • We've spent quite a while going over the entities code, refactoring and streamlining what we've inherited into something more modern. This is an ongoing project, and with the merge of the entities branch into master for this release, we've laid the groundwork for future changes. Of course, the changes are more readily apparent to mappers, as entities are features of a map that level designers use for things such as doors, elevators, and other things, but over the course of coming months as the entities changes are incorporated into present and future maps, this will allow for more advanced map features than were previously possible.
  • Graphics fixes:
  • The specular and normal maps were not showing up on the grenade model, and this has now been fixed. Take a look at all the detail on it, but make sure to run away before it blows up! In addition, the lucifer cannon should no longer be jerking around after firing the primary shot. The muzzle flashes have all been altered as well, either to be less glaring, or in some cases, more detailed. For instance, the rifle and chaingun have new flashes that take up much less space on the screen. The lucifer cannon and mass driver effects have also been altered.
  • Translation updates:
  • We now have Argentinian Spanish, which I've been told should be legible to other Spanish speakers, although you're more than welcome to take a look at translating to some other dialects of Spanish by participating in our translation sub-project. Also, we have updates to some of our existing languages, with more translation work done on Polish, German, and French. Lastly, names can be entirely non-ASCII, as long as they contain at least one letter or ideograph.

New in version Alpha 12 (February 4th, 2013)

  • Rim lighting:
  • Otherwise known as back lighting, it's another source of lighting on our models. All models benefit from it, so while our new models will look great, even the old placeholder models will look better for the meantime. With rim lighting enabled, ambient light will affect the edges of the model as well, highlighting details and serving to make the model stand out. Naturally, only available on the GL3 renderer, so make sure to use that if you'd like to try it out.
  • Motion blur:
  • Yet another effect we've added this release, motion blur creates a blur effect when you move fast enough, as one would expect. This is most prominent with the dragoon pounce and the marauder's wall-jumping, but you can also witness it when moving exceedingly fast for any reason, including falling from great heights. Again, you'll need to be running the GL3 renderer to use this. The blur effect can be adjusted through the cvars cg_motionblur and cg_motionblurMinSpeed.
  • Bot overhaul:
  • The bot behavior has been redone entirely, and now functions off a behavior tree system. Most importantly, these behavior trees allow for a variety of bot behaviors to be programmed, which is a significant improvement over the old, rigid system. It is also possible for server owners to utilize their own bot behaviors, and when the code matures further, we'll provide tutorials on how to do so. You can play around with the new bots on our development server. Added bonus: you don't need to download navmeshes anymore!
  • Resources test:
  • While it's very much in an early state, you can now test out our resources implementation on our development server. This is a major departure from the gameplay of Tremulous, and will be part of the direction that we are taking the game in. We're extremely eager to hear feedback on it, so please, feel free to make threads regarding your observations. Essentially, the resources system changes the way that build points work. Rather than starting out with a certain amount, you must now build resource generation structures: the leech for the alien team, and the drill for the human team. Respectively, they use the hovel and repeater as placeholder models. Try it out!
  • Updated installer:
  • We've been aware of the shortcomings of the installer for a while now, and we've fixed some of the glaring issues in this release. The installer will now check your data directories while downloading files, and it won't accidentally redownload some of the files you already have. Also, it will use md5sums to ensure that the downloaded files aren't corrupted for any reason, which sometimes happens with unsteady connections. Old vm files will be removed if they are present, which has been a source of annoyance in the past.
  • Menu & console improvements:
  • The menu has been reorganized, with options in more sensible places than before. Additionally, many of the old options that were inherited and didn't quite do anything noticeable (or at all) have been removed, and have now been replaced with functional options that should have visible effects. Also, the console code has been significantly overhauled, and while much of it has been code-side, you should notice a much neater appearance this release, complete with a new fade effect to replace the old drop-down one.
  • Team binds:
  • You no longer need to use cg_alienConfig, cg_humanConfig, or cg_spectatorConfig for setting configuration files with team-specific binds. While you can still use them, we now have a teambinds command. Simply use /teambind , with the command being bound to a specific team (or spectators). Now you should be able to keep all of your binds together in a single file.
  • Graphics fixes:
  • We've applied normal and spec maps to all the new first-person guns, so they'll respond better to ambient lighting and should generally look a bit better than before. Also, we've fixed the lighting on the creep texture, so it will no longer appear fully bright even in dark rooms. Bots now have their own icons to signify that they are your computer-controlled friends. Lastly, the jetpack and battery pack placeholder models should show up on the human again.
  • Code changes:
  • This has been an enormously active month for the engine, with a whole load of commit activity. It's somewhat hard to summarize the huge amount of work done, but here are some highlights. The shotgun now fires in a circular spread instead of a rectangular one, better matching the firing effect and common sense, while the flamethrower is more effective at close ranges and the flame puffs will damage things adjacent to them. Some of the annoying bugs like the corpsenum bug are gone, so you won't find yourself disconnected after a game. Servers will display the amount of bots they have separately from the number of real players. Lastly, if you use the team overlay, you will now be able to see the credits or evolution points of your teammates.

New in version Alpha 11 (January 7th, 2013)

  • New Plat23 beta:
  • The map has been completely redone from scratch, and while it maintains a similar layout, the appearance is much more refined. For instance, the lighting is better, and the outside area is brand new, featuring a high-resolution space skybox. The textures are all properly aligned as well, providing a smoother appearance. Over successive releases, the cliffs and the structure outside will receive further detail, but for the time being, the map is fully playable and pleasantly overhauled.
  • Map updates:
  • Based on feedback, Yocto and Parpax have received updates to their layouts. For instance, Yocto now has ladders in the formerly inescapable gill room, and Parpax has received some alterations to its rooms and corridors. This will be the tentative final beta for Yocto, assuming that no further changes need to be made, as work will begin soon on another map. As for Parpax, its textures will begin to be normal mapped shortly.
  • Bloom:
  • We've had bloom in the engine for a while, but it didn't look the way we wanted it to. For this release, we've fixed it, and we've also provided a menu option and the appropriate shaders in the asset pack. If you're running the GL3 renderer, try it out! It works with any light source, and will take on its color when appropriate. It looks particularly nice with the marauder zap and the flamethrower, as well as other flashy human weapons.
  • Bot refinements:
  • Our bot behavior has been refined, and your favorite computer-based friends should now be much less awkward when dealing with map geometry. For instance, small gaps will no longer prevent them from movement. Navmeshes for the bots are generated much faster than before, too!
  • GLSL updates:
  • Shaders will be generated faster than before, as there are fewer of them to be generated in the first place – they have been optimized by removing two unused macros. This should shorten the wait for those on older hardware, and should make it relatively painless to recompile shaders on a whim when testing things or switching between graphics options.
  • Library changes:
  • You will no longer need Speex to build the server when compiling from source, and WebP is now internal, which should make things easier for those that do not have the proper version in their repositories. We're now on GLEW 1.9, and unnecessary GLEW files have been removed.
  • New translations:
  • Entirely by accident, German was not included in the prior release, but it is there now and should be functional. In addition, we now have French! This means that you can now play Unvanquished in English, French, German, Polish, and Ukrainian.

New in version Alpha 10 (December 4th, 2012)

  • Yocto:
  • We now have another brand new map in this release, the alpha version of Yocto. It's set in what can best be described as an abandoned underwater base, and has a suitably eerie atmosphere to it. The map itself is fairly dark, and has plenty of gloomy corridors for danger to await in. Over successive releases, expect to see the map modified and expanded upon further. For best results, make sure to play it on the GL3 renderer!
  • Parpax update:
  • In this latest version of Parpax, its fourth beta, there are new areas to explore and fight in. Now that the layout of the map has stabilized, expect to see major graphical updates to it over coming releases, as the map begins to take full advantage of our engine features.
  • Human animation improvements:
  • In addition to fixing some of the pre-existing abnormalities, we've also added some new work. For instance, the human now has three different death animations, as well as a swimming animation. Since members of the community have stated that the current ‘taunt’ looks more like a threat, we now have two varieties of taunt for players to use. The first is the one that we already have, while the new one can be used with ‘g’, and functions as a rallying gesture. In the future, both taunt animations will have their own separate sounds.
  • Asset updates:
  • The human has a new glow map, and both the human and trapper models have new spec maps. Also, we have a new set of ambient sounds provided with this release. All of the maps that used the classic Tremulous ambient sounds will now be using our new ones, so things should at least sound different.
  • A VoIP menu:
  • You can now set common VoIP settings on the menu, instead of having to deal with the console and cvars. This should make it easier to use voice chat during clan games and special events. In future releases, we'll be refining our voice chat system further. Make sure to give us feedback on voice chat features you'd like!
  • Preliminary x32 support:
  • As of this release, we now have experimental support for the x32 architecture, which is currently supported on Linux. Essentially, this would allow users on x86-64 (64-bit) systems to take full advantage of their hardware while at the same time being able to benefit from lower memory usage and performance gains due to differences such as the smaller pointer size. We have Unvanquished packaged for the Debian x32 port.
  • Renderer refinements:
  • On the vanilla renderer, we've now fixed lighting on models, so that if you're stuck using it due to hardware limitations, things will look much better for you. In addition, tweaks to VBOs have resulted on performance improvements on the GL3 renderer. Lastly, we now have more robust handling of shader files, with checks being made to see if they are valid before loading. If they're invalid, they'll be recompiled automatically, which should resolve some of the graphic abnormalities that crop up from time to time.
  • New scripting features:
  • There are now new server variables to aid in server-side scripting, which are g_mapRestarted and layout. Also, /if will do basic string comparison, including equality and substring matching. The /class command can now take more than one class name, such as in “/class ckit builderupg builder”, and the first available one will be chosen.
  • Miscellaneous features:
  • You can now play Unvanquished in German! With that addition, we now have three foreign languages represented in the game. Keep up the good work! Also, we've now brought back instant deconstruction, as requested on our IdeaTorrent page. By pressing 'alt+e', you can now instantly remove buildings without having to mark them first. Finally, we've further refined the motion radar system introduced last release, so that things won't show up through walls.
  • Note: if compiling from source, you will now need libwebp ≥ 0.2.0. Those using the installers can disregard this message.

New in version Alpha 4 (June 6th, 2012)

  • The new tyrant! Go, crush things! In addition to slashing things, it also has an animation where it bites at you. Currently the bite has no in-game effect, but it looks cool!
  • QVM support! This allows us to provide non-asset updates with increased cross-platform support. It also increases the security of our game by running code in a sandbox, preventing malicious server hosts from running outside code on your system.
  • Some model tweaks! The pulse rifle should display properly on both renderers now, and is properly positioned. The dretch model has been scaled up slightly and the dragoon model has been scaled down, but the collision boxes of both remain the same.
  • Fixes for MD5 models! Corpses are fixed, and we now have blending support, allowing for multiple animations to display on the same model. Thus, you can attack and move around at the same time, for example.
  • A voice chat menu! We'll be working on prettifying this, but for the meantime it's fully functional. Just press 'o' and a menu will come up, allowing you to easily access all of the voice messages.
  • Font upgrades! We now have outline fonts and support for unicode. You can also adjust the font size.
  • A new set of alien icons! Updated to reflect our current alien team.

New in version Alpha 3 (May 2nd, 2012)

  • The finished dretch! Fully textured and animated.
  • A new interface! The main screen has been redone, along with the menus and the map loading screen.
  • Players with older hardware can turn off the new models for increased performance, using these three cvars:
  • cg_highPolyWeaponModels
  • cg_highPolyBuildableModels
  • cg_highPolyPlayerModels
  • In regards to gameplay, we've added anti-spawnblocking, as well as a few tweaks to the lucifer cannon, pulse rifle, and flamethrower. The tweaks are off by default, and may be enabled on a hosted server for testing.
  • We've cleaned up the voting code, and in addition to some changes, we've added two new vote types. Spectate votes will force players onto the spectator team, and function as a lighter kick. Polls, an old favorite, have been implemented too! To enable them, use g_pollVotesPercentage, with the value set to the winning percentage.
  • For in-game administrators, troublesome players can be locked onto the spectator team for a little while, using the speclock and specunlock commands. In addition, you can now warn players.
  • For HUD designers, you can now use health bars and build timer progress bars.
  • A GLSL shader cache allows for faster loading times for those using the new renderer.
  • The console, for those running from a terminal, now has support for 256 colors.