Alpha 42: the magic number

Hello, and welcome to our August release!

This month, we’re featuring a major milestone for our engine, a new default map, and a number of bug fixes and infrastructure work.


First off, we’ve worked with members of the Xonotic team to decouple our game code from our engine code, meaning that the Daemon engine can now be used not only by both of our projects, but by others as well! This was somewhat possible before, but now it’s much easier, making it less of a pain to keep up to date with upstream engine changes. An upcoming project by another team from Europe, Unreal Arena, is also interested in using our engine. What this means for players across projects using our engine is that they’ll be able to benefit from engine development from multiple sources, as well as a unified tool set to deal with assets and maps. This could mean playing Xonotic maps on a game of Unvanquished, or using Unvanquished models to provide Xonotic with an alien boss rush mode. It’s a very exciting time for all parties involved, and it will be interesting to see where this goes!

Our featured feature (!) of this month is Vega, a new map that you might have seen being tested during our Sunday community games. It was a fantastic Tremulous map, and has now been ported to our engine, taking advantage of the features it provides. The map has been retextured, and the layout will continue to change as feedback comes in. Mappers can also use the great new texture set that comes with it, as well as a set of detailed map objects. All of the screenshots on this release post have been taken on Vega, and as you can see, it’s a really nice map!


The duplicate GUID bug has been fixed, and the SSAO shader bug as well. After the libRocket NaCl merge last month, we’ve also had work done on converting UI elements to take advantage of C++, something that will be ongoing until we add libRocket Lua support in the near future, allowing for scriptable UI elements. Last but not least, our GitHub page has been updated with nicer formatting and pretty buttons, so you should definitely go take a look!

On another note, we’re phasing out our usage of SourceForge. We will continue to upload releases there for a month or two longer, but in light of recent fishy events there and the general migration of open source projects away from that site, we’ll be switching to a mixture of hosted torrents, GitHub releases, and an upcoming auto-updater. Stay tuned.

The very first GitHub release can be found here.



  • fe56beb Don’t build nacl VMs due to excessively long command line
  • 83d3f7e Convert <crosshair/>
  • 71bd2e5 Allow aborting shutdown if it gets stuck
  • b61dcb1 Convert <speedometer/>
  • d7606a7 COnvert <credits/> element
  • 4656f60 Convert <evos/>
  • 087b42d COnvert <stamina/>
  • f3bf2a7 fix compiler errors
  • f24bc51 Convert <weapon_icon/>. RUn HUD update ocde in OnUPdate
  • 78ec792 COnvert <wallwalk/>
  • 74ec4f9 Convert usable_buildable. Minor fixes to other elements
  • 8f4b339 Convert <location/>
  • ac51f7a Convert <timer/>
  • dca6c01 Convert <lagometer/>
  • ca388dc Convert crosshair_name
  • 38f0b76 Make PNaCl a first class CMake toolchain; split engine and game build scripts
  • 41de3bc Use Daemon_SOURCE_DIR for pnacl toolchain resolution
  • 8ab01ae Set CMAKE_C_COMPILE_OBJECT (wasn’t being set sometimes?)
  • 14f517b Fix previous commit
  • 18c8d7d Define BUILD_VM in the GAMEMODULE function Define VM_NAME instead of checking other definitions
  • f6c6c4e Convert <momentum/>
  • 608f845 Convert <levelshot/>
  • cf4ddd8 Convert <levelshot_loading>
  • f991def Convert <center_print/>
  • 809470f Convert <beacon_*/>
  • 72da5a3 Simply element size calculations
  • c612bf4 Don’t scan for crosshair entity of cg.snap is null
  • 6899137 Fix key bindings menu
  • 2aa25ee allow extension independent soundfile path, fix #642
  • 0db3348 Fix CG_KeyBinding to do what it is expected to do.
  • b0909cc std::move unnecessary. Move declrations of variables to where they are used in vote function
  • aac9e81 Update with msys2 build instructions
  • e2024f3 Flair
  • 6e842bb IRC badges
  • 7126648 beacon: display “Here” if player <= 1m from entity
  • 56e644e Only use nacl .bat on windows with msvc
  • 81533a9 Fix some errors with emoticons in librocket
  • 3a482e9 Make r_ssao cvar_latch again and only load the ssao shader if r_ssao != 0
  • 629fde0 Eliminate a warning about strcasecmp being redefined on mingw
  • b69c1f2 Replace Com_RandomBytes with Sys::GenRandomBytes
  • 6cd62b2 Implement Sys::GenRandomBytes for NaCl
  • 8d518a7 Avoid using FS::RawPath for Sys::GenRandomBytes since it is not available in VMs
  • cd29851 Speedup nacl build
  • 7a3999a Update version update script
  • d2724c1 Version bump to Alpha 42