Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
  • 1392-2-2-15-attempting-to-draw-a-hud-graphic-with-the-same-lump-name-as-a-lua-script-crashes-the
  • 21-installer-nodd
  • 2210-pre1
  • 2210-pre2
  • 2210-rc1
  • 2210-rc2
  • 2210-rc3
  • 2211-pre1
  • 2211-pre2
  • 2211-rc1
  • 2212-pre1
  • 2212-pre2
  • 2212-pre3
  • 2212-rc1
  • 2213
  • 2214-pre1
  • 2214-pre2
  • 2214-pre3
  • 2214-pre4
  • 2_2_12
  • 64-gl-log
  • COM_ImmedExecute-lua
  • DJGPP
  • accel-momentum
  • acs
  • action-args
  • alpha-fixes
  • any-resolution
  • appveyor
  • blend-locking
  • blentran
  • blua-unary-not-fix
  • boost-tickrate
  • bustablesoundz
  • cleanup-opengl
  • cleanupmusic
  • clipmidtex
  • cmake-valgrind
  • crawlacommander-sprites
  • custom-map-names
  • custom-teams
  • cutscene-cleanup
  • dd-music-bypass
  • dd-music-fix
  • delfile2
  • deprecate-lua-dedicated-server
  • dpl-2
  • dropshadows-spawning
  • dynabsp
  • emblem-drawing
  • exchndl-xp-fix
  • extra-textures
  • few-kart-lua-changes
  • ffloorclip
  • fix-167
  • fix-cvar-conflicts
  • fix-opengl-parameter-crash
  • fix-opengl-shear-roll
  • flipfuncpointers
  • fof-lightlist-fixes
  • font-FUCK
  • frictionrefactor
  • fuck-macros-1
  • gamepad-luakeydown
  • gamepad-morefixes
  • gamepad_experiments
  • gametype-refactor
  • gametype-refactor-1
  • gametype-refactor-player-spawns
  • ghost-networking
  • gif-splitting
  • grr-lj
  • hitboxviewer
  • hwr-texture-cache-refactor
  • hwrender2
  • improve-439
  • increase-maxconditionsets
  • increase-packet-tics
  • input-display
  • input-display-translucency
  • io
  • joystick-juggling-maz
  • just-in-case
  • keycodes-only
  • ksf-wadfiles
  • ld413-mp-fix
  • levelstruct
  • libpng-version-support
  • linedef-actions
  • lj-test
  • lol-states
  • loopedsounds
  • lower-unpegged-fix
  • lua-change-gametype
  • lua-command-netids
  • lua-gfx-2
  • lua-gfx-sprites
  • lua-local
  • makefile-auto-mingw-gcc
  • makefile-tinkering
  • SRB2_release_2.1
  • SRB2_release_2.1.1
  • SRB2_release_2.1.10
  • SRB2_release_2.1.11
  • SRB2_release_2.1.12
  • SRB2_release_2.1.14
  • SRB2_release_2.1.15
  • SRB2_release_2.1.16
  • SRB2_release_2.1.16a
  • SRB2_release_2.1.17
  • SRB2_release_2.1.18
  • SRB2_release_2.1.19
  • SRB2_release_2.1.2
  • SRB2_release_2.1.20
  • SRB2_release_2.1.21
  • SRB2_release_2.1.22
  • SRB2_release_2.1.23
  • SRB2_release_2.1.24
  • SRB2_release_2.1.25
  • SRB2_release_2.1.3
  • SRB2_release_2.1.4
  • SRB2_release_2.1.5
  • SRB2_release_2.1.6
  • SRB2_release_2.1.7
  • SRB2_release_2.1.8
  • SRB2_release_2.1.9
  • SRB2_release_2.2.0
  • SRB2_release_2.2.1
  • SRB2_release_2.2.10
  • SRB2_release_2.2.11
  • SRB2_release_2.2.12
  • SRB2_release_2.2.13
  • SRB2_release_2.2.15
  • SRB2_release_2.2.2
  • SRB2_release_2.2.3
  • SRB2_release_2.2.4
  • SRB2_release_2.2.5
  • SRB2_release_2.2.6
  • SRB2_release_2.2.7
  • SRB2_release_2.2.8
  • SRB2_release_2.2.9
  • td-release-v1.0.0
142 results

Target

Select target project
  • STJr/SRB2
  • Sryder/SRB2
  • wolfy852/SRB2
  • Alpha2244/SRB2
  • Inuyasha/SRB2
  • yoshibot/SRB2
  • TehRealSalt/SRB2
  • PrisimaTF/SRB2
  • Hatninja/SRB2
  • SteelT/SRB2
  • james/SRB2
  • ShaderWraith/SRB2
  • SinnamonLat/SRB2
  • mazmazz_/SRB2
  • filpAM/SRB2
  • chaoloveicemdboy/SRB2
  • Whooa21/SRB2
  • Machturne/SRB2
  • Golden/SRB2
  • Tatsuru/SRB2
  • Snu/SRB2
  • Zwip-Zwap_Zapony/SRB2
  • fickleheart/SRB2
  • alphaRexJames/SRB2
  • JJK/SRB2
  • diskpoppy/SRB2
  • Hannu_Hanhi/SRB2
  • ZipperQR/SRB2
  • kays/SRB2
  • spherallic/SRB2
  • Zippy_Zolton/SRB2
  • namiishere/SRB2
  • Ors/SRB2
  • SMS_Alfredo/SRB2
  • sonic_edge/SRB2
  • lavla/SRB2
  • ashi/SRB2
  • X.organic/SRB2
  • Fafabis/SRB2
  • Meziu/SRB2
  • v-rob/SRB2
  • tertu/SRB2
  • bitten2up/SRB2
  • flarn2006/SRB2
  • Krabs/SRB2
  • clairebun/SRB2
  • Lactozilla/SRB2
  • thehackstack/SRB2
  • Spice/SRB2
  • win8linux/SRB2
  • JohnFrostFox/SRB2
  • talktoneon726/SRB2
  • Wane/SRB2
  • Lamibe/SRB2
  • spectrumuk2/srb-2
  • nerdyminer18/srb-2
  • 256nil/SRB2
  • ARJr/SRB2
  • Alam/SRB2
  • Zenya/srb-2-marathon-demos
  • Acelite/srb-2-archivedmodifications
  • MIDIMan/SRB2
  • Lach/SRB2
  • Frostiikin/bounce-tweaks
  • Jaden/SRB2
  • Tyron/SRB2
  • Astronight/SRB2
  • Mari0shi06/SRB2
  • aiire/SRB2
  • Galactice/SRB2
  • srb2-ports/srb2-dreamcast
  • sdasdas/SRB2
  • chreas/srb-2-vr
  • StarManiaKG/the-story-of-sinically-rocketing-and-botching-the-2nd
  • LoganAir/SRB2
  • NepDisk/srb-2
  • alufolie91/SRB2
  • Felicia.iso/SRB2
  • twi/SRB2
  • BarrelsOFun/SRB2
  • Speed2411/SRB2
  • Leather_Realms/SRB2
  • Ayemar/SRB2
  • Acelite/SRB2
  • VladDoc/SRB2
  • kaldrum/model-features
  • strawberryfox417/SRB2
  • Lugent/SRB2
  • Rem/SRB2
  • Refrag/SRB2
  • Henry_3230/srb-3230
  • TehPuertoRicanSpartan2/tprs-srb2
  • Leminn/srb-2-marathon-stuff
  • chromaticpipe2/SRB2
  • MiguelGustavo15/SRB2
  • Maru/srb-2-tests
  • SilicDev/SRB2
  • UnmatchedBracket/SRB2
  • HybridDog/SRB2
  • xordspar0/SRB2
  • jsjhbewfhh/SRB2
  • Fancy2209/SRB2
  • Lorsoen/SRB2
  • shindoukin/SRB2
  • GamerOfDays/SRB2
  • Craftyawesome/SRB2
  • tenshi-tensai-tennoji/SRB2
  • Scarfdudebalder/SRB2
  • luigi-budd/srb-2-fix-interplag-lockon
  • mskluesner/SRB2
  • johnpetersa19/SRB2
  • Pheazant/SRB2
  • chromaticpipe2/srb2classic
  • romoney5/SRB2
  • PAS/SRB2Classic
  • BlueStaggo/SRB2
  • Jisk/srb-2-beef-jerky
117 results
Select Git revision
  • 1168-accessing-an-invalid-variable-in-ticcmd_t-crashes-the-game
  • 21-installer-nodd
  • 2210-pre1
  • 2210-pre2
  • 2210-rc1
  • 2210-rc2
  • 2210-rc3
  • 2211-pre1
  • 2211-pre2
  • 2211-rc1
  • 2212-pre1
  • 2212-pre2
  • 2212-pre3
  • 2212-rc1
  • 2213
  • 2_2_12
  • 64-gl-log
  • COM_ImmedExecute-lua
  • DJGPP
  • accel-momentum
  • action-args
  • alpha-fixes
  • any-resolution
  • appveyor
  • batocera
  • blend-locking
  • blentran
  • blockmap-links
  • blua-unary-not-fix
  • boost-tickrate
  • bustablesoundz
  • cleanup-opengl
  • cleanupmusic
  • cmake-valgrind
  • crawlacommander-sprites
  • custom-map-names
  • custom-teams
  • cutscene-cleanup
  • dd-music-bypass
  • dd-music-fix
  • delfile2
  • deprecate-lua-dedicated-server
  • dpl-2
  • dropshadows-spawning
  • dynabsp
  • emblem-drawing
  • exchndl-xp-fix
  • few-kart-lua-changes
  • ffloorclip
  • fix-1183
  • fix-cvar-conflicts
  • fix-opengl-shear-roll
  • fix-slope-plane-distortion
  • fix-sw-polyobject-interpolation
  • fix-table-key-archiving
  • flipfuncpointers
  • fof-lightlist-fixes
  • font-FUCK
  • font_drawer
  • frictionrefactor
  • fruits-clipper
  • fuck-macros-1
  • gamepad-luakeydown
  • gamepad-morefixes
  • gamepad_experiments
  • gametype-refactor
  • gametype-refactor-1
  • gametype-refactor-player-spawns
  • ghost-networking
  • gif-splitting
  • gitlab-ci
  • grr-lj
  • hitboxviewer
  • hwr-texture-cache-refactor
  • hwrender2
  • improve-439
  • increase-packet-tics
  • input-display
  • input-display-translucency
  • io
  • joystick-juggling-maz
  • keycodes-only
  • ksf-wadfiles
  • ld413-mp-fix
  • levelstruct
  • libpng-version-support
  • linedef-actions
  • lj-test
  • lol-states
  • loopedsounds
  • lower-unpegged-fix
  • lua-change-gametype
  • lua-command-netids
  • lua-gfx-2
  • lua-gfx-sprites
  • lua-local
  • lugstuff
  • makefile-auto-mingw-gcc
  • makefile-tinkering
  • map-components-signedness-fixes
  • SRB2_release_2.1
  • SRB2_release_2.1.1
  • SRB2_release_2.1.10
  • SRB2_release_2.1.11
  • SRB2_release_2.1.12
  • SRB2_release_2.1.14
  • SRB2_release_2.1.15
  • SRB2_release_2.1.16
  • SRB2_release_2.1.16a
  • SRB2_release_2.1.17
  • SRB2_release_2.1.18
  • SRB2_release_2.1.19
  • SRB2_release_2.1.2
  • SRB2_release_2.1.20
  • SRB2_release_2.1.21
  • SRB2_release_2.1.22
  • SRB2_release_2.1.23
  • SRB2_release_2.1.24
  • SRB2_release_2.1.25
  • SRB2_release_2.1.3
  • SRB2_release_2.1.4
  • SRB2_release_2.1.5
  • SRB2_release_2.1.6
  • SRB2_release_2.1.7
  • SRB2_release_2.1.8
  • SRB2_release_2.1.9
  • SRB2_release_2.2.0
  • SRB2_release_2.2.1
  • SRB2_release_2.2.10
  • SRB2_release_2.2.11
  • SRB2_release_2.2.12
  • SRB2_release_2.2.13
  • SRB2_release_2.2.2
  • SRB2_release_2.2.3
  • SRB2_release_2.2.4
  • SRB2_release_2.2.5
  • SRB2_release_2.2.6
  • SRB2_release_2.2.7
  • SRB2_release_2.2.8
  • SRB2_release_2.2.9
  • td-release-v1.0.0
