[SUGESTION] mod presets

This forum is the ideal place for all discussion relating to X4. You will also find additional information from developers here.

Moderator: Moderators for English X Forum

kmunoz
Posts: 444
Joined: Sun, 25. Feb 07, 19:59
x4

Re: [SUGESTION] mod presets

Post by kmunoz »

CBJ wrote: Sat, 29. May 21, 22:40 I know what you're suggesting, but when I asked the relevant person about it they told me we couldn't do that because it's Steam Workshop that determines what mods are loaded and we can't override that with locally-defined mod collections.
All of the Paradox games seem to be able to manage this just fine. They use a launcher that lets you select from your subscribed mods before loading the game proper (and as a result they are able to offer mod set functionality). So, to put it bluntly, what you've been told is demonstrably false.

A related problem with X4 is that if you turn off a Workshop-based mod in Extensions, then that mod shows up as not subscribed in Steam. That is counterintuitive: I still want to be subscribed to the mod (to get updates, etc), I just don't want it to be loaded right now. And again, this is a problem that Paradox and other developers have already solved.
Let's Play Poorly! - Suboptimal X4 Playthroughs
jlehtone
Posts: 22537
Joined: Sat, 23. Apr 05, 21:42
x4

Re: [SUGESTION] mod presets

Post by jlehtone »

You mention "Steam Workshop". I have no idea what that is. Do players with GOG version know?
I presume that all mods are not via "Workshop".

Do you want a solution for all mods, or just for the Workshop? Does the Workshop even have anything to do with the game, or is it completely "external"?
Goner Pancake Protector X
Insanity included at no extra charge.
There is no Box. I am the sand.
michi_oss
Posts: 600
Joined: Sat, 14. Oct 06, 15:02
x4

Re: [SUGESTION] mod presets

Post by michi_oss »

kmunoz wrote: Sun, 6. Jun 21, 05:46
A related problem with X4 is that if you turn off a Workshop-based mod in Extensions, then that mod shows up as not subscribed in Steam. That is counterintuitive: I still want to be subscribed to the mod (to get updates, etc), I just don't want it to be loaded right now. And again, this is a problem that Paradox and other developers have already solved.
Really? The mod itself is unsubscribed? What is that for a strange implementation? :o

The developers from Egosoft should ask developers from Paradox games or Urban Games how to implement mods correctly. :D ;)
Die Kraft einer Kerze ist die Flamme, aber sie brennt nur so lange wie der Docht.
bogate
Posts: 81
Joined: Sat, 29. Dec 18, 23:08
x4

Re: [SUGESTION] mod presets

Post by bogate »

jlehtone wrote: Sun, 6. Jun 21, 11:38 Do you want a solution for all mods, or just for the Workshop? Does the Workshop even have anything to do with the game, or is it completely "external"?
A solution should work for all mods in the extensions folder. I also dont understand why workshop and non-workshop mods are treated differently, i have both kinds of mods installed in my game and i can deal with both at the same time in the ingame extensions menu. Making a mod preset in the ingame extensions menu shouldnt be that difficult, just ignore the workshop and treat all mods in the extension folder the same or something. Nobody is saying that switching mods on the fly without restarting the game is needed, but having a presets in the ingame extensions menu and getting a restart game prompt after changing it shouldnt be that complicated.

If workshop mods are treated differently because of the update then just differentiate between both, make a subscribed list ingame (which already exist as you can go to the inagme extensions folder, click the desired mod and tell it to update or not) and then make a second list of mods to load. Workshop and non-workshop mods coexist perfectly, it shouldnt be that difficult

My method of switching game folders works but needing a second installation is pretty bad.
kmunoz
Posts: 444
Joined: Sun, 25. Feb 07, 19:59
x4

Re: [SUGESTION] mod presets

Post by kmunoz »

It's also unfortunate that the saved game information doesn't tell you which mods were in use the last time you saved, or better yet provide you with a button that reconfigures the on/off switches to match the save. So if I have multiple save games using different sets of Extensions, I have to write down the list manually in order to keep everything correct.

And the more I think of it, the more it seems that the inability to do mod presets within the game itself makes no sense. If *I* can manually switch extensions on and off, there's no reason I can think of why the game couldn't have a way to read my current pattern of on and off, save that pattern, then reload it when I choose. Functionally it would be identical to the way a saved game works: capture the state of the extensions list, save it to a named file, then reload that named file at the player's request. You'd still have to restart the game to actually load the set correctly, but that's a negligible obstacle in comparison to the absolutely massive value of having mod sets.

