shadowmage45 / TexturesUnlimited

KSP Shader, Texture, and Modeling Utilities
GNU General Public License v3.0
29 stars 17 forks source link

Recolor GUI Usability #32

Closed Electrocutor closed 6 years ago

Electrocutor commented 6 years ago
shadowmage45 commented 6 years ago

Allow vertical and horizontal window resizing to allow more preset colors to show. Save window size to use at next open.

Is already done, though it is currently setup to use a config file for the window width/height settings. I'm unsure if the Unity IMGUI windows support run-time resizing, but will investigate.

Actually, some quick investigation reveals that the IMGUI.Window does -not- support run-time resizing operations by default; so for now the config file will be the only option.

Add button 'Cascade' to force current color settings down to all child parts. Also forces all same-name child parts to same pattern setting (if exists).

Interesting proposition, but I think it would need more utility and options to be a good addition. Need to be able to pick the 'cascade direction' at least (parents, or children, or both). Seems like there is something else that should be added as well, but I'm not coming up with it at the moment.

Add checkbox in GUI for symmetry duplication of color settings. Checked by default.

Not sure how well KSP will deal with non-identical symmetry parts. It certainly has issues with resources and modules (they -must- be identical on symmetry parts), but might be able to get away with different color options (though I think texture sets must match). Will do some investigation to see if it is workable.

Electrocutor commented 6 years ago

The issue right now is that the GUI does not apply to symmetry, so if you have 8x parts, you have to color each of the 8 individually.

Consequently, KSPTextureSwitch is forced across symmetry.

shadowmage45 commented 6 years ago

The issue right now is that the GUI does not apply to symmetry, so if you have 8x parts, you have to color each of the 8 individually.

Well, that can certainly be fixed up, and should be fixed for the next release.

Symmetry-handling is done through the PartModules code though, and not the GUI. Which means that there is not really a way to toggle it from the GUI (without changing method signature on the interface, and adjusting 20+ more PartModules in SSTU for the changed signature). It is either enabled in the PartModule (e.g. the code is there), or it isn't (e.g. no code).

As it will require major code-changes in SSTU for this, I'll investigate more during the KSP 1.4 updates.

Mecripp commented 6 years ago

How do you open the Part recoloring window or am I just missing something in the cfg ?

shadowmage45 commented 6 years ago

@Mecripp You need to add the recoloring GUI PartModule to the part. Once it is there, it will add a button called 'Open Recoloring GUI', that does exactly that.

Now, that is only one part of it. Your texture sets (and textures, and shader choice) must also support recoloring. Just adding the GUI, by itself, will do nothing.