RimWorld

RimWorld

Not enough ratings
PatchOperationModCompatabilityCheck mod
   
Award
Favorite
Favorited
Unfavorite
File Size
Posted
Updated
9.935 KB
5 Nov, 2017 @ 6:45am
5 Nov, 2017 @ 6:52am
2 Change Notes ( view )

Subscribe to download
PatchOperationModCompatabilityCheck mod

Description
This mod contains an assembly for checking mod compatability with a patch operation. The patch operation will check if the mod(s) are present in the load order of active mods. If all mods are present then it will give a success, otherwise it will give a failure. The operation also checks if both the ModName and ModList fields are used. If so then the operation will also give a fail because these fields are mutually exclusive. For an example look at the steam page or the test patch included.

I made this assembly for checking for mod compatability because I found there wasn't one where I could see if the patch succeeded properly and if it failed, which mods it didn't find.

The debug log included a standardized version of the operation as well as which mods were found and which weren't found. At the end there is also the entire list of names it checked agaist for you to look through to see if you didn't mistype something.

Look at the patch example discussion to see and example of the operation with both types of fields (it is a copy of the patch that is included in the mod).

Github[github.com]
Popular Discussions View All (1)
0
5 Nov, 2017 @ 6:45am
PINNED: Patch example
Raszagal
9 Comments
nightinggale 6 Jun, 2019 @ 6:39pm 
Rather than request an update of mod, which haven't been updated in 2 years, why not use ModCheck? It can do the same (and more) and it's maintained and fully up to date.
AncientGatekeeper 6 Jun, 2019 @ 6:29pm 
Can you update this mod since with 1.0, some of the older coding reqs changed. Would really help when I create patches for some of my fave mods. Thanks!
nightinggale 8 Nov, 2017 @ 6:48pm 
Fair enough. I added ModCheck to steam. It took a while because the release structure I had chosen had to be completely redesigned to work on steam. In fact the only thing, which didn't change is the C# code itself.
AvocadoGuy 6 Nov, 2017 @ 7:38pm 
@nightinggale Please, post it to Steam Workshop. Your mod seems useful, and I would like to subscribe to it
nightinggale 6 Nov, 2017 @ 1:36pm 
And for the record: either solution should work in both A17 and A18. A18 has added the ability to check if a mod is loaded in patch operations, but that won't conflict with any of this.
nightinggale 6 Nov, 2017 @ 1:26pm 
There are some fundamental differences between this and ModCheck and ModCheck is significantly bigger and more advanced. For a start, ModCheck is aware of mod load order and can give an error if the order is incorrect. This applies to mandatory and optional mods, as in "if you load this mod, this is the order, but it's also fine if you don't".

Possibly the biggest difference is that I decided to not make a mod. Instead each mod using ModCheck should add ModCheck.dll itself. This means you will never get errors due to using a patch file without having the assembly loaded. Your mod will add your mod as requirement to every single mod using it.

The big question now is what should we do? It seems getting mod creators to use even one of these is a struggle. Having two competing systems will most certainly not make it any easier.
nightinggale 6 Nov, 2017 @ 1:25pm 
I released a tool/mod called ModCheck to do the very same thing 5 days before this was released!!!!

Naturally this made me look closely at the code and surprisingly despite the same goal and being based on PatchOperation, our codes have nothing in common. Even more surprisingly we both made a project on GitHub on the very same day, which is before I released anything.

ModCheck:
Forum post [ludeon.com]
GitHub [github.com]
Raszagal  [author] 6 Nov, 2017 @ 11:06am 
Don't know, I have tested it myself on A17. I haven't started playing at A18 yet so I haven't tested it at that version.

As long as the coding behind the PatchOperation and the mod loading haven't changed it should work. Though you might want to see if works just with the testpatch that should show up in the debug.
Crisp 5 Nov, 2017 @ 2:38pm 
Does this work with A18?