EmperorFool
Deity
Please bear with me as I am reorganizing how BUG lays outs its files a little. I really hope the payoff for modders outweighs the PITA factor of updating your code. In the end, I think it's worth it and will support modders that build off BUG better.
BUG Changes
First, here's what I'm changing as far as BUG's operation is concerned:
Mods installed to the Mods folder will look in their own directory for UserSettings. If they find it there, they use their own folder as "data directory".
To continue to allow multiple BUG Mod installations to share options, BUG will also look in "My Games" and "BTS" for this "data directory." In fact, the method it uses to find the folder is to look for "UserSettings" and use its parent.
Finally, "Info" and "UserSettings" are constants defined in BugPath and can be changed by modders if they wish. I think giving them generic names instead of "BUG Mod" will make this less desirable.
SVN Changes
To support the above, I will be rearranging the SVN repository.
Why Now?
With BULL and other projects, it was becoming more difficult to deal with BUG's directory layout. As well, modders are always asking me how to rename the folder where INI files are kept. Having this tied to the display name of the mod was silly.
To top it off, the BugPath module was a hack on top of a hack, and it needed constant tweaking to deal with new installation issues. I got sick of propping up the dead weight and decided it would be better to nuke the site from orbit. It's the only way to be sure.
BUG Changes
First, here's what I'm changing as far as BUG's operation is concerned:
- Splitting "BUG Mod" folder into "UserSettings" and "Info"
- Several locations are checked for the "UserSettings" folder, and once one is found, its parent is used as the "data directory". No more searching is done from this point on for data files (INIs, help files, etc). Assets continue to be searched for in multiple directories as needed.
- Major BugPath rewrite: all directories are exposed using functions to ensure they are setup correctly.
- I think I've finally nailed down the random Vista breakage.
Mods installed to the Mods folder will look in their own directory for UserSettings. If they find it there, they use their own folder as "data directory".
To continue to allow multiple BUG Mod installations to share options, BUG will also look in "My Games" and "BTS" for this "data directory." In fact, the method it uses to find the folder is to look for "UserSettings" and use its parent.
Finally, "Info" and "UserSettings" are constants defined in BugPath and can be changed by modders if they wish. I think giving them generic names instead of "BUG Mod" will make this less desirable.
SVN Changes
To support the above, I will be rearranging the SVN repository.
- Create "Info". Gets readme, license, help files, CvAltRoot.py
- Create "UserSettings". Gets CustDomAdv and Adv Unit Naming.ini
- Rename "CustomAssets" to "Assets" (to make dealing with BULL easier)
Why Now?
With BULL and other projects, it was becoming more difficult to deal with BUG's directory layout. As well, modders are always asking me how to rename the folder where INI files are kept. Having this tied to the display name of the mod was silly.
To top it off, the BugPath module was a hack on top of a hack, and it needed constant tweaking to deal with new installation issues. I got sick of propping up the dead weight and decided it would be better to nuke the site from orbit. It's the only way to be sure.
