Musings on Load Order
#1


I'm obviously biased, so this will all be written with <abbr title="Colonial Charter">CC</abbr> in mind, but it should be transferable to any mods.




First, a little background information.  Banished loads mods from the top down.  So the very top mod will be fully loaded, then the second from the top, and so on.  If two mods conflict, the mod that is one top will be fully loaded, while the lower one will not load the conflicting portions.




If you enable a mod, and it stays green, it doesn't matter where it is in the load order, because it will be fully loaded no matter what.  So the rest of this will be with conflicting mods in mind.




To know whether a mod has to go above or below <abbr title="Colonial Charter">CC</abbr>, you just need to do a little critical thinking.  There's basically two kinds of mods: an Override mod, and an Add-on mod.  I kind of just made these names up, but their descriptions are apt.




An Override mod is something that changes an already existing element of <abbr title="Colonial Charter">CC</abbr>.  An Add-on mod is something that adds a new function, like a new building or crop.




Override mods need to be loaded Above <abbr title="Colonial Charter">CC</abbr>, so that they are fully loaded, and the conflicting portion of <abbr title="Colonial Charter">CC</abbr> is not loaded, so only the Overrides code is running.




If you want to load, for example, the Ridiculous Storage mod, then you have to think, 'Is this an Override, or an Add-on'.  Since it changes an already existing element, namely the storage capacities of the buildings, it's an Override mod.  So you place it above <abbr title="Colonial Charter">CC</abbr>.




Add-on mods need to be loaded Below <abbr title="Colonial Charter">CC</abbr>, because they require a piece of the <abbr title="Colonial Charter">CC</abbr> code.  This actually brings up an interesting point.  One mod can borrow the resources of another mod, but only if it is loaded below it.




If you want load, for example, the new Stable mod, then you have to think 'Is this an Override, or an Add-on'.  Since it has a brand new building, with a brand new function, it's an Add-on mod.  So you place it below <abbr title="Colonial Charter">CC</abbr>. 




This is a good example of mods sharing code.  In the Stable mod, the code for the Domesticated Animal doesn't exist.  It's borrowing it from the main <abbr title="Colonial Charter">CC</abbr> mod.  But if you were to load the Stable above <abbr title="Colonial Charter">CC</abbr>, the game would crash because it can't find the Domesticated Animal.  In the code for the Stable, there exists an empty placeholder that says ""Here's the Domesticated Animal code"" but it's a big empty hole.  When the mod is compiled, it throws up an error that says ""Hey, this spot is empty"" and I just tell it to ignore the error.




So if it's placed below <abbr title="Colonial Charter">CC</abbr>, when <abbr title="Colonial Charter">CC</abbr> is loaded the Domesticated Animal code is loaded.  And then when Stable is loaded, since the Domesticated Animal is already loaded, the game won't load the empty Domesticated Animal code, and everything is good.  But, on the other hand, if Stable is loaded first, then the big empty hole is loaded first, and when <abbr title="Colonial Charter">CC</abbr> is loaded, it won't load the good code, because the game thinks it's already loaded, and it will crash when you build the Stable.




So.  If that makes any sense, then you should have a general understanding of whether or not to load things above of below <abbr title="Colonial Charter">CC</abbr>.




 




tl;dr: Overrides go above.  Add-ons go below.


  Reply


Messages In This Thread
Musings on Load Order - by Kralyerg - 12-10-2016, 04:34 PM
Musings on Load Order - by elemental - 12-11-2016, 01:29 AM
Musings on Load Order - by rejectedegg - 12-11-2016, 01:14 PM
Musings on Load Order - by Reino - 03-05-2017, 06:28 PM
Musings on Load Order - by QueryEverything - 03-05-2017, 09:14 PM
Musings on Load Order - by Kralyerg - 03-05-2017, 09:23 PM
Musings on Load Order - by Necora - 03-05-2017, 09:30 PM
Musings on Load Order - by QueryEverything - 03-05-2017, 09:35 PM