linedefflags { 1 = "[0] Impassable"; 2 = "[1] Block Enemies"; 4 = "[2] Double-Sided"; 8 = "[3] Upper Unpegged"; 16 = "[4] Lower Unpegged"; 32 = "[5] Slope Skew (E1)"; 64 = "[6] Not Climbable"; 128 = "[7] No Midtexture Skew (E2)"; 256 = "[8] Peg Midtexture (E3)"; 512 = "[9] Solid Midtexture (E4)"; 1024 = "[10] Repeat Midtexture (E5)"; 2048 = "[11] Netgame Only"; 4096 = "[12] No Netgame"; 8192 = "[13] Effect 6"; 16384 = "[14] Bouncy Wall"; 32768 = "[15] Transfer Line"; } // 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 { 1 = "blocking"; 2 = "blockmonsters"; 4 = "twosided"; 8 = "dontpegtop"; 16 = "dontpegbottom"; 32 = "skewtd"; 64 = "noclimb"; 128 = "noskew"; 256 = "midpeg"; 512 = "midsolid"; 1024 = "wrapmidtex"; 2048 = "netonly"; 4096 = "nonet"; 8192 = "effect6"; 16384 = "bouncy"; 32768 = "transfer"; } linedefflags_udmf { blocking = "Impassable"; blockmonsters = "Block Enemies"; twosided = "Double-Sided"; dontpegtop = "Upper Unpegged"; dontpegbottom = "Lower Unpegged"; skewtd = "Slope Skew"; noclimb = "Not Climbable"; noskew = "No Midtexture Skew"; midpeg = "Peg Midtexture"; midsolid = "Solid Midtexture"; wrapmidtex = "Repeat Midtexture"; netonly = "Netgame Only"; nonet = "No Netgame"; bouncy = "Bouncy Wall"; transfer = "Transfer Line"; } linedefrenderstyles { translucent = "Translucent"; add = "Add"; subtract = "Subtract"; reversesubtract = "Reverse subtract"; modulate = "Modulate"; fog = "Fog"; } sectorflags { colormapfog = "Fog Planes in Colormap"; colormapfadesprites = "Fade Fullbright in Colormap"; colormapprotected = "Protected Colormap"; flipspecial_nofloor = "No Trigger on Floor Touch"; flipspecial_ceiling = "Trigger on Ceiling Touch"; triggerspecial_touch = "Trigger on Edge Touch"; triggerspecial_headbump = "Trigger on Headbump"; triggerline_plane = "Linedef Trigger Requires Plane Touch"; triggerline_mobj = "Non-Pushables Can Trigger Linedef"; invertprecip = "Invert Precipitation"; gravityflip = "Flip Objects in Reverse Gravity"; heatwave = "Heat Wave"; noclipcamera = "Intangible to the Camera"; outerspace = "Space Countdown"; doublestepup = "Ramp Sector (double step-up/down)"; nostepdown = "Non-Ramp Sector (No step-down)"; speedpad = "Speed Pad"; starpostactivator = "Star Post Activator"; exit = "Exit"; specialstagepit = "Special Stage Pit"; returnflag = "Return Flag"; redteambase = "Red Team Base"; blueteambase = "Blue Team Base"; fan = "Fan Sector"; supertransform = "Super Sonic Transform"; forcespin = "Force Spin"; zoomtubestart = "Zoom Tube Start"; zoomtubeend = "Zoom Tube End"; finishline = "Circuit Finish Line"; ropehang = "Rope Hang"; } thingflags { 1 = "[1] Extra"; 2 = "[2] Flip"; 4 = "[4] Special"; 8 = "[8] Ambush"; } // THING FLAGS thingflags_udmf { flip = "Flip"; } // 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 { 1 = "extra"; 2 = "flip"; 4 = "special"; 8 = "ambush"; } // DEFAULT SECTOR BRIGHTNESS LEVELS sectorbrightness { 255; 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; } /* TEXTURES AND FLAT SOURCES This tells Doom Builder where to find the information for textures and flats in the IWAD file, Addition WAD file and Map WAD file. Start and end lumps must be given in a structure (of which the key name doesnt matter) and any textures or flats in between them are loaded in either the textures category or flats category. For textures: PNAMES, TEXTURE1 and TEXTURE2 are loaded by default. */ textures { zdoom1 { start = "TX_START"; end = "TX_END"; } } /* 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 { sector { lightalpha { type = 0; default = 25; } fadealpha { type = 0; default = 25; } fadestart { type = 0; default = 0; } fadeend { type = 0; default = 33; } foglighting { type = 3; default = false; } friction { type = 1; default = 0.90625; } triggertag { type = 15; default = 0; } triggerer { type = 2; default = "Player"; } } linedef { arg5 { type = 0; default = 0; } arg6 { type = 0; default = 0; } arg7 { type = 0; default = 0; } arg8 { type = 0; default = 0; } arg9 { type = 0; default = 0; } stringarg0 { type = 2; default = ""; } stringarg1 { type = 2; default = ""; } executordelay { type = 0; default = 0; } } sidedef { repeatcnt { type = 0; default = 0; } } thing { arg5 { type = 0; default = 0; } arg6 { type = 0; default = 0; } arg7 { type = 0; default = 0; } arg8 { type = 0; default = 0; } arg9 { type = 0; default = 0; } stringarg0 { type = 2; default = ""; } stringarg1 { 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 Legenda: required = Lump is required to exist. blindcopy = Lump will be copied along with the map blindly. (useful for lumps Doom Builder doesn't use) nodebuild = The nodebuilder generates this lump. allowempty = The nodebuilder is allowed to leave this lump empty. scriptbuild = This lump is a text-based script, which should be compiled using current script compiler; script = This lump is a text-based script. Specify the filename of the script configuration to use. */ doommaplumpnames { ~MAP { required = true; blindcopy = true; nodebuild = false; } THINGS { required = true; nodebuild = true; allowempty = true; } LINEDEFS { required = true; nodebuild = true; allowempty = false; } SIDEDEFS { required = true; nodebuild = true; allowempty = false; } VERTEXES { required = true; nodebuild = true; allowempty = false; } SEGS { required = false; nodebuild = true; allowempty = false; } SSECTORS { required = false; nodebuild = true; allowempty = false; } NODES { required = false; nodebuild = true; allowempty = false; } SECTORS { required = true; nodebuild = true; allowempty = false; } REJECT { required = false; nodebuild = true; allowempty = false; } BLOCKMAP { required = false; nodebuild = true; allowempty = true; } } udmfmaplumpnames { ZNODES { required = false; nodebuild = true; allowempty = false; } REJECT { required = false; nodebuild = true; allowempty = false; } BLOCKMAP { required = false; nodebuild = true; allowempty = true; } } // ENUMERATIONS // These are enumerated lists for linedef types and UDMF fields. // Reserved names are: angledeg, anglerad, color, texture, flat enums { falsetrue { 0 = "False"; 1 = "True"; } yesno { 0 = "Yes"; 1 = "No"; } noyes { 0 = "No"; 1 = "Yes"; } setadd { 0 = "Set"; 1 = "Add"; } onoff { 0 = "On"; 1 = "Off"; } offon { 0 = "Off"; 1 = "On"; } updown { 0 = "Up"; 1 = "Down"; } downup { 0 = "Down"; 1 = "Up"; } frontback { 0 = "None"; 1 = "Front"; 2 = "Back"; } frontbackboth { 0 = "Front"; 1 = "Back"; 2 = "Front and back"; } tangibility { 1 = "Intangible from top"; 2 = "Intangible from bottom"; 4 = "Don't block players"; 8 = "Don't block non-players"; } floorceiling { 0 = "Floor"; 1 = "Ceiling"; 2 = "Both"; } scrollcarry { 0 = "Scroll and carry"; 1 = "Scroll"; 2 = "Carry"; } scrolltype { 0 = "Regular"; 1 = "Accelerative"; 2 = "Displacement"; } comparison { 0 = "Equal"; 1 = "Less than or equal"; 2 = "Greater than or equal"; } triggertype { 0 = "Continuous"; 1 = "Once"; 2 = "Each time on entry"; 3 = "Each time on entry/exit"; } xtriggertype { 0 = "Continuous"; 1 = "Each time on entry"; 2 = "Each time on entry/exit"; } team { 0 = "Red"; 1 = "Blue"; } flagcheck { 0 = "Has all"; 1 = "Has any"; 2 = "Has exactly"; 3 = "Doesn't have all"; 4 = "Doesn't have any"; } maceflags { 1 = "Double size"; 2 = "No sounds"; 4 = "Player-turnable chain"; 8 = "Swing instead of spin"; 16 = "Make chain from end item"; 32 = "Spawn link at origin"; 64 = "Clip inside ground"; 128 = "No distance check"; } pushablebehavior { 0 = "Normal"; 1 = "Slide"; 2 = "Immovable"; 3 = "Classic"; } monitorrespawn { 0 = "Same item"; 1 = "Random (Weak)"; 2 = "Random (Strong)"; } blendmodes { 0 = "Translucent"; 1 = "Add"; 2 = "Subtract"; 3 = "Reverse subtract"; 4 = "Modulate"; } } //Default things filters thingsfilters { filter0 { name = "Player starts"; category = "starts"; type = -1; } filter1 { name = "Enemies"; category = "enemies"; type = -1; } filter2 { name = "NiGHTS Track"; category = "nightstrk"; type = -1; } filter3 { name = "Normal Gravity"; category = ""; type = -1; fields { 2 = false; } } filter4 { name = "Reverse Gravity"; category = ""; type = -1; fields { 2 = true; } } } // Special linedefs speciallinedefs { soundlinedefflag = 64; // See linedefflags singlesidedflag = 1; // See linedefflags doublesidedflag = 4; // See linedefflags impassableflag = 1; upperunpeggedflag = 8; lowerunpeggedflag = 16; repeatmidtextureflag = 1024; pegmidtextureflag = 256; } speciallinedefs_udmf { soundlinedefflag = "noclimb"; singlesidedflag = "blocking"; doublesidedflag = "twosided"; impassableflag = "blocking"; upperunpeggedflag = "dontpegtop"; lowerunpeggedflag = "dontpegbottom"; repeatmidtextureflag = "wrapmidtex"; pegmidtextureflag = "midpeg"; } scriptlumpnames { MAINCFG { script = "SOC.cfg"; } OBJCTCFG { script = "SOC.cfg"; } SOC_ { script = "SOC.cfg"; isprefix = true; } LUA_ { script = "Lua.cfg"; isprefix = true; } } // Texture sources textures { zdoom1 { start = "TX_START"; end = "TX_END"; } } // Patch sources patches { standard1 { start = "P_START"; end = "P_END"; } standard2 { start = "PP_START"; end = "PP_END"; } } // Sprite sources sprites { standard1 { start = "S_START"; end = "S_END"; } standard2 { start = "SS_START"; end = "SS_END"; } } // Flat sources flats { standard1 { start = "F_START"; end = "F_END"; } standard2 { start = "FF_START"; end = "FF_END"; } standard3 { start = "FF_START"; end = "F_END"; } standard4 { start = "F_START"; end = "FF_END"; } }