mirror of
https://git.do.srb2.org/STJr/UltimateZoneBuilder.git
synced 2024-11-30 15:41:30 +00:00
804 lines
No EOL
15 KiB
INI
Executable file
804 lines
No EOL
15 KiB
INI
Executable file
linedefflags
|
|
{
|
|
1024 = "3D middle texture";
|
|
}
|
|
|
|
linedefflagstranslation
|
|
{
|
|
1024 = "midtex3d";
|
|
}
|
|
|
|
thingflags
|
|
{
|
|
128 = "Friendly";
|
|
512 = "Dormant";
|
|
}
|
|
|
|
thingflagstranslation
|
|
{
|
|
128 = "friend";
|
|
512 = "dormant";
|
|
}
|
|
|
|
/*
|
|
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 = "";
|
|
}
|
|
/* FIXME: should I add renderstyle and alpha? */
|
|
tranmap
|
|
{
|
|
type = 2;
|
|
default = "";
|
|
}
|
|
portal
|
|
{
|
|
type = 0;
|
|
default = 0;
|
|
}
|
|
}
|
|
|
|
sidedef
|
|
{
|
|
comment
|
|
{
|
|
type = 2;
|
|
default = "";
|
|
}
|
|
|
|
offsetx_top
|
|
{
|
|
type = 1;
|
|
default = 0.0;
|
|
}
|
|
|
|
offsety_bottom
|
|
{
|
|
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;
|
|
}
|
|
|
|
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;
|
|
}
|
|
|
|
skew_top_type
|
|
{
|
|
type = 16;
|
|
enum = "skew_type";
|
|
default = "none";
|
|
}
|
|
|
|
skew_middle_type
|
|
{
|
|
type = 16;
|
|
enum = "skew_type";
|
|
default = "none";
|
|
}
|
|
|
|
skew_bottom_type
|
|
{
|
|
type = 16;
|
|
enum = "skew_type";
|
|
default = "none";
|
|
}
|
|
}
|
|
|
|
thing
|
|
{
|
|
comment
|
|
{
|
|
type = 2;
|
|
default = "";
|
|
}
|
|
}
|
|
|
|
sector
|
|
{
|
|
comment
|
|
{
|
|
type = 2;
|
|
default = "";
|
|
}
|
|
friction
|
|
{
|
|
type = 0;
|
|
default = -1;
|
|
}
|
|
/* FIXME: should I add damagetype? Or lightfloor, lightceiling,
|
|
floorterain, ceilingterrain, floor/ceiling panning/rotation */
|
|
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;
|
|
}
|
|
portal_floor_overlaytype
|
|
{
|
|
type = 2;
|
|
default = "none";
|
|
}
|
|
alphafloor
|
|
{
|
|
type = 1;
|
|
default = 1;
|
|
}
|
|
portalfloor
|
|
{
|
|
type = 0;
|
|
associations
|
|
{
|
|
0
|
|
{
|
|
elements { sector; }
|
|
property = "portalfloor";
|
|
modify = "abs";
|
|
//nevershoweventlines = true;
|
|
consolidateeventlines = true;
|
|
}
|
|
1
|
|
{
|
|
elements { sector; }
|
|
property = "portalceiling";
|
|
modify = "abs";
|
|
//nevershoweventlines = true;
|
|
consolidateeventlines = true;
|
|
}
|
|
}
|
|
}
|
|
portalceiling
|
|
{
|
|
type = 0;
|
|
associations
|
|
{
|
|
0
|
|
{
|
|
elements { sector; }
|
|
property = "portalfloor";
|
|
modify = "abs";
|
|
consolidateeventlines = true;
|
|
}
|
|
1
|
|
{
|
|
elements { sector; }
|
|
property = "portalceiling";
|
|
modify = "abs";
|
|
consolidateeventlines = true;
|
|
}
|
|
}
|
|
}
|
|
|
|
floorid
|
|
{
|
|
type = 0;
|
|
associations
|
|
{
|
|
0
|
|
{
|
|
elemets { sector; }
|
|
property = "attachfloor";
|
|
modify = "abs";
|
|
consolidateeventlines = true;
|
|
}
|
|
1
|
|
{
|
|
elemets { sector; }
|
|
property = "attachceiling";
|
|
modify = "abs";
|
|
consolidateeventlines = true;
|
|
}
|
|
}
|
|
}
|
|
ceilingid
|
|
{
|
|
type = 0;
|
|
associations
|
|
{
|
|
0
|
|
{
|
|
elemets { sector; }
|
|
property = "attachfloor";
|
|
modify = "abs";
|
|
consolidateeventlines = true;
|
|
}
|
|
1
|
|
{
|
|
elemets { sector; }
|
|
property = "attachceiling";
|
|
modify = "abs";
|
|
consolidateeventlines = true;
|
|
}
|
|
}
|
|
}
|
|
attachfloor
|
|
{
|
|
type = 0;
|
|
associations
|
|
{
|
|
0
|
|
{
|
|
elemets { sector; }
|
|
property = "floorid";
|
|
modify = "abs";
|
|
consolidateeventlines = true;
|
|
}
|
|
1
|
|
{
|
|
elemets { sector; }
|
|
property = "ceilingid";
|
|
modify = "abs";
|
|
consolidateeventlines = true;
|
|
}
|
|
2
|
|
{
|
|
elemets { sector; }
|
|
property = "attachfloor";
|
|
modify = "abs";
|
|
consolidateeventlines = true;
|
|
}
|
|
3
|
|
{
|
|
elemets { sector; }
|
|
property = "attachceiling";
|
|
modify = "abs";
|
|
consolidateeventlines = true;
|
|
}
|
|
}
|
|
}
|
|
attachceiling
|
|
{
|
|
type = 0;
|
|
associations
|
|
{
|
|
0
|
|
{
|
|
elemets { sector; }
|
|
property = "floorid";
|
|
modify = "abs";
|
|
consolidateeventlines = true;
|
|
}
|
|
1
|
|
{
|
|
elemets { sector; }
|
|
property = "ceilingid";
|
|
modify = "abs";
|
|
consolidateeventlines = true;
|
|
}
|
|
2
|
|
{
|
|
elemets { sector; }
|
|
property = "attachfloor";
|
|
modify = "abs";
|
|
consolidateeventlines = true;
|
|
}
|
|
3
|
|
{
|
|
elemets { sector; }
|
|
property = "attachceiling";
|
|
modify = "abs";
|
|
consolidateeventlines = true;
|
|
}
|
|
}
|
|
}
|
|
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";
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
defaultthingflags_udmf
|
|
{
|
|
skill1;
|
|
skill2;
|
|
skill3;
|
|
skill4;
|
|
skill5;
|
|
single;
|
|
coop;
|
|
dm;
|
|
class1;
|
|
class2;
|
|
class3;
|
|
}
|
|
|
|
doormaking_udmf
|
|
{
|
|
makedooraction = 12; // See linedeftypes
|
|
makedoorflags { playeruse; repeatspecial; }
|
|
makedoorarg0 = 0;
|
|
makedoorarg1 = 16;
|
|
makedoorarg2 = 150;
|
|
makedoorarg3 = 0;
|
|
makedoorarg4 = 0;
|
|
}
|
|
|
|
sectorflags_udmf
|
|
{
|
|
// silent = "Silent";
|
|
secret = "Secret";
|
|
// hidden = "Not shown on automap";
|
|
// nofallingdamage = "No falling damage";
|
|
// waterzone = "Sector is under water and swimmable";
|
|
// norespawn = "Players can't respawn in this sector";
|
|
// dropactors = "Actors drop with instantly moving floors";
|
|
damage_endgodmode = "Damage disables god mode cheat";
|
|
damage_exitlevel = "Damage and exit level when < 10%";
|
|
damageterraineffect = "Spawn terrain splashes on damage";
|
|
// damagehazard = "Strife damage model";
|
|
}
|
|
|
|
// These are instead of Doom sector types in UDMF and Hexen format
|
|
sectors_udmf
|
|
{
|
|
0 = "None";
|
|
1 = "Light Phased";
|
|
2 = "Light Sequence Start";
|
|
3 = "Light Sequence Special 1";
|
|
4 = "Light Sequence Special 2";
|
|
// 26 = "Stairs Special 1";
|
|
// 27 = "Stairs Special 2";
|
|
40 = "Wind East weak";
|
|
41 = "Wind East medium";
|
|
42 = "Wind East strong";
|
|
43 = "Wind North weak";
|
|
44 = "Wind North medium";
|
|
45 = "Wind North strong";
|
|
46 = "Wind South weak";
|
|
47 = "Wind South medium";
|
|
48 = "Wind South strong";
|
|
49 = "Wind West weak";
|
|
50 = "Wind West medium";
|
|
51 = "Wind West strong";
|
|
65 = "Light Flicker";
|
|
66 = "Light Strobe Fast";
|
|
67 = "Light Strobe Slow";
|
|
68 = "Light Strobe Hurt -20% health";
|
|
69 = "Damage Hellslime -10% health";
|
|
71 = "Damage Nukage -5% health";
|
|
72 = "Light Glow";
|
|
74 = "Sector Door Close (30 sec)";
|
|
75 = "Damage End Level -20% health";
|
|
76 = "Light StrobeSlowSync";
|
|
77 = "Light StrobeFastSync";
|
|
78 = "Sector Door Raise (5 min)";
|
|
79 = "Low Friction";
|
|
80 = "Damage Super Hellslime -20% health";
|
|
81 = "Light Fire Flicker";
|
|
82 = "Damage -5% health (no protection)";
|
|
83 = "Damage -8% health (no protection)";
|
|
84 = "Scroll east + -2 or -5% health (no protection)";
|
|
85 = "Damage Sludge -4% health";
|
|
// 87 = "Sector uses outside fog";
|
|
// 90 = "Skybox sector (GZDoom only)";
|
|
// 105 = "Delayed damage weak (hazardcount +2/16 per second)";
|
|
// 115 = "Instant death";
|
|
// 116 = "Delayed damage strong (hazardcount +4/16 per second)";
|
|
// 118 = "Carry player by tag";
|
|
// 196 = "Healing Sector";
|
|
// 197 = "Lightning Outdoor";
|
|
// 198 = "Lightning Indoor 2";
|
|
// 199 = "Lightning Indoor 1";
|
|
// 200 = "Sky 2 (MAPINFO)";
|
|
// 201 = "Scroll North (slow)";
|
|
// 202 = "Scroll North (medium)";
|
|
// 203 = "Scroll North (fast)";
|
|
// 204 = "Scroll East (slow)";
|
|
// 205 = "Scroll East (medium)";
|
|
// 206 = "Scroll East (fast)";
|
|
// 207 = "Scroll South (slow)";
|
|
// 208 = "Scroll South (medium)";
|
|
// 209 = "Scroll South (fast)";
|
|
// 210 = "Scroll West (slow)";
|
|
// 211 = "Scroll West (medium)";
|
|
// 212 = "Scroll West (fast)";
|
|
// 213 = "Scroll NorthWest (slow)";
|
|
// 214 = "Scroll NorthWest (medium)";
|
|
// 215 = "Scroll NorthWest (fast)";
|
|
// 216 = "Scroll NorthEast (slow)";
|
|
// 217 = "Scroll NorthEast (medium)";
|
|
// 218 = "Scroll NorthEast (fast)";
|
|
// 219 = "Scroll SouthEast (slow)";
|
|
// 220 = "Scroll SouthEast (medium)";
|
|
// 221 = "Scroll SouthEast (fast)";
|
|
// 222 = "Scroll SouthWest (slow)";
|
|
// 223 = "Scroll SouthWest (medium)";
|
|
// 224 = "Scroll SouthWest (fast)";
|
|
225 = "Carry East Slow";
|
|
226 = "Carry East Med.Slow";
|
|
227 = "Carry East Medium";
|
|
228 = "Carry East Med.Fast";
|
|
229 = "Carry East Fast";
|
|
230 = "Carry North Slow";
|
|
231 = "Carry North Med.Slow";
|
|
232 = "Carry North Medium";
|
|
233 = "Carry North Med.Fast";
|
|
234 = "Carry North Fast";
|
|
235 = "Carry South Slow";
|
|
236 = "Carry South Med.Slow";
|
|
237 = "Carry South Medium";
|
|
238 = "Carry South Med.Fast";
|
|
239 = "Carry South Fast";
|
|
240 = "Carry West Slow";
|
|
241 = "Carry West Med.Slow";
|
|
242 = "Carry West Medium";
|
|
243 = "Carry West Med.Fast";
|
|
244 = "Carry West Fast";
|
|
}
|
|
|
|
linedefflags_udmf
|
|
{
|
|
twosided = "Doublesided";
|
|
dontpegtop = "Upper unpegged";
|
|
dontpegbottom = "Lower unpegged";
|
|
|
|
blocking = "Impassable";
|
|
blockeverything = "Block everything";
|
|
// blockplayers = "Block players";
|
|
blockmonsters = "Block 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";
|
|
midtex3d = "Walkable middle texture";
|
|
midtex3dimpassible = "Projectile shoot-through 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";
|
|
zoneboundary = "Sound zone boundary";
|
|
|
|
upperportal = "Upper part copies backsector's portal";
|
|
lowerportal = "Lower part copies backsector's portal";
|
|
}
|
|
|
|
linedefactivations_udmf
|
|
{
|
|
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";
|
|
monstershoot = "On monster hitscan impact";
|
|
// anycross = "Any crossing non-missile activates";
|
|
missilecross = "When projectile crosses";
|
|
polycross = "When polyobject moves over";
|
|
impact = "On player hitscan impact";
|
|
// checkswitchrange = "Switch height check";
|
|
passuse
|
|
{
|
|
name = "Pass use on";
|
|
istrigger = false;
|
|
}
|
|
firstsideonly
|
|
{
|
|
name = "Front side only";
|
|
istrigger = false;
|
|
}
|
|
// playeruseback = "Player can use from back side";
|
|
}
|
|
|
|
sidedefflags
|
|
{
|
|
// clipmidtex = "Clip middle texture";
|
|
// wrapmidtex = "Wrap middle texture";
|
|
// smoothlighting = "Smooth lighting";
|
|
// nofakecontrast = "Even lighting";
|
|
// nodecals = "No decals";
|
|
// lightfog = "Use sidedef brightness on fogged walls";
|
|
}
|
|
|
|
// Basic UDMF stuff.
|
|
thingflags_udmf
|
|
{
|
|
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)";
|
|
strifeally = "Friendly (Strife logic)";
|
|
ambush = "Ambush players";
|
|
standing = "Stand still";
|
|
dormant = "Dormant";
|
|
translucent = "Translucent (25%)";
|
|
invisible = "Invisible";
|
|
class1 = "Class 1";
|
|
class2 = "Class 2";
|
|
class3 = "Class 3";
|
|
}
|
|
|
|
// How thing flags should be compared (for the stuck thing error check)
|
|
thingflagscompare_udmf
|
|
{
|
|
skills
|
|
{
|
|
skill1;
|
|
skill2;
|
|
skill3;
|
|
skill4;
|
|
skill5;
|
|
}
|
|
|
|
gamemodes
|
|
{
|
|
single { requiredgroups = "skills"; }
|
|
coop { requiredgroups = "skills"; }
|
|
dm { ignoredgroups = "skills"; }
|
|
}
|
|
|
|
classes
|
|
{
|
|
class1;
|
|
class2;
|
|
class3;
|
|
}
|
|
}
|
|
|
|
enums
|
|
{
|
|
change
|
|
{
|
|
0 = "No texture or type change";
|
|
1 = "Copy texture, zero type; trigger model";
|
|
2 = "Copy texture, zero type; numeric model";
|
|
3 = "Copy texture, preserve type; trigger model";
|
|
4 = "Copy texture, preserve type; numeric model";
|
|
5 = "Copy texture and type; trigger model";
|
|
6 = "Copy texture and type; numeric model";
|
|
}
|
|
|
|
skew_type
|
|
{
|
|
none = "None";
|
|
front_floor = "Skew to front-sector floor slope";
|
|
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;
|
|
}
|
|
}
|
|
|
|
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;
|
|
}
|
|
}
|
|
} |