RimWorld

RimWorld

558 ratings
ModCheck
   
Award
Favorite
Favorited
Unfavorite
Mod, 1.0
File Size
Posted
Updated
199.381 KB
Oct 21, 2018 @ 8:22am
May 29, 2019 @ 2:11pm
3 Change Notes ( view )

Subscribe to download
ModCheck

Description
Toolkit for xml modders. Adds 13 new patch operations. Eliminate the need for patchmods. Patch according to presence, order or version of mods. Reorder xml elements, write patching results and test results to the log. Allow faster patching (shorter startup time) and measure how long each patch spends patching.

The primary task for ModCheck is to remove the need for patch mods. It's done by adding test operations, which can tell if another mod is loaded, if one mod is before another, is of at least a certain version, either in About or in ModSync. Each of those can be reversed (not loaded etc).

Adds logic operators, like sequence, AND, OR, If else conditions. This can be used together with the test operations or vanilla operations to make complex test conditions if needed.

Boost performance. Need to do multiple patching operations on the same building? Search, keep the result and run a list of patches without performing a full xpath search for each operation.

Added a bed and want it to appear in the build menu next to the vanilla beds? The Move operation allows you to alter where your modded building will appear.

Feature rich log writing. Get operations to write messages, warnings and errors if operations succeed or fail. Tell the user if a needed mod isn't loaded or load order is incorrect. Also allow writing conditionless with whatever message you might want to add.

Profile patches. Measure how much time is spend on each patch. ModCheck is aware of which mod owns which patch, meaning you can get a precise view of the startup time of your mod. You can name your patches if root operation is from ModCheck, like ModCheck.Sequence. This will allow performance printout with names rather than just patch 1,2,3....


Forum Thread[ludeon.com]
GitHub[github.com]
Manual of each operation[github.com]

Mod Load Order:
In most cases this doesn't matter, but early is recommended.

The only problem with load order comes from mods including an outdated version of ModCheck. If that is the case, then the newest version of ModCheck needs to be first. If this happens, then ModCheck will provide an error, which should make the issue easy to fix, both for players and mod creators.

Changelog:
Updating ModCheck will not break existing xml files unless stated otherwise.

v1.8.1
- Fixed compatibility issue with updated Rimworld. Profiling works again.
- Updated version URL for Fluffy's Mod Manager

v1.8 (RW 1.0)
Update to about only. The DLL file will not even have to be updated.

- RimWorld 1.0 support
- Added support for Fluffy's Mod Manager

v1.8
This is a significant update from a coding point of view. B19 vanilla changed completely regarding patching.
While the code is significantly better, all Harmony calls from ModCheck had to be redesigned and rewritten.

- Added B19 support
- Added Search operation to speed up patching when the same object is patched multiple times in a row
- Added Move operation to control cases where order matters (like order of building buttons)
- Patch profiling now measures the time more accurately (less rounding errors)

XML BREAKING ALERT!!!
Removed FindFile operation (vanilla rewrite renders it both obsolete and impossible to implement)
Any xml file with FindFile will need updating.


Earlier versions mentioned in the B18 mod page
Popular Discussions View All (3)
3
Feb 23, 2020 @ 12:22pm
Mods that use Modcheck
Mitz
2
Aug 30, 2019 @ 6:35pm
Getting this error, would you kindly take a look?
eM0rT4L
0
Dec 22, 2019 @ 2:26am
Описание на русском. Description of mod on Russian.
Protok
72 Comments
Arcanant May 13, 2021 @ 10:09am 
1.2? :o
Mlie Mar 26, 2020 @ 11:25am 
I made an update of this for RimWorld 1.1
https://steamcommunity.com/sharedfiles/filedetails/?id=2035333096
Since I do not know witch mods use this it is not tested very much, so any users of this is welcome to test it with their mods.
Hope this helps!
Sasha Fox #SaveTF2 Mar 24, 2020 @ 4:57pm 
Just adding support for a 1.1 update as I think this is a great mod!
PeachySnail183444 Mar 22, 2020 @ 9:07am 
updet?
tuk0z Mar 16, 2020 @ 2:59pm 
Rimworld 1.0 and a bunch of mods (the majority updated to v1.1) here. Since I installed ModCheck (to the top right below Core and HugsLibs), from Steam I got no more logs when starting the game and so far my big final stage game runs smoother.
IceMaverick Mar 16, 2020 @ 1:37pm 
@Thetaprime I think you're mistaken. The last thing the author said was from August of last year.
BattleGrown Mar 15, 2020 @ 9:04am 
Where does he say that exactly?
Thetaprime Mar 2, 2020 @ 10:23am 
Quit asking for 1.1 fools. Read a few entries down and the author states he would like to do it, but no ETA.
AL3X Mar 1, 2020 @ 4:02pm 
1.1
thorman123456789 Feb 29, 2020 @ 3:58pm 
update for 1.1?