-
-
Notifications
You must be signed in to change notification settings - Fork 28
Mint Game Settings
mint-game.settings (formerly gameconfig.txt and PAKSUMS) is a new file loaded by Spearmint's server/client.
For full examples of mint-game.settings see spearmint-patch-data.
ioquake3 uses com_basegame, fs_basegame, and fs_game to add 1 to 3 game directories to the search path. Spearmint has only fs_game and loads up to 16 additional game directories from mint-game.settings in game directory set by fs_game (either in a pk3, .pk3dir, or unzipped).
addGameDir
adds a game directory to the search path, in paths set by each of following console variables; fs_basepath, fs_homepath, and on Mac OSX fs_apppath.
Game directories are searched in order added. fs_game will be searched before all other game directories.
Paksums are loaded from all mint-game.settings in game directories specified by addGameDir, everything else in their mint-game.settings is ignored.
Example for mod using content from Quake III and Team Arena:
// Mod for Quake III: Team Arena
addGameDir missionpack
addGameDir baseq3
Adds a loading screen for the client to display at startup and vid_restart. The image will always be drawn aspect correct and entirely on the screen. You set the background color that is seen when image is different aspect than window.
You can add 200 different ones. Each time loading screen is shown the next one is used. You can control the next displayed loading screen by setting the cl_loadingScreenIndex cvar (starts at 0). CGame could cause it to reset when it gets to a certain value, allowing more screen to be available over time. CGame could set it to a random value opposed to letting client loop though them in order (though you'll need to hardcode the maximum).
Usage:
addLoadingScreen <shader name> ( R G B ) <aspect>
R, G, B are in the range of 0.0 to 1.0. Aspect is width divided by height so for a 4:3 image use 1.333333.
Example:
addLoadingScreen menuback ( 0 0 0 ) 1.333333
Change cvar default value.
Usage:
cvarDefault <cvar name> <value>
Example:
cvarDefault r_flares 0
Pk3 checksums are used to check for missing or modified pk3s, in which case enabling sv_pure is disabled and a warning is shown. Disabling sv_pure is mainly to prevent people from hosting servers that no one can join.
The pk3s listed are loaded in the order they're listed in and all other pk3s are loaded after them. This allows RTCW-MP to load pak0 before mp_pak#. It also causes addons to take priority over default pk3s regardless of pk3 names.
To find out what a pk3 file's checksum is, add the pk3 with a checksum 0 to paksums section in mint-game.settings in its game directory and run the game. The checksum will be in the stderr.txt on Windows and shown in terminal on Linux and OS X.
Example contents for "mint-game.settings" in the game's fs_game directory.
paksums {
pak0 0
pak1 0
pak2 0
pak3 0
pak4 0
pak5 0
pak6 0
pak7 0
pak8 0
}
paksums {
// nodownload keyword tells server not to allow pk3 to be downloaded
pak0 4204185745 nodownload
pak1 4193093146 nodownload
pak2 2353701282 nodownload
pak3 3321918099 nodownload
pak4 2809125413 nodownload
pak5 1185311901 nodownload
pak6 750524939 nodownload
pak7 2842227859 nodownload
pak8 3662040954 nodownload
}
Note: Not downloading Quake 3 and Team Arena pk3s is hard coded in the engine, but the nodownload option allows other games to specify this behavior.