Day: September 2, 2017

AI War 2 v0.515 Released! “The Settings Menu Of Doom”

Release notes here!

I never expected something like “A Settings Menu” to take a whole week, but here we are. And in retrospect it makes a degree of sense: this is just a huge chunk of engine that we hadn’t written yet. The settings themselves were all there and working, but we had to:

1) Pull them out into moddable xml, so modders can define their own settings that persist across save/load.
2) Extend our UI framework with a way of defining UI controls that’s reasonable for this kind of variably-sized table where the rows have different types of controls (toggle settings need different input elements than a slider setting or a dropdown-choice setting, etc).
3) While we were at it, add sliders to our UI framework. Both for scrolling the menu itself, and for the slider-based settings.
4) Get those maddening floating tooltips to draw _over_ everything else, rather than under some things. They have to be drawn on an entirely different _canvas_ for this to work. Nothing else we tried would do.
5) Actually code the window, test, and debug some “interesting” issues. Notably what happens when all the settings somehow get initialized to zero instead of their defined defaults or even their defined “minimum” values, and when this doesn’t happen at all until a user is testing with their steam copy (sorry, Badger!).

And more. The menu is still in fairly rough shape; it needs a background and border, and it needs some kind of tabs or other sub-categorization so you’re not scrolling endlessly, and so on. But it functions, and here it is :)