/*************************************************************\
      Doom Builder 2 Game Configuration for Vavoom Engine
\*************************************************************/

// 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 = "Vavoom: Game (map format)";

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

// *******************************************************
// *                                                     *
// *   Note: all the elements that could be factorized   *
// *   because they were common to Vavoom have been      *
// *   moved to vavoom_common.cfg.                       *
// *                                                     *
// *******************************************************

// STANDARD VAVOOM SETTINGS
// Settings common to all games and all map formats
include("includes\\vavoom_common.cfg", "common");

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

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

// Settings common to text map format
include("includes\\vavoom_common.cfg", "mapformat_udmf");
!!!!!!!!!! MAP FORMAT STUFF !!!!!!!!!!

!!!!!!!!!!!!! GAME STUFF !!!!!!!!!!!!!
!Keep only the one that's appropriate!
// Settings common to Doom games
include("includes\\vavoom_common.cfg", "game_doom");

// Settings common to Heretic games
include("includes\\vavoom_common.cfg", "game_heretic");

// Settings common to Hexen games
include("includes\\vavoom_common.cfg", "game_hexen");

// Settings common to Strife games
include("includes\\vavoom_common.cfg", "game_strife");
!!!!!!!!!!!!! GAME STUFF !!!!!!!!!!!!!

!!!!Keep only one of each category!!!!
// Depends on both game and map format
gamedetect
{
	// Map format
	include("includes\\vavoom_misc.cfg", "gamedetect_doom");
	include("includes\\vavoom_misc.cfg", "gamedetect_hexen");
	include("includes\\vavoom_misc.cfg", "gamedetect_udmf");
	// Game scheme
	include("includes\\doom_misc.cfg", "gamedetect_exmx");
	include("includes\\doom_misc.cfg", "gamedetect_mapxx");
	include("includes\\doom_misc.cfg", "gamedetect_either");
	include("includes\\heretic_misc.cfg", "gamedetect");
	include("includes\\hexen_misc.cfg", "gamedetect");
	include("includes\\strife_misc.cfg", "gamedetect");
}

// THING TYPES
// Each engine has its own additional thing types
// Order should always be 1: Game; 2: Vavoom/game; 3: Vavoom/vavoom
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");
	// Additional Vavoom actors for that game
	include("includes\\vavoom_things.cfg", "doom");
	include("includes\\vavoom_things.cfg", "heretic");
	include("includes\\vavoom_things.cfg", "hexen");
	include("includes\\vavoom_things.cfg", "strife");
	include("includes\\vavoom_things.cfg", "default");
	// Standard Vavoom actors
	include("includes\\vavoom_things.cfg", "vavoom");
}

// 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 Vavoom enums
	include("includes\\vavoom_misc.cfg", "enums");
	// Additional Vavoom enums for that game
	include("includes\\vavoom_misc.cfg", "enums_doom");
	include("includes\\vavoom_misc.cfg", "enums_heretic");
	include("includes\\vavoom_misc.cfg", "enums_hexen");
	include("includes\\vavoom_misc.cfg", "enums_strife");
}
