More engine features! Implementing automated upscaling to simplify map zooming and larger user interface options as well as to enhance quality-of-life features is another enhancement that adds quality-of-life features.
Assuming we have developed our theories and mockups as planned and have established the necessary architecture... Surely the time has come to start building out the UI layout? Not so quickly!
"While we could begin the project immediately, I foresaw an increasing need for another supporting feature and saw this as an ideal time to automate Cogmind's font scaling".
Cogmind has long featured an assortment of fonts at different sizes, all stored as bitmaps for maximum pixel-perfect crispness. Each font needs its own image file and I manually scaled them up so they are available at higher resolutions - meaning even more files!
Well with the advent of map zooming requiring 2x upscaled versions of all fonts within each set and this entire UI upscale project, which offers an average 33% font size increase to all, we will require many additional upscaled bitmap font files - it would not make sense to manually produce these fonts any longer.
REX is back, again Once again I will revisit REX for major revision since beginning map zoom and user interface scaling work on REX in October 2016. This time is expected to bring major updates like map zooming improvements as well as changes to user interface scaling (xD).
Hello REX. Although this feature I was trying to implement would seem straightforward at first, it turned into quite the lengthy project because of rewriting much of the font handling code within the engine, including some challenging bugs along the way. Assumptions made in the original system would no longer hold, and I wanted additional features on top of autoscaling such as only creating scaled fonts when they're actually needed (yay for faster startup), or making all font sets that used the same source file share a single reference image instead of having multiple copies in memory - though these modifications had their own specific challenges related to changing architecture in order to accommodate for them.
Once again in my dependable REX testing environment, I set out to explore two new syntax options for font set configuration files:
Cogmind Applications
Cogmind's last public release, Beta 12, includes a total of 118 bitmaps font images, and that was before all the map zooming and Beta 13 work, so without this autoscaling feature that number would balloon significantly.
As of writing, Beta 13 has currently dropped that file count to 80, this despite the zooming, nine brand new font types, and supporting even more large options derived from smaller ones.
I had to spend a while going back through all those files to confirm which were original files and which were upscaled--in most cases there were records, but I had to be sure, and did find a few outliers to which I made further manual modifications to their upscaled versions, or sourced from multiple different sets. Those required special treatment, but otherwise it was really nice to cut down on the clutter.