Why do so many mods keep <targetVersion> in About.xml?

Started by account13123, June 07, 2019, 12:25:44 AM

Previous topic - Next topic

account13123

I have a lot of mods installed and until I went through and fixed them all myself, every time I loaded the game my log was flooded with over a hundred of the yellow errors this generates(2 per mod with <targetVersion>.) I figure modders probably know what they're doing, so is there something to be gained by keeping the old syntax? Backwards compatibility maybe?

Mehni

As a modder: part laziness.

It takes about an hour to update the various channels (Steam/GitHub/Ludeon/Nexus/Discord/Patreon). All that to fix an annoyance. I have about a dozen mods, so that's a day wasted.

As a cynic: because 1.0 claims backwards compatibility but it's not.

It's a breaking change that came in the middle of a stable release (1.0 pre 2150 can't parse the supportedVersions tag!) so modders got screwed by it. You either keep using <targetVersion> and support all builds of 1.0 (including those after 2150) or you use <supportedVersions> and only support the subset of 1.0 versions that were released after build 2150.

It causes an error for some if I change to <supportedVersions>, and it causes an error for others if I don't change to <supportedVersions>.

I'll update the version when there's a real reason to update the mod.

account13123

So what I'm hearing is that it's much easier for the end user to change it locally, as they're the ones in a position to know what they need that line to read whereas a modder can only guess.

Can you tell me more? The most current version needs supportedVersions reading major.minor, builds before 2150 need targetVersion reading major.minor.build, are there any other cases? How about alpha and beta, were those different? If I knew the different cases, I think I could make a python script to automate this. It'd be like, run from game root folder, import xml parser, look in version.txt, choose a case based on what it says, look for about.xml in the mods subdirectory and see if it matches the case already, if not, comment out the original line and add the line from the case, release the file, repeat for each about.xml found

Canute

Just open a mod that don't give out an error. Any HTML browser do the job.
Mark the part from <supportedVersions> to </supportedVersions> and copy it to the clipboard.
Then open the mod which cause the error mark from <targetVersion> to </targetVersion> and paste the clipboard.
But that's only work's well for non-workshop mods.
Since i don't use steam i can't say how much "repair" steam your modified mod.

If you got some knowledge into scripting you maybe can write a tool that scan all mods at the Mods folder and modify it ! :-)
I allways was to lazy to do it myself.


account13123

Quote from: Canute on June 07, 2019, 05:54:09 AM
Just open a mod that don't give out an error. Any HTML browser do the job.

I recommend notepad++ or a compatible IDE for viewing and editing files rather than using a browser.

Quote from: Canute on June 07, 2019, 05:54:09 AM
If you got some knowledge into scripting you maybe can write a tool that scan all mods at the Mods folder and modify it ! :-)
I allways was to lazy to do it myself.

My last post had pseudocode for exactly that. I spent a very limited time trying to learn but python is built for trivializing exactly this kind of task without programming expertise.

Quote from: Mehni on June 07, 2019, 07:11:16 AM
have a guide with pictures https://imgur.com/a/uHzxewm
Oh crap npp is such a swiss army knife I never noticed "find in files" until forced to go and look just now. That's a great option, thanks