78a100c99e
Added another quality setting (VERY HIGH) and mapped all combinations of platform + the old quality value to the new 4 value quality option, as follows: desktop + mid/high quality => 3 mobile + high quality => 2 mobile + mid quality, desktop + low quality => 1 mobile + low quality => 0 All choice points in the code which enabled/disabled graphics features, based on platform + quality, were mapped onto a table. This showed which features were disabled or enabled depending on the platform/quality combination. It turned out that mid and high quality resulted in the same settings on desktop, so they could be captured in a single value (3). The only change made to the decision points was that desktop + low quality previously turned off the booster lighting effect, whereas that effect is now on for desktop + low quality. This was done so that mobile + mid quality was equivalent to desktop + low quality. By doing this, the "mobile" property can be removed. I also removed the "half" property, and set it based on quality in the HexGL class (basically, it's enabled for mobile + low quality, which is new quality value 0).