linedefflags { 1 = "[0] Impassable"; 2 = "[1] Block Players"; 4 = "[2] Double-Sided"; 8 = "[3] Upper Unpegged"; 16 = "[4] Lower Unpegged"; 32 = "[5] Slope Skew"; 64 = "[6] Not Climbable"; 128 = "[7] No Midtexture Skew"; 256 = "[8] Peg Midtexture"; 512 = "[9] Solid Midtexture"; 1024 = "[10] Repeat Midtexture"; 2048 = "[11] Netgame Only"; 4096 = "[12] No Netgame"; 8192 = "[13] Block Enemies"; 16384 = "[14] Don't Bump"; 32768 = "[15] FOF Transfer"; } // 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 = "blockplayers"; 4 = "twosided"; 8 = "dontpegtop"; 16 = "dontpegbottom"; 32 = "skewtd"; 64 = "noclimb"; 128 = "noskew"; 256 = "midpeg"; 512 = "midsolid"; 1024 = "wrapmidtex"; 2048 = "netonly"; 4096 = "nonet"; 8192 = "blockmonsters"; 16384 = "notbouncy"; 32768 = "transfer"; } linedefflags_udmf { blocking = "Impassable"; blockplayers = "Block Players"; 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"; blockmonsters = "Block Enemies"; bouncy = "Don't Bump"; transfer = "FOF Transfer"; } 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"; ripple_floor = "Water Ripple Floor"; ripple_ceiling = "Water Ripple Ceiling"; invertencore = "Encore Remap Invert"; nostepup = "Wall Sector (no step-up)"; doublestepup = "Ramp Sector (double step-up/down)"; nostepdown = "Non-Ramp Sector (no step-down)"; starpostactivator = "Star Post Activator"; exit = "Exit"; fan = "Fan Sector"; deleteitems = "Delete Items"; zoomtubestart = "Zoom Tube Start"; zoomtubeend = "Zoom Tube End"; } 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 { 2 = "flip"; } // 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 = 0; default = 0; enum { 0 = "Player"; 1 = "All players"; 2 = "Object"; } } } 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; } } udmfmaplumpnames { ZNODES { required = false; nodebuild = true; allowempty = false; } } // Because Ring Racers has a versatile virtual resource // system, we can separate these out a bit more. sharedmaplumpnames { REJECT { required = false; nodebuild = true; allowempty = false; } BLOCKMAP { required = false; nodebuild = true; allowempty = true; } PICTURE { required = false; blindcopy = true; nodebuild = false; } MINIMAP { required = false; blindcopy = true; nodebuild = false; } TWEAKMAP { required = false; blindcopy = true; nodebuild = false; } ENCORE { required = false; blindcopy = true; nodebuild = false; } } // 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"; } rritems { 0 = "Rings"; 1 = "Sneaker"; 2 = "Rocket Sneaker"; 3 = "Invincibility"; 4 = "Banana"; 5 = "Eggman Mark"; 6 = "Orbinaut"; 7 = "Jawz"; 8 = "Proximity Mine"; 9 = "Land Mine"; 10 = "Ballhog"; 11 = "SPB"; 12 = "Grow"; 13 = "Shrink"; 14 = "Lightning Shield"; 15 = "Bubble Shield"; 16 = "Flame Shield"; 17 = "Hyudoro"; 18 = "Pogo Spring"; 19 = "Super Ring"; 20 = "Kitchen Sink"; 21 = "Drop Target"; 22 = "Garden Top"; } } //Default things filters thingsfilters { filter0 { name = "Player starts"; category = "starts"; type = -1; } filter1 { name = "Normal Gravity"; category = ""; type = -1; fields { 2 = false; } } filter2 { name = "Reverse Gravity"; category = ""; type = -1; fields { 2 = true; } } filter3 { name = "Rings"; category = ""; type = 300; } filter4 { name = "Waypoints"; category = "waypoints"; } } // 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"; } }