141 results
Show changes
Showing
with 8907 additions and 1526 deletions
......@@ -78,6 +78,8 @@ sectorflags
ropehang = "Rope Hang";
jumpflip = "Flip Gravity on Jump";
gravityoverride = "Make Reverse Gravity Temporary";
nophysics_floor = "Disable Floor Slope Physics";
nophysics_ceiling = "Disable Ceiling Slope Physics";
flipspecial_nofloor = "No Trigger on Floor Touch";
flipspecial_ceiling = "Trigger on Ceiling Touch";
triggerspecial_touch = "Trigger on Edge Touch";
......@@ -114,6 +116,8 @@ sectorflagscategories
ropehang = "special";
jumpflip = "special";
gravityoverride = "special";
nophysics_floor = "special";
nophysics_ceiling = "special";
flipspecial_nofloor = "trigger";
flipspecial_ceiling = "trigger";
triggerspecial_touch = "trigger";
......@@ -229,20 +233,369 @@ Field data types:
*/
universalfields
{
sector
{
}
linedef
{
alpha
{
type = 1;
default = 1.0;
}
comment
{
type = 2;
default = "";
}
renderstyle
{
type = 2;
default = "";
}
stringarg0
{
type = 2;
default = "";
}
stringarg1
{
type = 2;
default = "";
}
executordelay
{
type = 0;
default = 0;
}
}
sidedef
{
comment
{
type = 2;
default = "";
}
light
{
type = 0;
default = 0;
}
lightabsolute
{
type = 3;
default = false;
}
//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;
//}
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;
}
}
thing
{
comment
{
type = 2;
default = "";
}
pitch
{
type = 0;
}
roll
{
type = 0;
}
scalex
{
type = 1;
default = 1.0;
}
scaley
{
type = 1;
default = 1.0;
}
stringarg0
{
type = 2;
default = "";
}
stringarg1
{
type = 2;
default = "";
}
mobjscale
{
type = 1;
default = 1.0;
managed = false;
}
}
sector
{
comment
{
type = 2;
default = "";
}
damagetype
{
type = 2;
default = "";
}
gravity
{
type = 1;
default = 1.0;
}
lightcolor
{
type = 0;
default = 0;
}
fadecolor
{
type = 0;
default = 0;
}
lightalpha
{
type = 0;
default = 25;
}
fadealpha
{
type = 0;
default = 25;
}
fadestart
{
type = 0;
default = 0;
}
fadeend
{
type = 0;
default = 31;
}
xpanningfloor
{
type = 1;
default = 0.0;
}
ypanningfloor
{
type = 1;
default = 0.0;
}
rotationfloor
{
type = 1;
default = 0.0;
}
xscalefloor
{
type = 1;
default = 1.0;
}
yscalefloor
{
type = 1;
default = 1.0;
}
lightfloor
{
type = 0;
default = 0;
}
lightfloorabsolute
{
type = 3;
default = false;
}
xpanningceiling
{
type = 1;
default = 0.0;
}
ypanningceiling
{
type = 1;
default = 0.0;
}
rotationceiling
{
type = 1;
default = 0.0;
}
xscaleceiling
{
type = 1;
default = 1.0;
}
yscaleceiling
{
type = 1;
default = 1.0;
}
lightceiling
{
type = 0;
default = 0;
}
lightceilingabsolute
{
type = 3;
default = false;
}
triggertag
{
type = 0;
default = 0;
}
}
}
......
......@@ -1127,56 +1127,63 @@ udmf
}
}
}
290
{
arrow = 0;
title = "Boss Escape Point";
width = 8;
height = 16;
sprite = "internal:eggmanend";
}
291
{
arrow = 0;
title = "Egg Capsule Center";
width = 8;
height = 16;
sprite = "internal:capsule";
}
292
bossinvisibles
{
arrow = 0;
title = "Boss Waypoint";
width = 8;
height = 16;
sprite = "internal:eggmanway";
arg0
{
title = "Sea Egg sequence";
title = "Misc. Invisible";
color = 15; // White
290
{
arrow = 0;
title = "Boss Escape Point";
width = 8;
height = 16;
sprite = "internal:eggmanend";
}
291
{
arrow = 0;
title = "Egg Capsule Center";
width = 8;
height = 16;
sprite = "internal:capsule";
}
292
{
arrow = 0;
title = "Boss Waypoint";
width = 8;
height = 16;
sprite = "internal:eggmanway";
arg0
{
title = "Sea Egg sequence";
}
arg1
{
title = "Brak Eggman sequence";
}
}
arg1
293
{
title = "Brak Eggman sequence";
title = "Metal Sonic Gather Point";
sprite = "internal:metal";
width = 8;
height = 16;
}
}
293
{
title = "Metal Sonic Gather Point";
sprite = "internal:metal";
width = 8;
height = 16;
}
294
{
title = "Fang Waypoint";
sprite = "internal:eggmanway";
width = 8;
height = 16;
arg0
294
{
title = "Center waypoint?";
type = 11;
enum = "noyes";
title = "Fang Waypoint";
sprite = "internal:eggmanway";
width = 8;
height = 16;
arg0
{
title = "Center waypoint?";
type = 11;
enum = "noyes";
}
}
}
}
......@@ -1196,6 +1203,7 @@ udmf
arg0
{
title = "Float?";
tooltip = "This raises the object by 24 fracunits.";
type = 11;
enum = "yesno";
}
......@@ -1207,6 +1215,7 @@ udmf
arg0
{
title = "Float?";
tooltip = "This raises the object by 24 fracunits.";
type = 11;
enum = "yesno";
}
......@@ -1218,6 +1227,7 @@ udmf
arg0
{
title = "Float?";
tooltip = "This raises the object by 24 fracunits.";
type = 11;
enum = "yesno";
}
......@@ -1230,6 +1240,7 @@ udmf
arg0
{
title = "Float?";
tooltip = "This raises the object by 24 fracunits.";
type = 11;
enum = "yesno";
}
......@@ -1241,6 +1252,7 @@ udmf
arg0
{
title = "Float?";
tooltip = "This raises the object by 24 fracunits.";
type = 11;
enum = "yesno";
}
......@@ -1252,6 +1264,7 @@ udmf
arg0
{
title = "Float?";
tooltip = "This raises the object by 24 fracunits.";
type = 11;
enum = "yesno";
}
......@@ -1263,6 +1276,7 @@ udmf
arg0
{
title = "Float?";
tooltip = "This raises the object by 24 fracunits.";
type = 11;
enum = "yesno";
}
......@@ -1274,6 +1288,7 @@ udmf
arg0
{
title = "Float?";
tooltip = "This raises the object by 24 fracunits.";
type = 11;
enum = "yesno";
}
......@@ -1285,6 +1300,7 @@ udmf
arg0
{
title = "Float?";
tooltip = "This raises the object by 24 fracunits.";
type = 11;
enum = "yesno";
}
......@@ -1296,6 +1312,7 @@ udmf
arg0
{
title = "Float?";
tooltip = "This raises the object by 24 fracunits.";
type = 11;
enum = "yesno";
}
......@@ -1309,6 +1326,7 @@ udmf
arg0
{
title = "Float?";
tooltip = "This raises the object by 24 fracunits.";
type = 11;
enum = "yesno";
}
......@@ -1322,6 +1340,7 @@ udmf
arg0
{
title = "Float?";
tooltip = "This raises the object by 24 fracunits.";
type = 11;
enum = "yesno";
}
......@@ -1335,6 +1354,7 @@ udmf
arg0
{
title = "Float?";
tooltip = "This raises the object by 24 fracunits.";
type = 11;
enum = "yesno";
}
......@@ -1348,6 +1368,7 @@ udmf
arg0
{
title = "Float?";
tooltip = "This raises the object by 24 fracunits.";
type = 11;
enum = "yesno";
}
......@@ -1361,6 +1382,7 @@ udmf
arg0
{
title = "Float?";
tooltip = "This raises the object by 24 fracunits.";
type = 11;
enum = "yesno";
}
......@@ -1374,6 +1396,7 @@ udmf
arg0
{
title = "Float?";
tooltip = "This raises the object by 24 fracunits.";
type = 11;
enum = "yesno";
}
......@@ -1412,6 +1435,7 @@ udmf
arg0
{
title = "Float?";
tooltip = "This raises the object by 24 fracunits.";
type = 11;
enum = "yesno";
}
......@@ -1459,6 +1483,7 @@ udmf
arg0
{
title = "Float?";
tooltip = "This raises the object by 24 fracunits.";
type = 11;
enum = "yesno";
}
......@@ -1470,6 +1495,7 @@ udmf
arg0
{
title = "Float?";
tooltip = "This raises the object by 24 fracunits.";
type = 11;
enum = "yesno";
}
......@@ -1483,6 +1509,7 @@ udmf
arg1
{
title = "Float?";
tooltip = "This raises the object by 24 fracunits.";
type = 11;
enum = "yesno";
}
......@@ -1952,7 +1979,7 @@ udmf
generic
{
color = 11; // Light_Cyan
title = "Generic Items & Hazards";
title = "Generic Objects ";
500
{
......@@ -1963,6 +1990,7 @@ udmf
arg0
{
title = "Distance check?";
tooltip = "If enabled, bubbles are only spawned a player is within 2048 fracunits.";
type = 11;
enum = "yesno";
}
......@@ -1992,19 +2020,12 @@ udmf
enum = "noyes";
}
}
520
{
title = "Bomb Sphere";
sprite = "SPHRD0";
width = 16;
height = 24;
arg0
{
title = "Float?";
type = 11;
enum = "yesno";
}
}
}
hazards
{
color = 17; // Orange
title = "Generic Hazards";
521
{
title = "Spikeball";
......@@ -2014,6 +2035,7 @@ udmf
arg0
{
title = "Float?";
tooltip = "This raises the object by 24 fracunits.";
type = 11;
enum = "yesno";
}
......@@ -2162,6 +2184,7 @@ udmf
stringarg0
{
title = "Color";
tooltip = "Uses a SKINCOLOR_ constant.\nExample: SKINCOLOR_RED";
}
}
550
......@@ -2240,6 +2263,7 @@ udmf
arg0
{
title = "Float?";
tooltip = "This raises the object by 16 fracunits.";
type = 11;
enum = "yesno";
}
......@@ -2254,6 +2278,7 @@ udmf
arg0
{
title = "Float?";
tooltip = "This raises the object by 16 fracunits.";
type = 11;
enum = "yesno";
}
......@@ -2268,6 +2293,7 @@ udmf
arg0
{
title = "Float?";
tooltip = "This raises the object by 16 fracunits.";
type = 11;
enum = "yesno";
}
......@@ -2322,7 +2348,7 @@ udmf
arrow = 1;
title = "Special Placement Patterns";
width = 16;
height = 384;
height = 64;
sprite = "RINGA0";
600
......@@ -2330,6 +2356,7 @@ udmf
arrow = 0;
title = "5 Vertical Rings (Yellow Spring)";
sprite = "internal:ringverticalyellow";
height = 384;
}
601
{
......@@ -2363,6 +2390,7 @@ udmf
title = "Circle of Rings (Big)";
sprite = "internal:circlebigring";
width = 192;
height = 384;
centerhitbox = true;
}
606
......@@ -2378,6 +2406,7 @@ udmf
title = "Circle of Blue Spheres (Big)";
sprite = "internal:circlebigsphere";
width = 192;
height = 384;
centerhitbox = true;
}
608
......@@ -2393,47 +2422,59 @@ udmf
title = "Circle of Rings and Spheres (Big)";
sprite = "internal:circlebigringsphere";
width = 192;
height = 384;
centerhitbox = true;
}
610
{
title = "Row of Items";
sprite = "RINGA0";
sprite = "internal:customrow";
width = 32;
height = 384;
arg0
{
title = "Number of items";
default = 5;
}
arg1
{
title = "Horizontal spacing";
default = 64;
}
arg2
{
title = "Vertical spacing";
default = 64;
}
stringarg0
{
title = "Object types";
tooltip = "A list of MT_ constants to use, separated by spaces.\nExample: MT_RING MT_BLUESPHERE";
}
}
611
{
title = "Circle of Items";
sprite = "RINGA0";
width = 96;
height = 192;
sprite = "internal:customcircle";
width = 32;
height = 64;
centerhitbox = true;
arg0
{
title = "Number of items";
default = 16;
}
arg1
{
title = "Radius";
renderstyle = "circle";
rendercolor = "#6600FF";
default = 128;
}
stringarg0
{
title = "Object types";
tooltip = "A list of MT_ constants to use, separated by spaces.\nExample: MT_RING MT_BLUESPHERE";
}
}
}
......@@ -2456,10 +2497,13 @@ udmf
arg0
{
title = "Repeat speed";
tooltip = "In tics.";
default = 35;
}
stringarg0
{
title = "Sound";
tooltip = "Takes a DS constant.\nExample: DSAMWTR3";
}
}
......@@ -2495,7 +2539,7 @@ udmf
sprite = "internal:zoom";
arg0
{
title = "Sequence";
title = "Sequence number";
}
arg1
{
......@@ -2510,6 +2554,7 @@ udmf
arg0
{
title = "Radius";
renderstyle = "circle";
}
arg1
{
......@@ -2547,24 +2592,28 @@ udmf
height = 16;
arg0
{
title = "Particles";
title = "Number of particles";
}
arg1
{
title = "Radius";
renderstyle = "circle";
}
arg2
{
title = "Rising speed";
tooltip = "In fracunits per tic.";
}
arg3
{
title = "Rotation speed";
tooltip = "In degrees per tic.";
type = 8;
}
arg4
{
title = "Spawn interval";
tooltip = "In tics.";
}
arg5
{
......@@ -2575,6 +2624,11 @@ udmf
title = "Heights control linedef";
type = 15;
}
stringarg0
{
title = "Particle object type";
tooltip = "Uses a MT_ constant.\nExample: MT_PARTICLE\nDefaults to MT_PARTICLE.";
}
}
758
{
......@@ -2770,6 +2824,7 @@ udmf
sprite = "GARGA1";
width = 16;
height = 40;
color = 6;
arg0
{
title = "Push behavior";
......@@ -2785,6 +2840,7 @@ udmf
sprite = "GARGB1";
width = 32;
height = 80;
color = 6;
arg0
{
title = "Push behavior";
......@@ -2893,6 +2949,7 @@ udmf
width = 28;
height = 56;
sprite = "BMNEA1";
color = 17;
}
1013
{
......@@ -2922,6 +2979,348 @@ udmf
color = 2; // Green
title = "Castle Eggman";
macespawns
{
title = "Mace Spawnpoints";
color = 11;
1104
{
title = "Mace Spawn";
sprite = "SMCEA0";
width = 17;
height = 34;
arg0
{
title = "Number of links";
}
arg1
{
title = "Number of extra spokes";
}
arg2
{
title = "Width";
tooltip = "Adds extra maces to both sides.";
}
arg3
{
title = "Speed";
tooltip = "In fracunits per tic.";
}
arg4
{
title = "Phase";
type = 8;
}
arg5
{
title = "Pinch";
type = 8;
}
arg6
{
title = "Omitted spokes";
}
arg7
{
title = "Omitted links";
}
arg8
{
title = "Flags";
type = 12;
enum = "maceflags";
}
}
1105
{
title = "Chain & Maces Spawn";
sprite = "SMCEA0";
width = 17;
height = 34;
arg0
{
title = "Number of links";
}
arg1
{
title = "Number of extra spokes";
}
arg2
{
title = "Width";
tooltip = "Adds extra chains/maces to both sides.";
}
arg3
{
title = "Speed";
tooltip = "In fracunits per tic.";
}
arg4
{
title = "Phase";
type = 8;
}
arg5
{
title = "Pinch";
type = 8;
}
arg6
{
title = "Omitted spokes";
}
arg7
{
title = "Omitted links";
}
arg8
{
title = "Flags";
type = 12;
enum = "maceflags";
}
}
1106
{
title = "Spring Ball Spawn";
sprite = "YSPBA0";
width = 17;
height = 34;
arg0
{
title = "Number of links";
}
arg1
{
title = "Number of extra spokes";
}
arg2
{
title = "Width";
tooltip = "Adds extra springs to both sides.";
}
arg3
{
title = "Speed";
tooltip = "In fracunits per tic.";
}
arg4
{
title = "Phase";
type = 8;
}
arg5
{
title = "Pinch";
type = 8;
}
arg6
{
title = "Omitted spokes";
}
arg7
{
title = "Omitted links";
}
arg8
{
title = "Flags";
type = 12;
enum
{
1 = "Red spring";
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";
}
}
}
1107
{
title = "Chain Spawn";
sprite = "BMCHA0";
width = 17;
height = 34;
arg0
{
title = "Number of links";
}
arg1
{
title = "Number of extra spokes";
}
arg2
{
title = "Width";
tooltip = "Adds extra chains to both sides.";
}
arg3
{
title = "Speed";
tooltip = "In fracunits per tic.";
}
arg4
{
title = "Phase";
type = 8;
}
arg5
{
title = "Pinch";
type = 8;
}
arg6
{
title = "Omitted spokes";
}
arg7
{
title = "Omitted links";
}
arg8
{
title = "Flags";
type = 12;
enum = "maceflags";
}
}
1108
{
arrow = 1;
title = "Hidden Chain Spawn";
sprite = "internal:chain3";
width = 17;
height = 34;
}
1109
{
title = "Firebar Spawn";
sprite = "BFBRA0";
width = 17;
height = 34;
arg0
{
title = "Number of links";
}
arg1
{
title = "Number of extra spokes";
}
arg2
{
title = "Width";
tooltip = "Adds extra firebars to both sides.";
}
arg3
{
title = "Speed";
tooltip = "In fracunits per tic.";
}
arg4
{
title = "Phase";
type = 8;
}
arg5
{
title = "Pinch";
type = 8;
}
arg6
{
title = "Omitted spokes";
}
arg7
{
title = "Omitted links";
}
arg8
{
title = "Flags";
type = 12;
enum
{
1 = "Double size";
2 = "No sounds";
4 = "Player-turnable chain";
8 = "Swing instead of spin";
16 = "Omit chain links";
32 = "Spawn link at origin";
64 = "Clip inside ground";
128 = "No distance check";
}
}
}
1110
{
title = "Custom Mace Spawn";
sprite = "SMCEA0";
width = 17;
height = 34;
arg0
{
title = "Number of links";
}
arg1
{
title = "Number of extra spokes";
}
arg2
{
title = "Width";
tooltip = "Adds extra maces to both sides.";
}
arg3
{
title = "Speed";
tooltip = "In fracunits per tic.";
}
arg4
{
title = "Phase";
type = 8;
}
arg5
{
title = "Pinch";
type = 8;
}
arg6
{
title = "Omitted spokes";
}
arg7
{
title = "Omitted links";
}
arg8
{
title = "Flags";
type = 12;
enum = "maceflags";
}
stringarg0
{
title = "Mace object type";
tooltip = "Uses a MT_ constant.\nExample: MT_BIGMACE";
type = 2;
}
stringarg1
{
title = "Link object type";
tooltip = "Uses a MT_ constant.\nExample: MT_BIGCHAIN";
type = 2;
}
}
}
1100
{
title = "Chain (Decorative)";
......@@ -2951,6 +3350,7 @@ udmf
sprite = "ESTAA1";
width = 32;
height = 240;
color = 6;
arg0
{
title = "Push behavior";
......@@ -2971,355 +3371,36 @@ udmf
width = 16;
height = 40;
}
1104
1111
{
title = "Mace Spawnpoint";
sprite = "SMCEA0";
width = 17;
height = 34;
arrow = 1;
blocking = 2;
title = "Crawla Statue";
sprite = "CSTAA1";
width = 16;
height = 40;
color = 6;
arg0
{
title = "Number of links";
}
arg1
{
title = "Number of spokes";
}
arg2
{
title = "Width";
}
arg3
{
title = "Speed";
}
arg4
{
title = "Phase";
type = 8;
}
arg5
{
title = "Pinch";
type = 8;
}
arg6
{
title = "Omitted spokes";
}
arg7
{
title = "Omitted links";
}
arg8
{
title = "Flags";
type = 12;
enum = "maceflags";
title = "Push behavior";
type = 11;
enum = "pushablebehavior";
}
}
1105
1112
{
title = "Chain with Maces Spawnpoint";
sprite = "SMCEA0";
width = 17;
height = 34;
arrow = 1;
blocking = 2;
title = "Lance-a-Bot Statue";
sprite = "CBBSA1";
width = 32;
height = 72;
color = 6;
arg0
{
title = "Number of links";
}
arg1
{
title = "Number of spokes";
}
arg2
{
title = "Width";
}
arg3
{
title = "Speed";
}
arg4
{
title = "Phase";
type = 8;
}
arg5
{
title = "Pinch";
type = 8;
}
arg6
{
title = "Omitted spokes";
}
arg7
{
title = "Omitted links";
}
arg8
{
title = "Flags";
type = 12;
enum = "maceflags";
}
}
1106
{
title = "Chained Spring Spawnpoint";
sprite = "YSPBA0";
width = 17;
height = 34;
arg0
{
title = "Number of links";
}
arg1
{
title = "Number of spokes";
}
arg2
{
title = "Width";
}
arg3
{
title = "Speed";
}
arg4
{
title = "Phase";
type = 8;
}
arg5
{
title = "Pinch";
type = 8;
}
arg6
{
title = "Omitted spokes";
}
arg7
{
title = "Omitted links";
}
arg8
{
title = "Flags";
type = 12;
enum
{
1 = "Red spring";
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";
}
}
}
1107
{
title = "Chain Spawnpoint";
sprite = "BMCHA0";
width = 17;
height = 34;
arg0
{
title = "Number of links";
}
arg1
{
title = "Number of spokes";
}
arg2
{
title = "Width";
}
arg3
{
title = "Speed";
}
arg4
{
title = "Phase";
type = 8;
}
arg5
{
title = "Pinch";
type = 8;
}
arg6
{
title = "Omitted spokes";
}
arg7
{
title = "Omitted links";
}
arg8
{
title = "Flags";
type = 12;
enum = "maceflags";
}
}
1108
{
arrow = 1;
title = "Hidden Chain Spawnpoint";
sprite = "internal:chain3";
width = 17;
height = 34;
}
1109
{
title = "Firebar Spawnpoint";
sprite = "BFBRA0";
width = 17;
height = 34;
arg0
{
title = "Number of links";
}
arg1
{
title = "Number of spokes";
}
arg2
{
title = "Width";
}
arg3
{
title = "Speed";
}
arg4
{
title = "Phase";
type = 8;
}
arg5
{
title = "Pinch";
type = 8;
}
arg6
{
title = "Omitted spokes";
}
arg7
{
title = "Omitted links";
}
arg8
{
title = "Flags";
type = 12;
enum
{
1 = "Double size";
2 = "No sounds";
4 = "Player-turnable chain";
8 = "Swing instead of spin";
16 = "Omit chain links";
32 = "Spawn link at origin";
64 = "Clip inside ground";
128 = "No distance check";
}
}
}
1110
{
title = "Custom Mace Spawnpoint";
sprite = "SMCEA0";
width = 17;
height = 34;
arg0
{
title = "Number of links";
}
arg1
{
title = "Number of spokes";
}
arg2
{
title = "Width";
}
arg3
{
title = "Speed";
}
arg4
{
title = "Phase";
type = 8;
}
arg5
{
title = "Pinch";
type = 8;
}
arg6
{
title = "Omitted spokes";
}
arg7
{
title = "Omitted links";
}
arg8
{
title = "Flags";
type = 12;
enum = "maceflags";
}
stringarg0
{
title = "Mace object type";
type = 2;
}
stringarg1
{
title = "Link object type";
type = 2;
}
}
1111
{
arrow = 1;
blocking = 2;
title = "Crawla Statue";
sprite = "CSTAA1";
width = 16;
height = 40;
arg0
{
title = "Push behavior";
type = 11;
enum = "pushablebehavior";
}
}
1112
{
arrow = 1;
blocking = 2;
title = "Lance-a-Bot Statue";
sprite = "CBBSA1";
width = 32;
height = 72;
arg0
{
title = "Push behavior";
type = 11;
enum = "pushablebehavior";
title = "Push behavior";
type = 11;
enum = "pushablebehavior";
}
}
1114
......@@ -3415,6 +3496,7 @@ udmf
sprite = "internal:cannonball";
width = 8;
height = 16;
color = 17;
}
1124
{
......@@ -3423,6 +3505,7 @@ udmf
sprite = "CBLLA0";
width = 20;
height = 40;
color = 6;
arg0
{
title = "Push behavior";
......@@ -3443,6 +3526,7 @@ udmf
sprite = "LCKNC0";
width = 16;
height = 32;
color = 15;
}
1127
{
......@@ -3450,6 +3534,7 @@ udmf
sprite = "EGR1A1";
width = 20;
height = 72;
color = 17;
arg0
{
title = "Movement";
......@@ -3485,6 +3570,143 @@ udmf
color = 2; // Green
title = "Arid Canyon";
cacti
{
title = "Cacti";
color = 17;
1203
{
title = "Tiny Red Flower Cactus";
sprite = "CACTA0";
width = 13;
height = 24;
}
1204
{
title = "Small Red Flower Cactus";
sprite = "CACTB0";
width = 15;
height = 52;
}
1205
{
title = "Tiny Blue Flower Cactus";
sprite = "CACTC0";
width = 13;
height = 24;
}
1206
{
title = "Small Blue Flower Cactus";
sprite = "CACTD0";
width = 15;
height = 52;
}
1207
{
title = "Prickly Pear";
sprite = "CACTE0";
width = 32;
height = 96;
}
1208
{
title = "Barrel Cactus";
sprite = "CACTF0";
width = 20;
height = 128;
}
1209
{
title = "Tall Barrel Cactus";
sprite = "CACTG0";
width = 24;
height = 224;
}
1210
{
title = "Armed Cactus";
sprite = "CACTH0";
width = 24;
height = 256;
}
1211
{
title = "Ball Cactus";
sprite = "CACTI0";
width = 48;
height = 96;
}
1230
{
title = "Tiny Cactus";
sprite = "CACTJ0";
width = 13;
height = 28;
}
1231
{
title = "Small Cactus";
sprite = "CACTK0";
width = 15;
height = 60;
}
}
minecarts
{
title = "Minecart";
color = 11;
1219
{
title = "Minecart Spawner";
sprite = "MCRTCLFR";
width = 22;
height = 32;
}
1220
{
title = "Minecart Stopper";
sprite = "MCRTIR";
width = 32;
height = 32;
}
1221
{
title = "Minecart Saloon Door";
sprite = "SALDARAL";
width = 96;
height = 160;
arg0
{
title = "Allow non-minecart players?";
type = 11;
enum = "noyes";
}
}
1229
{
title = "Minecart Switch Point";
sprite = "internal:zoom";
width = 8;
height = 16;
color = 15;
arg0
{
title = "Type";
type = 11;
enum
{
0 = "Disable";
1 = "Enable";
}
}
}
}
1200
{
title = "Tumbleweed (Big)";
......@@ -3518,6 +3740,7 @@ udmf
sprite = "ROIAA0";
width = 8;
height = 16;
color = 17;
arg0
{
title = "Speed";
......@@ -3538,78 +3761,15 @@ udmf
type = 2;
}
}
1203
1212
{
title = "Tiny Red Flower Cactus";
sprite = "CACTA0";
width = 13;
height = 24;
title = "Caution Sign";
sprite = "WWSGAR";
width = 22;
height = 64;
wallsprite = true;
}
1204
{
title = "Small Red Flower Cactus";
sprite = "CACTB0";
width = 15;
height = 52;
}
1205
{
title = "Tiny Blue Flower Cactus";
sprite = "CACTC0";
width = 13;
height = 24;
}
1206
{
title = "Small Blue Flower Cactus";
sprite = "CACTD0";
width = 15;
height = 52;
}
1207
{
title = "Prickly Pear";
sprite = "CACTE0";
width = 32;
height = 96;
}
1208
{
title = "Barrel Cactus";
sprite = "CACTF0";
width = 20;
height = 128;
}
1209
{
title = "Tall Barrel Cactus";
sprite = "CACTG0";
width = 24;
height = 224;
}
1210
{
title = "Armed Cactus";
sprite = "CACTH0";
width = 24;
height = 256;
}
1211
{
title = "Ball Cactus";
sprite = "CACTI0";
width = 48;
height = 96;
}
1212
{
title = "Caution Sign";
sprite = "WWSGAR";
width = 22;
height = 64;
wallsprite = true;
}
1213
1213
{
title = "Cacti Sign";
sprite = "WWS2AR";
......@@ -3639,6 +3799,7 @@ udmf
sprite = "BARRA1";
width = 24;
height = 63;
color = 17;
arg0
{
title = "Push behavior";
......@@ -3652,6 +3813,7 @@ udmf
sprite = "REMTA0";
width = 64;
height = 40;
color = 17;
}
1218
{
......@@ -3659,33 +3821,7 @@ udmf
sprite = "TAZDCR";
width = 80;
height = 416;
}
1219
{
title = "Minecart Spawner";
sprite = "MCRTCLFR";
width = 22;
height = 32;
}
1220
{
title = "Minecart Stopper";
sprite = "MCRTIR";
width = 32;
height = 32;
}
1221
{
title = "Minecart Saloon Door";
sprite = "SALDARAL";
width = 96;
height = 160;
arg0
{
title = "Allow non-minecart players?";
type = 11;
enum = "noyes";
}
color = 11;
}
1222
{
......@@ -3693,6 +3829,7 @@ udmf
sprite = "TRAEBRBL";
width = 28;
height = 32;
color = 15;
}
1223
{
......@@ -3700,6 +3837,7 @@ udmf
sprite = "ADSTA0";
width = 4;
height = 4;
color = 15;
}
1224
{
......@@ -3707,37 +3845,7 @@ udmf
sprite = "STEAA0";
width = 4;
height = 4;
}
1229
{
title = "Minecart Switch Point";
sprite = "internal:zoom";
width = 8;
height = 16;
arg0
{
title = "Type";
type = 11;
enum
{
0 = "Disable";
1 = "Enable";
}
}
}
1230
{
title = "Tiny Cactus";
sprite = "CACTJ0";
width = 13;
height = 28;
}
1231
{
title = "Small Cactus";
sprite = "CACTK0";
width = 15;
height = 60;
color = 15;
}
}
......@@ -3753,6 +3861,7 @@ udmf
sprite = "internal:flameh";
width = 16;
height = 40;
color = 17;
arg0
{
title = "On time";
......@@ -3782,6 +3891,7 @@ udmf
sprite = "internal:flamev";
width = 16;
height = 40;
color = 17;
arg0
{
title = "On time";
......@@ -3811,6 +3921,7 @@ udmf
sprite = "internal:flame2";
width = 16;
height = 24;
color = 17;
}
1303
{
......@@ -3818,6 +3929,7 @@ udmf
sprite = "internal:flame1";
width = 16;
height = 24;
color = 17;
}
1304
{
......@@ -3825,6 +3937,8 @@ udmf
sprite = "LFALF0";
width = 30;
height = 32;
color = 17;
hangs = 1;
arg0
{
title = "Initial delay";
......@@ -3842,6 +3956,7 @@ udmf
sprite = "PUMIA1A5";
width = 30;
height = 60;
color = 11;
arg0
{
title = "Buoyant?";
......@@ -3886,293 +4001,233 @@ udmf
}
}
botanicserenity
tutorial
{
color = 2; // Green
title = "Botanic Serenity";
width = 16;
height = 32;
sprite = "BSZ1A0";
1400
title = "Tutorial";
799
{
title = "Tall Flower (Red)";
sprite = "BSZ1A0";
title = "Tutorial Plant";
sprite = "TUPFH0";
width = 40;
height = 144;
arg0
{
title = "Start frame";
}
}
1401
}
frozenhillside
{
color = 2; // Green
title = "Frozen Hillside";
2100
{
title = "Tall Flower (Purple)";
sprite = "BSZ1B0";
title = "Ice Shard (Small)";
sprite = "FHZIA0";
width = 8;
height = 32;
}
1402
2101
{
title = "Tall Flower (Blue)";
sprite = "BSZ1C0";
title = "Ice Shard (Large)";
sprite = "FHZIB0";
width = 8;
height = 32;
}
1403
2102
{
title = "Tall Flower (Cyan)";
sprite = "BSZ1D0";
title = "Crystal Tree (Aqua)";
sprite = "TRE3A0";
width = 20;
height = 200;
}
1404
2103
{
title = "Tall Flower (Yellow)";
sprite = "BSZ1E0";
title = "Crystal Tree (Pink)";
sprite = "TRE3B0";
width = 20;
height = 200;
}
1405
2104
{
title = "Tall Flower (Orange)";
sprite = "BSZ1F0";
title = "Amy Cameo";
sprite = "ROSYA1";
width = 16;
height = 48;
color = 11;
arg0
{
title = "Grayscale?";
type = 11;
enum = "noyes";
}
}
1410
2105
{
title = "Medium Flower (Red)";
sprite = "BSZ2A0";
title = "Mistletoe";
sprite = "XMS6A0";
width = 52;
height = 106;
}
1411
}
hauntedheights
{
color = 2; // Green
title = "Haunted Heights";
2000
{
title = "Medium Flower (Purple)";
sprite = "BSZ2B0";
title = "Smashing Spikeball";
sprite = "FMCEA0";
width = 18;
height = 28;
color = 17;
arg0
{
title = "Initial delay";
}
}
1412
2001
{
title = "Medium Flower (Blue)";
sprite = "BSZ2C0";
title = "HHZ Grass";
sprite = "HHZMA0";
width = 16;
height = 40;
}
1413
2002
{
title = "Medium Flower (Cyan)";
sprite = "BSZ2D0";
title = "HHZ Tentacle 1";
sprite = "HHZMB0";
width = 16;
height = 40;
}
1414
2003
{
title = "Medium Flower (Yellow)";
sprite = "BSZ2E0";
title = "HHZ Tentacle 2";
sprite = "HHZMC0";
width = 16;
height = 40;
}
1415
2004
{
title = "Medium Flower (Orange)";
sprite = "BSZ2F0";
title = "HHZ Stalagmite (Tall)";
sprite = "HHZME0";
width = 16;
height = 40;
}
1420
2005
{
title = "Short Flower (Red)";
sprite = "BSZ3A0";
title = "HHZ Stalagmite (Short)";
sprite = "HHZMF0";
width = 16;
height = 40;
}
1421
2006
{
title = "Short Flower (Purple)";
sprite = "BSZ3B0";
title = "Jack-o'-lantern 1";
sprite = "PUMKA0";
width = 16;
height = 40;
arg0
{
title = "Flicker";
type = 11;
enum = "yesno";
}
}
1422
2007
{
title = "Short Flower (Blue)";
sprite = "BSZ3C0";
title = "Jack-o'-lantern 2";
sprite = "PUMKB0";
width = 16;
height = 40;
arg0
{
title = "Flicker";
type = 11;
enum = "yesno";
}
}
1423
2008
{
title = "Short Flower (Cyan)";
sprite = "BSZ3D0";
title = "Jack-o'-lantern 3";
sprite = "PUMKC0";
width = 16;
height = 40;
arg0
{
title = "Flicker";
type = 11;
enum = "yesno";
}
}
1424
2009
{
title = "Short Flower (Yellow)";
sprite = "BSZ3E0";
title = "Purple Mushroom";
sprite = "SHRMD0";
width = 16;
height = 48;
}
1425
2010
{
title = "Short Flower (Orange)";
sprite = "BSZ3F0";
title = "HHZ Tree";
sprite = "HHPLC0";
width = 12;
height = 40;
}
1430
}
azuretemple
{
color = 2; // Green
title = "Azure Temple";
1500
{
title = "Tulip (Red)";
sprite = "BST1A0";
arrow = 1;
blocking = 2;
title = "Glaregoyle";
sprite = "BGARA1";
width = 16;
height = 40;
color = 17;
arg0
{
title = "Push behavior";
type = 11;
enum = "pushablebehavior";
}
arg1
{
title = "Starting delay";
}
}
1431
1501
{
title = "Tulip (Purple)";
sprite = "BST2A0";
arrow = 1;
blocking = 2;
title = "Glaregoyle (Up)";
sprite = "BGARA1";
width = 16;
height = 40;
color = 17;
arg0
{
title = "Push behavior";
type = 11;
enum = "pushablebehavior";
}
arg1
{
title = "Starting delay";
}
}
1432
{
title = "Tulip (Blue)";
sprite = "BST3A0";
}
1433
{
title = "Tulip (Cyan)";
sprite = "BST4A0";
}
1434
{
title = "Tulip (Yellow)";
sprite = "BST5A0";
}
1435
{
title = "Tulip (Orange)";
sprite = "BST6A0";
}
1440
{
title = "Cluster (Red)";
sprite = "BSZ5A0";
}
1441
{
title = "Cluster (Purple)";
sprite = "BSZ5B0";
}
1442
{
title = "Cluster (Blue)";
sprite = "BSZ5C0";
}
1443
{
title = "Cluster (Cyan)";
sprite = "BSZ5D0";
}
1444
{
title = "Cluster (Yellow)";
sprite = "BSZ5E0";
}
1445
{
title = "Cluster (Orange)";
sprite = "BSZ5F0";
}
1450
{
title = "Bush (Red)";
sprite = "BSZ6A0";
}
1451
{
title = "Bush (Purple)";
sprite = "BSZ6B0";
}
1452
{
title = "Bush (Blue)";
sprite = "BSZ6C0";
}
1453
{
title = "Bush (Cyan)";
sprite = "BSZ6D0";
}
1454
{
title = "Bush (Yellow)";
sprite = "BSZ6E0";
}
1455
{
title = "Bush (Orange)";
sprite = "BSZ6F0";
}
1460
{
title = "Vine (Red)";
sprite = "BSZ7A0";
}
1461
{
title = "Vine (Purple)";
sprite = "BSZ7B0";
}
1462
{
title = "Vine (Blue)";
sprite = "BSZ7C0";
}
1463
{
title = "Vine (Cyan)";
sprite = "BSZ7D0";
}
1464
{
title = "Vine (Yellow)";
sprite = "BSZ7E0";
}
1465
{
title = "Vine (Orange)";
sprite = "BSZ7F0";
}
1470
{
title = "BSZ Shrub";
sprite = "BSZ8A0";
}
1471
{
title = "BSZ Clover";
sprite = "BSZ8B0";
}
1473
{
title = "Palm Tree (Big)";
width = 16;
height = 160;
sprite = "BSZ8D0";
}
1475
{
title = "Palm Tree (Small)";
width = 16;
height = 80;
sprite = "BSZ8F0";
}
}
azuretemple
{
color = 2; // Green
title = "Azure Temple";
1500
{
arrow = 1;
blocking = 2;
title = "Glaregoyle";
sprite = "BGARA1";
width = 16;
height = 40;
arg0
{
title = "Push behavior";
type = 11;
enum = "pushablebehavior";
}
arg1
{
title = "Starting delay";
}
}
1501
{
arrow = 1;
blocking = 2;
title = "Glaregoyle (Up)";
sprite = "BGARA1";
width = 16;
height = 40;
arg0
{
title = "Push behavior";
type = 11;
enum = "pushablebehavior";
}
arg1
{
title = "Starting delay";
}
}
1502
1502
{
arrow = 1;
blocking = 2;
......@@ -4180,6 +4235,7 @@ udmf
sprite = "BGARA1";
width = 16;
height = 40;
color = 17;
arg0
{
title = "Push behavior";
......@@ -4199,6 +4255,7 @@ udmf
sprite = "BGARA1";
width = 16;
height = 40;
color = 17;
arg0
{
title = "Push behavior";
......@@ -4216,6 +4273,7 @@ udmf
sprite = "RCRYB0";
width = 24;
height = 32;
color = 11;
}
1505
{
......@@ -4223,6 +4281,7 @@ udmf
sprite = "CFLMA0E0";
width = 8;
height = 32;
color = 17;
}
1506
{
......@@ -4232,6 +4291,7 @@ udmf
sprite = "BGARD1";
width = 16;
height = 40;
color = 6;
arg0
{
title = "Push behavior";
......@@ -4241,44 +4301,10 @@ udmf
}
}
dreamhill
{
color = 2; // Green
title = "Dream Hill";
1600
{
title = "Spring Tree";
sprite = "TRE6A0";
width = 16;
height = 32;
}
1601
{
title = "Shleep";
sprite = "SHLPA0";
width = 24;
height = 32;
}
1602
{
title = "Nightopian";
sprite = "NTPNA1";
width = 16;
height = 40;
arg0
{
title = "Can move?";
type = 11;
enum = "yesno";
}
}
}
nightstrk
{
color = 16; // Light Pink
title = "NiGHTS Track & Misc.";
title = "NiGHTS Track";
width = 8;
height = 4096;
sprite = "UNKNA0";
......@@ -4299,6 +4325,7 @@ udmf
arg2
{
title = "Radius";
default = 256;
}
arg3
{
......@@ -4337,12 +4364,21 @@ udmf
title = "Order";
}
}
}
nights
{
color = 13; // Pink
title = "NiGHTS Items & Misc.";
width = 16;
height = 32;
1703
{
title = "Ideya Drone";
sprite = "NDRNA1";
width = 16;
height = 56;
color = 16;
arg0
{
title = "Time limit";
......@@ -4380,6 +4416,7 @@ udmf
sprite = "CAPSA0";
width = 72;
height = 144;
color = 16;
arg0
{
title = "Mare";
......@@ -4395,20 +4432,12 @@ udmf
sprite = "internal:ideya";
width = 8;
height = 16;
color = 16;
arg0
{
title = "Mare";
}
}
}
nights
{
color = 13; // Pink
title = "NiGHTS Items";
width = 16;
height = 32;
1704
{
arrow = 1;
......@@ -4416,6 +4445,22 @@ udmf
sprite = "NBMPG3G7";
width = 32;
height = 64;
color = 12;
}
520
{
title = "Bomb Sphere";
sprite = "SPHRD0";
width = 16;
height = 24;
color = 17;
arg0
{
title = "Float?";
tooltip = "This raises the object by 24 fracunits.";
type = 11;
enum = "yesno";
}
}
1706
{
......@@ -4423,9 +4468,11 @@ udmf
sprite = "SPHRA0";
width = 16;
height = 24;
color = 14;
arg0
{
title = "Float?";
tooltip = "This raises the object by 24 fracunits.";
type = 11;
enum = "yesno";
}
......@@ -4513,231 +4560,310 @@ udmf
width = 80;
height = 160;
centerhitbox = true;
color = 14;
arg0
{
title = "Radius";
default = 96;
}
}
}
mario
dreamhill
{
color = 6; // Brown
title = "Mario";
color = 2; // Green
title = "Dream Hill";
1800
1600
{
title = "Coin";
sprite = "COINA0";
title = "Spring Tree";
sprite = "TRE6A0";
width = 16;
height = 24;
arg0
{
title = "Float?";
type = 11;
enum = "yesno";
}
}
1801
{
arrow = 1;
title = "Goomba";
sprite = "GOOMA0";
width = 24;
height = 32;
}
1802
1601
{
arrow = 1;
title = "Goomba (Blue)";
sprite = "BGOMA0";
title = "Shleep";
sprite = "SHLPA0";
width = 24;
height = 32;
color = 9;
}
1803
{
title = "Fire Flower";
sprite = "FFWRB0";
width = 16;
height = 32;
}
1804
{
title = "Koopa Shell";
sprite = "SHLLA1";
width = 16;
height = 20;
}
1805
{
title = "Puma (Jumping Fireball)";
sprite = "PUMAA0";
width = 8;
height = 16;
arg0
{
title = "Jump strength";
}
}
1806
1602
{
title = "King Bowser";
sprite = "KOOPA0";
title = "Nightopian";
sprite = "NTPNA1";
width = 16;
height = 48;
arg0
{
title = "Death trigger tag";
type = 15;
}
}
1807
{
title = "Axe";
sprite = "MAXEA0";
width = 8;
height = 16;
height = 40;
color = 19;
arg0
{
title = "Death trigger tag";
type = 15;
title = "Can move?";
type = 11;
enum = "yesno";
}
}
1808
{
title = "Bush (Short)";
sprite = "MUS1A0";
width = 16;
height = 32;
}
1809
{
title = "Bush (Tall)";
sprite = "MUS2A0";
width = 16;
height = 32;
}
1810
{
title = "Toad";
sprite = "TOADA0";
width = 8;
height = 32;
}
}
christmasdisco
botanicserenity
{
color = 2; // Green
title = "Christmas & Disco";
title = "Botanic Serenity";
width = 16;
height = 32;
1850
{
title = "Christmas Pole";
sprite = "XMS1A0";
width = 16;
height = 40;
}
1851
{
title = "Candy Cane";
sprite = "XMS2A0";
width = 8;
height = 32;
}
1852
flowers
{
blocking = 2;
title = "Snowman";
sprite = "XMS3A0";
width = 16;
height = 64;
arg0
title = "Flowers";
1400
{
title = "Push behavior";
type = 11;
enum = "pushablebehavior";
title = "Tall Flower (Red)";
sprite = "BSZ1A0";
}
}
1853
{
blocking = 2;
title = "Snowman (With Hat)";
sprite = "XMS3B0";
width = 16;
height = 80;
arg0
1401
{
title = "Push behavior";
type = 11;
enum = "pushablebehavior";
title = "Tall Flower (Purple)";
sprite = "BSZ1B0";
}
1402
{
title = "Tall Flower (Blue)";
sprite = "BSZ1C0";
}
1403
{
title = "Tall Flower (Cyan)";
sprite = "BSZ1D0";
}
1404
{
title = "Tall Flower (Yellow)";
sprite = "BSZ1E0";
}
1405
{
title = "Tall Flower (Orange)";
sprite = "BSZ1F0";
}
1410
{
title = "Medium Flower (Red)";
sprite = "BSZ2A0";
}
1411
{
title = "Medium Flower (Purple)";
sprite = "BSZ2B0";
}
1412
{
title = "Medium Flower (Blue)";
sprite = "BSZ2C0";
}
1413
{
title = "Medium Flower (Cyan)";
sprite = "BSZ2D0";
}
1414
{
title = "Medium Flower (Yellow)";
sprite = "BSZ2E0";
}
1415
{
title = "Medium Flower (Orange)";
sprite = "BSZ2F0";
}
1420
{
title = "Short Flower (Red)";
sprite = "BSZ3A0";
}
1421
{
title = "Short Flower (Purple)";
sprite = "BSZ3B0";
}
1422
{
title = "Short Flower (Blue)";
sprite = "BSZ3C0";
}
1423
{
title = "Short Flower (Cyan)";
sprite = "BSZ3D0";
}
1424
{
title = "Short Flower (Yellow)";
sprite = "BSZ3E0";
}
1425
{
title = "Short Flower (Orange)";
sprite = "BSZ3F0";
}
}
1854
tulips
{
title = "Lamp Post";
sprite = "XMS4A0";
width = 8;
height = 120;
title = "Tulips";
1430
{
title = "Tulip (Red)";
sprite = "BST1A0";
}
1431
{
title = "Tulip (Purple)";
sprite = "BST2A0";
}
1432
{
title = "Tulip (Blue)";
sprite = "BST3A0";
}
1433
{
title = "Tulip (Cyan)";
sprite = "BST4A0";
}
1434
{
title = "Tulip (Yellow)";
sprite = "BST5A0";
}
1435
{
title = "Tulip (Orange)";
sprite = "BST6A0";
}
1440
{
title = "Cluster (Red)";
sprite = "BSZ5A0";
}
1441
{
title = "Cluster (Purple)";
sprite = "BSZ5B0";
}
1442
{
title = "Cluster (Blue)";
sprite = "BSZ5C0";
}
1443
{
title = "Cluster (Cyan)";
sprite = "BSZ5D0";
}
1444
{
title = "Cluster (Yellow)";
sprite = "BSZ5E0";
}
1445
{
title = "Cluster (Orange)";
sprite = "BSZ5F0";
}
}
1855
bushes
{
title = "Lamp Post (Snow)";
sprite = "XMS4B0";
width = 8;
height = 120;
title = "Bushes";
1450
{
title = "Bush (Red)";
sprite = "BSZ6A0";
}
1451
{
title = "Bush (Purple)";
sprite = "BSZ6B0";
}
1452
{
title = "Bush (Blue)";
sprite = "BSZ6C0";
}
1453
{
title = "Bush (Cyan)";
sprite = "BSZ6D0";
}
1454
{
title = "Bush (Yellow)";
sprite = "BSZ6E0";
}
1455
{
title = "Bush (Orange)";
sprite = "BSZ6F0";
}
}
1856
vines
{
title = "Hanging Star";
sprite = "XMS5A0";
width = 4;
height = 80;
hangs = 1;
title = "Vines";
1460
{
title = "Vine (Red)";
sprite = "BSZ7A0";
}
1461
{
title = "Vine (Purple)";
sprite = "BSZ7B0";
}
1462
{
title = "Vine (Blue)";
sprite = "BSZ7C0";
}
1463
{
title = "Vine (Cyan)";
sprite = "BSZ7D0";
}
1464
{
title = "Vine (Yellow)";
sprite = "BSZ7E0";
}
1465
{
title = "Vine (Orange)";
sprite = "BSZ7F0";
}
}
1857
1470
{
title = "Berry Bush (Snow)";
sprite = "BUS1B0";
width = 16;
height = 32;
title = "BSZ Shrub";
sprite = "BSZ8A0";
}
1858
1471
{
title = "Bush (Snow)";
sprite = "BUS2B0";
width = 16;
height = 32;
title = "BSZ Clover";
sprite = "BSZ8B0";
}
1859
1473
{
title = "Blueberry Bush (Snow)";
sprite = "BUS3B0";
title = "Palm Tree (Big)";
width = 16;
height = 32;
height = 160;
sprite = "BSZ8D0";
}
1875
1475
{
title = "Disco Ball";
sprite = "DBALA0";
title = "Palm Tree (Small)";
width = 16;
height = 54;
hangs = 1;
}
1876
{
arrow = 1;
blocking = 2;
title = "Eggman Disco Statue";
sprite = "ESTAB1";
width = 20;
height = 96;
arg0
{
title = "Push behavior";
type = 11;
enum = "pushablebehavior";
}
height = 80;
sprite = "BSZ8F0";
}
}
......@@ -4811,197 +4937,254 @@ udmf
width = 16;
height = 40;
}
1909
1909
{
title = "Blue Stalagmite";
sprite = "STLGJ0";
width = 16;
height = 40;
}
}
christmasdisco
{
color = 2; // Green
title = "Christmas & Disco";
1850
{
title = "Christmas Pole";
sprite = "XMS1A0";
width = 16;
height = 40;
}
1851
{
title = "Candy Cane";
sprite = "XMS2A0";
width = 8;
height = 32;
}
1852
{
blocking = 2;
title = "Snowman";
sprite = "XMS3A0";
width = 16;
height = 64;
color = 6;
arg0
{
title = "Push behavior";
type = 11;
enum = "pushablebehavior";
}
}
1853
{
title = "Blue Stalagmite";
sprite = "STLGJ0";
blocking = 2;
title = "Snowman (With Hat)";
sprite = "XMS3B0";
width = 16;
height = 40;
}
}
hauntedheights
{
color = 2; // Green
title = "Haunted Heights";
2000
{
title = "Smashing Spikeball";
sprite = "FMCEA0";
width = 18;
height = 28;
height = 80;
color = 6;
arg0
{
title = "Initial delay";
title = "Push behavior";
type = 11;
enum = "pushablebehavior";
}
}
2001
1854
{
title = "HHZ Grass";
sprite = "HHZMA0";
width = 16;
height = 40;
title = "Lamp Post";
sprite = "XMS4A0";
width = 8;
height = 120;
}
2002
1855
{
title = "HHZ Tentacle 1";
sprite = "HHZMB0";
width = 16;
height = 40;
title = "Lamp Post (Snow)";
sprite = "XMS4B0";
width = 8;
height = 120;
}
2003
1856
{
title = "HHZ Tentacle 2";
sprite = "HHZMC0";
width = 16;
height = 40;
title = "Hanging Star";
sprite = "XMS5A0";
width = 4;
height = 80;
hangs = 1;
}
2004
1857
{
title = "HHZ Stalagmite (Tall)";
sprite = "HHZME0";
title = "Berry Bush (Snow)";
sprite = "BUS1B0";
width = 16;
height = 40;
height = 32;
}
2005
1858
{
title = "HHZ Stalagmite (Short)";
sprite = "HHZMF0";
title = "Bush (Snow)";
sprite = "BUS2B0";
width = 16;
height = 40;
height = 32;
}
2006
1859
{
title = "Jack-o'-lantern 1";
sprite = "PUMKA0";
title = "Blueberry Bush (Snow)";
sprite = "BUS3B0";
width = 16;
height = 40;
arg0
{
title = "Flicker";
type = 11;
enum = "yesno";
}
height = 32;
}
2007
1875
{
title = "Jack-o'-lantern 2";
sprite = "PUMKB0";
title = "Disco Ball";
sprite = "DBALA0";
width = 16;
height = 40;
height = 54;
hangs = 1;
}
1876
{
arrow = 1;
blocking = 2;
title = "Eggman Disco Statue";
sprite = "ESTAB1";
width = 20;
height = 96;
color = 6;
arg0
{
title = "Flicker";
title = "Push behavior";
type = 11;
enum = "yesno";
enum = "pushablebehavior";
}
}
2008
}
mario
{
color = 2; // Green
title = "Mario";
1800
{
title = "Jack-o'-lantern 3";
sprite = "PUMKC0";
title = "Coin";
sprite = "COINA0";
width = 16;
height = 40;
height = 24;
color = 14;
arg0
{
title = "Flicker";
title = "Float?";
tooltip = "This raises the object by 24 fracunits.";
type = 11;
enum = "yesno";
}
}
2009
{
title = "Purple Mushroom";
sprite = "SHRMD0";
width = 16;
height = 48;
}
2010
1801
{
title = "HHZ Tree";
sprite = "HHPLC0";
width = 12;
height = 40;
arrow = 1;
title = "Goomba";
sprite = "GOOMA0";
width = 24;
height = 32;
color = 9;
}
}
frozenhillside
{
color = 2; // Green
title = "Frozen Hillside";
2100
1802
{
title = "Ice Shard (Small)";
sprite = "FHZIA0";
width = 8;
arrow = 1;
title = "Goomba (Blue)";
sprite = "BGOMA0";
width = 24;
height = 32;
color = 9;
}
2101
1803
{
title = "Ice Shard (Large)";
sprite = "FHZIB0";
width = 8;
title = "Fire Flower";
sprite = "FFWRB0";
width = 16;
height = 32;
color = 14;
}
2102
1804
{
title = "Crystal Tree (Aqua)";
sprite = "TRE3A0";
width = 20;
height = 200;
title = "Koopa Shell";
sprite = "SHLLA1";
width = 16;
height = 20;
color = 11;
}
2103
1805
{
title = "Crystal Tree (Pink)";
sprite = "TRE3B0";
width = 20;
height = 200;
title = "Puma (Jumping Fireball)";
sprite = "PUMAA0";
width = 8;
height = 16;
color = 17;
arg0
{
title = "Jump strength";
}
}
2104
1806
{
title = "Amy Cameo";
sprite = "ROSYA1";
title = "King Bowser";
sprite = "KOOPA0";
width = 16;
height = 48;
color = 4;
arg0
{
title = "Grayscale?";
type = 11;
enum = "noyes";
title = "Death trigger tag";
type = 15;
}
}
2105
{
title = "Mistletoe";
sprite = "XMS6A0";
width = 52;
height = 106;
}
}
tutorial
{
color = 2; // Green
title = "Tutorial";
799
1807
{
title = "Tutorial Plant";
sprite = "TUPFH0";
width = 40;
height = 144;
title = "Axe";
sprite = "MAXEA0";
width = 8;
height = 16;
color = 11;
arg0
{
title = "Start frame";
title = "Death trigger tag";
type = 15;
}
}
1808
{
title = "Bush (Short)";
sprite = "MUS1A0";
width = 16;
height = 32;
color = 2;
}
1809
{
title = "Bush (Tall)";
sprite = "MUS2A0";
width = 16;
height = 32;
color = 2;
}
1810
{
title = "Toad";
sprite = "TOADA0";
width = 8;
height = 32;
color = 2;
}
}
flickies
{
color = 2; // Green
color = 6; // Brown
title = "Flickies";
width = 8;
height = 20;
......@@ -5391,7 +5574,7 @@ udmf
}
}
}
editor
{
color = 15; // White
......@@ -5404,4 +5587,4 @@ udmf
3328 = "3D Mode Start";
}
}
\ No newline at end of file
}
/*********************************************************\
Zone Builder Game Configuration
For Sonic Robo Blast 2 Version 2.2
Contributors (alphabetical):
* Foxboy
* FuriousFox
* JJames19119
* Kalaron
* Kristos
* MascaraSnake
* mazmazz
* Morpheus
* Neo Chaotikal
* Nev3r
* Oogaland
* Rob
* Shadow Hog
* sphere
* SRB2-Playah
* SSNTails
* SteelT
* ST218
* toaster
* Viola
\*********************************************************/
// 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 = "Sonic Robo Blast 2 - 2.2 (legacy)";
//GZDB specific. Don't try to load lumps that don't exist.
basegame = "doom";
// This is the simplified game engine/sourceport name
engine = "zdoom";
// When this is set to true, sectors with the same tag will light up when a line is highlighted
linetagindicatesectors = true;
// The format interface handles the map data format - DoomMapSetIO for SRB2DB2, SRB2MapSetIO for Zone Builder
formatinterface = "DoomMapSetIO";
//Maximum safe map size check (0 means skip check)
safeboundary = 0;
//Sky textures for vanilla maps
defaultskytextures
{
SKY1 = "MAP01,MAP02,MAP03,MAP33,MAP50,MAP60,MAPF0,MAPM0";
SKY2 = "MAPM7,MAPMB";
SKY4 = "MAP04,MAP06,MAP61,MAPF6,MAPM1";
SKY6 = "MAP05,MAP51,MAPMA";
SKY7 = "MAPM2,MAPM5";
SKY8 = "MAP07,MAP08,MAP09,MAP52,MAP62,MAPF1";
SKY10 = "MAP10,MAP12,MAP53,MAP63,MAPM3";
SKY11 = "MAP11,MAPF7";
SKY13 = "MAP13,MAP64";
SKY14 = "MAP14";
SKY15 = "MAP15,MAP54";
SKY17 = "MAP70";
SKY20 = "MAP32,MAP55,MAP65,MAPF2,MAPF5";
SKY21 = "MAPM4";
SKY22 = "MAP22,MAP23,MAP25,MAP26,MAP27,MAP56,MAP66,MAPF4,MAPM6";
SKY30 = "MAP30";
SKY31 = "MAP31";
SKY35 = "MAP42";
SKY40 = "MAP41,MAP71,MAPM9";
SKY55 = "MAPF3,MAPM8";
SKY68 = "MAPF8";
SKY99 = "MAP57,MAPZ0";
SKY159 = "MAP16";
SKY172 = "MAP40";
SKY300 = "MAP72";
SKY301 = "MAP73";
}
// Default lump name for new map
defaultlumpname = "MAP01";
// Default testing parameters
testparameters = "-folder \"%AF\" -file \"%AA\" \"%F\" -warp %L";
testshortpaths = true;
// Default nodebuilder configurations
defaultsavecompiler = "zennode_normal";
defaulttestcompiler = "zennode_fast";
// Skill levels
skills
{
1 = "Normal";
}
// Skins
skins
{
Sonic;
Tails;
Knuckles;
Amy;
Fang;
Metalsonic;
}
// Gametypes
gametypes
{
-1 = "Single Player";
0 = "Co-op";
1 = "Competition";
2 = "Race";
3 = "Match";
4 = "Team Match";
5 = "Tag";
6 = "Hide and Seek";
7 = "CTF";
}
// Special linedefs
soundlinedefflag = 64; // See linedefflags
singlesidedflag = 1; // See linedefflags
doublesidedflag = 4; // See linedefflags
impassableflag = 1;
upperunpeggedflag = 8;
lowerunpeggedflag = 16;
repeatmidtextureflag = 1024;
pegmidtextureflag = 256;
// Generalized actions
generalizedlinedefs = false;
generalizedsectors = true;
// Texture loading options
defaultwalltexture = "GFZROCK";
defaultfloortexture = "GFZFLR01";
defaultceilingtexture = "F_SKY1";
mixtexturesflats = true;
defaulttexturescale = 1.0f;
defaultflatscale = 1.0f;
// Thing number for start position in 3D Mode
start3dmode = 3328;
/*
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.
Kalaron: and now TX_START
*/
// 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";
}
}
/*
GAME DETECT PATTERN
Used to guess the game for which a WAD file is made.
1 = One of these lumps must exist
2 = None of these lumps must exist
3 = All of these lumps must exist
*/
gamedetect
{
EXTENDED = 2;
BEHAVIOR = 2;
E#M# = 2;
MAP?? = 1;
}
/*
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. (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.
*/
maplumpnames
{
~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;
}
}
scriptlumpnames
{
MAINCFG
{
script = "SOC.cfg";
}
OBJCTCFG
{
script = "SOC.cfg";
}
SOC_
{
script = "SOC.cfg";
isprefix = true;
}
LUA_
{
script = "Lua.cfg";
isprefix = true;
}
}
// 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;
}
// SECTOR TYPES-----------------------------------------------------------------
sectortypes
{
0 = "Normal";
1 = "Damage";
2 = "Damage (Water)";
3 = "Damage (Fire)";
4 = "Damage (Electrical)";
5 = "Spikes";
6 = "Death Pit (Camera Tilt)";
7 = "Death Pit (No Camera Tilt)";
8 = "Instant Kill";
9 = "Ring Drainer (Floor Touch)";
10 = "Ring Drainer (Anywhere in Sector)";
11 = "Special Stage Damage";
12 = "Space Countdown";
13 = "Ramp Sector (double step-up/down)";
14 = "Non-Ramp Sector (no step-down)";
15 = "Bouncy FOF <deprecated>";
16 = "Trigger Line Ex. (Pushable Objects)";
32 = "Trigger Line Ex. (Anywhere, All Players)";
48 = "Trigger Line Ex. (Floor Touch, All Players)";
64 = "Trigger Line Ex. (Anywhere in Sector)";
80 = "Trigger Line Ex. (Floor Touch)";
96 = "Trigger Line Ex. (Emerald Check) <deprecated>";
112 = "Trigger Line Ex. (NiGHTS Mare) <deprecated>";
128 = "Check for Linedef Executor on FOFs";
144 = "Egg Capsule";
160 = "Special Stage Time/Spheres Parameters <deprecated>";
176 = "Custom Global Gravity <deprecated>";
512 = "Wind/Current <deprecated>";
1024 = "Conveyor Belt <deprecated>";
1280 = "Speed Pad";
1536 = "Flip Gravity on Jump";
4096 = "Star Post Activator";
8192 = "Exit/Special Stage Pit/Return Flag";
12288 = "CTF Red Team Base";
16384 = "CTF Blue Team Base";
20480 = "Fan Sector";
24576 = "Super Sonic Transform";
28672 = "Force Spin";
32768 = "Zoom Tube Start";
36864 = "Zoom Tube End";
40960 = "Circuit Finish Line";
45056 = "Rope Hang";
49152 = "Intangible to the Camera";
}
// GENERALISED SECTOR TYPES-----------------------------------------------------------------
gen_sectortypes
{
first
{
0 = "Normal";
1 = "Damage";
2 = "Damage (Water)";
3 = "Damage (Fire)";
4 = "Damage (Electrical)";
5 = "Spikes";
6 = "Death Pit (Camera Tilt)";
7 = "Death Pit (No Camera Tilt)";
8 = "Instant Kill";
9 = "Ring Drainer (Floor Touch)";
10 = "Ring Drainer (Anywhere in Sector)";
11 = "Special Stage Damage";
12 = "Space Countdown";
13 = "Ramp Sector (double step-up/down)";
14 = "Non-Ramp Sector (no step-down)";
15 = "Bouncy FOF <deprecated>";
}
second
{
0 = "Normal";
16 = "Trigger Line Ex. (Pushable Objects)";
32 = "Trigger Line Ex. (Anywhere, All Players)";
48 = "Trigger Line Ex. (Floor Touch, All Players)";
64 = "Trigger Line Ex. (Anywhere in Sector)";
80 = "Trigger Line Ex. (Floor Touch)";
96 = "Trigger Line Ex. (Emerald Check) <deprecated>";
112 = "Trigger Line Ex. (NiGHTS Mare) <deprecated>";
128 = "Check for Linedef Executor on FOFs";
144 = "Egg Capsule";
160 = "Special Stage Time/Spheres Parameters <deprecated>";
176 = "Custom Global Gravity <deprecated>";
}
third
{
0 = "Normal";
512 = "Wind/Current <deprecated>";
1024 = "Conveyor Belt <deprecated>";
1280 = "Speed Pad";
1536 = "Flip Gravity on Jump";
}
fourth
{
0 = "Normal";
4096 = "Star Post Activator";
8192 = "Exit/Special Stage Pit/Return Flag";
12288 = "CTF Red Team Base";
16384 = "CTF Blue Team Base";
20480 = "Fan Sector";
24576 = "Super Sonic Transform";
28672 = "Force Spin";
32768 = "Zoom Tube Start";
36864 = "Zoom Tube End";
40960 = "Circuit Finish Line";
45056 = "Rope Hang";
49152 = "Intangible to the Camera";
}
}
// LINEDEF FLAGS
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 = "secret";
64 = "blocksound";
128 = "dontdraw";
256 = "mapped";
}
// LINEDEF ACTIVATIONS
linedefactivations
{
}
// LINEDEF TYPES
linedeftypes
{
misc
{
title = "Miscellaneous";
0
{
title = "None";
prefix = "(0)";
}
1
{
title = "Per-Sector Gravity";
prefix = "(1)";
flags64text = "[6] Flip in reverse gravity";
flags8192text = "[13] Cancel MF2_OBJECTFLIP";
}
5
{
title = "Camera Scanner";
prefix = "(5)";
}
7
{
title = "Sector Flat Alignment";
prefix = "(7)";
flags2048text = "[11] Don't align floor";
flags4096text = "[12] Don't align ceiling";
flags8192text = "[13] Use texture offsets";
}
10
{
title = "Culling Plane";
prefix = "(10)";
flags64text = "[6] Cull only while in sector";
}
13
{
title = "Heat Wave Effect";
prefix = "(13)";
}
40
{
title = "Visual Portal Between Tagged Linedefs";
prefix = "(40)";
}
41
{
title = "Horizon Effect";
prefix = "(41)";
}
50
{
title = "Instantly Lower Floor on Level Load";
prefix = "(50)";
}
51
{
title = "Instantly Raise Ceiling on Level Load";
prefix = "(51)";
}
63
{
title = "Fake Floor/Ceiling Planes";
prefix = "(63)";
}
96
{
title = "Add Front Sector Tag to Tagged Sectors";
prefix = "(96)";
flags1024text = "[10] Offsets are target tags";
flags8192text = "[13] Add front side offsets";
flags32768text = "[15] Add back side offsets";
}
97
{
title = "Add Tag to Front Sector";
prefix = "(97)";
flags8192text = "[13] Add front side offsets";
flags32768text = "[15] Add back side offsets";
}
98
{
title = "Add Tag to Back Sector";
prefix = "(98)";
flags8192text = "[13] Add front side offsets";
flags32768text = "[15] Add back side offsets";
}
99
{
title = "Add Tag to Front and Back Sectors";
prefix = "(99)";
flags8192text = "[13] Add front side offsets";
flags32768text = "[15] Add back side offsets";
}
540
{
title = "Floor Friction";
prefix = "(540)";
}
}
parameters
{
title = "Parameters";
2
{
title = "Custom Exit";
prefix = "(2)";
flags2text = "[1] Check emeralds";
flags64text = "[6] Skip score tally";
}
3
{
title = "Zoom Tube Parameters";
prefix = "(3)";
flags512text = "[9] Ignore player direction";
}
4
{
title = "Speed Pad Parameters";
prefix = "(4)";
flags512text = "[9] No teleport to center";
flags1024text = "[10] Force spinning frames";
}
8
{
title = "Special Sector Properties";
prefix = "(8)";
flags32text = "[5] Invert precipitation";
flags64text = "[6] Touch only ceiling";
flags128text = "[7] Allow opposite gravity";
flags256text = "[8] Touch sector edge";
flags512text = "[9] Touch floor or ceiling";
}
9
{
title = "Chain Parameters";
prefix = "(9)";
flags32text = "[5] Swing instead of spin";
flags128text = "[7] Make chain from end item";
flags64text = "[6] Player-turnable chain";
flags256text = "[8] Spawn link at origin";
flags512text = "[9] Don't clip inside ground";
flags1024text = "[10] No distance check";
}
11
{
title = "Rope Hang Parameters";
prefix = "(11)";
flags32text = "[5] Don't loop";
flags64text = "[6] Static";
}
12
{
title = "Rock Spawner Parameters";
prefix = "(12)";
flags64text = "[6] Randomize speed";
}
14
{
title = "Bustable Block Parameters";
prefix = "(14)";
flags32text = "[5] Particles launch from center";
}
15
{
title = "Fan Particle Spawner Parameters";
prefix = "(15)";
}
16
{
title = "Minecart Parameters";
prefix = "(16)";
}
64
{
title = "Continuously Appearing/Disappearing FOF";
prefix = "(64)";
flags2text = "[1] Use control sector tag";
flags64text = "[6] No sound effect";
}
76
{
title = "Make FOF Bouncy";
prefix = "(76)";
}
}
polyobject
{
title = "PolyObject";
20
{
title = "PolyObject First Line";
prefix = "(20)";
}
22
{
title = "PolyObject Parameters";
prefix = "(22)";
flags8text = "[3] Set translucency by X offset";
flags32text = "[5] Render outer sides only";
flags64text = "[6] Trigger linedef executor";
flags128text = "[7] Intangible";
flags256text = "[8] Stopped by pushables";
flags512text = "[9] Render flats";
flags8192text = "[13] Cut cyan flat pixels";
}
30
{
title = "PolyObject Waving Flag";
prefix = "(30)";
}
31
{
title = "Move PolyObject by Front Sector Displacement";
prefix = "(31)";
}
32
{
title = "Rotate PolyObject by Front Sector Displacement";
prefix = "(32)";
flags64text = "[6] Don't turn players";
flags512text = "[9] Turn all objects";
}
}
planemove
{
title = "Plane Movement";
52
{
title = "Continuously Falling Sector";
prefix = "(52)";
flags64text = "[6] Continuously rising";
}
53
{
title = "Continuous Floor/Ceiling Mover";
prefix = "(53)";
}
54
{
title = "Continuous Floor Mover";
prefix = "(54)";
}
55
{
title = "Continuous Ceiling Mover";
prefix = "(55)";
}
56
{
title = "Continuous Two-Speed Floor/Ceiling Mover";
prefix = "(56)";
}
57
{
title = "Continuous Two-Speed Floor Mover";
prefix = "(57)";
}
58
{
title = "Continuous Two-Speed Ceiling Mover";
prefix = "(58)";
}
59
{
title = "Activate Moving Platform";
prefix = "(59)";
flags64text = "[6] Move upwards at start";
}
60
{
title = "Activate Moving Platform (Adjustable Speed)";
prefix = "(60)";
flags64text = "[6] Move upwards at start";
}
61
{
title = "Crusher (Ceiling to Floor)";
prefix = "(61)";
flags512text = "[9] Double, constant speed";
}
62
{
title = "Crusher (Floor to Ceiling)";
prefix = "(62)";
flags512text = "[9] Double, constant speed";
}
66
{
title = "Move Floor by Displacement";
prefix = "(66)";
flags64text = "[6] Inverse movement";
}
67
{
title = "Move Ceiling by Displacement";
prefix = "(67)";
flags64text = "[6] Inverse movement";
}
68
{
title = "Move Floor and Ceiling by Displacement";
prefix = "(68)";
flags64text = "[6] Inverse movement";
}
}
fofsolid
{
title = "FOF (solid)";
100
{
title = "Solid, Opaque";
prefix = "(100)";
flags8text = "[3] Slope skew sides";
flags32text = "[5] Only block player";
flags128text = "[7] Only block non-players";
3dfloor = true;
3dfloorflags = "19F";
}
101
{
title = "Solid, Opaque, No Shadow";
prefix = "(101)";
flags8text = "[3] Slope skew sides";
flags32text = "[5] Only block player";
flags128text = "[7] Only block non-players";
3dfloor = true;
3dfloorflags = "1DF";
}
102
{
title = "Solid, Translucent";
prefix = "(102)";
flags8text = "[3] Slope skew sides";
flags32text = "[5] Only block player";
flags64text = "[6] Render insides";
flags128text = "[7] Only block non-players";
flags8192text = "[13] Cut cyan flat pixels";
3dfloor = true;
3dfloorflags = "195F";
flags643dfloorflagsadd = "7C80";
}
103
{
title = "Solid, Sides Only";
prefix = "(103)";
flags8text = "[3] Slope skew sides";
flags32text = "[5] Only block player";
flags128text = "[7] Only block non-players";
3dfloor = true;
3dfloorflags = "1CF";
}
104
{
title = "Solid, No Sides";
prefix = "(104)";
flags32text = "[5] Only block player";
flags64text = "[6] Cast shadow";
flags128text = "[7] Only block non-players";
3dfloor = true;
3dfloorflags = "1D7";
flags643dfloorflagsremove = "40";
}
105
{
title = "Solid, Invisible";
prefix = "(105)";
flags32text = "[5] Only block player";
flags128text = "[7] Only block non-players";
3dfloor = true;
3dfloorflags = "47";
invisiblefof = true;
}
140
{
title = "Intangible from Bottom, Opaque";
prefix = "(140)";
flags8text = "[3] Slope skew sides";
flags32text = "[5] Only block player";
flags64text = "[6] Don't cast shadow";
flags128text = "[7] Only block non-players";
3dfloor = true;
3dfloorflags = "200841F";
flags643dfloorflagsadd = "40";
}
141
{
title = "Intangible from Bottom, Translucent";
prefix = "(141)";
flags8text = "[3] Slope skew sides";
flags32text = "[5] Only block player";
flags64text = "[6] Don't cast shadow";
flags128text = "[7] Render insides/block non-plr";
flags8192text = "[13] Cut cyan flat pixels";
3dfloor = true;
3dfloorflags = "200191F";
flags1283dfloorflagsadd = "7C80";
flags643dfloorflagsadd = "40";
}
142
{
title = "Intangible from Bottom, Translucent, No Sides";
prefix = "(142)";
flags32text = "[5] Only block player";
flags64text = "[6] Don't cast shadow";
flags128text = "[7] Render insides/block non-plr";
flags8192text = "[13] Cut cyan flat pixels";
3dfloor = true;
3dfloorflags = "2001917";
flags1283dfloorflagsadd = "7C80";
flags643dfloorflagsadd = "40";
}
143
{
title = "Intangible from Top, Opaque";
prefix = "(143)";
flags8text = "[3] Slope skew sides";
flags32text = "[5] Only block player";
flags64text = "[6] Don't cast shadow";
flags128text = "[7] Only block non-players";
3dfloor = true;
3dfloorflags = "400841F";
flags643dfloorflagsadd = "40";
}
144
{
title = "Intangible from Top, Translucent";
prefix = "(144)";
flags8text = "[3] Slope skew sides";
flags32text = "[5] Only block player";
flags64text = "[6] Don't cast shadow";
flags128text = "[7] Render insides/block non-plr";
flags8192text = "[13] Cut cyan flat pixels";
3dfloor = true;
3dfloorflags = "400191F";
flags1283dfloorflagsadd = "7C80";
flags643dfloorflagsadd = "40";
}
145
{
title = "Intangible from Top, Translucent, No Sides";
prefix = "(145)";
flags32text = "[5] Only block player";
flags64text = "[6] Don't cast shadow";
flags128text = "[7] Render insides/block non-plr";
flags8192text = "[13] Cut cyan flat pixels";
3dfloor = true;
3dfloorflags = "4001917";
flags1283dfloorflagsadd = "7C80";
flags643dfloorflagsadd = "40";
}
146
{
title = "Only Tangible from Sides";
prefix = "(146)";
flags8text = "[3] Slope skew sides";
flags32text = "[5] Only block player";
flags128text = "[7] Only block non-players";
3dfloor = true;
3dfloorflags = "600800F";
}
}
fofintangible
{
title = "FOF (intangible)";
120
{
title = "Water, Opaque";
prefix = "(120)";
flags2text = "[1] Make lava intangible";
flags8text = "[3] Slope skew sides";
flags64text = "[6] Use two light levels";
flags512text = "[9] Use target light level";
flags1024text = "[10] Ripple effect";
3dfloor = true;
3dfloorflags = "8F39";
flags643dfloorflagsadd = "20000";
flags5123dfloorflagsadd = "80000000";
flags10243dfloorflagsadd = "40000000";
}
121
{
title = "Water, Translucent";
prefix = "(121)";
flags2text = "[1] Make lava intangible";
flags8text = "[3] Slope skew sides";
flags64text = "[6] Use two light levels";
flags512text = "[9] Use target light level";
flags1024text = "[10] Ripple effect";
flags8192text = "[13] Cut cyan flat pixels";
3dfloor = true;
3dfloorflags = "9F39";
flags643dfloorflagsadd = "20000";
flags5123dfloorflagsadd = "80000000";
flags10243dfloorflagsadd = "40000000";
}
122
{
title = "Water, Opaque, No Sides";
prefix = "(122)";
flags2text = "[1] Make lava intangible";
flags64text = "[6] Use two light levels";
flags512text = "[9] Use target light level";
flags1024text = "[10] Ripple effect";
3dfloor = true;
3dfloorflags = "F31";
flags643dfloorflagsadd = "20000";
flags5123dfloorflagsadd = "80000000";
flags10243dfloorflagsadd = "40000000";
}
123
{
title = "Water, Translucent, No Sides";
prefix = "(123)";
flags2text = "[1] Make lava intangible";
flags64text = "[6] Use two light levels";
flags512text = "[9] Use target light level";
flags1024text = "[10] Ripple effect";
flags8192text = "[13] Cut cyan flat pixels";
3dfloor = true;
3dfloorflags = "1F31";
flags643dfloorflagsadd = "20000";
flags5123dfloorflagsadd = "80000000";
flags10243dfloorflagsadd = "40000000";
}
124
{
title = "Goo Water, Translucent";
prefix = "(124)";
flags2text = "[1] Make lava intangible";
flags8text = "[3] Slope skew sides";
flags64text = "[6] Use two light levels";
flags512text = "[9] Use target light level";
flags1024text = "[10] Ripple effect";
flags8192text = "[13] Cut cyan flat pixels";
3dfloor = true;
3dfloorflags = "209F39";
flags643dfloorflagsadd = "20000";
flags5123dfloorflagsadd = "80000000";
flags10243dfloorflagsadd = "40000000";
}
125
{
title = "Goo Water, Translucent, No Sides";
prefix = "(125)";
flags2text = "[1] Make lava intangible";
flags64text = "[6] Use two light levels";
flags512text = "[9] Use target light level";
flags1024text = "[10] Ripple effect";
flags8192text = "[13] Cut cyan flat pixels";
3dfloor = true;
3dfloorflags = "201F31";
flags643dfloorflagsadd = "20000";
flags5123dfloorflagsadd = "80000000";
flags10243dfloorflagsadd = "40000000";
}
220
{
title = "Intangible, Opaque";
prefix = "(220)";
flags8text = "[3] Slope skew sides";
3dfloor = true;
3dfloorflags = "8F19";
}
221
{
title = "Intangible, Translucent";
prefix = "(221)";
flags8text = "[3] Slope skew sides";
flags64text = "[6] Cast shadow";
flags8192text = "[13] Cut cyan flat pixels";
3dfloor = true;
3dfloorflags = "1B59";
flags643dfloorflagsremove = "40";
}
222
{
title = "Intangible, Sides Only";
prefix = "(222)";
flags8text = "[3] Slope skew sides";
flags64text = "[6] Cast shadow";
3dfloor = true;
3dfloorflags = "8249";
flags643dfloorflagsremove = "240";
}
223
{
title = "Intangible, Invisible";
prefix = "(223)";
3dfloor = true;
3dfloorflags = "41";
invisiblefof = true;
}
}
fofmoving
{
title = "FOF (moving)";
150
{
title = "Air Bobbing";
prefix = "(150)";
flags8text = "[3] Slope skew sides";
flags32text = "[5] Only block player";
flags64text = "[6] Spindash to move";
flags128text = "[7] Only block non-players";
3dfloor = true;
3dfloorflags = "19F";
}
151
{
title = "Air Bobbing (Adjustable)";
prefix = "(151)";
flags8text = "[3] Slope skew sides";
flags32text = "[5] Only block player";
flags64text = "[6] Spindash to move";
flags128text = "[7] Only block non-players";
3dfloor = true;
3dfloorflags = "19F";
}
152
{
title = "Reverse Air Bobbing (Adjustable)";
prefix = "(152)";
flags8text = "[3] Slope skew sides";
flags32text = "[5] Only block player";
flags64text = "[6] Spindash to move";
flags128text = "[7] Only block non-players";
3dfloor = true;
3dfloorflags = "19F";
}
153
{
title = "Dynamically Sinking Platform";
prefix = "(153)";
flags8text = "[3] Slope skew sides";
flags32text = "[5] Only block player";
flags64text = "[6] Spindash to move";
flags128text = "[7] Only block non-players";
3dfloor = true;
3dfloorflags = "19F";
}
160
{
title = "Water Bobbing";
prefix = "(160)";
flags8text = "[3] Slope skew sides";
flags32text = "[5] Only block player";
flags128text = "[7] Only block non-players";
3dfloor = true;
3dfloorflags = "4019F";
}
190
{
title = "Rising Platform, Solid, Opaque";
prefix = "(190)";
flags2text = "[1] Sink when stepped on";
flags8text = "[3] Slope skew sides";
flags32text = "[5] Only block player";
flags64text = "[6] Spindash to move";
flags128text = "[7] Only block non-players";
3dfloor = true;
3dfloorflags = "19F";
}
191
{
title = "Rising Platform, Solid, Opaque, No Shadow";
prefix = "(191)";
flags2text = "[1] Sink when stepped on";
flags8text = "[3] Slope skew sides";
flags32text = "[5] Only block player";
flags64text = "[6] Spindash to move";
flags128text = "[7] Only block non-players";
3dfloor = true;
3dfloorflags = "1DF";
}
192
{
title = "Rising Platform, Solid, Translucent";
prefix = "(192)";
flags2text = "[1] Sink when stepped on";
flags8text = "[3] Slope skew sides";
flags32text = "[5] Only block player";
flags64text = "[6] Spindash to move";
flags128text = "[7] Only block non-players";
flags8192text = "[13] Cut cyan flat pixels";
3dfloor = true;
3dfloorflags = "195F";
}
193
{
title = "Rising Platform, Solid, Invisible";
prefix = "(193)";
flags2text = "[1] Sink when stepped on";
flags32text = "[5] Only block player";
flags64text = "[6] Spindash to move";
flags128text = "[7] Only block non-players";
3dfloor = true;
3dfloorflags = "47";
}
194
{
title = "Rising Platform, Intangible from Bottom, Opaque";
prefix = "(194)";
flags2text = "[1] Sink when stepped on";
flags8text = "[3] Slope skew sides";
flags32text = "[5] Only block player";
flags64text = "[6] Spindash, no shadow";
flags128text = "[7] Only block non-players";
3dfloor = true;
3dfloorflags = "200841F";
flags643dfloorflagsadd = "40";
}
195
{
title = "Rising Platform, Intangible from Bottom, Translucent";
prefix = "(195)";
flags2text = "[1] Sink when stepped on";
flags8text = "[3] Slope skew sides";
flags32text = "[5] Only block player";
flags64text = "[6] Spindash, no shadow";
flags128text = "[7] Only block non-players";
flags8192text = "[13] Cut cyan flat pixels";
3dfloor = true;
3dfloorflags = "2009D1F";
flags643dfloorflagsadd = "40";
}
}
fofcrumbling
{
title = "FOF (crumbling)";
170
{
title = "Crumbling, Respawn";
prefix = "(170)";
flags8text = "[3] Slope skew sides";
flags32text = "[5] Only block player";
flags128text = "[7] Only block non-players";
3dfloor = true;
3dfloorflags = "10019F";
}
171
{
title = "Crumbling, No Respawn";
prefix = "(171)";
flags8text = "[3] Slope skew sides";
flags32text = "[5] Only block player";
flags128text = "[7] Only block non-players";
3dfloor = true;
3dfloorflags = "80019F";
}
172
{
title = "Crumbling, Respawn, Intangible from Bottom";
prefix = "(172)";
flags8text = "[3] Slope skew sides";
flags32text = "[5] Only block player";
flags64text = "[6] Don't cast shadow";
flags128text = "[7] Only block non-players";
3dfloor = true;
3dfloorflags = "210841F";
flags643dfloorflagsadd = "40";
}
173
{
title = "Crumbling, No Respawn, Intangible from Bottom";
prefix = "(173)";
flags8text = "[3] Slope skew sides";
flags32text = "[5] Only block player";
flags64text = "[6] Don't cast shadow";
flags128text = "[7] Only block non-players";
3dfloor = true;
3dfloorflags = "218841F";
flags643dfloorflagsadd = "40";
}
174
{
title = "Crumbling, Respawn, Int. from Bottom, Translucent";
prefix = "(174)";
flags8text = "[3] Slope skew sides";
flags32text = "[5] Only block player";
flags64text = "[6] Don't cast shadow";
flags128text = "[7] Only block non-players";
flags8192text = "[13] Cut cyan flat pixels";
3dfloor = true;
3dfloorflags = "210959F";
flags643dfloorflagsadd = "40";
}
175
{
title = "Crumbling, No Respawn, Int. from Bottom, Translucent";
prefix = "(175)";
flags8text = "[3] Slope skew sides";
flags32text = "[5] Only block player";
flags64text = "[6] Don't cast shadow";
flags128text = "[7] Only block non-players";
flags8192text = "[13] Cut cyan flat pixels";
3dfloor = true;
3dfloorflags = "218959F";
flags643dfloorflagsadd = "40";
}
176
{
title = "Crumbling, Respawn, Floating, Bobbing";
prefix = "(176)";
flags8text = "[3] Slope skew sides";
flags32text = "[5] Only block player";
flags64text = "[6] Spindash to move";
flags128text = "[7] Only block non-players";
3dfloor = true;
3dfloorflags = "14019F";
}
177
{
title = "Crumbling, No Respawn, Floating, Bobbing";
prefix = "(177)";
flags8text = "[3] Slope skew sides";
flags32text = "[5] Only block player";
flags64text = "[6] Spindash to move";
flags128text = "[7] Only block non-players";
3dfloor = true;
3dfloorflags = "1C019F";
}
178
{
title = "Crumbling, Respawn, Floating";
prefix = "(178)";
flags8text = "[3] Slope skew sides";
flags32text = "[5] Only block player";
flags128text = "[7] Only block non-players";
3dfloor = true;
3dfloorflags = "14019F";
}
179
{
title = "Crumbling, No Respawn, Floating";
prefix = "(179)";
flags8text = "[3] Slope skew sides";
flags32text = "[5] Only block player";
flags128text = "[7] Only block non-players";
3dfloor = true;
3dfloorflags = "1C019F";
}
180
{
title = "Crumbling, Respawn, Air Bobbing";
prefix = "(180)";
flags8text = "[3] Slope skew sides";
flags32text = "[5] Only block player";
flags64text = "[6] Spindash to move";
flags128text = "[7] Only block non-players";
3dfloor = true;
3dfloorflags = "10019F";
}
}
fofspecial
{
title = "FOF (special)";
200
{
title = "Light Block";
prefix = "(200)";
3dfloor = true;
3dfloorflags = "20201";
invisiblefof = true;
}
201
{
title = "Half Light Block";
prefix = "(201)";
3dfloor = true;
3dfloorflags = "201";
invisiblefof = true;
}
202
{
title = "Fog Block";
prefix = "(202)";
3dfloor = true;
3dfloorflags = "3EF01";
invisiblefof = true;
}
250
{
title = "Mario Block";
prefix = "(250)";
flags8text = "[3] Slope skew sides";
flags32text = "[5] Invisible block";
flags64text = "[6] Brick block";
3dfloor = true;
3dfloorflags = "40019F";
flags323dfloorflagsremove = "19E";
flags643dfloorflagsadd = "200000";
}
251
{
title = "Thwomp Block";
prefix = "(251)";
flags8text = "[3] Slope skew sides";
flags32text = "[5] Only block player";
flags128text = "[7] Only block non-players";
flags512text = "[9] Custom crushing sound";
flags1024text = "[10] Custom speed";
3dfloor = true;
3dfloorflags = "19F";
}
252
{
title = "Shatter Block";
prefix = "(252)";
flags8text = "[3] Slope skew sides";
flags64text = "[6] Shatter only from below";
flags512text = "[9] Shattered by pushables";
flags1024text = "[10] Trigger linedef executor";
3dfloor = true;
3dfloorflags = "880001D";
flags643dfloorflagsadd = "200002";
}
253
{
title = "Shatter Block, Translucent";
prefix = "(253)";
flags8text = "[3] Slope skew sides";
flags512text = "[9] Shattered by pushables";
flags1024text = "[10] Trigger linedef executor";
flags8192text = "[13] Cut cyan flat pixels";
3dfloor = true;
3dfloorflags = "880101D";
}
254
{
title = "Bustable Block";
prefix = "(254)";
flags8text = "[3] Slope skew sides";
flags32text = "[5] Only block player";
flags64text = "[6] Strong characters only";
flags128text = "[7] Only block non-players";
flags512text = "[9] Shattered by pushables";
flags1024text = "[10] Trigger linedef executor";
3dfloor = true;
3dfloorflags = "80001F";
flags643dfloorflagsadd = "20000000";
}
255
{
title = "Spin-Bustable Block";
prefix = "(255)";
flags8text = "[3] Slope skew sides";
flags32text = "[5] Only block player";
flags128text = "[7] Only block non-players";
flags512text = "[9] Shattered by pushables";
flags1024text = "[10] Trigger linedef executor";
3dfloor = true;
3dfloorflags = "1080001F";
}
256
{
title = "Spin-Bustable Block, Translucent";
prefix = "(256)";
flags8text = "[3] Slope skew sides";
flags32text = "[5] Only block player";
flags128text = "[7] Only block non-players";
flags512text = "[9] Shattered by pushables";
flags1024text = "[10] Trigger linedef executor";
flags8192text = "[13] Cut cyan flat pixels";
3dfloor = true;
3dfloorflags = "1080101F";
}
257
{
title = "Quicksand";
prefix = "(257)";
flags8text = "[3] Slope skew sides";
flags1024text = "[10] Ripple effect";
3dfloor = true;
3dfloorflags = "1008219";
flags10243dfloorflagsadd = "40000000";
}
258
{
title = "Laser";
prefix = "(258)";
flags8text = "[3] Slope skew sides";
flags32text = "[5] Don't damage bosses";
flags8192text = "[13] Cut cyan flat pixels";
3dfloor = true;
3dfloorflags = "959";
}
259
{
title = "Custom FOF";
prefix = "(259)";
flags8text = "[3] Slope skew sides";
flags32text = "[5] Only block player";
flags128text = "[7] Only block non-players";
flags512text = "[9] Shattered by pushables";
flags1024text = "[10] Trigger linedef executor";
flags8192text = "[13] Cut cyan flat pixels";
3dfloor = true;
3dfloorcustom = true;
}
}
linedeftrigger
{
title = "Linedef Executor Trigger";
300
{
title = "Continuous";
prefix = "(300)";
flags1024text = "[10] Use faster, unordered execution";
}
301
{
title = "Each Time";
prefix = "(301)";
flags1024text = "[10] Use faster, unordered execution";
flags16384text = "[14] Also trigger on exit";
}
302
{
title = "Once";
prefix = "(302)";
flags1024text = "[10] Use faster, unordered execution";
}
303
{
title = "Ring Count - Continuous";
prefix = "(303)";
flags2text = "[1] Rings greater or equal";
flags64text = "[6] Rings less or equal";
flags512text = "[9] Consider all players";
flags1024text = "[10] Use faster, unordered execution";
}
304
{
title = "Ring Count - Once";
prefix = "(304)";
flags2text = "[1] Rings greater or equal";
flags64text = "[6] Rings less or equal";
flags512text = "[9] Consider all players";
flags1024text = "[10] Use faster, unordered execution";
}
305
{
title = "Character Ability - Continuous";
prefix = "(305)";
flags1024text = "[10] Use faster, unordered execution";
}
306
{
title = "Character Ability - Each Time";
prefix = "(306)";
flags1024text = "[10] Use faster, unordered execution";
flags16384text = "[14] Also trigger on exit";
}
307
{
title = "Character Ability - Once";
prefix = "(307)";
flags1024text = "[10] Use faster, unordered execution";
}
308
{
title = "Race Only - Once";
prefix = "(308)";
flags1024text = "[10] Use faster, unordered execution";
}
309
{
title = "CTF Red Team - Continuous";
prefix = "(309)";
flags1024text = "[10] Use faster, unordered execution";
}
310
{
title = "CTF Red Team - Each Time";
prefix = "(310)";
flags1024text = "[10] Use faster, unordered execution";
flags16384text = "[14] Also trigger on exit";
}
311
{
title = "CTF Blue Team - Continuous";
prefix = "(311)";
flags1024text = "[10] Use faster, unordered execution";
}
312
{
title = "CTF Blue Team - Each Time";
prefix = "(312)";
flags1024text = "[10] Use faster, unordered execution";
flags16384text = "[14] Also trigger on exit";
}
313
{
title = "No More Enemies - Once";
prefix = "(313)";
flags1024text = "[10] Use faster, unordered execution";
}
314
{
title = "Number of Pushables - Continuous";
prefix = "(314)";
flags64text = "[6] Number greater or equal";
flags512text = "[9] Number less";
flags1024text = "[10] Use faster, unordered execution";
}
315
{
title = "Number of Pushables - Once";
prefix = "(315)";
flags64text = "[6] Number greater or equal";
flags512text = "[9] Number less";
flags1024text = "[10] Use faster, unordered execution";
}
317
{
title = "Condition Set Trigger - Continuous";
prefix = "(317)";
flags1024text = "[10] Use faster, unordered execution";
}
318
{
title = "Condition Set Trigger - Once";
prefix = "(318)";
flags1024text = "[10] Use faster, unordered execution";
}
319
{
title = "Unlockable - Continuous";
prefix = "(319)";
flags1024text = "[10] Use faster, unordered execution";
}
320
{
title = "Unlockable - Once";
prefix = "(320)";
flags1024text = "[10] Use faster, unordered execution";
}
321
{
title = "Trigger After X Calls - Continuous";
prefix = "(321)";
flags64text = "[6] Trigger more than once";
flags1024text = "[10] Use faster, unordered execution";
}
322
{
title = "Trigger After X Calls - Each Time";
prefix = "(322)";
flags64text = "[6] Trigger more than once";
flags1024text = "[10] Use faster, unordered execution";
}
323
{
title = "NiGHTSerize - Each Time";
prefix = "(323)";
flags2text = "[1] Mare >= Front X Offset";
flags8text = "[3] Run only if player is NiGHTS";
flags16text = "[4] Count from lowest of players";
flags32text = "[5] Lap <= Front Y Offset";
flags64text = "[6] Mare <= Front X Offset";
flags128text = "[7] Lap >= Front Y Offset";
flags256text = "[8] Count laps from Bonus Time";
flags512text = "[9] Count from triggering player";
flags1024text = "[10] Use faster, unordered execution";
flags16384text = "[14] Run if no more mares";
flags32768text = "[15] Run if player is not NiGHTS";
}
324
{
title = "NiGHTSerize - Once";
prefix = "(324)";
flags2text = "[1] Mare >= Front X Offset";
flags8text = "[3] Run only if player is NiGHTS";
flags16text = "[4] Count from lowest of players";
flags32text = "[5] Lap <= Front Y Offset";
flags64text = "[6] Mare <= Front X Offset";
flags128text = "[7] Lap >= Front Y Offset";
flags256text = "[8] Count laps from Bonus Time";
flags512text = "[9] Count from triggering player";
flags1024text = "[10] Use faster, unordered execution";
flags16384text = "[14] Run if no more mares";
flags32768text = "[15] Run if player is not NiGHTS";
}
325
{
title = "De-NiGHTSerize - Each Time";
prefix = "(325)";
flags2text = "[1] Mare >= Front X Offset";
flags8text = "[3] Run if anyone is NiGHTS";
flags16text = "[4] Count from lowest of players";
flags32text = "[5] Lap <= Front Y Offset";
flags64text = "[6] Mare <= Front X Offset";
flags128text = "[7] Lap >= Front Y Offset";
flags256text = "[8] Count laps from Bonus Time";
flags512text = "[9] Count from triggering player";
flags1024text = "[10] Use faster, unordered execution";
flags32768text = "[15] Run if no one is NiGHTS";
}
326
{
title = "De-NiGHTSerize - Once";
prefix = "(326)";
flags2text = "[1] Mare >= Front X Offset";
flags8text = "[3] Run if anyone is NiGHTS";
flags16text = "[4] Count from lowest of players";
flags32text = "[5] Lap <= Front Y Offset";
flags64text = "[6] Mare <= Front X Offset";
flags128text = "[7] Lap >= Front Y Offset";
flags256text = "[8] Count laps from Bonus Time";
flags512text = "[9] Count from triggering player";
flags1024text = "[10] Use faster, unordered execution";
flags32768text = "[15] Run if no one is NiGHTS";
}
327
{
title = "NiGHTS Lap - Each Time";
prefix = "(327)";
flags2text = "[1] Mare >= Front X Offset";
flags16text = "[4] Count from lowest of players";
flags32text = "[5] Lap <= Front Y Offset";
flags64text = "[6] Mare <= Front X Offset";
flags128text = "[7] Lap >= Front Y Offset";
flags256text = "[8] Count laps from Bonus Time";
flags512text = "[9] Count from triggering player";
flags1024text = "[10] Use faster, unordered execution";
}
328
{
title = "NiGHTS Lap - Once";
prefix = "(328)";
flags2text = "[1] Mare >= Front X Offset";
flags16text = "[4] Count from lowest of players";
flags32text = "[5] Lap <= Front Y Offset";
flags64text = "[6] Mare <= Front X Offset";
flags128text = "[7] Lap >= Front Y Offset";
flags256text = "[8] Count laps from Bonus Time";
flags512text = "[9] Count from triggering player";
flags1024text = "[10] Use faster, unordered execution";
}
329
{
title = "Ideya Capture Touch - Each Time";
prefix = "(329)";
flags2text = "[1] Mare >= Front X Offset";
flags8text = "[3] Run regardless of spheres";
flags16text = "[4] Count from lowest of players";
flags32text = "[5] Lap <= Front Y Offset";
flags64text = "[6] Mare <= Front X Offset";
flags128text = "[7] Lap >= Front Y Offset";
flags256text = "[8] Count laps from Bonus Time";
flags512text = "[9] Count from triggering player";
flags1024text = "[10] Use faster, unordered execution";
flags16384text = "[14] Only if not enough spheres";
flags32768text = "[15] Run when entering Capture";
}
330
{
title = "Ideya Capture Touch - Once";
prefix = "(330)";
flags2text = "[1] Mare >= Front X Offset";
flags8text = "[3] Run regardless of spheres";
flags16text = "[4] Count from lowest of players";
flags32text = "[5] Lap <= Front Y Offset";
flags64text = "[6] Mare <= Front X Offset";
flags128text = "[7] Lap >= Front Y Offset";
flags256text = "[8] Count laps from Bonus Time";
flags512text = "[9] Count from triggering player";
flags1024text = "[10] Use faster, unordered execution";
flags16384text = "[14] Only if not enough spheres";
flags32768text = "[15] Run when entering Capture";
}
331
{
title = "Player Skin - Continuous";
prefix = "(331)";
flags64text = "[6] Disable for this skin";
flags1024text = "[10] Use faster, unordered execution";
}
332
{
title = "Player Skin - Each Time";
prefix = "(332)";
flags64text = "[6] Disable for this skin";
flags1024text = "[10] Use faster, unordered execution";
}
333
{
title = "Player Skin - Once";
prefix = "(333)";
flags64text = "[6] Disable for this skin";
flags1024text = "[10] Use faster, unordered execution";
}
334
{
title = "Object Dye - Continuous";
prefix = "(334)";
flags64text = "[6] Disable for this color";
flags1024text = "[10] Use faster, unordered execution";
}
335
{
title = "Object Dye - Each Time";
prefix = "(335)";
flags64text = "[6] Disable for this color";
flags1024text = "[10] Use faster, unordered execution";
}
336
{
title = "Object Dye - Once";
prefix = "(336)";
flags64text = "[6] Disable for this color";
flags1024text = "[10] Use faster, unordered execution";
}
337
{
title = "Emerald Check - Continuous";
prefix = "(337)";
}
338
{
title = "Emerald Check - Each Time";
prefix = "(338)";
}
339
{
title = "Emerald Check - Once";
prefix = "(339)";
}
340
{
title = "NiGHTS Mare - Continuous";
flags2text = "[1] Mare greater or equal";
flags64text = "[6] Mare less or equal";
prefix = "(340)";
}
341
{
title = "NiGHTS Mare - Each Time";
flags2text = "[1] Mare greater or equal";
flags64text = "[6] Mare less or equal";
prefix = "(341)";
}
342
{
title = "NiGHTS Mare - Once";
flags2text = "[1] Mare greater or equal";
flags64text = "[6] Mare less or equal";
prefix = "(342)";
}
343
{
title = "Gravity Check - Continuous";
flags2text = "[1] Check temporary reverse gravity";
flags64text = "[6] Check for reverse gravity";
prefix = "(343)";
}
344
{
title = "Gravity Check - Each Time";
flags2text = "[1] Check temporary reverse gravity";
flags64text = "[6] Check for reverse gravity";
prefix = "(344)";
}
345
{
title = "Gravity Check - Once";
flags2text = "[1] Check temporary reverse gravity";
flags64text = "[6] Check for reverse gravity";
prefix = "(345)";
}
399
{
title = "Level Load";
prefix = "(399)";
flags1024text = "[10] Use faster, unordered execution";
}
}
linedefexecsector
{
title = "Linedef Executor (sector)";
400
{
title = "Set Tagged Sector's Floor Height/Texture";
prefix = "(400)";
flags8text = "[3] Set delay by backside sector";
flags64text = "[6] Don't change floor texture";
}
401
{
title = "Set Tagged Sector's Ceiling Height/Texture";
prefix = "(401)";
flags8text = "[3] Set delay by backside sector";
flags64text = "[6] Don't change ceiling texture";
}
402
{
title = "Copy Light Level to Tagged Sectors";
prefix = "(402)";
flags8text = "[3] Set delay by backside sector";
}
408
{
title = "Set Tagged Sector's Flats";
prefix = "(408)";
flags64text = "[6] Don't set floor flat";
flags512text = "[9] Don't set ceiling flat";
}
409
{
title = "Change Tagged Sector's Tag";
prefix = "(409)";
flags2text = "[1] Remove tag";
flags8text = "[3] Set delay by backside sector";
flags64text = "[6] Add tag";
}
410
{
title = "Change Front Sector's Tag";
prefix = "(410)";
flags2text = "[1] Remove tag";
flags8text = "[3] Set delay by backside sector";
flags64text = "[6] Add tag";
}
416
{
title = "Start Adjustable Flickering Light";
prefix = "(416)";
flags8text = "[3] Set delay by backside sector";
flags64text = "[6] Second level from back";
}
417
{
title = "Start Adjustable Pulsating Light";
prefix = "(417)";
flags8text = "[3] Set delay by backside sector";
flags64text = "[6] Second level from back";
}
418
{
title = "Start Adjustable Blinking Light (unsynchronized)";
prefix = "(418)";
flags8text = "[3] Set delay by backside sector";
flags64text = "[6] Second level from back";
}
419
{
title = "Start Adjustable Blinking Light (synchronized)";
prefix = "(419)";
flags8text = "[3] Set delay by backside sector";
flags64text = "[6] Second level from back";
}
420
{
title = "Fade Light Level";
prefix = "(420)";
flags8text = "[3] Set delay by backside sector";
flags16text = "[4] Set params by X/Y offsets";
flags512text = "[9] Speed = Tic Duration";
flags1024text = "[10] Override existing fade";
}
421
{
title = "Stop Lighting Effect";
prefix = "(421)";
flags8text = "[3] Set delay by backside sector";
}
435
{
title = "Change Plane Scroller Direction";
prefix = "(435)";
flags8text = "[3] Set delay by backside sector";
}
467
{
title = "Set Tagged Sector's Light Level";
prefix = "(467)";
flags8text = "[3] Set delay by backside sector";
flags256text = "[8] Set relative to current";
}
}
linedefexecplane
{
title = "Linedef Executor (plane movement)";
403
{
title = "Move Tagged Sector's Floor";
prefix = "(403)";
flags2text = "[1] Trigger linedef executor";
flags8text = "[3] Set delay by backside sector";
flags64text = "[6] Change floor texture";
}
404
{
title = "Move Tagged Sector's Ceiling";
prefix = "(404)";
flags2text = "[1] Trigger linedef executor";
flags8text = "[3] Set delay by backside sector";
flags64text = "[6] Change ceiling texture";
}
405
{
title = "Move Floor According to Front Texture Offsets";
prefix = "(405)";
flags8text = "[3] Set delay by backside sector";
flags64text = "[6] Move instantly";
}
407
{
title = "Move Ceiling According to Front Texture Offsets";
prefix = "(407)";
flags8text = "[3] Set delay by backside sector";
flags64text = "[6] Move instantly";
}
411
{
title = "Stop Plane Movement";
prefix = "(411)";
flags8text = "[3] Set delay by backside sector";
}
428
{
title = "Start Platform Movement";
prefix = "(428)";
flags8text = "[3] Set delay by backside sector";
flags64text = "[6] Move upwards at start";
}
429
{
title = "Crush Ceiling Once";
prefix = "(429)";
flags8text = "[3] Set delay by backside sector";
flags512text = "[9] Double, constant speed";
}
430
{
title = "Crush Floor Once";
prefix = "(430)";
flags8text = "[3] Set delay by backside sector";
}
431
{
title = "Crush Floor and Ceiling Once";
prefix = "(431)";
flags8text = "[3] Set delay by backside sector";
flags512text = "[9] Double, constant speed";
}
}
linedefexecplayer
{
title = "Linedef Executor (player/object)";
412
{
title = "Teleporter";
prefix = "(412)";
flags2text = "[1] Silent";
flags8text = "[3] Set delay by backside sector";
flags64text = "[6] Retain angle";
flags256text = "[8] Relative, silent";
flags512text = "[9] Retain momentum";
}
425
{
title = "Change Object State";
prefix = "(425)";
flags8text = "[3] Set delay by backside sector";
}
426
{
title = "Stop Object";
prefix = "(426)";
flags8text = "[3] Set delay by backside sector";
flags64text = "[6] Teleport to sector center";
}
427
{
title = "Award Score";
prefix = "(427)";
flags8text = "[3] Set delay by backside sector";
}
432
{
title = "Enable/Disable 2D Mode";
prefix = "(432)";
flags8text = "[3] Set delay by backside sector";
flags64text = "[6] Return to 3D";
}
433
{
title = "Enable/Disable Gravity Flip";
prefix = "(433)";
flags2text = "[1] Force MFE_VERTICALFLIP";
flags8text = "[3] Set delay by backside sector";
flags32text = "[5] Invert current gravity";
flags64text = "[6] Return to normal";
}
434
{
title = "Award Power-Up";
prefix = "(434)";
flags2text = "[1] Use back upper texture";
flags8text = "[3] Set delay by backside sector";
flags64text = "[6] No time limit";
}
437
{
title = "Disable Player Control";
prefix = "(437)";
flags8text = "[3] Set delay by backside sector";
flags64text = "[6] Allow jumping";
}
438
{
title = "Change Object Size";
prefix = "(438)";
flags8text = "[3] Set delay by backside sector";
}
442
{
title = "Change Object Type State";
prefix = "(442)";
flags8text = "[3] Set delay by backside sector";
}
449
{
title = "Enable Bosses with Parameter";
prefix = "(449)";
flags8text = "[3] Set delay by backside sector";
flags64text = "[6] Disable bosses";
}
457
{
title = "Track Object's Angle";
prefix = "(457)";
flags8text = "[3] Set delay by backside sector";
flags128text = "[7] Don't stop after first fail";
}
458
{
title = "Stop Tracking Object's Angle";
prefix = "(458)";
flags8text = "[3] Set delay by backside sector";
}
460
{
title = "Award Rings";
prefix = "(460)";
flags8text = "[3] Set delay by backside sector";
}
461
{
title = "Spawn Object";
prefix = "(461)";
flags8text = "[3] Set delay by backside sector";
flags32text = "[5] Use line angle for object";
flags64text = "[6] Spawn inside a range";
}
462
{
title = "Stop Timer/Exit Stage in Record Attack";
prefix = "(462)";
flags8text = "[3] Set delay by backside sector";
}
463
{
title = "Dye Object";
prefix = "(463)";
}
464
{
title = "Trigger Egg Capsule";
prefix = "(464)";
flags64text = "[6] Don't end level";
}
}
linedefexecmisc
{
title = "Linedef Executor (misc.)";
413
{
title = "Change Music";
prefix = "(413)";
flags2text = "[1] Keep after death";
flags8text = "[3] Set delay by backside sector";
flags32text = "[5] Seek from current position";
flags64text = "[6] For everyone";
flags128text = "[7] Fade to custom volume";
flags512text = "[9] Don't loop";
flags16384text = "[14] Force music reload";
}
414
{
title = "Play Sound Effect";
prefix = "(414)";
flags2text = "[1] From calling sector";
flags8text = "[3] Set delay by backside sector";
flags64text = "[6] From nowhere for triggerer";
flags512text = "[9] From nowhere for everyone";
flags1024text = "[10] From tagged sectors";
}
415
{
title = "Run Script";
prefix = "(415)";
flags8text = "[3] Set delay by backside sector";
}
422
{
title = "Switch to Cut-Away View";
prefix = "(422)";
flags8text = "[3] Set delay by backside sector";
flags64text = "[6] Adjust pitch";
}
423
{
title = "Change Sky";
prefix = "(423)";
flags8text = "[3] Set delay by backside sector";
flags64text = "[6] For everyone";
}
424
{
title = "Change Weather";
prefix = "(424)";
flags8text = "[3] Set delay by backside sector";
flags64text = "[6] For everyone";
}
436
{
title = "Shatter FOF";
prefix = "(436)";
flags8text = "[3] Set delay by backside sector";
}
439
{
title = "Change Tagged Linedef's Textures";
prefix = "(439)";
flags8text = "[3] Set delay by backside sector";
flags64text = "[6] Only existing";
flags8192text = "[13] Use backside textures";
}
440
{
title = "Start Metal Sonic Race";
prefix = "(440)";
flags8text = "[3] Set delay by backside sector";
}
441
{
title = "Condition Set Trigger";
prefix = "(441)";
flags8text = "[3] Set delay by backside sector";
}
443
{
title = "Call Lua Function";
prefix = "(443)";
flags8text = "[3] Set delay by backside sector";
}
444
{
title = "Earthquake";
prefix = "(444)";
flags8text = "[3] Set delay by backside sector";
}
445
{
title = "Make FOF Disappear/Reappear";
prefix = "(445)";
flags8text = "[3] Set delay by backside sector";
flags64text = "[6] Reappear";
}
446
{
title = "Make FOF Crumble";
prefix = "(446)";
flags2text = "[1] Flags determine respawn";
flags8text = "[3] Set delay by backside sector";
flags64text = "[6] Don't respawn";
}
447
{
title = "Change Tagged Sector's Colormap";
prefix = "(447)";
flags8text = "[3] Set delay by backside sector";
flags16text = "[4] Front X/Y = Alpha";
flags32text = "[5] Subtract Red value";
flags64text = "[6] Subtract Green value";
flags128text = "[7] Subtract Blue value";
flags256text = "[8] Set relative to current";
flags32768text = "[15] Use backside colormap";
}
448
{
title = "Change Skybox";
prefix = "(448)";
flags2text = "[1] Change centerpoint";
flags8text = "[3] Set delay by backside sector";
flags64text = "[6] For everyone";
flags512text = "[9] Don't change viewpoint";
}
450
{
title = "Execute Linedef Executor (specific tag)";
prefix = "(450)";
flags8text = "[3] Set delay by backside sector";
}
451
{
title = "Execute Linedef Executor (random tag in range)";
prefix = "(451)";
flags8text = "[3] Set delay by backside sector";
}
452
{
title = "Set FOF Translucency";
prefix = "(452)";
flags8text = "[3] Set delay by backside sector";
flags64text = "[6] Do not handle FF_TRANS";
flags256text = "[8] Set relative to current";
}
453
{
title = "Fade FOF";
prefix = "(453)";
flags2text = "[1] Do not handle FF_EXISTS";
flags8text = "[3] Set delay by backside sector";
flags32text = "[5] No collision during fade";
flags64text = "[6] Do not handle FF_TRANS";
flags128text = "[7] Do not handle lighting";
flags256text = "[8] Set relative to current";
flags512text = "[9] Speed = Tic Duration";
flags1024text = "[10] Override existing fade";
flags16384text = "[14] Do not handle collision";
flags32768text = "[15] Use exact alpha in OGL";
}
454
{
title = "Stop Fading FOF";
prefix = "(454)";
flags2text = "[1] Do not finalize collision";
flags8text = "[3] Set delay by backside sector";
}
455
{
title = "Fade Tagged Sector's Colormap";
prefix = "(455)";
flags8text = "[3] Set delay by backside sector";
flags16text = "[4] Front X/Y = Alpha";
flags32text = "[5] Subtract Red value";
flags64text = "[6] Subtract Green value";
flags128text = "[7] Subtract Blue value";
flags256text = "[8] Set relative to current";
flags512text = "[9] Speed = Tic Duration";
flags1024text = "[10] Override existing fade";
flags16384text = "[14] Fade from invisible black";
flags32768text = "[15] Use backside colormap";
}
456
{
title = "Stop Fading Tagged Sector's Colormap";
prefix = "(456)";
flags8text = "[3] Set delay by backside sector";
}
459
{
title = "Control Text Prompt";
prefix = "(459)";
flags2text = "[1] Close text prompt";
flags8text = "[3] Set delay by backside sector";
flags32text = "[5] Run executor tag on close";
flags128text = "[7] Don't disable controls";
flags32768text = "[15] Find prompt by name";
}
}
linedefexecpoly
{
title = "Linedef Executor (polyobject)";
480
{
title = "PolyObject Door Slide";
prefix = "(480)";
flags8text = "[3] Set delay by backside sector";
}
481
{
title = "PolyObject Door Swing";
prefix = "(481)";
flags8text = "[3] Set delay by backside sector";
}
482
{
title = "Move PolyObject";
prefix = "(482)";
flags8text = "[3] Set delay by backside sector";
}
483
{
title = "Move PolyObject, Override";
prefix = "(483)";
flags8text = "[3] Set delay by backside sector";
}
484
{
title = "Rotate PolyObject Right";
prefix = "(484)";
flags8text = "[3] Set delay by backside sector";
flags64text = "[6] Don't turn players";
flags512text = "[9] Turn all objects";
}
485
{
title = "Rotate PolyObject Right, Override";
prefix = "(485)";
flags8text = "[3] Set delay by backside sector";
flags64text = "[6] Don't turn players";
flags512text = "[9] Turn all objects";
}
486
{
title = "Rotate PolyObject Left";
prefix = "(486)";
flags8text = "[3] Set delay by backside sector";
flags64text = "[6] Don't turn players";
flags512text = "[9] Turn all objects";
}
487
{
title = "Rotate PolyObject Left, Override";
prefix = "(487)";
flags8text = "[3] Set delay by backside sector";
flags64text = "[6] Don't turn players";
flags512text = "[9] Turn all objects";
}
488
{
title = "Move PolyObject by Waypoints";
prefix = "(488)";
flags8text = "[3] Set delay by backside sector";
flags32text = "[5] Reverse order";
flags128text = "[7] There and back";
flags256text = "[8] Return when done";
flags512text = "[9] Loop movement";
}
489
{
title = "Turn PolyObject Invisible, Intangible";
prefix = "(489)";
flags8text = "[3] Set delay by backside sector";
flags64text = "[6] Only invisible";
}
490
{
title = "Turn PolyObject Visible, Tangible";
prefix = "(490)";
flags8text = "[3] Set delay by backside sector";
flags64text = "[6] Only visible";
}
491
{
title = "Set PolyObject Translucency";
prefix = "(491)";
flags8text = "[3] Set delay by backside sector";
flags16text = "[4] Set raw alpha by Front X";
flags256text = "[8] Set relative to current";
}
492
{
title = "Fade PolyObject Translucency";
prefix = "(492)";
flags8text = "[3] Set delay by backside sector";
flags16text = "[4] Set raw alpha by Front X";
flags32text = "[5] No collision during fade";
flags256text = "[8] Set relative to current";
flags512text = "[9] Speed = Tic Duration";
flags1024text = "[10] Override existing fade";
flags16384text = "[14] Do not handle collision";
}
}
wallscroll
{
title = "Wall Scrolling";
500
{
title = "Scroll Front Wall Left";
prefix = "(500)";
}
501
{
title = "Scroll Front Wall Right";
prefix = "(501)";
}
502
{
title = "Scroll Tagged Walls";
prefix = "(502)";
flags128text = "[7] Use texture offsets";
flags256text = "[8] Scroll back side";
}
503
{
title = "Scroll Tagged Walls (Accelerative)";
prefix = "(503)";
flags128text = "[7] Use texture offsets";
flags256text = "[8] Scroll back side";
}
504
{
title = "Scroll Tagged Walls (Displacement)";
prefix = "(504)";
flags128text = "[7] Use texture offsets";
flags256text = "[8] Scroll back side";
}
505
{
title = "Scroll Front Wall by Front Side Offsets";
prefix = "(505)";
}
506
{
title = "Scroll Front Wall by Back Side Offsets";
prefix = "(506)";
}
507
{
title = "Scroll Back Wall by Front Side Offsets";
prefix = "(507)";
}
508
{
title = "Scroll Back Wall by Back Side Offsets";
prefix = "(508)";
}
}
planescroll
{
title = "Plane Scrolling";
510
{
title = "Scroll Floor Texture";
prefix = "(510)";
}
511
{
title = "Scroll Floor Texture (Accelerative)";
prefix = "(511)";
}
512
{
title = "Scroll Floor Texture (Displacement)";
prefix = "(512)";
}
513
{
title = "Scroll Ceiling Texture";
prefix = "(513)";
}
514
{
title = "Scroll Ceiling Texture (Accelerative)";
prefix = "(514)";
}
515
{
title = "Scroll Ceiling Texture (Displacement)";
prefix = "(515)";
}
520
{
title = "Carry Objects on Floor";
prefix = "(520)";
flags64text = "[6] Exclusive";
}
521
{
title = "Carry Objects on Floor (Accelerative)";
prefix = "(521)";
flags64text = "[6] Exclusive";
}
522
{
title = "Carry Objects on Floor (Displacement)";
prefix = "(522)";
flags64text = "[6] Exclusive";
}
523
{
title = "Carry Objects on Ceiling";
prefix = "(523)";
flags64text = "[6] Exclusive";
}
524
{
title = "Carry Objects on Ceiling (Accelerative)";
prefix = "(524)";
flags64text = "[6] Exclusive";
}
525
{
title = "Carry Objects on Ceiling (Displacement)";
prefix = "(525)";
flags64text = "[6] Exclusive";
}
530
{
title = "Scroll Floor Texture and Carry Objects";
prefix = "(530)";
flags64text = "[6] Exclusive";
}
531
{
title = "Scroll Floor Texture and Carry Objects (Accelerative)";
prefix = "(531)";
flags64text = "[6] Exclusive";
}
532
{
title = "Scroll Floor Texture and Carry Objects (Displacement)";
prefix = "(532)";
flags64text = "[6] Exclusive";
}
533
{
title = "Scroll Ceiling Texture and Carry Objects";
prefix = "(533)";
flags64text = "[6] Exclusive";
}
534
{
title = "Scroll Ceiling Texture and Carry Objects (Accelerative)";
prefix = "(534)";
flags64text = "[6] Exclusive";
}
535
{
title = "Scroll Ceiling Texture and Carry Objects (Displacement)";
prefix = "(535)";
flags64text = "[6] Exclusive";
}
}
pusher
{
title = "Pusher";
541
{
title = "Wind";
prefix = "(541)";
flags512text = "[9] Player slides";
flags64text = "[6] Exclusive";
}
542
{
title = "Upwards Wind";
prefix = "(542)";
flags512text = "[9] Player slides";
flags64text = "[6] Exclusive";
}
543
{
title = "Downwards Wind";
prefix = "(543)";
flags512text = "[9] Player slides";
flags64text = "[6] Exclusive";
}
544
{
title = "Current";
prefix = "(544)";
flags512text = "[9] Player slides";
flags64text = "[6] Exclusive";
}
545
{
title = "Upwards Current";
prefix = "(545)";
flags512text = "[9] Player slides";
flags64text = "[6] Exclusive";
}
546
{
title = "Downwards Current";
prefix = "(546)";
flags512text = "[9] Player slides";
flags64text = "[6] Exclusive";
}
547
{
title = "Push/Pull";
prefix = "(547)";
flags64text = "[6] Exclusive";
}
}
light
{
title = "Lighting";
600
{
title = "Floor Lighting";
prefix = "(600)";
}
601
{
title = "Ceiling Lighting";
prefix = "(601)";
}
602
{
title = "Adjustable Pulsating Light";
prefix = "(602)";
}
603
{
title = "Adjustable Flickering Light";
prefix = "(603)";
}
604
{
title = "Adjustable Blinking Light (unsynchronized)";
prefix = "(604)";
}
605
{
title = "Adjustable Blinking Light (synchronized)";
prefix = "(605)";
}
606
{
title = "Colormap";
prefix = "(606)";
}
}
slope
{
title = "Slope";
700
{
title = "Slope Frontside Floor";
prefix = "(700)";
flags2048text = "[11] No physics";
flags4096text = "[12] Dynamic";
flags32768text = "[15] Copy to other side";
slope = "regular";
slopeargs = 1;
copyslopeargs = 1;
}
701
{
title = "Slope Frontside Ceiling";
prefix = "(701)";
flags2048text = "[11] No physics";
flags4096text = "[12] Dynamic";
flags32768text = "[15] Copy to other side";
slope = "regular";
slopeargs = 2;
copyslopeargs = 4;
}
702
{
title = "Slope Frontside Floor and Ceiling";
prefix = "(702)";
flags2048text = "[11] No physics";
flags4096text = "[12] Dynamic";
flags32768text = "[15] Copy to other side";
slope = "regular";
slopeargs = 3;
copyslopeargs = 5;
}
703
{
title = "Slope Frontside Floor and Backside Ceiling";
prefix = "(703)";
flags2048text = "[11] No physics";
flags4096text = "[12] Dynamic";
flags32768text = "[15] Copy to other side";
slope = "regular";
slopeargs = 9;
copyslopeargs = 8;
}
704
{
title = "Slope Frontside Floor by 3 Tagged Vertex Things";
prefix = "(704)";
flags2048text = "[11] No physics";
flags4096text = "[12] Dynamic";
flags8192text = "[13] Use tag and offsets";
slope = "vertex";
slopeargs = 0;
}
705
{
title = "Slope Frontside Ceiling by 3 Tagged Vertex Things";
prefix = "(705)";
flags2048text = "[11] No physics";
flags4096text = "[12] Dynamic";
flags8192text = "[13] Use tag and offsets";
slope = "vertex";
slopeargs = 1;
}
710
{
title = "Slope Backside Floor";
prefix = "(710)";
flags2048text = "[11] No physics";
flags4096text = "[12] Dynamic";
flags32768text = "[15] Copy to other side";
slope = "regular";
slopeargs = 4;
copyslopeargs = 2;
}
711
{
title = "Slope Backside Ceiling";
prefix = "(711)";
flags2048text = "[11] No physics";
flags4096text = "[12] Dynamic";
flags32768text = "[15] Copy to other side";
slope = "regular";
slopeargs = 8;
copyslopeargs = 8;
}
712
{
title = "Slope Backside Floor and Ceiling";
prefix = "(712)";
flags2048text = "[11] No physics";
flags4096text = "[12] Dynamic";
flags32768text = "[15] Copy to other side";
slope = "regular";
slopeargs = 12;
copyslopeargs = 10;
}
713
{
title = "Slope Backside Floor and Frontside Ceiling";
prefix = "(713)";
flags2048text = "[11] No physics";
flags4096text = "[12] Dynamic";
flags32768text = "[15] Copy to other side";
slope = "regular";
slopeargs = 6;
copyslopeargs = 6;
}
714
{
title = "Slope Backside Floor by 3 Tagged Vertex Things";
prefix = "(714)";
flags2048text = "[11] No physics";
flags4096text = "[12] Dynamic";
flags8192text = "[13] Use tag and offsets";
slope = "vertex";
slopeargs = 2;
}
715
{
title = "Slope Backside Ceiling by 3 Tagged Vertex Things";
prefix = "(715)";
flags2048text = "[11] No physics";
flags4096text = "[12] Dynamic";
flags8192text = "[13] Use tag and offsets";
slope = "vertex";
slopeargs = 3;
}
720
{
title = "Copy Frontside Floor Slope from Line Tag";
prefix = "(720)";
slope = "copy";
slopeargs = 1;
}
721
{
title = "Copy Frontside Ceiling Slope from Line Tag";
prefix = "(721)";
slope = "copy";
slopeargs = 2;
}
722
{
title = "Copy Frontside Floor and Ceiling Slope from Line Tag";
prefix = "(722)";
slope = "copy";
slopeargs = 3;
}
723
{
title = "Copy Backside Floor Slope from Line Tag";
prefix = "(723)";
slope = "copy";
slopeargs = 4;
}
724
{
title = "Copy Backside Ceiling Slope from Line Tag";
prefix = "(724)";
slope = "copy";
slopeargs = 8;
}
725
{
title = "Copy Backside Floor and Ceiling Slope from Line Tag";
prefix = "(725)";
slope = "copy";
slopeargs = 12;
}
730
{
title = "Copy Frontside Floor Slope to Backside";
prefix = "(730)";
slope = "copy";
copyslopeargs = 1;
}
731
{
title = "Copy Frontside Ceiling Slope to Backside";
prefix = "(731)";
slope = "copy";
copyslopeargs = 4;
}
732
{
title = "Copy Frontside Floor and Ceiling Slope to Backside";
prefix = "(732)";
slope = "copy";
copyslopeargs = 5;
}
733
{
title = "Copy Backside Floor Slope to Frontside";
prefix = "(733)";
slope = "copy";
copyslopeargs = 2;
}
734
{
title = "Copy Backside Ceiling Slope to Frontside";
prefix = "(734)";
slope = "copy";
copyslopeargs = 8;
}
735
{
title = "Copy Backside Floor and Ceiling Slope to Frontside";
prefix = "(735)";
slope = "copy";
copyslopeargs = 10;
}
799
{
title = "Set Tagged Dynamic Slope Vertex to Front Sector Height";
prefix = "(799)";
flags64text = "[6] Use relative heights";
}
}
transwall
{
title = "Translucent Walls";
900
{
title = "90% Opaque";
prefix = "(900)";
}
901
{
title = "80% Opaque";
prefix = "(901)";
}
902
{
title = "70% Opaque";
prefix = "(902)";
}
903
{
title = "60% Opaque";
prefix = "(903)";
}
904
{
title = "50% Opaque";
prefix = "(904)";
}
905
{
title = "40% Opaque";
prefix = "(905)";
}
906
{
title = "30% Opaque";
prefix = "(906)";
}
907
{
title = "20% Opaque";
prefix = "(907)";
}
908
{
title = "10% Opaque";
prefix = "(908)";
}
909
{
title = "Fog Wall";
prefix = "(909)";
}
910
{
title = "100% Additive";
prefix = "(910)";
}
911
{
title = "90% Additive";
prefix = "(911)";
}
912
{
title = "80% Additive";
prefix = "(912)";
}
913
{
title = "70% Additive";
prefix = "(913)";
}
914
{
title = "60% Additive";
prefix = "(914)";
}
915
{
title = "50% Additive";
prefix = "(915)";
}
916
{
title = "40% Additive";
prefix = "(916)";
}
917
{
title = "30% Additive";
prefix = "(917)";
}
918
{
title = "20% Additive";
prefix = "(918)";
}
919
{
title = "10% Additive";
prefix = "(919)";
}
920
{
title = "100% Subtractive";
prefix = "(920)";
}
921
{
title = "90% Subtractive";
prefix = "(921)";
}
922
{
title = "80% Subtractive";
prefix = "(922)";
}
923
{
title = "70% Subtractive";
prefix = "(923)";
}
924
{
title = "60% Subtractive";
prefix = "(924)";
}
925
{
title = "50% Subtractive";
prefix = "(925)";
}
926
{
title = "40% Subtractive";
prefix = "(926)";
}
927
{
title = "30% Subtractive";
prefix = "(927)";
}
928
{
title = "20% Subtractive";
prefix = "(928)";
}
929
{
title = "10% Subtractive";
prefix = "(929)";
}
930
{
title = "100% Reverse Subtractive";
prefix = "(930)";
}
931
{
title = "90% Reverse Subtractive";
prefix = "(931)";
}
932
{
title = "80% Reverse Subtractive";
prefix = "(932)";
}
933
{
title = "70% Reverse Subtractive";
prefix = "(933)";
}
934
{
title = "60% Reverse Subtractive";
prefix = "(934)";
}
935
{
title = "50% Reverse Subtractive";
prefix = "(935)";
}
936
{
title = "40% Reverse Subtractive";
prefix = "(936)";
}
937
{
title = "30% Reverse Subtractive";
prefix = "(937)";
}
938
{
title = "20% Reverse Subtractive";
prefix = "(938)";
}
939
{
title = "10% Reverse Subtractive";
prefix = "(939)";
}
940
{
title = "Modulate";
prefix = "(940)";
}
}
}
// THING FLAGS
thingflags
{
1 = "[1] Extra";
2 = "[2] Flip";
4 = "[4] Special";
8 = "[8] Ambush";
}
// 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 = "skill1";
2 = "skill2";
4 = "skill3";
8 = "ambush";
}
// THING FLAGS ERROR MASK
// Mask for the thing flags which indicates the options
// that make the same thing appear in the same modes
thingflagsmask1 = 7; // 1 + 2 + 4
thingflagsmask2 = 0;
// THING TYPES------------------------------------------------------------------
// Color values: 1-Dark_Blue 2-Dark_Green 3-Turqoise 4-Dark_Red 5-Purple 6-Brown 7-Gray
// 8-Dark_Gray 9-Blue 10-Green 11-Cyan 12-Red 13-Magenta
// 14-Yellow 15-White 16-Pink 17-Orange 18-Gold 19-Cream
thingtypes
{
editor
{
color = 15; // White
arrow = 1;
title = "<Editor Things>";
error = -1;
width = 8;
height = 16;
sort = 1;
3328 = "3D Mode Start";
}
starts
{
color = 1; // Blue
arrow = 1;
title = "Player Starts";
width = 16;
height = 48;
flags8text = "[8] Spawn on ceiling";
sprite = "PLAYA0";
1
{
title = "Player 01 Start";
sprite = "PLAYA0";
}
2
{
title = "Player 02 Start";
sprite = "PLAYA0";
}
3
{
title = "Player 03 Start";
sprite = "PLAYA0";
}
4
{
title = "Player 04 Start";
sprite = "PLAYA0";
}
5
{
title = "Player 05 Start";
sprite = "PLAYA0";
}
6
{
title = "Player 06 Start";
sprite = "PLAYA0";
}
7
{
title = "Player 07 Start";
sprite = "PLAYA0";
}
8
{
title = "Player 08 Start";
sprite = "PLAYA0";
}
9
{
title = "Player 09 Start";
sprite = "PLAYA0";
}
10
{
title = "Player 10 Start";
sprite = "PLAYA0";
}
11
{
title = "Player 11 Start";
sprite = "PLAYA0";
}
12
{
title = "Player 12 Start";
sprite = "PLAYA0";
}
13
{
title = "Player 13 Start";
sprite = "PLAYA0";
}
14
{
title = "Player 14 Start";
sprite = "PLAYA0";
}
15
{
title = "Player 15 Start";
sprite = "PLAYA0";
}
16
{
title = "Player 16 Start";
sprite = "PLAYA0";
}
17
{
title = "Player 17 Start";
sprite = "PLAYA0";
}
18
{
title = "Player 18 Start";
sprite = "PLAYA0";
}
19
{
title = "Player 19 Start";
sprite = "PLAYA0";
}
20
{
title = "Player 20 Start";
sprite = "PLAYA0";
}
21
{
title = "Player 21 Start";
sprite = "PLAYA0";
}
22
{
title = "Player 22 Start";
sprite = "PLAYA0";
}
23
{
title = "Player 23 Start";
sprite = "PLAYA0";
}
24
{
title = "Player 24 Start";
sprite = "PLAYA0";
}
25
{
title = "Player 25 Start";
sprite = "PLAYA0";
}
26
{
title = "Player 26 Start";
sprite = "PLAYA0";
}
27
{
title = "Player 27 Start";
sprite = "PLAYA0";
}
28
{
title = "Player 28 Start";
sprite = "PLAYA0";
}
29
{
title = "Player 29 Start";
sprite = "PLAYA0";
}
30
{
title = "Player 30 Start";
sprite = "PLAYA0";
}
31
{
title = "Player 31 Start";
sprite = "PLAYA0";
}
32
{
title = "Player 32 Start";
sprite = "PLAYA0";
}
33
{
title = "Match Start";
sprite = "NDRNA2A8";
}
34
{
title = "CTF Red Team Start";
sprite = "SIGNG0";
}
35
{
title = "CTF Blue Team Start";
sprite = "SIGNE0";
}
}
enemies
{
color = 9; // Light Blue
arrow = 1;
title = "Enemies";
100
{
title = "Crawla (Blue)";
sprite = "POSSA1";
width = 24;
height = 32;
}
101
{
title = "Crawla (Red)";
sprite = "SPOSA1";
width = 24;
height = 32;
}
102
{
title = "Stupid Dumb Unnamed RoboFish";
sprite = "FISHA0";
width = 8;
height = 28;
angletext = "Jump strength";
fixedrotation = 1;
}
103
{
title = "Buzz (Gold)";
sprite = "BUZZA1";
width = 28;
height = 40;
flags8text = "[8] Cannot move";
}
104
{
title = "Buzz (Red)";
sprite = "RBUZA1";
width = 28;
height = 40;
flags8text = "[8] Cannot move";
}
108
{
title = "Deton";
sprite = "DETNA1";
width = 20;
height = 32;
}
110
{
title = "Turret";
sprite = "TRETA1";
width = 16;
height = 32;
}
111
{
title = "Pop-up Turret";
sprite = "TURRI1";
width = 12;
height = 64;
angletext = "Firing delay";
fixedrotation = 1;
}
122
{
title = "Spring Shell (Green)";
sprite = "SSHLA1";
width = 24;
height = 40;
}
125
{
title = "Spring Shell (Yellow)";
sprite = "SSHLI1";
width = 24;
height = 40;
}
109
{
title = "Skim";
sprite = "SKIMA1";
width = 16;
height = 24;
}
113
{
title = "Jet Jaw";
sprite = "JJAWA3A7";
width = 12;
height = 20;
}
126
{
title = "Crushstacean";
sprite = "CRABA0";
width = 24;
height = 32;
flags8text = "[8] Move left from spawn";
}
138
{
title = "Banpyura";
sprite = "CR2BA0";
width = 24;
height = 32;
flags8text = "[8] Move left from spawn";
}
117
{
title = "Robo-Hood";
sprite = "ARCHA1";
width = 24;
height = 32;
flags8text = "[8] Don't jump away";
}
118
{
title = "Lance-a-Bot";
sprite = "CBFSA1";
width = 32;
height = 72;
}
1113
{
title = "Suspicious Lance-a-Bot Statue";
sprite = "CBBSA1";
width = 32;
height = 72;
}
119
{
title = "Egg Guard";
sprite = "ESHIA1";
width = 16;
height = 48;
flags1text = "[1] 90 degrees clockwise";
flags4text = "[4] 90 degrees counter-clockwise";
flags8text = "[8] Double speed";
}
115
{
title = "Bird Aircraft Strike Hazard";
sprite = "VLTRF1";
width = 12;
height = 24;
}
120
{
title = "Green Snapper";
sprite = "GSNPA1";
width = 24;
height = 24;
}
121
{
title = "Minus";
sprite = "MNUSA0";
width = 24;
height = 32;
}
134
{
title = "Canarivore";
sprite = "CANAA0";
width = 12;
height = 80;
hangs = 1;
}
123
{
title = "Unidus";
sprite = "UNIDA1";
width = 18;
height = 36;
}
135
{
title = "Pterabyte Spawner";
sprite = "PTERA2A8";
width = 24;
height = 48;
parametertext = "Spawns +1";
arrow = 0;
}
136
{
title = "Pyre Fly";
sprite = "PYREA0";
width = 24;
height = 34;
flags8text = "[8] Start on fire";
}
137
{
title = "Dragonbomber";
sprite = "DRABA1";
width = 28;
height = 48;
}
105
{
title = "Jetty-Syn Bomber";
sprite = "JETBB1";
width = 20;
height = 50;
flags8text = "[8] Cannot move";
}
106
{
title = "Jetty-Syn Gunner";
sprite = "JETGB1";
width = 20;
height = 48;
flags8text = "[8] Cannot move";
}
112
{
title = "Spincushion";
sprite = "SHRPA1";
width = 16;
height = 24;
}
114
{
title = "Snailer";
sprite = "SNLRA3A7";
width = 24;
height = 48;
}
129
{
title = "Penguinator";
sprite = "PENGA1";
width = 24;
height = 32;
}
130
{
title = "Pophat";
sprite = "POPHA1";
width = 24;
height = 32;
}
107
{
title = "Crawla Commander";
sprite = "CCOMA1";
width = 16;
height = 32;
}
131
{
title = "Spinbobert";
sprite = "SBOBB0";
width = 32;
height = 32;
}
132
{
title = "Cacolantern";
sprite = "CACOA0";
width = 32;
height = 32;
flags8text = "[8] Cannot move";
}
133
{
title = "Hangster";
sprite = "HBATC1";
width = 24;
height = 24;
hangs = 1;
}
127
{
title = "Hive Elemental";
sprite = "HIVEA0";
width = 32;
height = 80;
parametertext = "No. bees";
}
128
{
title = "Bumblebore";
sprite = "BUMBA1";
width = 16;
height = 32;
flags8text = "[8] Cannot move";
}
124
{
title = "Buggle";
sprite = "BBUZA1";
width = 20;
height = 24;
}
116
{
title = "Pointy";
sprite = "PNTYA1";
width = 8;
height = 16;
}
}
bosses
{
color = 4; // Dark Red
arrow = 1;
title = "Bosses";
200
{
title = "Egg Mobile";
sprite = "EGGMA1";
width = 36;
height = 84;
flags4text = "[4] End level on death";
}
201
{
title = "Egg Slimer";
sprite = "EGGNA1";
width = 36;
height = 84;
flags4text = "[4] End level on death";
flags8text = "[8] Speed up when hit";
}
202
{
title = "Sea Egg";
sprite = "EGGOA1";
width = 36;
height = 116;
flags4text = "[4] End level on death";
}
203
{
title = "Egg Colosseum";
sprite = "EGGPA1";
width = 36;
height = 84;
flags4text = "[4] End level on death";
}
204
{
title = "Fang";
sprite = "FANGA1";
width = 24;
height = 60;
flags1text = "[1] Grayscale mode";
flags4text = "[4] End level on death";
flags8text = "[8] Skip intro";
}
206
{
title = "Brak Eggman (Old)";
sprite = "BRAKB1";
width = 48;
height = 160;
flags4text = "[4] End level on death";
}
207
{
title = "Metal Sonic (Race)";
sprite = "METLI1";
width = 16;
height = 48;
flags1text = "[1] Grayscale mode";
}
208
{
title = "Metal Sonic (Battle)";
sprite = "METLC1";
width = 16;
height = 48;
flags1text = "[1] Grayscale mode";
flags4text = "[4] End level on death";
}
209
{
title = "Brak Eggman";
sprite = "BRAK01";
width = 48;
height = 160;
flags1text = "[1] No origin-fling death";
flags4text = "[4] End level on death";
flags8text = "[8] Electric barrier";
}
290
{
arrow = 0;
title = "Boss Escape Point";
width = 8;
height = 16;
sprite = "internal:eggmanend";
}
291
{
arrow = 0;
title = "Egg Capsule Center";
width = 8;
height = 16;
sprite = "internal:capsule";
angletext = "Tag";
fixedrotation = 1;
tagthing = true;
}
292
{
arrow = 0;
title = "Boss Waypoint";
width = 8;
height = 16;
flags8text = "[8] Sea Egg shooting point";
sprite = "internal:eggmanway";
angletext = "No. (Sea Egg)";
fixedrotation = 1;
flagsvaluetext = "No. (Brak)";
parametertext = "Next";
}
293
{
arrow = 0;
title = "Metal Sonic Gather Point";
sprite = "internal:metal";
width = 8;
height = 16;
}
294
{
arrow = 0;
title = "Fang Waypoint";
flags8text = "[8] Center waypoint";
sprite = "internal:eggmanway";
width = 8;
height = 16;
}
}
rings
{
color = 14; // Yellow
title = "Rings and Weapon Panels";
width = 24;
height = 24;
flags8height = 24;
flags8text = "[8] Float";
sprite = "RINGA0";
300
{
title = "Ring";
sprite = "RINGA0";
width = 16;
}
301
{
title = "Bounce Ring";
sprite = "RNGBA0";
}
302
{
title = "Rail Ring";
sprite = "RNGRA0";
}
303
{
title = "Infinity Ring";
sprite = "RNGIA0";
}
304
{
title = "Automatic Ring";
sprite = "RNGAA0";
}
305
{
title = "Explosion Ring";
sprite = "RNGEA0";
}
306
{
title = "Scatter Ring";
sprite = "RNGSA0";
}
307
{
title = "Grenade Ring";
sprite = "RNGGA0";
}
308
{
title = "CTF Team Ring (Red)";
sprite = "internal:TRNGA0R";
width = 16;
}
309
{
title = "CTF Team Ring (Blue)";
sprite = "internal:TRNGA0B";
width = 16;
}
330
{
title = "Bounce Ring Panel";
sprite = "PIKBA0";
}
331
{
title = "Rail Ring Panel";
sprite = "PIKRA0";
}
332
{
title = "Automatic Ring Panel";
sprite = "PIKAA0";
}
333
{
title = "Explosion Ring Panel";
sprite = "PIKEA0";
}
334
{
title = "Scatter Ring Panel";
sprite = "PIKSA0";
}
335
{
title = "Grenade Ring Panel";
sprite = "PIKGA0";
}
}
collectibles
{
color = 10; // Light Green
title = "Other Collectibles";
width = 16;
height = 32;
sort = 1;
sprite = "CEMGA0";
310
{
title = "CTF Red Flag";
sprite = "RFLGA0";
width = 24;
height = 64;
}
311
{
title = "CTF Blue Flag";
sprite = "BFLGA0";
width = 24;
height = 64;
}
312
{
title = "Emerald Token";
sprite = "TOKEA0";
width = 16;
height = 32;
flags8height = 24;
flags8text = "[8] Float";
}
313
{
title = "Chaos Emerald 1 (Green)";
sprite = "CEMGA0";
}
314
{
title = "Chaos Emerald 2 (Purple)";
sprite = "CEMGB0";
}
315
{
title = "Chaos Emerald 3 (Blue)";
sprite = "CEMGC0";
}
316
{
title = "Chaos Emerald 4 (Cyan)";
sprite = "CEMGD0";
}
317
{
title = "Chaos Emerald 5 (Orange)";
sprite = "CEMGE0";
}
318
{
title = "Chaos Emerald 6 (Red)";
sprite = "CEMGF0";
}
319
{
title = "Chaos Emerald 7 (Gray)";
sprite = "CEMGG0";
}
320
{
title = "Emerald Hunt Location";
sprite = "SHRDA0";
flags8height = 24;
flags8text = "[8] Float";
}
321
{
title = "Match Chaos Emerald Spawn";
sprite = "CEMGA0";
flags8height = 24;
flags8text = "[8] Float";
}
322
{
title = "Emblem";
sprite = "EMBMA0";
width = 16;
height = 30;
flags8height = 24;
flags8text = "[8] Float";
angletext = "Tag";
fixedrotation = 1;
}
}
boxes
{
color = 7; // Gray
blocking = 2;
title = "Monitors";
width = 18;
height = 40;
flags1text = "[1] Run linedef executor on pop";
flags4text = "[4] Random (Strong)";
flags8text = "[8] Random (Weak)";
angletext = "Tag";
fixedrotation = 1;
tagthing = true;
400
{
title = "Super Ring (10 Rings)";
sprite = "TVRIA0";
}
401
{
title = "Pity Shield";
sprite = "TVPIA0";
}
402
{
title = "Attraction Shield";
sprite = "TVATA0";
}
403
{
title = "Force Shield";
sprite = "TVFOA0";
}
404
{
title = "Armageddon Shield";
sprite = "TVARA0";
}
405
{
title = "Whirlwind Shield";
sprite = "TVWWA0";
}
406
{
title = "Elemental Shield";
sprite = "TVELA0";
}
407
{
title = "Super Sneakers";
sprite = "TVSSA0";
}
408
{
title = "Invincibility";
sprite = "TVIVA0";
}
409
{
title = "Extra Life";
sprite = "TV1UA0";
flags4text = "[4] Random (Strong) / 10k points";
flags8text = "[8] Random (Weak) / 10k points";
}
410
{
title = "Eggman";
sprite = "TVEGA0";
flags4text = "[4] Special";
flags8text = "[8] Ambush";
}
411
{
title = "Teleporter";
sprite = "TVMXA0";
}
413
{
title = "Gravity Boots";
sprite = "TVGVA0";
flags4text = "[4] Special";
flags8text = "[8] Ambush";
}
414
{
title = "CTF Team Ring Monitor (Red)";
sprite = "TRRIA0";
flags4text = "[4] Special";
flags8text = "[8] Ambush";
}
415
{
title = "CTF Team Ring Monitor (Blue)";
sprite = "TBRIA0";
flags4text = "[4] Special";
flags8text = "[8] Ambush";
}
416
{
title = "Recycler";
sprite = "TVRCA0";
}
418
{
title = "Score (1,000 Points)";
sprite = "TV1KA0";
flags4text = "[4] Special";
flags8text = "[8] Ambush";
}
419
{
title = "Score (10,000 Points)";
sprite = "TVTKA0";
flags4text = "[4] Special";
flags8text = "[8] Ambush";
}
420
{
title = "Flame Shield";
sprite = "TVFLA0";
}
421
{
title = "Water Shield";
sprite = "TVBBA0";
}
422
{
title = "Lightning Shield";
sprite = "TVZPA0";
}
}
boxes2
{
color = 18; // Gold
blocking = 2;
title = "Monitors (Respawning)";
width = 20;
height = 44;
flags1text = "[1] Run linedef executor on pop";
angletext = "Tag";
fixedrotation = 1;
tagthing = true;
431
{
title = "Pity Shield (Respawn)";
sprite = "TVPIB0";
}
432
{
title = "Attraction Shield (Respawn)";
sprite = "TVATB0";
}
433
{
title = "Force Shield (Respawn)";
sprite = "TVFOB0";
}
434
{
title = "Armageddon Shield (Respawn)";
sprite = "TVARB0";
}
435
{
title = "Whirlwind Shield (Respawn)";
sprite = "TVWWB0";
}
436
{
title = "Elemental Shield (Respawn)";
sprite = "TVELB0";
}
437
{
title = "Super Sneakers (Respawn)";
sprite = "TVSSB0";
}
438
{
title = "Invincibility (Respawn)";
sprite = "TVIVB0";
}
440
{
title = "Eggman (Respawn)";
sprite = "TVEGB0";
}
443
{
title = "Gravity Boots (Respawn)";
sprite = "TVGVB0";
}
450
{
title = "Flame Shield (Respawn)";
sprite = "TVFLB0";
}
451
{
title = "Water Shield (Respawn)";
sprite = "TVBBB0";
}
452
{
title = "Lightning Shield (Respawn)";
sprite = "TVZPB0";
}
}
generic
{
color = 11; // Light Cyan
title = "Generic Items & Hazards";
500
{
title = "Air Bubble Patch";
sprite = "BUBLE0";
width = 8;
height = 16;
flags8text = "[8] No distance check";
}
501
{
title = "Signpost";
sprite = "SIGND0";
width = 8;
height = 32;
}
502
{
arrow = 1;
title = "Star Post";
sprite = "STPTA0M0";
width = 64;
height = 128;
flags4text = "[4] Respawn at center";
angletext = "Angle/Order";
fixedrotation = 1;
parametertext = "Order";
}
520
{
title = "Bomb Sphere";
sprite = "SPHRD0";
width = 16;
height = 24;
flags8height = 24;
flags8text = "[8] Float";
unflippable = true;
}
521
{
title = "Spikeball";
sprite = "SPIKA0";
width = 12;
height = 8;
flags8height = 24;
flags8text = "[8] Float";
}
522
{
title = "Wall Spike";
sprite = "WSPKALAR";
width = 16;
height = 14;
arrow = 1;
flags1text = "[1] Start retracted";
flags4text = "[4] Retractable";
flags8text = "[8] Intangible";
parametertext = "Start delay";
}
523
{
title = "Spike";
sprite = "USPKA0";
width = 8;
height = 32;
flags1text = "[1] Start retracted";
flags4text = "[4] Retractable";
flags8text = "[8] Intangible";
angletext = "Retraction interval";
fixedrotation = 1;
parametertext = "Start delay";
}
1130
{
title = "Small Mace";
sprite = "SMCEA0";
width = 17;
height = 34;
}
1131
{
title = "Big Mace";
sprite = "BMCEA0";
width = 34;
height = 68;
}
1136
{
title = "Small Fireball";
sprite = "SFBRA0";
width = 17;
height = 34;
}
1137
{
title = "Large Fireball";
sprite = "BFBRA0";
width = 34;
height = 68;
}
}
springs
{
color = 12; // Light Red
title = "Springs and Fans";
width = 20;
height = 16;
sprite = "RSPRD2";
540
{
title = "Fan";
sprite = "FANSA0D0";
width = 16;
height = 8;
flags4text = "[4] Invisible";
flags8text = "[8] No distance check";
angletext = "Lift height";
fixedrotation = 1;
}
541
{
title = "Gas Jet";
sprite = "STEMD0";
flags8text = "[8] No sounds";
width = 32;
}
542
{
title = "Bumper";
sprite = "BUMPA0";
width = 32;
height = 64;
angletext = "Strength";
fixedrotation = 1;
}
543
{
title = "Balloon";
sprite = "BLONA0";
width = 32;
height = 64;
flags8text = "[8] Respawn";
angletext = "Color";
fixedrotation = 1;
}
550
{
title = "Yellow Spring";
sprite = "SPRYA0";
}
551
{
title = "Red Spring";
sprite = "SPRRA0";
}
552
{
title = "Blue Spring";
sprite = "SPRBA0";
}
555
{
arrow = 1;
title = "Diagonal Yellow Spring";
sprite = "YSPRD2";
width = 16;
flags4text = "[4] Ignore gravity";
flags8text = "[8] Rotate 22.5° CCW";
}
556
{
arrow = 1;
title = "Diagonal Red Spring";
sprite = "RSPRD2";
width = 16;
flags4text = "[4] Ignore gravity";
flags8text = "[8] Rotate 22.5° CCW";
}
557
{
arrow = 1;
title = "Diagonal Blue Spring";
sprite = "BSPRD2";
width = 16;
flags4text = "[4] Ignore gravity";
flags8text = "[8] Rotate 22.5° CCW";
}
558
{
arrow = 1;
title = "Horizontal Yellow Spring";
sprite = "SSWYD2D8";
flags8height = 16;
flags8text = "[8] Float";
width = 16;
height = 32;
}
559
{
arrow = 1;
title = "Horizontal Red Spring";
sprite = "SSWRD2D8";
flags8height = 16;
flags8text = "[8] Float";
width = 16;
height = 32;
}
560
{
arrow = 1;
title = "Horizontal Blue Spring";
sprite = "SSWBD2D8";
flags8height = 16;
flags8text = "[8] Float";
width = 16;
height = 32;
}
1134
{
title = "Yellow Spring Ball";
sprite = "YSPBA0";
width = 17;
height = 34;
}
1135
{
title = "Red Spring Ball";
sprite = "RSPBA0";
width = 17;
height = 34;
}
544
{
arrow = 1;
title = "Yellow Boost Panel";
sprite = "BSTYA0";
flags8text = "[8] Force spin";
width = 28;
height = 2;
}
545
{
arrow = 1;
title = "Red Boost Panel";
sprite = "BSTRA0";
flags8text = "[8] Force spin";
width = 28;
height = 2;
}
}
patterns
{
color = 5; // Magenta
arrow = 1;
title = "Special Placement Patterns";
width = 16;
height = 384;
sprite = "RINGA0";
600
{
arrow = 0;
title = "5 Vertical Rings (Yellow Spring)";
sprite = "internal:ringverticalyellow";
}
601
{
arrow = 0;
title = "5 Vertical Rings (Red Spring)";
sprite = "internal:ringverticalred";
height = 1024;
}
602
{
title = "5 Diagonal Rings (Yellow Spring)";
sprite = "RINGA0";
height = 32;
}
603
{
title = "10 Diagonal Rings (Red Spring)";
sprite = "RINGA0";
height = 32;
}
604
{
title = "Circle of Rings";
sprite = "internal:circlering";
width = 96;
height = 192;
unflippable = true;
centerHitbox = true;
}
605
{
title = "Circle of Rings (Big)";
sprite = "internal:circlebigring";
width = 192;
unflippable = true;
centerHitbox = true;
}
606
{
title = "Circle of Blue Spheres";
sprite = "internal:circlesphere";
width = 96;
height = 192;
unflippable = true;
centerHitbox = true;
}
607
{
title = "Circle of Blue Spheres (Big)";
sprite = "internal:circlebigsphere";
width = 192;
unflippable = true;
centerHitbox = true;
}
608
{
title = "Circle of Rings and Spheres";
sprite = "internal:circleringsphere";
width = 96;
height = 192;
unflippable = true;
centerHitbox = true;
}
609
{
title = "Circle of Rings and Spheres (Big)";
sprite = "internal:circlebigringsphere";
width = 192;
unflippable = true;
centerHitbox = true;
}
}
ambience
{
color = 8; // Dark Gray
title = "Ambience";
width = 8;
height = 16;
sprite = "internal:ambiance";
700
{
title = "Water Ambience A (Large)";
}
701
{
title = "Water Ambience B (Large)";
}
702
{
title = "Water Ambience C (Medium)";
}
703
{
title = "Water Ambience D (Medium)";
}
704
{
title = "Water Ambience E (Small)";
}
705
{
title = "Water Ambience F (Small)";
}
706
{
title = "Water Ambience G (Extra Large)";
}
707
{
title = "Water Ambience H (Extra Large)";
}
708
{
title = "Disco Ambience";
}
709
{
title = "Volcano Ambience";
}
710
{
title = "Machine Ambience";
}
}
invisible
{
color = 15; // White
title = "Misc. Invisible";
width = 8;
height = 16;
sprite = "UNKNA0";
750
{
title = "Slope Vertex";
sprite = "internal:vertexslope";
angletext = "Tag";
fixedrotation = 1;
parametertext = "Absolute?";
flagsvaluetext = "Absolute Z";
tagthing = true;
}
751
{
arrow = 1;
title = "Teleport Destination";
sprite = "internal:tele";
}
752
{
arrow = 1;
title = "Alternate View Point";
sprite = "internal:view";
}
753
{
title = "Zoom Tube Waypoint";
sprite = "internal:zoom";
angletext = "Order";
fixedrotation = 1;
}
754
{
title = "Push Point";
flags4text = "[4] Fades using XY";
flags8text = "[8] Push using XYZ";
sprite = "GWLGA0";
angletext = "Radius";
fixedrotation = 1;
}
755
{
title = "Pull Point";
flags4text = "[4] Fades using XY";
flags8text = "[8] Pull using XYZ";
sprite = "GWLRA0";
angletext = "Radius";
fixedrotation = 1;
}
756
{
title = "Blast Linedef Executor";
sprite = "internal:blastexec";
width = 32;
height = 16;
angletext = "Tag";
fixedrotation = 1;
tagthing = true;
}
757
{
title = "Fan Particle Generator";
sprite = "internal:fanparticles";
width = 8;
height = 16;
angletext = "Tag";
fixedrotation = 1;
tagthing = true;
}
758
{
title = "Object Angle Anchor";
sprite = "internal:view";
}
760
{
title = "PolyObject Anchor";
sprite = "internal:polyanchor";
angletext = "Tag";
fixedrotation = 1;
tagthing = true;
unflippable = true;
}
761
{
title = "PolyObject Spawn Point";
sprite = "internal:polycenter";
angletext = "Tag";
fixedrotation = 1;
tagthing = true;
unflippable = true;
}
762
{
title = "PolyObject Spawn Point (Crush)";
sprite = "internal:polycentercrush";
angletext = "Tag";
fixedrotation = 1;
tagthing = true;
unflippable = true;
}
780
{
title = "Skybox View Point";
sprite = "internal:skyb";
flags4text = "[4] In-map centerpoint";
parametertext = "ID";
fixedrotation = 1;
}
}
greenflower
{
color = 2; // Green
title = "Greenflower";
800
{
title = "GFZ Flower";
sprite = "FWR1A0";
width = 16;
height = 40;
}
801
{
title = "Sunflower";
sprite = "FWR2A0";
width = 16;
height = 96;
}
802
{
title = "Budding Flower";
sprite = "FWR3A0";
width = 8;
height = 32;
}
803
{
title = "Blueberry Bush";
sprite = "BUS3A0";
width = 16;
height = 32;
}
804
{
title = "Berry Bush";
sprite = "BUS1A0";
width = 16;
height = 32;
}
805
{
title = "Bush";
sprite = "BUS2A0";
width = 16;
height = 32;
}
806
{
title = "GFZ Tree";
sprite = "TRE1A0";
width = 20;
height = 128;
}
807
{
title = "GFZ Berry Tree";
sprite = "TRE1B0";
width = 20;
height = 128;
}
808
{
title = "GFZ Cherry Tree";
sprite = "TRE1C0";
width = 20;
height = 128;
}
809
{
title = "Checkered Tree";
sprite = "TRE2A0";
width = 20;
height = 200;
}
810
{
title = "Checkered Tree (Sunset)";
sprite = "TRE2B0";
width = 20;
height = 200;
}
811
{
title = "Polygon Tree";
sprite = "TRE4A0";
width = 20;
height = 200;
}
812
{
title = "Bush Tree";
sprite = "TRE5A0";
width = 20;
height = 200;
}
813
{
title = "Red Bush Tree";
sprite = "TRE5B0";
width = 20;
height = 200;
}
}
technohill
{
color = 2; // Green
title = "Techno Hill";
900
{
title = "THZ Steam Flower";
sprite = "THZPA0";
width = 8;
height = 32;
}
901
{
title = "Alarm";
sprite = "ALRMA0";
width = 8;
height = 16;
hangs = 1;
}
902
{
title = "THZ Spin Flower (Red)";
sprite = "FWR5A0";
width = 16;
height = 64;
}
903
{
title = "THZ Spin Flower (Yellow)";
sprite = "FWR6A0";
width = 16;
height = 64;
}
904
{
arrow = 1;
title = "Whistlebush";
sprite = "THZTA0";
width = 16;
height = 64;
}
}
deepsea
{
color = 2; // Green
title = "Deep Sea";
1000
{
arrow = 1;
blocking = 2;
title = "Gargoyle";
sprite = "GARGA1";
width = 16;
height = 40;
flags4text = "[4] Slides when pushed";
flags8text = "[8] Not pushable";
}
1009
{
arrow = 1;
blocking = 2;
title = "Gargoyle (Big)";
sprite = "GARGB1";
width = 32;
height = 80;
flags4text = "[4] Slides when pushed";
flags8text = "[8] Not pushable";
}
1001
{
title = "Seaweed";
sprite = "SEWEA0";
width = 24;
height = 56;
}
1002
{
title = "Dripping Water";
sprite = "DRIPD0";
width = 8;
height = 16;
hangs = 1;
angletext = "Dripping delay";
fixedrotation = 1;
}
1003
{
title = "Coral (Green)";
sprite = "CORLA0";
width = 29;
height = 40;
}
1004
{
title = "Coral (Red)";
sprite = "CORLB0";
width = 30;
height = 53;
}
1005
{
title = "Coral (Orange)";
sprite = "CORLC0";
width = 28;
height = 41;
}
1006
{
title = "Blue Crystal";
sprite = "BCRYA1";
width = 8;
height = 16;
}
1007
{
title = "Kelp";
sprite = "KELPA0";
width = 16;
height = 292;
flags4text = "[4] Double size";
}
1008
{
title = "Stalagmite (DSZ1)";
sprite = "DSTGA0";
width = 8;
height = 116;
flags4text = "[4] Double size";
}
1010
{
arrow = 1;
title = "Light Beam";
sprite = "LIBEARAL";
width = 16;
height = 16;
}
1011
{
title = "Stalagmite (DSZ2)";
sprite = "DSTGB0";
width = 8;
height = 116;
flags4text = "[4] Double size";
}
1012
{
arrow = 1;
title = "Big Floating Mine";
width = 28;
height = 56;
sprite = "BMNEA1";
}
1013
{
title = "Animated Kelp";
sprite = "ALGAA0";
width = 48;
height = 120;
}
1014
{
title = "Large Coral (Brown)";
sprite = "CORLD0";
width = 56;
height = 112;
}
1015
{
title = "Large Coral (Beige)";
sprite = "CORLE0";
width = 56;
height = 112;
}
}
castleeggman
{
color = 2; // Green
title = "Castle Eggman";
1100
{
title = "Chain (Decorative)";
sprite = "CHANA0";
width = 4;
height = 128;
hangs = 1;
}
1101
{
title = "Torch";
sprite = "FLAMA0E0";
width = 8;
height = 32;
flags1text = "[1] Add corona";
}
1102
{
arrow = 1;
blocking = 2;
title = "Eggman Statue";
sprite = "ESTAA1";
width = 32;
height = 240;
flags1text = "[1] Solid gold";
flags4text = "[4] Slides when pushed";
flags8text = "[8] Not pushable";
}
1103
{
title = "CEZ Flower";
sprite = "FWR4A0";
width = 16;
height = 40;
}
1104
{
title = "Mace Spawnpoint";
sprite = "SMCEA0";
width = 17;
height = 34;
flags4text = "[4] No sounds";
flags8text = "[8] Double size";
angletext = "Tag";
parametertext = "Spokes";
fixedrotation = 1;
tagthing = true;
}
1105
{
title = "Chain with Maces Spawnpoint";
sprite = "SMCEA0";
width = 17;
height = 34;
flags4text = "[4] No sounds";
flags8text = "[8] Double size";
angletext = "Tag";
parametertext = "Spokes";
fixedrotation = 1;
tagthing = true;
}
1106
{
title = "Chained Spring Spawnpoint";
sprite = "YSPBA0";
width = 17;
height = 34;
flags4text = "[4] No sounds";
flags8text = "[8] Red spring";
angletext = "Tag";
parametertext = "Spokes";
fixedrotation = 1;
tagthing = true;
}
1107
{
title = "Chain Spawnpoint";
sprite = "BMCHB0";
width = 17;
height = 34;
flags8text = "[8] Double size";
angletext = "Tag";
parametertext = "Spokes";
fixedrotation = 1;
tagthing = true;
}
1108
{
arrow = 1;
title = "Hidden Chain Spawnpoint";
sprite = "SMCHA0";
width = 17;
height = 34;
flags8text = "[8] Double size";
}
1109
{
title = "Firebar Spawnpoint";
sprite = "BFBRA0";
width = 17;
height = 34;
flags4text = "[4] No sounds";
flags8text = "[8] Double size";
angletext = "Tag";
parametertext = "Spokes";
fixedrotation = 1;
tagthing = true;
}
1110
{
title = "Custom Mace Spawnpoint";
sprite = "SMCEA0";
width = 17;
height = 34;
flags4text = "[4] No sounds";
angletext = "Tag";
parametertext = "Spokes";
fixedrotation = 1;
tagthing = true;
}
1111
{
arrow = 1;
blocking = 2;
title = "Crawla Statue";
sprite = "CSTAA1";
width = 16;
height = 40;
flags4text = "[4] Slides when pushed";
flags8text = "[8] Not pushable";
}
1112
{
arrow = 1;
blocking = 2;
title = "Lance-a-Bot Statue";
sprite = "CBBSA1";
width = 32;
height = 72;
flags4text = "[4] Slides when pushed";
flags8text = "[8] Not pushable";
}
1114
{
title = "Pine Tree";
sprite = "PINEA0";
width = 16;
height = 628;
}
1115
{
title = "CEZ Shrub (Small)";
sprite = "CEZBA0";
width = 16;
height = 24;
}
1116
{
title = "CEZ Shrub (Large)";
sprite = "CEZBB0";
width = 32;
height = 48;
}
1117
{
arrow = 1;
title = "Pole Banner (Red)";
sprite = "BANRA0";
width = 40;
height = 224;
}
1118
{
arrow = 1;
title = "Pole Banner (Blue)";
sprite = "BANRA0";
width = 40;
height = 224;
}
1119
{
title = "Candle";
sprite = "CNDLA0";
width = 8;
height = 48;
flags1text = "[1] Add corona";
}
1120
{
title = "Candle Pricket";
sprite = "CNDLB0";
width = 8;
height = 176;
flags1text = "[1] Add corona";
}
1121
{
title = "Flame Holder";
sprite = "FLMHA0";
width = 24;
height = 80;
flags1text = "[1] Add corona";
flags4text = "[4] No flame";
}
1122
{
title = "Fire Torch";
sprite = "CTRCA0";
width = 16;
height = 80;
}
1123
{
title = "Cannonball Launcher";
sprite = "internal:cannonball";
width = 8;
height = 16;
}
1124
{
blocking = 2;
title = "Cannonball";
sprite = "CBLLA0";
width = 20;
height = 40;
flags4text = "[4] Slides when pushed";
flags8text = "[8] Not pushable";
}
1125
{
title = "Brambles";
sprite = "CABRALAR";
width = 48;
height = 32;
}
1126
{
title = "Invisible Lockon Object";
sprite = "LCKNC0";
width = 16;
height = 32;
}
1127
{
title = "Spectator Eggrobo";
sprite = "EGR1A1";
width = 20;
height = 72;
arrow = 1;
flags4text = "[4] Move right";
flags8text = "[8] Move left";
}
1128
{
arrow = 1;
title = "Waving Flag (Red)";
sprite = "CFLGA0";
width = 8;
height = 208;
}
1129
{
arrow = 1;
title = "Waving Flag (Blue)";
sprite = "CFLGA0";
width = 8;
height = 208;
}
}
aridcanyon
{
color = 2; // Green
title = "Arid Canyon";
1200
{
title = "Tumbleweed (Big)";
sprite = "BTBLA0";
width = 24;
height = 48;
flags8text = "[8] Moves perpetually";
}
1201
{
title = "Tumbleweed (Small)";
sprite = "STBLA0";
width = 12;
height = 24;
flags8text = "[8] Moves perpetually";
}
1202
{
arrow = 1;
title = "Rock Spawner";
sprite = "ROIAA0";
width = 8;
height = 16;
angletext = "Tag";
fixedrotation = 1;
tagthing = true;
}
1203
{
title = "Tiny Red Flower Cactus";
sprite = "CACTA0";
width = 13;
height = 24;
}
1204
{
title = "Small Red Flower Cactus";
sprite = "CACTB0";
width = 15;
height = 52;
}
1205
{
title = "Tiny Blue Flower Cactus";
sprite = "CACTC0";
width = 13;
height = 24;
}
1206
{
title = "Small Blue Flower Cactus";
sprite = "CACTD0";
width = 15;
height = 52;
}
1207
{
title = "Prickly Pear";
sprite = "CACTE0";
width = 32;
height = 96;
}
1208
{
title = "Barrel Cactus";
sprite = "CACTF0";
width = 20;
height = 128;
}
1209
{
title = "Tall Barrel Cactus";
sprite = "CACTG0";
width = 24;
height = 224;
}
1210
{
title = "Armed Cactus";
sprite = "CACTH0";
width = 24;
height = 256;
}
1211
{
title = "Ball Cactus";
sprite = "CACTI0";
width = 48;
height = 96;
}
1212
{
title = "Caution Sign";
sprite = "WWSGAR";
width = 22;
height = 64;
arrow = 1;
}
1213
{
title = "Cacti Sign";
sprite = "WWS2AR";
width = 22;
height = 64;
arrow = 1;
}
1214
{
title = "Sharp Turn Sign";
sprite = "WWS3ALAR";
width = 16;
height = 192;
arrow = 1;
}
1215
{
title = "Mine Oil Lamp";
sprite = "OILLA0";
width = 22;
height = 64;
hangs = 1;
}
1216
{
title = "TNT Barrel";
sprite = "BARRA1";
width = 24;
height = 63;
arrow = 1;
flags8text = "[8] Not pushable";
}
1217
{
title = "TNT Proximity Shell";
sprite = "REMTA0";
width = 64;
height = 40;
}
1218
{
title = "Dust Devil";
sprite = "TAZDCR";
width = 80;
height = 416;
}
1219
{
title = "Minecart Spawner";
sprite = "MCRTCLFR";
width = 22;
height = 32;
arrow = 1;
}
1220
{
title = "Minecart Stopper";
sprite = "MCRTIR";
width = 32;
height = 32;
arrow = 1;
}
1221
{
title = "Minecart Saloon Door";
sprite = "SALDARAL";
width = 96;
height = 160;
arrow = 1;
flags8text = "[8] Allow non-minecart players";
}
1222
{
title = "Train Cameo Spawner";
sprite = "TRAEBRBL";
width = 28;
height = 32;
}
1223
{
title = "Train Dust Spawner";
sprite = "ADSTA0";
width = 4;
height = 4;
}
1224
{
title = "Train Steam Spawner";
sprite = "STEAA0";
width = 4;
height = 4;
}
1229
{
title = "Minecart Switch Point";
sprite = "internal:zoom";
width = 8;
height = 16;
flags8text = "[8] Enable switching";
}
1230
{
title = "Tiny Cactus";
sprite = "CACTJ0";
width = 13;
height = 28;
}
1231
{
title = "Small Cactus";
sprite = "CACTK0";
width = 15;
height = 60;
}
}
redvolcano
{
color = 2; // Green
title = "Red Volcano";
1300
{
arrow = 1;
title = "Flame Jet (Horizontal)";
sprite = "internal:flameh";
width = 16;
height = 40;
flags8text = "[8] Waves vertically";
angletext = "On/Off time";
fixedrotation = 1;
parametertext = "Strength";
}
1301
{
title = "Flame Jet (Vertical)";
sprite = "internal:flamev";
width = 16;
height = 40;
flags8text = "[8] Shoot downwards";
angletext = "On/Off time";
fixedrotation = 1;
parametertext = "Strength";
}
1302
{
title = "Spinning Flame Jet (Counter-Clockwise)";
sprite = "internal:flame2";
width = 16;
height = 24;
}
1303
{
title = "Spinning Flame Jet (Clockwise)";
sprite = "internal:flame1";
width = 16;
height = 24;
}
1304
{
title = "Lavafall";
sprite = "LFALF0";
width = 30;
height = 32;
angletext = "Initial delay";
fixedrotation = 1;
hangs = 1;
flags8text = "[8] Double size";
}
1305
{
title = "Rollout Rock";
sprite = "PUMIA1A5";
width = 30;
height = 60;
flags8text = "[8] Non-buoyant";
}
1306
{
title = "Big Fern";
sprite = "JPLAB0";
width = 32;
height = 48;
}
1307
{
title = "Jungle Palm";
sprite = "JPLAC0";
width = 32;
height = 48;
}
1308
{
title = "Torch Flower";
sprite = "TFLOA0";
width = 14;
height = 110;
}
1309
{
title = "RVZ1 Wall Vine (Long)";
sprite = "WVINALAR";
width = 1;
height = 288;
arrow = 1;
}
1310
{
title = "RVZ1 Wall Vine (Short)";
sprite = "WVINBLBR";
width = 1;
height = 288;
arrow = 1;
}
}
botanicserenity
{
color = 2; // Green
title = "Botanic Serenity";
width = 16;
height = 32;
sprite = "BSZ1A0";
1400
{
title = "Tall Flower (Red)";
sprite = "BSZ1A0";
}
1401
{
title = "Tall Flower (Purple)";
sprite = "BSZ1B0";
}
1402
{
title = "Tall Flower (Blue)";
sprite = "BSZ1C0";
}
1403
{
title = "Tall Flower (Cyan)";
sprite = "BSZ1D0";
}
1404
{
title = "Tall Flower (Yellow)";
sprite = "BSZ1E0";
}
1405
{
title = "Tall Flower (Orange)";
sprite = "BSZ1F0";
}
1410
{
title = "Medium Flower (Red)";
sprite = "BSZ2A0";
}
1411
{
title = "Medium Flower (Purple)";
sprite = "BSZ2B0";
}
1412
{
title = "Medium Flower (Blue)";
sprite = "BSZ2C0";
}
1413
{
title = "Medium Flower (Cyan)";
sprite = "BSZ2D0";
}
1414
{
title = "Medium Flower (Yellow)";
sprite = "BSZ2E0";
}
1415
{
title = "Medium Flower (Orange)";
sprite = "BSZ2F0";
}
1420
{
title = "Short Flower (Red)";
sprite = "BSZ3A0";
}
1421
{
title = "Short Flower (Purple)";
sprite = "BSZ3B0";
}
1422
{
title = "Short Flower (Blue)";
sprite = "BSZ3C0";
}
1423
{
title = "Short Flower (Cyan)";
sprite = "BSZ3D0";
}
1424
{
title = "Short Flower (Yellow)";
sprite = "BSZ3E0";
}
1425
{
title = "Short Flower (Orange)";
sprite = "BSZ3F0";
}
1430
{
title = "Tulip (Red)";
sprite = "BST1A0";
}
1431
{
title = "Tulip (Purple)";
sprite = "BST2A0";
}
1432
{
title = "Tulip (Blue)";
sprite = "BST3A0";
}
1433
{
title = "Tulip (Cyan)";
sprite = "BST4A0";
}
1434
{
title = "Tulip (Yellow)";
sprite = "BST5A0";
}
1435
{
title = "Tulip (Orange)";
sprite = "BST6A0";
}
1440
{
title = "Cluster (Red)";
sprite = "BSZ5A0";
}
1441
{
title = "Cluster (Purple)";
sprite = "BSZ5B0";
}
1442
{
title = "Cluster (Blue)";
sprite = "BSZ5C0";
}
1443
{
title = "Cluster (Cyan)";
sprite = "BSZ5D0";
}
1444
{
title = "Cluster (Yellow)";
sprite = "BSZ5E0";
}
1445
{
title = "Cluster (Orange)";
sprite = "BSZ5F0";
}
1450
{
title = "Bush (Red)";
sprite = "BSZ6A0";
}
1451
{
title = "Bush (Purple)";
sprite = "BSZ6B0";
}
1452
{
title = "Bush (Blue)";
sprite = "BSZ6C0";
}
1453
{
title = "Bush (Cyan)";
sprite = "BSZ6D0";
}
1454
{
title = "Bush (Yellow)";
sprite = "BSZ6E0";
}
1455
{
title = "Bush (Orange)";
sprite = "BSZ6F0";
}
1460
{
title = "Vine (Red)";
sprite = "BSZ7A0";
}
1461
{
title = "Vine (Purple)";
sprite = "BSZ7B0";
}
1462
{
title = "Vine (Blue)";
sprite = "BSZ7C0";
}
1463
{
title = "Vine (Cyan)";
sprite = "BSZ7D0";
}
1464
{
title = "Vine (Yellow)";
sprite = "BSZ7E0";
}
1465
{
title = "Vine (Orange)";
sprite = "BSZ7F0";
}
1470
{
title = "BSZ Shrub";
sprite = "BSZ8A0";
}
1471
{
title = "BSZ Clover";
sprite = "BSZ8B0";
}
1473
{
title = "Palm Tree (Big)";
width = 16;
height = 160;
sprite = "BSZ8D0";
}
1475
{
title = "Palm Tree (Small)";
width = 16;
height = 80;
sprite = "BSZ8F0";
}
}
azuretemple
{
color = 2; // Green
title = "Azure Temple";
1500
{
arrow = 1;
blocking = 2;
title = "Glaregoyle";
sprite = "BGARA1";
width = 16;
height = 40;
flags4text = "[4] Slides when pushed";
flags8text = "[8] Not pushable";
}
1501
{
arrow = 1;
blocking = 2;
title = "Glaregoyle (Up)";
sprite = "BGARA1";
width = 16;
height = 40;
flags4text = "[4] Slides when pushed";
flags8text = "[8] Not pushable";
}
1502
{
arrow = 1;
blocking = 2;
title = "Glaregoyle (Down)";
sprite = "BGARA1";
width = 16;
height = 40;
flags4text = "[4] Slides when pushed";
flags8text = "[8] Not pushable";
}
1503
{
arrow = 1;
blocking = 2;
title = "Glaregoyle (Long)";
sprite = "BGARA1";
width = 16;
height = 40;
flags4text = "[4] Slides when pushed";
flags8text = "[8] Not pushable";
}
1504
{
title = "ATZ Target";
sprite = "RCRYB0";
width = 24;
height = 32;
}
1505
{
title = "Green Flame";
sprite = "CFLMA0E0";
width = 8;
height = 32;
}
1506
{
arrow = 1;
blocking = 2;
title = "Blue Gargoyle";
sprite = "BGARD1";
width = 16;
height = 40;
flags4text = "[4] Slides when pushed";
flags8text = "[8] Not pushable";
}
}
dreamhill
{
color = 2; // Green
title = "Dream Hill";
1600
{
title = "Spring Tree";
sprite = "TRE6A0";
width = 16;
height = 32;
}
1601
{
title = "Shleep";
sprite = "SHLPA0";
width = 24;
height = 32;
}
1602
{
title = "Nightopian";
sprite = "NTPNA1";
width = 16;
height = 40;
}
}
nightstrk
{
color = 16; // Light Pink
title = "NiGHTS Track & Basics";
width = 8;
height = 4096;
sprite = "UNKNA0";
fixedrotation = 1;
1700
{
title = "Axis";
sprite = "internal:axis1";
circle = 1;
unflippable = true;
ignoreZ = true;
flagsvaluetext = "Order";
angletext = "Radius/Direction";
parametertext = "Mare";
}
1701
{
title = "Axis Transfer";
sprite = "internal:axis2";
unflippable = true;
ignoreZ = true;
flagsvaluetext = "Order";
parametertext = "Mare";
}
1702
{
title = "Axis Transfer Line";
sprite = "internal:axis3";
unflippable = true;
ignoreZ = true;
flagsvaluetext = "Order";
parametertext = "Mare";
}
1703
{
title = "Ideya Drone";
sprite = "NDRNA1";
width = 16;
height = 56;
flags1text = "[1] Align player to middle";
flags4text = "[4] Align player to top";
flags8text = "[8] Die upon time up";
angletext = "Time limit";
fixedrotation = 1;
parametertext = "Height";
}
1710
{
title = "Ideya Capture";
sprite = "CAPSA0";
width = 72;
height = 144;
angletext = "Spheres";
parametertext = "Mare";
}
}
nights
{
color = 13; // Pink
title = "NiGHTS Items";
width = 16;
height = 32;
1704
{
arrow = 1;
title = "NiGHTS Bumper";
sprite = "NBMPG3G7";
width = 32;
height = 64;
unflippable = true;
flagsvaluetext = "Pitch";
angletext = "Yaw";
}
1705
{
arrow = 1;
title = "Hoop (Generic)";
sprite = "internal:nightshoop";
width = 80;
height = 160;
unflippable = true;
centerHitbox = true;
flagsvaluetext = "Height";
angletext = "Pitch/Yaw";
parametertext = "Degrees?";
}
1706
{
title = "Blue Sphere";
sprite = "SPHRA0";
width = 16;
height = 24;
flags8height = 24;
flags8text = "[8] Float";
}
1707
{
title = "Super Paraloop";
sprite = "NPRUA0";
flags4text = "[4] Bonus time only";
flags8text = "[8] Spawn immediately";
}
1708
{
title = "Drill Refill";
sprite = "NPRUB0";
flags4text = "[4] Bonus time only";
flags8text = "[8] Spawn immediately";
}
1709
{
title = "Nightopian Helper";
sprite = "NPRUC0";
flags4text = "[4] Bonus time only";
flags8text = "[8] Spawn immediately";
}
1711
{
title = "Extra Time";
sprite = "NPRUD0";
flags4text = "[4] Bonus time only";
flags8text = "[8] Spawn immediately";
}
1712
{
title = "Link Freeze";
sprite = "NPRUE0";
flags4text = "[4] Bonus time only";
flags8text = "[8] Spawn immediately";
}
1713
{
arrow = 1;
title = "Hoop (Customizable)";
flags1text = "[1] Radius +16";
flags2text = "[2] Radius +32";
flags4text = "[4] Radius +64";
flags8text = "[8] Radius +128";
sprite = "internal:nightshoop";
width = 80;
height = 160;
unflippable = true;
centerHitbox = true;
angletext = "Pitch/Yaw";
parametertext = "Degrees?";
}
1714
{
title = "Ideya Anchor Point";
sprite = "internal:axis1";
width = 8;
height = 16;
parametertext = "Ideya";
}
}
mario
{
color = 6; // Brown
title = "Mario";
1800
{
title = "Coin";
sprite = "COINA0";
width = 16;
height = 24;
flags8height = 24;
flags8text = "[8] Float";
}
1801
{
arrow = 1;
title = "Goomba";
sprite = "GOOMA0";
width = 24;
height = 32;
}
1802
{
arrow = 1;
title = "Goomba (Blue)";
sprite = "BGOMA0";
width = 24;
height = 32;
}
1803
{
title = "Fire Flower";
sprite = "FFWRB0";
width = 16;
height = 32;
}
1804
{
title = "Koopa Shell";
sprite = "SHLLA1";
width = 16;
height = 20;
}
1805
{
title = "Puma (Jumping Fireball)";
sprite = "PUMAA0";
width = 8;
height = 16;
angletext = "Jump strength";
fixedrotation = 1;
}
1806
{
title = "King Bowser";
sprite = "KOOPA0";
width = 16;
height = 48;
}
1807
{
title = "Axe";
sprite = "MAXEA0";
width = 8;
height = 16;
}
1808
{
title = "Bush (Short)";
sprite = "MUS1A0";
width = 16;
height = 32;
}
1809
{
title = "Bush (Tall)";
sprite = "MUS2A0";
width = 16;
height = 32;
}
1810
{
title = "Toad";
sprite = "TOADA0";
width = 8;
height = 32;
}
}
christmasdisco
{
color = 2; // Green
title = "Christmas & Disco";
1850
{
title = "Christmas Pole";
sprite = "XMS1A0";
width = 16;
height = 40;
}
1851
{
title = "Candy Cane";
sprite = "XMS2A0";
width = 8;
height = 32;
}
1852
{
blocking = 2;
title = "Snowman";
sprite = "XMS3A0";
width = 16;
height = 64;
flags4text = "[4] Slides when pushed";
flags8text = "[8] Not pushable";
}
1853
{
blocking = 2;
title = "Snowman (With Hat)";
sprite = "XMS3B0";
width = 16;
height = 80;
flags4text = "[4] Slides when pushed";
flags8text = "[8] Not pushable";
}
1854
{
title = "Lamp Post";
sprite = "XMS4A0";
width = 8;
height = 120;
}
1855
{
title = "Lamp Post (Snow)";
sprite = "XMS4B0";
width = 8;
height = 120;
}
1856
{
title = "Hanging Star";
sprite = "XMS5A0";
width = 4;
height = 80;
hangs = 1;
}
1857
{
title = "Berry Bush (Snow)";
sprite = "BUS1B0";
width = 16;
height = 32;
}
1858
{
title = "Bush (Snow)";
sprite = "BUS2B0";
width = 16;
height = 32;
}
1859
{
title = "Blueberry Bush (Snow)";
sprite = "BUS3B0";
width = 16;
height = 32;
}
1875
{
title = "Disco Ball";
sprite = "DBALA0";
width = 16;
height = 54;
hangs = 1;
}
1876
{
arrow = 1;
blocking = 2;
title = "Eggman Disco Statue";
sprite = "ESTAB1";
width = 20;
height = 96;
flags4text = "[4] Slides when pushed";
flags8text = "[8] Not pushable";
}
}
stalagmites
{
color = 2; // Green
title = "Stalagmites";
width = 16;
height = 40;
1900
{
title = "Brown Stalagmite (Tall)";
sprite = "STLGA0";
width = 16;
height = 40;
}
1901
{
title = "Brown Stalagmite";
sprite = "STLGB0";
width = 16;
height = 40;
}
1902
{
title = "Orange Stalagmite (Tall)";
sprite = "STLGC0";
width = 16;
height = 40;
}
1903
{
title = "Orange Stalagmite";
sprite = "STLGD0";
width = 16;
height = 40;
}
1904
{
title = "Red Stalagmite (Tall)";
sprite = "STLGE0";
width = 16;
height = 40;
}
1905
{
title = "Red Stalagmite";
sprite = "STLGF0";
width = 16;
height = 40;
}
1906
{
title = "Gray Stalagmite (Tall)";
sprite = "STLGG0";
width = 24;
height = 96;
}
1907
{
title = "Gray Stalagmite";
sprite = "STLGH0";
width = 16;
height = 40;
}
1908
{
title = "Blue Stalagmite (Tall)";
sprite = "STLGI0";
width = 16;
height = 40;
}
1909
{
title = "Blue Stalagmite";
sprite = "STLGJ0";
width = 16;
height = 40;
}
}
hauntedheights
{
color = 2; // Green
title = "Haunted Heights";
2000
{
title = "Smashing Spikeball";
sprite = "FMCEA0";
width = 18;
height = 28;
angletext = "Initial delay";
fixedrotation = 1;
}
2001
{
title = "HHZ Grass";
sprite = "HHZMA0";
width = 16;
height = 40;
}
2002
{
title = "HHZ Tentacle 1";
sprite = "HHZMB0";
width = 16;
height = 40;
}
2003
{
title = "HHZ Tentacle 2";
sprite = "HHZMC0";
width = 16;
height = 40;
}
2004
{
title = "HHZ Stalagmite (Tall)";
sprite = "HHZME0";
width = 16;
height = 40;
}
2005
{
title = "HHZ Stalagmite (Short)";
sprite = "HHZMF0";
width = 16;
height = 40;
}
2006
{
title = "Jack-o'-lantern 1";
sprite = "PUMKA0";
width = 16;
height = 40;
flags1text = "[1] Don't flicker";
}
2007
{
title = "Jack-o'-lantern 2";
sprite = "PUMKB0";
width = 16;
height = 40;
flags1text = "[1] Don't flicker";
}
2008
{
title = "Jack-o'-lantern 3";
sprite = "PUMKC0";
width = 16;
height = 40;
flags1text = "[1] Don't flicker";
}
2009
{
title = "Purple Mushroom";
sprite = "SHRMD0";
width = 16;
height = 48;
}
2010
{
title = "HHZ Tree";
sprite = "HHPLC0";
width = 12;
height = 40;
}
}
frozenhillside
{
color = 2; // Green
title = "Frozen Hillside";
2100
{
title = "Ice Shard (Small)";
sprite = "FHZIA0";
width = 8;
height = 32;
}
2101
{
title = "Ice Shard (Large)";
sprite = "FHZIB0";
width = 8;
height = 32;
}
2102
{
title = "Crystal Tree (Aqua)";
sprite = "TRE3A0";
width = 20;
height = 200;
}
2103
{
title = "Crystal Tree (Pink)";
sprite = "TRE3B0";
width = 20;
height = 200;
}
2104
{
title = "Amy Cameo";
sprite = "ROSYA1";
width = 16;
height = 48;
flags1text = "[1] Grayscale mode";
}
2105
{
title = "Mistletoe";
sprite = "XMS6A0";
width = 52;
height = 106;
hangs = 1;
}
}
tutorial
{
color = 2; // Green
title = "Tutorial";
799
{
title = "Tutorial Plant";
sprite = "TUPFH0";
width = 40;
height = 144;
parametertext = "Start frame";
}
}
flickies
{
color = 3; // Teal
title = "Flickies";
width = 8;
height = 20;
flags1text = "[1] Move aimlessly";
flags4text = "[4] No movement";
flags8text = "[8] Hop";
angletext = "Radius";
fixedrotation = 1;
2200
{
title = "Bluebird";
sprite = "FL01A1";
}
2201
{
title = "Rabbit";
sprite = "FL02A1";
}
2202
{
title = "Chicken";
sprite = "FL03A1";
}
2203
{
title = "Seal";
sprite = "FL04A1";
}
2204
{
title = "Pig";
sprite = "FL05A1";
}
2205
{
title = "Chipmunk";
sprite = "FL06A1";
}
2206
{
title = "Penguin";
sprite = "FL07A1";
}
2207
{
title = "Fish";
sprite = "FL08A1";
parametertext = "Color";
}
2208
{
title = "Ram";
sprite = "FL09A1";
}
2209
{
title = "Puffin";
sprite = "FL10A1";
}
2210
{
title = "Cow";
sprite = "FL11A1";
}
2211
{
title = "Rat";
sprite = "FL12A1";
}
2212
{
title = "Bear";
sprite = "FL13A1";
}
2213
{
title = "Dove";
sprite = "FL14A1";
}
2214
{
title = "Cat";
sprite = "FL15A1";
}
2215
{
title = "Canary";
sprite = "FL16A1";
}
2216
{
title = "Spider";
sprite = "FS01A1";
}
2217
{
title = "Bat";
sprite = "FS02A0";
}
}
}
//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;
}
}
}
This is a list of major changes in SDL's version history.
---------------------------------------------------------------------------
2.30.0:
---------------------------------------------------------------------------
General:
* Added support for 2 bits-per-pixel indexed surface formats
* Added the function SDL_GameControllerGetSteamHandle() to get the Steam API handle for a controller, if available
* Added the event SDL_CONTROLLERSTEAMHANDLEUPDATED which is sent when the Steam API handle for a controller changes. This could also change the name, VID, and PID of the controller.
* Added the environment variable SDL_LOGGING to control default log output
macOS:
* Added the hint SDL_HINT_JOYSTICK_IOKIT to control whether the IOKit controller driver should be used
* Added the hint SDL_HINT_JOYSTICK_MFI to control whether the GCController controller driver should be used
* Added the hint SDL_HINT_RENDER_METAL_PREFER_LOW_POWER_DEVICE to choose whether high or low power GPU should be used for rendering, in the case where there are multiple GPUs available
Xbox:
* Added the function SDL_GDKGetDefaultUser()
---------------------------------------------------------------------------
2.28.2:
---------------------------------------------------------------------------
General:
* Added the hint SDL_HINT_JOYSTICK_WGI to control whether to use Windows.Gaming.Input for controllers
......
......@@ -72,7 +72,7 @@ done in the build directory for the app!
For more complex projects, follow these instructions:
1. Get the source code for SDL and copy the 'android-project' directory located at SDL/android-project to a suitable location. Also make sure to rename it to your project name (In these examples: YOURPROJECT).
(The 'android-project' directory can basically be seen as a sort of starting point for the android-port of your project. It contains the glue code between the Android Java 'frontend' and the SDL code 'backend'. It also contains some standard behaviour, like how events should be handled, which you will be able to change.)
2. Move or [symlink](https://en.wikipedia.org/wiki/Symbolic_link) the SDL directory into the "YOURPROJECT/app/jni" directory
......
......@@ -35,7 +35,7 @@ SDL now has, internally, a table of function pointers. So, this is what SDL_Init
now looks like:
```c
Uint32 SDL_Init(Uint32 flags)
UInt32 SDL_Init(Uint32 flags)
{
return jump_table.SDL_Init(flags);
}
......@@ -100,7 +100,7 @@ a shared library of its own). If so, it loads that library and looks for and
calls a single function:
```c
Sint32 SDL_DYNAPI_entry(Uint32 version, void *table, Uint32 tablesize);
SInt32 SDL_DYNAPI_entry(Uint32 version, void *table, Uint32 tablesize);
```
That function takes a version number (more on that in a moment), the address of
......
# Emscripten
## The state of things
(This documentation is not very robust; we will update and expand this later.)
(As of September 2023, but things move quickly and we don't update this
document often.)
In modern times, all the browsers you probably care about (Chrome, Firefox,
Edge, and Safari, on Windows, macOS, Linux, iOS and Android), support some
reasonable base configurations:
- WebAssembly (don't bother with asm.js any more)
- WebGL (which will look like OpenGL ES 2 or 3 to your app).
- Threads (see caveats, though!)
- Game controllers
- Autoupdating (so you can assume they have a recent version of the browser)
All this to say we're at the point where you don't have to make a lot of
concessions to get even a fairly complex SDL-based game up and running.
## RTFM
This document is a quick rundown of some high-level details. The
documentation at [emscripten.org](https://emscripten.org/) is vast
and extremely detailed for a wide variety of topics, and you should at
least skim through it at some point.
## Porting your app to Emscripten
Many many things just need some simple adjustments and they'll compile
like any other C/C++ code, as long as SDL was handling the platform-specific
work for your program.
First, you probably need this in at least one of your source files:
```c
#ifdef __EMSCRIPTEN__
#include <emscripten.h>
#endif
```
Second: assembly language code has to go. Replace it with C. You can even use
[x86 SIMD intrinsic functions in Emscripten](https://emscripten.org/docs/porting/simd.html)!
Third: Middleware has to go. If you have a third-party library you link
against, you either need an Emscripten port of it, or the source code to it
to compile yourself, or you need to remove it.
Fourth: You still start in a function called main(), but you need to get out of
it and into a function that gets called repeatedly, and returns quickly,
called a mainloop.
Somewhere in your program, you probably have something that looks like a more
complicated version of this:
```c
void main(void)
{
initialize_the_game();
while (game_is_still_running) {
check_for_new_input();
think_about_stuff();
draw_the_next_frame();
}
deinitialize_the_game();
}
```
This will not work on Emscripten, because the main thread needs to be free
to do stuff and can't sit in this loop forever. So Emscripten lets you set up
a [mainloop](https://emscripten.org/docs/porting/emscripten-runtime-environment.html#browser-main-loop).
```c
static void mainloop(void) /* this will run often, possibly at the monitor's refresh rate */
{
if (!game_is_still_running) {
deinitialize_the_game();
#ifdef __EMSCRIPTEN__
emscripten_cancel_main_loop(); /* this should "kill" the app. */
#else
exit(0);
#endif
}
check_for_new_input();
think_about_stuff();
draw_the_next_frame();
}
void main(void)
{
initialize_the_game();
#ifdef __EMSCRIPTEN__
emscripten_set_main_loop(mainloop, 0, 1);
#else
while (1) { mainloop(); }
#endif
}
```
Basically, `emscripten_set_main_loop(mainloop, 0, 1);` says "run
`mainloop` over and over until I end the program." The function will
run, and return, freeing the main thread for other tasks, and then
run again when it's time. The `1` parameter does some magic to make
your main() function end immediately; this is useful because you
don't want any shutdown code that might be sitting below this code
to actually run if main() were to continue on, since we're just
getting started.
There's a lot of little details that are beyond the scope of this
document, but that's the biggest intial set of hurdles to porting
your app to the web.
## Do you need threads?
If you plan to use threads, they work on all major browsers now. HOWEVER,
they bring with them a lot of careful considerations. Rendering _must_
be done on the main thread. This is a general guideline for many
platforms, but a hard requirement on the web.
Many other things also must happen on the main thread; often times SDL
and Emscripten make efforts to "proxy" work to the main thread that
must be there, but you have to be careful (and read more detailed
documentation than this for the finer points).
Even when using threads, your main thread needs to set an Emscripten
mainloop that runs quickly and returns, or things will fail to work
correctly.
You should definitely read [Emscripten's pthreads docs](https://emscripten.org/docs/porting/pthreads.html)
for all the finer points. Mostly SDL's thread API will work as expected,
but is built on pthreads, so it shares the same little incompatibilities
that are documented there, such as where you can use a mutex, and when
a thread will start running, etc.
IMPORTANT: You have to decide to either build something that uses
threads or something that doesn't; you can't have one build
that works everywhere. This is an Emscripten (or maybe WebAssembly?
Or just web browsers in general?) limitation. If you aren't using
threads, it's easier to not enable them at all, at build time.
If you use threads, you _have to_ run from a web server that has
[COOP/COEP headers set correctly](https://web.dev/why-coop-coep/)
or your program will fail to start at all.
If building with threads, `__EMSCRIPTEN_PTHREADS__` will be defined
for checking with the C preprocessor, so you can build something
different depending on what sort of build you're compiling.
## Audio
Audio works as expected at the API level, but not exactly like other
platforms.
You'll only see a single default audio device. Audio capture also works;
if the browser pops up a prompt to ask for permission to access the
microphone, the SDL_OpenAudioDevice call will succeed and start producing
silence at a regular interval. Once the user approves the request, real
audio data will flow. If the user denies it, the app is not informed and
will just continue to receive silence.
## A quick note about audio
Modern web browsers will not permit web pages to produce sound before the
user has interacted with them (clicked or tapped on them, usually); this is
for several reasons, not the least of which being that no one likes when a
random browser tab suddenly starts making noise and the user has to scramble
to figure out which and silence it.
SDL will allow you to open the audio device for playback in this
circumstance, and your audio callback will fire, but SDL will throw the audio
data away until the user interacts with the page. This helps apps that depend
on the audio callback to make progress, and also keeps audio playback in sync
once the app is finally allowed to make noise.
There are two reasonable ways to deal with the silence at the app level:
if you are writing some sort of media player thing, where the user expects
there to be a volume control when you mouseover the canvas, just default
that control to a muted state; if the user clicks on the control to unmute
it, on this first click, open the audio device. This allows the media to
play at start, and the user can reasonably opt-in to listening.
user has interacted with them; this is for several reasons, not the least
of which being that no one likes when a random browser tab suddenly starts
making noise and the user has to scramble to figure out which and silence
it.
To solve this, most browsers will refuse to let a web app use the audio
subsystem at all before the user has interacted with (clicked on) the page
in a meaningful way. SDL-based apps also have to deal with this problem; if
the user hasn't interacted with the page, SDL_OpenAudioDevice will fail.
There are two reasonable ways to deal with this: if you are writing some
sort of media player thing, where the user expects there to be a volume
control when you mouseover the canvas, just default that control to a muted
state; if the user clicks on the control to unmute it, on this first click,
open the audio device. This allows the media to play at start, the user can
reasonably opt-in to listening, and you never get access denied to the audio
device.
Many games do not have this sort of UI, and are more rigid about starting
audio along with everything else at the start of the process. For these, your
......@@ -196,179 +36,41 @@ Please see the discussion at https://github.com/libsdl-org/SDL/issues/6385
for some Javascript code to steal for this approach.
## Rendering
If you use SDL's 2D render API, it will use GLES2 internally, which
Emscripten will turn into WebGL calls. You can also use OpenGL ES 2
directly by creating a GL context and drawing into it.
Calling SDL_RenderPresent (or SDL_GL_SwapWindow) will not actually
present anything on the screen until your return from your mainloop
function.
## Building SDL/emscripten
First: do you _really_ need to build SDL from source?
If you aren't developing SDL itself, have a desire to mess with its source
code, or need something on the bleeding edge, don't build SDL. Just use
Emscripten's packaged version!
Compile and link your app with `-sUSE_SDL=2` and it'll use a build of
SDL packaged with Emscripten. This comes from the same source code and
fixes the Emscripten project makes to SDL are generally merged into SDL's
revision control, so often this is much easier for app developers.
`-sUSE_SDL=1` will select Emscripten's JavaScript reimplementation of SDL
1.2 instead; if you need SDL 1.2, this might be fine, but we generally
recommend you don't use SDL 1.2 in modern times.
If you want to build SDL, though...
SDL currently requires at least Emscripten 3.1.35 to build. Newer versions
are likely to work, as well.
Build:
This works on Linux/Unix and macOS. Please send comments about Windows.
Make sure you've [installed emsdk](https://emscripten.org/docs/getting_started/downloads.html)
first, and run `source emsdk_env.sh` at the command line so it finds the
tools.
(These configure options might be overkill, but this has worked for me.)
```bash
cd SDL
mkdir build
cd build
emconfigure ../configure --host=wasm32-unknown-emscripten --disable-pthreads --disable-assembly --disable-cpuinfo CFLAGS="-sUSE_SDL=0 -O3"
emmake make -j4
```
If you want to build with thread support, something like this works:
```bash
emconfigure ../configure --host=wasm32-unknown-emscripten --enable-pthreads --disable-assembly --disable-cpuinfo CFLAGS="-sUSE_SDL=0 -O3 -pthread" LDFLAGS="-pthread"
```
$ mkdir build
$ cd build
$ emconfigure ../configure --host=asmjs-unknown-emscripten --disable-assembly --disable-threads --disable-cpuinfo CFLAGS="-O2"
$ emmake make
Or with cmake:
```bash
mkdir build
cd build
emcmake cmake ..
emmake make -j4
```
$ mkdir build
$ cd build
$ emcmake cmake ..
$ emmake make
To build one of the tests:
```bash
cd test/
emcc -O2 --js-opts 0 -g4 testdraw2.c -I../include ../build/.libs/libSDL2.a ../build/libSDL2_test.a -o a.html
```
## Building your app
You need to compile with `emcc` instead of `gcc` or `clang` or whatever, but
mostly it uses the same command line arguments as Clang.
Link against the SDL/build/.libs/libSDL2.a file you generated by building SDL,
link with `-sUSE_SDL=2` to use Emscripten's prepackaged SDL2 build.
Usually you would produce a binary like this:
```bash
gcc -o mygame mygame.c # or whatever
```
But for Emscripten, you want to output something else:
```bash
emcc -o index.html mygame.c
```
This will produce several files...support Javascript and WebAssembly (.wasm)
files. The `-o index.html` will produce a simple HTML page that loads and
runs your app. You will (probably) eventually want to replace or customize
that file and do `-o index.js` instead to just build the code pieces.
If you're working on a program of any serious size, you'll likely need to
link with `-sALLOW_MEMORY_GROWTH=1 -sMAXIMUM_MEMORY=1gb` to get access
to more memory. If using pthreads, you'll need the `-sMAXIMUM_MEMORY=1gb`
or the app will fail to start on iOS browsers, but this might be a bug that
goes away in the future.
## Data files
Your game probably has data files. Here's how to access them.
Filesystem access works like a Unix filesystem; you have a single directory
tree, possibly interpolated from several mounted locations, no drive letters,
'/' for a path separator. You can access them with standard file APIs like
open() or fopen() or SDL_RWops. You can read or write from the filesystem.
By default, you probably have a "MEMFS" filesystem (all files are stored in
memory, but access to them is immediate and doesn't need to block). There are
other options, like "IDBFS" (files are stored in a local database, so they
don't need to be in RAM all the time and they can persist between runs of the
program, but access is not synchronous). You can mix and match these file
systems, mounting a MEMFS filesystem at one place and idbfs elsewhere, etc,
but that's beyond the scope of this document. Please refer to Emscripten's
[page on the topic](https://emscripten.org/docs/porting/files/file_systems_overview.html)
for more info.
The _easiest_ (but not the best) way to get at your data files is to embed
them in the app itself. Emscripten's linker has support for automating this.
```bash
emcc -o index.html loopwave.c --embed-file=../test/sample.wav@/sounds/sample.wav
```
This will pack ../test/sample.wav in your app, and make it available at
"/sounds/sample.wav" at runtime. Emscripten makes sure this data is available
before your main() function runs, and since it's in MEMFS, you can just
read it like you do on other platforms. `--embed-file` can also accept a
directory to pack an entire tree, and you can specify the argument multiple
times to pack unrelated things into the final installation.
Note that this is absolutely the best approach if you have a few small
files to include and shouldn't worry about the issue further. However, if you
have hundreds of megabytes and/or thousands of files, this is not so great,
since the user will download it all every time they load your page, and it
all has to live in memory at runtime.
[Emscripten's documentation on the matter](https://emscripten.org/docs/porting/files/packaging_files.html)
gives other options and details, and is worth a read.
## Debugging
Debugging web apps is a mixed bag. You should compile and link with
`-gsource-map`, which embeds a ton of source-level debugging information into
the build, and make sure _the app source code is available on the web server_,
which is often a scary proposition for various reasons.
When you debug from the browser's tools and hit a breakpoint, you can step
through the actual C/C++ source code, though, which can be nice.
If you try debugging in Firefox and it doesn't work well for no apparent
reason, try Chrome, and vice-versa. These tools are still relatively new,
and improving all the time.
SDL_Log() (or even plain old printf) will write to the Javascript console,
and honestly I find printf-style debugging to be easier than setting up a build
for proper debugging, so use whatever tools work best for you.
$ cd test/
$ emcc -O2 --js-opts 0 -g4 testdraw2.c -I../include ../build/.libs/libSDL2.a ../build/libSDL2_test.a -o a.html
Uses GLES2 renderer or software
## Questions?
Some other SDL2 libraries can be easily built (assuming SDL2 is installed somewhere):
Please give us feedback on this document at [the SDL bug tracker](https://github.com/libsdl-org/SDL/issues).
If something is wrong or unclear, we want to know!
SDL_mixer (http://www.libsdl.org/projects/SDL_mixer/):
$ EMCONFIGURE_JS=1 emconfigure ../configure
build as usual...
SDL_gfx (http://cms.ferzkopp.net/index.php/software/13-sdl-gfx):
$ EMCONFIGURE_JS=1 emconfigure ../configure --disable-mmx
build as usual...
......@@ -3,7 +3,7 @@ GDK
This port allows SDL applications to run via Microsoft's Game Development Kit (GDK).
Windows (GDK) and Xbox One/Xbox Series (GDKX) are both supported and all the required code is included in this public SDL release. However, only licensed Xbox developers have access to the GDKX libraries which will allow you to build the Xbox targets.
Windows (GDK) and Xbox One/Xbox Series (GDKX) are supported. Although most of the Xbox code is included in the public SDL source code, NDA access is required for a small number of source files. If you have access to GDKX, these required Xbox files are posted on the GDK forums [here](https://forums.xboxlive.com/questions/130003/).
Requirements
......@@ -11,7 +11,6 @@ Requirements
* Microsoft Visual Studio 2022 (in theory, it should also work in 2017 or 2019, but this has not been tested)
* Microsoft GDK June 2022 or newer (public release [here](https://github.com/microsoft/GDK/releases/tag/June_2022))
* For Xbox, you will need the corresponding GDKX version (licensed developers only)
* To publish a package or successfully authenticate a user, you will need to create an app id/configure services in Partner Center. However, for local testing purposes (without authenticating on Xbox Live), the identifiers used by the GDK test programs in the included solution will work.
......@@ -30,12 +29,6 @@ The Windows GDK port supports the full set of Win32 APIs, renderers, controllers
* Global task queue callbacks are dispatched during `SDL_PumpEvents` (which is also called internally if using `SDL_PollEvent`).
* You can get the handle of the global task queue through `SDL_GDKGetTaskQueue`, if needed. When done with the queue, be sure to use `XTaskQueueCloseHandle` to decrement the reference count (otherwise it will cause a resource leak).
* Single-player games have some additional features available:
* Call `SDL_GDKGetDefaultUser` to get the default XUserHandle pointer.
* `SDL_GetPrefPath` still works, but only for single-player titles.
These functions mostly wrap around async APIs, and thus should be treated as synchronous alternatives. Also note that the single-player functions return on any OS errors, so be sure to validate the return values!
* What doesn't work:
* Compilation with anything other than through the included Visual C++ solution file
......@@ -146,20 +139,6 @@ To create the package:
6. Once the package is installed, you can run it from the start menu.
7. As with when running from Visual Studio, if you need to test any Xbox Live functionality you must switch to the correct sandbox.
Xbox GDKX Setup
---------------------
In general, the same process in the Windows GDK instructions work. There are just a few additional notes:
* For Xbox One consoles, use the Gaming.Xbox.XboxOne.x64 target
* For Xbox Series consoles, use the Gaming.Xbox.Scarlett.x64 target
* The Xbox One target sets the `__XBOXONE__` define and the Xbox Series target sets the `__XBOXSERIES__` define
* You don't need to link against the Xbox.Services Thunks lib nor include that dll in your package (it doesn't exist for Xbox)
* The shader blobs for Xbox are created in a pre-build step for the Xbox targets, rather than included in the source (due to NDA and version compatability reasons)
* To create a package, use:
`makepkg pack /f PackageLayout.xml /lt /d . /pd Package`
* To install the package, use:
`xbapp install [PACKAGE].xvc`
* For some reason, if you make changes that require SDL2.dll to build, and you are running through the debugger (instead of a package), you have to rebuild your .exe target for the debugger to recognize the dll has changed and needs to be transferred to the console again
* While there are successful releases of Xbox titles using this port, it is not as extensively tested as other targets
Troubleshooting
---------------
......
......@@ -273,7 +273,7 @@ e.g.
{
... initialize game ...
#ifdef __IPHONEOS__
#if __IPHONEOS__
// Initialize the Game Center for scoring and matchmaking
InitGameCenter();
......
No preview for this file type
......@@ -43,7 +43,7 @@ while test $# -gt 0; do
echo $exec_prefix
;;
--version)
echo 2.30.0
echo 2.28.5
;;
--cflags)
echo -I${prefix}/include/SDL2 -Dmain=SDL_main
......
/*
Simple DirectMedia Layer
Copyright (C) 1997-2024 Sam Lantinga <slouken@libsdl.org>
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
......
/*
Simple DirectMedia Layer
Copyright (C) 1997-2024 Sam Lantinga <slouken@libsdl.org>
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
......
/*
Simple DirectMedia Layer
Copyright (C) 1997-2024 Sam Lantinga <slouken@libsdl.org>
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
......@@ -209,7 +209,7 @@ typedef void (*SDL_KernelMemoryBarrierFunc)();
#if defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) || defined(__ARM_ARCH_7EM__) || defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__) || defined(__ARM_ARCH_7S__) || defined(__ARM_ARCH_8A__)
#define SDL_MemoryBarrierRelease() __asm__ __volatile__ ("dmb ish" : : : "memory")
#define SDL_MemoryBarrierAcquire() __asm__ __volatile__ ("dmb ish" : : : "memory")
#elif defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) || defined(__ARM_ARCH_6K__) || defined(__ARM_ARCH_6T2__) || defined(__ARM_ARCH_6Z__) || defined(__ARM_ARCH_6ZK__)
#elif defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) || defined(__ARM_ARCH_6K__) || defined(__ARM_ARCH_6T2__) || defined(__ARM_ARCH_6Z__) || defined(__ARM_ARCH_6ZK__) || defined(__ARM_ARCH_5TE__)
#ifdef __thumb__
/* The mcr instruction isn't available in thumb mode, use real functions */
#define SDL_MEMORY_BARRIER_USES_FUNCTION
......
/*
Simple DirectMedia Layer
Copyright (C) 1997-2024 Sam Lantinga <slouken@libsdl.org>
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
......
/*
Simple DirectMedia Layer
Copyright (C) 1997-2024 Sam Lantinga <slouken@libsdl.org>
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
......
/*
Simple DirectMedia Layer
Copyright (C) 1997-2024 Sam Lantinga <slouken@libsdl.org>
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
......@@ -65,8 +65,8 @@ typedef enum
typedef enum
{
SDL_BLENDOPERATION_ADD = 0x1, /**< dst + src: supported by all renderers */
SDL_BLENDOPERATION_SUBTRACT = 0x2, /**< src - dst : supported by D3D9, D3D11, OpenGL, OpenGLES */
SDL_BLENDOPERATION_REV_SUBTRACT = 0x3, /**< dst - src : supported by D3D9, D3D11, OpenGL, OpenGLES */
SDL_BLENDOPERATION_SUBTRACT = 0x2, /**< dst - src : supported by D3D9, D3D11, OpenGL, OpenGLES */
SDL_BLENDOPERATION_REV_SUBTRACT = 0x3, /**< src - dst : supported by D3D9, D3D11, OpenGL, OpenGLES */
SDL_BLENDOPERATION_MINIMUM = 0x4, /**< min(dst, src) : supported by D3D9, D3D11 */
SDL_BLENDOPERATION_MAXIMUM = 0x5 /**< max(dst, src) : supported by D3D9, D3D11 */
} SDL_BlendOperation;
......
/*
Simple DirectMedia Layer
Copyright (C) 1997-2024 Sam Lantinga <slouken@libsdl.org>
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
......
/*
Simple DirectMedia Layer
Copyright (C) 1997-2024 Sam Lantinga <slouken@libsdl.org>
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
......
/*
Simple DirectMedia Layer
Copyright (C) 1997-2024 Sam Lantinga <slouken@libsdl.org>
Copyright (C) 1997-2023 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
......