Sun 01 Apr 2007 07:46:15 PM UTC, original submission:
A mod == something that requires complete control over all the WML, which is something the usual campaign/era mechanisms do not allow. Currently there are only two projects that would use this, Spacenoth and Storm of Steel.
There should be a new top-level tag, [mod], which would be rather comparable to [campaign]; just something that provides the meta information necessary for showing the user what he needs to see and for starting the campaign/mod. Here's an example [mod] tag that something like SoS would use, showing all the essential keys:
[mod]
id=Storm_of_Steel
name= _ "Storm of Steel"
path=data/campaigns/Storm_of_Steel
icon=data/campaigns/Storm_of_Steel/images/SoS_icon.png
description= _ "A WW1 mod with lots of fancy stuff!"
[/mod]
Attached to this report is a mock-up image of how these mods should be displayed in-game, in the title screen. The (72x72) icon would get bordered with the same borders that are used around the main menu. Hovering over one should produce a tool-tip showing the description=.
Clicking on one of these "mod icons" should restart Wesnoth using the path= as the command line argument or just reload all the .cfg's using the path= as the main data path (whichever would be best code-wise; I don't know). In any case, the effect should be that instead of loading <Wesnoth-dir>/data/game.cfg like is done when starting Wesnoth normally, <userdata>/data/campaigns/Storm_of_Steel/data/game.cfg would get loaded instead (and this custom game.cfg would take care of the rest).
Obviously, the visual representation of these could change a lot, this was the simple way of displaying mods I thought of which doesn't require changes to other parts of the UI. A better way will probably be desirable at some point, and certainly open for discussion/suggestions. Feel free to implement the visual side of this in another way if you feel like it, the only thing that matters to me at least is getting any in-game way of switching between mods.
|