In short, I propose having a "cascading file system" (for lack of better term), in which AACW-directories are loaded in a prioritized order. The order can e.g. be specified on the commandline (easiest) or perhaps even using a small utility (niftiest).
I think we're best served by an example. To look at a small excerpt of the AACW filesystem:
Code: Select all
AGEod's American Civil War
|===ACW
|===Settings
|===General.opt
|===Combat.opt
|===Graphics
|===Units
|===Unit_CSA_Cav1.png
|===Unit_USA_Inf6.png
|===Unit_USA_PSheridan.png
|===Unit_USA_Ranger1.png
So far, so good. Loading up the game without any mods, will load up this filetree
Let's say your in a campaign that uses a slightly modified General.opt (e.g. to use HQ Units). You make a seperate directory, containing only the modified General.opt:
Code: Select all
AGEod's American Civil War
|===ACW
|===Settings
|===General.opt
|===Combat.opt
|===Graphics
|===Units
|===Unit_CSA_Cav1.png
|===Unit_USA_Inf6.png
|===Unit_USA_PSheridan.png
|===Unit_USA_Ranger1.png
[color="Blue"]|===GrandCampaign
|===Settings
|===General.opt[/color]
When starting, you specify "GrandCampaign" as a parameter to the game. The game will always start with loading the standard ACW-tree, then proceed to load the files from the "GrandCampaign"-tree, which in our case is a single file. To the game, the filetree will then look like this:
Code: Select all
|===Settings
[color="Blue"]|===General.opt [I](from the GrandCampaign directory)[/I][/color]
|===Combat.opt [I](from the ACW directory)[/I]
|===Graphics
|===Units
|===Unit_CSA_Cav1.png [I](from the ACW directory)[/I]
|===Unit_USA_Inf6.png [I](from the ACW directory)[/I]
|===Unit_USA_PSheridan.png [I](from the ACW directory)[/I]
|===Unit_USA_Ranger1.png [I](from the ACW directory)[/I]
When a patch arrives, just install it normally (updating files in the ACW-directory), and I won't have to a lot of copying to be able to continue playing with the GrandCampaign-tweaks.
What about multiple mods, that even conflict in what they change? Let's say we have two graphics mods, one that changes the graphics the CSA uses, and one that changes the graphics that the USA uses. Unfortunately, they both change the "common" graphics
Code: Select all
AGEod's American Civil War
|===ACW
|===Settings
|===General.opt
|===Combat.opt
|===Graphics
|===Units
|===Unit_CMN_Arty12lb.png
|===Unit_CSA_Cav1.png
|===Unit_USA_Inf6.png
|===Unit_USA_PSheridan.png
|===Unit_USA_Ranger1.png
[color="Blue"]|===NewCSA
|===Graphics
|===Units
|===Unit_CMN_Arty12lb.png
|===Unit_CSA_Cav1.png[/color]
[color="Red"]|===USArevamped
|===Graphics
|===Units
|===Unit_CMN_Arty12lb.png
|===Unit_USA_Inf6.png
|===Unit_USA_PSheridan.png
|===Unit_USA_Ranger1.png[/color]
If I specify that I prefer "USArevamped,NewCSA", in that order, files specified by in "NewCSA" will be used, unless superceded by any files also specified in the "USArevamped"-mod. The filetree used will look like this:
Code: Select all
|===Settings
|===General.opt [I](from the ACW directory)[/I]
|===Combat.opt [I](from the ACW directory)[/I]
|===Graphics
|===Units
[color="Red"]|===Unit_CMN_Arty12lb.png[I](from the USArevamped directory)[/I][/color]
[color="Blue"]|===Unit_CSA_Cav1.png [I](from the NewCSA directory)[/I][/color]
[color="Red"]|===Unit_USA_Inf6.png [I](from the USArevamped directory)[/I][/color]
[color="Red"]|===Unit_USA_PSheridan.png [I](from the USArevamped directory)[/I][/color]
[color="Red"]|===Unit_USA_Ranger1.png [I](from the USArevamped directory)[/I][/color]
Now, I don't know if all this is overkill, but I do think it will make it easier to use mods, especially multiple ones in combination. It will make it a lot easier to patch the game (since you won't have loads of copies to promulgate the patch to) and you'll therefore also save som harddisk space as well.
There is already support for moddirs in the game, but it limits you to one mod-tree and you have to copy the entire ACW-tree into the moddir.
I have no idea how AACW loads/looks up files and I have no idea how easy or difficult this is to implement, and if it falls in the category "worth doing" (that's for others to determine and decide), but I do think it would be a nice thing that would make the lives of mod-makers and mod-users easier
