Pidgeot / python-lnp

Cross-platform re-implementation of the Lazy Newb Pack launcher.
ISC License
65 stars 10 forks source link

Add an option to toggle printmode between 2D and standard #101

Closed Pidgeot closed 4 years ago

Pidgeot commented 4 years ago

There's a small but notable minority who don't like the Text will be Text plugin, and the best way to toggle this on and off is to change [PRINTMODE: between 2D] and STANDARD]. Adding a button to do this should be fairly easy, probably on the options or the graphics tab.

[Issue created by PeridexisErrant: 2014-09-18] [Last updated on bitbucket: 2014-09-19]

[Comment created by Pidgeot: 2014-09-19] Add print mode setting (fixes #24)

→ <>

[Comment created by PeridexisErrant: 2014-09-19] '''Toggles 'print_mode'. '2D' allows Truetype fonts, 'standard' enables advanced graphics tools.'''

Fairly non-specific, but should also be meaningful to people trying to disable TwbT / Rendermax / Stonesense overlay / etc.

[Comment created by Pidgeot: 2014-09-19] I can add a printmode button, but anything beyond that will at the very least require a way to detect whether those components are even present, so it can be hidden if they're not, and that really sounds like a separate issue..

I can't think of a good tooltip for the printmode right now, so if either of you have ideas, I'd appreciate it. I would like not to get too mod-specific, though; it should make sense even in a pack where DFHack isn't present.

[Comment created by PeridexisErrant: 2014-09-19] Having an explanatory tooltip would be good, but I think most of the other changes are beyond scope, and I can't see a robust way to autoconfigure them.

The [FONT] and [FULLFONT] tags only apply when we have set [GRAPHICS:NO], which is not the case in any graphics pack. The launcher does not need to handle these, and where would it get the alternative values anyway? Multiple files breaks compatibility with other tools, and breaks the drop-in nature of graphics packs.

There's no standard place to put all the dfhack settings, so you'd have to parse many files to check them and then edit in place. It also makes the launcher implicitly reliant on having TwbT installed with dfhack, which is not currently the case. Unless the dfhack detection and handling is improved a lot (difficult cross-platform), I don't think this is a good idea.

Basically these are sufficiently different to deserve a separate issue if you feel strongly about them.

[Comment created by fricy: 2014-09-18] That's a start, but let's go further:
1, Button/drop-down list/checkbox to change between 2D and Standard. Tooltip should tell the user that 2D is needed for stonesense (this will change later) and ttf fonts and standard for twbt.
2, If Standard is set new options are activated: (default greyed out)
a, Item overrides button/checkbox (default on) - copies/deletes or renames the overrides.txt in data/init (tooltip: this setting activates additional item sprites)
b, multilevel dropdown list (0-10) defaults to 5, setting stored in dfhack.init [multilevel 5] (tooltip: This sets the displayed z levels in the game, warning: setting it too high will slow down your game)
There are other optional settings in dfhack.init that may make sense to add here, like [multilevel fogdensity x x x ] [multilevel shadowcolor x x x] and keybindings for twbt zoom. I can be persuaded that these are not necessary though.
c, plus for easier toggling between twbt and vanilla we need a way to track [FONT] and [FULLFONT] entries in init.txt. When using 2D (vanilla) these should be the same as [GRAPHICS_FONT], but when using STANDARD (twbt) rendering these will be different, [FONT] being the text tileset, and [G_FONT] the graphics pack's default tileset. For eg. in CLA: FONT is Myne.png, while [G_FONT] will be CLA.png.
If it helps, I can easily provide two different init files for differing modes, that way you don't have to parse the file. (init_vanilla.txt and init_twbt.txt) Whichever you think is better.