the mmp file as central storage point for all types of information about a map.
-It is easily expandable
-It is the only gta file that can be opened with a normal text editor
-It is already there
Maps with multiple scr files can also be made to work with only one scr: Keep the one with the biggest playercount and if your script crashes with different player counts use "IF (CHECK_CHARACTER_HEALTH(p1, 0))" for every command that has to do with that player.
At the moment there are 2 new entries available: GCIFile & GXTFile, added with vike's modification. I think there can be stored more information.
Edit: http://gta2dare.omnitude.net/maplist/list.php supports most of them already and TM is planing to add compatibility to many of them too in his editor.
I'm posting a suggestion here. This is primary not about if applications should implement features that use these entries. It's only about, if when they can become useful at some time, how the information should be organized into which entries. I'm going to store information about my maps there anyway instead of a readme file. I just thought it would be good if standards are discussed now. Then everyone who wants can write down information now and when a feature get implemented there is no need to update the map. That would also reduce the chicken or the egg problem with features.
Here the current suggestion-example (this is not the actual .mmp file of this map but the original would not have had all entries):
Status of usage[MapFiles]
GMPFile = rocha.gmp
STYFile = rocha.sty
SCRFile = rocha.scr
Description = Rocket Chamber
;PlayerCount = 1
GXTFile = rocha_en.gxt
GCIFile = rocha.gci
RAWFile = Audio/rocha.raw
;.sdt has always the same filename
;default: basename(STYFile).raw ;if not existent, the default vike set gta to use. (bil,ste,wil)
BaseRAW = Audio/rocha
;the base filename for multilanguage support. eg: rocha_de.raw would be german rocha_es.raw would be spanish
BaseGXT = rocha
;the base filename for multilanguage support. eg: rocha_de.gxt would be german rocha_es.gxt would be spanish
Vocals = Audio/vocals
;folder for alternative vocal .wav files
BaseVocals = Audio/vocals
;the base foldername for multilanguage support. eg: Audio/rocha_de would be german Audio/rocha_es would be spanish
[MMP]
MMPVersion = 3
;version numbering of the mmp file standard, if something changes later
[Map]
UpDate = 2010-08-01
;YYYY-MM-DD
CreaDate = 2010-08-01
;YYYY-MM-DD
LongDesc = A small rocket arena themed like the game Portal. No cake for you
LongDesc-abc = Longdesc in abc language
Tags[] = arena
Tags[] = themed
;categories which the map belongs to
;discussion about which categories to use: http://gtamp.com/forum/viewtopic.php?f=4&t=117
Weapons[] = Rocket Launcher
;list of all occuring weapons and items on the map. not sure if short versions would be better than complete names
GTA2Version = 11.39
;GTA 2 version which is required to play this map
Author = elypter
;multiple authors can be added by writing instead:
;Author[]= elypter
;Author[]= lorne
Readme = rocket_chamber_readme.txt
;standard readme file
Readme-abc = rocket_chamber_replacewithlanguage.txt
Homepage = http://gta2dare.tk
;homepage or e-mail (starts with mailto://)
Fetch = http://elypter.net84.net/gta2.tk/maps/rocha.7z
;url where the map can be downloaded or updated
UpdateCheck = http://elypter.net84.net/gta2.tk/maps/update.ini
;url where it could be checked if an update is required
DuskSupport = false
;are there lights on the map
WantedLevel = 0
;can be "X" or "X-Y"
MapArea = 60 60 233 233
;visible Region x1 y1 x2 y2
;0 0 0 0 will disable the maparea functionality
PlayArea = 80 160 200 224
;playable Region x1 y1 x2 y2
Images[] = rocha_screenshot1.jpg
Images[] = rocha_screenshot2.jpg
;additional images of the map. The first is the default image.
Video = http://www.youtube.com/watch?v=NzCme0ISbFE
;links to ingame videos of the map for example on youtube.
;multiple videos can be added by writing instead:
;Video[] = http://www.youtube.com/watch?v=NzCme0ISbFE
;Video[] = http://www.youtube.com/watch?v=NzCme0ISbFE
[Host]
;suggested default settings for hosting this map (if an entry is not used settings stay untouched) (same variables as in registry)
game_type = frag
;frag|tag|point
game_time_limit = 0
;0-60
;game_speed = 1
;0-2
f_limit = 10
;0-99
police = false
;true|false
[Client]
;settings that are suggested for the game(but cannot be forced by host) (same variables as in registry)
show_player_names = true
;true|false
lighting = noon
;noon|dusk
;text_speed = 5
;1-5 1 is fastest, 5 is slowest
;not sure if to put in. it depends on the length of messages but also on the actual gamespeed.
<11.3beta1 - required
>11.3beta1 - required if those files are used
Out of Use
In use by Other Applications - optional
Read by Map List - optional
General Policy
-None of the variables is required or should be required by any application if it is not essential but "MMPVersion = 3" is highly recommended if you use one of the new features
-Variables should not force how a map is being treated. (neither "lighting" or "DuskSupport" should not force the host to use these settings)
Multilanguage
language codes should follow this standard:
http://en.wikipedia.org/wiki/IETF_language_tag
Areas
maparea: the area that is being edited, coordinates for edge repetition (TradeMarks Editor). (also screenshot)
playarea: the area where you can run or drive around or be shot by a rocket. (also screenshot)
on most maps the map area is just a bit larger than the play area. But there are some map makers that write their names on the map eg: bernaar's race or cut an arena map out of a bigger map but keep a relatively large area eg: multislayer cage.
Playarea could be used for sorting by map size or as an alternative screenshot area if you want an image that shows the place of action more detailed.
Packaging
The map or maps should be distributed in a single .zip .7z or .rar archive. The map files should be in the root folder of the archive.(map.7z/ == %ProgramFiles%\gta2\data\)
Implicit values
basename(GMPFile).jpg : preview image
basename(SCRFile).mis : not compiled mission script
basename(SCRFile).tmp: compiler temp file (deletable)
basename(SCRFile).txt: compiler temp file (deletable)
basename(GMPFile).\d\d\d: editor backup file (eg: rocha.001) (deletable)
basename(GMPFile).auto: editor backup file (deletable)