2015-12-31 12:21:44 +00:00
#region = = = = = = = = = = = = = = = = = = Copyright ( c ) 2007 Pascal vd Heiden
/ *
* Copyright ( c ) 2007 Pascal vd Heiden , www . codeimp . com
* This program is released under GNU General Public License
*
* This program is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU General Public License for more details .
*
* /
#endregion
#region = = = = = = = = = = = = = = = = = = Namespaces
using CodeImp.DoomBuilder.IO ;
#endregion
namespace CodeImp.DoomBuilder.Config
{
public struct MapLumpInfo
{
// Members
public readonly string Name ;
public readonly bool Required ;
public readonly bool BlindCopy ;
public readonly bool NodeBuild ;
public readonly bool AllowEmpty ;
public readonly bool ScriptBuild ; //mxd
internal readonly ScriptConfiguration Script ;
// Construct from IDictionary
internal MapLumpInfo ( string name , Configuration cfg )
{
// Apply settings
this . Name = name ;
this . Script = null ;
this . Required = cfg . ReadSetting ( "maplumpnames." + name + ".required" , false ) ;
this . BlindCopy = cfg . ReadSetting ( "maplumpnames." + name + ".blindcopy" , false ) ;
this . NodeBuild = cfg . ReadSetting ( "maplumpnames." + name + ".nodebuild" , false ) ;
this . AllowEmpty = cfg . ReadSetting ( "maplumpnames." + name + ".allowempty" , false ) ;
this . ScriptBuild = cfg . ReadSetting ( "maplumpnames." + name + ".scriptbuild" , false ) ; //mxd
string scriptconfig = cfg . ReadSetting ( "maplumpnames." + name + ".script" , "" ) ;
// Find script configuration
if ( scriptconfig . Length > 0 )
{
if ( General . ScriptConfigs . ContainsKey ( scriptconfig . ToLowerInvariant ( ) ) )
{
this . Script = General . ScriptConfigs [ scriptconfig . ToLowerInvariant ( ) ] ;
}
else
{
2022-11-25 17:14:35 +00:00
General . ErrorLogger . Add ( ErrorType . Warning , "Map lump \"" + name + "\" in the current game configuration specifies an unknown script configuration \"" + scriptconfig + "\". Using plain text instead." ) ;
2015-12-31 12:21:44 +00:00
this . Script = new ScriptConfiguration ( ) ;
}
}
}
}
}