Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
Release date is: possibly 5 minutes after the Harmony problem has been solved and verified to not break something else. I can't say anything about when that will be, but hopefully soon.
I'll upload the save anyway just in case you want to look but with all the mods I have it was probably something really obscure.
I can't upload a save at the moment but theres a sample of the load error here:
https://steamhost.cn/steamcommunity_com/workshop/filedetails/discussion/836308268/1489987634000889670/?ctp=13
I added the missing dll file. Also it's a steam only problem and the direct download version on github was never affected.
RimWorld disables mods if it crashes. The way to turn that feature off is to open optoins, enable development mode and then disable "Auto-reset mods config on crash", though doing that might require you to reset the file manually if it crashes at startup.. To restore the mods as they were in a savegame, use the mod MOD-E.
@17shadow:
Those mods work just fine for me. I really need the files mentioned previously to figure out the cause of this issue.
I need two files for this:
AppData\LocalLow\Ludeon Studios\RimWorld by Ludeon Studios\Config\ModsConfig.xml
The other file is a savegame, which can't be loaded. Savegames are in
AppData\LocalLow\Ludeon Studios\RimWorld by Ludeon Studios\Saves
Apparently the problem is not in ModCheck itself, but rather ModCheck in combo with another mod and I'm not going to try all available mod loading combos at random to hit whatever trigger condition you have encountered. I loaded more than 200 mods at once, some including an outdated version of ModCheck and it works just fine. I'm really not sure what I can do about this without the files, which should allow me to reproduce the problem.
<Operation Class="PatchOperationSequence">
<success>Always</success>
<operations>
<li Class="ModCheck.FindFile">
<modName>Core</modName>
<file>Weapons_Guns.xml</file>
</li>
<li Class="PatchOperationReplace">
<xpath>/Defs/ThingDef[@Name = "Gun_Autopistol"]/verbs/li/warmupTime</xpath>
<value>
<warmupTime>5</warmupTime>
</value>
</li>
</operations>
</Operation>
</Patch>
So i dont realy know what i am doing wrong here. It works when i use the normal xpath method.. but its seems like it doesn't recognize any changes at all when using ModCheck. Could someone guide me on what i actually have to put inside my patchoperationreplace? It seems like the normal way is worng and there is no documentation on how the patchoperation works.
To enable, go to options, enable development mode and then enable verbose logging. While this is enabled at startup, the time for each mod and each patch is written to the log, like this:
[ModCheck] Time spend on each patch:
1.4382 ms Androids
0.3406 ms
0.1840 ms
0.9136 ms
This shows time for each of the 3 patches in the mod (I added FindFile to them, they aren't part of the mod... yet). This is a great tool when trying to optimize patches for speed. Just measure before and after and you can tell about the scale of the impact.
Note: sometimes one number can be way too high due to multitasking OS stuff. There is nothing to do about it other than measuring 2-3 times to make sure the time is consistent.
Thanks a bunch for swift reply and detailed clarification.
Every single update is backward compatible, meaning it should always be safe to use a newer version of the dll than the one you used while writing the patches.
Speaking of performance, follow the new link at the top of the description for how to write a high performance patch file.
Mods can include the ModCheck dll files and as such can make use of it without mentioning it at all. This allows them to work without loading the ModCheck mod. However I still recommend using the mod because I can ensure the mod to always be the newest version. I can't prevent that mods made by other people might include an outdated version of ModCheck. I'm working on a solution to minimize the problem, but for the time being, the first mod to include the dll is the version used for all mods, hence the reason why ModCheck should be loaded before Core.
Technially the xml patch file with such info could be in any mod, including ModCheck. However I would prefer it to be in the affected mods themselves because once in a whille incompatibility issues are fixed and then ModCheck would keep reporting unless I update ModCheck as well. It would be best if the mod creator, who makes the fix has access to remove the error message as well. Remember it is enough that just one of the mods list the other one as incompatible.
If the mod creators for both mods are unreachable, then I could add the incompatibility to ModCheck, but I really view that as a last resort.
Setting success to Always will work, but I plan to write documentation to explain why it's bad for startup time and what to do instead. It's too long for a comment here. I have a lot to say about start time and patching.
I considered adding support for a steam ID, but decided against it because it will not work for non-steam mods. Name will work everywhere.
The ability to use PublishedFileId (the file is mispelled and hadn't been fixed since) would be nice for steam work shop file, its only going to change if the author decides to delete and reupload their mod.
I tried used vanilla PatchOperationFindMod for dog said patch, and its bad but other reason, the only advantage is that you can use workshop id to find mod. It can't be used in sequence as condition, so you have to write the full operation for every patch operation and dog said patching requires 21 operation. It spits out error if it can not find the mod which is annoying because not finding the mod is to be expected. Your solution is so much more elegant.
The fix actually made ModCheck 1.3 significantly faster than not only v1.1, but also vanilla. While multiple people have tried to make conditional patching since patching was added to A17, none has come even close to the performance ModCheck has now.
You are right the log is in the game itself and it will display a bunch of errors if you do something incorrectly. What this mod does is that it allows mod creators to Add their own errors if certain checks fail. For instance if a mod requires HugsLib, it will create errors if it's missing or loaded after the mod itself. However with ModCheck, the mod creator can add the message that HugsLib is missing or loaded too late and those messages will be on top of the log. This makes it easier for users to set up the mod loading list correctly.
It also adds the ability to make mods patch themselves if a certain other mod is present. This mean if an alien race mod is released, it no longer requires an EPOE patch mod. Instead it can be added directly to the mod itself and then only apply if the user has EPOE in the list of loaded mods.
though Vaguiners sounds like an asshole and clearly does not know how to behave like a decent human being, i can confirm that since the last update of your mod on the 22nd the loading times have jumped from 30 sec to almost 10 min for me. I am using a lot of mods but as i said, the change happend after your last update.
The amount of details you provide makes your comment pointless. Not only is it impossible to tell what you mean by "fucks up", you also tell that you got a lot of other mods, all candidates for problems and conflicts.
I will assume your problems have nothing to do with this mod, at least until more details are provided. The only issue I can see that there might come from having many mods would be that looping all mods takes longer and if more mods need to loop, then it could slow down game startup. However this doesn't "fuck up" the game and I have not seen any evidence that the slowdown is signifcant enough to be considered a problem.