In fact... a question: is the pattern of on/off extensions saved in a readable config file? It must be stored somewhere, because an extension can be "off" and still in the Extensions folder (which means that the game isn't merely reading the extensions folder and treating everything it finds there as "on").

If it is stored in a readable config file, some enterprising modder could make a command line batch file of some sort that would let you insert/replace mod sets into that config file.

Edit: it's in Documents/Egosoft/X4/<profileID?>/content.xml

Completely human readable. A game launcher could read it, modify it based on a selection from a list of presets (or save a preset based on the current state), then save the file and launch the game. I'm fairly sure that's exactly what Paradox does with their launcher. No reason X4 couldn't have something similar (either made by EGO or put together by a modder).
Let's Play Poorly! - Suboptimal X4 Playthroughs
bogate
Posts: 81
Joined: Sat, 29. Dec 18, 23:08
x4

Re: [SUGESTION] mod presets

Post by bogate »

kmunoz wrote: Mon, 7. Jun 21, 00:01 If it is stored in a readable config file, some enterprising modder could make a command line batch file of some sort that would let you insert/replace mod sets into that config file.

Edit: it's in Documents/Egosoft/X4/<profileID?>/content.xml

Completely human readable. A game launcher could read it, modify it based on a selection from a list of presets (or save a preset based on the current state), then save the file and launch the game. I'm fairly sure that's exactly what Paradox does with their launcher. No reason X4 couldn't have something similar (either made by EGO or put together by a modder).
That is a really nice find. It should be no problem to make a simply gui to edit that file based on stored presets and even change the save directory to match the preset automatically. And everything could be done prior to game startup. Sadly coding such a thing is well beyond my ability
kmunoz
Posts: 444
Joined: Sun, 25. Feb 07, 19:59
x4

Re: [SUGESTION] mod presets

Post by kmunoz »

bogate wrote: Mon, 7. Jun 21, 12:13Sadly coding such a thing is well beyond my ability
Same - but it looks like the sort of task that would be absolutely trivial for someone with a modicum of programming knowledge. If I knew even just a little bit more Python I could probably pull it off. (It might also erase your hard drive and burn down your house, but it would work.)

It would just need to mimic the Extensions menu in the game - give you on/off switches for each mod that it finds in the content.xml file. (This alone would be a boon - you could set your mods before launching the game, rather than having to launch, set mods, quit and launch again.) And then allow you to either save that setup directly into context.xml or save it as a separate (preset) file.

And then from there, someone could add a pulldown menu that lets you pick one of the preset files, which then copies that file over as content.xml, replacing the one that's currently there. (You would presumably want to have a "default" preset that is either all on or all off, as well as a "revert" option that would restore the last content.xml in the event of a disaster.)

Alternatively, the mod launcher could ignore content.xml (on first run) and simply generate the mod list from what's in the extensions folder. The way content.xml works currently, if you remove an extension from the folder it DOES NOT remove that extension from content.xml. (This is not a problem normally, but it might get weird if the mod launcher reads an extension in context.xml that you don't actually have installed anymore - you might expect it to be there, but it's not. The game still runs just fine, it's just that the extension is missing.)

In game, X4 is doing some comparison between the content.xml file and the extensions folder. It's reading the on/off state from the xml file but reading the exists/doesn't exist state from the extensions folder. So if you remove an extension from the folder it doesn't show up in the game's list, either as on or off, but if you then put it back it will restore whatever on/off state was in effect the last time you had it - because it's still in content.xml.

I know way more about this than I should, for someone who can't program his way into a paper bag, let alone out of it.

