Allow freezing the UI scale for Classic ASCII glyphs mode #5551
definability
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
The new mouse-intensive UI makes precise area selection difficult, requiring larger map tiles. However, the larger tile size when the "Classic ASCII glyphs" option is enabled means larger UI elements, hiding valuable information like specific good stocks and citizens' moods.
Further, I will call the graphics mode with "Use Classic ASCII glyphs" enabled as "Classic", and refer to disabled as "Premium" (even though you can use a custom graphics set for it).
In Classic mode, the scale (controlled by
[
and]
orCtrl
+ mouse wheel) affects UI and game objects. I suspect this behaviour was left from the earlier game versions that used ncurses, where the number of columns and rows limited the entire game graphics, and was preserved just for nostalgic taste.The UI size is fixed in Premium mode, and scale parameters only affect the game objects and map.
Possible solutions:
Challenges
Graphics set
I have no idea how to automate the creation of a graphics set because the game uses different entries in the configuration files for various states of objects: bleeding, strange mood, kid, and so on.
Another problem — non-classic glyphs mode only supports static images. The Classic mode contains a lot of helpful information, partially because it allows blinking between different glyphs to indicate the state of the game characters.
Rendering system modification
Currently, it looks to me like the Premium mode works as follows:
I came to this conclusion because modifying the number of rows and columns in memory affects everything in Classic mode but only the UI in Premium mode; moreover, these values are reset to default values once I switch from Classic to Premium mode.
If my conclusions are correct, I suggest this was done because it would be hard to implement another way, which means it is hard to patch this behaviour using DFHack.
Redrawing UI from scratch
Very time-consuming because the task may expand from remaking the top UI panel to remaking all UI elements, including
Beta Was this translation helpful? Give feedback.
All reactions