/*************************************************************\
	Doom Builder Game Configuration for Hexen
\*************************************************************/

// This is required to prevent accedential use of a different configuration
type = "Doom Builder 2 Game Configuration";

// This is the title to show for this game
game = "Hexen";

// This is the simplified game engine/sourceport name
engine = "hexen";

// The format interface handles the map data format
formatinterface = "HexenMapSetIO";

// Default lump name for new map
defaultlumpname = "MAP01";

// Default testing parameters
testparameters = "-iwad \"%WP\" -skill \"%S\" -file \"%AP\" \"%F\" -warp %L1 %L2 %NM";
testshortpaths = true;

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

// Skill levels
skills
{
	include("Includes\\Hexen_misc.cfg", "skills");
}

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

// Special linedefs
soundlinedefflag = 64;	// See linedefflags
singlesidedflag = 1;	// See linedefflags
doublesidedflag = 4;	// See linedefflags
impassableflag = 1;
upperunpeggedflag = 8;
lowerunpeggedflag = 16;

// Door making
makedoortrack = "DOORTRAK";
makedooraction = 11;			// See linedeftypes
makedoorarg0= -1;				// -1 can be used for a new sector tag here
makedoorarg1 = 16;
makedoorarg2 = 0;
makedoorarg3 = 0;
makedoorarg4 = 0;

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

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


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

// Flat used as sky
skyflatname = "F_SKY";


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


// Texture sources
textures
{
	include("Includes\\Doom_misc.cfg", "textures");
}

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

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

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


/*
GAME DETECT PATTERN
Used to guess the game for which a WAD file is made.

1 = One of these lumps must exist
2 = None of these lumps must exist
3 = All of these lumps must exist
*/

gamedetect
{
	TEXTMAP = 2;
	ENDMAP = 2;
	EXTENDED = 2;
	BEHAVIOR = 3;
	E1M1 = 2; E1M2 = 2; E1M3 = 2; E1M4 = 2; E1M5 = 2; E1M6 = 2; E1M7 = 2; E1M8 = 2; E1M9 = 2;
	E2M1 = 2; E2M2 = 2; E2M3 = 2; E2M4 = 2; E2M5 = 2; E2M6 = 2; E2M7 = 2; E2M8 = 2; E2M9 = 2;
	E3M1 = 2; E3M2 = 2; E3M3 = 2; E3M4 = 2; E3M5 = 2; E3M6 = 2; E3M7 = 2; E3M8 = 2; E3M9 = 2;
	E4M1 = 2; E4M2 = 2; E4M3 = 2; E4M4 = 2; E4M5 = 2; E4M6 = 2; E4M7 = 2; E4M8 = 2; E4M9 = 2;
	MAP01 = 1; MAP02 = 1; MAP03 = 1; MAP04 = 1; MAP05 = 1; MAP06 = 1; MAP07 = 1; MAP08 = 1; MAP09 = 1; MAP10 = 1;
	MAP11 = 1; MAP12 = 1; MAP13 = 1; MAP14 = 1; MAP15 = 1; MAP16 = 1; MAP17 = 1; MAP18 = 1; MAP19 = 1; MAP20 = 1;
	MAP21 = 1; MAP22 = 1; MAP23 = 1; MAP24 = 1; MAP25 = 1; MAP26 = 1; MAP27 = 1; MAP28 = 1; MAP29 = 1; MAP30 = 1;
	MAP31 = 1; MAP32 = 1; MAP33 = 1; MAP34 = 1; MAP35 = 1; MAP36 = 1; MAP37 = 1; MAP38 = 1; MAP39 = 1; MAP40 = 1;
	MAP41 = 1;
}


maplumpnames
{
	include("Includes\\Hexen_misc.cfg", "hexenmaplumpnames");
}


// Default sector brightness levels
sectorbrightness
{
	include("Includes\\Doom_misc.cfg", "sectorbrightness");
}

// SECTOR TYPES
sectortypes
{
	include("Includes\\Hexen_sectors.cfg");
}


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


// Activations filter for Hexen type activations
// This filters the activation bits from the flags
include("Includes\\Hexen_misc.cfg", "linedefactivationsfilter");


// LINEDEF ACTIVATIONS
linedefactivations
{
	include("Includes\\Hexen_misc.cfg", "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("Includes\\Doom_misc.cfg", "linedefflagstranslation");
	include("Includes\\Hexen_misc.cfg", "linedefflagstranslation");
}


// LINEDEF TYPES
linedeftypes
{
	include("Includes\\Hexen_linedefs.cfg");
}


// THING FLAGS
thingflags
{
	include("Includes\\Doom_misc.cfg", "thingflags");
	include("Includes\\Hexen_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("Includes\\Doom_misc.cfg", "thingflagstranslation");
	include("Includes\\Hexen_misc.cfg", "thingflagstranslation");
}


// Things flags masks
include("Includes\\Hexen_misc.cfg", "thingflagsmasks");


// THING TYPES
// Color numbers are the basic colors
// Arrow indicates if the things will have an arrow to indicate direction
// Sort: 0 = List as in configuration, 1 = List alphabetically
// Blocking: 0 = No, 1 = Completely, 2 = True-Height
// Error:
// 0 = Dont check for errors
// 1 = Must be inside map (default)
// 2 = Must be inside map and may not collide
thingtypes
{
	include("Includes\\Hexen_things.cfg");
}


// ENUMERATIONS
// These are enumerated lists for linedef types and UDMF fields.
enums
{
	include("Includes\\Doom_misc.cfg", "enums");
	include("Includes\\Hexen_misc.cfg", "enums");
}


// Default thing filters
// (these are not required, just usefull for new users)
thingsfilters
{
	include("Includes\\Hexen_misc.cfg", "thingsfilters");
}