During the past week I was continuing work on the Qt-based network code. I managed to get it to a pretty good shape, with the client being able to connect to a server and query for information. However, it should be noted that LegacyNetwork is intended as a stepping stone in the transition to a full libdeng2-based networking subsystem, and in the short term it will have a couple of non-ideal properties, such as socket writes that block until the data has been sent. This state of affairs can be remedied once the application itself becomes Qt-based (once SDL is fully removed).
This week I have no time for Doomsday as I'm spending the week in London at Nokia World
Rather than working on the new WiX toolset based installer I instead returned to working on ringzero. The new installer isn't exactly an urgent priority but I'll probably wrap up this project over the course of the next couple of weeks.
Ringzero development is now happening directly in the ringzero+master branch. As one might deduce from the name, this branch is the current state of the combined effort of both skyjake's progress in the master branch (i.e., the multiplayer work) and my own on the ringzero project. What does that mean? - We are now a step closer to merging the ringzero project into the main (i.e., master) branch. There remains some significant regressions to resolve before that can happen however (see the todo-list
This week I have been working on various refactorings to the Materials
collection which will enable us to tie it in with the engine's public resource system. The biggest change being the replacement of the material namespace implementation with a set of PathDirectory
objects. Other than the architectural and performance benefits this also means that Material
names are no longer limited to eight characters and a (virtual) hierarchy structure can be employed within each namespace. In other words, material identifiers now fully utilize Resource URIs
, for example:
The DOOM map format itself is limited to eight character texture names however, so this somewhat restricts the usefulness of the feature presently.
As resource URIs are now a fundamental component throughout Doomsday and the public API, the console has been improved with built-in support and a new type of console variable. The next step for this is to centralise the validation of URI arguments for console commands which take them.
In addition to the work on ringzero I fixed a problem with the dedicated console on Windows
which is available in today's build 297
I also spent some time working on the dengine.net implementation, refining the way pages are generated and cached, for a new screenshot browsing/viewer interface. The screenshot browser has been implemented using a combination of jQuery and ThickBox 3.1 (for the preview popup). This work is pretty much complete. All that is needed is a new set of up to date screenshots showing off the engine and of each supported game. I expect the screenshot browser will go live some time next week.
My plan for the coming week is to continue the work on ringzero.