Jump to content
Sign in to follow this  
osmo

Modfolder priority

Recommended Posts

When you load mods in ArmA, shortcut is in the following way:

Arma.exe -mod=modfolder1;modfolder2;modfolder3

If there is a conflict, which one has highest priority, the one that is first in the list (in this case modfolder1) or the one that is last (in this case modfolder3)?

Me and some others have been trying to figure out which one has a highest priority for a while now and I'm getting both answers. Could someone who's coding ArmA answer this so that we can be sure which one it is? Thank you in advance.

http://community.bistudio.com/wiki/modfolders

According to the Wikipage in the above address, it seems to be so that the modfolder that is last in the list has the highest priority. However, in the discussion page of that same page, someone is saying that the list mentioned in this wikipage is wrong, and should be the opposite.

Share this post


Link to post
Share on other sites

From what I have read and tried, it's not a question of priority, but of reading order.

In fact, the last directory to be read, and thus the last config.cpp/.bin, overwrites what the previous ones have defined (when they deal with the same field).

This reminds of "the last one to speak is always right".

Malick

Share this post


Link to post
Share on other sites

I say modfolder 3, too.

You could try it for yourself with loading two sound mods at once. The sounds you'll hear will have the higher priority position.

Share this post


Link to post
Share on other sites

Command line arguments in computer land are parsed left-to-right; at least that's how I've always seen it done. I don't see any reason why anyone would go backwards, since humans read left-to-right, it's simply the most intuitive way to do it. Somewhere in code, the tokenized strings have to be compared against recognized strings in order to work, so it would only make sense to parse them left-to-right to avoid having to flip them around.

With that said, without any real testing I'd put my money on rightward mods overriding leftward mods.

Share this post


Link to post
Share on other sites

if you're using the 1.09b, and got qg, it's quite easy to test...

try to start it with qg first, then beta....... wink_o.gif

so, i'd say, it starts loading from the first one til the end, thus the last one will probably overrule previous

Share this post


Link to post
Share on other sites

Yes. The latter instance of a file will be used rather than the first. Kind of like a single mod folder files will override the defaults.

Share this post


Link to post
Share on other sites

So I suppose if you had one modfolder like "Cars" with a whole bunch of car addons loaded, I wonder which order the config.cpp's would be overwritten in? Alphabetical?

I use this method with folders "planes," "cars," "tools" etc. and haven't had a problem yet. However, it's only a matter of time before two mods conflict I guess.

It would be nice to know if say, TreuRangeAi config.cpp overwrite somethin in an addon's config.cpp but how exactly would you know? You'd have to find and compare the classes in each config.cpp yes? crazy_o.gif

Share this post


Link to post
Share on other sites
So I suppose if you had one modfolder like "Cars" with a whole bunch of car addons loaded, I wonder which order the config.cpp's would be overwritten in? Alphabetical?

Probably not. I'm not by any means claiming to be any programming expert, far less related to ArmA, but I would think on that level it comes down to the order the developers loaded the files in code, which is most likely determined by various dependencies in code, or for our purposes entirely arbitrary.

Share this post


Link to post
Share on other sites
So I suppose if you had one modfolder like "Cars" with a whole bunch of car addons loaded, I wonder which order the config.cpp's would be overwritten in? Alphabetical?

Probably not. I'm not by any means claiming to be any programming expert, far less related to ArmA, but I would think on that level it comes down to the order the developers loaded the files in code, which is most likely determined by various dependencies in code, or for our purposes entirely arbitrary.

Actually they were loaded alphabetically in OFP so it's probably the same in ArmA. A method to hide a cheat would be to override the default g36a.pbo with a z15256_g36a.pbo, the latter one's config.cpp would be used and the server would have no way of checking it due to not knowing the filename.

Share this post


Link to post
Share on other sites
So I suppose if you had one modfolder like "Cars" with a whole bunch of car addons loaded, I wonder which order the config.cpp's would be overwritten in? Alphabetical?

Probably not. I'm not by any means claiming to be any programming expert, far less related to ArmA, but I would think on that level it comes down to the order the developers loaded the files in code, which is most likely determined by various dependencies in code, or for our purposes entirely arbitrary.

Actually they were loaded alphabetically in OFP so it's probably the same in ArmA. A method to hide a cheat would be to override the default g36a.pbo with a z15256_g36a.pbo, the latter one's config.cpp would be used and the server would have no way of checking it due to not knowing the filename.

Wow, then I'm totally wrong. It's happened before!

Share this post


Link to post
Share on other sites

Mod folders are loaded in the order in which you list them. Any files they share in common will be overwritten in that order. The last config you load will be the one that sticks.

How many threads have to be started about this issue? Apparently, the search function is loaded first before 'start a new thread' in people's minds.

Share this post


Link to post
Share on other sites
Mod folders are loaded in the order in which you list them. Any files they share in common will be overwritten in that order. The last config you load will be the one that sticks.

How many threads have to be started about this issue? Apparently, the search function is loaded first before 'start a new thread' in people's minds.

I and my friends have tried to search for it with different keywords from here but we have not been able to find a conclusive answer to this question, that's why I created this thread. Hopefully one of the developers of ArmA will reply to this thread and give a final answer so that we can know it for sure instead of having guesses and debates about it.

I personally would guess that the reading order is from left to right (and thus the wikipage is wrong), but even if we know the reading order of the modfolders, it doesn't mean that we know the actual highest priority. If the latter overwrites the files from the earlier, then the latter has higher priority. If, however, there is no overwriting (like the wiki page is saying), and the first match of the file is kept, then the first one has highest priority.

Thus, we need to find out two things to determine the highest priority:

1. In which order the folders are read in the -mod attribute.

2. Are those files that are read first, overwritten by those that are read later, or does ArmA keep the first match.

Share this post


Link to post
Share on other sites
I don't see any reason why anyone would go backwards, since humans read left-to-right, it's simply the most intuitive way to do it.  

logo.gif

Are you sure?

I've always intuitively used the so called "right-to-left" order and it worked. To me it's just "the next one, overwrites the previous one", which in fact is right-to left....

just my 2 cents.

Share this post


Link to post
Share on other sites

If there are no or the same CfgPatches entries, the last loaded config is the one which will be taken.

End of the discussion... wink_o.gif

Correction, please do not quote hotlinked images. smile_o.gif

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×