Last week I was squarely focused on the revised FMOD plugin. While it's not yet 100% done, it will already be included in today's unstable release
. At this stage you will need to use the -fmod
option to enable it. Features currently supported: 2D and 3D sound effects, MIDI playback (Windows/Mac work out of the box, but on Ubuntu this requires a manually configured .dls soundfont; cvar "music-soundfont"), external music files (all formats supported by FMOD Ex), and CD audio. Things that are still missing: environmental reverb, separate .deb package for Ubuntu (for license reasons), and SF2 soundfont support.
My plan for this week is to continue working on dsFMOD to get it into proper shape for the stable 1.9.7.
Last week I took a short break from ringzero and decided to spend some time cleaning up a few artefacts left behind after the floating point switch back during the 1.9.0-beta6.x phase. Entryway (the developer of PrBoom+) recently posted at Doomworld about an issue with DOOM's interpretation of the BLOCKMAP
. His post led me to check up on our own implementation, at which point I realised that I hadn't actually completed the job...
So over the course of the next few days I set about addressing the remaining issues and then re-implemented our blockmaps using sparse Region Quadtrees
. I had long planned to implement these and this seem liked the right time to do so. As of today's build 346, Doomsday now uses quadtrees to represent all our internal blockmaps (LineDefs
and the object => surface contact structures known as objlinks
Switching to using quadtrees has inherent compression and sparsity benefits, meaning that large maps now have significantly reduced working memory requirements. In future I hope that the quadtrees will be capitalized upon, as a means for accelerating various algorithms within Doomsday's refresh and render modules.
This week I plan to continue work on readying ringzero for merging back to the master for the 1.9.7 release. We're nearly there folks