Edit: Final thought: having a mod preset launcher would be an absolute boon for modders and mod testers. It would make A/B testing (see? I know some things... I just can't use them) so much easier. (Maybe modders already edit their own content.xml files?) It would also make playing multiple saves with different extensions much easier. Honestly half the reason I don't routinely switch between my vanilla save and my Star Wars Interworlds save is because it's a multi-minute hassle to launch, switch on/off the extensions, quit and relaunch. And I used to play with over 50 mods installed (non-Star Wars) but once I started a vanilla save so I can help test 4.1 beta, I just gave up on it because the effort required to go through and turn all of my extensions off and on again is just too annoying.
Let's Play Poorly! - Suboptimal X4 Playthroughs
Eyeklops
Posts: 363
Joined: Tue, 23. Mar 21, 17:58
x4

Re: [SUGESTION] mod presets

Post by Eyeklops »

kmunoz wrote: Mon, 7. Jun 21, 00:01 It's also unfortunate that the saved game information doesn't tell you which mods were in use the last time you saved, or better yet provide you with a button that reconfigures the on/off switches to match the save. So if I have multiple save games using different sets of Extensions, I have to write down the list manually in order to keep everything correct.
As a new(er) player what is frustrating for me is that I cannot tell what save games are vanilla vs modified. Maybe I'm missing that indicator somewhere on the savegame info screen. I'm certain the game knows when it's using a save from a modified game session but it just doesn't seem to make it very obvious. Because of this I stopped using all mods, restarted a new savegame, and just play vanilla now.
kmunoz
Posts: 444
Joined: Sun, 25. Feb 07, 19:59
x4

Re: [SUGESTION] mod presets

Post by kmunoz »

Eyeklops wrote: Tue, 8. Jun 21, 19:00As a new(er) player what is frustrating for me is that I cannot tell what save games are vanilla vs modified. Maybe I'm missing that indicator somewhere on the savegame info screen. I'm certain the game knows when it's using a save from a modified game session but it just doesn't seem to make it very obvious. Because of this I stopped using all mods, restarted a new savegame, and just play vanilla now.
I don't think there is an indicator on the saves themselves, only on X4 as a whole (on the main menu screen it shows "modified" under the version number if you have mods loaded). The only time you'd know if a save is modded is if one of the mods it uses is required for it to run, and you don't have that mod loaded (the game will not load the save).
Let's Play Poorly! - Suboptimal X4 Playthroughs
Eyeklops
Posts: 363
Joined: Tue, 23. Mar 21, 17:58
x4

Re: [SUGESTION] mod presets

Post by Eyeklops »

kmunoz wrote: Tue, 8. Jun 21, 19:58
Eyeklops wrote: Tue, 8. Jun 21, 19:00As a new(er) player what is frustrating for me is that I cannot tell what save games are vanilla vs modified. Maybe I'm missing that indicator somewhere on the savegame info screen. I'm certain the game knows when it's using a save from a modified game session but it just doesn't seem to make it very obvious. Because of this I stopped using all mods, restarted a new savegame, and just play vanilla now.
I don't think there is an indicator on the saves themselves, only on X4 as a whole (on the main menu screen it shows "modified" under the version number if you have mods loaded). The only time you'd know if a save is modded is if one of the mods it uses is required for it to run, and you don't have that mod loaded (the game will not load the save).
I was under the impression a savegame gets internally marked "modded" if saved during a modded session and could not be used for ventures even if the mod was no longer active. The only mod I used is DeadAir AI Tweaks and if I could turn that back on without jeopardy of disqualifying my savegame for Ventures that would be great.
kmunoz
Posts: 444
Joined: Sun, 25. Feb 07, 19:59
x4

Re: [SUGESTION] mod presets

Post by kmunoz »

Eyeklops wrote: Tue, 8. Jun 21, 20:31 I was under the impression a savegame gets internally marked "modded" if saved during a modded session and could not be used for ventures even if the mod was no longer active. The only mod I used is DeadAir AI Tweaks and if I could turn that back on without jeopardy of disqualifying my savegame for Ventures that would be great.
That's correct - the "modded" flag is permanent, even after removing the mods, since the save would still bear the effects of the mod.
Let's Play Poorly! - Suboptimal X4 Playthroughs
Falcrack
Posts: 5712
Joined: Wed, 29. Jul 09, 00:46
x4

Mod profiles please!

Post by Falcrack »

I find myself switching between modded and unmodded games quite frequently. It is a tedious chore sometime to remember all the mods I had previously activated. This is all the functionality I would want it to have:

1. When I save a mod profile (with a custom name), all the extensions which are "on" at the time are saved with this profile
2. When I load a profile, all the mods which are "on" for this profile are turned on, and all the mods which are not part of this profile are turned off.
3. I restart the game, the mods I want are now active, and I load up the game.

No messing with Steam Workshop, no automatic saving of mod profiles for specific save games. Just a simple profile I can load up so I don't have to remember all the different mods I want to be active.
Mr_Blastman
Posts: 99
Joined: Fri, 2. Oct 09, 06:40
x4

Re: [SUGESTION] mod presets

Post by Mr_Blastman »

This would be very useful for those that like to play various mod flavors.

Sometimes I want to play VRO and 30 or 40 other mods sprinkled in.

Other times I want to play Star Wars Interworlds which... is obviously incompatible with most of that stuff.

And on a rare occasion I might want to play stock game.


A mod list selector we save in game, so we can load a list of predefined activated mod files from that list (which will disable anything not on the list) would be ideal. This would be insanely helpful.
CBJ
EGOSOFT
EGOSOFT
Posts: 54258
Joined: Tue, 29. Apr 03, 00:56
x4

Re: [SUGESTION] mod presets

Post by CBJ »

Please don't dig up threads that are over 3 years old. You're welcome to present your own ideas, but please do it in a new thread.

Return to “X4: Foundations”