mirror of
https://git.do.srb2.org/STJr/UltimateZoneBuilder.git
synced 2024-11-22 20:02:48 +00:00
Merge remote-tracking branch 'udb/master'
This commit is contained in:
commit
aea6808cee
24 changed files with 5307 additions and 4823 deletions
|
@ -9,15 +9,10 @@ type = "Doom Builder 2 Game Configuration";
|
|||
game = "EDGE-Classic: Doom 2 (Doom format)";
|
||||
|
||||
// This is the simplified game engine/sourceport name
|
||||
engine = "edge";
|
||||
engine = "edge-classic";
|
||||
|
||||
// *******************************************************
|
||||
// * *
|
||||
// * Note: all the elements that could be factorized *
|
||||
// * because they were common to ZDoom, GZDoom and *
|
||||
// * Zandronum have been moved to ZDoom_common.cfg. *
|
||||
// * *
|
||||
// *******************************************************
|
||||
// Settings common to Doom games
|
||||
include("Includes\\Game_Doom.cfg");
|
||||
|
||||
// STANDARD DOOM SETTINGS
|
||||
// Settings common to all games and all map formats
|
||||
|
@ -27,16 +22,16 @@ include("Includes\\Doom_common.cfg", "common");
|
|||
include("Includes\\Boom_common.cfg", "mapformat_doom");
|
||||
include("Includes\\MBF21_common.cfg", "mapformat_doom");
|
||||
|
||||
// Settings common to Doom games
|
||||
include("Includes\\Game_Doom.cfg");
|
||||
// Settings common to all games and all map formats
|
||||
include("Includes\\EdgeC_common.cfg", "common");
|
||||
|
||||
// Settings common to doom map format
|
||||
include("Includes\\EdgeC_misc.cfg", "mapformat_doom");
|
||||
|
||||
include("Includes\\EdgeC_common.cfg", "mapformat_doom");
|
||||
|
||||
// Map name format for Doom 2.
|
||||
mapnameformat = "MAPxy";
|
||||
|
||||
//mxd. No DECORATE support in vanilla
|
||||
decorategames = "";
|
||||
|
||||
// Default thing filters
|
||||
// (these are not required, just useful for new users)
|
||||
|
@ -45,16 +40,6 @@ thingsfilters
|
|||
include("Includes\\Doom_misc.cfg", "thingsfilters");
|
||||
}
|
||||
|
||||
// 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\\Boom_things.cfg");
|
||||
}
|
||||
|
||||
// ENUMERATIONS
|
||||
// Each engine has its own additional thing types
|
||||
|
@ -65,10 +50,5 @@ enums
|
|||
include("Includes\\Doom_misc.cfg", "enums");
|
||||
}
|
||||
|
||||
// Dehacked data
|
||||
dehacked
|
||||
{
|
||||
include("Includes\\Dehacked_Doom.cfg");
|
||||
}
|
||||
|
||||
|
||||
|
|
49
Build/Configurations/EdgeC_DoomUDMF.cfg
Normal file
49
Build/Configurations/EdgeC_DoomUDMF.cfg
Normal file
|
@ -0,0 +1,49 @@
|
|||
/*************************************************************\
|
||||
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 = "EDGE-Classic: Doom 2 (UDMF)";
|
||||
|
||||
// This is the simplified game engine/sourceport name
|
||||
engine = "edge-classic";
|
||||
|
||||
|
||||
// Settings common to all games and all map formats
|
||||
include("Includes\\EdgeC_common.cfg", "common");
|
||||
|
||||
// Default testing parameters
|
||||
include("Includes\\Test_params.cfg", "vanilla_mapxx");
|
||||
|
||||
// Settings common to text map format
|
||||
include("Includes\\EdgeC_misc.cfg", "mapformat_udmf");
|
||||
|
||||
|
||||
// Special linedefs
|
||||
singlesidedflag = "blocking";
|
||||
doublesidedflag = "twosided";
|
||||
impassableflag = "blocking";
|
||||
upperunpeggedflag = "dontpegtop";
|
||||
lowerunpeggedflag = "dontpegbottom";
|
||||
defaultlinedefactivation = "playercross"; //mxd. Used when translating a map to UDMF
|
||||
|
||||
|
||||
|
||||
|
||||
// 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");
|
||||
}
|
||||
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
// ***********************************************************
|
||||
// * *
|
||||
// * These values are mainly for UDMF EDGE-Classic *
|
||||
// * These values are common for DiD and UDMF EDGE-Classic *
|
||||
// * *
|
||||
// ***********************************************************
|
||||
|
||||
|
@ -12,15 +12,10 @@ common
|
|||
// Default testing parameters
|
||||
include("Test_params.cfg", "modern");
|
||||
|
||||
// Default nodebuilder configurations
|
||||
defaultsavecompiler = "glbsp_normal";
|
||||
defaulttestcompiler = "glbsp_fast";
|
||||
|
||||
// Generalized actions
|
||||
// generalizedlinedefs is true for Doom format and false for
|
||||
// the other two, so it's not here.
|
||||
generalizedsectors = true;
|
||||
|
||||
generalizedlinedefs = true;
|
||||
|
||||
//mxd. Maximum safe map size check (0 means skip check)
|
||||
safeboundary = 0;
|
||||
|
||||
|
@ -30,9 +25,52 @@ common
|
|||
defaultflatscale = 1.0f;
|
||||
scaledtextureoffsets = true;
|
||||
|
||||
// When this is set to true, sectors with the same tag will light up when a line is highlighted
|
||||
linetagindicatesectors = true;
|
||||
|
||||
// Enables multiple tags on sectors
|
||||
sectormultitag = false;
|
||||
|
||||
//mxd. Sidedefs compression
|
||||
// ioanch FIXME: what does this do? I made it false
|
||||
sidedefcompressionignoresaction = false;
|
||||
|
||||
// Enables support for 3D floors (not really, since support for 3D floors is pretty much hard-coded, but
|
||||
// this tells plugins that the game supports 3D floors)
|
||||
effect3dfloorsupport = true;
|
||||
|
||||
//mxd. Sky textures for vanilla maps
|
||||
defaultskytextures
|
||||
{
|
||||
SKY1 = "MAP01,MAP02,MAP03,MAP04,MAP05,MAP06,MAP07,MAP08,MAP09,MAP10,MAP11";
|
||||
SKY2 = "MAP12,MAP13,MAP14,MAP15,MAP16,MAP17,MAP18,MAP19,MAP20";
|
||||
SKY3 = "MAP21,MAP22,MAP23,MAP24,MAP25,MAP26,MAP27,MAP28,MAP29,MAP30,MAP31,MAP32";
|
||||
}
|
||||
|
||||
// Default lump name for new map
|
||||
defaultlumpname = "MAP01";
|
||||
|
||||
// No DECORATE support in EDGE ;)
|
||||
decorategames = "";
|
||||
|
||||
//The default script compiler to use
|
||||
defaultscriptcompiler = "";
|
||||
|
||||
// Default nodebuilder configurations
|
||||
defaultsavecompiler = "";
|
||||
defaulttestcompiler = "";
|
||||
nodebuildersave = "";
|
||||
nodebuildertest = "";
|
||||
|
||||
damagetypes = "";
|
||||
internalsoundnames = "";
|
||||
|
||||
// Default texture sets
|
||||
// (these are not required, but useful for new users)
|
||||
texturesets
|
||||
{
|
||||
include("Doom_texturesets.cfg");
|
||||
}
|
||||
|
||||
// Texture sources
|
||||
textures
|
||||
|
@ -47,7 +85,6 @@ common
|
|||
include("EdgeC_misc.cfg", "hires");
|
||||
}
|
||||
|
||||
|
||||
// Patch sources
|
||||
patches
|
||||
{
|
||||
|
@ -71,91 +108,44 @@ common
|
|||
{
|
||||
include("Boom_misc.cfg", "colormaps");
|
||||
}
|
||||
|
||||
|
||||
compatibility
|
||||
{
|
||||
fixnegativepatchoffsets = true;
|
||||
fixmaskedpatchoffsets = true;
|
||||
}
|
||||
}
|
||||
|
||||
mapformat_doom
|
||||
{
|
||||
mixtexturesflats = true;
|
||||
// The format interface handles the map data format
|
||||
formatinterface = "DoomMapSetIO";
|
||||
|
||||
maplumpnames
|
||||
{
|
||||
include("Doom_misc.cfg", "doommaplumpnames");
|
||||
include("Boom_misc.cfg", "boommaplumpnames");
|
||||
}
|
||||
|
||||
// When this is set to true, sectors with the same tag will light up when a line is highlighted
|
||||
linetagindicatesectors = true;
|
||||
|
||||
|
||||
|
||||
// Default flags for first new thing
|
||||
defaultthingflags
|
||||
{
|
||||
include("Doom_misc.cfg", "defaultthingflags");
|
||||
}
|
||||
|
||||
// Door making
|
||||
//include("ZDoom_misc.cfg", "doormaking_doom");
|
||||
|
||||
// Generalized actions
|
||||
generalizedlinedefs = true;
|
||||
generalizedsectors = true;
|
||||
|
||||
// GENERALIZED LINEDEF TYPES
|
||||
|
||||
// GENERALIZED LINEDEF TYPES
|
||||
gen_linedeftypes
|
||||
{
|
||||
include("Boom_generalized.cfg", "gen_linedeftypes");
|
||||
}
|
||||
|
||||
// GENERALIZED SECTOR TYPES
|
||||
// GENERALIZED SECTOR TYPES
|
||||
gen_sectortypes
|
||||
{
|
||||
include("Boom_generalized.cfg", "gen_sectortypes");
|
||||
}
|
||||
|
||||
// DEFAULT SECTOR BRIGHTNESS LEVELS
|
||||
sectorbrightness
|
||||
{
|
||||
include("Doom_misc.cfg", "sectorbrightness");
|
||||
}
|
||||
|
||||
// SECTOR TYPES
|
||||
sectortypes
|
||||
{
|
||||
include("Doom_sectors.cfg");
|
||||
include("EdgeC_sectors.cfg");
|
||||
}
|
||||
|
||||
// LINEDEF FLAGS
|
||||
linedefflags
|
||||
|
||||
// Door making
|
||||
makedoortrack = "DOORTRAK";
|
||||
makedoordoor = "BIGDOOR2";
|
||||
makedoorceil = "FLAT20";
|
||||
makedooraction = 1; // See linedeftypes
|
||||
|
||||
// DEFAULT SECTOR BRIGHTNESS LEVELS
|
||||
sectorbrightness
|
||||
{
|
||||
include("Doom_misc.cfg", "linedefflags");
|
||||
include("Boom_misc.cfg", "linedefflags");
|
||||
include("Doom_misc.cfg", "sectorbrightness");
|
||||
}
|
||||
|
||||
// LINEDEF ACTIVATIONS
|
||||
linedefactivations
|
||||
|
||||
// SECTOR TYPES
|
||||
sectortypes
|
||||
{
|
||||
include("Doom_sectors.cfg");
|
||||
include("EdgeC_sectors.cfg");
|
||||
}
|
||||
|
||||
// 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");
|
||||
include("Boom_misc.cfg", "linedefflagstranslation");
|
||||
}
|
||||
|
||||
|
||||
// LINEDEF TYPES
|
||||
linedeftypes
|
||||
{
|
||||
|
@ -164,227 +154,21 @@ mapformat_doom
|
|||
include("EdgeC_linedefs.cfg");
|
||||
}
|
||||
|
||||
|
||||
thingtypes
|
||||
{
|
||||
// Basic game actors
|
||||
include("Doom_things.cfg");
|
||||
include("Doom2_things.cfg");
|
||||
include("Boom_things.cfg");
|
||||
include("EdgeC_things.cfg");
|
||||
}
|
||||
|
||||
// THING FLAGS
|
||||
thingflags
|
||||
{
|
||||
include("Doom_misc.cfg", "thingflags");
|
||||
include("Boom_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");
|
||||
include("Boom_misc.cfg", "thingflagstranslation");
|
||||
}
|
||||
// How to compare thing flags (for the stuck things error checker)
|
||||
thingflagscompare
|
||||
{
|
||||
include("Doom_misc.cfg", "thingflagscompare");
|
||||
include("Boom_misc.cfg", "thingflagscompare");
|
||||
}
|
||||
|
||||
// Things flags masks
|
||||
include("Doom_misc.cfg", "thingflagsmasks");
|
||||
|
||||
mixtexturesflats = true;
|
||||
|
||||
// Texture sources
|
||||
textures
|
||||
// Dehacked data
|
||||
dehacked
|
||||
{
|
||||
include("Doom_misc.cfg", "textures");
|
||||
include("EdgeC_misc.cfg", "textures"); // works for Eternity too
|
||||
}
|
||||
|
||||
//mxd. HiRes sources
|
||||
hires
|
||||
{
|
||||
include("EdgeC_misc.cfg", "hires");
|
||||
include("Dehacked_Doom.cfg");
|
||||
}
|
||||
}
|
||||
// ***********************************************************
|
||||
// * *
|
||||
// * Text map format *
|
||||
// * *
|
||||
// ***********************************************************
|
||||
|
||||
mapformat_udmf
|
||||
{
|
||||
// The format interface handles the map data format
|
||||
formatinterface = "UniversalMapSetIO";
|
||||
|
||||
//mxd. The default script compiler to use
|
||||
defaultscriptcompiler = "zdoom_acs.cfg";
|
||||
|
||||
// Enables support for long (> 8 chars) texture names
|
||||
// WARNING: this should only be enabled for UDMF game configurations!
|
||||
// WARNING: enabling this will make maps incompatible with Doom Builder 2 and can lead to problems in Slade 3!
|
||||
longtexturenames = false;
|
||||
|
||||
// Enables setting brightness for floor and ceiling independently from each other
|
||||
distinctfloorandceilingbrightness = false;
|
||||
|
||||
// Default nodebuilder configurations
|
||||
defaultsavecompiler = "zdbsp_udmf_normal";
|
||||
defaulttestcompiler = "zdbsp_udmf_fast";
|
||||
|
||||
// ioanch: eternity
|
||||
engine = "edge"; // override that so that DB2 uses the correct namespace
|
||||
|
||||
maplumpnames
|
||||
{
|
||||
include("UDMF_misc.cfg", "udmfmaplumpnames_begin");
|
||||
include("EdgeC_misc.cfg", "udmfmaplumpnames");
|
||||
include("UDMF_misc.cfg", "udmfmaplumpnames_end");
|
||||
}
|
||||
|
||||
// eternity
|
||||
universalfields
|
||||
{
|
||||
include("EdgeC_misc.cfg", "universalfields");
|
||||
}
|
||||
|
||||
// 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_udmf"); // same in EE
|
||||
|
||||
// Default flags for first new thing
|
||||
defaultthingflags
|
||||
{
|
||||
include("EdgeC_misc.cfg", "defaultthingflags_udmf");
|
||||
}
|
||||
|
||||
// Door making
|
||||
//include("Eternity_misc.cfg", "doormaking_udmf");
|
||||
|
||||
// Generalized actions
|
||||
generalizedlinedefs = true;
|
||||
generalizedsectors = true;
|
||||
|
||||
// GENERALIZED SECTOR TYPES
|
||||
//gen_sectortypes
|
||||
//{
|
||||
// include("Eternity_generalized.cfg", "gen_sectortypes_udmf");
|
||||
//}
|
||||
|
||||
// SECTOR FLAGS
|
||||
//sectorflags
|
||||
//{
|
||||
// include("Eternity_misc.cfg", "sectorflags_udmf");
|
||||
//}
|
||||
|
||||
|
||||
|
||||
// DEFAULT SECTOR BRIGHTNESS LEVELS
|
||||
//sectorbrightness
|
||||
//{
|
||||
// include("ZDoom_misc.cfg", "sectorbrightness");
|
||||
//}
|
||||
|
||||
// SECTOR TYPES
|
||||
//sectortypes
|
||||
//{
|
||||
// include("Eternity_misc.cfg", "sectors_udmf");
|
||||
//}
|
||||
|
||||
// SECTOR RENSERSTYLES
|
||||
//sectorrenderstyles
|
||||
//{
|
||||
// include("UDMF_misc.cfg", "sectorrenderstyles");
|
||||
//}
|
||||
|
||||
// LINEDEF FLAGS
|
||||
//linedefflags
|
||||
//{
|
||||
// include("Eternity_misc.cfg", "linedefflags_udmf");
|
||||
//}
|
||||
|
||||
// LINEDEF ACTIVATIONS
|
||||
//linedefactivations
|
||||
//{
|
||||
// include("Eternity_misc.cfg", "linedefactivations_udmf");
|
||||
//}
|
||||
|
||||
//mxd. 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");
|
||||
//include("Hexen_misc.cfg", "linedefflagstranslation");
|
||||
//include("ZDoom_misc.cfg", "linedefflagstranslation");
|
||||
}
|
||||
|
||||
// LINEDEF RENSERSTYLES
|
||||
//linedefrenderstyles
|
||||
//{
|
||||
// include("UDMF_misc.cfg", "linedefrenderstyles");
|
||||
//}
|
||||
|
||||
//SIDEDEF FLAGS
|
||||
//sidedefflags
|
||||
//{
|
||||
// include("Eternity_misc.cfg", "sidedefflags");
|
||||
//}
|
||||
|
||||
// THING FLAGS
|
||||
//thingflags
|
||||
//{
|
||||
// include("Eternity_misc.cfg", "thingflags_udmf");
|
||||
//}
|
||||
|
||||
// THING RENSERSTYLES
|
||||
//thingrenderstyles
|
||||
//{
|
||||
// include("UDMF_misc.cfg", "thingrenderstyles");
|
||||
//}
|
||||
|
||||
// How to compare thing flags (for the stuck things error checker)
|
||||
//thingflagscompare
|
||||
//{
|
||||
// include("Eternity_misc.cfg", "thingflagscompare_udmf");
|
||||
//}
|
||||
|
||||
//mxd. 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");
|
||||
//include("Hexen_misc.cfg", "thingflagstranslation");
|
||||
//include("ZDoom_misc.cfg", "thingflagstranslation");
|
||||
}
|
||||
|
||||
// Things flags masks
|
||||
//include("Hexen_misc.cfg", "thingflagsmasks");
|
||||
|
||||
// LINEDEF TYPES
|
||||
//linedeftypes
|
||||
//{
|
||||
// include("Hexen_linedefs.cfg");
|
||||
// include("Eternity_linedefs.cfg", "udmf");
|
||||
//}
|
||||
|
||||
// Texture sources
|
||||
textures
|
||||
{
|
||||
include("Doom_misc.cfg", "textures");
|
||||
include("EdgeC_misc.cfg", "textures"); // works for Eternity too
|
||||
}
|
||||
|
||||
//mxd. HiRes sources
|
||||
hires
|
||||
{
|
||||
include("EdgeC_misc.cfg", "hires");
|
||||
}
|
||||
|
||||
}
|
File diff suppressed because it is too large
Load diff
|
@ -1,8 +1,4 @@
|
|||
|
||||
// Texture loading options
|
||||
mixtexturesflats = true;
|
||||
defaulttexturescale = 1.0f;
|
||||
defaultflatscale = 1.0f;
|
||||
|
||||
linedefflags
|
||||
{
|
||||
|
@ -16,8 +12,6 @@ linedefflagtooltips
|
|||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// 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
|
||||
|
@ -27,35 +21,6 @@ linedefflagstranslation
|
|||
}
|
||||
|
||||
|
||||
linedefflags_udmf
|
||||
{
|
||||
blocking = "Impassable";
|
||||
blockmonsters = "Block monster";
|
||||
twosided = "Doublesided";
|
||||
dontpegtop = "Upper unpegged";
|
||||
dontpegbottom = "Lower unpegged";
|
||||
secret = "Secret";
|
||||
blocksound = "Block sound";
|
||||
dontdraw = "Hidden";
|
||||
mapped = "Shown";
|
||||
passuse = "PassThru";
|
||||
}
|
||||
|
||||
linedefflagtooltips_udmf
|
||||
{
|
||||
blocking = "If set on a 2-sided linedef, the linedef blocks players and monsters from being able to move through it. \nThis is typically used for mid-textured cage bars.\nBy convention, most doom-related software sets it for 1-sided lines by default because the\nid Software maps did, but it doesn't actually do anything.";
|
||||
blockmonsters = "If set, blocks only monster movement.\n(in addition to whatever existing blocking properties it would have).";
|
||||
twosided = "If set, then it has 2 sidedefs and acts as a connection between two sectors.";
|
||||
dontpegtop = "If set:\nIf the linedef is 2-sided, the upper texture starts at the height of the higher ceiling.\nIf not set: and the linedef is 2-sided, the upper texture starts at the lower ceiling instead.\nIf the linedef is 1-sided, this does nothing.";
|
||||
dontpegbottom = "If set: If the linedef is 2-sided, the lower texture starts at the height of the higher ceiling.\nIf not set: and the linedef is 2-sided, the upper texture starts at the higher floor instead.\nIf the linedef is 1-sided, this makes the mid texture start at floor instead of the ceiling.\nYou probably want to use this for door tracks if you don't want them to move with the door.";
|
||||
secret = "If set, this flag prevents it from being marked as a switch or a door on the automap.";
|
||||
blocksound = "If set, this linedef will partially block monster-waking sound from passing into the sector on the other side of it.\nNote that a sound must try to pass through two of these lines before being blocked.\nThis does not block the actual audio that the player hears at all, it is only for the monster AI.\nThis does nothing for 1-sided linedefs.";
|
||||
dontdraw = "If set, this line is not shown on the automap even if you are looking directly at it";
|
||||
mapped = "If set, this line is always revealed on the automap even if you haven't actually visited the area.";
|
||||
passuse = "Normally, if you try to pull a switch or use a door, then players are only able to activate\nthe closest linedef with a special. When PassThru is set, your use reaches\nthrough and allows players to activate both this line and whatever is behind this\nline.\nThis does nothing for 1-sided lines because they always block use actions.\n\nNote that if someone plays your map on ZDoom-derived ports like GZDoom or Zandronum,\nthen PassThru will be true for walkover specials & scrollers even when this flag\nis not set, unless you set 'compat_useblocking' in MAPINFO.";
|
||||
}
|
||||
|
||||
|
||||
|
||||
thingflags
|
||||
{
|
||||
|
@ -66,35 +31,6 @@ thingflags
|
|||
}
|
||||
|
||||
|
||||
thingflags_udmf
|
||||
{
|
||||
skill1 = "Skill 1";
|
||||
skill2 = "Skill 2";
|
||||
skill3 = "Skill 3";
|
||||
skill4 = "Skill 4";
|
||||
skill5 = "Skill 5";
|
||||
ambush = "Ambush";
|
||||
single = "Singleplayer";
|
||||
dm = "Deathmatch";
|
||||
coop = "Cooperative";
|
||||
friend = "Friendly";
|
||||
}
|
||||
|
||||
thingflagtooltips_udmf
|
||||
{
|
||||
skill1 = "If set, this actor appears on 'I'm Too Young To Die' difficulty.";
|
||||
skill2 = "If set, this actor appears on 'Hey, Not Too Rough' difficulty.";
|
||||
skill3 = "If set, this actor appears on 'Hurt Me Plenty' difficulty.";
|
||||
skill4 = "If set, this actor appears on 'Ultraviolence' difficulty.";
|
||||
skill5 = "If set, this actor appears on 'Nightmare' difficulty.";
|
||||
ambush = "If set, this actor does not wake up if it hears the player until the player comes within field of view\n(even if the actor is facing the away from the player).";
|
||||
single = "If not set, the actor does not appear in singleplayer modes.";
|
||||
dm = "If not set, the actor does not appear in deathmatch modes.";
|
||||
coop = "If not set, the actor does not appear in co-op modes.";
|
||||
friend = "If set, the actor is friendly to the player.\nIf it is a monster, it will attack other players.";
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Thing flags UDMF translation table
|
||||
// This is needed for copy/paste and prefabs to work properly
|
||||
|
@ -116,17 +52,7 @@ defaultthingflags
|
|||
}
|
||||
|
||||
|
||||
defaultthingflags_udmf
|
||||
{
|
||||
skill1;
|
||||
skill2;
|
||||
skill3;
|
||||
skill4;
|
||||
skill5;
|
||||
single;
|
||||
coop;
|
||||
dm;
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Default sector brightness levels
|
||||
|
@ -169,125 +95,552 @@ hires
|
|||
|
||||
|
||||
|
||||
/*
|
||||
ADDITIONAL UNIVERSAL DOOM MAP FORMAT FIELD DEFINITIONS
|
||||
See Documents\fielddatatypes.txt for informtion on the types.
|
||||
*/
|
||||
universalfields
|
||||
// ***********************************************************
|
||||
// * *
|
||||
// * Doom map format *
|
||||
// * *
|
||||
// ***********************************************************
|
||||
mapformat_doom
|
||||
{
|
||||
linedef
|
||||
// The format interface handles the map data format
|
||||
formatinterface = "DoomMapSetIO";
|
||||
|
||||
maplumpnames
|
||||
{
|
||||
comment
|
||||
{
|
||||
type = 2;
|
||||
default = "";
|
||||
}
|
||||
|
||||
include("Doom_misc.cfg", "doommaplumpnames");
|
||||
include("Boom_misc.cfg", "boommaplumpnames");
|
||||
}
|
||||
|
||||
sidedef
|
||||
{
|
||||
comment
|
||||
{
|
||||
type = 2;
|
||||
default = "";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
thing
|
||||
{
|
||||
comment
|
||||
{
|
||||
type = 2;
|
||||
default = "";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
sector
|
||||
{
|
||||
comment
|
||||
{
|
||||
type = 2;
|
||||
default = "";
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
MAP LUMP NAMES
|
||||
Map lumps are loaded with the map as long as they are right after each other. When the editor
|
||||
meets a lump which is not defined in this list it will ignore the map if not satisfied.
|
||||
The order of items defines the order in which lumps will be written to WAD file on save.
|
||||
To indicate the map header lump, use ~MAP
|
||||
// Enables support for individual offsets of upper/middle/lower sidedef textures
|
||||
localsidedeftextureoffsets = false;
|
||||
|
||||
Legenda:
|
||||
required = Lump is required to exist.
|
||||
blindcopy = Lump will be copied along with the map blindly. (usefull for lumps Doom Builder doesn't use)
|
||||
nodebuild = The nodebuilder generates this lump.
|
||||
allowempty = The nodebuilder is allowed to leave this lump empty.
|
||||
script = This lump is a text-based script. Specify the filename of the script configuration to use.
|
||||
*/
|
||||
|
||||
doommaplumpnames
|
||||
{
|
||||
REJECT
|
||||
// Default flags for first new thing
|
||||
defaultthingflags
|
||||
{
|
||||
allowempty = true;
|
||||
include("Doom_misc.cfg", "defaultthingflags");
|
||||
}
|
||||
|
||||
|
||||
// LINEDEF FLAGS
|
||||
linedefflags
|
||||
{
|
||||
include("Doom_misc.cfg", "linedefflags");
|
||||
include("Boom_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");
|
||||
include("Boom_misc.cfg", "linedefflagstranslation");
|
||||
}
|
||||
|
||||
|
||||
// THING FLAGS
|
||||
thingflags
|
||||
{
|
||||
include("Doom_misc.cfg", "thingflags");
|
||||
include("Boom_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");
|
||||
include("Boom_misc.cfg", "thingflagstranslation");
|
||||
}
|
||||
// How to compare thing flags (for the stuck things error checker)
|
||||
thingflagscompare
|
||||
{
|
||||
include("Doom_misc.cfg", "thingflagscompare");
|
||||
include("Boom_misc.cfg", "thingflagscompare");
|
||||
}
|
||||
|
||||
// Things flags masks
|
||||
include("Doom_misc.cfg", "thingflagsmasks");
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
udmfmaplumpnames
|
||||
// ***********************************************************
|
||||
// * *
|
||||
// * Text map format *
|
||||
// * *
|
||||
// ***********************************************************
|
||||
|
||||
mapformat_udmf
|
||||
{
|
||||
BEHAVIOR
|
||||
// The format interface handles the map data format
|
||||
formatinterface = "UniversalMapSetIO";
|
||||
|
||||
|
||||
// Enables support for long (> 8 chars) texture names
|
||||
// WARNING: this should only be enabled for UDMF game configurations!
|
||||
// WARNING: enabling this will make maps incompatible with Doom Builder 2 and can lead to problems in Slade 3!
|
||||
longtexturenames = false;
|
||||
|
||||
// Enables support for individual offsets of upper/middle/lower sidedef textures
|
||||
localsidedeftextureoffsets = true;
|
||||
|
||||
|
||||
// Enables setting brightness for floor, ceiling, and walls independently from each other
|
||||
distinctfloorandceilingbrightness = false;
|
||||
distinctwallbrightness = false;
|
||||
|
||||
// Enabled setting brightness for upper, middle, and lower sidedef independently from each other
|
||||
distinctsidedefpartbrightness = false;
|
||||
|
||||
|
||||
//engine = "edge-classic"; // override that so that DB2 uses the correct namespace
|
||||
|
||||
maplumpnames
|
||||
{
|
||||
required = false;
|
||||
nodebuild = false;
|
||||
blindcopy = true;
|
||||
include("UDMF_misc.cfg", "udmfmaplumpnames_begin");
|
||||
include("UDMF_misc.cfg", "udmfmaplumpnames_end");
|
||||
}
|
||||
|
||||
|
||||
linedefflags
|
||||
{
|
||||
blocking = "Impassable";
|
||||
blockmonsters = "Block monster";
|
||||
twosided = "Doublesided";
|
||||
dontpegtop = "Upper unpegged";
|
||||
dontpegbottom = "Lower unpegged";
|
||||
secret = "Secret";
|
||||
blocksound = "Block sound";
|
||||
dontdraw = "Hidden";
|
||||
mapped = "Shown";
|
||||
passuse = "PassThru";
|
||||
blockplayers = "Block players";
|
||||
blocksight = "Block monster line of sight";
|
||||
}
|
||||
|
||||
linedefflagtooltips
|
||||
{
|
||||
blocking = "If set on a 2-sided linedef, the linedef blocks players and monsters from being able to move through it. \nThis is typically used for mid-textured cage bars.\nBy convention, most doom-related software sets it for 1-sided lines by default because the\nid Software maps did, but it doesn't actually do anything.";
|
||||
blockmonsters = "If set, blocks only monster movement.\n(in addition to whatever existing blocking properties it would have).";
|
||||
twosided = "If set, then it has 2 sidedefs and acts as a connection between two sectors.";
|
||||
dontpegtop = "If set:\nIf the linedef is 2-sided, the upper texture starts at the height of the higher ceiling.\nIf not set: and the linedef is 2-sided, the upper texture starts at the lower ceiling instead.\nIf the linedef is 1-sided, this does nothing.";
|
||||
dontpegbottom = "If set: If the linedef is 2-sided, the lower texture starts at the height of the higher ceiling.\nIf not set: and the linedef is 2-sided, the upper texture starts at the higher floor instead.\nIf the linedef is 1-sided, this makes the mid texture start at floor instead of the ceiling.\nYou probably want to use this for door tracks if you don't want them to move with the door.";
|
||||
secret = "If set, this flag prevents it from being marked as a switch or a door on the automap.";
|
||||
blocksound = "If set, this linedef will partially block monster-waking sound from passing into the sector on the other side of it.\nNote that a sound must try to pass through two of these lines before being blocked.\nThis does not block the actual audio that the player hears at all, it is only for the monster AI.\nThis does nothing for 1-sided linedefs.";
|
||||
dontdraw = "If set, this line is not shown on the automap even if you are looking directly at it";
|
||||
mapped = "If set, this line is always revealed on the automap even if you haven't actually visited the area.";
|
||||
passuse = "Normally, if you try to pull a switch or use a door, then players are only able to activate\nthe closest linedef with a special. When PassThru is set, your use reaches\nthrough and allows players to activate both this line and whatever is behind this\nline.\nThis does nothing for 1-sided lines because they always block use actions.\n\nNote that if someone plays your map on ZDoom-derived ports like GZDoom or Zandronum,\nthen PassThru will be true for walkover specials & scrollers even when this flag\nis not set, unless you set 'compat_useblocking' in MAPINFO.";
|
||||
}
|
||||
|
||||
thingflags
|
||||
{
|
||||
skill1 = "Skill 1";
|
||||
skill2 = "Skill 2";
|
||||
skill3 = "Skill 3";
|
||||
skill4 = "Skill 4";
|
||||
skill5 = "Skill 5";
|
||||
ambush = "Ambush";
|
||||
single = "Singleplayer";
|
||||
dm = "Deathmatch";
|
||||
coop = "Cooperative";
|
||||
friend = "Friendly";
|
||||
}
|
||||
|
||||
thingflagtooltips
|
||||
{
|
||||
skill1 = "If set, this actor appears on 'I'm Too Young To Die' difficulty.";
|
||||
skill2 = "If set, this actor appears on 'Hey, Not Too Rough' difficulty.";
|
||||
skill3 = "If set, this actor appears on 'Hurt Me Plenty' difficulty.";
|
||||
skill4 = "If set, this actor appears on 'Ultraviolence' difficulty.";
|
||||
skill5 = "If set, this actor appears on 'Nightmare' difficulty.";
|
||||
ambush = "If set, this actor does not wake up if it hears the player until the player comes within field of view\n(even if the actor is facing the away from the player).";
|
||||
single = "If not set, the actor does not appear in singleplayer modes.";
|
||||
dm = "If not set, the actor does not appear in deathmatch modes.";
|
||||
coop = "If not set, the actor does not appear in co-op modes.";
|
||||
friend = "If set, the actor is friendly to the player.\nIf it is a monster, it will attack other players.";
|
||||
}
|
||||
|
||||
DIALOGUE
|
||||
// Default flags for first new thing
|
||||
defaultthingflags
|
||||
{
|
||||
required = false;
|
||||
nodebuild = false;
|
||||
script = "ZDoom_USDF.cfg";
|
||||
skill1;
|
||||
skill2;
|
||||
skill3;
|
||||
skill4;
|
||||
skill5;
|
||||
single;
|
||||
coop;
|
||||
dm;
|
||||
}
|
||||
|
||||
// Default thing filters
|
||||
// (these are not required, just useful for new users)
|
||||
thingsfilters
|
||||
{
|
||||
|
||||
filter0
|
||||
{
|
||||
name = "Keys only";
|
||||
category = "keys";
|
||||
type = -1;
|
||||
}
|
||||
|
||||
filter1
|
||||
{
|
||||
name = "Deathmatch";
|
||||
category = "";
|
||||
type = -1;
|
||||
|
||||
fields
|
||||
{
|
||||
dm = true;
|
||||
}
|
||||
}
|
||||
|
||||
filter2
|
||||
{
|
||||
name = "Cooperative";
|
||||
category = "";
|
||||
type = -1;
|
||||
|
||||
fields
|
||||
{
|
||||
coop = true;
|
||||
}
|
||||
}
|
||||
|
||||
filter3
|
||||
{
|
||||
name = "Skill 1";
|
||||
category = "";
|
||||
type = -1;
|
||||
|
||||
fields
|
||||
{
|
||||
skill1 = true;
|
||||
}
|
||||
}
|
||||
|
||||
filter4
|
||||
{
|
||||
name = "Skill 2";
|
||||
category = "";
|
||||
type = -1;
|
||||
|
||||
fields
|
||||
{
|
||||
skill2 = true;
|
||||
}
|
||||
}
|
||||
|
||||
filter5
|
||||
{
|
||||
name = "Skill 3";
|
||||
category = "";
|
||||
type = -1;
|
||||
|
||||
fields
|
||||
{
|
||||
skill3 = true;
|
||||
}
|
||||
}
|
||||
|
||||
filter6
|
||||
{
|
||||
name = "Skill 4";
|
||||
category = "";
|
||||
type = -1;
|
||||
|
||||
fields
|
||||
{
|
||||
skill4 = true;
|
||||
}
|
||||
}
|
||||
|
||||
filter7
|
||||
{
|
||||
name = "Skill 5";
|
||||
category = "";
|
||||
type = -1;
|
||||
|
||||
fields
|
||||
{
|
||||
skill5 = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// How to compare thing flags (for the stuck things error checker)
|
||||
thingflagscompare
|
||||
{
|
||||
skills
|
||||
{
|
||||
skill1;
|
||||
skill2;
|
||||
skill3;
|
||||
skill4;
|
||||
skill5;
|
||||
}
|
||||
|
||||
gamemodes
|
||||
{
|
||||
single { requiredgroups = "skills"; }
|
||||
coop { requiredgroups = "skills"; }
|
||||
dm { ignoredgroups = "skills"; }
|
||||
}
|
||||
}
|
||||
|
||||
//mxd. 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");
|
||||
}
|
||||
|
||||
ZNODES
|
||||
//mxd. 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
|
||||
{
|
||||
required = false;
|
||||
nodebuild = true;
|
||||
allowempty = false;
|
||||
}
|
||||
|
||||
BLOCKMAP
|
||||
include("Doom_misc.cfg", "linedefflagstranslation");
|
||||
}
|
||||
|
||||
|
||||
universalfields
|
||||
{
|
||||
required = false;
|
||||
nodebuild = true;
|
||||
allowempty = true;
|
||||
}
|
||||
|
||||
REJECT
|
||||
{
|
||||
required = false;
|
||||
nodebuild = true;
|
||||
allowempty = true;
|
||||
}
|
||||
|
||||
SCRIPTS
|
||||
{
|
||||
required = false;
|
||||
nodebuild = false;
|
||||
script = "ZDoom_ACS.cfg";
|
||||
linedef
|
||||
{
|
||||
comment
|
||||
{
|
||||
type = 2;
|
||||
default = "";
|
||||
}
|
||||
}
|
||||
|
||||
sidedef
|
||||
{
|
||||
comment
|
||||
{
|
||||
type = 2;
|
||||
default = "";
|
||||
}
|
||||
|
||||
scalex_top
|
||||
{
|
||||
type = 1;
|
||||
default = 1.0f;
|
||||
}
|
||||
|
||||
scalex_mid
|
||||
{
|
||||
type = 1;
|
||||
default = 1.0f;
|
||||
}
|
||||
|
||||
scalex_bottom
|
||||
{
|
||||
type = 1;
|
||||
default = 1.0f;
|
||||
}
|
||||
|
||||
scaley_top
|
||||
{
|
||||
type = 1;
|
||||
default = 1.0f;
|
||||
}
|
||||
|
||||
scaley_mid
|
||||
{
|
||||
type = 1;
|
||||
default = 1.0f;
|
||||
}
|
||||
|
||||
scaley_bottom
|
||||
{
|
||||
type = 1;
|
||||
default = 1.0f;
|
||||
}
|
||||
|
||||
offsetx_top
|
||||
{
|
||||
type = 1;
|
||||
default = 0.0f;
|
||||
}
|
||||
|
||||
offsetx_mid
|
||||
{
|
||||
type = 1;
|
||||
default = 0.0f;
|
||||
}
|
||||
|
||||
offsetx_bottom
|
||||
{
|
||||
type = 1;
|
||||
default = 0.0f;
|
||||
}
|
||||
|
||||
offsety_top
|
||||
{
|
||||
type = 1;
|
||||
default = 0.0f;
|
||||
}
|
||||
|
||||
offsety_mid
|
||||
{
|
||||
type = 1;
|
||||
default = 0.0f;
|
||||
}
|
||||
|
||||
offsety_bottom
|
||||
{
|
||||
type = 1;
|
||||
default = 0.0f;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
thing
|
||||
{
|
||||
alpha
|
||||
{
|
||||
type = 1;
|
||||
default = 1.0f;
|
||||
}
|
||||
|
||||
health
|
||||
{
|
||||
type = 1;
|
||||
default = 1.0f;
|
||||
}
|
||||
|
||||
scalex
|
||||
{
|
||||
type = 1;
|
||||
default = 1.0f;
|
||||
}
|
||||
|
||||
scaley
|
||||
{
|
||||
type = 1;
|
||||
default = 1.0f;
|
||||
}
|
||||
|
||||
comment
|
||||
{
|
||||
type = 2;
|
||||
default = "";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
sector
|
||||
{
|
||||
comment
|
||||
{
|
||||
type = 2;
|
||||
default = "";
|
||||
}
|
||||
|
||||
ypanningfloor
|
||||
{
|
||||
type = 1;
|
||||
default = 0.0f;
|
||||
}
|
||||
|
||||
ypanningceiling
|
||||
{
|
||||
type = 1;
|
||||
default = 0.0f;
|
||||
}
|
||||
|
||||
xpanningfloor
|
||||
{
|
||||
type = 1;
|
||||
default = 0.0f;
|
||||
}
|
||||
|
||||
xpanningceiling
|
||||
{
|
||||
type = 1;
|
||||
default = 0.0f;
|
||||
}
|
||||
|
||||
yscalefloor
|
||||
{
|
||||
type = 1;
|
||||
default = 1.0f;
|
||||
}
|
||||
|
||||
yscaleceiling
|
||||
{
|
||||
type = 1;
|
||||
default = 1.0f;
|
||||
}
|
||||
|
||||
xscalefloor
|
||||
{
|
||||
type = 1;
|
||||
default = 1.0f;
|
||||
}
|
||||
|
||||
xscaleceiling
|
||||
{
|
||||
type = 1;
|
||||
default = 1.0f;
|
||||
}
|
||||
|
||||
gravity
|
||||
{
|
||||
type = 1;
|
||||
default = 1.0f;
|
||||
}
|
||||
|
||||
fadecolor
|
||||
{
|
||||
type = 10;
|
||||
default = 0;
|
||||
}
|
||||
|
||||
fogdensity
|
||||
{
|
||||
type = 0;
|
||||
default = 0;
|
||||
}
|
||||
|
||||
lightcolor
|
||||
{
|
||||
type = 10;
|
||||
default = 0;
|
||||
}
|
||||
|
||||
rotationfloor
|
||||
{
|
||||
type = 1;
|
||||
default = 0.0f;
|
||||
}
|
||||
|
||||
rotationceiling
|
||||
{
|
||||
type = 1;
|
||||
default = 0.0f;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
enums
|
||||
{
|
||||
frontback
|
||||
|
@ -488,149 +841,3 @@ enums
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
// Default thing filters
|
||||
// (these are not required, just usefull for new users)
|
||||
thingsfilters_udmf
|
||||
{
|
||||
|
||||
filter0
|
||||
{
|
||||
name = "Keys only";
|
||||
category = "keys";
|
||||
type = -1;
|
||||
}
|
||||
|
||||
|
||||
filter2
|
||||
{
|
||||
name = "Skill 1";
|
||||
category = "";
|
||||
type = -1;
|
||||
|
||||
fields
|
||||
{
|
||||
skill1 = true;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
filter3
|
||||
{
|
||||
name = "Skill 2";
|
||||
category = "";
|
||||
type = -1;
|
||||
|
||||
fields
|
||||
{
|
||||
skill2 = true;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
filter4
|
||||
{
|
||||
name = "Skill 3";
|
||||
category = "";
|
||||
type = -1;
|
||||
|
||||
fields
|
||||
{
|
||||
skill3 = true;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
filter5
|
||||
{
|
||||
name = "Skill 4";
|
||||
category = "";
|
||||
type = -1;
|
||||
|
||||
fields
|
||||
{
|
||||
skill4 = true;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
filter6
|
||||
{
|
||||
name = "Skill 5";
|
||||
category = "";
|
||||
type = -1;
|
||||
|
||||
fields
|
||||
{
|
||||
skill5 = true;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
filter7
|
||||
{
|
||||
name = "Skill 6";
|
||||
category = "";
|
||||
type = -1;
|
||||
|
||||
fields
|
||||
{
|
||||
skill6 = true;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
filter8
|
||||
{
|
||||
name = "Skill 7";
|
||||
category = "";
|
||||
type = -1;
|
||||
|
||||
fields
|
||||
{
|
||||
skill7 = true;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
filter9
|
||||
{
|
||||
name = "Skill 8";
|
||||
category = "";
|
||||
type = -1;
|
||||
|
||||
fields
|
||||
{
|
||||
skill8 = true;
|
||||
}
|
||||
|
||||
}
|
||||
*/
|
||||
|
||||
}
|
||||
|
||||
|
||||
// How thing flags should be compared (for the stuck thing error check)
|
||||
thingflagscompare_udmf
|
||||
{
|
||||
skills {
|
||||
skill6;
|
||||
skill7;
|
||||
skill8;
|
||||
}
|
||||
|
||||
classes {
|
||||
class4;
|
||||
class5;
|
||||
class6;
|
||||
class7;
|
||||
class8;
|
||||
}
|
||||
}
|
|
@ -1,63 +1,108 @@
|
|||
29 = "Hub Entry";
|
||||
20 = "Airless";
|
||||
25 = "Lo Grav";
|
||||
4418 = "Water Liquid Extrafloor SCROLL/PUSH North";
|
||||
4419 = "Water Liquid Extrafloor SCROLL/PUSH North East";
|
||||
4420 = "Water Liquid Extrafloor SCROLL/PUSH East";
|
||||
4421 = "Water Liquid Extrafloor SCROLL/PUSH South East";
|
||||
4422 = "Water Liquid Extrafloor SCROLL/PUSH South";
|
||||
4423 = "Water Liquid Extrafloor SCROLL/PUSH South West";
|
||||
4424 = "Water Liquid Extrafloor SCROLL/PUSH West";
|
||||
4425 = "Water Liquid Extrafloor SCROLL/PUSH North West";
|
||||
4426 = "Slime Liquid Extrafloor SCROLL/PUSH North";
|
||||
4427 = "Slime Liquid Extrafloor SCROLL/PUSH North East";
|
||||
4428 = "Slime Liquid Extrafloor SCROLL/PUSH East";
|
||||
4429 = "Slime Liquid Extrafloor SCROLL/PUSH South East";
|
||||
4430 = "Slime Liquid Extrafloor SCROLL/PUSH South";
|
||||
4431 = "Slime Liquid Extrafloor SCROLL/PUSH South West";
|
||||
4432 = "Slime Liquid Extrafloor SCROLL/PUSH West";
|
||||
4433 = "Slime Liquid Extrafloor SCROLL/PUSH North West";
|
||||
4434 = "Lava Liquid Extrafloor SCROLL/PUSH North";
|
||||
4435 = "Lava Liquid Extrafloor SCROLL/PUSH North East";
|
||||
4436 = "Lava Liquid Extrafloor SCROLL/PUSH East";
|
||||
4437 = "Lava Liquid Extrafloor SCROLL/PUSH South East";
|
||||
4438 = "Lava Liquid Extrafloor SCROLL/PUSH South";
|
||||
4439 = "Lava Liquid Extrafloor SCROLL/PUSH South West";
|
||||
4440 = "Lava Liquid Extrafloor SCROLL/PUSH West";
|
||||
4441 = "Lava Liquid Extrafloor SCROLL/PUSH North West";
|
||||
4442 = "Push North";
|
||||
4443 = "Push North East";
|
||||
4444 = "Push East";
|
||||
4445 = "Push South East";
|
||||
4446 = "Push South";
|
||||
4447 = "Push South West";
|
||||
4448 = "Push West";
|
||||
4449 = "Push North West";
|
||||
4450 = "Scroll Floor Texture North";
|
||||
4451 = "Scroll Floor Texture North East";
|
||||
4452 = "Scroll Floor Texture East";
|
||||
4453 = "Scroll Floor Texture South East";
|
||||
4454 = "Scroll Floor Texture South";
|
||||
4455 = "Scroll Floor Texture South West";
|
||||
4456 = "Scroll Floor Texture West";
|
||||
4457 = "Scroll Floor Texture North West";
|
||||
4458 = "Scroll Floor Texture/Push North";
|
||||
4459 = "Scroll Floor Texture/Push North East";
|
||||
4460 = "Scroll Floor Texture/Push East";
|
||||
4461 = "Scroll Floor Texture/Push South East";
|
||||
4462 = "Scroll Floor Texture/Push South";
|
||||
4463 = "Scroll Floor Texture/Push South West";
|
||||
4464 = "Scroll Floor Texture/Push West";
|
||||
4465 = "Scroll Floor Texture/Push North West";
|
||||
4466 = "Blue Hue (Swimmable)";
|
||||
4467 = "Green Hue (Swimmable)";
|
||||
4468 = "Green Hue + Damage (Swimmable)";
|
||||
4469 = "Red Hue (Swimmable)";
|
||||
4470 = "Red Hue + Damage (Swimmable)";
|
||||
4471 = "Blue Hue";
|
||||
4472 = "Green Hue";
|
||||
4473 = "Red Hue";
|
||||
4474 = "Yellow Hue";
|
||||
4475 = "Purple Hue";
|
||||
4476 = "Grey Hue";
|
||||
|
||||
29 = "Hub Entry";
|
||||
20 = "Airless";
|
||||
25 = "Lo Grav";
|
||||
4418 = "Water Liquid Extrafloor SCROLL/PUSH North";
|
||||
4419 = "Water Liquid Extrafloor SCROLL/PUSH North East";
|
||||
4420 = "Water Liquid Extrafloor SCROLL/PUSH East";
|
||||
4421 = "Water Liquid Extrafloor SCROLL/PUSH South East";
|
||||
4422 = "Water Liquid Extrafloor SCROLL/PUSH South";
|
||||
4423 = "Water Liquid Extrafloor SCROLL/PUSH South West";
|
||||
4424 = "Water Liquid Extrafloor SCROLL/PUSH West";
|
||||
4425 = "Water Liquid Extrafloor SCROLL/PUSH North West";
|
||||
4426 = "Slime Liquid Extrafloor SCROLL/PUSH North";
|
||||
4427 = "Slime Liquid Extrafloor SCROLL/PUSH North East";
|
||||
4428 = "Slime Liquid Extrafloor SCROLL/PUSH East";
|
||||
4429 = "Slime Liquid Extrafloor SCROLL/PUSH South East";
|
||||
4430 = "Slime Liquid Extrafloor SCROLL/PUSH South";
|
||||
4431 = "Slime Liquid Extrafloor SCROLL/PUSH South West";
|
||||
4432 = "Slime Liquid Extrafloor SCROLL/PUSH West";
|
||||
4433 = "Slime Liquid Extrafloor SCROLL/PUSH North West";
|
||||
4434 = "Lava Liquid Extrafloor SCROLL/PUSH North";
|
||||
4435 = "Lava Liquid Extrafloor SCROLL/PUSH North East";
|
||||
4436 = "Lava Liquid Extrafloor SCROLL/PUSH East";
|
||||
4437 = "Lava Liquid Extrafloor SCROLL/PUSH South East";
|
||||
4438 = "Lava Liquid Extrafloor SCROLL/PUSH South";
|
||||
4439 = "Lava Liquid Extrafloor SCROLL/PUSH South West";
|
||||
4440 = "Lava Liquid Extrafloor SCROLL/PUSH West";
|
||||
4441 = "Lava Liquid Extrafloor SCROLL/PUSH North West";
|
||||
4442 = "Push North";
|
||||
4443 = "Push North East";
|
||||
4444 = "Push East";
|
||||
4445 = "Push South East";
|
||||
4446 = "Push South";
|
||||
4447 = "Push South West";
|
||||
4448 = "Push West";
|
||||
4449 = "Push North West";
|
||||
4450 = "Scroll Floor Texture North";
|
||||
4451 = "Scroll Floor Texture North East";
|
||||
4452 = "Scroll Floor Texture East";
|
||||
4453 = "Scroll Floor Texture South East";
|
||||
4454 = "Scroll Floor Texture South";
|
||||
4455 = "Scroll Floor Texture South West";
|
||||
4456 = "Scroll Floor Texture West";
|
||||
4457 = "Scroll Floor Texture North West";
|
||||
4458 = "Scroll Floor Texture/Push North";
|
||||
4459 = "Scroll Floor Texture/Push North East";
|
||||
4460 = "Scroll Floor Texture/Push East";
|
||||
4461 = "Scroll Floor Texture/Push South East";
|
||||
4462 = "Scroll Floor Texture/Push South";
|
||||
4463 = "Scroll Floor Texture/Push South West";
|
||||
4464 = "Scroll Floor Texture/Push West";
|
||||
4465 = "Scroll Floor Texture/Push North West";
|
||||
4466 = "Blue Hue (Swimmable)";
|
||||
4467 = "Green Hue (Swimmable)";
|
||||
4468 = "Green Hue + Damage (Swimmable)";
|
||||
4469 = "Red Hue (Swimmable)";
|
||||
4470 = "Red Hue + Damage (Swimmable)";
|
||||
4471 = "Blue Hue";
|
||||
4472 = "Green Hue";
|
||||
4473 = "Red Hue";
|
||||
4474 = "Yellow Hue";
|
||||
4475 = "Purple Hue";
|
||||
4476 = "Grey Hue";
|
||||
4480 = "EDGE fog: White 5%";
|
||||
4481 = "EDGE fog: White 10%";
|
||||
4482 = "EDGE fog: White 15%";
|
||||
4483 = "EDGE fog: White 20%";
|
||||
4484 = "EDGE fog: White 25%";
|
||||
4485 = "EDGE fog: White 30%";
|
||||
4486 = "EDGE fog: White 35%";
|
||||
4487 = "EDGE fog: White 40%";
|
||||
4488 = "EDGE fog: White 45%";
|
||||
4489 = "EDGE fog: White 50%";
|
||||
4490 = "EDGE fog: Green 5%";
|
||||
4491 = "EDGE fog: Green 10%";
|
||||
4492 = "EDGE fog: Green 15%";
|
||||
4493 = "EDGE fog: Green 20%";
|
||||
4494 = "EDGE fog: Green 25%";
|
||||
4495 = "EDGE fog: Green 30%";
|
||||
4496 = "EDGE fog: Green 35%";
|
||||
4497 = "EDGE fog: Green 40%";
|
||||
4498 = "EDGE fog: Green 45%";
|
||||
4499 = "EDGE fog: Green 50%";
|
||||
4500 = "EDGE fog: Red 5%";
|
||||
4501 = "EDGE fog: Red 10%";
|
||||
4502 = "EDGE fog: Red 15%";
|
||||
4503 = "EDGE fog: Red 20%";
|
||||
4504 = "EDGE fog: Red 25%";
|
||||
4505 = "EDGE fog: Red 30%";
|
||||
4506 = "EDGE fog: Red 35%";
|
||||
4507 = "EDGE fog: Red 40%";
|
||||
4508 = "EDGE fog: Red 45%";
|
||||
4509 = "EDGE fog: Red 50%";
|
||||
4510 = "EDGE fog: Blue 5%";
|
||||
4511 = "EDGE fog: Blue 10%";
|
||||
4512 = "EDGE fog: Blue 15%";
|
||||
4513 = "EDGE fog: Blue 20%";
|
||||
4514 = "EDGE fog: Blue 25%";
|
||||
4515 = "EDGE fog: Blue 30%";
|
||||
4516 = "EDGE fog: Blue 35%";
|
||||
4517 = "EDGE fog: Blue 40%";
|
||||
4518 = "EDGE fog: Blue 45%";
|
||||
4519 = "EDGE fog: Blue 50%";
|
||||
4530 = "EDGE Friction: Slippy";
|
||||
4531 = "EDGE Friction: Very Slippy";
|
||||
4532 = "EDGE Viscosity: Sticky";
|
||||
4533 = "EDGE Viscosity: Very Sticky";
|
||||
|
||||
|
||||
|
|
|
@ -1,331 +1,360 @@
|
|||
|
||||
|
||||
EDGE_monsters
|
||||
{
|
||||
color = 12; // Light Red
|
||||
arrow = 1;
|
||||
title = "Edge: Monsters";
|
||||
width = 20;
|
||||
sort = 1;
|
||||
height = 56;
|
||||
hangs = 0;
|
||||
blocking = 1;
|
||||
error = 2;
|
||||
|
||||
|
||||
4050
|
||||
{
|
||||
title = "Stealth Arachnotron";
|
||||
height = 32;
|
||||
}
|
||||
|
||||
4051
|
||||
{
|
||||
title = "Stealth Archvile";
|
||||
height = 32;
|
||||
}
|
||||
|
||||
4052
|
||||
{
|
||||
title = "Stealth Baron of Hell";
|
||||
height = 32;
|
||||
}
|
||||
|
||||
4053
|
||||
{
|
||||
title = "Stealth Cacodemon";
|
||||
height = 32;
|
||||
}
|
||||
|
||||
4054
|
||||
{
|
||||
title = "Stealth Heavy weapon dude";
|
||||
height = 32;
|
||||
}
|
||||
|
||||
4055
|
||||
{
|
||||
title = "Stealth Demon";
|
||||
height = 32;
|
||||
}
|
||||
|
||||
4056
|
||||
{
|
||||
title = "Stealth Hell knight";
|
||||
height = 32;
|
||||
}
|
||||
|
||||
4057
|
||||
{
|
||||
title = "Stealth Imp";
|
||||
height = 32;
|
||||
}
|
||||
4058
|
||||
{
|
||||
title = "Stealth Mancubus";
|
||||
height = 32;
|
||||
}
|
||||
|
||||
4059
|
||||
{
|
||||
title = "Stealth Revenant";
|
||||
height = 32;
|
||||
}
|
||||
|
||||
4060
|
||||
{
|
||||
title = "Stealth Shotgun Guy";
|
||||
height = 32;
|
||||
}
|
||||
|
||||
4061
|
||||
{
|
||||
title = "Stealth Zombie man";
|
||||
height = 32;
|
||||
}
|
||||
|
||||
7100
|
||||
{
|
||||
title = "EDGE Revenant MKII";
|
||||
height = 32;
|
||||
}
|
||||
|
||||
7101
|
||||
{
|
||||
title = "EDGE Teleport spawner";
|
||||
height = 32;
|
||||
}
|
||||
|
||||
7102
|
||||
{
|
||||
title = "Arachnotron MKII";
|
||||
height = 32;
|
||||
}
|
||||
|
||||
7103
|
||||
{
|
||||
title = "Mancubus MKII";
|
||||
height = 32;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
edge_powerups
|
||||
{
|
||||
color = 9; // Light Blue
|
||||
arrow = 0;
|
||||
title = "EDGE: Powerups";
|
||||
width = 20;
|
||||
height = 20;
|
||||
hangs = 0;
|
||||
blocking = 0;
|
||||
sort = 1;
|
||||
|
||||
7000
|
||||
{
|
||||
title = "EDGE Nightvision Specs";
|
||||
sprite = "NVSCA0";
|
||||
|
||||
}
|
||||
|
||||
7020
|
||||
{
|
||||
title = "EDGE Jetpack";
|
||||
sprite = "JPCKA0";
|
||||
}
|
||||
|
||||
7005
|
||||
{
|
||||
title = "EDGE Stop Time";
|
||||
sprite = "TSTPB0";
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
edge_glowlights
|
||||
{
|
||||
color = 9; // Light Blue
|
||||
arrow = 0;
|
||||
title = "EDGE: Sector Light FX";
|
||||
sprite = "internal:light";
|
||||
width = 20;
|
||||
height = 20;
|
||||
hangs = 0;
|
||||
blocking = 0;
|
||||
|
||||
7041
|
||||
{
|
||||
title = "EDGE Nukage Glow";
|
||||
height = 32;
|
||||
}
|
||||
|
||||
7042
|
||||
{
|
||||
title = "EDGE Lava Glow";
|
||||
height = 32;
|
||||
}
|
||||
|
||||
7043
|
||||
{
|
||||
title = "EDGE Water Glow";
|
||||
height = 32;
|
||||
}
|
||||
}
|
||||
|
||||
edge_lights
|
||||
{
|
||||
color = 9; // Light Blue
|
||||
arrow = 0;
|
||||
title = "EDGE: Lights";
|
||||
sprite = "internal:light";
|
||||
width = 8;
|
||||
height = 20;
|
||||
hangs = 0;
|
||||
blocking = 0;
|
||||
|
||||
7044
|
||||
{
|
||||
title = "White light: Floor";
|
||||
height = 32;
|
||||
color = 15;
|
||||
}
|
||||
|
||||
7045
|
||||
{
|
||||
title = "Yellow light: Floor";
|
||||
height = 32;
|
||||
color = 15;
|
||||
}
|
||||
|
||||
7046
|
||||
{
|
||||
title = "Red light: Floor";
|
||||
height = 32;
|
||||
color = 15;
|
||||
}
|
||||
|
||||
7047
|
||||
{
|
||||
title = "Blue light: Floor";
|
||||
height = 32;
|
||||
color = 15;
|
||||
}
|
||||
|
||||
7048
|
||||
{
|
||||
title = "Green light: Floor";
|
||||
height = 32;
|
||||
color = 15;
|
||||
}
|
||||
|
||||
7049
|
||||
{
|
||||
title = "Orange light: Floor";
|
||||
height = 32;
|
||||
color = 15;
|
||||
}
|
||||
|
||||
7054
|
||||
{
|
||||
title = "White light: Ceiling";
|
||||
height = 16;
|
||||
hangs = 1;
|
||||
color = 15;
|
||||
}
|
||||
|
||||
7055
|
||||
{
|
||||
title = "Yellow light: Ceiling";
|
||||
height = 16;
|
||||
hangs = 1;
|
||||
color = 15;
|
||||
}
|
||||
|
||||
7056
|
||||
{
|
||||
title = "Red light: Ceiling";
|
||||
height = 16;
|
||||
hangs = 1;
|
||||
color = 15;
|
||||
}
|
||||
|
||||
7057
|
||||
{
|
||||
title = "Blue light: Ceiling";
|
||||
height = 16;
|
||||
hangs = 1;
|
||||
color = 15;
|
||||
}
|
||||
|
||||
7058
|
||||
{
|
||||
title = "Green light: Ceiling";
|
||||
height = 16;
|
||||
hangs = 1;
|
||||
color = 15;
|
||||
}
|
||||
|
||||
7059
|
||||
{
|
||||
title = "Orange light: Ceiling";
|
||||
height = 16;
|
||||
hangs = 1;
|
||||
color = 15;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
edge_keys
|
||||
{
|
||||
color = 13; // Light Magenta
|
||||
arrow = 0;
|
||||
title = "EDGE: Keys";
|
||||
width = 20;
|
||||
sort = 1;
|
||||
height = 16;
|
||||
hangs = 0;
|
||||
blocking = 0;
|
||||
|
||||
7015
|
||||
{
|
||||
title = "Green keycard";
|
||||
sprite = "BKEYA0";
|
||||
}
|
||||
7017
|
||||
{
|
||||
title = "Green skullkey";
|
||||
sprite = "BSKUB0";
|
||||
}
|
||||
}
|
||||
|
||||
edge_armour
|
||||
{
|
||||
color = 1; // Blue
|
||||
arrow = 0;
|
||||
title = "EDGE: Armour";
|
||||
width = 20;
|
||||
sort = 1;
|
||||
height = 16;
|
||||
hangs = 0;
|
||||
blocking = 0;
|
||||
|
||||
7031
|
||||
{
|
||||
title = "Purple armor";
|
||||
sprite = "ARM1A0";
|
||||
}
|
||||
7032
|
||||
{
|
||||
title = "Yellow armor";
|
||||
sprite = "ARM2A0";
|
||||
}
|
||||
7033
|
||||
{
|
||||
title = "Red armor";
|
||||
sprite = "ARM2A0";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
EDGE_monsters
|
||||
{
|
||||
color = 12; // Light Red
|
||||
arrow = 1;
|
||||
title = "EDGE: Monsters";
|
||||
width = 20;
|
||||
sort = 1;
|
||||
height = 56;
|
||||
hangs = 0;
|
||||
blocking = 1;
|
||||
error = 2;
|
||||
|
||||
|
||||
4050
|
||||
{
|
||||
title = "Stealth Arachnotron";
|
||||
height = 32;
|
||||
}
|
||||
|
||||
4051
|
||||
{
|
||||
title = "Stealth Archvile";
|
||||
height = 32;
|
||||
}
|
||||
|
||||
4052
|
||||
{
|
||||
title = "Stealth Baron of Hell";
|
||||
height = 32;
|
||||
}
|
||||
|
||||
4053
|
||||
{
|
||||
title = "Stealth Cacodemon";
|
||||
height = 32;
|
||||
}
|
||||
|
||||
4054
|
||||
{
|
||||
title = "Stealth Heavy weapon dude";
|
||||
height = 32;
|
||||
}
|
||||
|
||||
4055
|
||||
{
|
||||
title = "Stealth Demon";
|
||||
height = 32;
|
||||
}
|
||||
|
||||
4056
|
||||
{
|
||||
title = "Stealth Hell knight";
|
||||
height = 32;
|
||||
}
|
||||
|
||||
4057
|
||||
{
|
||||
title = "Stealth Imp";
|
||||
height = 32;
|
||||
}
|
||||
4058
|
||||
{
|
||||
title = "Stealth Mancubus";
|
||||
height = 32;
|
||||
}
|
||||
|
||||
4059
|
||||
{
|
||||
title = "Stealth Revenant";
|
||||
height = 32;
|
||||
}
|
||||
|
||||
4060
|
||||
{
|
||||
title = "Stealth Shotgun Guy";
|
||||
height = 32;
|
||||
}
|
||||
|
||||
4061
|
||||
{
|
||||
title = "Stealth Zombie man";
|
||||
height = 32;
|
||||
}
|
||||
|
||||
7100
|
||||
{
|
||||
title = "EDGE Revenant MKII";
|
||||
height = 32;
|
||||
}
|
||||
|
||||
7101
|
||||
{
|
||||
title = "EDGE Teleport spawner";
|
||||
height = 32;
|
||||
}
|
||||
|
||||
7102
|
||||
{
|
||||
title = "Arachnotron MKII";
|
||||
height = 32;
|
||||
}
|
||||
|
||||
7103
|
||||
{
|
||||
title = "Mancubus MKII";
|
||||
height = 32;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
edge_powerups
|
||||
{
|
||||
color = 9; // Light Blue
|
||||
arrow = 0;
|
||||
title = "EDGE: Powerups";
|
||||
width = 20;
|
||||
height = 20;
|
||||
hangs = 0;
|
||||
blocking = 0;
|
||||
sort = 1;
|
||||
|
||||
7000
|
||||
{
|
||||
title = "EDGE Nightvision Specs";
|
||||
sprite = "NVSCA0";
|
||||
|
||||
}
|
||||
|
||||
7020
|
||||
{
|
||||
title = "EDGE Jetpack";
|
||||
sprite = "JPCKA0";
|
||||
}
|
||||
|
||||
7005
|
||||
{
|
||||
title = "EDGE Stop Time";
|
||||
sprite = "TSTPB0";
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
edge_glowlights
|
||||
{
|
||||
color = 11; // Light Cyan
|
||||
arrow = 0;
|
||||
title = "EDGE: Sector Light FX";
|
||||
sprite = "internal:light";
|
||||
width = 16;
|
||||
height = 16;
|
||||
hangs = 0;
|
||||
blocking = 0;
|
||||
|
||||
7041
|
||||
{
|
||||
title = "EDGE Nukage Glow: Floor";
|
||||
color = 10; // Light Green
|
||||
}
|
||||
|
||||
7042
|
||||
{
|
||||
title = "EDGE Lava Glow: Floor";
|
||||
color = 12; // Light Red
|
||||
}
|
||||
|
||||
7043
|
||||
{
|
||||
title = "EDGE Water Glow: Floor";
|
||||
color = 9; // Light Blue
|
||||
}
|
||||
|
||||
7070
|
||||
{
|
||||
title = "EDGE Nukage Glow: Wall";
|
||||
color = 10; // Light Green
|
||||
}
|
||||
|
||||
7071
|
||||
{
|
||||
title = "EDGE Lava Glow: Wall";
|
||||
color = 12; // Light Red
|
||||
}
|
||||
|
||||
7072
|
||||
{
|
||||
title = "EDGE Water Glow: Wall";
|
||||
color = 9; // Light Blue
|
||||
}
|
||||
|
||||
7073
|
||||
{
|
||||
title = "EDGE White Glow: Wall";
|
||||
color = 15; // White
|
||||
}
|
||||
}
|
||||
|
||||
edge_lights
|
||||
{
|
||||
color = 11; // Light Cyan
|
||||
arrow = 0;
|
||||
title = "EDGE: Lights";
|
||||
sprite = "internal:light";
|
||||
width = 8;
|
||||
height = 20;
|
||||
hangs = 0;
|
||||
blocking = 0;
|
||||
|
||||
7044
|
||||
{
|
||||
title = "White light: Floor";
|
||||
height = 32;
|
||||
color = 15; // White
|
||||
}
|
||||
|
||||
7045
|
||||
{
|
||||
title = "Yellow light: Floor";
|
||||
height = 32;
|
||||
color = 14; // Yellow
|
||||
}
|
||||
|
||||
7046
|
||||
{
|
||||
title = "Red light: Floor";
|
||||
height = 32;
|
||||
color = 12; // Light Red
|
||||
}
|
||||
|
||||
7047
|
||||
{
|
||||
title = "Blue light: Floor";
|
||||
height = 32;
|
||||
color = 9; // Light Blue
|
||||
}
|
||||
|
||||
7048
|
||||
{
|
||||
title = "Green light: Floor";
|
||||
height = 32;
|
||||
color = 10; // Light Green
|
||||
}
|
||||
|
||||
7049
|
||||
{
|
||||
title = "Orange light: Floor";
|
||||
height = 32;
|
||||
color = 17; //Orange
|
||||
}
|
||||
|
||||
7054
|
||||
{
|
||||
title = "White light: Ceiling";
|
||||
height = 16;
|
||||
hangs = 1;
|
||||
color = 15; // White
|
||||
}
|
||||
|
||||
7055
|
||||
{
|
||||
title = "Yellow light: Ceiling";
|
||||
height = 16;
|
||||
hangs = 1;
|
||||
color = 14; // Yellow
|
||||
}
|
||||
|
||||
7056
|
||||
{
|
||||
title = "Red light: Ceiling";
|
||||
height = 16;
|
||||
hangs = 1;
|
||||
color = 12; // Light Red
|
||||
}
|
||||
|
||||
7057
|
||||
{
|
||||
title = "Blue light: Ceiling";
|
||||
height = 16;
|
||||
hangs = 1;
|
||||
color = 9; // Light Blue
|
||||
}
|
||||
|
||||
7058
|
||||
{
|
||||
title = "Green light: Ceiling";
|
||||
height = 16;
|
||||
hangs = 1;
|
||||
color = 10; // Light Green
|
||||
}
|
||||
|
||||
7059
|
||||
{
|
||||
title = "Orange light: Ceiling";
|
||||
height = 16;
|
||||
hangs = 1;
|
||||
color = 17; //Orange
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
edge_keys
|
||||
{
|
||||
color = 13; // Light Magenta
|
||||
arrow = 0;
|
||||
title = "EDGE: Keys";
|
||||
width = 20;
|
||||
sort = 1;
|
||||
height = 16;
|
||||
hangs = 0;
|
||||
blocking = 0;
|
||||
|
||||
7015
|
||||
{
|
||||
title = "Green keycard";
|
||||
sprite = "BKEYA0";
|
||||
color = 10; // Light Green
|
||||
}
|
||||
7017
|
||||
{
|
||||
title = "Green skullkey";
|
||||
sprite = "BSKUB0";
|
||||
color = 10; // Light Green
|
||||
}
|
||||
}
|
||||
|
||||
edge_armour
|
||||
{
|
||||
color = 1; // Blue
|
||||
arrow = 0;
|
||||
title = "EDGE: Armour";
|
||||
width = 20;
|
||||
sort = 1;
|
||||
height = 16;
|
||||
hangs = 0;
|
||||
blocking = 0;
|
||||
|
||||
7031
|
||||
{
|
||||
title = "Purple armor";
|
||||
sprite = "ARM1A0";
|
||||
color = 13;
|
||||
}
|
||||
7032
|
||||
{
|
||||
title = "Yellow armor";
|
||||
sprite = "ARM2A0";
|
||||
color = 14; // Yellow
|
||||
}
|
||||
7033
|
||||
{
|
||||
title = "Red armor";
|
||||
sprite = "ARM2A0";
|
||||
color = 12; // Light Red
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -388,12 +388,6 @@ mapformat_udmf
|
|||
include("Eternity_misc.cfg", "thingflags_udmf");
|
||||
}
|
||||
|
||||
// THING RENSERSTYLES
|
||||
thingrenderstyles
|
||||
{
|
||||
include("UDMF_misc.cfg", "thingrenderstyles");
|
||||
}
|
||||
|
||||
// How to compare thing flags (for the stuck things error checker)
|
||||
thingflagscompare
|
||||
{
|
||||
|
|
|
@ -55,16 +55,30 @@ universalfields
|
|||
type = 2;
|
||||
default = "";
|
||||
}
|
||||
/* FIXME: should I add renderstyle and alpha? */
|
||||
|
||||
renderstyle
|
||||
{
|
||||
type = 2;
|
||||
default = "";
|
||||
}
|
||||
|
||||
alpha
|
||||
{
|
||||
type = 1;
|
||||
default = 1.0;
|
||||
}
|
||||
|
||||
tranmap
|
||||
{
|
||||
type = 2;
|
||||
default = "";
|
||||
managed = false;
|
||||
}
|
||||
portal
|
||||
{
|
||||
type = 0;
|
||||
default = 0;
|
||||
managed = false;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -76,40 +90,16 @@ universalfields
|
|||
default = "";
|
||||
}
|
||||
|
||||
offsetx_top
|
||||
light
|
||||
{
|
||||
type = 1;
|
||||
default = 0.0;
|
||||
type = 0;
|
||||
default = 0;
|
||||
}
|
||||
|
||||
offsety_bottom
|
||||
lightabsolute
|
||||
{
|
||||
type = 1;
|
||||
default = 0.0;
|
||||
}
|
||||
|
||||
offsetx_bottom
|
||||
{
|
||||
type = 1;
|
||||
default = 0.0;
|
||||
}
|
||||
|
||||
offsetx_mid
|
||||
{
|
||||
type = 1;
|
||||
default = 0.0;
|
||||
}
|
||||
|
||||
offsety_top
|
||||
{
|
||||
type = 1;
|
||||
default = 0.0;
|
||||
}
|
||||
|
||||
offsety_mid
|
||||
{
|
||||
type = 1;
|
||||
default = 0.0;
|
||||
type = 3;
|
||||
default = false;
|
||||
}
|
||||
|
||||
light_top
|
||||
|
@ -153,6 +143,7 @@ universalfields
|
|||
type = 16;
|
||||
enum = "skew_type";
|
||||
default = "none";
|
||||
managed = false;
|
||||
}
|
||||
|
||||
skew_middle_type
|
||||
|
@ -160,6 +151,7 @@ universalfields
|
|||
type = 16;
|
||||
enum = "skew_type";
|
||||
default = "none";
|
||||
managed = false;
|
||||
}
|
||||
|
||||
skew_bottom_type
|
||||
|
@ -167,6 +159,43 @@ universalfields
|
|||
type = 16;
|
||||
enum = "skew_type";
|
||||
default = "none";
|
||||
managed = false;
|
||||
}
|
||||
|
||||
offsetx_bottom
|
||||
{
|
||||
type = 1;
|
||||
default = 0.0;
|
||||
}
|
||||
|
||||
offsetx_mid
|
||||
{
|
||||
type = 1;
|
||||
default = 0.0;
|
||||
}
|
||||
|
||||
offsetx_top
|
||||
{
|
||||
type = 1;
|
||||
default = 0.0;
|
||||
}
|
||||
|
||||
offsety_bottom
|
||||
{
|
||||
type = 1;
|
||||
default = 0.0;
|
||||
}
|
||||
|
||||
offsety_mid
|
||||
{
|
||||
type = 1;
|
||||
default = 0.0;
|
||||
}
|
||||
|
||||
offsety_top
|
||||
{
|
||||
type = 1;
|
||||
default = 0.0;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -177,6 +206,12 @@ universalfields
|
|||
type = 2;
|
||||
default = "";
|
||||
}
|
||||
|
||||
health
|
||||
{
|
||||
type = 1;
|
||||
default = 1.0;
|
||||
}
|
||||
}
|
||||
|
||||
sector
|
||||
|
@ -186,48 +221,133 @@ universalfields
|
|||
type = 2;
|
||||
default = "";
|
||||
}
|
||||
|
||||
friction
|
||||
{
|
||||
type = 0;
|
||||
default = -1;
|
||||
}
|
||||
/* FIXME: should I add damagetype? Or lightfloor, lightceiling,
|
||||
floorterain, ceilingterrain, floor/ceiling panning/rotation */
|
||||
|
||||
ceilingterrain
|
||||
{
|
||||
type = 2;
|
||||
default = "";
|
||||
}
|
||||
|
||||
floorterrain
|
||||
{
|
||||
type = 2;
|
||||
default = "";
|
||||
}
|
||||
|
||||
soundsequence
|
||||
{
|
||||
type = 2;
|
||||
default = "";
|
||||
}
|
||||
|
||||
lightceiling
|
||||
{
|
||||
type = 0;
|
||||
default = 0;
|
||||
}
|
||||
|
||||
lightceilingabsolute
|
||||
{
|
||||
type = 3;
|
||||
default = false;
|
||||
}
|
||||
|
||||
lightfloor
|
||||
{
|
||||
type = 0;
|
||||
default = 0;
|
||||
}
|
||||
|
||||
lightfloorabsolute
|
||||
{
|
||||
type = 3;
|
||||
default = false;
|
||||
}
|
||||
|
||||
rotationfloor
|
||||
{
|
||||
type = 1;
|
||||
default = 0.0;
|
||||
}
|
||||
|
||||
rotationceiling
|
||||
{
|
||||
type = 1;
|
||||
default = 0.0;
|
||||
}
|
||||
|
||||
damagetype
|
||||
{
|
||||
type = 2;
|
||||
default = "";
|
||||
}
|
||||
|
||||
damageamount
|
||||
{
|
||||
type = 0;
|
||||
default = 0;
|
||||
}
|
||||
|
||||
damageinterval
|
||||
{
|
||||
type = 0;
|
||||
default = 32;
|
||||
}
|
||||
|
||||
leakiness
|
||||
{
|
||||
type = 0;
|
||||
default = 0;
|
||||
}
|
||||
|
||||
colormaptop
|
||||
{
|
||||
type = 2;
|
||||
default = "@default";
|
||||
}
|
||||
|
||||
colormapmid
|
||||
{
|
||||
type = 2;
|
||||
default = "@default";
|
||||
}
|
||||
|
||||
colormapbottom
|
||||
{
|
||||
type = 2;
|
||||
default = "@default";
|
||||
}
|
||||
|
||||
portal_ceil_overlaytype
|
||||
{
|
||||
type = 2;
|
||||
default = "none";
|
||||
}
|
||||
|
||||
alphaceiling
|
||||
{
|
||||
type = 1;
|
||||
default = 1;
|
||||
default = 1.0;
|
||||
}
|
||||
|
||||
portal_floor_overlaytype
|
||||
{
|
||||
type = 2;
|
||||
default = "none";
|
||||
}
|
||||
|
||||
alphafloor
|
||||
{
|
||||
type = 1;
|
||||
default = 1;
|
||||
default = 1.0;
|
||||
}
|
||||
|
||||
portalfloor
|
||||
{
|
||||
type = 0;
|
||||
|
@ -251,6 +371,7 @@ floorterain, ceilingterrain, floor/ceiling panning/rotation */
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
portalceiling
|
||||
{
|
||||
type = 0;
|
||||
|
@ -294,6 +415,7 @@ floorterain, ceilingterrain, floor/ceiling panning/rotation */
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
ceilingid
|
||||
{
|
||||
type = 0;
|
||||
|
@ -315,6 +437,7 @@ floorterain, ceilingterrain, floor/ceiling panning/rotation */
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
attachfloor
|
||||
{
|
||||
type = 0;
|
||||
|
@ -350,6 +473,7 @@ floorterain, ceilingterrain, floor/ceiling panning/rotation */
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
attachceiling
|
||||
{
|
||||
type = 0;
|
||||
|
@ -385,35 +509,89 @@ floorterain, ceilingterrain, floor/ceiling panning/rotation */
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
scroll_ceil_x
|
||||
{
|
||||
type = 1;
|
||||
}
|
||||
|
||||
scroll_ceil_y
|
||||
{
|
||||
type = 1;
|
||||
}
|
||||
|
||||
scroll_ceil_type
|
||||
{
|
||||
type = 2;
|
||||
default = "none";
|
||||
tooltip = "Available options: none, visual. Controls whether to scroll the texture. Currently thing transporting is not supported for ceiling scrollers.";
|
||||
}
|
||||
|
||||
scroll_floor_x
|
||||
{
|
||||
type = 1;
|
||||
}
|
||||
|
||||
scroll_floor_y
|
||||
{
|
||||
type = 1;
|
||||
}
|
||||
|
||||
scroll_floor_type
|
||||
{
|
||||
type = 2;
|
||||
default = "none";
|
||||
tooltip = "Available options: none, visual, physical or both. Controls whether to scroll the texture and/or transport the things";
|
||||
}
|
||||
|
||||
|
||||
xpanningceiling
|
||||
{
|
||||
type = 1;
|
||||
default = 0.0;
|
||||
}
|
||||
|
||||
ypanningceiling
|
||||
{
|
||||
type = 1;
|
||||
default = 0.0;
|
||||
}
|
||||
|
||||
xscaleceiling
|
||||
{
|
||||
type = 1;
|
||||
default = 1.0;
|
||||
}
|
||||
|
||||
yscaleceiling
|
||||
{
|
||||
type = 1;
|
||||
default = 1.0;
|
||||
}
|
||||
|
||||
xpanningfloor
|
||||
{
|
||||
type = 1;
|
||||
default = 0.0;
|
||||
}
|
||||
|
||||
xpanningfloor
|
||||
{
|
||||
type = 1;
|
||||
default = 0.0;
|
||||
}
|
||||
|
||||
xscalefloor
|
||||
{
|
||||
type = 1;
|
||||
default = 1.0;
|
||||
}
|
||||
|
||||
yscalefloor
|
||||
{
|
||||
type = 1;
|
||||
default = 1.0;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -703,39 +881,39 @@ enums
|
|||
front_ceiling = "Skew to front-sector ceiling slope";
|
||||
back_floor = "Skew to back-sector floor slope";
|
||||
back_ceiling = "Skew to back-sector ceiling slope";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Default thing filters
|
||||
// (these are not required, just useful for new users)
|
||||
thingsfilters_udmf
|
||||
{
|
||||
|
||||
|
||||
filter0
|
||||
{
|
||||
name = "Keys only";
|
||||
category = "keys";
|
||||
type = -1;
|
||||
}
|
||||
|
||||
|
||||
filter1
|
||||
{
|
||||
name = "Deathmatch";
|
||||
category = "";
|
||||
type = -1;
|
||||
|
||||
|
||||
fields
|
||||
{
|
||||
dm = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
filter2
|
||||
{
|
||||
name = "Cooperative";
|
||||
category = "";
|
||||
type = -1;
|
||||
|
||||
|
||||
fields
|
||||
{
|
||||
coop = true;
|
||||
|
@ -747,55 +925,55 @@ thingsfilters_udmf
|
|||
name = "Skill 1";
|
||||
category = "";
|
||||
type = -1;
|
||||
|
||||
|
||||
fields
|
||||
{
|
||||
skill1 = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
filter4
|
||||
{
|
||||
name = "Skill 2";
|
||||
category = "";
|
||||
type = -1;
|
||||
|
||||
|
||||
fields
|
||||
{
|
||||
skill2 = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
filter5
|
||||
{
|
||||
name = "Skill 3";
|
||||
category = "";
|
||||
type = -1;
|
||||
|
||||
|
||||
fields
|
||||
{
|
||||
skill3 = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
filter6
|
||||
{
|
||||
name = "Skill 4";
|
||||
category = "";
|
||||
type = -1;
|
||||
|
||||
|
||||
fields
|
||||
{
|
||||
skill4 = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
filter7
|
||||
{
|
||||
name = "Skill 5";
|
||||
category = "";
|
||||
type = -1;
|
||||
|
||||
|
||||
fields
|
||||
{
|
||||
skill5 = true;
|
||||
|
|
|
@ -298,38 +298,18 @@ universalfields
|
|||
{
|
||||
linedef
|
||||
{
|
||||
comment
|
||||
alpha
|
||||
{
|
||||
type = 1;
|
||||
default = 1.0;
|
||||
}
|
||||
|
||||
arg0str
|
||||
{
|
||||
type = 2;
|
||||
default = "";
|
||||
}
|
||||
|
||||
health
|
||||
{
|
||||
type = 0;
|
||||
default = 0;
|
||||
}
|
||||
|
||||
healthgroup
|
||||
{
|
||||
type = 0;
|
||||
default = 0;
|
||||
}
|
||||
|
||||
// Should be moved to flags eventually
|
||||
damagespecial
|
||||
{
|
||||
type = 3;
|
||||
default = false;
|
||||
}
|
||||
|
||||
// Should be moved to flags eventually
|
||||
deathspecial
|
||||
{
|
||||
type = 3;
|
||||
default = false;
|
||||
}
|
||||
|
||||
|
||||
automapstyle
|
||||
{
|
||||
type = 11;
|
||||
|
@ -351,19 +331,44 @@ universalfields
|
|||
12 = "Unexplored secret wall";
|
||||
13 = "Portal line";
|
||||
}
|
||||
managed = false;
|
||||
}
|
||||
|
||||
arg0str
|
||||
comment
|
||||
{
|
||||
type = 2;
|
||||
default = "";
|
||||
}
|
||||
|
||||
alpha
|
||||
|
||||
// Should be moved to flags eventually
|
||||
damagespecial
|
||||
{
|
||||
type = 1;
|
||||
default = 1.0;
|
||||
type = 3;
|
||||
default = false;
|
||||
managed = false;
|
||||
}
|
||||
|
||||
// Should be moved to flags eventually
|
||||
deathspecial
|
||||
{
|
||||
type = 3;
|
||||
default = false;
|
||||
managed = false;
|
||||
}
|
||||
|
||||
health
|
||||
{
|
||||
type = 0;
|
||||
default = 0;
|
||||
managed = false;
|
||||
}
|
||||
|
||||
healthgroup
|
||||
{
|
||||
type = 0;
|
||||
default = 0;
|
||||
managed = false;
|
||||
}
|
||||
|
||||
locknumber
|
||||
{
|
||||
|
@ -381,25 +386,35 @@ universalfields
|
|||
{
|
||||
type = 0;
|
||||
default = 0;
|
||||
managed = false;
|
||||
}
|
||||
|
||||
lm_sampledist_top
|
||||
{
|
||||
type = 0;
|
||||
default = 0;
|
||||
managed = false;
|
||||
}
|
||||
|
||||
lm_sampledist_mid
|
||||
{
|
||||
type = 0;
|
||||
default = 0;
|
||||
managed = false;
|
||||
}
|
||||
|
||||
lm_sampledist_bot
|
||||
{
|
||||
type = 0;
|
||||
default = 0;
|
||||
managed = false;
|
||||
}
|
||||
|
||||
renderstyle
|
||||
{
|
||||
type = 2;
|
||||
default = "";
|
||||
}
|
||||
}
|
||||
|
||||
sidedef
|
||||
|
@ -410,88 +425,16 @@ universalfields
|
|||
default = "";
|
||||
}
|
||||
|
||||
scalex_mid
|
||||
{
|
||||
type = 1;
|
||||
default = 1.0;
|
||||
}
|
||||
|
||||
lightabsolute
|
||||
{
|
||||
type = 3;
|
||||
default = false;
|
||||
}
|
||||
|
||||
offsetx_top
|
||||
{
|
||||
type = 1;
|
||||
default = 0.0;
|
||||
}
|
||||
|
||||
scalex_bottom
|
||||
{
|
||||
type = 1;
|
||||
default = 1.0;
|
||||
}
|
||||
|
||||
offsety_bottom
|
||||
{
|
||||
type = 1;
|
||||
default = 0.0;
|
||||
}
|
||||
|
||||
offsetx_bottom
|
||||
{
|
||||
type = 1;
|
||||
default = 0.0;
|
||||
}
|
||||
|
||||
scaley_bottom
|
||||
{
|
||||
type = 1;
|
||||
default = 1.0;
|
||||
}
|
||||
|
||||
light
|
||||
{
|
||||
type = 0;
|
||||
default = 0;
|
||||
}
|
||||
|
||||
offsetx_mid
|
||||
lightabsolute
|
||||
{
|
||||
type = 1;
|
||||
default = 0.0;
|
||||
}
|
||||
|
||||
offsety_top
|
||||
{
|
||||
type = 1;
|
||||
default = 0.0;
|
||||
}
|
||||
|
||||
scaley_top
|
||||
{
|
||||
type = 1;
|
||||
default = 1.0;
|
||||
}
|
||||
|
||||
scaley_mid
|
||||
{
|
||||
type = 1;
|
||||
default = 1.0;
|
||||
}
|
||||
|
||||
offsety_mid
|
||||
{
|
||||
type = 1;
|
||||
default = 0.0;
|
||||
}
|
||||
|
||||
scalex_top
|
||||
{
|
||||
type = 1;
|
||||
default = 1.0;
|
||||
type = 3;
|
||||
default = false;
|
||||
}
|
||||
|
||||
light_top
|
||||
|
@ -528,6 +471,78 @@ universalfields
|
|||
{
|
||||
type = 3;
|
||||
default = false;
|
||||
}
|
||||
|
||||
offsetx_bottom
|
||||
{
|
||||
type = 1;
|
||||
default = 0.0;
|
||||
}
|
||||
|
||||
offsetx_mid
|
||||
{
|
||||
type = 1;
|
||||
default = 0.0;
|
||||
}
|
||||
|
||||
offsetx_top
|
||||
{
|
||||
type = 1;
|
||||
default = 0.0;
|
||||
}
|
||||
|
||||
offsety_bottom
|
||||
{
|
||||
type = 1;
|
||||
default = 0.0;
|
||||
}
|
||||
|
||||
offsety_mid
|
||||
{
|
||||
type = 1;
|
||||
default = 0.0;
|
||||
}
|
||||
|
||||
offsety_top
|
||||
{
|
||||
type = 1;
|
||||
default = 0.0;
|
||||
}
|
||||
|
||||
scalex_bottom
|
||||
{
|
||||
type = 1;
|
||||
default = 1.0;
|
||||
}
|
||||
|
||||
scalex_mid
|
||||
{
|
||||
type = 1;
|
||||
default = 1.0;
|
||||
}
|
||||
|
||||
scalex_top
|
||||
{
|
||||
type = 1;
|
||||
default = 1.0;
|
||||
}
|
||||
|
||||
scaley_bottom
|
||||
{
|
||||
type = 1;
|
||||
default = 1.0;
|
||||
}
|
||||
|
||||
scaley_mid
|
||||
{
|
||||
type = 1;
|
||||
default = 1.0;
|
||||
}
|
||||
|
||||
scaley_top
|
||||
{
|
||||
type = 1;
|
||||
default = 1.0;
|
||||
}
|
||||
|
||||
lm_sampledist
|
||||
|
@ -557,16 +572,194 @@ universalfields
|
|||
|
||||
thing
|
||||
{
|
||||
alpha
|
||||
{
|
||||
type = 1;
|
||||
default = 1.0;
|
||||
}
|
||||
|
||||
arg0str
|
||||
{
|
||||
type = 2;
|
||||
default = "";
|
||||
}
|
||||
|
||||
class6
|
||||
{
|
||||
type = 3;
|
||||
default = false;
|
||||
managed = false;
|
||||
}
|
||||
|
||||
class7
|
||||
{
|
||||
type = 3;
|
||||
default = false;
|
||||
managed = false;
|
||||
}
|
||||
|
||||
class8
|
||||
{
|
||||
type = 3;
|
||||
default = false;
|
||||
managed = false;
|
||||
}
|
||||
|
||||
class9
|
||||
{
|
||||
type = 3;
|
||||
default = false;
|
||||
managed = false;
|
||||
}
|
||||
|
||||
class10
|
||||
{
|
||||
type = 3;
|
||||
default = false;
|
||||
managed = false;
|
||||
}
|
||||
|
||||
class11
|
||||
{
|
||||
type = 3;
|
||||
default = false;
|
||||
managed = false;
|
||||
}
|
||||
|
||||
class12
|
||||
{
|
||||
type = 3;
|
||||
default = false;
|
||||
managed = false;
|
||||
}
|
||||
|
||||
class13
|
||||
{
|
||||
type = 3;
|
||||
default = false;
|
||||
managed = false;
|
||||
}
|
||||
|
||||
class14
|
||||
{
|
||||
type = 3;
|
||||
default = false;
|
||||
managed = false;
|
||||
}
|
||||
|
||||
class15
|
||||
{
|
||||
type = 3;
|
||||
default = false;
|
||||
managed = false;
|
||||
}
|
||||
|
||||
class16
|
||||
{
|
||||
type = 3;
|
||||
default = false;
|
||||
managed = false;
|
||||
}
|
||||
|
||||
comment
|
||||
{
|
||||
type = 2;
|
||||
default = "";
|
||||
}
|
||||
|
||||
conversation
|
||||
{
|
||||
type = 0;
|
||||
default = 0;
|
||||
}
|
||||
|
||||
fillcolor
|
||||
{
|
||||
type = 0;
|
||||
default = 0;
|
||||
}
|
||||
|
||||
floatbobphase
|
||||
{
|
||||
type = 0;
|
||||
default = -1;
|
||||
}
|
||||
|
||||
gravity
|
||||
{
|
||||
type = 1;
|
||||
default = 0.0;
|
||||
}
|
||||
|
||||
health
|
||||
{
|
||||
type = 1;
|
||||
default = 1.0;
|
||||
}
|
||||
|
||||
lm_gridsize
|
||||
{
|
||||
type = 1;
|
||||
default = 32.0;
|
||||
thingtypespecific = true;
|
||||
managed = false;
|
||||
}
|
||||
|
||||
lm_sampledistance
|
||||
{
|
||||
type = 0;
|
||||
default = 8;
|
||||
thingtypespecific = true;
|
||||
managed = false;
|
||||
}
|
||||
|
||||
lm_suncolor
|
||||
{
|
||||
type = 10;
|
||||
default = 16777215;
|
||||
thingtypespecific = true;
|
||||
managed = false;
|
||||
}
|
||||
|
||||
pitch
|
||||
{
|
||||
type = 0;
|
||||
}
|
||||
|
||||
renderstyle
|
||||
{
|
||||
type = 2;
|
||||
default = "";
|
||||
}
|
||||
|
||||
roll
|
||||
{
|
||||
type = 0;
|
||||
}
|
||||
|
||||
scalex
|
||||
{
|
||||
type = 1;
|
||||
default = 1.0;
|
||||
}
|
||||
|
||||
scaley
|
||||
{
|
||||
type = 1;
|
||||
default = 1.0;
|
||||
}
|
||||
|
||||
score
|
||||
{
|
||||
type = 0;
|
||||
default = 0;
|
||||
}
|
||||
|
||||
skill6
|
||||
{
|
||||
type = 3;
|
||||
default = false;
|
||||
|
||||
}
|
||||
|
||||
skill7
|
||||
|
@ -585,195 +778,57 @@ universalfields
|
|||
{
|
||||
type = 3;
|
||||
default = false;
|
||||
managed = false;
|
||||
}
|
||||
|
||||
skill10
|
||||
{
|
||||
type = 3;
|
||||
default = false;
|
||||
managed = false;
|
||||
}
|
||||
|
||||
skill11
|
||||
{
|
||||
type = 3;
|
||||
default = false;
|
||||
managed = false;
|
||||
}
|
||||
|
||||
skill12
|
||||
{
|
||||
type = 3;
|
||||
default = false;
|
||||
managed = false;
|
||||
}
|
||||
|
||||
skill13
|
||||
{
|
||||
type = 3;
|
||||
default = false;
|
||||
managed = false;
|
||||
}
|
||||
|
||||
skill14
|
||||
{
|
||||
type = 3;
|
||||
default = false;
|
||||
managed = false;
|
||||
}
|
||||
|
||||
skill15
|
||||
{
|
||||
type = 3;
|
||||
default = false;
|
||||
managed = false;
|
||||
}
|
||||
|
||||
skill16
|
||||
{
|
||||
type = 3;
|
||||
default = false;
|
||||
managed = false;
|
||||
}
|
||||
|
||||
class6
|
||||
{
|
||||
type = 3;
|
||||
default = false;
|
||||
}
|
||||
|
||||
class7
|
||||
{
|
||||
type = 3;
|
||||
default = false;
|
||||
}
|
||||
|
||||
class8
|
||||
{
|
||||
type = 3;
|
||||
default = false;
|
||||
}
|
||||
|
||||
class9
|
||||
{
|
||||
type = 3;
|
||||
default = false;
|
||||
}
|
||||
|
||||
class10
|
||||
{
|
||||
type = 3;
|
||||
default = false;
|
||||
}
|
||||
|
||||
class11
|
||||
{
|
||||
type = 3;
|
||||
default = false;
|
||||
}
|
||||
|
||||
class12
|
||||
{
|
||||
type = 3;
|
||||
default = false;
|
||||
}
|
||||
|
||||
class13
|
||||
{
|
||||
type = 3;
|
||||
default = false;
|
||||
}
|
||||
|
||||
class14
|
||||
{
|
||||
type = 3;
|
||||
default = false;
|
||||
}
|
||||
|
||||
class15
|
||||
{
|
||||
type = 3;
|
||||
default = false;
|
||||
}
|
||||
|
||||
class16
|
||||
{
|
||||
type = 3;
|
||||
default = false;
|
||||
}
|
||||
|
||||
score
|
||||
{
|
||||
type = 0;
|
||||
default = 0;
|
||||
}
|
||||
|
||||
renderstyle
|
||||
{
|
||||
type = 2;
|
||||
default = "";
|
||||
}
|
||||
|
||||
gravity
|
||||
{
|
||||
type = 1;
|
||||
default = 0.0;
|
||||
}
|
||||
|
||||
floatbobphase
|
||||
{
|
||||
type = 0;
|
||||
default = -1;
|
||||
}
|
||||
|
||||
alpha
|
||||
{
|
||||
type = 1;
|
||||
default = 1.0;
|
||||
}
|
||||
|
||||
health
|
||||
{
|
||||
type = 1;
|
||||
default = 1.0;
|
||||
}
|
||||
|
||||
arg0str
|
||||
{
|
||||
type = 2;
|
||||
default = "";
|
||||
}
|
||||
|
||||
fillcolor
|
||||
{
|
||||
type = 0;
|
||||
default = 0;
|
||||
}
|
||||
|
||||
conversation
|
||||
{
|
||||
type = 0;
|
||||
default = 0;
|
||||
}
|
||||
|
||||
scalex
|
||||
{
|
||||
type = 1;
|
||||
default = 1.0;
|
||||
}
|
||||
|
||||
scaley
|
||||
{
|
||||
type = 1;
|
||||
default = 1.0;
|
||||
}
|
||||
|
||||
lm_suncolor
|
||||
{
|
||||
type = 10;
|
||||
default = 16777215;
|
||||
thingtypespecific = true;
|
||||
}
|
||||
|
||||
lm_sampledist
|
||||
{
|
||||
type = 0;
|
||||
default = 16;
|
||||
thingtypespecific = true;
|
||||
}
|
||||
}
|
||||
|
||||
sector
|
||||
|
@ -788,6 +843,7 @@ universalfields
|
|||
{
|
||||
type = 0;
|
||||
default = 0;
|
||||
managed = false;
|
||||
}
|
||||
|
||||
healthceiling
|
||||
|
|
|
@ -1483,7 +1483,6 @@
|
|||
<None Include="Resources\PuzzlePiece.png" />
|
||||
<None Include="Resources\Search.png" />
|
||||
<None Include="Resources\SnapVerts.png" />
|
||||
<EmbeddedResource Include="Resources\UDMF_UI.cfg" />
|
||||
<None Include="Resources\Unlink.png" />
|
||||
<None Include="Resources\Unpin.png" />
|
||||
<None Include="Resources\Pin.png" />
|
||||
|
|
|
@ -1461,7 +1461,6 @@
|
|||
<None Include="Resources\PuzzlePiece.png" />
|
||||
<None Include="Resources\Search.png" />
|
||||
<None Include="Resources\SnapVerts.png" />
|
||||
<EmbeddedResource Include="Resources\UDMF_UI.cfg" />
|
||||
<None Include="Resources\Unlink.png" />
|
||||
<None Include="Resources\Unpin.png" />
|
||||
<None Include="Resources\Pin.png" />
|
||||
|
|
|
@ -1433,7 +1433,58 @@ namespace CodeImp.DoomBuilder.Config
|
|||
|
||||
return supported;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Checks if a MapElement type has a UDMF field or flag defined.
|
||||
/// </summary>
|
||||
/// <typeparam name="T">Type inherited from MapElement</typeparam>
|
||||
/// <param name="name">Name of the UDMF field or flag</param>
|
||||
/// <returns>true if the field or flag exists, false if it doesn't</returns>
|
||||
public bool HasUniversalFieldOrFlag<T>(string name) where T : MapElement
|
||||
{
|
||||
Type type = typeof(T);
|
||||
List<UniversalFieldInfo> ufi;
|
||||
Dictionary<string, string> flags;
|
||||
|
||||
if (type == typeof(Thing))
|
||||
{
|
||||
ufi = thingfields;
|
||||
flags = thingflags;
|
||||
}
|
||||
else if (type == typeof(Linedef))
|
||||
{
|
||||
ufi = linedeffields;
|
||||
flags = linedefflags;
|
||||
}
|
||||
else if (type == typeof(Sidedef))
|
||||
{
|
||||
ufi = sidedeffields;
|
||||
flags = sidedefflags;
|
||||
}
|
||||
else if (type == typeof(Sector))
|
||||
{
|
||||
ufi = sectorfields;
|
||||
flags = sectorflags;
|
||||
}
|
||||
else if (type == typeof(Vertex))
|
||||
{
|
||||
ufi = vertexfields;
|
||||
flags = new Dictionary<string, string>(); // Vertices don't have flags
|
||||
}
|
||||
else
|
||||
throw new NotSupportedException("Unsupported MapElement type: " + type.Name);
|
||||
|
||||
// Check for regular UDMF fields
|
||||
if (ufi.Where(f => f.Name == name).FirstOrDefault() != null)
|
||||
return true;
|
||||
|
||||
// Check for flags
|
||||
if (flags.ContainsKey(name))
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
|
|
@ -61,6 +61,7 @@ namespace CodeImp.DoomBuilder.Config
|
|||
private int type;
|
||||
private object defaultvalue;
|
||||
private bool thingtypespecific;
|
||||
private bool managed;
|
||||
private EnumList enumlist;
|
||||
private Dictionary<string, UDMFFieldAssociation> associations;
|
||||
|
||||
|
@ -72,6 +73,7 @@ namespace CodeImp.DoomBuilder.Config
|
|||
public int Type { get { return type; } }
|
||||
public object Default { get { return defaultvalue; } }
|
||||
public bool ThingTypeSpecific { get { return thingtypespecific; } }
|
||||
public bool Managed { get { return managed; } }
|
||||
public EnumList Enum { get { return enumlist; } }
|
||||
public Dictionary<string, UDMFFieldAssociation> Associations { get { return associations; } }
|
||||
|
||||
|
@ -92,6 +94,7 @@ namespace CodeImp.DoomBuilder.Config
|
|||
type = cfg.ReadSetting(setting + ".type", int.MinValue);
|
||||
defaultvalue = cfg.ReadSettingObject(setting + ".default", null);
|
||||
thingtypespecific = cfg.ReadSetting(setting + ".thingtypespecific", false);
|
||||
managed = cfg.ReadSetting(setting + ".managed", true);
|
||||
|
||||
// Read enum
|
||||
object enumsetting = cfg.ReadSettingObject(setting + ".enum", null);
|
||||
|
|
|
@ -130,8 +130,10 @@ namespace CodeImp.DoomBuilder.Controls
|
|||
// Add all fields
|
||||
foreach(UniversalFieldInfo uf in list)
|
||||
{
|
||||
if(uifields.ContainsKey(uf.Name)) continue; //mxd
|
||||
fieldslist.Rows.Add(new FieldsEditorRow(fieldslist, uf));
|
||||
//if(uifields.ContainsKey(uf.Name)) continue; //mxd
|
||||
// Only add fields that are not managed by the UI
|
||||
if(!uf.Managed)
|
||||
fieldslist.Rows.Add(new FieldsEditorRow(fieldslist, uf));
|
||||
}
|
||||
|
||||
// Sort fields
|
||||
|
|
|
@ -138,14 +138,6 @@ namespace CodeImp.DoomBuilder.Controls
|
|||
{
|
||||
reset.Visible = (cbAbsolute.CheckState != CheckState.Unchecked || light.GetResult(0) != 0);
|
||||
|
||||
if (!General.Map.Config.DistinctSidedefPartBrightness)
|
||||
{
|
||||
lbLight.Enabled = false;
|
||||
light.Enabled = false;
|
||||
cbAbsolute.Enabled = false;
|
||||
reset.Enabled = false;
|
||||
}
|
||||
|
||||
preventchanges = false;
|
||||
}
|
||||
|
||||
|
|
|
@ -23,6 +23,8 @@ using System.IO;
|
|||
using CodeImp.DoomBuilder.Map;
|
||||
using System.Collections;
|
||||
using CodeImp.DoomBuilder.Types;
|
||||
using CodeImp.DoomBuilder.Config;
|
||||
using System.Linq;
|
||||
|
||||
#endregion
|
||||
|
||||
|
@ -30,13 +32,6 @@ namespace CodeImp.DoomBuilder.IO
|
|||
{
|
||||
internal class UniversalMapSetIO : MapSetIO
|
||||
{
|
||||
#region ================== Constants
|
||||
|
||||
// Name of the UDMF configuration file
|
||||
private const string UDMF_UI_CONFIG_NAME = "UDMF_UI.cfg";
|
||||
|
||||
#endregion
|
||||
|
||||
#region ================== Constructor / Disposer
|
||||
|
||||
// Constructor
|
||||
|
@ -44,48 +39,19 @@ namespace CodeImp.DoomBuilder.IO
|
|||
{
|
||||
if((manager != null) && (manager.Config != null))
|
||||
{
|
||||
// Make configuration
|
||||
Configuration config = new Configuration();
|
||||
|
||||
//mxd. Find a resource named UDMF_UI.cfg
|
||||
string[] resnames = General.ThisAssembly.GetManifestResourceNames();
|
||||
foreach(string rn in resnames)
|
||||
// Build the dictionary of UDMF fields that are managed by the UI and should not be shown in the custom UDMF field dialog
|
||||
foreach ((MapElementType type, List<UniversalFieldInfo> data) in new[] {
|
||||
(MapElementType.LINEDEF, General.Map.Config.LinedefFields),
|
||||
(MapElementType.SECTOR, General.Map.Config.SectorFields),
|
||||
(MapElementType.SIDEDEF, General.Map.Config.SidedefFields),
|
||||
(MapElementType.THING, General.Map.Config.ThingFields),
|
||||
(MapElementType.VERTEX, General.Map.Config.VertexFields)
|
||||
})
|
||||
{
|
||||
// Found it?
|
||||
if(rn.EndsWith(UDMF_UI_CONFIG_NAME, StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
// Get a stream from the resource
|
||||
Stream udmfcfg = General.ThisAssembly.GetManifestResourceStream(rn);
|
||||
StreamReader udmfcfgreader = new StreamReader(udmfcfg, Encoding.ASCII);
|
||||
|
||||
// Load configuration from stream
|
||||
config.InputConfiguration(udmfcfgreader.ReadToEnd());
|
||||
Dictionary<string, MapElementType> elements = new Dictionary<string, MapElementType>
|
||||
{
|
||||
{ "vertex", MapElementType.VERTEX },
|
||||
{ "linedef", MapElementType.LINEDEF },
|
||||
{ "sidedef", MapElementType.SIDEDEF },
|
||||
{ "sector", MapElementType.SECTOR },
|
||||
{ "thing", MapElementType.THING }
|
||||
};
|
||||
uifields[type] = new Dictionary<string, UniversalType>(StringComparer.Ordinal);
|
||||
|
||||
foreach(KeyValuePair<string, MapElementType> group in elements)
|
||||
{
|
||||
IDictionary dic = config.ReadSetting("uifields." + group.Key, new Hashtable());
|
||||
|
||||
Dictionary<string, UniversalType> values = new Dictionary<string, UniversalType>(StringComparer.Ordinal);
|
||||
foreach(DictionaryEntry de in dic)
|
||||
{
|
||||
values.Add(de.Key.ToString(), (UniversalType)de.Value);
|
||||
}
|
||||
|
||||
uifields.Add(group.Value, values);
|
||||
}
|
||||
|
||||
// Done
|
||||
udmfcfgreader.Dispose();
|
||||
break;
|
||||
}
|
||||
foreach (UniversalFieldInfo ufi in data.Where(o => o.Managed))
|
||||
uifields[type].Add(ufi.Name, (UniversalType)ufi.Type);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,118 +0,0 @@
|
|||
/********************************************************************\
|
||||
Configuration for UDMF map reader/writer (UniversalMapSetIO)
|
||||
\********************************************************************/
|
||||
|
||||
//mxd. These are the fields, which are managed by GZDoom Builder's UI, but are still stored as UniversalFields. Values are UniversalType. I should turn all of these into properties one day. But not today.
|
||||
uifields
|
||||
{
|
||||
linedef
|
||||
{
|
||||
alpha = 1;
|
||||
renderstyle = 2;
|
||||
arg0str = 2;
|
||||
locknumber = 0;
|
||||
comment = 2;
|
||||
stringarg0 = 2;
|
||||
stringarg1 = 2;
|
||||
executordelay = 0;
|
||||
}
|
||||
|
||||
sidedef
|
||||
{
|
||||
scalex_top = 1;
|
||||
scaley_top = 1;
|
||||
scalex_mid = 1;
|
||||
scaley_mid = 1;
|
||||
scalex_bottom = 1;
|
||||
scaley_bottom = 1;
|
||||
offsetx_top = 1;
|
||||
offsety_top = 1;
|
||||
offsetx_mid = 1;
|
||||
offsety_mid = 1;
|
||||
offsetx_bottom = 1;
|
||||
offsety_bottom = 1;
|
||||
light = 0;
|
||||
lightabsolute = 3;
|
||||
light_top = 0;
|
||||
lightabsolute_top = 3;
|
||||
light_mid = 0;
|
||||
lightabsolute_mid = 3;
|
||||
light_bottom = 0;
|
||||
lightabsolute_bottom = 3;
|
||||
repeatcnt = 0;
|
||||
}
|
||||
|
||||
sector
|
||||
{
|
||||
xpanningfloor = 1;
|
||||
ypanningfloor = 1;
|
||||
xpanningceiling = 1;
|
||||
ypanningceiling = 1;
|
||||
xscalefloor = 1;
|
||||
yscalefloor = 1;
|
||||
xscaleceiling = 1;
|
||||
yscaleceiling = 1;
|
||||
rotationfloor = 1;
|
||||
rotationceiling = 1;
|
||||
lightfloor = 0;
|
||||
lightfloorabsolute = 3;
|
||||
lightceiling = 0;
|
||||
lightceilingabsolute = 3;
|
||||
alphafloor = 1;
|
||||
alphaceiling = 1;
|
||||
renderstylefloor = 2;
|
||||
renderstyleceiling = 2;
|
||||
gravity = 1;
|
||||
lightcolor = 0;
|
||||
fadecolor = 0;
|
||||
desaturation = 1;
|
||||
soundsequence = 2;
|
||||
comment = 2;
|
||||
damageamount = 0;
|
||||
damagetype = 2;
|
||||
damageinterval = 0;
|
||||
leakiness = 0;
|
||||
floorterrain = 2;
|
||||
ceilingterrain = 2;
|
||||
portal_ceil_overlaytype = 2;
|
||||
portal_floor_overlaytype = 2;
|
||||
floor_reflect = 1;
|
||||
ceiling_reflect = 1;
|
||||
floorglowcolor = 0;
|
||||
floorglowheight = 1;
|
||||
ceilingglowcolor = 0;
|
||||
ceilingglowheight = 1;
|
||||
fogdensity = 0;
|
||||
color_ceiling = 0;
|
||||
color_walltop = 0;
|
||||
color_sprites = 0;
|
||||
color_wallbottom = 0;
|
||||
color_floor = 0;
|
||||
lightalpha = 0;
|
||||
fadealpha = 0;
|
||||
fadestart = 0;
|
||||
fadeend = 0;
|
||||
triggertag = 15;
|
||||
triggerer = 2;
|
||||
friction = 1;
|
||||
}
|
||||
|
||||
thing
|
||||
{
|
||||
arg0str = 2;
|
||||
conversation = 0;
|
||||
gravity = 1;
|
||||
health = 1;
|
||||
fillcolor = 0;
|
||||
alpha = 1;
|
||||
score = 0;
|
||||
renderstyle = 2;
|
||||
floatbobphase = 0;
|
||||
comment = 2;
|
||||
scalex = 1;
|
||||
scaley = 1;
|
||||
scale = 1;
|
||||
stringarg0 = 2;
|
||||
stringarg1 = 2;
|
||||
}
|
||||
}
|
33
Source/Core/Windows/LinedefEditFormUDMF.Designer.cs
generated
33
Source/Core/Windows/LinedefEditFormUDMF.Designer.cs
generated
|
@ -193,6 +193,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
label6.Name = "label6";
|
||||
label6.Size = new System.Drawing.Size(37, 13);
|
||||
label6.TabIndex = 17;
|
||||
label6.Tag = "alpha";
|
||||
label6.Text = "Alpha:";
|
||||
//
|
||||
// labelrenderstyle
|
||||
|
@ -202,6 +203,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
this.labelrenderstyle.Name = "labelrenderstyle";
|
||||
this.labelrenderstyle.Size = new System.Drawing.Size(69, 13);
|
||||
this.labelrenderstyle.TabIndex = 11;
|
||||
this.labelrenderstyle.Tag = "renderstyle";
|
||||
this.labelrenderstyle.Text = "Render style:";
|
||||
//
|
||||
// labellockpick
|
||||
|
@ -211,6 +213,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
this.labellockpick.Name = "labellockpick";
|
||||
this.labellockpick.Size = new System.Drawing.Size(72, 13);
|
||||
this.labellockpick.TabIndex = 15;
|
||||
this.labellockpick.Tag = "locknumber";
|
||||
this.labellockpick.Text = "Lock number:";
|
||||
//
|
||||
// labelLightFront
|
||||
|
@ -219,7 +222,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
this.labelLightFront.Name = "labelLightFront";
|
||||
this.labelLightFront.Size = new System.Drawing.Size(80, 14);
|
||||
this.labelLightFront.TabIndex = 25;
|
||||
this.labelLightFront.Tag = "";
|
||||
this.labelLightFront.Tag = "light";
|
||||
this.labelLightFront.Text = "Brightness:";
|
||||
this.labelLightFront.TextAlign = System.Drawing.ContentAlignment.TopRight;
|
||||
//
|
||||
|
@ -402,6 +405,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
this.resetalpha.Name = "resetalpha";
|
||||
this.resetalpha.Size = new System.Drawing.Size(23, 23);
|
||||
this.resetalpha.TabIndex = 70;
|
||||
this.resetalpha.Tag = "alpha";
|
||||
this.tooltip.SetToolTip(this.resetalpha, "Reset");
|
||||
this.resetalpha.UseVisualStyleBackColor = true;
|
||||
this.resetalpha.Click += new System.EventHandler(this.resetalpha_Click);
|
||||
|
@ -413,6 +417,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
this.lockpick.Name = "lockpick";
|
||||
this.lockpick.Size = new System.Drawing.Size(115, 21);
|
||||
this.lockpick.TabIndex = 19;
|
||||
this.lockpick.Tag = "locknumber";
|
||||
//
|
||||
// alpha
|
||||
//
|
||||
|
@ -431,6 +436,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
this.alpha.Size = new System.Drawing.Size(65, 24);
|
||||
this.alpha.StepValues = null;
|
||||
this.alpha.TabIndex = 18;
|
||||
this.alpha.Tag = "alpha";
|
||||
this.alpha.WhenTextChanged += new System.EventHandler(this.alpha_WhenTextChanged);
|
||||
//
|
||||
// renderStyle
|
||||
|
@ -441,6 +447,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
this.renderStyle.Name = "renderStyle";
|
||||
this.renderStyle.Size = new System.Drawing.Size(86, 21);
|
||||
this.renderStyle.TabIndex = 12;
|
||||
this.renderStyle.Tag = "renderstyle";
|
||||
this.renderStyle.SelectedIndexChanged += new System.EventHandler(this.cbRenderStyle_SelectedIndexChanged);
|
||||
//
|
||||
// activationGroup
|
||||
|
@ -576,7 +583,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
this.labelFrontScaleBottom.Name = "labelFrontScaleBottom";
|
||||
this.labelFrontScaleBottom.Size = new System.Drawing.Size(80, 14);
|
||||
this.labelFrontScaleBottom.TabIndex = 42;
|
||||
this.labelFrontScaleBottom.Tag = "";
|
||||
this.labelFrontScaleBottom.Tag = "scalex_bottom";
|
||||
this.labelFrontScaleBottom.Text = "Lower scale:";
|
||||
this.labelFrontScaleBottom.TextAlign = System.Drawing.ContentAlignment.TopRight;
|
||||
//
|
||||
|
@ -586,7 +593,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
this.labelFrontScaleMid.Name = "labelFrontScaleMid";
|
||||
this.labelFrontScaleMid.Size = new System.Drawing.Size(80, 14);
|
||||
this.labelFrontScaleMid.TabIndex = 41;
|
||||
this.labelFrontScaleMid.Tag = "";
|
||||
this.labelFrontScaleMid.Tag = "scalex_mid";
|
||||
this.labelFrontScaleMid.Text = "Middle scale:";
|
||||
this.labelFrontScaleMid.TextAlign = System.Drawing.ContentAlignment.TopRight;
|
||||
//
|
||||
|
@ -596,7 +603,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
this.labelFrontScaleTop.Name = "labelFrontScaleTop";
|
||||
this.labelFrontScaleTop.Size = new System.Drawing.Size(80, 14);
|
||||
this.labelFrontScaleTop.TabIndex = 28;
|
||||
this.labelFrontScaleTop.Tag = "";
|
||||
this.labelFrontScaleTop.Tag = "scalex_top";
|
||||
this.labelFrontScaleTop.Text = "Upper scale:";
|
||||
this.labelFrontScaleTop.TextAlign = System.Drawing.ContentAlignment.TopRight;
|
||||
//
|
||||
|
@ -617,6 +624,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
this.pfcFrontScaleTop.Name = "pfcFrontScaleTop";
|
||||
this.pfcFrontScaleTop.Size = new System.Drawing.Size(186, 26);
|
||||
this.pfcFrontScaleTop.TabIndex = 38;
|
||||
this.pfcFrontScaleTop.Tag = "scalex_top";
|
||||
this.pfcFrontScaleTop.OnValuesChanged += new System.EventHandler(this.pfcFrontScaleTop_OnValuesChanged);
|
||||
//
|
||||
// pfcFrontScaleBottom
|
||||
|
@ -636,6 +644,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
this.pfcFrontScaleBottom.Name = "pfcFrontScaleBottom";
|
||||
this.pfcFrontScaleBottom.Size = new System.Drawing.Size(186, 26);
|
||||
this.pfcFrontScaleBottom.TabIndex = 40;
|
||||
this.pfcFrontScaleBottom.Tag = "scalex_bottom";
|
||||
this.pfcFrontScaleBottom.OnValuesChanged += new System.EventHandler(this.pfcFrontScaleBottom_OnValuesChanged);
|
||||
//
|
||||
// pfcFrontScaleMid
|
||||
|
@ -655,6 +664,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
this.pfcFrontScaleMid.Name = "pfcFrontScaleMid";
|
||||
this.pfcFrontScaleMid.Size = new System.Drawing.Size(186, 26);
|
||||
this.pfcFrontScaleMid.TabIndex = 39;
|
||||
this.pfcFrontScaleMid.Tag = "scalex_mid";
|
||||
this.pfcFrontScaleMid.OnValuesChanged += new System.EventHandler(this.pfcFrontScaleMid_OnValuesChanged);
|
||||
//
|
||||
// groupBox6
|
||||
|
@ -690,7 +700,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
this.labelFrontOffsetBottom.Name = "labelFrontOffsetBottom";
|
||||
this.labelFrontOffsetBottom.Size = new System.Drawing.Size(80, 14);
|
||||
this.labelFrontOffsetBottom.TabIndex = 45;
|
||||
this.labelFrontOffsetBottom.Tag = "";
|
||||
this.labelFrontOffsetBottom.Tag = "offsetx_bottom";
|
||||
this.labelFrontOffsetBottom.Text = "Lower offset:";
|
||||
this.labelFrontOffsetBottom.TextAlign = System.Drawing.ContentAlignment.TopRight;
|
||||
//
|
||||
|
@ -713,7 +723,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
this.labelFrontOffsetMid.Name = "labelFrontOffsetMid";
|
||||
this.labelFrontOffsetMid.Size = new System.Drawing.Size(80, 14);
|
||||
this.labelFrontOffsetMid.TabIndex = 44;
|
||||
this.labelFrontOffsetMid.Tag = "";
|
||||
this.labelFrontOffsetMid.Tag = "offsetx_mid";
|
||||
this.labelFrontOffsetMid.Text = "Middle offset:";
|
||||
this.labelFrontOffsetMid.TextAlign = System.Drawing.ContentAlignment.TopRight;
|
||||
//
|
||||
|
@ -734,6 +744,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
this.pfcFrontOffsetTop.Name = "pfcFrontOffsetTop";
|
||||
this.pfcFrontOffsetTop.Size = new System.Drawing.Size(186, 26);
|
||||
this.pfcFrontOffsetTop.TabIndex = 35;
|
||||
this.pfcFrontOffsetTop.Tag = "offsetx_top";
|
||||
this.pfcFrontOffsetTop.OnValuesChanged += new System.EventHandler(this.pfcFrontOffsetTop_OnValuesChanged);
|
||||
//
|
||||
// labelFrontOffsetTop
|
||||
|
@ -742,7 +753,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
this.labelFrontOffsetTop.Name = "labelFrontOffsetTop";
|
||||
this.labelFrontOffsetTop.Size = new System.Drawing.Size(80, 14);
|
||||
this.labelFrontOffsetTop.TabIndex = 43;
|
||||
this.labelFrontOffsetTop.Tag = "";
|
||||
this.labelFrontOffsetTop.Tag = "offsetx_top";
|
||||
this.labelFrontOffsetTop.Text = "Upper offset:";
|
||||
this.labelFrontOffsetTop.TextAlign = System.Drawing.ContentAlignment.TopRight;
|
||||
//
|
||||
|
@ -763,6 +774,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
this.pfcFrontOffsetMid.Name = "pfcFrontOffsetMid";
|
||||
this.pfcFrontOffsetMid.Size = new System.Drawing.Size(186, 26);
|
||||
this.pfcFrontOffsetMid.TabIndex = 36;
|
||||
this.pfcFrontOffsetMid.Tag = "offsetx_mid";
|
||||
this.pfcFrontOffsetMid.OnValuesChanged += new System.EventHandler(this.pfcFrontOffsetMid_OnValuesChanged);
|
||||
//
|
||||
// pfcFrontOffsetBottom
|
||||
|
@ -782,6 +794,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
this.pfcFrontOffsetBottom.Name = "pfcFrontOffsetBottom";
|
||||
this.pfcFrontOffsetBottom.Size = new System.Drawing.Size(186, 26);
|
||||
this.pfcFrontOffsetBottom.TabIndex = 37;
|
||||
this.pfcFrontOffsetBottom.Tag = "offsetx_bottom";
|
||||
this.pfcFrontOffsetBottom.OnValuesChanged += new System.EventHandler(this.pfcFrontOffsetBottom_OnValuesChanged);
|
||||
//
|
||||
// groupBox5
|
||||
|
@ -808,6 +821,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
this.lightfrontlower.Name = "lightfrontlower";
|
||||
this.lightfrontlower.Size = new System.Drawing.Size(262, 29);
|
||||
this.lightfrontlower.TabIndex = 29;
|
||||
this.lightfrontlower.Tag = "light_bottom";
|
||||
//
|
||||
// lightfrontmiddle
|
||||
//
|
||||
|
@ -815,6 +829,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
this.lightfrontmiddle.Name = "lightfrontmiddle";
|
||||
this.lightfrontmiddle.Size = new System.Drawing.Size(262, 29);
|
||||
this.lightfrontmiddle.TabIndex = 29;
|
||||
this.lightfrontmiddle.Tag = "light_mid";
|
||||
//
|
||||
// lightfrontupper
|
||||
//
|
||||
|
@ -822,6 +837,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
this.lightfrontupper.Name = "lightfrontupper";
|
||||
this.lightfrontupper.Size = new System.Drawing.Size(262, 29);
|
||||
this.lightfrontupper.TabIndex = 29;
|
||||
this.lightfrontupper.Tag = "light_top";
|
||||
//
|
||||
// resetfrontlight
|
||||
//
|
||||
|
@ -830,6 +846,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
this.resetfrontlight.Name = "resetfrontlight";
|
||||
this.resetfrontlight.Size = new System.Drawing.Size(23, 23);
|
||||
this.resetfrontlight.TabIndex = 28;
|
||||
this.resetfrontlight.Tag = "light";
|
||||
this.tooltip.SetToolTip(this.resetfrontlight, "Reset Front Brightness");
|
||||
this.resetfrontlight.UseVisualStyleBackColor = true;
|
||||
this.resetfrontlight.Click += new System.EventHandler(this.resetfrontlight_Click);
|
||||
|
@ -879,7 +896,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
this.lightFront.Size = new System.Drawing.Size(62, 24);
|
||||
this.lightFront.StepValues = null;
|
||||
this.lightFront.TabIndex = 26;
|
||||
this.lightFront.Tag = "";
|
||||
this.lightFront.Tag = "light";
|
||||
this.lightFront.WhenTextChanged += new System.EventHandler(this.lightFront_WhenTextChanged);
|
||||
//
|
||||
// cbLightAbsoluteFront
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Windows.Forms;
|
||||
using CodeImp.DoomBuilder.Config;
|
||||
using CodeImp.DoomBuilder.Controls;
|
||||
|
@ -137,8 +138,12 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
// Initialize
|
||||
InitializeComponent();
|
||||
|
||||
DoUDMFControls(tabproperties, General.Map.Config.LinedefFields);
|
||||
DoUDMFControls(tabfront, General.Map.Config.SidedefFields);
|
||||
DoUDMFControls(tabback, General.Map.Config.SidedefFields);
|
||||
|
||||
// Widow setup
|
||||
if(General.Settings.StoreSelectedEditTab)
|
||||
if (General.Settings.StoreSelectedEditTab)
|
||||
{
|
||||
int activetab = General.Settings.ReadSetting("windows." + configname + ".activetab", 0);
|
||||
|
||||
|
@ -179,8 +184,6 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
lockpick.Items.Add(item);
|
||||
}
|
||||
}
|
||||
lockpick.Enabled = (keynumbers.Count > 0);
|
||||
labellockpick.Enabled = (keynumbers.Count > 0);
|
||||
|
||||
// Initialize image selectors
|
||||
fronthigh.Initialize();
|
||||
|
@ -227,38 +230,6 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
lightbackupper.Setup(VisualModes.VisualGeometryType.WALL_UPPER);
|
||||
lightbackmiddle.Setup(VisualModes.VisualGeometryType.WALL_MIDDLE);
|
||||
lightbacklower.Setup(VisualModes.VisualGeometryType.WALL_LOWER);
|
||||
|
||||
// Disable top/mid/bottom texture offset controls?
|
||||
if (!General.Map.Config.UseLocalSidedefTextureOffsets)
|
||||
{
|
||||
pfcFrontOffsetTop.Enabled = false;
|
||||
pfcFrontOffsetMid.Enabled = false;
|
||||
pfcFrontOffsetBottom.Enabled = false;
|
||||
|
||||
pfcBackOffsetTop.Enabled = false;
|
||||
pfcBackOffsetMid.Enabled = false;
|
||||
pfcBackOffsetBottom.Enabled = false;
|
||||
|
||||
labelFrontOffsetTop.Enabled = false;
|
||||
labelFrontOffsetMid.Enabled = false;
|
||||
labelFrontOffsetBottom.Enabled = false;
|
||||
|
||||
labelBackOffsetTop.Enabled = false;
|
||||
labelBackOffsetMid.Enabled = false;
|
||||
labelBackOffsetBottom.Enabled = false;
|
||||
}
|
||||
|
||||
// Diable brightness controls?
|
||||
if(!General.Map.Config.DistinctWallBrightness)
|
||||
{
|
||||
lightFront.Enabled = false;
|
||||
cbLightAbsoluteFront.Enabled = false;
|
||||
resetfrontlight.Enabled = false;
|
||||
|
||||
lightBack.Enabled = false;
|
||||
cbLightAbsoluteBack.Enabled = false;
|
||||
resetbacklight.Enabled = false;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
@ -707,6 +678,36 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
OnValuesChanged?.Invoke(this, EventArgs.Empty);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Enables or disables controls depending on if their tag is one of the UDMF fields set in the game config.
|
||||
/// </summary>
|
||||
/// <param name="control">Control to process</param>
|
||||
private void DoUDMFControls(Control control, List<UniversalFieldInfo> info)
|
||||
{
|
||||
if (control.Tag is string name && !string.IsNullOrWhiteSpace(name))
|
||||
{
|
||||
EnableDisableControlAndChildren(control, info.Any(f => f.Name == name));
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach (Control c in control.Controls)
|
||||
DoUDMFControls(c, info);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Enables or disables a control and all its children.
|
||||
/// </summary>
|
||||
/// <param name="control">Control the enable or disable</param>
|
||||
/// <param name="state">If to enable or disable</param>
|
||||
private void EnableDisableControlAndChildren(Control control, bool state)
|
||||
{
|
||||
control.Enabled = state;
|
||||
|
||||
foreach (Control c in control.Controls)
|
||||
EnableDisableControlAndChildren(c, state);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region ================== Events
|
||||
|
|
4018
Source/Core/Windows/SectorEditFormUDMF.Designer.cs
generated
4018
Source/Core/Windows/SectorEditFormUDMF.Designer.cs
generated
File diff suppressed because it is too large
Load diff
|
@ -2,6 +2,7 @@
|
|||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Windows.Forms;
|
||||
using CodeImp.DoomBuilder.Controls;
|
||||
using CodeImp.DoomBuilder.Geometry;
|
||||
|
@ -187,8 +188,14 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
{
|
||||
InitializeComponent();
|
||||
|
||||
DoUDMFControls(this);
|
||||
|
||||
// Plane equation slopes are handled internally instead through the UDMF fields, so they need special attention
|
||||
EnableDisableControlAndChildren(gbCeilingSLope, General.Map.Config.PlaneEquationSupport);
|
||||
EnableDisableControlAndChildren(gbFloorSlope, General.Map.Config.PlaneEquationSupport);
|
||||
|
||||
//mxd. Load settings
|
||||
if(General.Settings.StoreSelectedEditTab)
|
||||
if (General.Settings.StoreSelectedEditTab)
|
||||
{
|
||||
int activetab = General.Settings.ReadSetting("windows." + configname + ".activetab", 0);
|
||||
tabs.SelectTab(activetab);
|
||||
|
@ -220,10 +227,6 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
{
|
||||
renderstyles = new List<string>();
|
||||
}
|
||||
floorRenderStyle.Enabled = (renderstyles.Count > 0);
|
||||
labelfloorrenderstyle.Enabled = (renderstyles.Count > 0);
|
||||
ceilRenderStyle.Enabled = (renderstyles.Count > 0);
|
||||
labelceilrenderstyle.Enabled = (renderstyles.Count > 0);
|
||||
|
||||
// Fill renderstyles
|
||||
foreach(string name in General.Map.Config.SectorRenderStyles.Values)
|
||||
|
@ -243,10 +246,6 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
{
|
||||
portalrenderstyles = new List<string>();
|
||||
}
|
||||
floorportalrenderstyle.Enabled = (portalrenderstyles.Count > 0);
|
||||
floorportalrenderstylelabel.Enabled = (portalrenderstyles.Count > 0);
|
||||
ceilportalrenderstyle.Enabled = (portalrenderstyles.Count > 0);
|
||||
ceilportalrenderstylelabel.Enabled = (portalrenderstyles.Count > 0);
|
||||
|
||||
// Fill portal renderstyles
|
||||
foreach(string name in General.Map.Config.SectorPortalRenderStyles.Values)
|
||||
|
@ -838,6 +837,36 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Enables or disables controls depending on if their tag is one of the UDMF fields set in the game config.
|
||||
/// </summary>
|
||||
/// <param name="control">Control to process</param>
|
||||
private void DoUDMFControls(Control control)
|
||||
{
|
||||
if (control.Tag is string name && !string.IsNullOrWhiteSpace(name))
|
||||
{
|
||||
EnableDisableControlAndChildren(control, General.Map.Config.SectorFields.Any(f => f.Name == name));
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach (Control c in control.Controls)
|
||||
DoUDMFControls(c);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Enables or disables a control and all its children.
|
||||
/// </summary>
|
||||
/// <param name="control">Control the enable or disable</param>
|
||||
/// <param name="state">If to enable or disable</param>
|
||||
private void EnableDisableControlAndChildren(Control control, bool state)
|
||||
{
|
||||
control.Enabled = state;
|
||||
|
||||
foreach (Control c in control.Controls)
|
||||
EnableDisableControlAndChildren(c, state);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region ================== Events
|
||||
|
|
24
Source/Core/Windows/ThingEditFormUDMF.Designer.cs
generated
24
Source/Core/Windows/ThingEditFormUDMF.Designer.cs
generated
|
@ -165,6 +165,7 @@
|
|||
this.cbrandomroll.Name = "cbrandomroll";
|
||||
this.cbrandomroll.Size = new System.Drawing.Size(66, 17);
|
||||
this.cbrandomroll.TabIndex = 5;
|
||||
this.cbrandomroll.Tag = "roll";
|
||||
this.cbrandomroll.Text = "Random";
|
||||
this.cbrandomroll.UseVisualStyleBackColor = true;
|
||||
this.cbrandomroll.CheckedChanged += new System.EventHandler(this.cbrandomroll_CheckedChanged);
|
||||
|
@ -176,6 +177,7 @@
|
|||
this.cbrandompitch.Name = "cbrandompitch";
|
||||
this.cbrandompitch.Size = new System.Drawing.Size(66, 17);
|
||||
this.cbrandompitch.TabIndex = 3;
|
||||
this.cbrandompitch.Tag = "pitch";
|
||||
this.cbrandompitch.Text = "Random";
|
||||
this.cbrandompitch.UseVisualStyleBackColor = true;
|
||||
this.cbrandompitch.CheckedChanged += new System.EventHandler(this.cbrandompitch_CheckedChanged);
|
||||
|
@ -208,6 +210,7 @@
|
|||
this.roll.Size = new System.Drawing.Size(60, 24);
|
||||
this.roll.StepValues = null;
|
||||
this.roll.TabIndex = 4;
|
||||
this.roll.Tag = "roll";
|
||||
this.roll.WhenTextChanged += new System.EventHandler(this.roll_WhenTextChanged);
|
||||
//
|
||||
// labelroll
|
||||
|
@ -236,6 +239,7 @@
|
|||
this.pitch.Size = new System.Drawing.Size(60, 24);
|
||||
this.pitch.StepValues = null;
|
||||
this.pitch.TabIndex = 2;
|
||||
this.pitch.Tag = "pitch";
|
||||
this.pitch.WhenTextChanged += new System.EventHandler(this.pitch_WhenTextChanged);
|
||||
//
|
||||
// labelpitch
|
||||
|
@ -295,6 +299,7 @@
|
|||
this.labelGravity.Name = "labelGravity";
|
||||
this.labelGravity.Size = new System.Drawing.Size(43, 13);
|
||||
this.labelGravity.TabIndex = 18;
|
||||
this.labelGravity.Tag = "gravity";
|
||||
this.labelGravity.Text = "Gravity:";
|
||||
this.tooltip.SetToolTip(this.labelGravity, "Positive values are multiplied with the class\'s property.\r\nNegative values are us" +
|
||||
"ed as their absolute.\r\nDefault is 1.0.");
|
||||
|
@ -399,6 +404,7 @@
|
|||
this.rollControl.Name = "rollControl";
|
||||
this.rollControl.Size = new System.Drawing.Size(64, 64);
|
||||
this.rollControl.TabIndex = 20;
|
||||
this.rollControl.Tag = "roll";
|
||||
this.rollControl.AngleChanged += new System.EventHandler(this.rollControl_AngleChanged);
|
||||
//
|
||||
// grouppitch
|
||||
|
@ -420,6 +426,7 @@
|
|||
this.pitchControl.Name = "pitchControl";
|
||||
this.pitchControl.Size = new System.Drawing.Size(64, 64);
|
||||
this.pitchControl.TabIndex = 20;
|
||||
this.pitchControl.Tag = "pitch";
|
||||
this.pitchControl.AngleChanged += new System.EventHandler(this.pitchControl_AngleChanged);
|
||||
//
|
||||
// groupangle
|
||||
|
@ -594,6 +601,7 @@
|
|||
this.floatbobphase.Size = new System.Drawing.Size(72, 24);
|
||||
this.floatbobphase.StepValues = null;
|
||||
this.floatbobphase.TabIndex = 4;
|
||||
this.floatbobphase.Tag = "floatbobphase";
|
||||
//
|
||||
// label1
|
||||
//
|
||||
|
@ -602,6 +610,7 @@
|
|||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(86, 13);
|
||||
this.label1.TabIndex = 27;
|
||||
this.label1.Tag = "floatbobphase";
|
||||
this.label1.Text = "Float bob phase:";
|
||||
//
|
||||
// conversationID
|
||||
|
@ -621,6 +630,7 @@
|
|||
this.conversationID.Size = new System.Drawing.Size(72, 24);
|
||||
this.conversationID.StepValues = null;
|
||||
this.conversationID.TabIndex = 3;
|
||||
this.conversationID.Tag = "conversation";
|
||||
//
|
||||
// labelID
|
||||
//
|
||||
|
@ -629,6 +639,7 @@
|
|||
this.labelID.Name = "labelID";
|
||||
this.labelID.Size = new System.Drawing.Size(86, 13);
|
||||
this.labelID.TabIndex = 25;
|
||||
this.labelID.Tag = "conversation";
|
||||
this.labelID.Text = "Conversation ID:";
|
||||
//
|
||||
// health
|
||||
|
@ -648,6 +659,7 @@
|
|||
this.health.Size = new System.Drawing.Size(72, 24);
|
||||
this.health.StepValues = null;
|
||||
this.health.TabIndex = 2;
|
||||
this.health.Tag = "health";
|
||||
//
|
||||
// label10
|
||||
//
|
||||
|
@ -658,6 +670,7 @@
|
|||
this.label10.Name = "label10";
|
||||
this.label10.Size = new System.Drawing.Size(41, 13);
|
||||
this.label10.TabIndex = 22;
|
||||
this.label10.Tag = "health";
|
||||
this.label10.Text = "Health:";
|
||||
this.tooltip.SetToolTip(this.label10, "Positive values are multiplied with the class\'s property.\r\nNegative values are us" +
|
||||
"ed as their absolute.\r\nDefault is 1.");
|
||||
|
@ -679,6 +692,7 @@
|
|||
this.score.Size = new System.Drawing.Size(72, 24);
|
||||
this.score.StepValues = null;
|
||||
this.score.TabIndex = 1;
|
||||
this.score.Tag = "score";
|
||||
//
|
||||
// label9
|
||||
//
|
||||
|
@ -687,6 +701,7 @@
|
|||
this.label9.Name = "label9";
|
||||
this.label9.Size = new System.Drawing.Size(38, 13);
|
||||
this.label9.TabIndex = 20;
|
||||
this.label9.Tag = "score";
|
||||
this.label9.Text = "Score:";
|
||||
//
|
||||
// gravity
|
||||
|
@ -706,6 +721,7 @@
|
|||
this.gravity.Size = new System.Drawing.Size(72, 24);
|
||||
this.gravity.StepValues = null;
|
||||
this.gravity.TabIndex = 0;
|
||||
this.gravity.Tag = "gravity";
|
||||
//
|
||||
// grouprendering
|
||||
//
|
||||
|
@ -731,6 +747,7 @@
|
|||
this.resetalpha.Name = "resetalpha";
|
||||
this.resetalpha.Size = new System.Drawing.Size(23, 23);
|
||||
this.resetalpha.TabIndex = 69;
|
||||
this.resetalpha.Tag = "alpha";
|
||||
this.tooltip.SetToolTip(this.resetalpha, "Reset");
|
||||
this.resetalpha.UseVisualStyleBackColor = true;
|
||||
this.resetalpha.Click += new System.EventHandler(this.resetalpha_Click);
|
||||
|
@ -741,6 +758,7 @@
|
|||
this.labelScale.Name = "labelScale";
|
||||
this.labelScale.Size = new System.Drawing.Size(80, 14);
|
||||
this.labelScale.TabIndex = 32;
|
||||
this.labelScale.Tag = "scalex";
|
||||
this.labelScale.Text = "Scale:";
|
||||
this.labelScale.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||
//
|
||||
|
@ -757,6 +775,7 @@
|
|||
this.scale.Name = "scale";
|
||||
this.scale.Size = new System.Drawing.Size(186, 26);
|
||||
this.scale.TabIndex = 0;
|
||||
this.scale.Tag = "scalex";
|
||||
this.scale.OnValuesChanged += new System.EventHandler(this.scale_OnValuesChanged);
|
||||
//
|
||||
// color
|
||||
|
@ -768,6 +787,7 @@
|
|||
this.color.Name = "color";
|
||||
this.color.Size = new System.Drawing.Size(207, 31);
|
||||
this.color.TabIndex = 3;
|
||||
this.color.Tag = "fillcolor";
|
||||
//
|
||||
// alpha
|
||||
//
|
||||
|
@ -786,6 +806,7 @@
|
|||
this.alpha.Size = new System.Drawing.Size(72, 24);
|
||||
this.alpha.StepValues = null;
|
||||
this.alpha.TabIndex = 2;
|
||||
this.alpha.Tag = "alpha";
|
||||
this.alpha.WhenTextChanged += new System.EventHandler(this.alpha_WhenTextChanged);
|
||||
//
|
||||
// label8
|
||||
|
@ -795,6 +816,7 @@
|
|||
this.label8.Name = "label8";
|
||||
this.label8.Size = new System.Drawing.Size(37, 13);
|
||||
this.label8.TabIndex = 25;
|
||||
this.label8.Tag = "alpha";
|
||||
this.label8.Text = "Alpha:";
|
||||
//
|
||||
// renderStyle
|
||||
|
@ -805,6 +827,7 @@
|
|||
this.renderStyle.Name = "renderStyle";
|
||||
this.renderStyle.Size = new System.Drawing.Size(156, 21);
|
||||
this.renderStyle.TabIndex = 1;
|
||||
this.renderStyle.Tag = "renderstyle";
|
||||
this.renderStyle.SelectedIndexChanged += new System.EventHandler(this.renderStyle_SelectedIndexChanged);
|
||||
//
|
||||
// labelrenderstyle
|
||||
|
@ -814,6 +837,7 @@
|
|||
this.labelrenderstyle.Name = "labelrenderstyle";
|
||||
this.labelrenderstyle.Size = new System.Drawing.Size(69, 13);
|
||||
this.labelrenderstyle.TabIndex = 23;
|
||||
this.labelrenderstyle.Tag = "renderstyle";
|
||||
this.labelrenderstyle.Text = "Render style:";
|
||||
//
|
||||
// actiongroup
|
||||
|
|
|
@ -97,6 +97,8 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
// Initialize
|
||||
InitializeComponent();
|
||||
|
||||
DoUDMFControls(this);
|
||||
|
||||
//mxd. Load settings
|
||||
useabsoluteheight = General.Settings.ReadSetting("windows." + configname + ".useabsoluteheight", false);
|
||||
|
||||
|
@ -417,6 +419,37 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
flagsrename = newflagsrename;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Enables or disables controls depending on if their tag is one of the UDMF fields set in the game config.
|
||||
/// </summary>
|
||||
/// <param name="control">Control to process</param>
|
||||
private void DoUDMFControls(Control control)
|
||||
{
|
||||
if (control.Tag is string name && !string.IsNullOrWhiteSpace(name))
|
||||
{
|
||||
//EnableDisableControlAndChildren(control, General.Map.Config.HasUniversalFieldOrFlag<Thing>(name));
|
||||
EnableDisableControlAndChildren(control, General.Map.Config.ThingFields.Any(f => f.Name == name));
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach (Control c in control.Controls)
|
||||
DoUDMFControls(c);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Enables or disables a control and all its children.
|
||||
/// </summary>
|
||||
/// <param name="control">Control the enable or disable</param>
|
||||
/// <param name="state">If to enable or disable</param>
|
||||
private void EnableDisableControlAndChildren(Control control, bool state)
|
||||
{
|
||||
control.Enabled = state;
|
||||
|
||||
foreach (Control c in control.Controls)
|
||||
EnableDisableControlAndChildren(c, state);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region ================== Events
|
||||
|
|
Loading…
Reference in a new issue