Editing User:Trisscar

Jump to navigation Jump to search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.

Latest revision Your text
Line 33: Line 33:
  
 
There are some "ifs" and "buts" in this statement, but it's largely true
 
There are some "ifs" and "buts" in this statement, but it's largely true
 +
 +
 +
Saved Game Files:
 +
%appdata%\..\LocalLow\Ludeon Studios\RimWorld by Ludeon Studios\Saves
  
  
Line 81: Line 85:
  
 
> Verify Integrity of Game Files...
 
> Verify Integrity of Game Files...
 
  
 
Change Game Version with Steam:
 
Change Game Version with Steam:
 
+
https://gfycat.com/heartfeltdarlingboa
> Steam Library
 
 
 
> Right Click RimWorld
 
 
 
> Properties
 
 
 
> Betas
 
 
 
> "Select the beta you would like to opt into:"
 
  
  
Line 107: Line 101:
  
 
https://rwom.fandom.com/wiki/Mod_Order_Guide
 
https://rwom.fandom.com/wiki/Mod_Order_Guide
 
 
--------------------------
 
 
 
''
 
'''An explanation of how this works code wise;'''
 
 
"Keep in mind that not all mod conflicts will be solved by shuffling load order around. Sometimes mods are just incompatible until the mod authors put in effort to fix their mods.
 
 
Sometimes mods will just be incompatible.
 
 
As with most things, the truth is a bit more fine-grained. It's true that "Core, Mod 1, Mod 2, Mod 3" is the load order, and the last mod "wins", but the actual load order is a bit different.
 
 
- XML
 
 
- xpath
 
 
- C#
 
 
The game first loads all XML (defs, mostly) from Core, Mod 1, Mod 2, Mod 3
 
 
Then it applies all xpath patches from Mod 1, Mod 2, Mod 3
 
 
Then it loads the C# from Mod 1, Mod 2, Mod 3
 
 
Core doesn't use xpath or load any C#, so they're not in that list. The C# for RimWorld is already loaded by that point, roughly speaking.
 
 
So if Mod 3 overwrites something in XML, but Mod 2 overwrites it in xpath and Mod 1 overwrites it in C#, it's Mod 1 that wins -- even though Mod 3 and Mod 2 come after it in the load order.
 
 
There are a few things that matter with load order:
 
 
- Does the mod require a different mod? Examples of that are mods that require HugsLib, Proper Shotguns, Turret Extensions, Alien Races, JecsTools, whatever. If you are missing a dependency, you'll notice: You get a nice red error saying something like
 
Could not find type named TurretExtensions.CompProperties_Upgradable from node <A lot of XML> and missing a dependency like that will put the entire game in a corrupted and unplayable state.
 
 
And then there is another insidious thing some XML mods do: overwrite (abstract) bases. For that, I refer you to https://github.com/RimWorld-CCL-Reborn/AllYourBase. This is something that's still unfortunately very frequently done, and it can cause havoc.
 
 
The C# summary slightly diverts from the truth. It even depends on how they instantiate the mod; there are two or three possible hooks and they happen at different times. Most mods that mess about with Defs will all have to do it in the second or third hook.
 
 
There's inherit from mod, which happens before Defs are loaded. Generally mods can't screw around with Defs in there.
 
 
There's the staticconstructoronstartup annotation which happens after Defs are loaded. This is where mods would screw around with Defs, for the most part.
 
 
Finally there's Hugslibs' ondefsloaded, which is exactly like a staticconstructoronstartup, but it runs after the staticconstructoronstartup utility is done.
 
 
and fwiw: that's just the Defs side of the equation
 
 
I won't even mention the harmony conflicts (which are way harder to detect) or runtime conflicts (which sometimes get logged, but not nearly always)
 
 
take the world edit mod: I can't remember which page it was, but basically if you click next somewhere and from there on you get redirected to world edit's version of whatever the next screen would've been.
 
 
There's like.. almost zero chance of detecting that programmatically"''
 

Please note that all contributions to RimWorld Wiki are considered to be released under the CC BY-SA 3.0 (see RimWorld Wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

Cancel Editing help (opens in new window)