yeah what we want is for all downloads to go through MG itself. It already has a download centre, so perhaps what is needed is to put a mod picker at the top-level menu there with a 'more' that takes you to the current management-style screen; and the currently selected mod, if it contains all the total-conversion-type files, themes the whole UI?
NO!, And while scripts is good, i just don't see this as a userfriendly option not to mention the modder actually need to know a scripting launage that is crossplatform. What is the harm of a simple Launcher inside the megaglest folder so there is
Megaglest.exe
Megaglest_launcher.exe
The launcher looks if any standalone mods are present and if they are lists them for the user to chose, the megaglest game would obivously be a standlone mod by this standard.
Um, at least a few commercial games have used a feature like Will's suggesting, such as Civilization IV, and they were very user friendly. It's the same as a launcher, except you choose the "overhaul" mod AFTER running MegaGlest, without trying to figure out if you're supposed to launch the direct executable or some launcher program (1 program > 2 programs). That's it for the user. Just choose one menu option and select the mod from the list. Done.
For the modder, there'd be some method of telling the game the mod is meant to be an "overhaul mod" (defined as changing anything in the data folder, such as the menu model, language files, etc). Let's pretend this is specified in the techtree XML with the added line:
<overhaul-mod value="true" data-folder="mydata" />. Now because
value is true, the mod is considered to be an "overhaul" mod and will be displayed in this new menu option. The
folder parameter will give the folder to the overhaul mod's new base folder, relative from the techtree XML (so if this was Magitech, for example, the path would be
./techs/magitech/mydata. This folder would be the same as the base folder of MegaGlest (namely the installation directory), and would be used in place of stuff actually inside the data folder, tileset folder, etc, of MegaGlest.
So for example, let's pretend the overhaul mod changes the main menu, and nothing else. So in
./techs/magitech/mydata/data/core/menu/main_model there might be a new
menu_main.g3d file (and corresponding textures). Thus, MegaGlest would use this new model instead of the default found in
./MegaGlest/data/core/menu/main_model. However, there's no language file in this overhaul mod, so MegaGlest would use the default language file found in
./MegaGlest/data/lang, as always.
What changes does this mean for the author of an overhaul mod? They'd have to move the contents of their map folder, data folder, etc to a new folder in their techtree folder and add one line of XML to the techtree XML, specifying the path to this newly created folder. I'm sure after the 10,000 XML lines they put into that mod, they handle one more. The contents of the data folder, tileset folder, etc are not changed, nor their folder structure, but now they can provide this "overhaul" style of a mod that can be
(1) downloaded in the MDC,
(2) compatible with other overhaul mods (and the default setup), and
(3) provides a user-friendly method of handling these overhaul mods.
Overall, there's less work for the modder since they wouldn't have to try and create an installer for each OS with new version of MegaGlest, and prevents the users from having to have multiple MegaGlest's installed. Plus, anything compatible with the MDC is way more user friendly than any installer or archive.