mirror of
https://git.do.srb2.org/STJr/UltimateZoneBuilder.git
synced 2024-11-29 15:11:56 +00:00
908 lines
12 KiB
INI
908 lines
12 KiB
INI
linedefflags
|
|
{
|
|
twosided = "Doublesided";
|
|
dontpegtop = "Upper unpegged";
|
|
dontpegbottom = "Lower unpegged";
|
|
blocking = "Impassable";
|
|
blockeverything = "Block everything";
|
|
blockplayers = "Block players";
|
|
blockmonsters = "Block monsters";
|
|
blocklandmonsters = "Block land monsters";
|
|
blockfloaters = "Block floating monsters";
|
|
blocksound = "Block sound";
|
|
blockprojectiles = "Block projectiles";
|
|
blockhitscan = "Block hitscans";
|
|
blockuse = "Block use actions";
|
|
blocksight = "Block monster line of sight";
|
|
jumpover = "Jump-over railing";
|
|
clipmidtex = "Clip middle texture";
|
|
wrapmidtex = "Wrap middle texture";
|
|
midtex3dimpassible = "Projectile shoot-through middle texture";
|
|
midtex3d = "Walkable middle texture";
|
|
mapped = "Initially shown on map";
|
|
secret = "Shown as 1-sided on map";
|
|
dontdraw = "Not shown on map";
|
|
transparent = "Transparent (25% opacity)";
|
|
translucent = "Translucent (obsolete)";
|
|
monsteractivate = "Monster activates";
|
|
}
|
|
|
|
linedefactivations
|
|
{
|
|
repeatspecial
|
|
{
|
|
name = "Repeatable action";
|
|
istrigger = false;
|
|
}
|
|
playeruse = "When player presses use";
|
|
playercross = "When player walks over";
|
|
playerpush = "When player bumps";
|
|
monsteruse = "When monster presses use";
|
|
monstercross = "When monster walks over";
|
|
monsterpush = "When monsters bumps";
|
|
anycross = "Any crossing non-missile activates";
|
|
missilecross = "When projectile crosses";
|
|
impact = "On player hitscan/projectile impact";
|
|
checkswitchrange
|
|
{
|
|
name = "Switch height check";
|
|
istrigger = false;
|
|
}
|
|
passuse
|
|
{
|
|
name = "Pass use on";
|
|
istrigger = false;
|
|
}
|
|
firstsideonly
|
|
{
|
|
name = "Front side only";
|
|
istrigger = false;
|
|
}
|
|
playeruseback
|
|
{
|
|
name = "Player can use from back side";
|
|
istrigger = false;
|
|
}
|
|
}
|
|
|
|
// 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");
|
|
|
|
6144 = "playeruse,passuse"; //mxd
|
|
7168 = "impact,missilecross"; //mxd
|
|
16384 = "blockplayers";
|
|
}
|
|
|
|
sidedefflags
|
|
{
|
|
clipmidtex = "Clip middle texture";
|
|
wrapmidtex = "Wrap middle texture";
|
|
smoothlighting = "Smooth lighting";
|
|
nofakecontrast = "Even lighting";
|
|
}
|
|
|
|
thingflags
|
|
{
|
|
skill1 = "Skill 1";
|
|
skill2 = "Skill 2";
|
|
skill3 = "Skill 3";
|
|
skill4 = "Skill 4";
|
|
skill5 = "Skill 5";
|
|
single = "Singleplayer";
|
|
coop = "Cooperative";
|
|
dm = "Deathmatch";
|
|
friend = "Friendly (MBF logic)";
|
|
ambush = "Ambush players";
|
|
dormant = "Dormant";
|
|
translucent = "Translucent (25%)";
|
|
invisible = "Invisible";
|
|
countsecret = "Count as secret";
|
|
}
|
|
|
|
// 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");
|
|
include("Hexen_misc.cfg", "thingflagstranslation");
|
|
|
|
256 = "single";
|
|
512 = "coop";
|
|
1024 = "dm";
|
|
2048 = "translucent";
|
|
4096 = "invisible";
|
|
8192 = "friend";
|
|
}
|
|
|
|
// Default flags for first new thing
|
|
defaultthingflags
|
|
{
|
|
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;
|
|
}
|
|
}
|
|
}
|
|
|
|
// Things flags masks
|
|
include("Hexen_misc.cfg", "thingflagsmasks");
|
|
|
|
/*
|
|
ADDITIONAL UNIVERSAL DOOM MAP FORMAT FIELD DEFINITIONS
|
|
Only add fields here that Doom Builder does not edit with its own user-interface!
|
|
The "default" field must match the UDMF specifications!
|
|
|
|
Field data types:
|
|
0 = integer *
|
|
1 = float
|
|
2 = string
|
|
3 = bool
|
|
4 = linedef action (integer) *
|
|
5 = sector effect (integer) *
|
|
6 = texture (string)
|
|
7 = flat (string)
|
|
8 = angle in degrees (integer)
|
|
9 = angle in radians (float)
|
|
10 = XXRRGGBB color (integer)
|
|
11 = enum option (integer) *
|
|
12 = enum bits (integer) *
|
|
13 = sector tag (integer) *
|
|
14 = thing tag (integer) *
|
|
15 = linedef tag (integer) *
|
|
16 = enum option (string)
|
|
17 = angle in degrees (float)
|
|
22 = byte angle (integer)
|
|
*/
|
|
universalfields
|
|
{
|
|
linedef
|
|
{
|
|
comment
|
|
{
|
|
type = 2;
|
|
default = "";
|
|
}
|
|
|
|
health
|
|
{
|
|
type = 0;
|
|
default = 0;
|
|
managed = false;
|
|
}
|
|
|
|
healthgroup
|
|
{
|
|
type = 0;
|
|
default = 0;
|
|
managed = false;
|
|
}
|
|
|
|
// Should be moved to flags eventually
|
|
damagespecial
|
|
{
|
|
type = 3;
|
|
default = false;
|
|
managed = false;
|
|
}
|
|
|
|
// Should be moved to flags eventually
|
|
deathspecial
|
|
{
|
|
type = 3;
|
|
default = false;
|
|
managed = false;
|
|
}
|
|
|
|
automapstyle
|
|
{
|
|
type = 11;
|
|
default = 0;
|
|
enum
|
|
{
|
|
0 = "Default";
|
|
1 = "One-sided wall";
|
|
2 = "Two-sided wall";
|
|
3 = "Floor levels of front and back sectors are different";
|
|
4 = "Ceiling levels of front and back sectors are different";
|
|
5 = "3D floor border";
|
|
6 = "Wall with special non-door action";
|
|
7 = "Secret door";
|
|
8 = "Wall not seen yet";
|
|
9 = "Locked door";
|
|
10 = "Intra-level teleporter";
|
|
11 = "Inter-level or game-ending teleporter";
|
|
12 = "Unexplored secret wall";
|
|
13 = "Portal line";
|
|
}
|
|
managed = false;
|
|
}
|
|
|
|
arg0str
|
|
{
|
|
type = 2;
|
|
default = "";
|
|
}
|
|
|
|
alpha
|
|
{
|
|
type = 1;
|
|
default = 1.0;
|
|
}
|
|
|
|
locknumber
|
|
{
|
|
type = 0;
|
|
default = 0;
|
|
}
|
|
}
|
|
|
|
sidedef
|
|
{
|
|
comment
|
|
{
|
|
type = 2;
|
|
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
|
|
{
|
|
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;
|
|
}
|
|
|
|
light_top
|
|
{
|
|
type = 0;
|
|
default = 0;
|
|
}
|
|
|
|
lightabsolute_top
|
|
{
|
|
type = 3;
|
|
default = false;
|
|
}
|
|
|
|
light_mid
|
|
{
|
|
type = 0;
|
|
default = 0;
|
|
}
|
|
|
|
lightabsolute_mid
|
|
{
|
|
type = 3;
|
|
default = false;
|
|
}
|
|
|
|
light_bottom
|
|
{
|
|
type = 0;
|
|
default = 0;
|
|
}
|
|
|
|
lightabsolute_bottom
|
|
{
|
|
type = 3;
|
|
default = false;
|
|
}
|
|
|
|
xscroll
|
|
{
|
|
type = 1;
|
|
default = 0.0;
|
|
managed = false;
|
|
}
|
|
|
|
yscroll
|
|
{
|
|
type = 1;
|
|
default = 0.0;
|
|
managed = false;
|
|
}
|
|
|
|
xscrolltop
|
|
{
|
|
type = 1;
|
|
default = 0.0;
|
|
managed = false;
|
|
}
|
|
|
|
yscrolltop
|
|
{
|
|
type = 1;
|
|
default = 0.0;
|
|
managed = false;
|
|
}
|
|
|
|
xscrollmid
|
|
{
|
|
type = 1;
|
|
default = 0.0;
|
|
managed = false;
|
|
}
|
|
|
|
yscrollmid
|
|
{
|
|
type = 1;
|
|
default = 0.0;
|
|
managed = false;
|
|
}
|
|
|
|
xscrollbottom
|
|
{
|
|
type = 1;
|
|
default = 0.0;
|
|
managed = false;
|
|
}
|
|
|
|
yscrollbottom
|
|
{
|
|
type = 1;
|
|
default = 0.0;
|
|
managed = false;
|
|
}
|
|
}
|
|
|
|
thing
|
|
{
|
|
comment
|
|
{
|
|
type = 2;
|
|
default = "";
|
|
}
|
|
|
|
gravity
|
|
{
|
|
type = 1;
|
|
default = 0.0;
|
|
}
|
|
|
|
alpha
|
|
{
|
|
type = 1;
|
|
default = 1.0;
|
|
}
|
|
|
|
health
|
|
{
|
|
type = 1;
|
|
default = 1.0;
|
|
}
|
|
|
|
arg0str
|
|
{
|
|
type = 2;
|
|
default = "";
|
|
}
|
|
}
|
|
|
|
sector
|
|
{
|
|
comment
|
|
{
|
|
type = 2;
|
|
default = "";
|
|
}
|
|
|
|
ypanningfloor
|
|
{
|
|
type = 1;
|
|
default = 0.0;
|
|
}
|
|
|
|
xpanningfloor
|
|
{
|
|
type = 1;
|
|
default = 0.0;
|
|
}
|
|
|
|
lightfloorabsolute
|
|
{
|
|
type = 3;
|
|
default = false;
|
|
}
|
|
|
|
lightfloor
|
|
{
|
|
type = 0;
|
|
default = 0;
|
|
}
|
|
|
|
damageinterval
|
|
{
|
|
type = 0;
|
|
default = 32;
|
|
}
|
|
|
|
rotationceiling
|
|
{
|
|
type = 1;
|
|
default = 0.0;
|
|
}
|
|
|
|
damageamount
|
|
{
|
|
type = 0;
|
|
default = 0;
|
|
}
|
|
|
|
rotationfloor
|
|
{
|
|
type = 1;
|
|
default = 0.0;
|
|
}
|
|
|
|
yscalefloor
|
|
{
|
|
type = 1;
|
|
default = 1.0;
|
|
}
|
|
|
|
leakiness
|
|
{
|
|
type = 0;
|
|
default = 0;
|
|
}
|
|
|
|
ypanningceiling
|
|
{
|
|
type = 1;
|
|
default = 0.0;
|
|
}
|
|
|
|
lightceiling
|
|
{
|
|
type = 0;
|
|
default = 0;
|
|
}
|
|
|
|
yscaleceiling
|
|
{
|
|
type = 1;
|
|
default = 1.0;
|
|
}
|
|
|
|
gravity
|
|
{
|
|
type = 1;
|
|
default = 1.0;
|
|
}
|
|
|
|
xpanningceiling
|
|
{
|
|
type = 1;
|
|
default = 0.0;
|
|
}
|
|
|
|
xscaleceiling
|
|
{
|
|
type = 1;
|
|
default = 1.0;
|
|
}
|
|
|
|
xscalefloor
|
|
{
|
|
type = 1;
|
|
default = 1.0;
|
|
}
|
|
|
|
lightceilingabsolute
|
|
{
|
|
type = 3;
|
|
default = false;
|
|
}
|
|
|
|
xscrollfloor
|
|
{
|
|
type = 1;
|
|
default = 0.0;
|
|
managed = false;
|
|
}
|
|
|
|
yscrollfloor
|
|
{
|
|
type = 1;
|
|
default = 0.0;
|
|
managed = false;
|
|
}
|
|
|
|
scrollfloormode
|
|
{
|
|
type = 12;
|
|
default = 0;
|
|
enum
|
|
{
|
|
1 = "Affects textures";
|
|
2 = "Affects static objects";
|
|
4 = "Affects players";
|
|
8 = "Affects monsters";
|
|
}
|
|
managed = false;
|
|
}
|
|
|
|
xscrollceiling
|
|
{
|
|
type = 1;
|
|
default = 0.0;
|
|
managed = false;
|
|
}
|
|
|
|
yscrollceiling
|
|
{
|
|
type = 1;
|
|
default = 0.0;
|
|
managed = false;
|
|
}
|
|
|
|
scrollceilingmode
|
|
{
|
|
type = 12;
|
|
default = 0;
|
|
enum
|
|
{
|
|
1 = "Affects textures";
|
|
2 = "Affects static objects";
|
|
4 = "Affects players";
|
|
8 = "Affects monsters";
|
|
}
|
|
managed = false;
|
|
}
|
|
|
|
xthrust
|
|
{
|
|
type = 1;
|
|
default = 0.0;
|
|
managed = false;
|
|
}
|
|
|
|
ythrust
|
|
{
|
|
type = 1;
|
|
default = 0.0;
|
|
managed = false;
|
|
}
|
|
|
|
thrustgroup
|
|
{
|
|
type = 12;
|
|
default = 0;
|
|
enum
|
|
{
|
|
1 = "Affects static objects";
|
|
2 = "Affects players";
|
|
4 = "Affects monsters";
|
|
8 = "Affects projectiles";
|
|
16 = "Affects WINDTHRUST actors";
|
|
}
|
|
managed = false;
|
|
}
|
|
|
|
thrustlocation
|
|
{
|
|
type = 12;
|
|
default = 0;
|
|
enum
|
|
{
|
|
1 = "Affects grounded actors";
|
|
2 = "Affects airborne actors";
|
|
4 = "Affects ceiling actors";
|
|
}
|
|
managed = false;
|
|
}
|
|
|
|
colormap
|
|
{
|
|
type = 2;
|
|
default = "";
|
|
managed = false;
|
|
}
|
|
|
|
skyfloor
|
|
{
|
|
type = 2;
|
|
default = "";
|
|
managed = false;
|
|
}
|
|
|
|
skyceiling
|
|
{
|
|
type = 2;
|
|
default = "";
|
|
managed = false;
|
|
}
|
|
|
|
frictionfactor
|
|
{
|
|
type = 1;
|
|
default = 0.90625;
|
|
managed = false;
|
|
}
|
|
|
|
movefactor
|
|
{
|
|
type = 1;
|
|
default = 0.03125;
|
|
managed = false;
|
|
}
|
|
}
|
|
}
|
|
|
|
// DEFAULT SECTOR BRIGHTNESS LEVELS
|
|
sectorbrightness
|
|
{
|
|
256; 248; 240; 232; 224; 216; 208; 200; 192; 184; 176; 168; 160; 152; 144; 136;
|
|
128; 120; 112; 104; 96; 88; 80; 72; 64; 56; 48; 40; 32; 24; 16; 8; 0;
|
|
}
|
|
|
|
// ENUMERATIONS
|
|
// Each engine has its own additional thing types
|
|
// These are enumerated lists for linedef types and UDMF fields.
|
|
enums
|
|
{
|
|
// Basic game enums
|
|
include("Doom_misc.cfg", "enums");
|
|
// Standard ZDoom enums
|
|
include("ZDoom_misc.cfg", "enums");
|
|
// Additional ZDoom enums for that game
|
|
include("ZDoom_misc.cfg", "enums_doom");
|
|
|
|
sector_flags = null;
|
|
sector_flags
|
|
{
|
|
1 = "Silent";
|
|
16 = "Boom Friction";
|
|
32 = "Boom Push / Pull";
|
|
256 = "End god mode";
|
|
512 = "End level";
|
|
1024 = "Hazard";
|
|
2048 = "No attack";
|
|
}
|
|
}
|
|
|
|
maplumpnames
|
|
{
|
|
~MAP
|
|
{
|
|
required = true;
|
|
blindcopy = true;
|
|
nodebuild = false;
|
|
}
|
|
|
|
TEXTMAP
|
|
{
|
|
required = true;
|
|
nodebuild = true;
|
|
allowempty = true;
|
|
}
|
|
|
|
ZNODES
|
|
{
|
|
required = false;
|
|
nodebuild = true;
|
|
allowempty = false;
|
|
}
|
|
|
|
BLOCKMAP
|
|
{
|
|
required = false;
|
|
nodebuild = true;
|
|
allowempty = true;
|
|
}
|
|
|
|
REJECT
|
|
{
|
|
required = false;
|
|
nodebuild = true;
|
|
allowempty = true;
|
|
}
|
|
|
|
ENDMAP
|
|
{
|
|
required = true;
|
|
nodebuild = false;
|
|
allowempty = true;
|
|
}
|
|
}
|