Started by Nightinggale, October 31, 2017, 06:57:04 PM
Quote from: ChangelogUpdating 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 Managerv1.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 Managerv1.8This 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.v1.7- Speedboost: cached mod indexes for massive speed boost of some ModCheck internals- Rewritten the log writing system to give better control/more features to patch writers- Rewritten error messages to make it easier to find the error- Changed profiling output. Total on top, one entry for each mod- All PatchOperation names can now be used starting with both upper and lower case (fixes naming inconsistency)- Added new mode to LoadOrder. It can now use first and last strings instead of the old approach (which still works)- Added Sequence operation, which does the same as the vanilla operation, but with ModCheck specific options- Added logic operations AND, OR, IfElse, Loop and Once- Added warning/error if outdated versions of ModCheck are being loaded (risk of new vs old conflicts)- Added a preview logo (thanks to larSyn for drawing it)- Added support for ModSync RW- Fix: profiling now displays correct time if the hardware has a high precision timer- Fix: profiling will no longer cut off the output if you have a lot of patches- Removed the need to include yourMod and modName unless they are actually usedv1.6- Added FindFile to greatly speed up patch files- Added patch operation profiling (with verbose logging only)v1.5- Added ModSync.xml- Added PatchOperation isModSyncVersionv1.4- Fixed issue where cache failed to update as neededv1.3- Fix: checks are now only executed once (massive performance boost)- Fix: writing to the log will now always only write one line and never repeat the same many timesv1.2- Added custom message support (like logging: My mod detected modX and will patch itself accordingly)- Added ability to detect another mod by more than one name (like name v1.3 and name v1.4)- Major code redesign to greatly reduce the risk of bugs when adding new featuresNote: stopped releasing for A17 due to the release of stable B18.If you want to use A17, copying the v1.2 DLL will likely work, but it's untested.v1.1- Converted to mod layout for steam releasev1.0- Initial release
Quote from: Nightinggale on October 31, 2017, 06:57:04 PM including error messages for incorrect setup. .
Quote from: Redfire1200 on November 01, 2017, 06:36:56 PMQuote from: Nightinggale on October 31, 2017, 06:57:04 PM including error messages for incorrect setup. .What exactly do you mean by this, do you mean if I was making a mod and did something wrong in the defs it would point it out? Or do you mean if a put the mods in the wrong order or some thing like that?
Quote from: Redfire1200 on November 01, 2017, 07:25:16 PMSo if a mod needed hugslib or jecstools loaded first and I put them last it would tell me?
<Operation Class="PatchOperationSequence"> <success>Always</success> <operations> <li Class="ModCheck.isModLoaded"> <modName>HugsLib</modName> <yourMod>ModX</yourMod> <errorOnFail>true</errorOnFail> </li> <li Class="ModCheck.loadOrder"> <modName>HugsLib</modName> <yourMod>ModX</yourMod> <errorOnFail>true</errorOnFail> </li> </operations></Operation>
Missing mod: "HugsLib", needed by "ModX"Mod load order: "HugsLib" needs to be loaded before "ModX"
Quote from: kaptain_kavern on November 06, 2017, 10:39:48 AMA18 will have a method to check for other mods natively BTW
<MyModName>something</MyModName><MandatoryBefore> <li>HugsLib</li></MandatoryBefore><Incompatible> <li>some other mod</li></Incompatible>
Quote from: Nightinggale on November 08, 2017, 09:05:52 PMReleased version 1.1.....Hopefully this will make more people aware of what I have made as it seems to be fairly unknown and unused so far
Quote from: larSyn on November 11, 2017, 09:08:26 PMDon't feel bad, Nightingale.
Quote from: larSyn on November 11, 2017, 09:08:26 PMAfter you posted in my Help thread I downloaded it and rewrote all my patches using it. I didn't know about the new Patch Operation either... Anyway, ModCheck worked very well during my testing, and I plan on using it for now.
Quote from: larSyn on November 11, 2017, 09:08:26 PMI would definitely be interested in seeing what else you add.
Quote from: Nightinggale on November 12, 2017, 12:02:50 AMI don't feel bad about getting awareness anymore. In the very precisely 3 days it has been on steam, ModCheck has gained 98 subscribers. Granted that's for A17 and A18 combined, but A18 has 67 subscribers alone, meaning it is somewhat known by now.
Quote from: Nightinggale on November 12, 2017, 12:02:50 AM...While I expected it to work just fine, it's good to know other people can figure out how to make it work as well.
Quote from: Nightinggale on November 12, 2017, 12:02:50 AMMe too. Right now all I can think of is allowing the strings to be translated and to allow custom error messages, like adding an xml tag of a line, which will be used if set. While I might change lots of stuff in the future, I plan to be backward compatible meaning the patch xml files being written now should work with future versions as well.Ideas for new features are welcome.