I will start with a brief recount of the original (mailing list) discussion and the ideas in there, just to give enough backgroud to everyone reading this.
--------------------------------------------------------------------
After some of the initial problems with the release of the Keyring mod, Dominus suggested adding a patch identity:
I then suggested making a 'mod manager' of sorts which would compartmentalize savegames and the patch dir for each mod. My initial suggestion was a 'mods' folder which would include one file per mod giving Exult the relevant information; Exult would enumerate these files -- and ask which mod, if any, the player wants -- at startup.This would help a lot in narrowing down the problems people have with patches AND/OR to quickly spot potential solutions when people come
and say that Exult doesn't work anymore (and the only problem is that
they are still loading a patch at startup).
Dominus then suggested compartmentalizing the gamedat dir, for the same reason as the savegames would be.
Jeff liked the idea. wjp suggested two different manners for the mod list:
wjp also suggested doing away with gamedat dir entirely and just loading everything into memory.Option 1:
Main menu: Black Gate, Serpent Isle
Black Gate submenu: BG, BG with keyring patch, BG with island demo
patch, BG with other patch, ...
Option 2:
Main menu: Black Gate, BG with keyring patch, BG with island demo
patch,
SI, SI with fixes patch, SI with...
Jeff, wjp, Dominus and me were leaning towards option 2; no one else gave an oponion. Jeff also noted that we would have to add scrolling.
I suggested also having the mod files include a command-line parameter (similar to --bg and --si) so users are able to create shortcuts to start their favorite mods directly.
Jeff suggested using it also for Exult Studio (to edit a mod's files).
Dominus then derailed the thread (:-P) by suggesting taking over Pentagram's ini system.
--------------------------------------------------------------------
This concludes the mailing list discussion. In this thread, Dominus suggested a versioning system for mods to prevent problems when a mod expects a different version of Exult than the player has.
I suggested omitting incompatible mods from the menu (which would have an expected version number in the mod file). Colourless suggested that, instead, the mod be listed in the menu as being incompatible.
--------------------------------------------------------------------
That is all of the required context for the discussion. Now for the new stuff.
The menu should evidently have support for new games as well as mods. We would also have to redesign the basic menu layout if the big winner is option 2 (above) -- or, for new games, even if option 1 wins.
I was thinking about a 2-column layout for the basic menu; something like this:
Code: Select all
/|)) ULTIMA VII /O\ /|)) ULTIMA VII PART 2 /O\
\|)) THE BLACK GATE | \|)) SERPENT ISLE |
| |
BG KEYRING MOD | SI FIXES |
| |
SF ISLAND DEMO PATCH | |
| |
\|/ \|/
MORE GAMES
SETUP CREDITS QUOTES EXIT
Another important thing: while I know how to do (efficient) file enumeration in Windows, I have no clue about how to do it in other systems. Therefore, (1) either someone will have to do it (for non-Windows systems) using conditional compilation, (2) we will have to do find a platform-independent way to do it, (3) we will have to standardize the names for the mod files (which could create conflicts) or (4) we will have to find another system. Ideas?
That is all I can think of for now.