/*************************************************************\
  Doom Builder 2 Game Configuration for ZDoom-compatible port
\*************************************************************/

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

// This is the title to show for this game
game = "ZDoom: Game (map format)";

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

// Should this configuration be initially available?
enabledbydefault = true;

// *******************************************************
// *                                                     *
// *   Note: all the elements that could be factorized   *
// *   because they were common to ZDoom, GZDoom and     *
// *   Zandronum have been moved to ZDoom_common.cfg.     *
// *                                                     *
// *******************************************************

// STANDARD ZDOOM SETTINGS
// Settings common to all games and all map formats
include("Includes\\ZDoom_common.cfg", "common");

// Default thing filters
// (these are not required, just useful for new users)
thingsfilters
{
	// Keep only the one that's appropriate!
	include("Includes\\Doom_misc.cfg", "thingsfilters"); // Thing filters for Doom/Hexen map formats
	include("Includes\\ZDoom_misc.cfg", "thingsfilters_udmf"); // Thing filters for UDMF map format
}

// ---------------- MAP FORMAT STUFF ----------------
// Keep only the one that's appropriate!
// Settings common to Doom map format
include("Includes\\ZDoom_common.cfg", "mapformat_doom");

// Settings common to Hexen map format
include("Includes\\ZDoom_common.cfg", "mapformat_hexen");

// Settings common to text map format
include("Includes\\ZDoom_common.cfg", "mapformat_udmf");
// ---------------- MAP FORMAT STUFF ----------------



// ---------------- GAME STUFF ----------------
//Keep only the one that's appropriate!
// Settings common to Doom games
include("Includes\\Game_Doom.cfg");

// Settings common to Heretic games
include("Includes\\Game_Heretic.cfg");

// Settings common to Hexen games
include("Includes\\Game_Hexen.cfg");

// Settings common to Strife games
include("Includes\\Game_Strife.cfg");

// Settings common to Chex Quest games
include("Includes\\Game_Chex.cfg");

// Settings common to Chex Quest 3 games
include("Includes\\Game_Chex3.cfg");

// Settings common to Harmony games
include("Includes\\Game_Harmony.cfg");

// Settings common to Action Doom 2 games
include("Includes\\Game_Action2.cfg");
// ---------------- GAME STUFF ----------------



// THING TYPES
// Each engine has its own additional thing types
// Order should always be 1: Game; 2: ZDoom/game; 3: ZDoom/zdoom
thingtypes
{
	// Basic game actors
	include("Includes\\Doom_things.cfg");
	include("Includes\\Doom2_things.cfg");
	include("Includes\\Heretic_things.cfg");
	include("Includes\\Hexen_things.cfg");
	include("Includes\\Strife_things.cfg");
	include("Includes\\Chex_things.cfg");
	include("Includes\\Chex3_things.cfg");
	include("Includes\\Harmony_things.cfg");
	
	// Additional ZDoom actors for that game
	include("Includes\\ZDoom_things.cfg", "doom");
	include("Includes\\ZDoom_things.cfg", "heretic");
	include("Includes\\ZDoom_things.cfg", "hexen");
	include("Includes\\ZDoom_things.cfg", "strife");
	include("Includes\\ZDoom_things.cfg", "default");
	
	// Standard ZDoom actors
	include("Includes\\ZDoom_things.cfg", "zdoom");
	
	// Additional actors from the engine
	include("Includes\\GZDoom_things.cfg", "gzdoom");
	include("Includes\\Zandronum_things.cfg", "doom");
	include("Includes\\Zandronum_things.cfg", "heretic");
	include("Includes\\Zandronum_things.cfg", "hexen");
	include("Includes\\Zandronum_things.cfg", "strife");
	include("Includes\\Zandronum_things.cfg", "default");
}

// ENUMERATIONS
// Each engine has its own additional thing types
// These are enumerated lists for linedef types and UDMF fields.
enums
{
	// Basic game enums
	include("Includes\\Doom_misc.cfg", "enums");
	
	// Standard ZDoom enums
	include("Includes\\ZDoom_misc.cfg", "enums");
	
	// Additional ZDoom enums for that game
	include("Includes\\ZDoom_misc.cfg", "enums_doom");
	include("Includes\\ZDoom_misc.cfg", "enums_heretic");
	include("Includes\\ZDoom_misc.cfg", "enums_hexen");
	include("Includes\\ZDoom_misc.cfg", "enums_strife");
	include("Includes\\ZDoom_misc.cfg", "enums_chex");
	include("Includes\\ZDoom_misc.cfg", "enums_chex3");
	include("Includes\\ZDoom_misc.cfg", "enums_harmony");
	
	// Additional enums from the engine
	include("Includes\\Zandronum_misc.cfg", "enums_doom");
	include("Includes\\Zandronum_misc.cfg", "enums_notdoom");
}
