+ }
+ if(strstrofs(s, "}", 0) >= 0)
+ {
+ if(!in_brackets)
+ return false; // no starting bracket! let the mapinfo generation system handle it
+ in_brackets = false;
+ if(dosave)
+ {
+ MapInfo_Map_description = stored_Map_description;
+ if(stored_Map_title != "")
+ MapInfo_Map_title = stored_Map_title;
+ MapInfo_Map_author = stored_Map_author;
+ if(isgenerator)
+ MapInfo_Map_supportedGametypes = stored_supportedGametypes;
+ else
+ {
+ FOREACH(Gametypes, it.m_flags & stored_supportedGametypes,
+ {
+ _MapInfo_Map_ApplyGametype ("", pGametypeToSet, it, true);
+ });
+ }
+ MapInfo_Map_supportedFeatures = stored_supportedFeatures;
+ MapInfo_Map_flags = stored_flags;
+ return true; // no need to continue through the file, we have our map!
+ }
+ else
+ {
+ // discard any gathered locals, we're not using the correct map!
+ stored_Map_description = "";
+ stored_Map_title = "";
+ stored_Map_author = "";
+ stored_supportedGametypes = 0;
+ stored_supportedFeatures = 0;
+ stored_flags = 0;
+ continue;
+ }
+ }
+