[Tool] AllYourBase - Detects misusage and overwrites of vanilla bases

Started by Mehni, January 30, 2019, 09:36:07 AM

Previous topic - Next topic

Mehni

Why?
Overwriting (abstract) bases was all the rage back in A13. Some modders haven't caught on that this is now a really bad idea that causes weird and hard to detect issues. For more info: https://spdskatr.github.io/RWModdingResources/abstracts

Installation instructions:

Usage:
Load order is irrelevant. AllYourBase will spit out yellow warnings with the exact mod, XML node and file that misbehaves.

If you enable Verbose Logging, AllYourBase will attempt to fix overwrites. Sometimes this makes it worse. Use Steam's handy Verify File Integrity if that happens.

It's recommend to yell at educate the author of the offending mod.

Mehni

I originally made this tool after seeing the same issues again and again in the troubleshooting channel on the discord. It has been out for a while and feedback has been positive, so I decided to put it on the forums as well.

FAQ:
Q: What's the difference between this and the "rimworld mod conflict checker"?
A: If you overwrite a single Def, that's one Def and not much of a compatibility problem. If you overwrite BuildingBase, that's a few hundred Defs and a headache to track down.

Q: Your tool broke my mods!
A: Suck it up. No support.
Removing the overwrite of an abstract def might break the one mod that depends on the badly overwritten abstract, but may fix a hundred others.

Q: I get a message about a broken Chemical Def.
A: Oh yeah. I chucked that one in after seeing an issue relating to that pop up frequently too. It's a nasty error that breaks worldgen.

Q: What's the real problem with overwriting Abstracts? I've done it for years.
A: Get with the times. Most nefarious example I've seen was a mod redefining a Hediff as a ThingDef. Broke all well-behaved bionics mod that came after it.

Q: What if I really need to overwrite a Base?
A: Use xpath to change the single value, or define your own base with a unique name.