Week 14/2013: Another cycle completed
Last week we released the stable version 1.10 and started work on 1.11.
The release of 1.10 was a bit rocky due to important last-minute fixes resulting in some instability and a couple of bugs in the autobuilder causing hiccups. We are prepared to release a 1.10.1 patch if needed, though.
Recently we've been encountering more and more issues with old versions of GCC (4.0, 4.2) particularly with the OS X 10.4 build. To ease this maintenance cost, 1.10 is the last version where OS X 10.4 (and the PowerPC CPU arch) is supported; from 1.11 onward the minimum supported OS X version is 10.6. This also means the minimum required version of Qt will be 4.7 and on OS X the Cocoa version of Qt is required. For similar reasons we are planning to drop support for Windows XP. While 1.11 should still run on XP, we won't be spending much/any time testing on it.
It is always refreshing to go back to Unstable as we are free to reprioritize the Roadmap and see what needs doing next instead of having a strict focus on polishing the stable release. While there are several topics listed in the Roadmap for 1.11, my personal #1 goal is to produce a new in-game Console UI widget. The old console contains some of our most ancient code, originating all the way from the start of the project in 1999. I am very happy to be finally able to start revising the engine's GUI as it has become one of the biggest obstacles for future enhancement of the engine.
My work with the "ui-framework" branch has continued with cleaning up the architecture of how windows are managed by the engine. Over the years this section of the code has grown convoluted, as we've been switching underlying UI frameworks from SDL to Qt and then the language from C to C++. It was time to rethink the whole thing from the ground up with Qt and C++ in mind. So far the end result has been a great improvement with features like setting the fullscreen display resolution separately from the windowed size finally being implemented.
My plan for this week is to continue work in the "ui-framework" branch finishing up the window management improvements, merge them to master and then proceed to the new GUI work.
The release of 1.10 was a bit rocky due to important last-minute fixes resulting in some instability and a couple of bugs in the autobuilder causing hiccups. We are prepared to release a 1.10.1 patch if needed, though.
Recently we've been encountering more and more issues with old versions of GCC (4.0, 4.2) particularly with the OS X 10.4 build. To ease this maintenance cost, 1.10 is the last version where OS X 10.4 (and the PowerPC CPU arch) is supported; from 1.11 onward the minimum supported OS X version is 10.6. This also means the minimum required version of Qt will be 4.7 and on OS X the Cocoa version of Qt is required. For similar reasons we are planning to drop support for Windows XP. While 1.11 should still run on XP, we won't be spending much/any time testing on it.
It is always refreshing to go back to Unstable as we are free to reprioritize the Roadmap and see what needs doing next instead of having a strict focus on polishing the stable release. While there are several topics listed in the Roadmap for 1.11, my personal #1 goal is to produce a new in-game Console UI widget. The old console contains some of our most ancient code, originating all the way from the start of the project in 1999. I am very happy to be finally able to start revising the engine's GUI as it has become one of the biggest obstacles for future enhancement of the engine.
My work with the "ui-framework" branch has continued with cleaning up the architecture of how windows are managed by the engine. Over the years this section of the code has grown convoluted, as we've been switching underlying UI frameworks from SDL to Qt and then the language from C to C++. It was time to rethink the whole thing from the ground up with Qt and C++ in mind. So far the end result has been a great improvement with features like setting the fullscreen display resolution separately from the windowed size finally being implemented.
My plan for this week is to continue work in the "ui-framework" branch finishing up the window management improvements, merge them to master and then proceed to the new GUI work.
Comments
I'm happy to say we are now finally in a position where I can resume working on this. The first step is to address the legacy issues in the node builder, which in certain circumstances result in a less than ideal BSP tree.
Before this work can begin however, there is the not insignificant job of cleaning up the map data components after their preliminary switch to C++ for the 1.10 release. I actually began this task a couple of weeks prior to the 1.10 stable release, as I had a little less to do in the candidate phase this time around. Thus far the cleanup has progressed pretty smoothly and my plan for this week is to complete this phase and merge it to the master.
With luck this should mean I can then turn my attention to more exciting prospects.