There's one issue we haven't talked about yet and which to me looks like a showstopper for the whole concept:
The way IL-2 accesses mod files.
Say we have the C-46 mod and we all agreed that the easiest way to make such mods "drag & drop" compatible would be to add dedicated .ini files to the mod folder(s).
In case of the C-46 mod, the proposed ini file pattern e.g. for BAT 4.x WAW would be:
[IL-2] +
|
[#WAW3] +
|
[00_C-46 Commando]
|
+ C-46.ini
(Squared Brackets indicate Folders)
Time to take a glance at how IL-2 deals with mod folders:
The former "MODS" folder - nowadays, in this example, it's called "#WAW3" - is the slightly more complex companion of the old "FILES" folder.
The difference is that in the "MODS" folder, modded files exist in
subfolders - here "00_C-46 Commando" - whereas in the old days of the "FILES" folder, they all sat in the same space, causing kind of a mess in case of bigger modpacks.
The "wrapper" scans the "MODS" subfolders at game start, alphabetically, and keeps track of which file has been found where.
To IL-2, this process is transparent: IL-2 only talks about
hashed filenames.
It queries a file with a given hash to the "wrapper" and then the "wrapper" looks for the place where a file with the corresponding hash resides.
That works a treat,
but: There is no way for IL-2 to "scan" for an unknown file in side the "MODS" or "FILES" folder or any SFS archive whatsoever.
IL-2 can only access
known files through their hashed filenames.
That means: No such thing like "dir" for the mods folder. No such thing like "load all classfiles found in the mods folder". No such thing like "list all ini files in the mods folder".
None of this is possible in IL-2.
And that gets us to the problem: How would the game know that there is a "C-46.ini" file in any mods folder at all?
It doesn't know that any of the mods files exist in the first place, until some .ini file (per default: air.ini) tells the game to load the aircraft's classes - which in our case is the classic hen egg problem:
Unless we load the C-46 class, the game cannot know about C-46.ini.
Without C-46.ini, there's nothing that could tell the game to load the C-46 class.
Mike