TDW, author of IRAI mod (
http://www.subsim.com/radioroom/showthread.php?t=171973), nests modlets in his mod folder, so that after installation of main mod the modlets are added to JSGME repository and can be installed. This crashes JSGME "Load mod profile" option though.
The idea however is a very good one. If it didn't "crash" JSGME it would be very useful for both modders and end users to ensure internal dependencies between parts of one mod are not broken. IRAI is a good example - one can't install a modlet, that needs the main mod to be activated, unless main mod is activated. Uninstallation of main mod hides modlets. Charm. This could be even nested deeper.
For this to fully work JSGME would have to "remember" that a mod is a child/parent of another mod, which doesn't seem to be a hard requirement in my non-programmer eyes. JSGME would also have to recognize MODS folder inside a parent, treat all its sub-folders as child-mods, and install them into user's MODS folder also when user's MODS is named in other way.
Why this would be useful:
- more secure inner-mod dependancies,
- more consistent way of providing documentation (it would be enough to have one documentation folder in the parent mod folder, modlets documentation folders would be optional),
- much more user friendly (especially in case of mega-mods).
Ideas of even further development:
A mod I'm making right now comes in 5 "flavours" - user picks ONE flavour only, as two or more won't work together. These flavours are just sub-folders of the main folder after unzipping. This has currently a few cons:
- users can't just copy whole the unzipped folder to JSGME - it won't work. They need to manually pick one "flavour" (sub-folder) and copy it to JSGME.
- I have to either put documentation into each sub-folder, which is producing redundant kilobytes, or put just one documentation into the main folder, thus stripping the "flavours" of the useful JSGME right-click context menu fast access to documentation.
- there is no mechanism preventing users from installing more than 1 flavour in the same time.
What's more, the mod will have options - they can be applied to some flavours, and can't be applied to other flavours. This is again a dependancy issue. These options also come as sub-folders, just like flavours. What may go wrong:
- users can install option on top of wrong flavours,
- users can install options without installing any flavour,
- options are not documented unless with redundant files.
This would work smooth if I could put a config.jsgme file into every sub-folder, which would say:
Code:
requires "other_subfolder_name_A"
requires "other_subfolder_name_B"
These would trigger visibility of these mods (subfolders) in left JSGME window, after installing whole the mod as it comes out from a ZIP file. Initially only those subfolders would be visible that don't have any "requires" record. This also would save space on documentation.
Can you imagine that? No more:
Quote:
Your mod doesn't work for me!
|
Quote:
Because instead of installing it like
A
B
C
D
you should install it like
C
D
A
B
|
AvM