Jimk72 / Icarus_Software

App for editing Icarus mods.
29 stars 5 forks source link

Choice window #1

Open DeadMor0z opened 2 years ago

DeadMor0z commented 2 years ago

It would be better to make choice window appear after all mods were processed with a result like this:

where item_name is clickable and open/close its values list, and values list is radio buttons, with preselected value, based on mod order. This way you can review all mod conflicts at one page, you can select between multiple values. For complex values (which cannot be displayed on a single line), you can add a preview window to show current item with selected value and highlighted changes.

Jimk72 commented 2 years ago

I merge one at a time to keep memory low and simplify possible json grammar errors which will crash manager and game. Just one , missing crashes entire game. There should not be many mods merging that share all the same items unless your trying to merge several overhaul mods to create a custom mod. Which can be done but not what it's designed for. It's more for allowing smaller specific mods to be merged into an overhaul mod or merge several small mods into one large one. The option to even select a choice is kind of a hack as the json distribution I use is more of a read only so I convert it to text to display and change(allow choice) and then load the text back into json object to store until I save it as json file. Not saying it can't be done but would require loading all merged mods only to reference the conflicts and then allow choices and save the choices and then merge back in the choices while merging the values that don't conflict.

DeadMor0z commented 2 years ago

Yes, this will require two-pass (if choice is enabled) - build conflict map (allow to make a choice), then merge mods using conflict map. Unfortunately, there are overhauls mostly and some little mods. merging overhaul (which mostly suits your needs, except some) with little mods (which could make that overhaul better) is a pain. If you accidentaly selected wrong value - you should start from beginning ( But I see your point. Anyway, it was just a improvement suggestion, not a request )