Question about load order
|
|
#1
02-05-2011
Hi BO, its not exactly a request, but can you maybe answer this question? (Posted by Mog on MTS about two years ago )
MogHughson Wrote:I've seen some comments about load order, but never quite worked out what it's all about - anyone have any links to explanations about it.
I assume it is where two packages update the same BHAV and how to get a specific one to be the one that is actually used.
I have been asked to make a version of a mod of mine that doesn't clash with another and so I need to make sure that my mod (which will contain the combined clashing BHAV) is loaded first/last (whichever it is) to ensure it is the one used.
So, any help appreciated.
The site don't jive? PRESS F5
#2
02-05-2011
Ok, since there's no link to the original thread, I'm going to assume you want me to answer this here, to you, in stead of over there to Mog.
Here's the thing. Sometimes, two mods with different functions, each alter a number of BHAV routines. Now it MAY occur that one BHAV is altered by BOTH mods, in each case to get a different effect. Obviously, those mods can't both work! For any routines they have in common, the one that loads LAST overwrites the ones that loaded earlier.
Now there are two possibilities:
1. If the changes to the BHAV are important for other parts of both mods, then the mod loading first will NOT be able to function correctly, and we call this an unresolvable conflict. One will have to choose: use either of the mods, but NOT both!
2. However, if the changes to this one BHAV are NOT important to other parts of both mods, then you have a third choice: you can load both, but the one that loads LAST, decides which version of this one BHAV will be in effect.
In some cases, a mod is created to complement another, or to improve upon it. Like my Feed Baby mod and some of its plug-ins. The trick here is, that the main mod needs all the BHAVs that are included in it, and these BHAVs need to be exactly the way they were written. However, for the plug-ins to work properly, SOME of those BHAVs need to be expanded. So the plug-ins contain different, expanded versions of a few of the BHAVs that are also found in the main module. Now obviously, if the main module loaded last, the plug-ins' versions of those BHAVs would not be called, rendering said plug-ins inoperative.
So, in this case, the conflict is INTENTIONAL, and the author of the mod supplies instructions for the load-order, in order to ensure the proper functioning of all parts of the mod.
Load order is normally settled very simply (at least on NTFS drives): all sub-folders of Downloads are read in alphabetical order, and the packages within each folder are also sorted by alphabet. So, for example: if you keep my Feed Baby mod and the accompanying plug-ins together in one folder, they'll load in a specific order depending on the names they were given. I've purposely named them such that they load in a correct order. However, if you were to put the plug-ins in sub-folder A, and the main module in sub-folder B, then the main module would load AFTER the plug-ins, and stuff would NOT work as intended.
HCDU (the Hack Conflict Detection Utility, as created by Paladin, and available at http://www.simwardrobe.com) will find all mods that conflict with each other, and lists them in the order in which they currently load. So if the load order is wrong, you can see from HCDU's report what to change to make it work correctly. Many modders rely on info from this utility to determine IF conflicts can be solved, and HOW. That's why, when users report problems, modders often ask the player to run HCDU and share the report.
Does this help??
Oh, one last example: TwoJeffs often creates his mods in such a way that they're required to load AFTER anything that Pescado may have made. So TwoJeffs recommends that you put all of Pescado's mods in the folder Pescado, and all ot TJ's mods in the folder TwoJeffs. This way, TJ's mods load AFTER anything Pescado has made. In a similar manner, my mods are often best placed in a folder named zzBoilingOil.
Here's the thing. Sometimes, two mods with different functions, each alter a number of BHAV routines. Now it MAY occur that one BHAV is altered by BOTH mods, in each case to get a different effect. Obviously, those mods can't both work! For any routines they have in common, the one that loads LAST overwrites the ones that loaded earlier.
Now there are two possibilities:
1. If the changes to the BHAV are important for other parts of both mods, then the mod loading first will NOT be able to function correctly, and we call this an unresolvable conflict. One will have to choose: use either of the mods, but NOT both!
2. However, if the changes to this one BHAV are NOT important to other parts of both mods, then you have a third choice: you can load both, but the one that loads LAST, decides which version of this one BHAV will be in effect.
In some cases, a mod is created to complement another, or to improve upon it. Like my Feed Baby mod and some of its plug-ins. The trick here is, that the main mod needs all the BHAVs that are included in it, and these BHAVs need to be exactly the way they were written. However, for the plug-ins to work properly, SOME of those BHAVs need to be expanded. So the plug-ins contain different, expanded versions of a few of the BHAVs that are also found in the main module. Now obviously, if the main module loaded last, the plug-ins' versions of those BHAVs would not be called, rendering said plug-ins inoperative.
So, in this case, the conflict is INTENTIONAL, and the author of the mod supplies instructions for the load-order, in order to ensure the proper functioning of all parts of the mod.
Load order is normally settled very simply (at least on NTFS drives): all sub-folders of Downloads are read in alphabetical order, and the packages within each folder are also sorted by alphabet. So, for example: if you keep my Feed Baby mod and the accompanying plug-ins together in one folder, they'll load in a specific order depending on the names they were given. I've purposely named them such that they load in a correct order. However, if you were to put the plug-ins in sub-folder A, and the main module in sub-folder B, then the main module would load AFTER the plug-ins, and stuff would NOT work as intended.
HCDU (the Hack Conflict Detection Utility, as created by Paladin, and available at http://www.simwardrobe.com) will find all mods that conflict with each other, and lists them in the order in which they currently load. So if the load order is wrong, you can see from HCDU's report what to change to make it work correctly. Many modders rely on info from this utility to determine IF conflicts can be solved, and HOW. That's why, when users report problems, modders often ask the player to run HCDU and share the report.
Does this help??
Oh, one last example: TwoJeffs often creates his mods in such a way that they're required to load AFTER anything that Pescado may have made. So TwoJeffs recommends that you put all of Pescado's mods in the folder Pescado, and all ot TJ's mods in the folder TwoJeffs. This way, TJ's mods load AFTER anything Pescado has made. In a similar manner, my mods are often best placed in a folder named zzBoilingOil.
#3
02-05-2011
Oh that was silly of me not to post the link.
I will let Mog know. Thank you.
Link to post is here :
http://www.modthesims.info/showthread.php?p=3513220
I will let Mog know. Thank you.
Link to post is here :
http://www.modthesims.info/showthread.php?p=3513220
The site don't jive? PRESS F5
#6
02-05-2011
Please, think nothing more of it, dear. I believe the matter is now handled to Mog's satisfaction, and I'm glad I could be of service
Btw: I avoid the outside on busy days like Queen's Day and when it's hot out. Because these conditions affect me in a similar manner and I don't like that
Btw: I avoid the outside on busy days like Queen's Day and when it's hot out. Because these conditions affect me in a similar manner and I don't like that
#7
03-05-2011
Lee thanks for asking BO about this and BO thanks for explaining it in term even I could understand, I found it very informative. Big hugs to both of you.
Also thank you MogHughson for asking in the first place.
Also thank you MogHughson for asking in the first place.
You can find more of my work at Mod The Sims and Plumb Bob Keep.
#8
03-05-2011
#9
03-05-2011
Just like I said to Mog, when she asked my permission to put this explanation in the Wiki: the more people know about these things, the better.
Modders need to know it in order to make better mods and to be able to help confused users getting everything to work right. And users need to know it in order to be able to USE those mods correctly, without having to ask too many dumb questions (except that NOT asking would be dumber, as it perpetuates ignorance) So I'm glad I could help so many people with this one
Modders need to know it in order to make better mods and to be able to help confused users getting everything to work right. And users need to know it in order to be able to USE those mods correctly, without having to ask too many dumb questions (except that NOT asking would be dumber, as it perpetuates ignorance) So I'm glad I could help so many people with this one
|