Last week we released the 1.10.3 patch and I was working on the UI framework.
patch corrects a few regressions that were introduced during the 1.10 unstable phase. It is worth mentioning that in the future, we will try to continue pushing bug fixes out via the "stable" branch, as not all of them can be caught during the candidate phase(s). Also, 1.10 will likely receive some patches even after the stable 1.11 is out as the minimum system requirements will be upgraded somewhat in 1.11.
My primary focus has been on new UI widgets for the client's GUI. All the things I've been working on during the past weeks are now coming together: the next-gen UI framework
in libdeng2, drawing graphics using the new GL2 code
, reading definitions for fonts, colors, length rules and images from scriptable Info
-based files, managing data objects at runtime using Banks
, reusing UI widget logic from the text-based UI components
created for the Shell, and animating widget positions at runtime using the Rules system
I'm currently working on a set of basic UI widgets that are required for the new console UI: text editor, log entry history view, and basic buttons/labels. On the whole, I would characterize the new UI widgets as extremely flexible from both programmer and modder point of views. Eventually I plan to set up a mechanism for constructing the entire UI based on scriptable Info-based definitions: then one can easily add completely new UI elements/dialogs/menus in addition to just changing the UI style parameters. (Initially the UI structure will be hardcoded, though.)
Finally, a screenshot showing a test of the new UI code drawn on top of Heretic: