User avatar
Rafiki
Posts: 5811
Joined: Thu Aug 24, 2006 9:19 am
Location: Oslo, Norway

Making it easier to use (multiple) mods

Mon Aug 13, 2007 6:34 pm

I've been thinking a bit about how to make it easier to use various mods, especially considering that people might want to use more than one in those cases where they are compatible, and also make it easier to patch the game without having to redo everything with the mods you have installed.

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 :)
[CENTER]Latest patches: AACW :: NCP :: WIA :: ROP :: RUS :: PON :: AJE
Visit AGEWiki - your increasingly comprehensive source for information about AGE games
[SIGPIC][/SIGPIC]
[/CENTER]

PBBoeye
General
Posts: 563
Joined: Sun Jul 01, 2007 12:59 am
Location: Richmond, VA

Mon Aug 13, 2007 9:34 pm

Rafiki wrote:
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 :)


Neither do I know exactly how it loads, but I would point out to the crew that anything that can be done to facilitate modification by users is an incredibly strong way to build a good rep with the gaming community for future purchases. I've tended to see companies that promote this 'leeway' with users get a strong following.

User avatar
McNaughton
Posts: 2766
Joined: Wed Mar 21, 2007 8:47 pm
Location: Toronto, Canada

Tue Aug 14, 2007 6:05 am

actually, you can use multiple mods, but they each need their own scenario to work. The only real conflict will be in the LocalStrings file (regarding all of the text), and the UDI identificaiton file (of which I have currently forgotten the name of!).

PBBoeye
General
Posts: 563
Joined: Sun Jul 01, 2007 12:59 am
Location: Richmond, VA

Tue Aug 14, 2007 12:49 pm

McNaughton wrote:the UDI identificaiton file (of which I have currently forgotten the name of!).


If you can remember, I would be duly grateful as I am trying to install and test various mods, many of which are currently conflicting. I get the UID conflict message whenever I try to mix mods, so I am not sure which file(s) it is.

User avatar
Pocus
Posts: 25673
Joined: Wed Oct 19, 2005 7:37 am
Location: Lyon (France)

Tue Aug 14, 2007 1:06 pm

I'm all for helping modders, but it asks some works. After some thinking, this can be done but with the logic reversed compared to Rafiki's proposal, as it would be more works to have a file which can be read several times. The program would read the list of directory to browse, then would read the first, then the second. In the second, it would not read the files already in the first, and so on.

I won't be able to take a serious look at that before some weeks though, there are some urgencies on NCP dev for now. Can Rafiki remind me of that in mid september? TIA.
Image


Hofstadter's Law: "It always takes longer than you expect, even when you take into account Hofstadter's law."

User avatar
Pocus
Posts: 25673
Joined: Wed Oct 19, 2005 7:37 am
Location: Lyon (France)

Tue Aug 14, 2007 1:08 pm

This would not prevent some UID conflicts and problems, if UID are listed with gaps though. See the latest DB I uploaded, I have provided you with a buffer of reserved UID, after the initial range, they are free to use.
Image


Hofstadter's Law: "It always takes longer than you expect, even when you take into account Hofstadter's law."

PBBoeye
General
Posts: 563
Joined: Sun Jul 01, 2007 12:59 am
Location: Richmond, VA

Tue Aug 14, 2007 1:25 pm

Thanks for that built-in buffer. I hadn't looked at the new database yet, so I didn't know that was done. Now we just have to create the dummy files, I guess.

I am sure I can speak for many of the gamers when I say we appreciate that effort. Looking forward to the future when all this comes about.

User avatar
Rafiki
Posts: 5811
Joined: Thu Aug 24, 2006 9:19 am
Location: Oslo, Norway

Tue Aug 14, 2007 4:32 pm

Pocus wrote:Can Rafiki remind me of that in mid september? TIA.

Wilco :)
[CENTER]Latest patches: AACW :: NCP :: WIA :: ROP :: RUS :: PON :: AJE

Visit AGEWiki - your increasingly comprehensive source for information about AGE games

[SIGPIC][/SIGPIC]

[/CENTER]

Return to “Help to improve AACW!”

Who is online

Users browsing this forum: Google [Bot] and 8 guests