common
{
  // Some common settings
  include("Common.cfg");

  // Default testing parameters
  include("Test_params.cfg", "vanilla_mapxx");
  testshortpaths = true;

  // Default nodebuilder configurations
  defaultsavecompiler = "zennode_normal";
  defaulttestcompiler = "zennode_fast";

  // Texture loading options
  mixtexturesflats = false;
  defaulttexturescale = 1.0f;
  defaultflatscale = 1.0f;
  scaledtextureoffsets = true;

  //mxd. Do vanilla-style thing rotation angle clamping
  doomthingrotationangles = true;
  
  // Texture sources
  textures
  {
    include("Doom_misc.cfg", "textures");
  }

  // Patch sources
  patches
  {
    include("Doom_misc.cfg", "patches");
  }

  // Sprite sources
  sprites
  {
    include("Doom_misc.cfg", "sprites");
  }

  // Flat sources
  flats
  {
    include("Doom_misc.cfg", "flats");
  }
}

mapformat_doom
{
  // The format interface handles the map data format
  formatinterface = "DoomMapSetIO";

  maplumpnames
  {
    include("Doom_misc.cfg", "doommaplumpnames");
  }

  // When this is set to true, sectors with the same tag will light up when a line is highlighted
  linetagindicatesectors = true;

  // Special linedefs
  include("ZDoom_misc.cfg", "speciallinedefs_doomhexen");

  // Default flags for first new thing
  defaultthingflags
  {
    include("Doom_misc.cfg", "defaultthingflags");
  }

  // Door making
  include("ZDoom_misc.cfg", "doormaking_doom");

  // Generalized actions
  generalizedlinedefs = false;
  generalizedsectors = false;

  staticlimits
  {
    visplanes = 128;
  }

  visplaneexplorer
  {
    viewheightdefault = 41;

    viewheights
    {
      1 = "Death";
      24 = "Falling";
      41 = "Eye level";
      96 = "Archvile jump";
    }
  }

  // DEFAULT SECTOR BRIGHTNESS LEVELS
  sectorbrightness
  {
    include("Doom_misc.cfg", "sectorbrightness");
  }

  // SECTOR TYPES
  sectortypes
  {
    include("Doom_sectors.cfg");
  }

  // LINEDEF FLAGS
  linedefflags
	{
		include("Doom_misc.cfg", "linedefflags");
	}

	// LINEDEF ACTIVATIONS
	linedefactivations
	{
	}

	// Linedef flags UDMF translation table
	// This is needed for copy/paste and prefabs to work properly
	// When the UDMF field name is prefixed with ! it is inverted
	linedefflagstranslation
	{
		include("Doom_misc.cfg", "linedefflagstranslation");
	}

	// LINEDEF TYPES
	linedeftypes
	{
		include("Doom_linedefs.cfg");
	}

	// THING FLAGS
	thingflags
	{
		include("Doom_misc.cfg", "thingflags");
	}

	// Thing flags UDMF translation table
	// This is needed for copy/paste and prefabs to work properly
	// When the UDMF field name is prefixed with ! it is inverted
	thingflagstranslation
	{
		include("Doom_misc.cfg", "thingflagstranslation");
	}
	
		// How to compare thing flags (for the stuck things error checker)
	thingflagscompare
	{
		include("Doom_misc.cfg", "thingflagscompare");
	}

	// Things flags masks
	include("Doom_misc.cfg", "thingflagsmasks");
}