by Spike » Thu Mar 18, 2010 5:25 pm
1: $quakedir/$moddir/mod.qmd
$quakedir/$moddir/maps/$mapname.qmd
is my vote.
2:
depend "quoth/pak0.pak" "http://quoth.com/getquoth.zip"
depend "hipnotic/pak0.pak"
depend "hipnotic/"
says: use quoth's pak0.pak (but not random quoth files), hipnotic's pak0.pak, the entire hipnotic gamedir (ignoring pak0.pak as that's already loaded but including pak1 etc), and the default stuff in $enginedir and id1.
fullname "Scourge of Armagon"
Yes, COM_Parse but with each newline terminating the command.
3: Quite frankly, commandline arguments must die. List cvar values, by all means - give it a set+seta directive. I suppose you can add a commandline directive for engines that still require one, but it shouldn't replace one entirely if any arguments were given, append it if one is supplied, as quake generally uses the first argument found for such arguments.
4:
Custom cvars, and which are saved or not
Custom command bindings (for menu).
Additional default bindings?
Where to get the mod from (in the case of clients that don't have it connecting to servers that do, including mirrors).
Where to get dependancies from, including mirrors.
Which protocol to default to, for standard servers.
Which master server to use/or default public servers.
Current version.
Oldest compatible version.
Where to get other maps from (they're large and you may not wish to download all at once).
Required extensions (matched to a list of other clients that are able to run the mod if the current one cannot).
Consider, using a specific mime-type/extension for it and registering it with your browser. The user clicks a link, browser downloads it, and opens it up with the client (app). The client then goes and uses libcurl/wget or whatever, downloads+installs the bits the mod needs but doesn't yet have, and starts it up (note that maps would need to work without requiring their own gamedir, but still depend/suggest upon other mods for progs etc).
But yeah, they should be 'executable' and clickable from your system's application(start) menu. Easy installation is just icing on the cake.
.