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

Target

Select target project
  • STJr/UltimateZoneBuilder
  • KartKrew/high-voltage-ring
  • ashi/ultimate-zone-builder
  • Alam/UltimateZoneBuilder
  • Indev/UltimateZoneBuilder
  • Acelite/UltimateZoneBuilder
  • LoganAir/high-voltage-ring
  • coatlessali/high-voltage-ring
  • spherallic/high-voltage-ring
  • EeveeEuphoria/high-voltage-ring
  • StarManiaKG/the-story-of-horsepowering-vetted-racing
  • frostu8/high-voltage-ring
  • Benji_Menji/high-voltage-ring
  • Nep2Disk/UltimateZoneBuilder
  • PencilVoid/high-voltage-ring
15 results
Show changes
Commits on Source (56)
Showing
with 8698 additions and 3931 deletions
...@@ -37,3 +37,5 @@ bin ...@@ -37,3 +37,5 @@ bin
/Build/System.Numerics.Vectors.dll /Build/System.Numerics.Vectors.dll
/Build/System.Runtime.CompilerServices.Unsafe.dll /Build/System.Runtime.CompilerServices.Unsafe.dll
/Build/Updater.ini /Build/Updater.ini
/Build.Native
/builder
variables:
BUILDTYPE: Release
default:
image: mono:slim
cache:
- key: ccache-$CI_PROJECT_PATH_SLUG-$CI_JOB_NAME_SLUG
fallback_keys:
- cache-$CI_PROJECT_PATH_SLUG-$CI_DEFAULT_BRANCH
- cache-$CI_PROJECT_PATH_SLUG-default
paths:
- ccache
#- ccache_statslog
- key: apt-$CI_JOB_IMAGE
paths:
- apt-cache
unprotect: true
before_script:
- - |
# debconf
echo -e "\e[0Ksection_start:`date +%s`:debconf[collapsed=true]\r\e[0KSetup debconf's environment"
- export DEBIAN_FRONTEND="noninteractive"
- export DEBIAN_PRIORITY="low"
- export DEBCONF_NONINTERACTIVE_SEEN="true"
- |
# debconf
echo -e "\e[0Ksection_end:`date +%s`:debconf\r\e[0K"
- - |
# dpkg_aa
echo -e "\e[0Ksection_start:`date +%s`:dpkg_aa[collapsed=true]\r\e[0KAdding architectures to dpkg"
- dpkg --add-architecture i386
- dpkg --add-architecture amd64
- dpkg --add-architecture arm64
- |
# dpkg_aa
echo -e "\e[0Ksection_end:`date +%s`:dpkg_aa\r\e[0K"
- - |
# apt_conf
echo -e "\e[0Ksection_start:`date +%s`:apt_conf[collapsed=true]\r\e[0KSetting up APT conf"
- export APT_CACHE_DIR=`pwd`/apt-cache
- mkdir --parents --verbose $APT_CACHE_DIR/partial/
- touch /etc/apt/apt.conf.d/99build
- |
# apt.conf
echo Adding options to apt.conf':'
- |
# APT::Install-Recommends
echo APT::Install-Recommends "false"\; | tee --append /etc/apt/apt.conf.d/99build
- |
# quit
echo quiet "1"\; | tee --append /etc/apt/apt.conf.d/99build
- |
# APT::Get::Assume-Yes
echo APT::Get::Assume-Yes "true"\; | tee --append /etc/apt/apt.conf.d/99build
- |
# Dir::Cache::Archives
echo Dir::Cache::Archives "$APT_CACHE_DIR"\; | tee --append /etc/apt/apt.conf.d/99build
- |
# apt_conf
echo -e "\e[0Ksection_end:`date +%s`:apt_conf\r\e[0K"
- - |
# apt_update
echo -e "\e[0Ksection_start:`date +%s`:apt_update[collapsed=true]\r\e[0KUpdating APT listing"
- apt-get update
- |
# apt_update
echo -e "\e[0Ksection_end:`date +%s`:apt_update\r\e[0K"
- - |
# apt_pre
echo -e "\e[0Ksection_start:`date +%s`:apt_pre[collapsed=true]\r\e[0KInstalling pre packages"
- apt-get install apt-utils
- |
# apt_pre
echo -e "\e[0Ksection_end:`date +%s`:apt_pre\r\e[0K"
- - |
# apt_upgrade
echo -e "\e[0Ksection_start:`date +%s`:apt_upgrade[collapsed=true]\r\e[0KUpdating existing packages"
- apt-get upgrade
- |
# apt_update
echo -e "\e[0Ksection_end:`date +%s`:apt_upgrade\r\e[0K"
- - |
# apt_common
echo -e "\e[0Ksection_start:`date +%s`:apt_common[collapsed=true]\r\e[0KInstalling common packages"
- apt-get install make git ccache
- |
# apt_common
echo -e "\e[0Ksection_end:`date +%s`:apt_common\r\e[0K"
- - |
# ccache_config
echo -e "\e[0Ksection_start:`date +%s`:ccache_config[collapsed=true]\r\e[0KSetting up ccache config"
- mkdir --parents --verbose ~/.ccache/
- touch ~/.ccache/ccache.conf
- |
# cache.conf
echo Adding ccache configution option
- |
# base_dir
echo base_dir = $PWD | tee --append ~/.ccache/ccache.conf
- |
# cache_dir
echo cache_dir = $PWD/ccache | tee --append ~/.ccache/ccache.conf
- |
# compiler_check
echo compiler_check = content | tee --append ~/.ccache/ccache.conf
- |
# stats_log
echo #stats_log = $PWD/ccache_statslog | tee --append ~/.ccache/ccache.conf
- |
# max_size
echo max_size = 50M | tee --append ~/.ccache/ccache.conf
- |
# ccache_config
echo -e "\e[0Ksection_end:`date +%s`:ccache_config\r\e[0K"
- - |
# cache_reset
echo -e "\e[0Ksection_start:`date +%s`:ccache_reset[collapsed=true]\r\e[0KResetting ccache statistics"
- ccache --zero-stats
- ccache --show-stats
- |
# ccache_reset
echo -e "\e[0Ksection_end:`date +%s`:ccache_reset\r\e[0K"
artifacts:
paths:
- "Build/"
exclude:
- "Build/Source/Native/*.d"
- "Build/Source.Native/*.o"
- "Build/Source.Native/OpenGL/*.d"
- "Build/Source.Native/OpenGL/*.o"
- "Build/Source.Native/OpenGL/gl_load/*.d"
- "Build/Source.Native/OpenGL/gl_load/*.o"
- "Build/Source.Native/VPO/*.d"
- "Build/Source.Native/VPO/*.o"
- "Build/libBuilderNative.so"
expose_as: "Base"
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-$CI_JOB_NAME_SLUG"
after_script:
- - |
# apt_clean
echo -e "\e[0Ksection_start:`date +%s`:apt_clean[collapsed=true]\r\e[0KCleaning of unneeded APT packages"
- apt-get autoclean
- |
# apt_clean
echo -e "\e[0Ksection_end:`date +%s`:apt_clean\r\e[0K"
- - |
# ccache_stats
echo -e "\e[0Ksection_start:`date +%s`:ccache_stats[collapsed=true]\r\e[0Kccache statistics:"
- ccache --show-stats --verbose || ccache --show-stats
- ccache --show-log-stats --verbose || ccache --show-log-stats || true
- |
# ccahe_stats
echo -e "\e[0Ksection_end:`date +%s`:ccache_stats\r\e[0K"
stages:
- build
Release:
image: mono:latest
stage: build
variables:
CC: ccache clang
CXX: ccache clang
script:
- - |
# apt_toolchain
echo -e "\e[0Ksection_start:`date +%s`:apt_toolchain[collapsed=true]\r\e[0KInstalling toolchain packages"
- apt-get install clang
- |
# apt_toolchain
echo -e "\e[0Ksection_end:`date +%s`:apt_toolchain\r\e[0K"
- - |
# apt_development
echo -e "\e[0Ksection_start:`date +%s`:apt_development[collapsed=true]\r\e[0KInstalling development packages"
- apt-get install mesa-common-dev
- |
# apt_development
echo -e "\e[0Ksection_end:`date +%s`:apt_development\r\e[0K"
- - |
# make
echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling UZB"
- make --keep-going --silent || make --keep-going
- |
# make
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
i386:
stage: build
variables:
CC: ccache i686-linux-gnu-gcc
CXX: ccache i686-linux-gnu-g++
CPPFLAGS: -msse2
artifacts:
paths:
- "Build/libBuilderNative.so"
expose_as: "Linux i386"
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-$CI_JOB_NAME_SLUG"
script:
- - |
# apt_toolchain
echo -e "\e[0Ksection_start:`date +%s`:apt_toolchain[collapsed=true]\r\e[0KInstalling toolchain packages"
- apt-get install g++-i686-linux-gnu || apt-get install g++
- |
# apt_toolchain
echo -e "\e[0Ksection_end:`date +%s`:apt_toolchain\r\e[0K"
- - |
# apt_development
echo -e "\e[0Ksection_start:`date +%s`:apt_development[collapsed=true]\r\e[0KInstalling development packages"
- apt-get install mesa-common-dev:i386
- |
# apt_development
echo -e "\e[0Ksection_end:`date +%s`:apt_development\r\e[0K"
- - |
# make
echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling Native"
- make --keep-going Build/libBuilderNative.so || make --keep-going Build/libBuilderNative.so
- |
# make
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
amd64:
stage: build
variables:
CC: ccache x86_64-linux-gnu-gcc
CXX: ccache x86_64-linux-gnu-gcc
artifacts:
paths:
- "Build/libBuilderNative.so"
expose_as: "Linux amd64"
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-$CI_JOB_NAME_SLUG"
script:
- - |
# apt_toolchain
echo -e "\e[0Ksection_start:`date +%s`:apt_toolchain[collapsed=true]\r\e[0KInstalling toolchain packages"
- apt-get install g++-x86-64-linux-gnu || apt-get install g++
- |
# apt_toolchain
echo -e "\e[0Ksection_end:`date +%s`:apt_toolchain\r\e[0K"
- - |
# apt_development
echo -e "\e[0Ksection_start:`date +%s`:apt_development[collapsed=true]\r\e[0KInstalling development packages"
- apt-get install mesa-common-dev:amd64
- |
# apt_development
echo -e "\e[0Ksection_end:`date +%s`:apt_development\r\e[0K"
- - |
# make
echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling Native"
- make --keep-going Build/libBuilderNative.so || make --keep-going Build/libBuilderNative.so
- |
# make
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
arm64:
stage: build
variables:
CC: ccache aarch64-linux-gnu-gcc
CXX: ccache aarch64-linux-gnu-g++
artifacts:
paths:
- "Build/libBuilderNative.so"
expose_as: "Linux arm64"
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-$CI_JOB_NAME_SLUG"
script:
- - |
# apt_toolchain
echo -e "\e[0Ksection_start:`date +%s`:apt_toolchain[collapsed=true]\r\e[0KInstalling toolchain packages"
- apt-get install g++-aarch64-linux-gnu || apt-get install g++
- |
# apt_toolchain
echo -e "\e[0Ksection_end:`date +%s`:apt_toolchain\r\e[0K"
- - |
# apt_development
echo -e "\e[0Ksection_start:`date +%s`:apt_development[collapsed=true]\r\e[0KInstalling development packages"
- apt-get install mesa-common-dev:arm64
- |
# apt_development
echo -e "\e[0Ksection_end:`date +%s`:apt_development\r\e[0K"
- - |
# make
echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling Native"
- make --keep-going Build/libBuilderNative.so || make --keep-going Build/libBuilderNative.so
- |
# make
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
win32:
stage: build
variables:
CC: ccache i686-w64-mingw32-gcc-posix
CXX: ccache i686-w64-mingw32-g++-posix
artifacts:
paths:
- "Build/BuilderNative.dll"
expose_as: "Windows x86"
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-$CI_JOB_NAME_SLUG"
script:
- - |
# apt_toolchain
echo -e "\e[0Ksection_start:`date +%s`:apt_toolchain[collapsed=true]\r\e[0KInstalling toolchain packages"
- apt-get install g++-mingw-w64-i686
- |
# apt_toolchain
echo -e "\e[0Ksection_end:`date +%s`:apt_toolchain\r\e[0K"
- - |
# make
echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling Native"
- make --keep-going Build/BuilderNative.dll MINGW=1 || make --keep-going Build/BuilderNative.dll MINGW=1
- |
# make
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
win64:
stage: build
variables:
CC: ccache x86_64-w64-mingw32-gcc-posix
CXX: ccache x86_64-w64-mingw32-g++-posix
artifacts:
paths:
- "Build/BuilderNative.dll"
expose_as: "Windows amd64"
name: "$CI_PROJECT_PATH_SLUG-$CI_COMMIT_REF_SLUG-$CI_COMMIT_SHORT_SHA-$CI_JOB_NAME_SLUG"
script:
- - |
# apt_toolchain
echo -e "\e[0Ksection_start:`date +%s`:apt_toolchain[collapsed=true]\r\e[0KInstalling toolchain packages"
- apt-get install g++-mingw-w64-x86-64
- |
# apt_toolchain
echo -e "\e[0Ksection_end:`date +%s`:apt_toolchain\r\e[0K"
- - |
# make
echo -e "\e[0Ksection_start:`date +%s`:make[collapsed=false]\r\e[0KCompiling Native"
- make --keep-going Build/BuilderNative.dll MINGW=1 || make --keep-going Build/BuilderNative.dll MINGW=1
- |
# make
echo -e "\e[0Ksection_end:`date +%s`:make\r\e[0K"
Debug:
extends:
- Release
allow_failure: true
variables:
BUILDTYPE: Debug
Updater.exe Updater.exe
Updater.ini Updater.ini
Updater.pdb Updater.pdb
DevIL.dll DevIL.dll
Screenshots Screenshots
\ No newline at end of file /Source
No preview for this file type
//************************************************************************** //**************************************************************************
//** //**
//** zcommon.acs //** zcommon.acs
//** //**
//************************************************************************** //**************************************************************************
// If you are not using the -h command line switch and do not want to use // If you are not using the -h command line switch and do not want to use
// WadAuthor's error checker, you can uncomment the following line to shave // WadAuthor's error checker, you can uncomment the following line to shave
// a few bytes off the size of compiled scripts. // a few bytes off the size of compiled scripts.
//#nowadauthor //#nowadauthor
#include "zspecial.acs" #include "zspecial.acs"
#include "zdefs.acs" #include "zdefs.acs"
#include "zwvars.acs" #include "zwvars.acs"
//************************************************************************** //**************************************************************************
//** //**
//** zdefs.acs //** zdefs.acs
//** //**
//** Common definitions for use when compiling ACS scripts for ZDoom //** Common definitions for use when compiling ACS scripts for ZDoom
//** //**
//************************************************************************** //**************************************************************************
#define TRUE 1 #define TRUE 1
#define FALSE 0 #define FALSE 0
#define ON 1 #define ON 1
#define OFF 0 #define OFF 0
#define YES 1 #define YES 1
#define NO 0 #define NO 0
#define LINE_FRONT 0 #define LINE_FRONT 0
#define LINE_BACK 1 #define LINE_BACK 1
#define SIDE_FRONT 0 #define SIDE_FRONT 0
#define SIDE_BACK 1 #define SIDE_BACK 1
#define TEXTURE_TOP 0 #define TEXTURE_TOP 0
#define TEXTURE_MIDDLE 1 #define TEXTURE_MIDDLE 1
#define TEXTURE_BOTTOM 2 #define TEXTURE_BOTTOM 2
// same information as combinable bit flags // same information as combinable bit flags
#define TEXFLAG_TOP 1 #define TEXFLAG_TOP 1
#define TEXFLAG_MIDDLE 2 #define TEXFLAG_MIDDLE 2
#define TEXFLAG_BOTTOM 4 #define TEXFLAG_BOTTOM 4
#define TEXFLAG_ADDOFFSET 8 #define TEXFLAG_ADDOFFSET 8
#define GAME_SINGLE_PLAYER 0 #define GAME_SINGLE_PLAYER 0
#define GAME_NET_COOPERATIVE 1 #define GAME_NET_COOPERATIVE 1
#define GAME_NET_DEATHMATCH 2 #define GAME_NET_DEATHMATCH 2
#define GAME_TITLE_MAP 3 #define GAME_TITLE_MAP 3
// Classes are only useful with Hexen // Classes are only useful with Hexen
#define CLASS_FIGHTER 0 #define CLASS_FIGHTER 0
#define CLASS_CLERIC 1 #define CLASS_CLERIC 1
#define CLASS_MAGE 2 #define CLASS_MAGE 2
#define SKILL_VERY_EASY 0 #define SKILL_VERY_EASY 0
#define SKILL_EASY 1 #define SKILL_EASY 1
#define SKILL_NORMAL 2 #define SKILL_NORMAL 2
#define SKILL_HARD 3 #define SKILL_HARD 3
#define SKILL_VERY_HARD 4 #define SKILL_VERY_HARD 4
#define BLOCK_NOTHING 0 #define BLOCK_NOTHING 0
#define BLOCK_CREATURES 1 #define BLOCK_CREATURES 1
#define BLOCK_EVERYTHING 2 #define BLOCK_EVERYTHING 2
#define BLOCK_RAILING 3 #define BLOCK_RAILING 3
#define BLOCK_PLAYERS 4 #define BLOCK_PLAYERS 4
#define SCROLL 0 #define SCROLL 0
#define CARRY 1 #define CARRY 1
#define SCROLL_AND_CARRY 2 #define SCROLL_AND_CARRY 2
// Means-of-death for Sector_SetDamage -------------------------------------- // Means-of-death for Sector_SetDamage --------------------------------------
#define MOD_UNKNOWN 0 #define MOD_UNKNOWN 0
#define MOD_ROCKET 5 #define MOD_ROCKET 5
#define MOD_R_SPLASH 6 #define MOD_R_SPLASH 6
#define MOD_PLASMARIFLE 7 #define MOD_PLASMARIFLE 7
#define MOD_BFG_BOOM 8 #define MOD_BFG_BOOM 8
#define MOD_BFG_SPLASH 9 #define MOD_BFG_SPLASH 9
#define MOD_CHAINSAW 10 #define MOD_CHAINSAW 10
#define MOD_SSHOTGUN 11 #define MOD_SSHOTGUN 11
#define MOD_WATER 12 #define MOD_WATER 12
#define MOD_SLIME 13 #define MOD_SLIME 13
#define MOD_LAVA 14 #define MOD_LAVA 14
#define MOD_CRUSH 15 #define MOD_CRUSH 15
#define MOD_TELEFRAG 16 #define MOD_TELEFRAG 16
#define MOD_FALLING 17 #define MOD_FALLING 17
#define MOD_SUICIDE 18 #define MOD_SUICIDE 18
#define MOD_BARREL 19 #define MOD_BARREL 19
#define MOD_EXIT 20 #define MOD_EXIT 20
#define MOD_SPLASH 21 #define MOD_SPLASH 21
#define MOD_HIT 22 #define MOD_HIT 22
#define MOD_RAILGUN 23 #define MOD_RAILGUN 23
#define MOD_ICE 24 #define MOD_ICE 24
#define MOD_DISINTEGRATE 25 #define MOD_DISINTEGRATE 25
#define MOD_POISON 26 #define MOD_POISON 26
#define MOD_ELECTRIC 27 #define MOD_ELECTRIC 27
// Return values for PlayMovie ---------------------------------------------- // Return values for PlayMovie ----------------------------------------------
#define MOVIE_Played 0 #define MOVIE_Played 0
#define MOVIE_Played_NoVideo 1 #define MOVIE_Played_NoVideo 1
#define MOVIE_Played_Aborted 2 #define MOVIE_Played_Aborted 2
#define MOVIE_Failed -1 #define MOVIE_Failed -1
// Player properties -------------------------------------------------------- // Player properties --------------------------------------------------------
#define PROP_FROZEN 0 #define PROP_FROZEN 0
#define PROP_NOTARGET 1 #define PROP_NOTARGET 1
#define PROP_INSTANTWEAPONSWITCH 2 #define PROP_INSTANTWEAPONSWITCH 2
#define PROP_FLY 3 #define PROP_FLY 3
#define PROP_TOTALLYFROZEN 4 #define PROP_TOTALLYFROZEN 4
#define PROP_BUDDHA 16 #define PROP_BUDDHA 16
#define PROP_BUDDHA2 17
// The following properties correspond to powers given by certain items #define PROP_FRIGHTENING 18
#define PROP_INVULNERABILITY 5 #define PROP_NOCLIP 19
#define PROP_STRENGTH 6 #define PROP_NOCLIP2 20
#define PROP_INVISIBILITY 7 #define PROP_GODMODE 21
#define PROP_RADIATIONSUIT 8 #define PROP_GODMODE2 22
#define PROP_ALLMAP 9
#define PROP_INFRARED 10 // The following properties correspond to powers given by certain items
#define PROP_WEAPONLEVEL2 11 #define PROP_INVULNERABILITY 5
#define PROP_FLIGHT 12 #define PROP_STRENGTH 6
#define PROP_SPEED 15 #define PROP_INVISIBILITY 7
#define PROP_RADIATIONSUIT 8
// Player input ------------------------------------------------------------- #define PROP_ALLMAP 9
#define PROP_INFRARED 10
// These are the original inputs sent by the player. #define PROP_WEAPONLEVEL2 11
#define INPUT_OLDBUTTONS 0 #define PROP_FLIGHT 12
#define INPUT_BUTTONS 1 #define PROP_SPEED 15
#define INPUT_PITCH 2
#define INPUT_YAW 3 // Player input -------------------------------------------------------------
#define INPUT_ROLL 4
#define INPUT_FORWARDMOVE 5 // These are the original inputs sent by the player.
#define INPUT_SIDEMOVE 6 #define INPUT_OLDBUTTONS 0
#define INPUT_UPMOVE 7 #define INPUT_BUTTONS 1
#define INPUT_PITCH 2
// These are the inputs, as modified by P_PlayerThink(). #define INPUT_YAW 3
// Most of the time, these will match the original inputs, but #define INPUT_ROLL 4
// they can be different if a player is frozen or using a #define INPUT_FORWARDMOVE 5
// chainsaw. #define INPUT_SIDEMOVE 6
#define MODINPUT_OLDBUTTONS 8 #define INPUT_UPMOVE 7
#define MODINPUT_BUTTONS 9
#define MODINPUT_PITCH 10 // These are the inputs, as modified by P_PlayerThink().
#define MODINPUT_YAW 11 // Most of the time, these will match the original inputs, but
#define MODINPUT_ROLL 12 // they can be different if a player is frozen or using a
#define MODINPUT_FORWARDMOVE 13 // chainsaw.
#define MODINPUT_SIDEMOVE 14 #define MODINPUT_OLDBUTTONS 8
#define MODINPUT_UPMOVE 15 #define MODINPUT_BUTTONS 9
#define MODINPUT_PITCH 10
// Player buttons ----------------------------------------------------------- #define MODINPUT_YAW 11
#define MODINPUT_ROLL 12
#define BT_ATTACK 1 #define MODINPUT_FORWARDMOVE 13
#define BT_USE 2 #define MODINPUT_SIDEMOVE 14
#define BT_JUMP 4 #define MODINPUT_UPMOVE 15
#define BT_CROUCH 8
#define BT_TURN180 16 // Player buttons -----------------------------------------------------------
#define BT_ALTATTACK 32
#define BT_RELOAD 64 #define BT_ATTACK 1
#define BT_ZOOM 128 #define BT_USE 2
#define BT_JUMP 4
#define BT_SPEED 256 #define BT_CROUCH 8
#define BT_STRAFE 512 #define BT_TURN180 16
#define BT_ALTATTACK 32
#define BT_MOVERIGHT 1024 #define BT_RELOAD 64
#define BT_MOVELEFT 2048 #define BT_ZOOM 128
#define BT_BACK 4096
#define BT_FORWARD 8192 #define BT_SPEED 256
#define BT_RIGHT 16384 #define BT_STRAFE 512
#define BT_LEFT 32768
#define BT_LOOKUP 65536 #define BT_MOVERIGHT 1024
#define BT_LOOKDOWN 131072 #define BT_MOVELEFT 2048
#define BT_MOVEUP 262144 #define BT_BACK 4096
#define BT_MOVEDOWN 524288 #define BT_FORWARD 8192
#define BT_SHOWSCORES 1048576 #define BT_RIGHT 16384
#define BT_RUN 33554432 #define BT_LEFT 32768
#define BT_LOOKUP 65536
// Do whatever you want with these. #define BT_LOOKDOWN 131072
#define BT_USER1 2097152 #define BT_MOVEUP 262144
#define BT_USER2 4194304 #define BT_MOVEDOWN 524288
#define BT_USER3 8388608 #define BT_SHOWSCORES 1048576
#define BT_USER4 16777216 #define BT_RUN 33554432
// Text colors -------------------------------------------------------------- // Do whatever you want with these.
#define BT_USER1 2097152
#define CR_UNTRANSLATED -1 #define BT_USER2 4194304
#define CR_BRICK 0 #define BT_USER3 8388608
#define CR_TAN 1 #define BT_USER4 16777216
#define CR_GRAY 2
#define CR_GREY 2 // Text colors --------------------------------------------------------------
#define CR_GREEN 3
#define CR_BROWN 4 #define CR_UNTRANSLATED -1
#define CR_GOLD 5 #define CR_BRICK 0
#define CR_RED 6 #define CR_TAN 1
#define CR_BLUE 7 #define CR_GRAY 2
#define CR_ORANGE 8 #define CR_GREY 2
#define CR_WHITE 9 #define CR_GREEN 3
#define CR_YELLOW 10 #define CR_BROWN 4
#define CR_BLACK 12 #define CR_GOLD 5
#define CR_LIGHTBLUE 13 #define CR_RED 6
#define CR_CREAM 14 #define CR_BLUE 7
#define CR_OLIVE 15 #define CR_ORANGE 8
#define CR_DARKGREEN 16 #define CR_WHITE 9
#define CR_DARKRED 17 #define CR_YELLOW 10
#define CR_DARKBROWN 18 #define CR_BLACK 12
#define CR_PURPLE 19 #define CR_LIGHTBLUE 13
#define CR_DARKGRAY 20 #define CR_CREAM 14
#define CR_DARKGREY 20 #define CR_OLIVE 15
#define CR_CYAN 21 #define CR_DARKGREEN 16
#define CR_ICE 22 #define CR_DARKRED 17
#define CR_FIRE 23 #define CR_DARKBROWN 18
#define CR_SAPPHIRE 24 #define CR_PURPLE 19
#define CR_TEAL 25 #define CR_DARKGRAY 20
#define CR_DARKGREY 20
// HUD message types -------------------------------------------------------- #define CR_CYAN 21
#define CR_ICE 22
#define HUDMSG_PLAIN 0 #define CR_FIRE 23
#define HUDMSG_FADEOUT 1 #define CR_SAPPHIRE 24
#define HUDMSG_TYPEON 2 #define CR_TEAL 25
#define HUDMSG_FADEINOUT 3
// HUD message types --------------------------------------------------------
// OR this with one of the above to log the hudmessage to the console.
// i.e. instead of HUDMSG_PLAIN, you can use HUDMSG_PLAIN | HUDMSG_LOG #define HUDMSG_PLAIN 0
#define HUDMSG_LOG 0x80000000 #define HUDMSG_FADEOUT 1
#define HUDMSG_TYPEON 2
// OR this with one of the above if the color you passed is a string #define HUDMSG_FADEINOUT 3
// instead of one of the CR_ constants.
#define HUDMSG_COLORSTRING 0x40000000 // OR this with one of the above to log the hudmessage to the console.
// i.e. instead of HUDMSG_PLAIN, you can use HUDMSG_PLAIN | HUDMSG_LOG
// OR this with one of the above to use additive blending when drawing the #define HUDMSG_LOG 0x80000000
// HUD message.
#define HUDMSG_ADDBLEND 0x20000000 // OR this with one of the above if the color you passed is a string
// instead of one of the CR_ constants.
// OR this with one of the above to use the extra alpha parameter #define HUDMSG_COLORSTRING 0x40000000
#define HUDMSG_ALPHA 0x10000000
// OR this with one of the above to use additive blending when drawing the
// Or this with one of the above to not wrap lines // HUD message.
#define HUDMSG_NOWRAP 0x08000000 #define HUDMSG_ADDBLEND 0x20000000
// HUD message layers; these are not flags // OR this with one of the above to use the extra alpha parameter
#define HUDMSG_LAYER_OVERHUD 0x00000000 #define HUDMSG_ALPHA 0x10000000
#define HUDMSG_LAYER_UNDERHUD 0x00001000
#define HUDMSG_LAYER_OVERMAP 0x00002000 // Or this with one of the above to not wrap lines
#define HUDMSG_NOWRAP 0x08000000
// HUD message visibility flags
#define HUDMSG_NOTWITH3DVIEW 0x00010000 // HUD message layers; these are not flags
#define HUDMSG_NOTWITHFULLMAP 0x00020000 #define HUDMSG_LAYER_OVERHUD 0x00000000
#define HUDMSG_NOTWITHOVERLAYMAP 0x00040000 #define HUDMSG_LAYER_UNDERHUD 0x00001000
#define HUDMSG_LAYER_OVERMAP 0x00002000
// "Scripted" Marine weapon types ------------------------------------------- // HUD message visibility flags
#define HUDMSG_NOTWITH3DVIEW 0x00010000
#define MARINEWEAPON_Dummy 0 #define HUDMSG_NOTWITHFULLMAP 0x00020000
#define MARINEWEAPON_Fist 1 #define HUDMSG_NOTWITHOVERLAYMAP 0x00040000
#define MARINEWEAPON_BerserkFist 2
#define MARINEWEAPON_Chainsaw 3
#define MARINEWEAPON_Pistol 4 // "Scripted" Marine weapon types -------------------------------------------
#define MARINEWEAPON_Shotgun 5
#define MARINEWEAPON_SuperShotgun 6 #define MARINEWEAPON_Dummy 0
#define MARINEWEAPON_Chaingun 7 #define MARINEWEAPON_Fist 1
#define MARINEWEAPON_RocketLauncher 8 #define MARINEWEAPON_BerserkFist 2
#define MARINEWEAPON_PlasmaRifle 9 #define MARINEWEAPON_Chainsaw 3
#define MARINEWEAPON_Railgun 10 #define MARINEWEAPON_Pistol 4
#define MARINEWEAPON_BFG 11 #define MARINEWEAPON_Shotgun 5
#define MARINEWEAPON_SuperShotgun 6
// Actor properties you can get/set ----------------------------------------- #define MARINEWEAPON_Chaingun 7
#define MARINEWEAPON_RocketLauncher 8
#define APROP_Health 0 #define MARINEWEAPON_PlasmaRifle 9
#define APROP_Speed 1 #define MARINEWEAPON_Railgun 10
#define APROP_Damage 2 #define MARINEWEAPON_BFG 11
#define APROP_Alpha 3
#define APROP_RenderStyle 4 // Actor properties you can get/set -----------------------------------------
#define APROP_SeeSound 5 // Sounds can only be set, not gotten
#define APROP_AttackSound 6 #define APROP_Health 0
#define APROP_PainSound 7 #define APROP_Speed 1
#define APROP_DeathSound 8 #define APROP_Damage 2
#define APROP_ActiveSound 9 #define APROP_Alpha 3
#define APROP_Ambush 10 #define APROP_RenderStyle 4
#define APROP_Invulnerable 11 #define APROP_SeeSound 5 // Sounds can only be set, not gotten
#define APROP_JumpZ 12 #define APROP_AttackSound 6
#define APROP_ChaseGoal 13 #define APROP_PainSound 7
#define APROP_Frightened 14 #define APROP_DeathSound 8
#define APROP_Gravity 15 #define APROP_ActiveSound 9
#define APROP_Friendly 16 #define APROP_Ambush 10
#define APROP_SpawnHealth 17 #define APROP_Invulnerable 11
#define APROP_Dropped 18 #define APROP_JumpZ 12
#define APROP_Notarget 19 #define APROP_ChaseGoal 13
#define APROP_Species 20 #define APROP_Frightened 14
#define APROP_Nametag 21 #define APROP_Gravity 15
#define APROP_Score 22 #define APROP_Friendly 16
#define APROP_Notrigger 23 #define APROP_SpawnHealth 17
#define APROP_DamageFactor 24 #define APROP_Dropped 18
#define APROP_MasterTID 25 #define APROP_Notarget 19
#define APROP_TargetTID 26 #define APROP_Species 20
#define APROP_TracerTID 27 #define APROP_Nametag 21
#define APROP_Waterlevel 28 #define APROP_Score 22
#define APROP_ScaleX 29 #define APROP_Notrigger 23
#define APROP_ScaleY 30 #define APROP_DamageFactor 24
#define APROP_Dormant 31 #define APROP_MasterTID 25
#define APROP_Mass 32 #define APROP_TargetTID 26
#define APROP_Accuracy 33 #define APROP_TracerTID 27
#define APROP_Stamina 34 #define APROP_Waterlevel 28
#define APROP_Height 35 #define APROP_ScaleX 29
#define APROP_Radius 36 #define APROP_ScaleY 30
#define APROP_Reactiontime 37 #define APROP_Dormant 31
#define APROP_MeleeRange 38 #define APROP_Mass 32
#define APROP_ViewHeight 39 #define APROP_Accuracy 33
#define APROP_AttackZOffset 40 #define APROP_Stamina 34
#define APROP_StencilColor 41 #define APROP_Height 35
#define APROP_Friction 42 #define APROP_Radius 36
#define APROP_DamageMultiplier 43 #define APROP_Reactiontime 37
#define APROP_MaxStepHeight 44 #define APROP_MeleeRange 38
#define APROP_MaxDropOffHeight 45 #define APROP_ViewHeight 39
#define APROP_DamageType 46 #define APROP_AttackZOffset 40
#define APROP_SoundClass 47 #define APROP_StencilColor 41
#define APROP_FriendlySeeBlocks 48 #define APROP_Friction 42
#define APROP_DamageMultiplier 43
// New to Eternity #define APROP_MaxStepHeight 44
#define APROP_Counter0 100 #define APROP_MaxDropOffHeight 45
#define APROP_Counter1 101 #define APROP_DamageType 46
#define APROP_Counter2 102 #define APROP_SoundClass 47
#define APROP_Counter3 103 #define APROP_FriendlySeeBlocks 48
#define APROP_Counter4 104 #define APROP_WaterDepth 49
#define APROP_Counter5 105
#define APROP_Counter6 106 // New to Eternity
#define APROP_Counter7 107 #define APROP_Counter0 100
#define APROP_Counter1 101
// Render Styles ------------------------------------------------------------ #define APROP_Counter2 102
#define APROP_Counter3 103
#define STYLE_None 0 // Do not draw #define APROP_Counter4 104
#define STYLE_Normal 1 // Normal; just copy the image to the screen #define APROP_Counter5 105
#define STYLE_Fuzzy 2 // Draw silhouette using "fuzz" effect #define APROP_Counter6 106
#define STYLE_SoulTrans 3 // Draw translucent with amount in r_transsouls #define APROP_Counter7 107
#define STYLE_OptFuzzy 4 // Draw as fuzzy, translucent or shadow, based on user preference
#define STYLE_Stencil 5 // Draw as solid color // Render Styles ------------------------------------------------------------
#define STYLE_AddStencil 6 // Draw as additive solid color
#define STYLE_AddShaded 7 // #define STYLE_None 0 // Do not draw
#define STYLE_Translucent 64 // Draw translucent #define STYLE_Normal 1 // Normal; just copy the image to the screen
#define STYLE_Add 65 // Draw additive #define STYLE_Fuzzy 2 // Draw silhouette using "fuzz" effect
#define STYLE_Shaded 66 // #define STYLE_SoulTrans 3 // Draw translucent with amount in r_transsouls
#define STYLE_TranslucentStencil 67 #define STYLE_OptFuzzy 4 // Draw as fuzzy, translucent or shadow, based on user preference
#define STYLE_Shadow 68 // Draw dark translucent stencil #define STYLE_Stencil 5 // Draw as solid color
#define STYLE_Subtract 69 // Draw subtractive #define STYLE_AddStencil 6 // Draw as additive solid color
#define STYLE_AddShaded 7 //
// Properties you can use with GetLevelInfo() ------------------------------- #define STYLE_Translucent 64 // Draw translucent
#define STYLE_Add 65 // Draw additive
#define LEVELINFO_PAR_TIME 0 #define STYLE_Shaded 66 //
#define LEVELINFO_CLUSTERNUM 1 #define STYLE_TranslucentStencil 67
#define LEVELINFO_LEVELNUM 2 #define STYLE_Shadow 68 // Draw dark translucent stencil
#define LEVELINFO_TOTAL_SECRETS 3 #define STYLE_Subtract 69 // Draw subtractive
#define LEVELINFO_FOUND_SECRETS 4
#define LEVELINFO_TOTAL_ITEMS 5 // Properties you can use with GetLevelInfo() -------------------------------
#define LEVELINFO_FOUND_ITEMS 6
#define LEVELINFO_TOTAL_MONSTERS 7 #define LEVELINFO_PAR_TIME 0
#define LEVELINFO_KILLED_MONSTERS 8 #define LEVELINFO_CLUSTERNUM 1
#define LEVELINFO_SUCK_TIME 9 #define LEVELINFO_LEVELNUM 2
#define LEVELINFO_TOTAL_SECRETS 3
// Properties you can use with GetPlayerInfo() ------------------------------ #define LEVELINFO_FOUND_SECRETS 4
#define LEVELINFO_TOTAL_ITEMS 5
#define PLAYERINFO_TEAM 0 #define LEVELINFO_FOUND_ITEMS 6
#define PLAYERINFO_AIMDIST 1 #define LEVELINFO_TOTAL_MONSTERS 7
#define PLAYERINFO_COLOR 2 #define LEVELINFO_KILLED_MONSTERS 8
#define PLAYERINFO_GENDER 3 #define LEVELINFO_SUCK_TIME 9
#define PLAYERINFO_NEVERSWITCH 4
#define PLAYERINFO_MOVEBOB 5 // Properties you can use with GetPlayerInfo() ------------------------------
#define PLAYERINFO_STILLBOB 6
#define PLAYERINFO_PLAYERCLASS 7 #define PLAYERINFO_TEAM 0
#define PLAYERINFO_FOV 8 #define PLAYERINFO_AIMDIST 1
#define PLAYERINFO_DESIREDFOV 9 #define PLAYERINFO_COLOR 2
#define PLAYERINFO_GENDER 3
#define PLAYERINFO_NEVERSWITCH 4
// Flags for ReplaceTextures ------------------------------------------------ #define PLAYERINFO_MOVEBOB 5
#define PLAYERINFO_STILLBOB 6
#define NOT_BOTTOM 1 #define PLAYERINFO_PLAYERCLASS 7
#define NOT_MIDDLE 2 #define PLAYERINFO_FOV 8
#define NOT_TOP 4 #define PLAYERINFO_DESIREDFOV 9
#define NOT_FLOOR 8 #define PLAYERINFO_FVIEWBOB 10
#define NOT_CEILING 16
// Flags for SectorDamage --------------------------------------------------- // Flags for ReplaceTextures ------------------------------------------------
#define DAMAGE_PLAYERS 1 #define NOT_BOTTOM 1
#define DAMAGE_NONPLAYERS 2 #define NOT_MIDDLE 2
#define DAMAGE_IN_AIR 4 #define NOT_TOP 4
#define DAMAGE_SUBCLASSES_PROTECT 8 #define NOT_FLOOR 8
#define DAMAGE_NO_ARMOR 16 #define NOT_CEILING 16
// Flags for MorphActor ----------------------------------------------------- // Flags for SectorDamage ---------------------------------------------------
#define MRF_OLDEFFECTS 0x00000000 #define DAMAGE_PLAYERS 1
#define MRF_ADDSTAMINA 0x00000001 #define DAMAGE_NONPLAYERS 2
#define MRF_FULLHEALTH 0x00000002 #define DAMAGE_IN_AIR 4
#define MRF_UNDOBYTOMEOFPOWER 0x00000004 #define DAMAGE_SUBCLASSES_PROTECT 8
#define MRF_UNDOBYCHAOSDEVICE 0x00000008 #define DAMAGE_NO_ARMOR 16
#define MRF_FAILNOTELEFRAG 0x00000010
#define MRF_FAILNOLAUGH 0x00000020 // Flags for MorphActor -----------------------------------------------------
#define MRF_WHENINVULNERABLE 0x00000040
#define MRF_LOSEACTUALWEAPON 0x00000080 #define MRF_OLDEFFECTS 0x00000000
#define MRF_NEWTIDBEHAVIOUR 0x00000100 #define MRF_ADDSTAMINA 0x00000001
#define MRF_UNDOBYDEATH 0x00000200 #define MRF_FULLHEALTH 0x00000002
#define MRF_UNDOBYDEATHFORCED 0x00000400 #define MRF_UNDOBYTOMEOFPOWER 0x00000004
#define MRF_UNDOBYDEATHSAVES 0x00000800 #define MRF_UNDOBYCHAOSDEVICE 0x00000008
#define MRF_UNDOALWAYS 0x00001000 #define MRF_FAILNOTELEFRAG 0x00000010
#define MRF_TRANSFERTRANSLATION 0x00002000 #define MRF_FAILNOLAUGH 0x00000020
#define MRF_WHENINVULNERABLE 0x00000040
// Shared spawnable things from Hexen. You can spawn these in the other ----- #define MRF_LOSEACTUALWEAPON 0x00000080
// games if you provide sprites for them, otherwise they'll be invisible. --- #define MRF_NEWTIDBEHAVIOUR 0x00000100
#define MRF_UNDOBYDEATH 0x00000200
#define T_ROCK1 41 #define MRF_UNDOBYDEATHFORCED 0x00000400
#define T_ROCK2 42 #define MRF_UNDOBYDEATHSAVES 0x00000800
#define T_ROCK3 43 #define MRF_UNDOALWAYS 0x00001000
#define T_DIRT1 44 #define MRF_TRANSFERTRANSLATION 0x00002000
#define T_DIRT2 45
#define T_DIRT3 46 // Shared spawnable things from Hexen. You can spawn these in the other -----
#define T_DIRT4 47 // games if you provide sprites for them, otherwise they'll be invisible. ---
#define T_DIRT5 48
#define T_DIRT6 49 #define T_ROCK1 41
#define T_STAINEDGLASS1 54 #define T_ROCK2 42
#define T_STAINEDGLASS2 55 #define T_ROCK3 43
#define T_STAINEDGLASS3 56 #define T_DIRT1 44
#define T_STAINEDGLASS4 57 #define T_DIRT2 45
#define T_STAINEDGLASS5 58 #define T_DIRT3 46
#define T_STAINEDGLASS6 59 #define T_DIRT4 47
#define T_STAINEDGLASS7 60 #define T_DIRT5 48
#define T_STAINEDGLASS8 61 #define T_DIRT6 49
#define T_STAINEDGLASS9 62 #define T_STAINEDGLASS1 54
#define T_STAINEDGLASS0 63 #define T_STAINEDGLASS2 55
#define T_STAINEDGLASS3 56
// Doom Spawnable things (used for thingcount() and thing spawners) --------- #define T_STAINEDGLASS4 57
#define T_STAINEDGLASS5 58
#define T_NONE 0 #define T_STAINEDGLASS6 59
#define T_SHOTGUY 1 #define T_STAINEDGLASS7 60
#define T_CHAINGUY 2 #define T_STAINEDGLASS8 61
#define T_BARON 3 #define T_STAINEDGLASS9 62
#define T_ZOMBIE 4 #define T_STAINEDGLASS0 63
#define T_IMP 5
#define T_ARACHNOTRON 6 // Doom Spawnable things (used for thingcount() and thing spawners) ---------
#define T_SPIDERMASTERMIND 7
#define T_DEMON 8 #define T_NONE 0
#define T_SPECTRE 9 #define T_SHOTGUY 1
#define T_IMPFIREBALL 10 #define T_CHAINGUY 2
#define T_CLIP 11 #define T_BARON 3
#define T_SHELLS 12 #define T_ZOMBIE 4
#define T_CACODEMON 19 #define T_IMP 5
#define T_REVENANT 20 #define T_ARACHNOTRON 6
#define T_BRIDGE 21 #define T_SPIDERMASTERMIND 7
#define T_ARMORBONUS 22 #define T_DEMON 8
#define T_STIMPACK 23 #define T_SPECTRE 9
#define T_MEDKIT 24 #define T_IMPFIREBALL 10
#define T_SOULSPHERE 25 #define T_CLIP 11
#define T_SHOTGUN 27 #define T_SHELLS 12
#define T_CHAINGUN 28 #define T_CACODEMON 19
#define T_ROCKETLAUNCHER 29 #define T_REVENANT 20
#define T_PLASMAGUN 30 #define T_BRIDGE 21
#define T_BFG 31 #define T_ARMORBONUS 22
#define T_CHAINSAW 32 #define T_STIMPACK 23
#define T_SUPERSHOTGUN 33 #define T_MEDKIT 24
#define T_PLASMABOLT 51 #define T_SOULSPHERE 25
#define T_TRACER 53 #define T_SHOTGUN 27
#define T_GREENARMOR 68 #define T_CHAINGUN 28
#define T_BLUEARMOR 69 #define T_ROCKETLAUNCHER 29
#define T_CELL 75 #define T_PLASMAGUN 30
#define T_BLUEKEYCARD 85 #define T_BFG 31
#define T_REDKEYCARD 86 #define T_CHAINSAW 32
#define T_YELLOWKEYCARD 87 #define T_SUPERSHOTGUN 33
#define T_YELLOWSKULLKEY 88 #define T_PLASMABOLT 51
#define T_REDSKULLKEY 89 #define T_TRACER 53
#define T_BLUESKULLKEY 90 #define T_GREENARMOR 68
#define T_TEMPLARGEFLAME 98 #define T_BLUEARMOR 69
#define T_STEALTHBARON 100 #define T_CELL 75
#define T_STEALTHKNIGHT 101 #define T_BLUEKEYCARD 85
#define T_STEALTHZOMBIE 102 #define T_REDKEYCARD 86
#define T_STEALTHSHOTGUY 103 #define T_YELLOWKEYCARD 87
#define T_YELLOWSKULLKEY 88
#define T_LOSTSOUL 110 #define T_REDSKULLKEY 89
#define T_VILE 111 #define T_BLUESKULLKEY 90
#define T_MANCUBUS 112 #define T_TEMPLARGEFLAME 98
#define T_HELLKNIGHT 113 #define T_STEALTHBARON 100
#define T_CYBERDEMON 114 #define T_STEALTHKNIGHT 101
#define T_PAINELEMENTAL 115 #define T_STEALTHZOMBIE 102
#define T_WOLFSS 116 #define T_STEALTHSHOTGUY 103
#define T_STEALTHARACHNOTRON 117
#define T_STEALTHVILE 118 #define T_LOSTSOUL 110
#define T_STEALTHCACODEMON 119 #define T_VILE 111
#define T_STEALTHCHAINGUY 120 #define T_MANCUBUS 112
#define T_STEALTHSERGEANT 121 #define T_HELLKNIGHT 113
#define T_STEALTHIMP 122 #define T_CYBERDEMON 114
#define T_STEALTHMANCUBUS 123 #define T_PAINELEMENTAL 115
#define T_STEALTHREVENANT 124 #define T_WOLFSS 116
#define T_BARREL 125 #define T_STEALTHARACHNOTRON 117
#define T_CACODEMONSHOT 126 #define T_STEALTHVILE 118
#define T_ROCKET 127 #define T_STEALTHCACODEMON 119
#define T_BFGSHOT 128 #define T_STEALTHCHAINGUY 120
#define T_ARACHNOTRONPLASMA 129 #define T_STEALTHSERGEANT 121
#define T_BLOOD 130 #define T_STEALTHIMP 122
#define T_PUFF 131 #define T_STEALTHMANCUBUS 123
#define T_MEGASPHERE 132 #define T_STEALTHREVENANT 124
#define T_INVULNERABILITY 133 #define T_BARREL 125
#define T_BERSERK 134 #define T_CACODEMONSHOT 126
#define T_INVISIBILITY 135 #define T_ROCKET 127
#define T_IRONFEET 136 #define T_BFGSHOT 128
#define T_COMPUTERMAP 137 #define T_ARACHNOTRONPLASMA 129
#define T_LIGHTAMP 138 #define T_BLOOD 130
#define T_AMMOBOX 139 #define T_PUFF 131
#define T_ROCKETAMMO 140 #define T_MEGASPHERE 132
#define T_ROCKETBOX 141 #define T_INVULNERABILITY 133
#define T_BATTERY 142 #define T_BERSERK 134
#define T_SHELLBOX 143 #define T_INVISIBILITY 135
#define T_BACKPACK 144 #define T_IRONFEET 136
#define T_GUTS 145 #define T_COMPUTERMAP 137
#define T_BLOODPOOL 146 #define T_LIGHTAMP 138
#define T_BLOODPOOL1 147 #define T_AMMOBOX 139
#define T_BLOODPOOL2 148 #define T_ROCKETAMMO 140
#define T_FLAMINGBARREL 149 #define T_ROCKETBOX 141
#define T_BRAINS 150 #define T_BATTERY 142
#define T_SCRIPTEDMARINE 151 #define T_SHELLBOX 143
#define T_HEALTHBONUS 152 #define T_BACKPACK 144
#define T_MANCUBUSSHOT 153 #define T_GUTS 145
#define T_BARONBALL 154 #define T_BLOODPOOL 146
#define T_BLOODPOOL1 147
// Heretic Spawnable things (used for thingcount() and thing spawners) ------ #define T_BLOODPOOL2 148
#define T_FLAMINGBARREL 149
#define T_CLINK 1 #define T_BRAINS 150
#define T_MUMMYLEADER 2 #define T_SCRIPTEDMARINE 151
#define T_BEAST 3 #define T_HEALTHBONUS 152
#define T_MUMMY 4 #define T_MANCUBUSSHOT 153
//#define T_IMP 5 // Defined above #define T_BARONBALL 154
#define T_KNIGHT 6
#define T_IMPLEADER 7 // Heretic Spawnable things (used for thingcount() and thing spawners) ------
#define T_MUMMYGHOST 8
#define T_MUMMYLEADERGHOST 9 #define T_CLINK 1
//#define T_IMPFIREBALL 10 #define T_MUMMYLEADER 2
#define T_WIMPYWANDAMMO 11 #define T_BEAST 3
#define T_HEFTYWANDAMMO 12 #define T_MUMMY 4
#define T_ITEMEGG 14 //#define T_IMP 5 // Defined above
#define T_ITEMFLIGHT 15 #define T_KNIGHT 6
#define T_ITEMTELEPORT 18 #define T_IMPLEADER 7
#define T_WIZARD 19 #define T_MUMMYGHOST 8
#define T_IRONLICH 20 #define T_MUMMYLEADERGHOST 9
#define T_ITEMHEALTHPOTION 23 //#define T_IMPFIREBALL 10
#define T_ITEMHEALTHFLASH 24 // incorrect name but keep it for compatibility #define T_WIMPYWANDAMMO 11
#define T_ITEMHEALTHFLASK 24 #define T_HEFTYWANDAMMO 12
#define T_ITEMHEALTHFULL 25 #define T_ITEMEGG 14
#define T_CROSSBOW 27 #define T_ITEMFLIGHT 15
#define T_BLASTER 28 #define T_ITEMTELEPORT 18
#define T_PHOENIXROD 29 #define T_WIZARD 19
#define T_SKULLROD 30 #define T_IRONLICH 20
#define T_MACE 31 #define T_ITEMHEALTHPOTION 23
#define T_GAUNTLETS 32 #define T_ITEMHEALTHFLASH 24 // incorrect name but keep it for compatibility
#define T_WIMPYCROSSBOWAMMO 33 #define T_ITEMHEALTHFLASK 24
#define T_HEFTYCROSSBOWAMMO 34 #define T_ITEMHEALTHFULL 25
#define T_WIMPYMACEAMMO 35 #define T_CROSSBOW 27
#define T_HEFTYMACEAMMO 36 #define T_BLASTER 28
#define T_WIMPYBLASTERAMMO 37 #define T_PHOENIXROD 29
#define T_HEFTYBLASTERAMMO 38 #define T_SKULLROD 30
#define T_MORPHBLAST 40 #define T_MACE 31
#define T_SHIELD1 68 #define T_GAUNTLETS 32
#define T_SHIELD2 69 #define T_WIMPYCROSSBOWAMMO 33
#define T_ITEMTIMEBOMB 72 #define T_HEFTYCROSSBOWAMMO 34
#define T_ITEMTORCH 73 #define T_WIMPYMACEAMMO 35
#define T_BLUEKEY 85 #define T_HEFTYMACEAMMO 36
#define T_GREENKEY 86 #define T_WIMPYBLASTERAMMO 37
#define T_YELLOWKEY 87 #define T_HEFTYBLASTERAMMO 38
#define T_MORPHBLAST 40
#define T_SOUND_WIND 110 #define T_SHIELD1 68
#define T_SOUND_WATERFALL 111 #define T_SHIELD2 69
#define T_ITEMTIMEBOMB 72
#define T_BEASTBALL 120 #define T_ITEMTORCH 73
#define T_FEATHER 121 #define T_BLUEKEY 85
#define T_CHICKEN 122 #define T_GREENKEY 86
#define T_VOLCANOBALL 123 #define T_YELLOWKEY 87
#define T_TINYVOLCANOBALL 124
#define T_POD 125 #define T_SOUND_WIND 110
#define T_PODGENERATOR 126 #define T_SOUND_WATERFALL 111
#define T_KNIGHTAXE 127
#define T_KNIGHTBLOODAXE 128 #define T_BEASTBALL 120
#define T_KNIGHTGHOST 129 #define T_FEATHER 121
#define T_MUMMYHEAD 131 #define T_CHICKEN 122
#define T_SNAKE 132 #define T_VOLCANOBALL 123
#define T_ITEMINVULNERABILITY 133 #define T_TINYVOLCANOBALL 124
#define T_ITEMTOME 134 #define T_POD 125
#define T_ITEMINVISIBILITY 135 #define T_PODGENERATOR 126
#define T_ITEMBAGOFHOLDING 136 #define T_KNIGHTAXE 127
#define T_ITEMALLMAP 137 #define T_KNIGHTBLOODAXE 128
#define T_SNAKEPROJECTILE 138 #define T_KNIGHTGHOST 129
#define T_SNAKEPROJECTILEBIG 139 #define T_MUMMYHEAD 131
#define T_WIZARDSHOT 140 #define T_SNAKE 132
#define T_ITEMINVULNERABILITY 133
#define T_DSPARILTELEPORTDEST 141 #define T_ITEMTOME 134
#define T_DSPARILONSERPENT 142 #define T_ITEMINVISIBILITY 135
#define T_DSPARILALONE 143 #define T_ITEMBAGOFHOLDING 136
#define T_SERPENTFIREBALL 144 #define T_ITEMALLMAP 137
#define T_DSPARILBLUESHOT 145 #define T_SNAKEPROJECTILE 138
#define T_DSPARILWIZARDSPAWNER 146 #define T_SNAKEPROJECTILEBIG 139
#define T_WIZARDSHOT 140
#define T_CROSSBOWMAINBLAST 147
#define T_CROSSBOWMINIBLAST 148 #define T_DSPARILTELEPORTDEST 141
#define T_CROSSBOWPOWERBLAST 149 #define T_DSPARILONSERPENT 142
#define T_VOLCANO 150 #define T_DSPARILALONE 143
#define T_POWERWANDMINIBLAST 151 #define T_SERPENTFIREBALL 144
#define T_POWERWANDBIGGERBLAST 152 #define T_DSPARILBLUESHOT 145
#define T_DEATHBALL 153 #define T_DSPARILWIZARDSPAWNER 146
#define T_NOGRAVITYMACEBALL 154
#define T_BOUNCYMACEBALL 155 #define T_CROSSBOWMAINBLAST 147
#define T_HEAVYMACEBALL 156 #define T_CROSSBOWMINIBLAST 148
#define T_RIPPER 157 #define T_CROSSBOWPOWERBLAST 149
#define T_WIMPYSKULLRODAMMO 158 #define T_VOLCANO 150
#define T_HEFTYSKULLRODAMMO 159 #define T_POWERWANDMINIBLAST 151
#define T_SKULLRODBLAST 160 #define T_POWERWANDBIGGERBLAST 152
#define T_WIMPYPHOENIXRODAMMO 161 #define T_DEATHBALL 153
#define T_HEFTYPHOENIXRODAMMO 162 #define T_NOGRAVITYMACEBALL 154
#define T_PHOENIXSHOT 163 #define T_BOUNCYMACEBALL 155
#define T_IRONLICHBLUESHOT 164 #define T_HEAVYMACEBALL 156
#define T_WHIRLWIND 165 #define T_RIPPER 157
#define T_REDTELEGLITTER 166 #define T_WIMPYSKULLRODAMMO 158
#define T_BLUETELEGLITTER 167 #define T_HEFTYSKULLRODAMMO 159
#define T_SKULLRODBLAST 160
// Hexen Spawnable things (used for thingcount() and thing spawners) ------ #define T_WIMPYPHOENIXRODAMMO 161
#define T_HEFTYPHOENIXRODAMMO 162
#define T_CENTAUR 1 #define T_PHOENIXSHOT 163
#define T_CENTAURLEADER 2 #define T_IRONLICHBLUESHOT 164
#define T_DEMON1 3 #define T_WHIRLWIND 165
#define T_ETTIN 4 #define T_REDTELEGLITTER 166
#define T_FIREGARGOYLE 5 #define T_BLUETELEGLITTER 167
#define T_WATERLURKER 6
#define T_WATERLURKERLEADER 7 // Hexen Spawnable things (used for thingcount() and thing spawners) ------
#define T_WRAITH 8
#define T_WRAITHBURIED 9 #define T_CENTAUR 1
#define T_FIREBALL1 10 #define T_CENTAURLEADER 2
#define T_MANA1 11 #define T_DEMON1 3
#define T_MANA2 12 #define T_ETTIN 4
#define T_ITEMBOOTS 13 #define T_FIREGARGOYLE 5
#define T_ITEMPORK 14 #define T_WATERLURKER 6
#define T_ITEMSUMMON 16 #define T_WATERLURKERLEADER 7
#define T_ITEMTPORTOTHER 17 #define T_WRAITH 8
#define T_BISHOP 19 #define T_WRAITHBURIED 9
#define T_ICEGOLEM 20 #define T_FIREBALL1 10
#define T_DRAGONSKINBRACERS 22 #define T_MANA1 11
#define T_ITEMBOOSTMANA 26 #define T_MANA2 12
#define T_FIGHTERAXE 27 #define T_ITEMBOOTS 13
#define T_FIGHTERHAMMER 28 #define T_ITEMPORK 14
#define T_FIGHTERSWORD1 29 #define T_ITEMSUMMON 16
#define T_FIGHTERSWORD2 30 #define T_ITEMTPORTOTHER 17
#define T_FIGHTERSWORD3 31 #define T_BISHOP 19
#define T_CLERICSTAFF 32 #define T_ICEGOLEM 20
#define T_CLERICHOLY1 33 #define T_DRAGONSKINBRACERS 22
#define T_CLERICHOLY2 34 #define T_ITEMBOOSTMANA 26
#define T_CLERICHOLY3 35 #define T_FIGHTERAXE 27
#define T_MAGESHARDS 36 #define T_FIGHTERHAMMER 28
#define T_MAGESTAFF1 37 #define T_FIGHTERSWORD1 29
#define T_MAGESTAFF2 38 #define T_FIGHTERSWORD2 30
#define T_MAGESTAFF3 39 #define T_FIGHTERSWORD3 31
#define T_ARROW 50 #define T_CLERICSTAFF 32
#define T_DART 51 #define T_CLERICHOLY1 33
#define T_POISONDART 52 #define T_CLERICHOLY2 34
#define T_RIPPERBALL 53 #define T_CLERICHOLY3 35
#define T_BLADE 64 #define T_MAGESHARDS 36
#define T_ICESHARD 65 #define T_MAGESTAFF1 37
#define T_FLAME_SMALL 66 #define T_MAGESTAFF2 38
#define T_FLAME_LARGE 67 #define T_MAGESTAFF3 39
#define T_MESHARMOR 68 #define T_ARROW 50
#define T_FALCONSHIELD 69 #define T_DART 51
#define T_PLATINUMHELM 70 #define T_POISONDART 52
#define T_AMULETOFWARDING 71 #define T_RIPPERBALL 53
#define T_ITEMFLECHETTE 72 #define T_BLADE 64
#define T_ITEMREPULSION 74 #define T_ICESHARD 65
#define T_MANA3 75 #define T_FLAME_SMALL 66
#define T_PUZZSKULL 76 #define T_FLAME_LARGE 67
#define T_PUZZGEMBIG 77 #define T_MESHARMOR 68
#define T_PUZZGEMRED 78 #define T_FALCONSHIELD 69
#define T_PUZZGEMGREEN1 79 #define T_PLATINUMHELM 70
#define T_PUZZGEMGREEN2 80 #define T_AMULETOFWARDING 71
#define T_PUZZGEMBLUE1 81 #define T_ITEMFLECHETTE 72
#define T_PUZZGEMBLUE2 82 #define T_ITEMREPULSION 74
#define T_PUZZBOOK1 83 #define T_MANA3 75
#define T_PUZZBOOK2 84 #define T_PUZZSKULL 76
#define T_METALKEY 85 #define T_PUZZGEMBIG 77
#define T_SMALLMETALKEY 86 #define T_PUZZGEMRED 78
#define T_AXEKEY 87 #define T_PUZZGEMGREEN1 79
#define T_FIREKEY 88 #define T_PUZZGEMGREEN2 80
#define T_EMERALDKEY 89 #define T_PUZZGEMBLUE1 81
#define T_MACEKEY 90 #define T_PUZZGEMBLUE2 82
#define T_SILVERKEY 91 #define T_PUZZBOOK1 83
#define T_RUSTYKEY 92 #define T_PUZZBOOK2 84
#define T_HORNKEY 93 #define T_METALKEY 85
#define T_SERPENTKEY 94 #define T_SMALLMETALKEY 86
#define T_WATERDRIP 95 #define T_AXEKEY 87
#define T_TEMPSMALLFLAME 96 #define T_FIREKEY 88
#define T_PERMSMALLFLAME 97 #define T_EMERALDKEY 89
#define T_PERMLARGEFLAME 99 #define T_MACEKEY 90
#define T_DEMON_MASH 100 #define T_SILVERKEY 91
#define T_DEMON2_MASH 101 #define T_RUSTYKEY 92
#define T_ETTIN_MASH 102 #define T_HORNKEY 93
#define T_CENTAUR_MASH 103 #define T_SERPENTKEY 94
#define T_THRUSTSPIKEUP 104 #define T_WATERDRIP 95
#define T_THRUSTSPIKEDOWN 105 #define T_TEMPSMALLFLAME 96
#define T_FLESH_DRIP1 106 #define T_PERMSMALLFLAME 97
#define T_FLESH_DRIP2 107 #define T_PERMLARGEFLAME 99
#define T_SPARK_DRIP 108 #define T_DEMON_MASH 100
#define T_DEMON2_MASH 101
#define T_ETTIN_MASH 102
// Flags returned by ClassifyActor #define T_CENTAUR_MASH 103
#define T_THRUSTSPIKEUP 104
#define ACTOR_NONE 0 #define T_THRUSTSPIKEDOWN 105
#define ACTOR_WORLD 1 #define T_FLESH_DRIP1 106
#define ACTOR_PLAYER 2 #define T_FLESH_DRIP2 107
#define ACTOR_BOT 4 #define T_SPARK_DRIP 108
#define ACTOR_VOODOODOLL 8
#define ACTOR_MONSTER 16
#define ACTOR_ALIVE 32 // Flags returned by ClassifyActor
#define ACTOR_DEAD 64
#define ACTOR_MISSILE 128 #define ACTOR_NONE 0
#define ACTOR_GENERIC 256 #define ACTOR_WORLD 1
#define ACTOR_PLAYER 2
#define ACTOR_BOT 4
// Physical volumes for SoundSequenceOnSector #define ACTOR_VOODOODOLL 8
#define ACTOR_MONSTER 16
#define SECSEQ_FLOOR 1 #define ACTOR_ALIVE 32
#define SECSEQ_CEILING 2 #define ACTOR_DEAD 64
#define SECSEQ_FULLHEIGHT 3 #define ACTOR_MISSILE 128
#define SECSEQ_INTERIOR 4 #define ACTOR_GENERIC 256
// Channels for PlaySound and StopSound
// Physical volumes for SoundSequenceOnSector
#define CHAN_AUTO 0
#define CHAN_WEAPON 1 #define SECSEQ_FLOOR 1
#define CHAN_VOICE 2 #define SECSEQ_CEILING 2
#define CHAN_ITEM 3 #define SECSEQ_FULLHEIGHT 3
#define CHAN_BODY 4 #define SECSEQ_INTERIOR 4
#define CHAN_5 5
#define CHAN_6 6 // Channels for PlaySound and StopSound
#define CHAN_7 7
#define CHAN_AUTO 0
// Modifier flags for PlaySound #define CHAN_WEAPON 1
#define CHAN_VOICE 2
#define CHAN_LISTENERZ 8 #define CHAN_ITEM 3
#define CHAN_MAYBE_LOCAL 16 #define CHAN_BODY 4
#define CHAN_UI 32 #define CHAN_5 5
#define CHAN_NOPAUSE 64 #define CHAN_6 6
#define CHAN_7 7
// Standard attenuation values for PlaySound
// Modifier flags for PlaySound
#define ATTN_NONE 0 // full volume the entire level
#define ATTN_NORM 1.0 #define CHAN_LISTENERZ 8
#define ATTN_IDLE 1.001 #define CHAN_MAYBE_LOCAL 16
#define ATTN_STATIC 3.0 // dimish very rapidly with distance #define CHAN_UI 32
#define CHAN_NOPAUSE 64
// Identifiers for PlayActorSound
// Standard attenuation values for PlaySound
#define SOUND_See 0
#define SOUND_Attack 1 #define ATTN_NONE 0 // full volume the entire level
#define SOUND_Pain 2 #define ATTN_NORM 1.0
#define SOUND_Death 3 #define ATTN_IDLE 1.001
#define SOUND_Active 4 #define ATTN_STATIC 3.0 // dimish very rapidly with distance
#define SOUND_Use 5
#define SOUND_Bounce 6 // Identifiers for PlayActorSound
#define SOUND_WallBounce 7
#define SOUND_CrushPain 8 #define SOUND_See 0
#define SOUND_Howl 9 #define SOUND_Attack 1
#define SOUND_Pain 2
// Flags for SpawnDecal #define SOUND_Death 3
#define SOUND_Active 4
#define SDF_ABSANGLE 1 #define SOUND_Use 5
#define SDF_PERMANENT 2 #define SOUND_Bounce 6
#define SDF_FIXED_ZOFF 4 #define SOUND_WallBounce 7
#define SDF_FIXED_DISTANCE 8 #define SOUND_CrushPain 8
#define SOUND_Howl 9
// Actor pointer selectors
// Flags for SpawnDecal
#DEFINE AAPTR_DEFAULT 0
#DEFINE AAPTR_NULL 0x1 #define SDF_ABSANGLE 1
#DEFINE AAPTR_TARGET 0x2 #define SDF_PERMANENT 2
#DEFINE AAPTR_MASTER 0x4 #define SDF_FIXED_ZOFF 4
#DEFINE AAPTR_TRACER 0x8 #define SDF_FIXED_DISTANCE 8
#DEFINE AAPTR_PLAYER_GETTARGET 0x10 // Actor pointer selectors
#DEFINE AAPTR_PLAYER_GETCONVERSATION 0x20
#DEFINE AAPTR_DEFAULT 0
#DEFINE AAPTR_PLAYER1 0x40 #DEFINE AAPTR_NULL 0x1
#DEFINE AAPTR_PLAYER2 0x80 #DEFINE AAPTR_TARGET 0x2
#DEFINE AAPTR_PLAYER3 0x100 #DEFINE AAPTR_MASTER 0x4
#DEFINE AAPTR_PLAYER4 0x200 #DEFINE AAPTR_TRACER 0x8
#DEFINE AAPTR_PLAYER5 0x400
#DEFINE AAPTR_PLAYER6 0x800 #DEFINE AAPTR_PLAYER_GETTARGET 0x10
#DEFINE AAPTR_PLAYER7 0x1000 #DEFINE AAPTR_PLAYER_GETCONVERSATION 0x20
#DEFINE AAPTR_PLAYER8 0x2000
#DEFINE AAPTR_PLAYER1 0x40
#DEFINE AAPTR_FRIENDPLAYER 0x4000 #DEFINE AAPTR_PLAYER2 0x80
#DEFINE AAPTR_GET_LINETARGET 0x8000 #DEFINE AAPTR_PLAYER3 0x100
#DEFINE AAPTR_PLAYER4 0x200
// Actor pointer operation flags #DEFINE AAPTR_PLAYER5 0x400
#DEFINE AAPTR_PLAYER6 0x800
#DEFINE PTROP_UNSAFETARGET 1 #DEFINE AAPTR_PLAYER7 0x1000
#DEFINE PTROP_UNSAFEMASTER 2 #DEFINE AAPTR_PLAYER8 0x2000
#DEFINE PTROP_NOSAFEGUARDS PTROP_UNSAFETARGET |PTROP_UNSAFEMASTER
#DEFINE AAPTR_FRIENDPLAYER 0x4000
// Line activation flags #DEFINE AAPTR_GET_LINETARGET 0x8000
#define SPAC_Cross 1 // when player crosses line // Actor pointer operation flags
#define SPAC_Use 2 // when player uses line
#define SPAC_MCross 4 // when monster crosses line #DEFINE PTROP_UNSAFETARGET 1
#define SPAC_Impact 8 // when projectile hits line #DEFINE PTROP_UNSAFEMASTER 2
#define SPAC_Push 16 // when player pushes line #DEFINE PTROP_NOSAFEGUARDS PTROP_UNSAFETARGET |PTROP_UNSAFEMASTER
#define SPAC_PCross 32 // when projectile crosses line
#define SPAC_UseThrough 64 // when player uses line (doesn't block) // Line activation flags
#define SPAC_AnyCross 128 // when anything without the TELEPORT flag crosses the line
#define SPAC_MUse 256 // monsters can use #define SPAC_Cross 1 // when player crosses line
#define SPAC_MPush 512 // monsters can push #define SPAC_Use 2 // when player uses line
#define SPAC_UseBack 1024 // can be used from the back side #define SPAC_MCross 4 // when monster crosses line
#define SPAC_Impact 8 // when projectile hits line
#define SPAC_None 0 #define SPAC_Push 16 // when player pushes line
#define SPAC_PCross 32 // when projectile crosses line
// GetArmorInfo #define SPAC_UseThrough 64 // when player uses line (doesn't block)
#define SPAC_AnyCross 128 // when anything without the TELEPORT flag crosses the line
#define ARMORINFO_CLASSNAME 0 #define SPAC_MUse 256 // monsters can use
#define ARMORINFO_SAVEAMOUNT 1 #define SPAC_MPush 512 // monsters can push
#define ARMORINFO_SAVEPERCENT 2 #define SPAC_UseBack 1024 // can be used from the back side
#define ARMORINFO_MAXABSORB 3
#define ARMORINFO_MAXFULLABSORB 4 #define SPAC_None 0
#define ARMORINFO_ACTUALSAVEAMOUNT 5
// GetArmorInfo
// ==========================================================================
// Skulltag Definitions #define ARMORINFO_CLASSNAME 0
// ========================================================================== #define ARMORINFO_SAVEAMOUNT 1
#define ARMORINFO_SAVEPERCENT 2
// Skulltag Teams ----------------------------------------------------------- #define ARMORINFO_MAXABSORB 3
#define TEAM_BLUE 0 #define ARMORINFO_MAXFULLABSORB 4
#define TEAM_RED 1 #define ARMORINFO_ACTUALSAVEAMOUNT 5
#define NO_TEAM 2
// ==========================================================================
// Team properties ---------------------------------------------------------- // Skulltag Definitions
#define TPROP_Name 0 // ==========================================================================
#define TPROP_Score 1
#define TPROP_IsValid 2 // Skulltag Teams -----------------------------------------------------------
#define TPROP_NumPlayers 3 #define TEAM_BLUE 0
#define TPROP_NumLivePlayers 4 #define TEAM_RED 1
#define TPROP_TextColor 5 #define NO_TEAM 2
#define TPROP_PlayerStartNum 6
#define TPROP_Spread 7 // Team properties ----------------------------------------------------------
#define TPROP_Carrier 8 #define TPROP_Name 0
#define TPROP_Assister 9 #define TPROP_Score 1
#define TPROP_FragCount 10 #define TPROP_IsValid 2
#define TPROP_DeathCount 11 #define TPROP_NumPlayers 3
#define TPROP_WinCount 12 #define TPROP_NumLivePlayers 4
#define TPROP_PointCount 13 #define TPROP_TextColor 5
#define TPROP_ReturnTics 14 #define TPROP_PlayerStartNum 6
#define TPROP_TeamItem 15 #define TPROP_Spread 7
#define TPROP_WinnerTheme 16 #define TPROP_Carrier 8
#define TPROP_LoserTheme 17 #define TPROP_Assister 9
#define TPROP_FragCount 10
// Skulltag Invasion -------------------------------------------------------- #define TPROP_DeathCount 11
#define IS_WAITINGFORPLAYERS 0 #define TPROP_WinCount 12
#define IS_FIRSTCOUNTDOWN 1 #define TPROP_PointCount 13
#define IS_INPROGRESS 2 #define TPROP_ReturnTics 14
#define IS_BOSSFIGHT 3 #define TPROP_TeamItem 15
#define IS_WAVECOMPLETE 4 #define TPROP_WinnerTheme 16
#define IS_COUNTDOWN 5 #define TPROP_LoserTheme 17
// Skulltag Invasion --------------------------------------------------------
#define T_GRENADE 216 #define IS_WAITINGFORPLAYERS 0
#define T_BFG10KSHOT 217 #define IS_FIRSTCOUNTDOWN 1
#define T_DARKIMPFIREBALL 218 #define IS_INPROGRESS 2
#define T_CACOLANTERNSHOT 219 #define IS_BOSSFIGHT 3
#define T_ABADDONSHOT 221 #define IS_WAVECOMPLETE 4
#define IS_COUNTDOWN 5
// Skulltag Monsters --------------------------------------------------------
#define T_DARKIMP 155
#define T_BLOODDEMON 156 #define T_GRENADE 216
#define T_SSGGUY 157 #define T_BFG10KSHOT 217
#define T_HECTEBUS 158 #define T_DARKIMPFIREBALL 218
#define T_CACOLANTERN 159 #define T_CACOLANTERNSHOT 219
#define T_BELPHEGOR 215 #define T_ABADDONSHOT 221
#define T_ABADDON 220
// Skulltag Monsters --------------------------------------------------------
// Skulltag Weapons --------------------------------------------------------- #define T_DARKIMP 155
#define T_PISTOL 162 #define T_BLOODDEMON 156
#define T_GRENADELAUNCHER 163 #define T_SSGGUY 157
#define T_RAILGUN 164 #define T_HECTEBUS 158
#define T_BFG10000 165 #define T_CACOLANTERN 159
#define T_MINIGUN 214 #define T_BELPHEGOR 215
#define T_ABADDON 220
// Skulltag Armor/Health Items ----------------------------------------------
#define T_MAXHEALTHBONUS 166 // Skulltag Weapons ---------------------------------------------------------
#define T_MAXARMORBONUS 167 #define T_PISTOL 162
#define T_REDARMOR 168 #define T_GRENADELAUNCHER 163
#define T_RAILGUN 164
// Skulltag Powerups -------------------------------------------------------- #define T_BFG10000 165
#define T_TURBOSPHERE 169 #define T_MINIGUN 214
#define T_ANTIGRAVBELT 170
#define T_TIMEFREEZER 171 // Skulltag Armor/Health Items ----------------------------------------------
#define T_INFRAGOGGLES 172 #define T_MAXHEALTHBONUS 166
#define T_INFRATRACKER 173 #define T_MAXARMORBONUS 167
#define T_TRANSLUCENCY 174 #define T_REDARMOR 168
#define T_DOOMSPHERE 175
#define T_RANDOMPOWERUP 176 // Skulltag Powerups --------------------------------------------------------
#define T_TURBOSPHERE 169
// Skulltag Flags ----------------------------------------------------------- #define T_ANTIGRAVBELT 170
#define T_BLUEFLAG 177 #define T_TIMEFREEZER 171
#define T_REDFLAG 178 #define T_INFRAGOGGLES 172
#define T_WHITEFLAG 179 #define T_INFRATRACKER 173
#define T_TRANSLUCENCY 174
// Skulltag Runes ----------------------------------------------------------- #define T_DOOMSPHERE 175
#define T_STRENGTH 180 #define T_RANDOMPOWERUP 176
#define T_RAGE 181
#define T_DRAIN 182 // Skulltag Flags -----------------------------------------------------------
#define T_SPREAD 183 #define T_BLUEFLAG 177
#define T_RESISTANCE 184 #define T_REDFLAG 178
#define T_REGENERATION 185 #define T_WHITEFLAG 179
#define T_PROSPERITY 186
#define T_REFLECTION 187 // Skulltag Runes -----------------------------------------------------------
#define T_HIGHJUMP 188 #define T_STRENGTH 180
#define T_HASTE 189 #define T_RAGE 181
#define T_DRAIN 182
// Zandronum database additions --------------------------------------------- #define T_SPREAD 183
#define DB_ORDER_ASC 0 #define T_RESISTANCE 184
#define DB_ORDER_DESC 1 #define T_REGENERATION 185
#define T_PROSPERITY 186
// Events when you have input grabbed #define T_REFLECTION 187
#define T_HIGHJUMP 188
#define EV_KeyDown 1 // data1: unshifted ASCII, data2: shifted ASCII #define T_HASTE 189
#define EV_KeyRepeat 2 // data1: unshifted ASCII, data2: shifted ASCII
#define EV_KeyUp 3 // data1: unshifted ASCII, data2: shifted ASCII // Zandronum database additions ---------------------------------------------
#define EV_Char 4 // data1: translated character for text input #define DB_ORDER_ASC 0
#define EV_MouseMove 5 // data1: x, data2: y #define DB_ORDER_DESC 1
#define EV_LButtonDown 6
#define EV_LButtonUp 7 // Events when you have input grabbed
#define EV_LButtonDblClick 8
#define EV_MButtonDown 9 #define EV_KeyDown 1 // data1: unshifted ASCII, data2: shifted ASCII
#define EV_MButtonUp 10 #define EV_KeyRepeat 2 // data1: unshifted ASCII, data2: shifted ASCII
#define EV_MButtonDblClick 11 #define EV_KeyUp 3 // data1: unshifted ASCII, data2: shifted ASCII
#define EV_RButtonDown 12 #define EV_Char 4 // data1: translated character for text input
#define EV_RButtonUp 13 #define EV_MouseMove 5 // data1: x, data2: y
#define EV_RButtonDblClick 14 #define EV_LButtonDown 6
#define EV_WheelDown 15 #define EV_LButtonUp 7
#define EV_WheelUp 16 #define EV_LButtonDblClick 8
#define EV_MButtonDown 9
// Key modifiers (or'd with event type) #define EV_MButtonUp 10
#define EV_MButtonDblClick 11
#define GKM_SHIFT 256 #define EV_RButtonDown 12
#define GKM_CTRL 512 #define EV_RButtonUp 13
#define GKM_ALT 1024 #define EV_RButtonDblClick 14
#define EV_WheelDown 15
// Button modifiers are only valid for EV_MouseMove events #define EV_WheelUp 16
#define GKM_LBUTTON 2048 // Key modifiers (or'd with event type)
#define GKM_MBUTTON 4096
#define GKM_RBUTTON 8192 #define GKM_SHIFT 256
#define GKM_CTRL 512
// Special codes for some GUI keys, including a few real ASCII codes. #define GKM_ALT 1024
#define GK_PGDN 1 // Button modifiers are only valid for EV_MouseMove events
#define GK_PGUP 2
#define GK_HOME 3 #define GKM_LBUTTON 2048
#define GK_END 4 #define GKM_MBUTTON 4096
#define GK_LEFT 5 #define GKM_RBUTTON 8192
#define GK_RIGHT 6
#define GK_ALERT 7 // ASCII bell // Special codes for some GUI keys, including a few real ASCII codes.
#define GK_BACKSPACE 8 // ASCII
#define GK_TAB 9 // ASCII #define GK_PGDN 1
#define GK_LINEFEED 10 // ASCII #define GK_PGUP 2
#define GK_DOWN 10 #define GK_HOME 3
#define GK_VTAB 11 // ASCII #define GK_END 4
#define GK_UP 11 #define GK_LEFT 5
#define GK_FORMFEED 12 // ASCII #define GK_RIGHT 6
#define GK_RETURN 13 // ASCII #define GK_ALERT 7 // ASCII bell
#define GK_F1 14 #define GK_BACKSPACE 8 // ASCII
#define GK_F2 15 #define GK_TAB 9 // ASCII
#define GK_F3 16 #define GK_LINEFEED 10 // ASCII
#define GK_F4 17 #define GK_DOWN 10
#define GK_F5 18 #define GK_VTAB 11 // ASCII
#define GK_F6 19 #define GK_UP 11
#define GK_F7 20 #define GK_FORMFEED 12 // ASCII
#define GK_F8 21 #define GK_RETURN 13 // ASCII
#define GK_F9 22 #define GK_F1 14
#define GK_F10 23 #define GK_F2 15
#define GK_F11 24 #define GK_F3 16
#define GK_F12 25 #define GK_F4 17
#define GK_DEL 26 #define GK_F5 18
#define GK_ESCAPE 27 // ASCII #define GK_F6 19
#define GK_FREE1 28 #define GK_F7 20
#define GK_FREE2 29 #define GK_F8 21
#define GK_FREE3 30 #define GK_F9 22
#define GK_CESCAPE 31 // color escape #define GK_F10 23
#define GK_F11 24
#define CHANGELEVEL_KEEPFACING 1 #define GK_F12 25
#define CHANGELEVEL_RESETINVENTORY 2 #define GK_DEL 26
#define CHANGELEVEL_NOMONSTERS 4 #define GK_ESCAPE 27 // ASCII
#define CHANGELEVEL_CHANGESKILL 8 #define GK_FREE1 28
#define CHANGELEVEL_NOINTERMISSION 16 #define GK_FREE2 29
#define CHANGELEVEL_RESETHEALTH 32 #define GK_FREE3 30
#define CHANGELEVEL_PRERAISEWEAPON 64 #define GK_CESCAPE 31 // color escape
#define NO_CHANGE 32767.0 #define CHANGELEVEL_KEEPFACING 1
#define CHANGELEVEL_RESETINVENTORY 2
#define SECF_SILENT 1 #define CHANGELEVEL_NOMONSTERS 4
#define SECF_NOFALLINGDAMAGE 2 #define CHANGELEVEL_CHANGESKILL 8
#define SECF_FLOORDROP 4 #define CHANGELEVEL_NOINTERMISSION 16
#define SECF_NORESPAWN 8 #define CHANGELEVEL_RESETHEALTH 32
#define SECF_FRICTION 16 #define CHANGELEVEL_PRERAISEWEAPON 64
#define SECF_PUSH 32 #define CHANGELEVEL_NOAUTOSAVE 128 // VKDoom
#define SECF_SILENTMOVE 64
#define SECF_DMGTERRAINFX 128 #define NO_CHANGE 32767.0
#define SECF_DMGENDGODMODE 256
#define SECF_DMGENDLEVEL 512 #define SECF_SILENT 1
#define SECF_DMGHAZARD 1024 #define SECF_NOFALLINGDAMAGE 2
#define SECF_FLOORDROP 4
#define BLOCKF_CREATURES 1 #define SECF_NORESPAWN 8
#define BLOCKF_MONSTERS 2 #define SECF_FRICTION 16
#define BLOCKF_PLAYERS 4 #define SECF_PUSH 32
#define BLOCKF_FLOATERS 8 #define SECF_SILENTMOVE 64
#define BLOCKF_PROJECTILES 16 #define SECF_DMGTERRAINFX 128
#define BLOCKF_EVERYTHING 32 #define SECF_DMGENDGODMODE 256
#define BLOCKF_RAILING 64 #define SECF_DMGENDLEVEL 512
#define BLOCKF_USE 128 #define SECF_DMGHAZARD 1024
#define BLOCKF_SIGHT 256
#define BLOCKF_HITSCAN 512 #define BLOCKF_CREATURES 1
#define BLOCKF_SOUND 1024 #define BLOCKF_MONSTERS 2
#define BLOCKF_LANDMONSTERS 2048 #define BLOCKF_PLAYERS 4
#define BLOCKF_FLOATERS 8
#define FOGP_DENSITY 0 #define BLOCKF_PROJECTILES 16
#define FOGP_OUTSIDEDENSITY 1 #define BLOCKF_EVERYTHING 32
#define FOGP_SKYFOG 2 #define BLOCKF_RAILING 64
#define BLOCKF_USE 128
#define PRINTNAME_LEVELNAME -1 #define BLOCKF_SIGHT 256
#define PRINTNAME_LEVEL -2 #define BLOCKF_HITSCAN 512
#define PRINTNAME_SKILL -3 #define BLOCKF_SOUND 1024
#define PRINTNAME_NEXTLEVEL -4 #define BLOCKF_LANDMONSTERS 2048
#define PRINTNAME_NEXTSECRET -5
#define FOGP_DENSITY 0
#define CSF_NOFAKEFLOORS 1 #define FOGP_OUTSIDEDENSITY 1
#define CSF_NOBLOCKALL 2 #define FOGP_SKYFOG 2
#define FHF_NORANDOMPUFFZ 1 #define PRINTNAME_LEVELNAME -1
#define FHF_NOIMPACTDECAL 2 #define PRINTNAME_LEVEL -2
#define PRINTNAME_SKILL -3
// PickActor flags #define PRINTNAME_NEXTLEVEL -4
#define PRINTNAME_NEXTSECRET -5
#define PICKAF_FORCETID 1
#define PICKAF_RETURNTID 2 #define CSF_NOFAKEFLOORS 1
#define CSF_NOBLOCKALL 2
// magic value to set the ice translation through ACS
#define TRANSLATION_ICE 0x100007 #define FHF_NORANDOMPUFFZ 1
#define FHF_NOIMPACTDECAL 2
// Actor flags
#define MF_SPECIAL 0x00000001 // PickActor flags
#define MF_SOLID 0x00000002
#define MF_SHOOTABLE 0x00000004 #define PICKAF_FORCETID 1
#define MF_NOSECTOR 0x00000008 #define PICKAF_RETURNTID 2
#define MF_NOBLOCKMAP 0x00000010
#define MF_AMBUSH 0x00000020 // magic value to set the ice translation through ACS
#define MF_JUSTHIT 0x00000040 #define TRANSLATION_ICE 0x100007
#define MF_JUSTATTACKED 0x00000080
#define MF_SPAWNCEILING 0x00000100 // Actor flags
#define MF_NOGRAVITY 0x00000200 #define MF_SPECIAL 0x00000001
#define MF_DROPOFF 0x00000400 #define MF_SOLID 0x00000002
#define MF_PICKUP 0x00000800 #define MF_SHOOTABLE 0x00000004
#define MF_NOCLIP 0x00001000 #define MF_NOSECTOR 0x00000008
#define MF_INCHASE 0x00002000 #define MF_NOBLOCKMAP 0x00000010
#define MF_FLOAT 0x00004000 #define MF_AMBUSH 0x00000020
#define MF_TELEPORT 0x00008000 #define MF_JUSTHIT 0x00000040
#define MF_MISSILE 0x00010000 #define MF_JUSTATTACKED 0x00000080
#define MF_DROPPED 0x00020000 #define MF_SPAWNCEILING 0x00000100
#define MF_SHADOW 0x00040000 #define MF_NOGRAVITY 0x00000200
#define MF_NOBLOOD 0x00080000 #define MF_DROPOFF 0x00000400
#define MF_CORPSE 0x00100000 #define MF_PICKUP 0x00000800
#define MF_INFLOAT 0x00200000 #define MF_NOCLIP 0x00001000
#define MF_INBOUNCE 0x00200000 #define MF_INCHASE 0x00002000
#define MF_COUNTKILL 0x00400000 #define MF_FLOAT 0x00004000
#define MF_COUNTITEM 0x00800000 #define MF_TELEPORT 0x00008000
#define MF_SKULLFLY 0x01000000 #define MF_MISSILE 0x00010000
#define MF_NOTDMATCH 0x02000000 #define MF_DROPPED 0x00020000
#define MF_SPAWNSOUNDSOURCE 0x04000000 #define MF_SHADOW 0x00040000
#define MF_FRIENDLY 0x08000000 #define MF_NOBLOOD 0x00080000
#define MF_UNMORPHED 0x10000000 #define MF_CORPSE 0x00100000
#define MF_NOLIFTDROP 0x20000000 #define MF_INFLOAT 0x00200000
#define MF_STEALTH 0x40000000 #define MF_INBOUNCE 0x00200000
#define MF_ICECORPSE 0x80000000 #define MF_COUNTKILL 0x00400000
#define MF_COUNTITEM 0x00800000
// Linedef flags #define MF_SKULLFLY 0x01000000
#define ML_BLOCKING 0x00000001 #define MF_NOTDMATCH 0x02000000
#define ML_BLOCKMONSTERS 0x00000002 #define MF_SPAWNSOUNDSOURCE 0x04000000
#define ML_TWOSIDED 0x00000004 #define MF_FRIENDLY 0x08000000
#define ML_DONTPEGTOP 0x00000008 #define MF_UNMORPHED 0x10000000
#define ML_DONTPEGBOTTOM 0x00000010 #define MF_NOLIFTDROP 0x20000000
#define ML_SECRET 0x00000020 #define MF_STEALTH 0x40000000
#define ML_SOUNDBLOCK 0x00000040 #define MF_ICECORPSE 0x80000000
#define ML_DONTDRAW 0x00000080
#define ML_MAPPED 0x00000100 // Linedef flags
#define ML_REPEAT_SPECIAL 0x00000200 #define ML_BLOCKING 0x00000001
#define ML_ADDTRANS 0x00000400 #define ML_BLOCKMONSTERS 0x00000002
#define ML_MONSTERSCANACTIVATE 0x00002000 #define ML_TWOSIDED 0x00000004
#define ML_BLOCK_PLAYERS 0x00004000 #define ML_DONTPEGTOP 0x00000008
#define ML_BLOCKEVERYTHING 0x00008000 #define ML_DONTPEGBOTTOM 0x00000010
#define ML_ZONEBOUNDARY 0x00010000 #define ML_SECRET 0x00000020
#define ML_RAILING 0x00020000 #define ML_SOUNDBLOCK 0x00000040
#define ML_BLOCK_FLOATERS 0x00040000 #define ML_DONTDRAW 0x00000080
#define ML_CLIP_MIDTEX 0x00080000 #define ML_MAPPED 0x00000100
#define ML_WRAP_MIDTEX 0x00100000 #define ML_REPEAT_SPECIAL 0x00000200
#define ML_3DMIDTEX 0x00200000 #define ML_ADDTRANS 0x00000400
#define ML_CHECKSWITCHRANGE 0x00400000 #define ML_MONSTERSCANACTIVATE 0x00002000
#define ML_FIRSTSIDEONLY 0x00800000 #define ML_BLOCK_PLAYERS 0x00004000
#define ML_BLOCKPROJECTILE 0x01000000 #define ML_BLOCKEVERYTHING 0x00008000
#define ML_BLOCKUSE 0x02000000 #define ML_ZONEBOUNDARY 0x00010000
#define ML_BLOCKSIGHT 0x04000000 #define ML_RAILING 0x00020000
#define ML_BLOCKHITSCAN 0x08000000 #define ML_BLOCK_FLOATERS 0x00040000
#define ML_CLIP_MIDTEX 0x00080000
#define QF_RELATIVE 1 #define ML_WRAP_MIDTEX 0x00100000
#define QF_SCALEDOWN 1 << 1 #define ML_3DMIDTEX 0x00200000
#define QF_SCALEUP 1 << 2 #define ML_CHECKSWITCHRANGE 0x00400000
#define QF_MAX 1 << 3 #define ML_FIRSTSIDEONLY 0x00800000
#define QF_FULLINTENSITY 1 << 4 #define ML_BLOCKPROJECTILE 0x01000000
#define QF_WAVE 1 << 5 #define ML_BLOCKUSE 0x02000000
#define QF_3D 1 << 6 #define ML_BLOCKSIGHT 0x04000000
#define QF_GROUNDONLY 1 << 7 #define ML_BLOCKHITSCAN 0x08000000
#define QF_AFFECTACTORS 1 << 8
#define QF_SHAKEONLY 1 << 9 #define QF_RELATIVE 1
#define QF_SCALEDOWN 1 << 1
#define WARPF_ABSOLUTEOFFSET 0x1 #define QF_SCALEUP 1 << 2
#define WARPF_ABSOLUTEANGLE 0x2 #define QF_MAX 1 << 3
#define WARPF_USECALLERANGLE 0x4 #define QF_FULLINTENSITY 1 << 4
#define WARPF_NOCHECKPOSITION 0x8 #define QF_WAVE 1 << 5
#define WARPF_INTERPOLATE 0x10 #define QF_3D 1 << 6
#define WARPF_WARPINTERPOLATION 0x20 #define QF_GROUNDONLY 1 << 7
#define WARPF_COPYINTERPOLATION 0x40 #define QF_AFFECTACTORS 1 << 8
#define WARPF_STOP 0x80 #define QF_SHAKEONLY 1 << 9
#define WARPF_TOFLOOR 0x100 #define QF_DAMAGEFALLOFF 1 << 10
#define WARPF_TESTONLY 0x200
#define WARPF_ABSOLUTEPOSITION 0x400 #define WARPF_ABSOLUTEOFFSET 0x1
#define WARPF_BOB 0x800 #define WARPF_ABSOLUTEANGLE 0x2
#define WARPF_MOVEPTR 0x1000 #define WARPF_USECALLERANGLE 0x4
#define WARPF_USEPTR 0x2000 #define WARPF_NOCHECKPOSITION 0x8
#define WARPF_COPYVELOCITY 0x4000 #define WARPF_INTERPOLATE 0x10
#define WARPF_COPYPITCH 0x8000 #define WARPF_WARPINTERPOLATION 0x20
#define WARPF_COPYINTERPOLATION 0x40
#define CPXF_ANCESTOR (1 << 0) #define WARPF_STOP 0x80
#define CPXF_LESSOREQUAL (1 << 1) #define WARPF_TOFLOOR 0x100
#define CPXF_NOZ (1 << 2) #define WARPF_TESTONLY 0x200
#define CPXF_COUNTDEAD (1 << 3) #define WARPF_ABSOLUTEPOSITION 0x400
#define CPXF_DEADONLY (1 << 4) #define WARPF_BOB 0x800
#define CPXF_EXACT (1 << 5) #define WARPF_MOVEPTR 0x1000
#define CPXF_SETTARGET (1 << 6) #define WARPF_USEPTR 0x2000
#define CPXF_SETMASTER (1 << 7) #define WARPF_COPYVELOCITY 0x4000
#define CPXF_SETTRACER (1 << 8) #define WARPF_COPYPITCH 0x8000
#define CPXF_FARTHEST (1 << 9)
#define CPXF_CLOSEST (1 << 10) #define CPXF_ANCESTOR (1 << 0)
#define CPXF_SETONPTR (1 << 11) #define CPXF_LESSOREQUAL (1 << 1)
#define CPXF_CHECKSIGHT (1 << 12) #define CPXF_NOZ (1 << 2)
#define CPXF_COUNTDEAD (1 << 3)
#define SECPART_Floor 0 #define CPXF_DEADONLY (1 << 4)
#define SECPART_Ceiling 1 #define CPXF_EXACT (1 << 5)
#define SECPART_3D 2 #define CPXF_SETTARGET (1 << 6)
#define CPXF_SETMASTER (1 << 7)
// For Line_SetAutomapFlags; These are or'd together #define CPXF_SETTRACER (1 << 8)
#define AMLF_Secret (1 << 0) #define CPXF_FARTHEST (1 << 9)
#define AMLF_DontDraw (1 << 1) #define CPXF_CLOSEST (1 << 10)
#define AMLF_Mapped (1 << 2) #define CPXF_SETONPTR (1 << 11)
#define AMLF_Revealed (1 << 3) #define CPXF_CHECKSIGHT (1 << 12)
// For Line_SetAutomapStyle #define SECPART_Floor 0
#define AMLS_Default 0 #define SECPART_Ceiling 1
#define AMLS_OneSided 1 #define SECPART_3D 2
#define AMLS_TwoSided 2
#define AMLS_FloorDiff 3 // For Line_SetAutomapFlags; These are or'd together
#define AMLS_CeilingDiff 4 #define AMLF_Secret (1 << 0)
#define AMLS_ExtraFloor 5 #define AMLF_DontDraw (1 << 1)
#define AMLS_Special 6 #define AMLF_Mapped (1 << 2)
#define AMLS_Secret 7 #define AMLF_Revealed (1 << 3)
#define AMLS_NotSeen 8
#define AMLS_Locked 9 // For Line_SetAutomapStyle
#define AMLS_IntraTeleport 10 #define AMLS_Default 0
#define AMLS_InterTeleport 11 #define AMLS_OneSided 1
#define AMLS_UnexploredSecret 12 #define AMLS_TwoSided 2
#define AMLS_Portal 13 #define AMLS_FloorDiff 3
#define AMLS_CeilingDiff 4
#define AMLS_ExtraFloor 5
#define AMLS_Special 6
#define AMLS_Secret 7
#define AMLS_NotSeen 8
#define AMLS_Locked 9
#define AMLS_IntraTeleport 10
#define AMLS_InterTeleport 11
#define AMLS_UnexploredSecret 12
#define AMLS_Portal 13
// Lump reading stuff.
#define LUMP_OPEN_FULLPATH 1
#define LUMP_READ_BYTE 0
#define LUMP_READ_UBYTE 1
#define LUMP_READ_SHORT 2
#define LUMP_READ_USHORT 3
#define LUMP_READ_INT 4
#define LUMP_READ_FLOAT 5
#define LUMP_INFO_SIZE 0
#define LUMP_INFO_NAME 1
//************************************************************************** //**************************************************************************
//** //**
//** zspecials.acs //** zspecials.acs
//** //**
//************************************************************************** //**************************************************************************
special special
// 1:Polyobj_StartLine // 1:Polyobj_StartLine
2:Polyobj_RotateLeft(3), 2:Polyobj_RotateLeft(3),
3:Polyobj_RotateRight(3), 3:Polyobj_RotateRight(3),
4:Polyobj_Move(4), 4:Polyobj_Move(4),
// 5:Polyobj_ExplicitLine // 5:Polyobj_ExplicitLine
6:Polyobj_MoveTimes8(4), 6:Polyobj_MoveTimes8(4),
7:Polyobj_DoorSwing(4), 7:Polyobj_DoorSwing(4),
8:Polyobj_DoorSlide(5), 8:Polyobj_DoorSlide(5),
9:Line_Horizon(0), 9:Line_Horizon(0),
10:Door_Close(2,3), 10:Door_Close(2,3),
11:Door_Open(2,3), 11:Door_Open(2,3),
12:Door_Raise(3,4), 12:Door_Raise(3,4),
13:Door_LockedRaise(4,5), 13:Door_LockedRaise(4,5),
14:Door_Animated(3,4), 14:Door_Animated(3,4),
15:Autosave(0), 15:Autosave(0),
// 16:Transfer_WallLight // 16:Transfer_WallLight
17:Thing_Raise(1,2), 17:Thing_Raise(1,2),
18:StartConversation(1,2), 18:StartConversation(1,2),
19:Thing_Stop(1), 19:Thing_Stop(1),
20:Floor_LowerByValue(3,4), 20:Floor_LowerByValue(3,4),
21:Floor_LowerToLowest(2,3), 21:Floor_LowerToLowest(2,3),
22:Floor_LowerToNearest(2,3), 22:Floor_LowerToNearest(2,3),
23:Floor_RaiseByValue(3,5), 23:Floor_RaiseByValue(3,5),
24:Floor_RaiseToHighest(2,5), 24:Floor_RaiseToHighest(2,5),
25:Floor_RaiseToNearest(2,4), 25:Floor_RaiseToNearest(2,4),
26:Stairs_BuildDown(5), 26:Stairs_BuildDown(5),
27:Stairs_BuildUp(5), 27:Stairs_BuildUp(5),
28:Floor_RaiseAndCrush(3,4), 28:Floor_RaiseAndCrush(3,4),
29:Pillar_Build(3), 29:Pillar_Build(3),
30:Pillar_Open(4), 30:Pillar_Open(4),
31:Stairs_BuildDownSync(4), 31:Stairs_BuildDownSync(4),
32:Stairs_BuildUpSync(4), 32:Stairs_BuildUpSync(4),
33:ForceField(0), 33:ForceField(0),
34:ClearForceField(1), 34:ClearForceField(1),
35:Floor_RaiseByValueTimes8(3,5), 35:Floor_RaiseByValueTimes8(3,5),
36:Floor_LowerByValueTimes8(3,4), 36:Floor_LowerByValueTimes8(3,4),
37:Floor_MoveToValue(3,5), 37:Floor_MoveToValue(3,5),
38:Ceiling_Waggle(5), 38:Ceiling_Waggle(5),
39:Teleport_ZombieChanger(2), 39:Teleport_ZombieChanger(2),
40:Ceiling_LowerByValue(3,5), 40:Ceiling_LowerByValue(3,5),
41:Ceiling_RaiseByValue(3,4), 41:Ceiling_RaiseByValue(3,4),
42:Ceiling_CrushAndRaise(3,4), 42:Ceiling_CrushAndRaise(3,4),
43:Ceiling_LowerAndCrush(3,4), 43:Ceiling_LowerAndCrush(3,4),
44:Ceiling_CrushStop(1,2), 44:Ceiling_CrushStop(1,2),
45:Ceiling_CrushRaiseAndStay(3,4), 45:Ceiling_CrushRaiseAndStay(3,4),
46:Floor_CrushStop(1), 46:Floor_CrushStop(1),
47:Ceiling_MoveToValue(3,5), 47:Ceiling_MoveToValue(3,5),
// 48:Sector_Attach3dMidtex // 48:Sector_Attach3dMidtex
49:GlassBreak(0,2), 49:GlassBreak(0,2),
// 50:ExtraFloor_LightOnly // 50:ExtraFloor_LightOnly
51:Sector_SetLink(4), 51:Sector_SetLink(4),
52:Scroll_Wall(5), 52:Scroll_Wall(5),
53:Line_SetTextureOffset(5), 53:Line_SetTextureOffset(5),
54:Sector_ChangeFlags(3), 54:Sector_ChangeFlags(3),
55:Line_SetBlocking(3), 55:Line_SetBlocking(3),
56:Line_SetTextureScale(5), 56:Line_SetTextureScale(5),
// 57: Sector_SetPortal // 57: Sector_SetPortal
// 58: Sector_CopyScroller // 58: Sector_CopyScroller
59:Polyobj_OR_MoveToSpot(3), 59:Polyobj_OR_MoveToSpot(3),
60:Plat_PerpetualRaise(3), 60:Plat_PerpetualRaise(3),
61:Plat_Stop(1,2), 61:Plat_Stop(1,2),
62:Plat_DownWaitUpStay(3), 62:Plat_DownWaitUpStay(3),
63:Plat_DownByValue(4), 63:Plat_DownByValue(4),
64:Plat_UpWaitDownStay(3), 64:Plat_UpWaitDownStay(3),
65:Plat_UpByValue(4), 65:Plat_UpByValue(4),
66:Floor_LowerInstant(3,4), 66:Floor_LowerInstant(3,4),
67:Floor_RaiseInstant(3,5), 67:Floor_RaiseInstant(3,5),
68:Floor_MoveToValueTimes8(4,5), 68:Floor_MoveToValueTimes8(4,5),
69:Ceiling_MoveToValueTimes8(4,5), 69:Ceiling_MoveToValueTimes8(4,5),
70:Teleport(1,3), 70:Teleport(1,3),
71:Teleport_NoFog(1,4), 71:Teleport_NoFog(1,4),
72:ThrustThing(2,4), 72:ThrustThing(2,4),
73:DamageThing(1,2), 73:DamageThing(1,2),
74:Teleport_NewMap(2,3), 74:Teleport_NewMap(2,3),
75:Teleport_EndGame(0), 75:Teleport_EndGame(0),
76:TeleportOther(3), 76:TeleportOther(3),
77:TeleportGroup(5), 77:TeleportGroup(5),
78:TeleportInSector(4,5), 78:TeleportInSector(4,5),
79:Thing_SetConversation(2), 79:Thing_SetConversation(2),
80:ACS_Execute(2,5), 80:ACS_Execute(2,5),
81:ACS_Suspend(2), 81:ACS_Suspend(2),
82:ACS_Terminate(2), 82:ACS_Terminate(2),
83:ACS_LockedExecute(5), 83:ACS_LockedExecute(5),
84:ACS_ExecuteWithResult(1,5), 84:ACS_ExecuteWithResult(1,5),
85:ACS_LockedExecuteDoor(5), 85:ACS_LockedExecuteDoor(5),
86:Polyobj_MoveToSpot(3), 86:Polyobj_MoveToSpot(3),
87:Polyobj_Stop(1), 87:Polyobj_Stop(1),
88:Polyobj_MoveTo(4), 88:Polyobj_MoveTo(4),
89:Polyobj_OR_MoveTo(4), 89:Polyobj_OR_MoveTo(4),
90:Polyobj_OR_RotateLeft(3), 90:Polyobj_OR_RotateLeft(3),
91:Polyobj_OR_RotateRight(3), 91:Polyobj_OR_RotateRight(3),
92:Polyobj_OR_Move(4), 92:Polyobj_OR_Move(4),
93:Polyobj_OR_MoveTimes8(4), 93:Polyobj_OR_MoveTimes8(4),
94:Pillar_BuildAndCrush(4,5), 94:Pillar_BuildAndCrush(4,5),
95:FloorAndCeiling_LowerByValue(3), 95:FloorAndCeiling_LowerByValue(3),
96:FloorAndCeiling_RaiseByValue(3), 96:FloorAndCeiling_RaiseByValue(3),
97:Ceiling_LowerAndCrushDist(3,5), 97:Ceiling_LowerAndCrushDist(3,5),
98:Sector_SetTranslucent(3,4), 98:Sector_SetTranslucent(3,4),
99:Floor_RaiseAndCrushDoom(3,4), 99:Floor_RaiseAndCrushDoom(3,4),
// 100:Scroll_Texture_Left // 100:Scroll_Texture_Left
// 101:Scroll_Texture_Right // 101:Scroll_Texture_Right
// 102:Scroll_Texture_Up // 102:Scroll_Texture_Up
// 103:Scroll_Texture_Down // 103:Scroll_Texture_Down
104:Ceiling_CrushAndRaiseSilentDist(4,5), 104:Ceiling_CrushAndRaiseSilentDist(4,5),
105:Door_WaitRaise(4,5), 105:Door_WaitRaise(4,5),
106:Door_WaitClose(3,4), 106:Door_WaitClose(3,4),
107:Line_SetPortalTarget(2), 107:Line_SetPortalTarget(2),
109:Light_ForceLightning(1), 109:Light_ForceLightning(1),
110:Light_RaiseByValue(2), 110:Light_RaiseByValue(2),
111:Light_LowerByValue(2), 111:Light_LowerByValue(2),
112:Light_ChangeToValue(2), 112:Light_ChangeToValue(2),
113:Light_Fade(3), 113:Light_Fade(3),
114:Light_Glow(4), 114:Light_Glow(4),
115:Light_Flicker(3), 115:Light_Flicker(3),
116:Light_Strobe(5), 116:Light_Strobe(5),
117:Light_Stop(1), 117:Light_Stop(1),
// 118:Plane_Copy // 118:Plane_Copy
119:Thing_Damage(2,3), 119:Thing_Damage(2,3),
120:Radius_Quake(5), 120:Radius_Quake(5),
// 121:Line_SetIdentification // 121:Line_SetIdentification
125:Thing_Move(2,3), 125:Thing_Move(2,3),
127:Thing_SetSpecial(5), 127:Thing_SetSpecial(5),
128:ThrustThingZ(4), 128:ThrustThingZ(4),
129:UsePuzzleItem(0), // only for setting it on a line. Cannot be called! 129:UsePuzzleItem(0), // only for setting it on a line. Cannot be called!
130:Thing_Activate(1), 130:Thing_Activate(1),
131:Thing_Deactivate(1), 131:Thing_Deactivate(1),
132:Thing_Remove(1), 132:Thing_Remove(1),
133:Thing_Destroy(1,3), 133:Thing_Destroy(1,3),
134:Thing_Projectile(5), 134:Thing_Projectile(5),
135:Thing_Spawn(3,4), 135:Thing_Spawn(3,4),
136:Thing_ProjectileGravity(5), 136:Thing_ProjectileGravity(5),
137:Thing_SpawnNoFog(3,4), 137:Thing_SpawnNoFog(3,4),
138:Floor_Waggle(5), 138:Floor_Waggle(5),
139:Thing_SpawnFacing(2,4), 139:Thing_SpawnFacing(2,4),
140:Sector_ChangeSound(2), 140:Sector_ChangeSound(2),
143:Player_RemoveItem(2), // Skulltag Functions 143:Player_RemoveItem(2), // Skulltag Functions
144:Player_GiveItem(2), // Skulltag Functions 144:Player_GiveItem(2), // Skulltag Functions
145:Player_SetTeam(1), // Skulltag Functions 145:Player_SetTeam(1), // Skulltag Functions
150:Line_SetHealth(2), 150:Line_SetHealth(2),
151:Sector_SetHealth(3), 151:Sector_SetHealth(3),
152:Team_Score(2), // Skulltag Functions 152:Team_Score(2), // Skulltag Functions
153:Team_GivePoints(3), // Skulltag Functions 153:Team_GivePoints(3), // Skulltag Functions
154:Teleport_NoStop(2, 3), 154:Teleport_NoStop(2, 3),
157:SetGlobalFogParameter(2), // GZDoom only! 157:SetGlobalFogParameter(2), // GZDoom only!
158:FS_Execute(1,4), 158:FS_Execute(1,4),
159:Sector_SetPlaneReflection(3), // GZDoom only! 159:Sector_SetPlaneReflection(3), // GZDoom only!
// 160:Sector_Set3DFloor // 160:Sector_Set3DFloor
// 161:Sector_SetContents // 161:Sector_SetContents
168:Ceiling_CrushAndRaiseDist(3,5), 168:Ceiling_CrushAndRaiseDist(3,5),
169:Generic_Crusher2(5), 169:Generic_Crusher2(5),
170:Sector_SetCeilingScale2(3), 170:Sector_SetCeilingScale2(3),
171:Sector_SetFloorScale2(3), 171:Sector_SetFloorScale2(3),
172:Plat_UpNearestWaitDownStay(3), 172:Plat_UpNearestWaitDownStay(3),
173:NoiseAlert(2), 173:NoiseAlert(2),
174:SendToCommunicator(4), 174:SendToCommunicator(4),
175:Thing_ProjectileIntercept(5), 175:Thing_ProjectileIntercept(5),
176:Thing_ChangeTID(2), 176:Thing_ChangeTID(2),
177:Thing_Hate(2,3), 177:Thing_Hate(2,3),
178:Thing_ProjectileAimed(4,5), 178:Thing_ProjectileAimed(4,5),
179:ChangeSkill(1), 179:ChangeSkill(1),
180:Thing_SetTranslation(2), 180:Thing_SetTranslation(2),
// 181:Plane_Align, // 181:Plane_Align,
182:Line_Mirror(0), 182:Line_Mirror(0),
183:Line_AlignCeiling(2), 183:Line_AlignCeiling(2),
184:Line_AlignFloor(2), 184:Line_AlignFloor(2),
185:Sector_SetRotation(3), 185:Sector_SetRotation(3),
186:Sector_SetCeilingPanning(5), 186:Sector_SetCeilingPanning(5),
187:Sector_SetFloorPanning(5), 187:Sector_SetFloorPanning(5),
188:Sector_SetCeilingScale(5), 188:Sector_SetCeilingScale(5),
189:Sector_SetFloorScale(5), 189:Sector_SetFloorScale(5),
191:SetPlayerProperty(3), 191:SetPlayerProperty(3),
192:Ceiling_LowerToHighestFloor(2,5), 192:Ceiling_LowerToHighestFloor(2,5),
193:Ceiling_LowerInstant(3,5), 193:Ceiling_LowerInstant(3,5),
194:Ceiling_RaiseInstant(3,4), 194:Ceiling_RaiseInstant(3,4),
195:Ceiling_CrushRaiseAndStayA(4,5), 195:Ceiling_CrushRaiseAndStayA(4,5),
196:Ceiling_CrushAndRaiseA(4,5), 196:Ceiling_CrushAndRaiseA(4,5),
197:Ceiling_CrushAndRaiseSilentA(4,5), 197:Ceiling_CrushAndRaiseSilentA(4,5),
198:Ceiling_RaiseByValueTimes8(3,4), 198:Ceiling_RaiseByValueTimes8(3,4),
199:Ceiling_LowerByValueTimes8(3,5), 199:Ceiling_LowerByValueTimes8(3,5),
200:Generic_Floor(5), 200:Generic_Floor(5),
201:Generic_Ceiling(5), 201:Generic_Ceiling(5),
202:Generic_Door(5), 202:Generic_Door(5),
203:Generic_Lift(5), 203:Generic_Lift(5),
204:Generic_Stairs(5), 204:Generic_Stairs(5),
205:Generic_Crusher(5), 205:Generic_Crusher(5),
206:Plat_DownWaitUpStayLip(4,5), 206:Plat_DownWaitUpStayLip(4,5),
207:Plat_PerpetualRaiseLip(4), 207:Plat_PerpetualRaiseLip(4),
208:TranslucentLine(2,3), 208:TranslucentLine(2,3),
// 209:Transfer_Heights, // 209:Transfer_Heights,
// 210:Transfer_FloorLight, // 210:Transfer_FloorLight,
// 211:Transfer_CeilingLight, // 211:Transfer_CeilingLight,
212:Sector_SetColor(4,5), 212:Sector_SetColor(4,5),
213:Sector_SetFade(4), 213:Sector_SetFade(4),
214:Sector_SetDamage(3,5), 214:Sector_SetDamage(3,5),
215:Teleport_Line(2,3), 215:Teleport_Line(2,3),
216:Sector_SetGravity(3), 216:Sector_SetGravity(3),
217:Stairs_BuildUpDoom(5), 217:Stairs_BuildUpDoom(5),
218:Sector_SetWind(4), 218:Sector_SetWind(4),
219:Sector_SetFriction(2), 219:Sector_SetFriction(2),
220:Sector_SetCurrent(4), 220:Sector_SetCurrent(4),
221:Scroll_Texture_Both(5), 221:Scroll_Texture_Both(5),
// 222:Scroll_Texture_Model, // 222:Scroll_Texture_Model,
223:Scroll_Floor(4), 223:Scroll_Floor(4),
224:Scroll_Ceiling(4), 224:Scroll_Ceiling(4),
// 225:Scroll_Texture_Offsets, // 225:Scroll_Texture_Offsets,
226:ACS_ExecuteAlways(2,5), 226:ACS_ExecuteAlways(2,5),
// 227:PointPush_SetForce, // 227:PointPush_SetForce,
228:Plat_RaiseAndStayTx0(2,3), 228:Plat_RaiseAndStayTx0(2,3),
229:Thing_SetGoal(3,4), 229:Thing_SetGoal(3,4),
230:Plat_UpByValueStayTx(3), 230:Plat_UpByValueStayTx(3),
231:Plat_ToggleCeiling(1), 231:Plat_ToggleCeiling(1),
232:Light_StrobeDoom(3), 232:Light_StrobeDoom(3),
233:Light_MinNeighbor(1), 233:Light_MinNeighbor(1),
234:Light_MaxNeighbor(1), 234:Light_MaxNeighbor(1),
235:Floor_TransferTrigger(1), 235:Floor_TransferTrigger(1),
236:Floor_TransferNumeric(1), 236:Floor_TransferNumeric(1),
237:ChangeCamera(3), 237:ChangeCamera(3),
238:Floor_RaiseToLowestCeiling(2,5), 238:Floor_RaiseToLowestCeiling(2,5),
239:Floor_RaiseByValueTxTy(3), 239:Floor_RaiseByValueTxTy(3),
240:Floor_RaiseByTexture(2,4), 240:Floor_RaiseByTexture(2,4),
241:Floor_LowerToLowestTxTy(2), 241:Floor_LowerToLowestTxTy(2),
242:Floor_LowerToHighest(3,4), 242:Floor_LowerToHighest(3,4),
243:Exit_Normal(1), 243:Exit_Normal(1),
244:Exit_Secret(1), 244:Exit_Secret(1),
245:Elevator_RaiseToNearest(2), 245:Elevator_RaiseToNearest(2),
246:Elevator_MoveToFloor(2), 246:Elevator_MoveToFloor(2),
247:Elevator_LowerToNearest(2), 247:Elevator_LowerToNearest(2),
248:HealThing(1,2), 248:HealThing(1,2),
249:Door_CloseWaitOpen(3, 4), 249:Door_CloseWaitOpen(3, 4),
250:Floor_Donut(3), 250:Floor_Donut(3),
251:FloorAndCeiling_LowerRaise(3,4), 251:FloorAndCeiling_LowerRaise(3,4),
252:Ceiling_RaiseToNearest(2,3), 252:Ceiling_RaiseToNearest(2,3),
253:Ceiling_LowerToLowest(2,4), 253:Ceiling_LowerToLowest(2,4),
254:Ceiling_LowerToFloor(2,5), 254:Ceiling_LowerToFloor(2,5),
255:Ceiling_CrushRaiseAndStaySilA(4,5), 255:Ceiling_CrushRaiseAndStaySilA(4,5),
// These are specialized versions of the Generic_* specials which are defined for EE Extradata. // These are specialized versions of the Generic_* specials which are defined for EE Extradata.
256:Floor_LowerToHighestEE(2, 3), 256:Floor_LowerToHighestEE(2, 3),
257:Floor_RaiseToLowest(2, 3), 257:Floor_RaiseToLowest(2, 3),
258:Floor_LowerToLowestCeiling(2,3), 258:Floor_LowerToLowestCeiling(2,3),
259:Floor_RaiseToCeiling(2, 5), 259:Floor_RaiseToCeiling(2, 5),
260:Floor_ToCeilingInstant(1, 4), 260:Floor_ToCeilingInstant(1, 4),
261:Floor_LowerByTexture(2, 3), 261:Floor_LowerByTexture(2, 3),
262:Ceiling_RaiseToHighest(2, 3), 262:Ceiling_RaiseToHighest(2, 3),
263:Ceiling_ToHighestInstant(1, 3), 263:Ceiling_ToHighestInstant(1, 3),
264:Ceiling_LowerToNearest(2, 4), 264:Ceiling_LowerToNearest(2, 4),
265:Ceiling_RaiseToLowest(2, 3), 265:Ceiling_RaiseToLowest(2, 3),
266:Ceiling_RaiseToHighestFloor(2, 3), 266:Ceiling_RaiseToHighestFloor(2, 3),
267:Ceiling_ToFloorInstant(1, 4), 267:Ceiling_ToFloorInstant(1, 4),
268:Ceiling_RaiseByTexture(2, 3), 268:Ceiling_RaiseByTexture(2, 3),
269:Ceiling_LowerByTexture(2, 4), 269:Ceiling_LowerByTexture(2, 4),
270:Stairs_BuildDownDoom(5), 270:Stairs_BuildDownDoom(5),
271:Stairs_BuildUpDoomSync(4), 271:Stairs_BuildUpDoomSync(4),
272:Stairs_BuildDownDoomSync(4), 272:Stairs_BuildDownDoomSync(4),
// New additions can go above 255 now. // New additions can go above 255 now.
273:Stairs_BuildUpDoomCrush(5), 273:Stairs_BuildUpDoomCrush(5),
274:Door_AnimatedClose(2), 274:Door_AnimatedClose(2),
275:Floor_Stop(1), 275:Floor_Stop(1),
276:Ceiling_Stop(1), 276:Ceiling_Stop(1),
277:Sector_SetFloorGlow(5), 277:Sector_SetFloorGlow(5),
278:Sector_SetCeilingGlow(5), 278:Sector_SetCeilingGlow(5),
279:Floor_MoveToValueAndCrush(4, 5), 279:Floor_MoveToValueAndCrush(4, 5),
280:Ceiling_MoveToValueAndCrush(4, 5), 280:Ceiling_MoveToValueAndCrush(4, 5),
281:Line_SetAutomapFlags(3), 281:Line_SetAutomapFlags(3),
282:Line_SetAutomapStyle(2), 282:Line_SetAutomapStyle(2),
283:Polyobj_StopSound(1), 283:Polyobj_StopSound(1),
// new to Eternity // new to Eternity
// 300:Portal_Define(5), // 300:Portal_Define(5),
// 301:Line_QuickPortal(1), // 301:Line_QuickPortal(1),
// internal functions have negative values // internal functions have negative values
-1:GetLineUDMFInt(2), -1:GetLineUDMFInt(2),
-2:GetLineUDMFFixed(2), -2:GetLineUDMFFixed(2),
-3:GetThingUDMFInt(2), -3:GetThingUDMFInt(2),
-4:GetThingUDMFFixed(2), -4:GetThingUDMFFixed(2),
-5:GetSectorUDMFInt(2), -5:GetSectorUDMFInt(2),
-6:GetSectorUDMFFixed(2), -6:GetSectorUDMFFixed(2),
-7:GetSideUDMFInt(3), -7:GetSideUDMFInt(3),
-8:GetSideUDMFFixed(3), -8:GetSideUDMFFixed(3),
-9:GetActorVelX(1), -9:GetActorVelX(1),
-10:GetActorVelY(1), -10:GetActorVelY(1),
-11:GetActorVelZ(1), -11:GetActorVelZ(1),
-12:SetActivator(1,2), -12:SetActivator(1,2),
-13:SetActivatorToTarget(1), -13:SetActivatorToTarget(1),
-14:GetActorViewHeight(1), -14:GetActorViewHeight(1),
-15:GetChar(2), -15:GetChar(2),
-16:GetAirSupply(1), -16:GetAirSupply(1),
-17:SetAirSupply(2), -17:SetAirSupply(2),
-18:SetSkyScrollSpeed(2), -18:SetSkyScrollSpeed(2),
-19:GetArmorType(2), -19:GetArmorType(2),
-20:SpawnSpotForced(4), -20:SpawnSpotForced(4),
-21:SpawnSpotFacingForced(3), -21:SpawnSpotFacingForced(3),
-22:CheckActorProperty(3), -22:CheckActorProperty(3),
-23:SetActorVelocity(6), -23:SetActorVelocity(6),
-24:SetUserVariable(3), -24:SetUserVariable(3),
-25:GetUserVariable(2), -25:GetUserVariable(2),
-26:Radius_Quake2(6), -26:Radius_Quake2(6),
-27:CheckActorClass(2), -27:CheckActorClass(2),
-28:SetUserArray(4), -28:SetUserArray(4),
-29:GetUserArray(3), -29:GetUserArray(3),
-30:SoundSequenceOnActor(2), -30:SoundSequenceOnActor(2),
-31:SoundSequenceOnSector(3), -31:SoundSequenceOnSector(3),
-32:SoundSequenceOnPolyobj(2), -32:SoundSequenceOnPolyobj(2),
-33:GetPolyobjX(1), -33:GetPolyobjX(1),
-34:GetPolyobjY(1), -34:GetPolyobjY(1),
-35:CheckSight(3), -35:CheckSight(3),
-36:SpawnForced(4,6), -36:SpawnForced(4,6),
-37:AnnouncerSound(2), -37:AnnouncerSound(2),
-38:SetPointer(2,4), -38:SetPointer(2,4),
-39:ACS_NamedExecute(2,5), -39:ACS_NamedExecute(2,5),
-40:ACS_NamedSuspend(2), -40:ACS_NamedSuspend(2),
-41:ACS_NamedTerminate(2), -41:ACS_NamedTerminate(2),
-42:ACS_NamedLockedExecute(5), -42:ACS_NamedLockedExecute(5),
-43:ACS_NamedLockedExecuteDoor(5), -43:ACS_NamedLockedExecuteDoor(5),
-44:ACS_NamedExecuteWithResult(1,5), -44:ACS_NamedExecuteWithResult(1,5),
-45:ACS_NamedExecuteAlways(2,5), -45:ACS_NamedExecuteAlways(2,5),
-46:UniqueTID(0,2), -46:UniqueTID(0,2),
-47:IsTIDUsed(1), -47:IsTIDUsed(1),
-48:Sqrt(1), -48:Sqrt(1),
-49:FixedSqrt(1), -49:FixedSqrt(1),
-50:VectorLength(2), -50:VectorLength(2),
-51:SetHUDClipRect(4,6), -51:SetHUDClipRect(4,6),
-52:SetHUDWrapWidth(1), -52:SetHUDWrapWidth(1),
-53:SetCVar(2), -53:SetCVar(2),
-54:GetUserCVar(2), -54:GetUserCVar(2),
-55:SetUserCVar(3), -55:SetUserCVar(3),
-56:GetCVarString(1), -56:GetCVarString(1),
-57:SetCVarString(2), -57:SetCVarString(2),
-58:GetUserCVarString(2), -58:GetUserCVarString(2),
-59:SetUserCVarString(3), -59:SetUserCVarString(3),
-60:LineAttack(4,9), -60:LineAttack(4,9),
-61:PlaySound(2,7), -61:PlaySound(2,7),
-62:StopSound(1,2), -62:StopSound(1,2),
-63:strcmp(2,3), -63:strcmp(2,3),
-64:stricmp(2,3), -64:stricmp(2,3),
-64:strcasecmp(2,3), // an alias for stricmp -64:strcasecmp(2,3), // an alias for stricmp
-65:StrLeft(2), -65:StrLeft(2),
-66:StrRight(2), -66:StrRight(2),
-67:StrMid(3), -67:StrMid(3),
-68:GetActorClass(1), -68:GetActorClass(1),
-69:GetWeapon(0), -69:GetWeapon(0),
-70:SoundVolume(3), -70:SoundVolume(3),
-71:PlayActorSound(2,6), -71:PlayActorSound(2,6),
-72:SpawnDecal(2,6), -72:SpawnDecal(2,6),
-73:CheckFont(1), -73:CheckFont(1),
-74:DropItem(2,4), -74:DropItem(2,4),
-75:CheckFlag(2), -75:CheckFlag(2),
-76:SetLineActivation(2, 3), -76:SetLineActivation(2, 3),
-77:GetLineActivation(1), -77:GetLineActivation(1),
-78:GetActorPowerupTics(2), -78:GetActorPowerupTics(2),
-79:ChangeActorAngle(2,3), -79:ChangeActorAngle(2,3),
-80:ChangeActorPitch(2,3), -80:ChangeActorPitch(2,3),
-81:GetArmorInfo(1), -81:GetArmorInfo(1),
-82:DropInventory(2), -82:DropInventory(2),
-83:PickActor(5,8), -83:PickActor(5,8),
-84:IsPointerEqual(2,4), -84:IsPointerEqual(2,4),
-85:CanRaiseActor(1), -85:CanRaiseActor(1),
-86:SetActorTeleFog(3), -86:SetActorTeleFog(3),
-87:SwapActorTeleFog(1), -87:SwapActorTeleFog(1),
-88:SetActorRoll(2), -88:SetActorRoll(2),
-89:ChangeActorRoll(2,3), -89:ChangeActorRoll(2,3),
-90:GetActorRoll(1), -90:GetActorRoll(1),
-91:QuakeEx(8,16), -91:QuakeEx(8,19),
-92:Warp(6,11), -92:Warp(6,11),
-93:GetMaxInventory(2), -93:GetMaxInventory(2),
-94:SetSectorDamage(2,5), -94:SetSectorDamage(2,5),
-95:SetSectorTerrain(3), -95:SetSectorTerrain(3),
-96:SpawnParticle(1,16), -96:SpawnParticle(1,16),
-97:SetMusicVolume(1), -97:SetMusicVolume(1),
-98:CheckProximity(3, 6), -98:CheckProximity(3, 6),
-99:CheckActorState(2,3), -99:CheckActorState(2,3),
// Zandronum's // Zandronum's
-100:ResetMap(0), -100:ResetMap(0),
-101:PlayerIsSpectator(1), -101:PlayerIsSpectator(1),
-102:ConsolePlayerNumber(0), -102:ConsolePlayerNumber(0),
-103:GetTeamProperty(2), -103:GetTeamProperty(2),
-104:GetPlayerLivesLeft(1), -104:GetPlayerLivesLeft(1),
-105:SetPlayerLivesLeft(2), -105:SetPlayerLivesLeft(2),
-106:KickFromGame(2), -106:KickFromGame(2),
-107:GetGamemodeState(0), -107:GetGamemodeState(0),
-108:SetDBEntry(3), -108:SetDBEntry(3),
-109:GetDBEntry(2), -109:GetDBEntry(2),
-110:SetDBEntryString(3), -110:SetDBEntryString(3),
-111:GetDBEntryString(2), -111:GetDBEntryString(2),
-112:IncrementDBEntry(3), -112:IncrementDBEntry(3),
-113:PlayerIsLoggedIn(1), -113:PlayerIsLoggedIn(1),
-114:GetPlayerAccountName(1), -114:GetPlayerAccountName(1),
-115:SortDBEntries(4), -115:SortDBEntries(4),
-116:CountDBResults(1), -116:CountDBResults(1),
-117:FreeDBResults(1), -117:FreeDBResults(1),
-118:GetDBResultKeyString(2), -118:GetDBResultKeyString(2),
-119:GetDBResultValueString(2), -119:GetDBResultValueString(2),
-120:GetDBResultValue(2), -120:GetDBResultValue(2),
-121:GetDBEntryRank(3), -121:GetDBEntryRank(3),
-122:RequestScriptPuke(4), -122:RequestScriptPuke(4),
-123:BeginDBTransaction(0), -123:BeginDBTransaction(0),
-124:EndDBTransaction(0), -124:EndDBTransaction(0),
-125:GetDBEntries(1), -125:GetDBEntries(1),
-126:NamedRequestScriptPuke(1,5),
// -1xx are reserved for Zandronum -127:SystemTime(0),
-200:CheckClass(1), -128:GetTimeProperty(2,3),
-201:DamageActor(6), // [arookas] -129:Strftime(2,3),
-202:SetActorFlag(3), -130:SetDeadSpectator(2),
-203:SetTranslation(2), -131:SetActivatorToPlayer(1),
-204:GetActorFloorTexture(1), -132:SetCurrentGamemode(1),
-205:GetActorFloorTerrain(1), -133:GetCurrentGamemode(0),
-206:StrArg(1), -134:SetGamemodeLimit(2),
-207:Floor(1), -135:SetPlayerClass(3),
-208:Round(1), -136:SetPlayerChasecam(2),
-209:Ceil(1), -137:GetPlayerChasecam(1),
-210:ScriptCall(2, 100), // ACS does not know varargs so use something large as maximum. -138:SetPlayerScore(3),
-211:StartSlideshow(1), -139:GetPlayerScore(2),
-212:GetSectorHealth(2), -140:InDemoMode(0),
-213:GetLineHealth(1), -144:ExecuteClientScript(2,6),
-214:SetSubtitleNumber(2), -145:NamedExecuteClientScript(2,6),
-146:SendNetworkString(2,3),
-147:NamedSendNetworkString(2,3),
// Eternity's -148:GetChatMessage(2),
-300:GetLineX(3), -149:GetMapRotationSize(0),
-301:GetLineY(3), -150:GetMapRotationInfo(2),
-302:SetAirFriction(1), -151:GetCurrentMapPosition(0),
-152:GetEventResult(0),
// GZDoom OpenGL -153:GetActorSectorLocation(2),
-400:SetSectorGlow(6), -154:ChangeTeamScore(3,4),
-401:SetFogDensity(2), -155:SetGameplaySetting(2),
-156:SetCustomPlayerValue(3),
// ZDaemon's -157:GetCustomPlayerValue(2),
-19620:GetTeamScore(1), -158:ResetCustomDataToDefault(2),
-19621:SetTeamScore(2), -159:LumpOpen(1,3),
-160:LumpRead(2,3),
-100000:__EndOfList__(10); -161:LumpReadString(2,3),
// LumpReadArray is a set of 4 functions, whose definition is
// built-in to ACC. So 162-165 are used up function indices.
-166:LumpGetInfo(2),
-167:LumpClose(1),
// -1xx are reserved for Zandronum
-200:CheckClass(1),
-201:DamageActor(6), // [arookas]
-202:SetActorFlag(3),
-203:SetTranslation(2),
-204:GetActorFloorTexture(1),
-205:GetActorFloorTerrain(1),
-206:StrArg(1),
-207:Floor(1),
-208:Round(1),
-209:Ceil(1),
-210:ScriptCall(2, 100), // ACS does not know varargs so use something large as maximum.
-211:StartSlideshow(1),
-212:GetSectorHealth(2),
-213:GetLineHealth(1),
-214:SetSubtitleNumber(2),
// Eternity's
-300:GetLineX(3),
-301:GetLineY(3),
-302:SetAirFriction(1),
// GZDoom OpenGL
-400:SetSectorGlow(6),
-401:SetFogDensity(2),
// ZDaemon's
-19620:GetTeamScore(1),
-19621:SetTeamScore(2),
-100000:__EndOfList__(10);
//************************************************************************** //**************************************************************************
//** //**
//** zwvars.acs //** zwvars.acs
//** //**
//************************************************************************** //**************************************************************************
// include your world-variable declarations here. // include your world-variable declarations here.
/*************************************************************\
Doom Builder 2 Game Configuration for ZDoom-compatible port
\*************************************************************/
// 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 = "DSDADoom: Doom 2 (UDMF)";
// This is the simplified game engine/sourceport name
engine = "dsda";
// Should this configuration be initially available?
enabledbydefault = true;
// Some common settings
include("Includes\\Common.cfg");
// Default testing parameters
include("Includes\\Test_params.cfg", "vanilla_mapxx");
// Action special help (mxd)
actionspecialhelp = "http://www.zdoom.org/wiki/index.php?title=%K";
// Thing class help (mxd)
thingclasshelp = "http://www.zdoom.org/wiki/Classes:%K";
// Default nodebuilder configurations
defaultsavecompiler = "zdbsp_udmf_normal";
defaulttestcompiler = "zdbsp_udmf_fast";
// Generalized actions
generalizedsectors = true;
generalizedlinedefs = false;
//mxd. Maximum safe map size check (0 means skip check)
safeboundary = 0;
// Texture loading options
mixtexturesflats = false;
defaulttexturescale = 1.0f;
defaultflatscale = 1.0f;
scaledtextureoffsets = true;
//mxd. Sidedefs compression
sidedefcompressionignoresaction = true;
// Texture sources
textures
{
include("Includes\\Doom_misc.cfg", "textures");
}
// Patch sources
patches
{
include("Includes\\Doom_misc.cfg", "patches");
}
// Sprite sources
sprites
{
include("Includes\\Doom_misc.cfg", "sprites");
}
// Flat sources
flats
{
include("Includes\\Doom_misc.cfg", "flats");
}
// Colormap sources
colormaps
{
include("Includes\\Boom_misc.cfg", "colormaps");
}
// Generalized sector types
gen_sectortypes
{
include("Includes\\ZDoom_generalized.cfg", "gen_sectortypes");
}
damagetypes = "";
internalsoundnames = "";
compatibility
{
fixnegativepatchoffsets = true;
fixmaskedpatchoffsets = true;
}
// The format interface handles the map data format
formatinterface = "UniversalMapSetIO";
//mxd. The default script compiler to use
defaultscriptcompiler = "";
// Enables support for individual offsets of upper/middle/lower sidedef textures
localsidedeftextureoffsets = true;
// Enables setting brightness for floor, ceiling, and walls independently from each other
distinctfloorandceilingbrightness = true;
distinctwallbrightness = true;
// Enabled setting brightness for upper, middle, and lower sidedef independently from each other
distinctsidedefpartbrightness = true;
// Enables multiple tags on sectors
sectormultitag = true;
// When this is set to true, sectors with the same tag will light up when a line is highlighted
linetagindicatesectors = false;
// Special linedefs
singlesidedflag = "blocking";
doublesidedflag = "twosided";
impassableflag = "blocking";
upperunpeggedflag = "dontpegtop";
lowerunpeggedflag = "dontpegbottom";
defaultlinedefactivation = "playercross"; //mxd. Used when translating a map to UDMF
// Door making
makedooraction = 202; // See linedeftypes
makedoorflags { playeruse; repeatspecial; }
makedoorarg0 = 0;
makedoorarg1 = 16;
makedoorarg2 = 0;
makedoorarg3 = 34;
makedoorarg4 = 0;
// SECTOR FLAGS
sectorflags
{
silent = "Silent";
hidden = "Not shown on textured automap";
damagehazard = "Strife damage model";
noattack = "Monsters in this sector do not attack";
}
// SECTOR TYPES
sectortypes
{
0 = "None";
1 = "Light Phased";
2 = "Light Sequence Start";
3 = "Light Sequence Special 1";
4 = "Light Sequence Special 2";
26 = "Stairs Special 1";
27 = "Stairs Special 2";
40 = "Wind East weak";
41 = "Wind East medium";
42 = "Wind East strong";
43 = "Wind North weak";
44 = "Wind North medium";
45 = "Wind North strong";
46 = "Wind South weak";
47 = "Wind South medium";
48 = "Wind South strong";
49 = "Wind West weak";
50 = "Wind West medium";
51 = "Wind West strong";
65 = "Light Flicker";
66 = "Light Strobe Fast";
67 = "Light Strobe Slow";
68 = "Light Strobe Hurt -20% health";
69 = "Damage Hellslime -10% health";
71 = "Damage Nukage -5% health";
72 = "Light Glow";
74 = "Sector Door Close (30 sec)";
75 = "Damage End Level -20% health";
76 = "Light StrobeSlowSync";
77 = "Light StrobeFastSync";
78 = "Sector Door Raise (5 min)";
79 = "Low Friction";
80 = "Damage Super Hellslime -20% health";
81 = "Light Fire Flicker";
82 = "Damage -5% health (no protection)";
83 = "Damage -8% health (no protection)";
84 = "Scroll east + -2 or -5% health (no protection)";
85 = "Damage Sludge -4% health";
104 = "sLight_Strobe_Hurt";
105 = "Delayed damage weak (hazardcount +2/16 per second)";
115 = "Instant death";
116 = "Delayed damage strong (hazardcount +4/16 per second)";
118 = "Carry player by tag";
195 = "Hidden Sector (automap)";
196 = "Healing Sector";
201 = "Scroll North (slow)";
202 = "Scroll North (medium)";
203 = "Scroll North (fast)";
204 = "Scroll East (slow)";
205 = "Scroll East (medium)";
206 = "Scroll East (fast)";
207 = "Scroll South (slow)";
208 = "Scroll South (medium)";
209 = "Scroll South (fast)";
210 = "Scroll West (slow)";
211 = "Scroll West (medium)";
212 = "Scroll West (fast)";
213 = "Scroll NorthWest (slow)";
214 = "Scroll NorthWest (medium)";
215 = "Scroll NorthWest (fast)";
216 = "Scroll NorthEast (slow)";
217 = "Scroll NorthEast (medium)";
218 = "Scroll NorthEast (fast)";
219 = "Scroll SouthEast (slow)";
220 = "Scroll SouthEast (medium)";
221 = "Scroll SouthEast (fast)";
222 = "Scroll SouthWest (slow)";
223 = "Scroll SouthWest (medium)";
224 = "Scroll SouthWest (fast)";
225 = "Carry East Slow";
226 = "Carry East Med.Slow";
227 = "Carry East Medium";
228 = "Carry East Med.Fast";
229 = "Carry East Fast";
230 = "Carry North Slow";
231 = "Carry North Med.Slow";
232 = "Carry North Medium";
233 = "Carry North Med.Fast";
234 = "Carry North Fast";
235 = "Carry South Slow";
236 = "Carry South Med.Slow";
237 = "Carry South Medium";
238 = "Carry South Med.Fast";
239 = "Carry South Fast";
240 = "Carry West Slow";
241 = "Carry West Med.Slow";
242 = "Carry West Medium";
243 = "Carry West Med.Fast";
244 = "Carry West Fast";
}
include("Includes\\DSDADoom_misc.cfg");
// LINEDEF TYPES
linedeftypes
{
include("Includes\\DSDADoom_linedefs.cfg");
}
// Settings common to Doom games
include("Includes\\Game_Doom.cfg");
// THING TYPES
// Each engine has its own additional thing types
// Order should always be 1: Game; 2: ZDoom/game; 3: ZDoom/zdoom
thingtypes
{
// Basic game actors
include("Includes\\Doom_things.cfg");
include("Includes\\Doom2_things.cfg");
include("Includes\\Boom_things.cfg");
include("Includes\\DSDADoom_things.cfg");
}
// Dehacked data
dehacked
{
include("Includes\\Dehacked_Doom.cfg");
}
...@@ -9,15 +9,10 @@ type = "Doom Builder 2 Game Configuration"; ...@@ -9,15 +9,10 @@ type = "Doom Builder 2 Game Configuration";
game = "EDGE-Classic: Doom 2 (Doom format)"; game = "EDGE-Classic: Doom 2 (Doom format)";
// This is the simplified game engine/sourceport name // This is the simplified game engine/sourceport name
engine = "edge"; engine = "edge-classic";
// ******************************************************* // Settings common to Doom games
// * * include("Includes\\Game_Doom.cfg");
// * Note: all the elements that could be factorized *
// * because they were common to ZDoom, GZDoom and *
// * Zandronum have been moved to ZDoom_common.cfg. *
// * *
// *******************************************************
// STANDARD DOOM SETTINGS // STANDARD DOOM SETTINGS
// Settings common to all games and all map formats // Settings common to all games and all map formats
...@@ -27,16 +22,16 @@ include("Includes\\Doom_common.cfg", "common"); ...@@ -27,16 +22,16 @@ include("Includes\\Doom_common.cfg", "common");
include("Includes\\Boom_common.cfg", "mapformat_doom"); include("Includes\\Boom_common.cfg", "mapformat_doom");
include("Includes\\MBF21_common.cfg", "mapformat_doom"); include("Includes\\MBF21_common.cfg", "mapformat_doom");
// Settings common to Doom games // Settings common to all games and all map formats
include("Includes\\Game_Doom.cfg"); include("Includes\\EdgeC_common.cfg", "common");
// Settings common to doom map format
include("Includes\\EdgeC_misc.cfg", "mapformat_doom");
include("Includes\\EdgeC_common.cfg", "mapformat_doom");
// Map name format for Doom 2. // Map name format for Doom 2.
mapnameformat = "MAPxy"; mapnameformat = "MAPxy";
//mxd. No DECORATE support in vanilla
decorategames = "";
// Default thing filters // Default thing filters
// (these are not required, just useful for new users) // (these are not required, just useful for new users)
...@@ -45,16 +40,6 @@ thingsfilters ...@@ -45,16 +40,6 @@ thingsfilters
include("Includes\\Doom_misc.cfg", "thingsfilters"); include("Includes\\Doom_misc.cfg", "thingsfilters");
} }
// THING TYPES
// Each engine has its own additional thing types
// Order should always be 1: Game; 2: ZDoom/game; 3: ZDoom/zdoom
thingtypes
{
// Basic game actors
include("Includes\\Doom_things.cfg");
include("Includes\\Doom2_things.cfg");
include("Includes\\Boom_things.cfg");
}
// ENUMERATIONS // ENUMERATIONS
// Each engine has its own additional thing types // Each engine has its own additional thing types
...@@ -65,10 +50,5 @@ enums ...@@ -65,10 +50,5 @@ enums
include("Includes\\Doom_misc.cfg", "enums"); include("Includes\\Doom_misc.cfg", "enums");
} }
// Dehacked data
dehacked
{
include("Includes\\Dehacked_Doom.cfg");
}
/*************************************************************\
Doom Builder 2 Game Configuration for ZDoom-compatible port
\*************************************************************/
// 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 = "EDGE-Classic: Doom 2 (UDMF)";
// This is the simplified game engine/sourceport name
engine = "edge-classic";
// Settings common to all games and all map formats
include("Includes\\EdgeC_common.cfg", "common");
// Default testing parameters
include("Includes\\Test_params.cfg", "vanilla_mapxx");
// Settings common to text map format
include("Includes\\EdgeC_misc.cfg", "mapformat_udmf");
// Special linedefs
singlesidedflag = "blocking";
doublesidedflag = "twosided";
impassableflag = "blocking";
upperunpeggedflag = "dontpegtop";
lowerunpeggedflag = "dontpegbottom";
defaultlinedefactivation = "playercross"; //mxd. Used when translating a map to UDMF
// ENUMERATIONS
// Each engine has its own additional thing types
// These are enumerated lists for linedef types and UDMF fields.
enums
{
// Basic game enums
include("Includes\\Doom_misc.cfg", "enums");
// Standard ZDoom enums
include("Includes\\ZDoom_misc.cfg", "enums");
// Additional ZDoom enums for that game
include("Includes\\ZDoom_misc.cfg", "enums_doom");
}
misc
{
0
{
title = "None";
}
}
polyobj
{
include("Hexen_linedefs.cfg", "polyobj");
6 = null; // Polyobj_MoveTimes8
93 = null; // Polyobj_OR_MoveTimes8
59
{
title = "Polyobject Move to Spot (override)";
id = "Polyobj_OR_MoveToSpot";
arg0
{
title = "Polyobject Number";
type = 25;
}
arg1
{
title = "Speed (mu. per octic)";
type = 11;
enum = "stair_speeds";
default = 16;
}
arg2
{
title = "Target MapSpot Tag";
type = 14;
targetclasses = "MapSpot,MapSpotGravity";
}
}
86
{
title = "Polyobject Move to Spot";
id = "Polyobj_MoveToSpot";
arg0
{
title = "Polyobject Number";
type = 25;
}
arg1
{
title = "Speed (mu. per octic)";
type = 11;
enum = "stair_speeds";
default = 16;
}
arg2
{
title = "Target MapSpot Tag";
type = 14;
targetclasses = "MapSpot,MapSpotGravity";
}
}
87
{
title = "Polyobject Stop";
id = "Polyobj_Stop";
arg0
{
title = "Polyobject Number";
type = 25;
}
}
88
{
title = "Polyobject Move to";
id = "Polyobj_MoveTo";
arg0
{
title = "Polyobject Number";
type = 25;
}
arg1
{
title = "Speed (mu. per octic)";
type = 11;
enum = "stair_speeds";
default = 16;
}
arg2
{
title = "Target X Pos";
}
arg3
{
title = "Target Y Pos";
}
}
89
{
title = "Polyobject Move to (override)";
id = "Polyobj_OR_MoveTo";
arg0
{
title = "Polyobject Number";
type = 25;
}
arg1
{
title = "Speed (mu. per octic)";
type = 11;
enum = "stair_speeds";
default = 16;
}
arg2
{
title = "Target X Pos";
}
arg3
{
title = "Target Y Pos";
}
}
}
line
{
title = "Line";
55
{
title = "Line Set Blocking";
id = "Line_SetBlocking";
arg0
{
title = "Target Line Tag";
type = 15;
}
arg1
{
title = "Set Flags";
type = 12;
enum = "linesetblockingflags";
}
arg2
{
title = "Clear Flags";
type = 12;
enum = "linesetblockingflags";
}
}
}
door
{
include("Hexen_linedefs.cfg", "door");
202
{
title = "Door Generic";
id = "Generic_Door";
arg0
{
title = "Sector Tag";
type = 13;
}
arg1
{
title = "Movement Speed";
type = 11;
enum = "flat_speeds";
default = 16;
}
arg2
{
title = "Type";
type = 26;
enum
{
0 = "Open Close";
1 = "Open Stay";
2 = "Close Open";
3 = "Close Stay";
}
flags
{
64 = "No retrigger";
128 = "Tag is light tag";
}
}
arg3
{
title = "Delay";
type = 11;
enum = "generic_door_delays";
default = 34;
}
arg4
{
title = "Lock";
type = 11;
enum = "keys";
}
}
249
{
title = "Door Close Wait Open";
id = "Door_CloseWaitOpen";
arg0
{
title = "Sector Tag";
type = 13;
}
arg1
{
title = "Movement Speed";
type = 11;
enum = "flat_speeds";
default = 16;
}
arg2
{
title = "Delay";
type = 11;
enum = "generic_door_delays";
default = 34;
}
arg3
{
title = "Light Tag";
type = 13;
}
}
}
floor
{
include("Hexen_linedefs.cfg", "floor");
35 = null; // Floor_RaiseByValueTimes8
36 = null; // Floor_LowerByValueTimes8
68 = null; // Floor_MoveToValueTimes8
28 // Floor Crusher Start
{
arg3
{
title = "Crush Mode";
type = 11;
enum = "crush_mode";
}
}
37
{
title = "Floor Move to Value";
id = "Floor_MoveToValue";
arg0
{
title = "Sector Tag";
type = 13;
}
arg1
{
title = "Movement Speed";
type = 11;
enum = "plat_speeds";
default = 16;
}
arg2
{
title = "Target Height";
}
}
138
{
title = "Floor Waggle";
id = "Floor_Waggle";
arg0
{
title = "Sector Tag";
type = 13;
}
arg1
{
title = "Amplitude";
}
arg2
{
title = "Frequency";
}
arg3
{
title = "Phase Offset (0-63)";
}
arg4
{
title = "Duration";
type = 11;
enum = "delay_seconds";
default = 5;
}
}
200
{
title = "Floor Generic Change";
id = "Generic_Floor";
arg0
{
title = "Sector Tag";
type = 13;
}
arg1
{
title = "Movement Speed";
type = 11;
enum = "plat_speeds";
default = 16;
}
arg2
{
title = "Movement Amount";
}
arg3
{
title = "Target";
type = 11;
enum
{
0 = "Move by Movement Amount";
1 = "Highest neighboring floor";
2 = "Lowest neighboring floor";
3 = "Nearest neighboring floor";
4 = "Lowest neighboring ceiling";
5 = "Sector ceiling";
6 = "Move by the height of sector's shortest lower texture";
}
}
arg4
{
title = "Flags";
type = 26;
enum
{
0 = "Don't copy anything";
1 = "Copy floor texture, remove sector special";
2 = "Copy floor texture";
3 = "Copy floor texture and special";
}
flags
{
4 = "Use numeric model if set, trigger model if not";
8 = "Raise floor if set, lower it if not";
16 = "Inflict crushing damage";
}
}
}
235
{
title = "Transfer Floor and Special from Back Side";
id = "Floor_TransferTrigger";
arg0
{
title = "Sector Tag";
type = 13;
}
}
236
{
title = "Transfer Floor and Special using Numeric Change Model";
id = "Floor_TransferNumeric";
arg0
{
title = "Sector Tag";
type = 13;
}
}
238
{
title = "Floor Raise to Lowest Ceiling";
id = "Floor_RaiseToLowestCeiling";
arg0
{
title = "Sector Tag";
type = 13;
}
arg1
{
title = "Movement Speed";
type = 11;
enum = "plat_speeds";
default = 16;
}
}
239
{
title = "Floor Raise by TxTy";
id = "Floor_RaiseByValueTxTy";
arg0
{
title = "Sector Tag";
type = 13;
}
arg1
{
title = "Movement Speed";
type = 11;
enum = "plat_speeds";
default = 16;
}
arg2
{
title = "Raise by";
}
}
240
{
title = "Floor Raise by Texture";
id = "Floor_RaiseByTexture";
arg0
{
title = "Sector Tag";
type = 13;
}
arg1
{
title = "Movement Speed";
type = 11;
enum = "plat_speeds";
default = 16;
}
}
241
{
title = "Floor Lower to Lowest TxTy";
id = "Floor_LowerToLowestTxTy";
arg0
{
title = "Sector Tag";
type = 13;
}
arg1
{
title = "Movement Speed";
type = 11;
enum = "plat_speeds";
default = 16;
}
errorchecker
{
floorlowertolowest = true;
}
}
242
{
title = "Floor Lower to Highest Floor";
id = "Floor_LowerToHighest";
arg0
{
title = "Sector Tag";
type = 13;
}
arg1
{
title = "Movement Speed";
type = 11;
enum = "plat_speeds";
default = 16;
}
arg2
{
title = "Adjust Target Height";
}
arg3
{
title = "Force Adjust";
type = 11;
enum = "noyes";
}
errorchecker
{
floorraisetohighest = true;
}
}
250
{
title = "Floor Donut";
id = "Floor_Donut";
arg0
{
title = "Center Sector Tag";
type = 13;
}
arg1
{
title = "Pillar Lower Speed";
type = 11;
enum = "plat_speeds";
default = 16;
}
arg2
{
title = "Stairs Raise Speed";
type = 11;
enum = "stair_speeds";
default = 4;
}
}
251
{
title = "Floor and Ceiling Lower and Raise";
id = "FloorAndCeiling_LowerRaise";
arg0
{
title = "Sector Tag";
type = 13;
}
arg1
{
title = "Floor Lowering Speed";
type = 11;
enum = "plat_speeds";
default = 16;
}
arg2
{
title = "Ceiling Raising Speed";
type = 11;
enum = "plat_speeds";
default = 16;
}
arg3
{
title = "Emulate Boom Bug";
type = 11;
enum
{
0 = "No";
1998 = "Yes";
}
}
}
}
stairs
{
include("Hexen_linedefs.cfg", "stairs");
204
{
title = "Stairs Generic Build";
id = "Generic_Stairs";
arg0
{
title = "Sector Tag";
type = 13;
}
arg1
{
title = "Movement Speed";
type = 11;
enum = "stair_speeds";
default = 4;
}
arg2
{
title = "Step Height";
}
arg3
{
title = "Options";
type = 12;
enum
{
1 = "Upwards";
2 = "Ignore Floor Texture";
}
}
arg4
{
title = "Reset Delay";
type = 11;
enum = "reset_tics";
}
}
217
{
title = "Stairs Build up (Doom mode)";
id = "Stairs_BuildUpDoom";
arg0
{
title = "Sector Tag";
type = 13;
}
arg1
{
title = "Movement Speed";
type = 11;
enum = "stair_speeds";
default = 4;
}
arg2
{
title = "Step Height";
}
arg3
{
title = "Build Step Delay";
type = 11;
enum = "delay_tics";
default = 35;
}
arg4
{
title = "Reset Delay";
type = 11;
enum = "reset_tics";
}
}
}
pillar
{
include("Hexen_linedefs.cfg", "pillar");
94 // Pillar_BuildAndCrush
{
arg3
{
title = "Crush Damage";
default = 100;
}
arg4
{
title = "Crush Mode";
type = 11;
enum = "crush_mode";
}
}
}
forcefield
{
title = "Forcefield";
33
{
title = "Forcefield Set";
id = "ForceField";
requiresactivation = false;
}
34
{
title = "Forcefield Remove";
id = "ClearForceField";
arg0
{
title = "Sector Tag";
type = 13;
}
}
}
ceiling
{
include("Hexen_linedefs.cfg", "ceiling");
69 = null; // Ceiling_MoveToValueTimes8
38
{
title = "Ceiling Waggle";
id = "Ceiling_Waggle";
arg0
{
title = "Sector Tag";
type = 13;
}
arg1
{
title = "Amplitude (in 1/8 mu.)";
default = 128;
}
arg2
{
title = "Frequency";
type = 11;
enum = "plat_speeds";
default = 16;
}
arg3
{
title = "Phase Offset (0-63)";
}
arg4
{
title = "Duration";
type = 11;
enum = "delay_seconds";
default = 5;
}
}
42 // Ceiling Crusher Start
{
arg3
{
title = "Crush Mode";
type = 11;
enum = "crush_mode";
}
}
43 // Ceiling Crush Once
{
arg3
{
title = "Crush Mode";
type = 11;
enum = "crush_mode";
}
}
97
{
title = "Ceiling Lower And Crush Dist";
id = "Ceiling_LowerAndCrushDist";
arg0
{
title = "Sector Tag";
type = 13;
}
arg1
{
title = "Movement Speed";
type = 11;
enum = "plat_speeds";
default = 16;
}
arg2
{
title = "Crush Damage";
default = 100;
}
arg3
{
title = "Lip";
}
arg4
{
title = "Crush Mode";
type = 11;
enum = "crush_mode";
}
}
104
{
title = "Ceiling Crush And Raise Dist";
id = "Ceiling_CrushAndRaiseSilentDist";
arg0
{
title = "Sector Tag";
type = 13;
}
arg1
{
title = "Lip";
}
arg2
{
title = "Movement Speed";
type = 11;
enum = "plat_speeds";
default = 16;
}
arg3
{
title = "Crush Damage";
default = 100;
}
arg4
{
title = "Crush Mode";
type = 11;
enum = "crush_mode";
}
}
45 // Ceiling Crush Once and Open
{
arg3
{
title = "Crush Mode";
type = 11;
enum = "crush_mode";
}
}
47
{
title = "Ceiling Move to Value";
id = "Ceiling_MoveToValue";
arg0
{
title = "Sector Tag";
type = 13;
}
arg1
{
title = "Movement Speed";
type = 11;
enum = "plat_speeds";
default = 16;
}
arg2
{
title = "Target Height";
}
}
169
{
title = "Ceiling Generic Crush (Hexen mode)";
id = "Generic_Crusher2";
arg0
{
title = "Sector Tag";
type = 13;
}
arg1
{
title = "Lower Speed";
type = 11;
enum = "plat_speeds";
default = 16;
}
arg2
{
title = "Raise Speed";
type = 11;
enum = "plat_speeds";
default = 16;
}
arg3
{
title = "Silent";
type = 11;
enum = "noyes";
}
arg4
{
title = "Crush Damage";
default = 100;
}
}
192
{
title = "Ceiling Lower to Highest Floor";
id = "Ceiling_LowerToHighestFloor";
arg0
{
title = "Sector Tag";
type = 13;
}
arg1
{
title = "Movement Speed";
type = 11;
enum = "plat_speeds";
default = 16;
}
}
193
{
title = "Ceiling Lower Instantly by Value * 8";
id = "Ceiling_LowerInstant";
arg0
{
title = "Sector Tag";
type = 13;
}
arg2
{
title = "Lower by (* 8)";
}
}
194
{
title = "Ceiling Raise Instantly by Value * 8";
id = "Ceiling_RaiseInstant";
arg0
{
title = "Sector Tag";
type = 13;
}
arg2
{
title = "Raise by (* 8)";
}
}
195
{
title = "Ceiling Crush Once and Open A";
id = "Ceiling_CrushRaiseAndStayA";
arg0
{
title = "Sector Tag";
type = 13;
}
arg1
{
title = "Lower Movement Speed";
type = 11;
enum = "plat_speeds";
default = 16;
}
arg2
{
title = "Raise Movement Speed";
type = 11;
enum = "plat_speeds";
default = 16;
}
arg3
{
title = "Crush Damage";
default = 100;
}
arg4
{
title = "Crush Mode";
type = 11;
enum = "crush_mode";
}
}
196
{
title = "Ceiling Crush Start A";
id = "Ceiling_CrushAndRaiseA";
arg0
{
title = "Sector Tag";
type = 13;
}
arg1
{
title = "Lower Movement Speed";
type = 11;
enum = "plat_speeds";
default = 16;
}
arg2
{
title = "Raise Movement Speed";
type = 11;
enum = "plat_speeds";
default = 16;
}
arg3
{
title = "Crush Damage";
default = 100;
}
arg4
{
title = "Crush Mode";
type = 11;
enum = "crush_mode";
}
}
197
{
title = "Ceiling Crush Start A (silent)";
id = "Ceiling_CrushAndRaiseSilentA";
arg0
{
title = "Sector Tag";
type = 13;
}
arg1
{
title = "Lower Movement Speed";
type = 11;
enum = "plat_speeds";
default = 16;
}
arg2
{
title = "Raise Movement Speed";
type = 11;
enum = "plat_speeds";
default = 16;
}
arg3
{
title = "Crush Damage";
default = 100;
}
arg4
{
title = "Crush Mode";
type = 11;
enum = "crush_mode";
}
}
201
{
title = "Ceiling Generic Change";
id = "Generic_Ceiling";
arg0
{
title = "Sector Tag";
type = 13;
}
arg1
{
title = "Movement Speed";
type = 11;
enum = "plat_speeds";
default = 16;
}
arg2
{
title = "Movement Amount";
}
arg3
{
title = "Target";
type = 11;
enum
{
0 = "Move by Movement Amount";
1 = "Highest neighboring ceiling";
2 = "Lowest neighboring ceiling";
3 = "Nearest neighboring ceiling";
4 = "Highest neighboring floor";
5 = "Sector floor";
6 = "Move by the height of sector's shortest upper texture";
}
}
arg4
{
title = "Flags";
type = 26;
enum
{
0 = "Don't copy anything";
1 = "Copy ceiling texture, remove sector special";
2 = "Copy ceiling texture";
3 = "Copy ceiling texture and special";
}
flags
{
4 = "Use numeric model if set, trigger model if not";
8 = "Raise ceiling if set, lower it if not";
16 = "Inflict crushing damage";
}
}
}
205
{
title = "Ceiling Generic Crush (Doom mode)";
id = "Generic_Crusher";
arg0
{
title = "Sector Tag";
type = 13;
}
arg1
{
title = "Lowering Speed";
type = 11;
enum = "plat_speeds";
default = 16;
}
arg2
{
title = "Raising Speed";
type = 11;
enum = "plat_speeds";
default = 16;
}
arg3
{
title = "Silent";
type = 11;
enum = "noyes";
}
arg4
{
title = "Crush Damage";
default = 100;
}
}
252
{
title = "Ceiling Raise to Nearest Ceiling";
id = "Ceiling_RaiseToNearest";
arg0
{
title = "Sector Tag";
type = 13;
}
arg1
{
title = "Movement Speed";
type = 11;
enum = "plat_speeds";
default = 16;
}
}
253
{
title = "Ceiling Lower to Lowest Ceiling";
id = "Ceiling_LowerToLowest";
arg0
{
title = "Sector Tag";
type = 13;
}
arg1
{
title = "Movement Speed";
type = 11;
enum = "plat_speeds";
default = 16;
}
}
254
{
title = "Ceiling Lower to Floor";
id = "Ceiling_LowerToFloor";
arg0
{
title = "Sector Tag";
type = 13;
}
arg1
{
title = "Movement Speed";
type = 11;
enum = "plat_speeds";
default = 16;
}
}
255
{
title = "Ceiling Crush Once and Open A (silent)";
id = "Ceiling_CrushRaiseAndStaySilA";
arg0
{
title = "Sector Tag";
type = 13;
}
arg1
{
title = "Lowering Speed";
type = 11;
enum = "plat_speeds";
default = 16;
}
arg2
{
title = "Raising Speed";
type = 11;
enum = "plat_speeds";
default = 16;
}
arg3
{
title = "Crush Damage";
default = 100;
}
arg4
{
title = "Crush Mode";
type = 11;
enum = "crush_mode";
}
}
}
transfer
{
title = "Transfer";
209
{
title = "Transfer Heights";
id = "Transfer_Heights";
requiresactivation = false;
errorchecker
{
ignoreuppertexture = true;
ignoremiddletexture = true;
ignorelowertexture = true;
}
arg0
{
title = "Sector Tag";
type = 13;
}
}
}
platform
{
include("Hexen_linedefs.cfg", "platform");
172
{
title = "Platform Raise to Nearest Wait Lower";
id = "Plat_UpNearestWaitDownStay";
arg0
{
title = "Sector Tag";
type = 13;
}
arg1
{
title = "Movement Speed";
type = 11;
enum = "plat_speeds";
default = 16;
}
arg2
{
title = "Reverse Delay (tics)";
type = 11;
enum = "delay_tics";
default = 35;
}
}
203
{
title = "Platform Generic Change";
id = "Generic_Lift";
arg0
{
title = "Sector Tag";
type = 13;
}
arg1
{
title = "Movement Speed";
type = 11;
enum = "plat_speeds";
default = 16;
}
arg2
{
title = "Reverse Delay (octics)";
type = 11;
enum = "delay_octics";
default = 24;
}
arg3
{
title = "Type";
type = 11;
enum = "generic_lift_types";
}
arg4
{
title = "Movement Amount";
}
}
206
{
title = "Platform Lower Wait Raise (lip)";
id = "Plat_DownWaitUpStayLip";
arg0
{
title = "Sector Tag";
type = 13;
}
arg1
{
title = "Movement Speed";
type = 11;
enum = "plat_speeds";
default = 16;
}
arg2
{
title = "Reverse Delay (tics)";
type = 11;
enum = "delay_tics";
default = 35;
}
arg3
{
title = "Lip Amount";
}
arg4
{
title = "Sound Type";
type = 11;
enum = "plat_sound";
}
}
207
{
title = "Platform Perpetual Move (lip)";
id = "Plat_PerpetualRaiseLip";
arg0
{
title = "Sector Tag";
type = 13;
}
arg1
{
title = "Movement Speed";
type = 11;
enum = "plat_speeds";
default = 16;
}
arg2
{
title = "Reverse Delay (tics)";
type = 11;
enum = "delay_tics";
default = 35;
}
arg3
{
title = "Lip Amount";
}
}
228
{
title = "Platform Raise Tx0";
id = "Plat_RaiseAndStayTx0";
arg0
{
title = "Sector Tag";
type = 13;
}
arg1
{
title = "Movement Speed";
type = 11;
enum = "plat_speeds";
default = 16;
}
arg2
{
title = "Lockout Mode";
type = 11;
enum
{
0 = "Lockout in Heretic only";
1 = "Don't lockout";
2 = "Lockout in all games";
}
}
}
230
{
title = "Platform Raise by Value Tx (* 8)";
id = "Plat_UpByValueStayTx";
arg0
{
title = "Sector Tag";
type = 13;
}
arg1
{
title = "Movement Speed";
type = 11;
enum = "plat_speeds";
default = 16;
}
arg2
{
title = "Raise by (* 8)";
}
}
231
{
title = "Platform Toggle Ceiling";
id = "Plat_ToggleCeiling";
arg0
{
title = "Sector Tag";
type = 13;
}
}
}
teleport
{
include("Hexen_linedefs.cfg", "teleport");
39
{
title = "Teleport to Pain State (silent)";
id = "Teleport_ZombieChanger";
arg0
{
title = "Target Teleport Dest. Tag";
type = 14;
targetclasses = "TeleportDest,TeleportDest2,TeleportDest3";
}
arg1
{
title = "Target Sector Tag";
type = 13;
}
}
70 // Teleport
{
arg2
{
title = "Source Fog";
type = 11;
enum = "yesno";
}
}
71 // Teleport_NoFog
{
arg1
{
title = "Teleport Dest. angle usage";
type = 11;
enum
{
0 = "Don't change angle and velocity (Hexen-compat)";
1 = "Always use the teleport exit's angle (Strife-compat)";
2 = "Adjust relatively to the teleport exit's angle, but in the wrong direction (Boom-compat)";
3 = "Adjust relatively to the teleport exit's angle (Boom-fixed)";
}
}
arg3
{
title = "Keep rel. Height";
type = 11;
enum = "noyes";
}
}
74 // Teleport_NewMap
{
arg2
{
title = "Keep Orientation";
type = 11;
enum = "noyes";
}
}
76
{
title = "Teleport Other";
id = "TeleportOther";
arg0
{
title = "Thing Tag";
type = 14;
}
arg1
{
title = "Target MapSpot Tag";
type = 14;
targetclasses = "MapSpot,MapSpotGravity";
}
arg2
{
title = "Fog";
type = 11;
enum = "noyes";
}
}
77
{
title = "Teleport Group";
id = "TeleportGroup";
arg0
{
title = "Thing Tag";
tooltip = "The TID of the actor(s) to teleport.\nIf 0, teleports the activator only.";
type = 14;
}
arg1
{
title = "Source Teleport Dest. Tag";
type = 14;
targetclasses = "TeleportDest,TeleportDest2,TeleportDest3";
}
arg2
{
title = "Target Teleport Dest. Tag";
type = 14;
targetclasses = "TeleportDest,TeleportDest2,TeleportDest3";
}
arg3
{
title = "Move Source";
type = 11;
enum = "noyes";
}
arg4
{
title = "Fog";
type = 11;
enum = "noyes";
}
}
78
{
title = "Teleport in Sector";
id = "TeleportInSector";
arg0
{
title = "Sector Tag";
type = 13;
}
arg1
{
title = "Source Tag";
tooltip = "The spot relative to which to teleport.";
type = 14;
}
arg2
{
title = "Target Teleport Dest. Tag";
type = 14;
targetclasses = "TeleportDest,TeleportDest2,TeleportDest3";
}
arg3
{
title = "Fog";
type = 11;
enum = "noyes";
}
arg4
{
title = "Group Thing Tag";
tooltip = "The TID of the thing(s) to teleport.\nIf 0, teleports all actors in the sector";
type = 14;
}
}
154
{
title = "Teleport (no Stop)";
id = "Teleport_NoStop";
arg0
{
title = "Target Teleport Dest. Tag";
type = 14;
targetclasses = "TeleportDest,TeleportDest2,TeleportDest3";
}
arg1
{
title = "Target Sector Tag";
type = 13;
}
arg2
{
title = "Fog";
type = 11;
enum = "yesno";
}
}
215
{
title = "Teleport to Line";
id = "Teleport_Line";
arg1
{
title = "Target Line Tag";
type = 15;
}
arg2
{
title = "Reverse Angle";
type = 11;
enum = "noyes";
}
}
}
thing
{
include("Hexen_linedefs.cfg", "thing");
17
{
title = "Thing Raise";
id = "Thing_Raise";
arg0
{
title = "Thing Tag";
type = 14;
}
}
19
{
title = "Thing Stop";
id = "Thing_Stop";
arg0
{
title = "Thing Tag";
type = 14;
}
}
72 // ThrustThing
{
arg3
{
title = "Target Thing Tag";
type = 14;
}
}
73 // DamageThing
{
arg1
{
title = "Death";
type = 11;
enum = "death_types";
}
}
119
{
title = "Damage Thing by Tag";
id = "Thing_Damage";
arg0
{
title = "Thing Tag";
type = 14;
}
arg1
{
title = "Damage";
default = 100;
}
arg2
{
title = "Death";
type = 11;
enum = "death_types";
}
}
125
{
title = "Move Thing";
id = "Thing_Move";
arg0
{
title = "Thing Tag";
type = 14;
}
arg1
{
title = "Target Thing Tag";
type = 14;
}
arg2
{
title = "Fog";
type = 11;
enum = "yesno";
}
}
127
{
title = "Thing Set Special";
id = "Thing_SetSpecial";
arg0
{
title = "Thing Tag";
type = 14;
}
arg1
{
title = "Special";
type = 4;
}
arg2
{
title = "Arg 1";
}
arg3
{
title = "Arg 2";
}
arg4
{
title = "Arg 3";
}
}
128
{
title = "Thing Thrust Z";
id = "ThrustThingZ";
arg0
{
title = "Thing Tag";
type = 14;
}
arg1
{
title = "Force";
}
arg2
{
title = "Down/Up";
type = 11;
enum = "updown";
}
arg3
{
title = "Set/Add";
type = 11;
enum = "setadd";
}
}
135 // Thing_Spawn
{
arg3
{
title = "New Thing Tag";
type = 14;
}
}
137 // Thing_SpawnNoFog
{
arg3
{
title = "New Thing Tag";
type = 14;
}
}
139
{
title = "Spawn Thing Facing";
id = "Thing_SpawnFacing";
arg0
{
title = "Mapspot Tag";
type = 14;
targetclasses = "MapSpot,MapSpotGravity";
}
arg1
{
title = "Spawn Thing";
type = 11;
enum = "spawnthing";
}
arg2
{
title = "Fog";
type = 11;
enum = "yesno";
}
arg3
{
title = "New Thing Tag";
type = 14;
}
}
175
{
title = "Spawn Projectile (Intercept)";
id = "Thing_ProjectileIntercept";
arg0
{
title = "Mapspot Tag";
type = 14;
targetclasses = "MapSpot,MapSpotGravity";
}
arg1
{
title = "Projectile Type";
type = 11;
enum = "spawn_projectile";
}
arg2
{
title = "Speed";
}
arg3
{
title = "Target Thing Tag";
type = 14;
}
arg4
{
title = "New Thing Tag";
type = 14;
}
}
176
{
title = "Change Thing Tag";
id = "Thing_ChangeTID";
arg0
{
title = "Old Thing Tag";
type = 14;
}
arg1
{
title = "New Thing Tag";
type = 14;
}
}
177
{
title = "Thing Hate";
id = "Thing_Hate";
arg0
{
title = "Hater Tag";
type = 14;
}
arg1
{
title = "Hatee Tag";
type = 14;
}
}
178
{
title = "Spawn Aimed Projectile";
id = "Thing_ProjectileAimed";
arg0
{
title = "Mapspot Tag";
type = 14;
targetclasses = "MapSpot,MapSpotGravity";
}
arg1
{
title = "Projectile Type";
type = 11;
enum = "spawn_projectile";
}
arg2
{
title = "Speed";
}
arg3
{
title = "Target Thing Tag";
type = 14;
}
arg4
{
title = "New Thing Tag";
type = 14;
}
}
248
{
title = "Heal Thing";
id = "HealThing";
arg0
{
title = "Heal Amount";
}
}
}
end
{
include("Hexen_linedefs.cfg", "end");
243
{
title = "End Normal";
id = "Exit_Normal";
arg0
{
title = "Position";
}
}
244
{
title = "End Secret";
id = "Exit_Secret";
arg0
{
title = "Position";
}
}
}
scroll
{
title = "Scroll";
52
{
title = "Scroll Wall";
id = "Scroll_Wall";
requiresactivation = false;
arg0
{
title = "Line Tag";
type = 15;
}
arg1
{
title = "Horizontal speed";
}
arg2
{
title = "Vertical speed";
}
arg3
{
title = "Side";
type = 11;
enum = "frontback";
}
arg4
{
title = "Flags";
type = 12;
enum
{
1 = "Scroll upper";
2 = "Scroll middle";
4 = "Scroll lower";
}
}
}
222
{
title = "Scroll Texture Model";
id = "Scroll_Texture_Model";
requiresactivation = false;
arg1
{
title = "Options";
type = 12;
enum
{
1 = "Displacement";
2 = "Accelerative";
}
}
}
223
{
title = "Scroll Floor";
id = "Scroll_Floor";
requiresactivation = false;
arg0
{
title = "Sector Tag";
type = 13;
}
arg1
{
title = "Options";
type = 12;
enum
{
1 = "Displacement";
2 = "Accelerative";
4 = "Scroll by linedef dx/dy";
}
}
arg2
{
title = "Scroll";
type = 11;
enum
{
0 = "Texture only";
1 = "Things only";
2 = "Both";
}
}
arg3
{
title = "Horizontal Speed";
default = 128;
type = 11;
enum = "sector_scroll_speeds_x";
}
arg4
{
title = "Vertical Speed";
default = 128;
type = 11;
enum = "sector_scroll_speeds_y";
}
}
224
{
title = "Scroll Ceiling";
id = "Scroll_Ceiling";
requiresactivation = false;
arg0
{
title = "Sector Tag";
type = 13;
}
arg1
{
title = "Options";
type = 12;
enum
{
1 = "Displacement";
2 = "Accelerative";
4 = "Scroll by linedef dx/dy";
}
}
arg3
{
title = "Horizontal Speed";
default = 128;
type = 11;
enum = "sector_scroll_speeds_x";
}
arg4
{
title = "Vertical Speed";
default = 128;
type = 11;
enum = "sector_scroll_speeds_y";
}
}
}
light
{
include("Hexen_linedefs.cfg", "light");
109 = NULL;
117
{
title = "Light Stop";
id = "Light_Stop";
arg0
{
title = "Sector Tag";
type = 13;
}
}
232
{
title = "Light Strobe (Doom mode)";
id = "Light_StrobeDoom";
arg0
{
title = "Sector Tag";
type = 13;
}
arg1
{
title = "Brightest Duration (tics)";
type = 11;
enum = "delay_tics";
default = 35;
}
arg2
{
title = "Darkest Duration (tics)";
type = 11;
enum = "delay_tics";
default = 35;
}
}
233
{
title = "Light Change to Darkest Neightbour";
id = "Light_MinNeighbor";
arg0
{
title = "Sector Tag";
type = 13;
}
}
234
{
title = "Light Change to Brightest Neightbour";
id = "Light_MaxNeighbor";
arg0
{
title = "Sector Tag";
type = 13;
}
}
}
earthquake
{
include("Hexen_linedefs.cfg", "earthquake");
}
sector
{
title = "Sector";
54
{
title = "Sector Change Flags";
id = "Sector_ChangeFlags";
arg0
{
title = "Sector Tag";
type = 13;
}
arg1
{
title = "Set Flags";
type = 12;
enum = "sector_flags";
}
arg2
{
title = "Clear Flags";
type = 12;
enum = "sector_flags";
}
}
58
{
title = "Sector Copy Scroller";
id = "Sector_CopyScroller";
requiresactivation = false;
arg0
{
title = "Sector Tag";
type = 13;
}
arg1
{
title = "Scroller Type";
type = 12;
enum
{
1 = "Copy ceiling scroller";
2 = "Copy floor scroller";
4 = "Copy carrying effect";
}
}
}
185
{
title = "Sector Rotate Flat";
id = "Sector_SetRotation";
arg0
{
title = "Sector Tag";
type = 13;
}
arg1
{
title = "Floor Angle";
type = 8;
}
arg2
{
title = "Ceiling Angle";
type = 8;
}
}
186
{
title = "Sector Ceiling Panning";
id = "Sector_SetCeilingPanning";
arg0
{
title = "Sector Tag";
type = 13;
}
arg1
{
title = "Horizontal Integral";
}
arg2
{
title = "Horizontal Fractional";
}
arg3
{
title = "Vertical Integral";
}
arg4
{
title = "Vertical Fractional";
}
}
187
{
title = "Sector Floor Panning";
id = "Sector_SetFloorPanning";
arg0
{
title = "Sector Tag";
type = 13;
}
arg1
{
title = "Horizontal Integral";
}
arg2
{
title = "Horizontal Fractional";
}
arg3
{
title = "Vertical Integral";
}
arg4
{
title = "Vertical Fractional";
}
}
188
{
title = "Sector Ceiling Scale";
id = "Sector_SetCeilingScale";
arg0
{
title = "Sector Tag";
type = 13;
}
arg1
{
title = "Horizontal Integral";
}
arg2
{
title = "Horizontal Fractional";
}
arg3
{
title = "Vertical Integral";
}
arg4
{
title = "Vertical Fractional";
}
}
189
{
title = "Sector Floor Scale";
id = "Sector_SetFloorScale";
arg0
{
title = "Sector Tag";
type = 13;
}
arg1
{
title = "Horizontal Integral";
}
arg2
{
title = "Horizontal Fractional";
}
arg3
{
title = "Vertical Integral";
}
arg4
{
title = "Vertical Fractional";
}
}
214
{
title = "Sector Damage";
id = "Sector_SetDamage";
arg0
{
title = "Sector Tag";
type = 13;
}
arg1
{
title = "Damage Amount";
default = 15;
}
arg2
{
title = "Death";
type = 11;
enum = "death_types";
}
}
216
{
title = "Sector Gravity";
id = "Sector_SetGravity";
arg0
{
title = "Sector Tag";
type = 13;
}
arg1
{
title = "Gravity Integral";
}
arg2
{
title = "Gravity Fractional";
}
}
218
{
title = "Sector Wind";
id = "Sector_SetWind";
arg0
{
title = "Sector Tag";
type = 13;
}
arg1
{
title = "Wind Strength";
}
arg2
{
title = "Wind Angle";
type = 22;
}
arg3
{
title = "Use Line Vector";
type = 11;
enum = "noyes";
}
}
219
{
title = "Sector Friction";
id = "Sector_SetFriction";
requiresactivation = false;
arg0
{
title = "Sector Tag";
type = 13;
}
arg1
{
title = "Friction Amount";
type = 11;
enum
{
0 = "Use Line Length";
1 = "Very Sludgy";
50 = "Sludgy";
100 = "Normal";
200 = "Icy";
255 = "Very Icy";
}
}
}
220
{
title = "Sector Current";
id = "Sector_SetCurrent";
arg0
{
title = "Sector Tag";
type = 13;
}
arg1
{
title = "Current Strength";
}
arg2
{
title = "Current Angle";
type = 22;
}
arg3
{
title = "Use Line Vector";
type = 11;
enum = "noyes";
}
}
}
alert
{
title = "Alert";
173
{
title = "Alert monsters";
id = "NoiseAlert";
}
}
point
{
title = "Point";
227
{
title = "Point Pusher/Puller Set Force";
id = "PointPush_SetForce";
arg0
{
title = "Sector Tag";
type = 13;
}
arg1
{
title = "Thing Tag";
type = 14;
}
arg2
{
title = "Strength";
}
arg3
{
title = "Use Line Vector";
type = 11;
enum = "noyes";
}
}
}
elevator
{
title = "Elevator";
245
{
title = "Elevator Raise to Nearest Floor";
id = "Elevator_RaiseToNearest";
arg0
{
title = "Sector Tag";
type = 13;
}
arg1
{
title = "Movement Speed";
type = 11;
enum = "plat_speeds";
default = 16;
}
errorchecker
{
floorraisetonexthigher = true;
}
}
246
{
title = "Elevator Move to Activated Floor";
id = "Elevator_MoveToFloor";
arg0
{
title = "Sector Tag";
type = 13;
}
arg1
{
title = "Movement Speed";
type = 11;
enum = "plat_speeds";
default = 16;
}
}
247
{
title = "Elevator Lower to Nearest Floor";
id = "Elevator_LowerToNearest";
arg0
{
title = "Sector Tag";
type = 13;
}
arg1
{
title = "Movement Speed";
type = 11;
enum = "plat_speeds";
default = 16;
}
}
}
colormap
{
title = "Colormap";
2701
{
title = "Map Set Colormap";
id = "Map_SetColormap";
arg0
{
title = "(switch to string)";
str = true;
titlestr = "Colormap";
}
}
2702
{
title = "Sector Set Colormap";
id = "Sector_SetColormap";
arg0
{
title = "(switch to string)";
str = true;
titlestr = "Colormap";
}
arg1
{
title = "Sector Tag";
type = 13;
}
}
}
linedefflags
{
twosided = "Doublesided";
dontpegtop = "Upper unpegged";
dontpegbottom = "Lower unpegged";
blocking = "Impassable";
blockeverything = "Block everything";
blockplayers = "Block players";
blockmonsters = "Block monsters";
blocklandmonsters = "Block land monsters";
blockfloaters = "Block floating monsters";
blocksound = "Block sound";
blockprojectiles = "Block projectiles";
blockhitscan = "Block hitscans";
blockuse = "Block use actions";
blocksight = "Block monster line of sight";
jumpover = "Jump-over railing";
clipmidtex = "Clip middle texture";
wrapmidtex = "Wrap middle texture";
midtex3dimpassible = "Projectile shoot-through middle texture";
midtex3d = "Walkable middle texture";
mapped = "Initially shown on map";
secret = "Shown as 1-sided on map";
dontdraw = "Not shown on map";
transparent = "Transparent (25% opacity)";
translucent = "Translucent (obsolete)";
monsteractivate = "Monster activates";
}
linedefactivations
{
repeatspecial
{
name = "Repeatable action";
istrigger = false;
}
playeruse = "When player presses use";
playercross = "When player walks over";
playerpush = "When player bumps";
monsteruse = "When monster presses use";
monstercross = "When monster walks over";
monsterpush = "When monsters bumps";
anycross = "Any crossing non-missile activates";
missilecross = "When projectile crosses";
impact = "On player hitscan/projectile impact";
checkswitchrange
{
name = "Switch height check";
istrigger = false;
}
passuse
{
name = "Pass use on";
istrigger = false;
}
firstsideonly
{
name = "Front side only";
istrigger = false;
}
playeruseback
{
name = "Player can use from back side";
istrigger = false;
}
}
// Linedef flags UDMF translation table
// This is needed for copy/paste and prefabs to work properly
// When the UDMF field name is prefixed with ! it is inverted
linedefflagstranslation
{
include("Doom_misc.cfg", "linedefflagstranslation");
include("Hexen_misc.cfg", "linedefflagstranslation");
6144 = "playeruse,passuse"; //mxd
7168 = "impact,missilecross"; //mxd
16384 = "blockplayers";
}
sidedefflags
{
clipmidtex = "Clip middle texture";
wrapmidtex = "Wrap middle texture";
smoothlighting = "Smooth lighting";
nofakecontrast = "Even lighting";
}
thingflags
{
skill1 = "Skill 1";
skill2 = "Skill 2";
skill3 = "Skill 3";
skill4 = "Skill 4";
skill5 = "Skill 5";
single = "Singleplayer";
coop = "Cooperative";
dm = "Deathmatch";
friend = "Friendly (MBF logic)";
ambush = "Ambush players";
dormant = "Dormant";
translucent = "Translucent (25%)";
invisible = "Invisible";
countsecret = "Count as secret";
}
// How to compare thing flags (for the stuck things error checker)
thingflagscompare
{
skills
{
skill1;
skill2;
skill3;
skill4;
skill5;
}
gamemodes
{
single { requiredgroups = "skills"; }
coop { requiredgroups = "skills"; }
dm { ignoredgroups = "skills"; }
}
}
//mxd. Thing flags UDMF translation table
// This is needed for copy/paste and prefabs to work properly
// When the UDMF field name is prefixed with ! it is inverted
thingflagstranslation
{
include("Doom_misc.cfg", "thingflagstranslation");
include("Hexen_misc.cfg", "thingflagstranslation");
256 = "single";
512 = "coop";
1024 = "dm";
2048 = "translucent";
4096 = "invisible";
8192 = "friend";
}
// Default flags for first new thing
defaultthingflags
{
skill1;
skill2;
skill3;
skill4;
skill5;
single;
coop;
dm;
}
// Default thing filters
// (these are not required, just useful for new users)
thingsfilters
{
filter0
{
name = "Keys only";
category = "keys";
type = -1;
}
filter1
{
name = "Deathmatch";
category = "";
type = -1;
fields
{
dm = true;
}
}
filter2
{
name = "Cooperative";
category = "";
type = -1;
fields
{
coop = true;
}
}
filter3
{
name = "Skill 1";
category = "";
type = -1;
fields
{
skill1 = true;
}
}
filter4
{
name = "Skill 2";
category = "";
type = -1;
fields
{
skill2 = true;
}
}
filter5
{
name = "Skill 3";
category = "";
type = -1;
fields
{
skill3 = true;
}
}
filter6
{
name = "Skill 4";
category = "";
type = -1;
fields
{
skill4 = true;
}
}
filter7
{
name = "Skill 5";
category = "";
type = -1;
fields
{
skill5 = true;
}
}
}
// Things flags masks
include("Hexen_misc.cfg", "thingflagsmasks");
/*
ADDITIONAL UNIVERSAL DOOM MAP FORMAT FIELD DEFINITIONS
Only add fields here that Doom Builder does not edit with its own user-interface!
The "default" field must match the UDMF specifications!
Field data types:
0 = integer *
1 = float
2 = string
3 = bool
4 = linedef action (integer) *
5 = sector effect (integer) *
6 = texture (string)
7 = flat (string)
8 = angle in degrees (integer)
9 = angle in radians (float)
10 = XXRRGGBB color (integer)
11 = enum option (integer) *
12 = enum bits (integer) *
13 = sector tag (integer) *
14 = thing tag (integer) *
15 = linedef tag (integer) *
16 = enum option (string)
17 = angle in degrees (float)
22 = byte angle (integer)
*/
universalfields
{
linedef
{
comment
{
type = 2;
default = "";
}
health
{
type = 0;
default = 0;
managed = false;
}
healthgroup
{
type = 0;
default = 0;
managed = false;
}
// Should be moved to flags eventually
damagespecial
{
type = 3;
default = false;
managed = false;
}
// Should be moved to flags eventually
deathspecial
{
type = 3;
default = false;
managed = false;
}
automapstyle
{
type = 11;
default = 0;
enum
{
0 = "Default";
1 = "One-sided wall";
2 = "Two-sided wall";
3 = "Floor levels of front and back sectors are different";
4 = "Ceiling levels of front and back sectors are different";
5 = "3D floor border";
6 = "Wall with special non-door action";
7 = "Secret door";
8 = "Wall not seen yet";
9 = "Locked door";
10 = "Intra-level teleporter";
11 = "Inter-level or game-ending teleporter";
12 = "Unexplored secret wall";
13 = "Portal line";
}
managed = false;
}
arg0str
{
type = 2;
default = "";
}
alpha
{
type = 1;
default = 1.0;
}
locknumber
{
type = 0;
default = 0;
}
}
sidedef
{
comment
{
type = 2;
default = "";
}
scalex_mid
{
type = 1;
default = 1.0;
}
lightabsolute
{
type = 3;
default = false;
}
offsetx_top
{
type = 1;
default = 0.0;
}
scalex_bottom
{
type = 1;
default = 1.0;
}
offsety_bottom
{
type = 1;
default = 0.0;
}
offsetx_bottom
{
type = 1;
default = 0.0;
}
scaley_bottom
{
type = 1;
default = 1.0;
}
light
{
type = 0;
default = 0;
}
offsetx_mid
{
type = 1;
default = 0.0;
}
offsety_top
{
type = 1;
default = 0.0;
}
scaley_top
{
type = 1;
default = 1.0;
}
scaley_mid
{
type = 1;
default = 1.0;
}
offsety_mid
{
type = 1;
default = 0.0;
}
scalex_top
{
type = 1;
default = 1.0;
}
light_top
{
type = 0;
default = 0;
}
lightabsolute_top
{
type = 3;
default = false;
}
light_mid
{
type = 0;
default = 0;
}
lightabsolute_mid
{
type = 3;
default = false;
}
light_bottom
{
type = 0;
default = 0;
}
lightabsolute_bottom
{
type = 3;
default = false;
}
xscroll
{
type = 1;
default = 0.0;
managed = false;
}
yscroll
{
type = 1;
default = 0.0;
managed = false;
}
xscrolltop
{
type = 1;
default = 0.0;
managed = false;
}
yscrolltop
{
type = 1;
default = 0.0;
managed = false;
}
xscrollmid
{
type = 1;
default = 0.0;
managed = false;
}
yscrollmid
{
type = 1;
default = 0.0;
managed = false;
}
xscrollbottom
{
type = 1;
default = 0.0;
managed = false;
}
yscrollbottom
{
type = 1;
default = 0.0;
managed = false;
}
}
thing
{
comment
{
type = 2;
default = "";
}
gravity
{
type = 1;
default = 0.0;
}
alpha
{
type = 1;
default = 1.0;
}
health
{
type = 1;
default = 1.0;
}
arg0str
{
type = 2;
default = "";
}
}
sector
{
comment
{
type = 2;
default = "";
}
ypanningfloor
{
type = 1;
default = 0.0;
}
xpanningfloor
{
type = 1;
default = 0.0;
}
lightfloorabsolute
{
type = 3;
default = false;
}
lightfloor
{
type = 0;
default = 0;
}
damageinterval
{
type = 0;
default = 32;
}
rotationceiling
{
type = 1;
default = 0.0;
}
damageamount
{
type = 0;
default = 0;
}
rotationfloor
{
type = 1;
default = 0.0;
}
yscalefloor
{
type = 1;
default = 1.0;
}
leakiness
{
type = 0;
default = 0;
}
ypanningceiling
{
type = 1;
default = 0.0;
}
lightceiling
{
type = 0;
default = 0;
}
yscaleceiling
{
type = 1;
default = 1.0;
}
gravity
{
type = 1;
default = 1.0;
}
xpanningceiling
{
type = 1;
default = 0.0;
}
xscaleceiling
{
type = 1;
default = 1.0;
}
xscalefloor
{
type = 1;
default = 1.0;
}
lightceilingabsolute
{
type = 3;
default = false;
}
xscrollfloor
{
type = 1;
default = 0.0;
managed = false;
}
yscrollfloor
{
type = 1;
default = 0.0;
managed = false;
}
scrollfloormode
{
type = 12;
default = 0;
enum
{
1 = "Affects textures";
2 = "Affects static objects";
4 = "Affects players";
8 = "Affects monsters";
}
managed = false;
}
xscrollceiling
{
type = 1;
default = 0.0;
managed = false;
}
yscrollceiling
{
type = 1;
default = 0.0;
managed = false;
}
scrollceilingmode
{
type = 12;
default = 0;
enum
{
1 = "Affects textures";
2 = "Affects static objects";
4 = "Affects players";
8 = "Affects monsters";
}
managed = false;
}
xthrust
{
type = 1;
default = 0.0;
managed = false;
}
ythrust
{
type = 1;
default = 0.0;
managed = false;
}
thrustgroup
{
type = 12;
default = 0;
enum
{
1 = "Affects static objects";
2 = "Affects players";
4 = "Affects monsters";
8 = "Affects projectiles";
16 = "Affects WINDTHRUST actors";
}
managed = false;
}
thrustlocation
{
type = 12;
default = 0;
enum
{
1 = "Affects grounded actors";
2 = "Affects airborne actors";
4 = "Affects ceiling actors";
}
managed = false;
}
colormap
{
type = 2;
default = "";
managed = false;
}
skyfloor
{
type = 2;
default = "";
managed = false;
}
skyceiling
{
type = 2;
default = "";
managed = false;
}
frictionfactor
{
type = 1;
default = 0.90625;
managed = false;
}
movefactor
{
type = 1;
default = 0.03125;
managed = false;
}
}
}
// DEFAULT SECTOR BRIGHTNESS LEVELS
sectorbrightness
{
256; 248; 240; 232; 224; 216; 208; 200; 192; 184; 176; 168; 160; 152; 144; 136;
128; 120; 112; 104; 96; 88; 80; 72; 64; 56; 48; 40; 32; 24; 16; 8; 0;
}
// ENUMERATIONS
// Each engine has its own additional thing types
// These are enumerated lists for linedef types and UDMF fields.
enums
{
// Basic game enums
include("Doom_misc.cfg", "enums");
// Standard ZDoom enums
include("ZDoom_misc.cfg", "enums");
// Additional ZDoom enums for that game
include("ZDoom_misc.cfg", "enums_doom");
sector_flags = null;
sector_flags
{
1 = "Silent";
16 = "Boom Friction";
32 = "Boom Push / Pull";
256 = "End god mode";
512 = "End level";
1024 = "Hazard";
2048 = "No attack";
}
}
maplumpnames
{
~MAP
{
required = true;
blindcopy = true;
nodebuild = false;
}
TEXTMAP
{
required = true;
nodebuild = true;
allowempty = true;
}
ZNODES
{
required = false;
nodebuild = true;
allowempty = false;
}
BLOCKMAP
{
required = false;
nodebuild = true;
allowempty = true;
}
REJECT
{
required = false;
nodebuild = true;
allowempty = true;
}
ENDMAP
{
required = true;
nodebuild = false;
allowempty = true;
}
}
teleports
{
9043
{
title = "Teleport (Z Height and Gravity)";
sprite = "internal:teleport";
class = "TeleportDest3";
}
9044
{
title = "Teleport (Z Height)";
sprite = "internal:teleport";
class = "TeleportDest2";
}
}
zdoom
{
color = 7; // Light Grey
arrow = 1;
title = "ZDoom";
sort = 1;
width = 10;
height = 20;
hangs = 0;
blocking = 0;
fixedsize = true;
sprite = "internal:arrow";
9300
{
title = "Polyobject Anchor";
sprite = "internal:anchor";
class = "$PolyAnchor";
fixedrotation = true;
error = 0; // Can be outside of map geometry
}
9301
{
title = "Polyobject Start Spot";
sprite = "internal:anchor";
class = "$PolySpawn";
fixedrotation = true;
}
9302
{
title = "Polyobject Start Spot (crush)";
sprite = "internal:anchor";
class = "$PolySpawnCrush";
fixedrotation = true;
}
9303
{
title = "Polyobject Start Spot (hurts to touch)";
sprite = "internal:anchor";
class = "$PolySpawnHurt";
fixedrotation = true;
}
9001
{
title = "Map Spot";
sprite = "internal:MapSpot";
class = "MapSpot";
}
9013
{
title = "Map Spot (gravity)";
sprite = "internal:MapSpotGravity";
class = "MapSpotGravity";
}
}
sounds
{
color = 7;
arrow = 0;
title = "Sounds";
width = 10;
height = 20;
sort = 1;
blocking = 0;
hangs = 0;
fixedsize = true;
sprite = "internal:sound";
14001 = "Ambient Sound 01";
14002 = "Ambient Sound 02";
14003 = "Ambient Sound 03";
14004 = "Ambient Sound 04";
14005 = "Ambient Sound 05";
14006 = "Ambient Sound 06";
14007 = "Ambient Sound 07";
14008 = "Ambient Sound 08";
14009 = "Ambient Sound 09";
14010 = "Ambient Sound 10";
14011 = "Ambient Sound 11";
14012 = "Ambient Sound 12";
14013 = "Ambient Sound 13";
14014 = "Ambient Sound 14";
14015 = "Ambient Sound 15";
14016 = "Ambient Sound 16";
14017 = "Ambient Sound 17";
14018 = "Ambient Sound 18";
14019 = "Ambient Sound 19";
14020 = "Ambient Sound 20";
14021 = "Ambient Sound 21";
14022 = "Ambient Sound 22";
14023 = "Ambient Sound 23";
14024 = "Ambient Sound 24";
14025 = "Ambient Sound 25";
14026 = "Ambient Sound 26";
14027 = "Ambient Sound 27";
14028 = "Ambient Sound 28";
14029 = "Ambient Sound 29";
14030 = "Ambient Sound 30";
14031 = "Ambient Sound 31";
14032 = "Ambient Sound 32";
14033 = "Ambient Sound 33";
14034 = "Ambient Sound 34";
14035 = "Ambient Sound 35";
14036 = "Ambient Sound 36";
14037 = "Ambient Sound 37";
14038 = "Ambient Sound 38";
14039 = "Ambient Sound 39";
14040 = "Ambient Sound 40";
14041 = "Ambient Sound 41";
14042 = "Ambient Sound 42";
14043 = "Ambient Sound 43";
14044 = "Ambient Sound 44";
14045 = "Ambient Sound 45";
14046 = "Ambient Sound 46";
14047 = "Ambient Sound 47";
14048 = "Ambient Sound 48";
14049 = "Ambient Sound 49";
14050 = "Ambient Sound 50";
14051 = "Ambient Sound 51";
14052 = "Ambient Sound 52";
14053 = "Ambient Sound 53";
14054 = "Ambient Sound 54";
14055 = "Ambient Sound 55";
14056 = "Ambient Sound 56";
14057 = "Ambient Sound 57";
14058 = "Ambient Sound 58";
14059 = "Ambient Sound 59";
14060 = "Ambient Sound 60";
14061 = "Ambient Sound 61";
14062 = "Ambient Sound 62";
14063 = "Ambient Sound 63";
14064 = "Ambient Sound 64";
14065
{
title = "Custom Ambient Sound";
class = "AmbientSound";
arg0
{
title = "Ambient Sound Index";
}
}
14101 = "Music Changer 01";
14102 = "Music Changer 02";
14103 = "Music Changer 03";
14104 = "Music Changer 04";
14105 = "Music Changer 05";
14106 = "Music Changer 06";
14107 = "Music Changer 07";
14108 = "Music Changer 08";
14109 = "Music Changer 09";
14110 = "Music Changer 10";
14111 = "Music Changer 11";
14112 = "Music Changer 12";
14113 = "Music Changer 13";
14114 = "Music Changer 14";
14115 = "Music Changer 15";
14116 = "Music Changer 16";
14117 = "Music Changer 17";
14118 = "Music Changer 18";
14119 = "Music Changer 19";
14120 = "Music Changer 20";
14121 = "Music Changer 21";
14122 = "Music Changer 22";
14123 = "Music Changer 23";
14124 = "Music Changer 24";
14125 = "Music Changer 25";
14126 = "Music Changer 26";
14127 = "Music Changer 27";
14128 = "Music Changer 28";
14129 = "Music Changer 29";
14130 = "Music Changer 30";
14131 = "Music Changer 31";
14132 = "Music Changer 32";
14133 = "Music Changer 33";
14134 = "Music Changer 34";
14135 = "Music Changer 35";
14136 = "Music Changer 36";
14137 = "Music Changer 37";
14138 = "Music Changer 38";
14139 = "Music Changer 39";
14140 = "Music Changer 40";
14141 = "Music Changer 41";
14142 = "Music Changer 42";
14143 = "Music Changer 43";
14144 = "Music Changer 44";
14145 = "Music Changer 45";
14146 = "Music Changer 46";
14147 = "Music Changer 47";
14148 = "Music Changer 48";
14149 = "Music Changer 49";
14150 = "Music Changer 50";
14151 = "Music Changer 51";
14152 = "Music Changer 52";
14153 = "Music Changer 53";
14154 = "Music Changer 54";
14155 = "Music Changer 55";
14156 = "Music Changer 56";
14157 = "Music Changer 57";
14158 = "Music Changer 58";
14159 = "Music Changer 59";
14160 = "Music Changer 60";
14161 = "Music Changer 61";
14162 = "Music Changer 62";
14163 = "Music Changer 63";
14164 = "Music Changer 64";
14165
{
title = "Custom Music Changer";
class = "MusicChanger";
arg0
{
title = "MUSINFO Track Index";
}
}
}
// *********************************************************** // ***********************************************************
// * * // * *
// * These values are mainly for UDMF EDGE-Classic * // * These values are common for DiD and UDMF EDGE-Classic *
// * * // * *
// *********************************************************** // ***********************************************************
...@@ -12,15 +12,10 @@ common ...@@ -12,15 +12,10 @@ common
// Default testing parameters // Default testing parameters
include("Test_params.cfg", "modern"); include("Test_params.cfg", "modern");
// Default nodebuilder configurations
defaultsavecompiler = "glbsp_normal";
defaulttestcompiler = "glbsp_fast";
// Generalized actions // Generalized actions
// generalizedlinedefs is true for Doom format and false for
// the other two, so it's not here.
generalizedsectors = true; generalizedsectors = true;
generalizedlinedefs = true;
//mxd. Maximum safe map size check (0 means skip check) //mxd. Maximum safe map size check (0 means skip check)
safeboundary = 0; safeboundary = 0;
...@@ -30,9 +25,52 @@ common ...@@ -30,9 +25,52 @@ common
defaultflatscale = 1.0f; defaultflatscale = 1.0f;
scaledtextureoffsets = true; scaledtextureoffsets = true;
// When this is set to true, sectors with the same tag will light up when a line is highlighted
linetagindicatesectors = true;
// Enables multiple tags on sectors
sectormultitag = false;
//mxd. Sidedefs compression //mxd. Sidedefs compression
// ioanch FIXME: what does this do? I made it false // ioanch FIXME: what does this do? I made it false
sidedefcompressionignoresaction = false; sidedefcompressionignoresaction = false;
// Enables support for 3D floors (not really, since support for 3D floors is pretty much hard-coded, but
// this tells plugins that the game supports 3D floors)
effect3dfloorsupport = true;
//mxd. Sky textures for vanilla maps
defaultskytextures
{
SKY1 = "MAP01,MAP02,MAP03,MAP04,MAP05,MAP06,MAP07,MAP08,MAP09,MAP10,MAP11";
SKY2 = "MAP12,MAP13,MAP14,MAP15,MAP16,MAP17,MAP18,MAP19,MAP20";
SKY3 = "MAP21,MAP22,MAP23,MAP24,MAP25,MAP26,MAP27,MAP28,MAP29,MAP30,MAP31,MAP32";
}
// Default lump name for new map
defaultlumpname = "MAP01";
// No DECORATE support in EDGE ;)
decorategames = "";
//The default script compiler to use
defaultscriptcompiler = "";
// Default nodebuilder configurations
defaultsavecompiler = "";
defaulttestcompiler = "";
nodebuildersave = "";
nodebuildertest = "";
damagetypes = "";
internalsoundnames = "";
// Default texture sets
// (these are not required, but useful for new users)
texturesets
{
include("Doom_texturesets.cfg");
}
// Texture sources // Texture sources
textures textures
...@@ -47,7 +85,6 @@ common ...@@ -47,7 +85,6 @@ common
include("EdgeC_misc.cfg", "hires"); include("EdgeC_misc.cfg", "hires");
} }
// Patch sources // Patch sources
patches patches
{ {
...@@ -71,91 +108,44 @@ common ...@@ -71,91 +108,44 @@ common
{ {
include("Boom_misc.cfg", "colormaps"); include("Boom_misc.cfg", "colormaps");
} }
compatibility compatibility
{ {
fixnegativepatchoffsets = true; fixnegativepatchoffsets = true;
fixmaskedpatchoffsets = true; fixmaskedpatchoffsets = true;
} }
}
// GENERALIZED LINEDEF TYPES
mapformat_doom
{
mixtexturesflats = true;
// The format interface handles the map data format
formatinterface = "DoomMapSetIO";
maplumpnames
{
include("Doom_misc.cfg", "doommaplumpnames");
include("Boom_misc.cfg", "boommaplumpnames");
}
// When this is set to true, sectors with the same tag will light up when a line is highlighted
linetagindicatesectors = true;
// Default flags for first new thing
defaultthingflags
{
include("Doom_misc.cfg", "defaultthingflags");
}
// Door making
//include("ZDoom_misc.cfg", "doormaking_doom");
// Generalized actions
generalizedlinedefs = true;
generalizedsectors = true;
// GENERALIZED LINEDEF TYPES
gen_linedeftypes gen_linedeftypes
{ {
include("Boom_generalized.cfg", "gen_linedeftypes"); include("Boom_generalized.cfg", "gen_linedeftypes");
} }
// GENERALIZED SECTOR TYPES // GENERALIZED SECTOR TYPES
gen_sectortypes gen_sectortypes
{ {
include("Boom_generalized.cfg", "gen_sectortypes"); include("Boom_generalized.cfg", "gen_sectortypes");
} }
// DEFAULT SECTOR BRIGHTNESS LEVELS // Door making
sectorbrightness makedoortrack = "DOORTRAK";
{ makedoordoor = "BIGDOOR2";
include("Doom_misc.cfg", "sectorbrightness"); makedoorceil = "FLAT20";
} makedooraction = 1; // See linedeftypes
// SECTOR TYPES // DEFAULT SECTOR BRIGHTNESS LEVELS
sectortypes sectorbrightness
{
include("Doom_sectors.cfg");
include("EdgeC_sectors.cfg");
}
// LINEDEF FLAGS
linedefflags
{
include("Doom_misc.cfg", "linedefflags");
include("Boom_misc.cfg", "linedefflags");
}
// LINEDEF ACTIVATIONS
linedefactivations
{ {
include("Doom_misc.cfg", "sectorbrightness");
} }
// Linedef flags UDMF translation table // SECTOR TYPES
// This is needed for copy/paste and prefabs to work properly sectortypes
// When the UDMF field name is prefixed with ! it is inverted
linedefflagstranslation
{ {
include("Doom_misc.cfg", "linedefflagstranslation"); include("Doom_sectors.cfg");
include("Boom_misc.cfg", "linedefflagstranslation"); include("EdgeC_sectors.cfg");
} }
// LINEDEF TYPES // LINEDEF TYPES
linedeftypes linedeftypes
{ {
...@@ -164,227 +154,21 @@ mapformat_doom ...@@ -164,227 +154,21 @@ mapformat_doom
include("EdgeC_linedefs.cfg"); include("EdgeC_linedefs.cfg");
} }
thingtypes thingtypes
{ {
// Basic game actors
include("Doom_things.cfg");
include("Doom2_things.cfg");
include("Boom_things.cfg");
include("EdgeC_things.cfg"); include("EdgeC_things.cfg");
} }
// THING FLAGS
thingflags
{
include("Doom_misc.cfg", "thingflags");
include("Boom_misc.cfg", "thingflags");
}
// Thing flags UDMF translation table
// This is needed for copy/paste and prefabs to work properly
// When the UDMF field name is prefixed with ! it is inverted
thingflagstranslation
{
include("Doom_misc.cfg", "thingflagstranslation");
include("Boom_misc.cfg", "thingflagstranslation");
}
// How to compare thing flags (for the stuck things error checker)
thingflagscompare
{
include("Doom_misc.cfg", "thingflagscompare");
include("Boom_misc.cfg", "thingflagscompare");
}
// Things flags masks
include("Doom_misc.cfg", "thingflagsmasks");
mixtexturesflats = true;
// Texture sources
textures
{
include("Doom_misc.cfg", "textures");
include("EdgeC_misc.cfg", "textures"); // works for Eternity too
}
//mxd. HiRes sources // Dehacked data
hires dehacked
{ {
include("EdgeC_misc.cfg", "hires"); include("Dehacked_Doom.cfg");
} }
} }
// ***********************************************************
// * *
// * Text map format *
// * *
// ***********************************************************
mapformat_udmf
{
// The format interface handles the map data format
formatinterface = "UniversalMapSetIO";
//mxd. The default script compiler to use
defaultscriptcompiler = "zdoom_acs.cfg";
// Enables support for long (> 8 chars) texture names
// WARNING: this should only be enabled for UDMF game configurations!
// WARNING: enabling this will make maps incompatible with Doom Builder 2 and can lead to problems in Slade 3!
longtexturenames = false;
// Enables setting brightness for floor and ceiling independently from each other
distinctfloorandceilingbrightness = false;
// Default nodebuilder configurations
defaultsavecompiler = "zdbsp_udmf_normal";
defaulttestcompiler = "zdbsp_udmf_fast";
// ioanch: eternity
engine = "edge"; // override that so that DB2 uses the correct namespace
maplumpnames
{
include("UDMF_misc.cfg", "udmfmaplumpnames_begin");
include("EdgeC_misc.cfg", "udmfmaplumpnames");
include("UDMF_misc.cfg", "udmfmaplumpnames_end");
}
// eternity
universalfields
{
include("EdgeC_misc.cfg", "universalfields");
}
// When this is set to true, sectors with the same tag will light up when a line is highlighted
linetagindicatesectors = true;
// Special linedefs
//include("ZDoom_misc.cfg", "speciallinedefs_udmf"); // same in EE
// Default flags for first new thing
defaultthingflags
{
include("EdgeC_misc.cfg", "defaultthingflags_udmf");
}
// Door making
//include("Eternity_misc.cfg", "doormaking_udmf");
// Generalized actions
generalizedlinedefs = true;
generalizedsectors = true;
// GENERALIZED SECTOR TYPES
//gen_sectortypes
//{
// include("Eternity_generalized.cfg", "gen_sectortypes_udmf");
//}
// SECTOR FLAGS
//sectorflags
//{
// include("Eternity_misc.cfg", "sectorflags_udmf");
//}
// DEFAULT SECTOR BRIGHTNESS LEVELS
//sectorbrightness
//{
// include("ZDoom_misc.cfg", "sectorbrightness");
//}
// SECTOR TYPES
//sectortypes
//{
// include("Eternity_misc.cfg", "sectors_udmf");
//}
// SECTOR RENSERSTYLES
//sectorrenderstyles
//{
// include("UDMF_misc.cfg", "sectorrenderstyles");
//}
// LINEDEF FLAGS
//linedefflags
//{
// include("Eternity_misc.cfg", "linedefflags_udmf");
//}
// LINEDEF ACTIVATIONS
//linedefactivations
//{
// include("Eternity_misc.cfg", "linedefactivations_udmf");
//}
//mxd. Linedef flags UDMF translation table
// This is needed for copy/paste and prefabs to work properly
// When the UDMF field name is prefixed with ! it is inverted
linedefflagstranslation
{
include("Doom_misc.cfg", "linedefflagstranslation");
//include("Hexen_misc.cfg", "linedefflagstranslation");
//include("ZDoom_misc.cfg", "linedefflagstranslation");
}
// LINEDEF RENSERSTYLES
//linedefrenderstyles
//{
// include("UDMF_misc.cfg", "linedefrenderstyles");
//}
//SIDEDEF FLAGS
//sidedefflags
//{
// include("Eternity_misc.cfg", "sidedefflags");
//}
// THING FLAGS
//thingflags
//{
// include("Eternity_misc.cfg", "thingflags_udmf");
//}
// THING RENSERSTYLES
//thingrenderstyles
//{
// include("UDMF_misc.cfg", "thingrenderstyles");
//}
// How to compare thing flags (for the stuck things error checker)
//thingflagscompare
//{
// include("Eternity_misc.cfg", "thingflagscompare_udmf");
//}
//mxd. Thing flags UDMF translation table
// This is needed for copy/paste and prefabs to work properly
// When the UDMF field name is prefixed with ! it is inverted
thingflagstranslation
{
include("Doom_misc.cfg", "thingflagstranslation");
//include("Hexen_misc.cfg", "thingflagstranslation");
//include("ZDoom_misc.cfg", "thingflagstranslation");
}
// Things flags masks
//include("Hexen_misc.cfg", "thingflagsmasks");
// LINEDEF TYPES
//linedeftypes
//{
// include("Hexen_linedefs.cfg");
// include("Eternity_linedefs.cfg", "udmf");
//}
// Texture sources
textures
{
include("Doom_misc.cfg", "textures");
include("EdgeC_misc.cfg", "textures"); // works for Eternity too
}
//mxd. HiRes sources
hires
{
include("EdgeC_misc.cfg", "hires");
}
}
\ No newline at end of file
Edge_breakable_wall Edge_Stretch_Texture
{ {
title = "Edge: Breakable Wall"; title = "Edge: Stretch Texture by Line length";
835
{ 855
title = "Breakable Wall: midtex to back lower"; {
prefix = ""; title = "Stretch Textures Width";
} prefix = "";
requiresactivation = false;
836 }
{
title = "Breakable Wall: midtex to back upper"; 856
prefix = ""; {
} title = "Stretch Textures Height";
prefix = "";
837 requiresactivation = false;
{ }
title = "Breakable Wall: midtex to front lower";
prefix = ""; 857
} {
title = "Stretch Textures Width and Height";
838 prefix = "";
{ requiresactivation = false;
title = "Breakable Wall: midtex to front upper"; }
prefix = ""; }
}
Edge_lightwall
} {
title = "Edge: Light Wall";
Edge_breakable_glass
{ 850
title = "Edge: Breakable Glass"; {
830 title = "Light wall: transfer light to tagged";
{ prefix = "";
title = "Breakable Glass: monster can see through, can break"; requiresactivation = false;
prefix = ""; }
}
}
831
{ Edge_breakable_wall
title = "Breakable Glass: monster cannot see through, can break"; {
prefix = ""; title = "Edge: Breakable Wall";
} 835
{
832 title = "Breakable Wall: midtex to back lower";
{ prefix = "";
title = "Breakable Glass: monster cannot see through, cannot break"; requiresactivation = false;
prefix = ""; }
}
836
} {
title = "Breakable Wall: midtex to back upper";
Edge_extrafloors_thick prefix = "";
{ requiresactivation = false;
title = "Edge: Extrafloors(thick)"; }
281 837
{ {
title = "Legacy: Thick Extrafloor (dummy texture)"; title = "Breakable Wall: midtex to front lower";
prefix = ""; prefix = "";
} requiresactivation = false;
}
289
{ 838
title = "Legacy: Thick Extrafloor (dummy texture, master light props)"; {
prefix = ""; title = "Breakable Wall: midtex to front upper";
} prefix = "";
requiresactivation = false;
600 }
{
title = "Thick Extrafloor: Trans 40% (dummy texture)"; }
prefix = "";
} Edge_breakable_glass
{
400 title = "Edge: Breakable Glass";
{ 830
title = "Thick Extrafloor (dummy texture)"; {
prefix = ""; title = "Breakable Glass: monster can see through, can break";
} prefix = "";
requiresactivation = false;
401 }
{
title = "Thick Extrafloor (master upper texture)"; 831
prefix = ""; {
} title = "Breakable Glass: monster cannot see through, can break";
prefix = "";
402 requiresactivation = false;
{ }
title = "Thick Extrafloor (master lower texture)";
prefix = ""; 832
} {
430 title = "Breakable Glass: monster cannot see through, cannot break";
{ prefix = "";
title = "Thick Translucent Liquid Extrafloor Scroll Down (20% translucent)"; requiresactivation = false;
prefix = ""; }
}
}
431
{ Edge_extrafloors_thick
title = "Thick Translucent Liquid Extrafloor Scroll Down (40% translucent)"; {
prefix = ""; title = "Edge: Extrafloors(thick)";
}
281
432 {
{ title = "Legacy: Thick Extrafloor (dummy texture)";
title = "Thick Translucent Liquid Extrafloor Scroll Down (60% translucent)"; prefix = "";
prefix = ""; requiresactivation = false;
} }
433 289
{ {
title = "Thick Translucent Liquid Extrafloor Scroll Down (80% translucent)"; title = "Legacy: Thick Extrafloor (dummy texture, master light props)";
prefix = ""; prefix = "";
} requiresactivation = false;
}
}
600
Edge_extrafloors_liquid {
{ title = "Thick Extrafloor: Trans 40% (dummy texture)";
title = "Edge: Extrafloors(Liquid)"; prefix = "";
403 requiresactivation = false;
{ }
title = "Liquid Extrafloor (solid)";
prefix = ""; 400
} {
title = "Thick Extrafloor (dummy texture)";
404 prefix = "";
{ requiresactivation = false;
title = "Liquid Extrafloor (20% translucent)"; }
prefix = "";
} 401
{
405 title = "Thick Extrafloor (master upper texture)";
{ prefix = "";
title = "Liquid Extrafloor (40% translucent)"; requiresactivation = false;
prefix = ""; }
}
402
406 {
{ title = "Thick Extrafloor (master lower texture)";
title = "Liquid Extrafloor (60% translucent)"; prefix = "";
prefix = ""; requiresactivation = false;
} }
430
407 {
{ title = "Thick Translucent Liquid Extrafloor Scroll Down (20% translucent)";
title = "Liquid Extrafloor (80% translucent)"; prefix = "";
prefix = ""; requiresactivation = false;
} }
408 431
{ {
title = "Liquid Extrafloor (invisible)"; title = "Thick Translucent Liquid Extrafloor Scroll Down (40% translucent)";
prefix = ""; prefix = "";
} requiresactivation = false;
} }
Edge_translucent_linedef 432
{ {
title = "Edge: Translucent Linedef"; title = "Thick Translucent Liquid Extrafloor Scroll Down (60% translucent)";
409 prefix = "";
{ requiresactivation = false;
title = "Translucent Linedef (20%) least transparent"; }
prefix = "";
} 433
{
410 title = "Thick Translucent Liquid Extrafloor Scroll Down (80% translucent)";
{ prefix = "";
title = "Translucent Linedef (40%)"; requiresactivation = false;
prefix = ""; }
}
}
411
{ Edge_extrafloors_liquid
title = "Translucent Linedef (60%)"; {
prefix = ""; title = "Edge: Extrafloors(Liquid)";
} 403
{
412 title = "Liquid Extrafloor (solid)";
{ prefix = "";
title = "Translucent Linedef (80%) most transparent"; requiresactivation = false;
prefix = ""; }
}
} 404
{
Edge_extrafloors_thin title = "Liquid Extrafloor (20% translucent)";
{ prefix = "";
title = "Edge: Extrafloors(thin)"; requiresactivation = false;
413 }
{
title = "Thin Extrafloor (opaque)"; 405
prefix = ""; {
} title = "Liquid Extrafloor (40% translucent)";
prefix = "";
414 requiresactivation = false;
{ }
title = "Thin Extrafloor (20% translucent)";
prefix = ""; 406
} {
title = "Liquid Extrafloor (60% translucent)";
415 prefix = "";
{ requiresactivation = false;
title = "Thin Extrafloor (40% translucent)"; }
prefix = "";
} 407
{
416 title = "Liquid Extrafloor (80% translucent)";
{ prefix = "";
title = "Thin Extrafloor (60% translucent)"; requiresactivation = false;
prefix = ""; }
}
408
417 {
{ title = "Liquid Extrafloor (invisible)";
title = "Thin Extrafloor (80% translucent)"; prefix = "";
prefix = ""; requiresactivation = false;
} }
}
}
Edge_translucent_linedef
Edge_RTS_Enable {
{ title = "Edge: Translucent Linedef";
title = "Edge: Enable Tagged RTS"; 409
418 {
{ title = "Translucent Linedef (20%) least transparent";
title = "Enable Tagged RTS"; prefix = "";
prefix = "S1"; requiresactivation = false;
} }
419 410
{ {
title = "Enable Tagged RTS"; title = "Translucent Linedef (40%)";
prefix = "SR"; prefix = "";
} requiresactivation = false;
}
420
{ 411
title = "Enable Tagged RTS"; {
prefix = "W1"; title = "Translucent Linedef (60%)";
} prefix = "";
requiresactivation = false;
421 }
{
title = "Enable Tagged RTS"; 412
prefix = "WR"; {
} title = "Translucent Linedef (80%) most transparent";
440 prefix = "";
{ requiresactivation = false;
title = "Enable Tagged RTS"; }
prefix = "G1"; }
}
Edge_extrafloors_thin
441 {
{ title = "Edge: Extrafloors(thin)";
title = "Enable Tagged RTS"; 413
prefix = "GR"; {
} title = "Thin Extrafloor (opaque)";
454 prefix = "";
{ requiresactivation = false;
title = "Enable Tagged RTS (monster)"; }
prefix = "W1";
} 414
{
455 title = "Thin Extrafloor (20% translucent)";
{ prefix = "";
title = "Enable Tagged RTS (monster)"; requiresactivation = false;
prefix = "WR"; }
}
415
456 {
{ title = "Thin Extrafloor (40% translucent)";
title = "Enable Tagged RTS (Monster)"; prefix = "";
prefix = "GR"; requiresactivation = false;
} }
457 416
{ {
title = "Disable Tagged RTS"; title = "Thin Extrafloor (60% translucent)";
prefix = "SR"; prefix = "";
} requiresactivation = false;
}
458
{ 417
title = "Disable Tagged RTS"; {
prefix = "WR"; title = "Thin Extrafloor (80% translucent)";
} prefix = "";
requiresactivation = false;
459 }
{
title = "Disable Tagged RTS"; }
prefix = "GR";
} Edge_RTS_Enable
{
460 title = "Edge: Enable Tagged RTS";
{ 418
title = "Disable Tagged RTS (monster)"; {
prefix = "WR"; title = "Enable Tagged RTS";
} prefix = "S1";
}
461
{ 419
title = "Disable Tagged RTS (monster)"; {
prefix = "GR"; title = "Enable Tagged RTS";
} prefix = "SR";
} }
Edge_Scroller_lines 420
{ {
title = "Edge: Scroll Lines"; title = "Enable Tagged RTS";
422 prefix = "W1";
{ }
title = "Scroll Right";
prefix = ""; 421
} {
title = "Enable Tagged RTS";
423 prefix = "WR";
{ }
title = "Scroll Up"; 440
prefix = ""; {
} title = "Enable Tagged RTS";
prefix = "G1";
424 }
{
title = "Scroll Down"; 441
prefix = ""; {
} title = "Enable Tagged RTS";
prefix = "GR";
425 }
{ 454
title = "Scroll Left And Up"; {
prefix = ""; title = "Enable Tagged RTS (monster)";
} prefix = "W1";
}
426
{ 455
title = "Scroll Left And Down"; {
prefix = ""; title = "Enable Tagged RTS (monster)";
} prefix = "WR";
}
427
{ 456
title = "Scroll Right And Up"; {
prefix = ""; title = "Enable Tagged RTS (Monster)";
} prefix = "GR";
}
428
{ 457
title = "Scroll Right And Down"; {
prefix = ""; title = "Disable Tagged RTS";
} prefix = "SR";
}
429
{ 458
title = "Scroll Fast Lower And Middle Texture (liquid falls)"; {
prefix = ""; title = "Disable Tagged RTS";
} prefix = "WR";
}
}
459
Edge_Floor {
{ title = "Disable Tagged RTS";
title = "Edge: Floor"; prefix = "GR";
}
434
{ 460
title = "Raise Floor 2 Units (use for RTS Onheight events)"; {
prefix = "S1"; title = "Disable Tagged RTS (monster)";
} prefix = "WR";
}
435
{ 461
title = "Raise Floor 2 Units (use for RTS Onheight events)"; {
prefix = "SR"; title = "Disable Tagged RTS (monster)";
} prefix = "GR";
}
436 }
{
title = "Raise Floor 2 Units (use for RTS Onheight events)"; Edge_Scroller_lines
prefix = "W1"; {
} title = "Edge: Scroll Lines";
422
437 {
{ title = "Scroll Right";
title = "Raise Floor 2 Units (use for RTS Onheight events)"; prefix = "";
prefix = "WR"; requiresactivation = false;
} }
438 423
{ {
title = "Raise Floor 2 Units (use for RTS Onheight events)"; title = "Scroll Up";
prefix = "S1"; prefix = "";
} requiresactivation = false;
}
439
{ 424
title = "Raise Floor 2 Units (use for RTS Onheight events)"; {
prefix = "SR"; title = "Scroll Down";
} prefix = "";
} requiresactivation = false;
}
Edge_SlidingDoor
{ 425
title = "Edge: Sliding Door"; {
title = "Scroll Left And Up";
442 prefix = "";
{ requiresactivation = false;
title = "Sliding Door (left, monsters)"; }
prefix = "SR";
} 426
{
443 title = "Scroll Left And Down";
{ prefix = "";
title = "Sliding Door (left)"; requiresactivation = false;
prefix = "SR"; }
}
427
444 {
{ title = "Scroll Right And Up";
title = "Sliding Door (left, fast)"; prefix = "";
prefix = "SR"; requiresactivation = false;
} }
445 428
{ {
title = "Sliding Door (left)"; title = "Scroll Right And Down";
prefix = "S1"; prefix = "";
} requiresactivation = false;
}
446
{ 429
title = "Sliding Door (right, monsters)"; {
prefix = "SR"; title = "Scroll Fast Lower And Middle Texture (liquid falls)";
} prefix = "";
requiresactivation = false;
447 }
{
title = "Sliding Door (right)"; }
prefix = "SR";
} Edge_Floor
{
448 title = "Edge: Floor";
{
title = "Sliding Door (right, fast)"; 434
prefix = "SR"; {
} title = "Raise Floor 2 Units (use for RTS Onheight events)";
prefix = "S1";
449 }
{
title = "Sliding Door (right)"; 435
prefix = "S1"; {
} title = "Raise Floor 2 Units (use for RTS Onheight events)";
prefix = "SR";
450 }
{
title = "Sliding Door (center, monsters)"; 436
prefix = "SR"; {
} title = "Raise Floor 2 Units (use for RTS Onheight events)";
prefix = "W1";
451 }
{
title = "Sliding Door (center)"; 437
prefix = "SR"; {
} title = "Raise Floor 2 Units (use for RTS Onheight events)";
prefix = "WR";
452 }
{
title = "Sliding Door (center, fast)"; 438
prefix = "SR"; {
} title = "Raise Floor 2 Units (use for RTS Onheight events)";
prefix = "S1";
453 }
{
title = "Sliding Door (center)"; 439
prefix = "S1"; {
} title = "Raise Floor 2 Units (use for RTS Onheight events)";
542 prefix = "SR";
{ }
title = "Remote Slider (LEFT), MONSTERS"; }
prefix = "SR";
} Edge_SlidingDoor
{
543 title = "Edge: Sliding Door";
{
title = "Remote Slider (LEFT)"; 442
prefix = "SR"; {
} title = "Sliding Door (left, monsters)";
prefix = "SR";
544 }
{
title = "Remote Slider (LEFT) FAST"; 443
prefix = "SR"; {
} title = "Sliding Door (left)";
prefix = "SR";
545 }
{
title = "Remote Slider (LEFT)"; 444
prefix = "S1"; {
} title = "Sliding Door (left, fast)";
prefix = "SR";
546 }
{
title = "Remote Slider (RIGHT), MONSTERS"; 445
prefix = "SR"; {
} title = "Sliding Door (left)";
prefix = "S1";
547 }
{
title = "Remote Slider (RIGHT)"; 446
prefix = "SR"; {
} title = "Sliding Door (right, monsters)";
prefix = "SR";
548 }
{
title = "Remote Slider (RIGHT) FAST"; 447
prefix = "SR"; {
} title = "Sliding Door (right)";
prefix = "SR";
549 }
{
title = "Remote Slider (RIGHT)"; 448
prefix = "S1"; {
} title = "Sliding Door (right, fast)";
prefix = "SR";
550 }
{
title = "Remote Slider (CENTER), MONSTERS"; 449
prefix = "SR"; {
} title = "Sliding Door (right)";
prefix = "S1";
551 }
{
title = "Remote Slider (CENTER)"; 450
prefix = "SR"; {
} title = "Sliding Door (center, monsters)";
prefix = "SR";
552 }
{
title = "Remote Slider (CENTER) FAST"; 451
prefix = "SR"; {
} title = "Sliding Door (center)";
prefix = "SR";
553 }
{
title = "Remote Slider (CENTER)"; 452
prefix = "S1"; {
} title = "Sliding Door (center, fast)";
prefix = "SR";
554 }
{
title = "Remote Slider (LEFT)"; 453
prefix = "WR"; {
} title = "Sliding Door (center)";
prefix = "S1";
555 }
{ 542
title = "Remote Slider (LEFT) FAST"; {
prefix = "WR"; title = "Remote Slider (LEFT), MONSTERS";
} prefix = "SR";
}
556
{ 543
title = "Remote Slider (RIGHT)"; {
prefix = "WR"; title = "Remote Slider (LEFT)";
} prefix = "SR";
}
557
{ 544
title = "Remote Slider (RIGHT) FAST"; {
prefix = "WR"; title = "Remote Slider (LEFT) FAST";
} prefix = "SR";
}
558
{ 545
title = "Remote Slider (CENTER)"; {
prefix = "WR"; title = "Remote Slider (LEFT)";
} prefix = "S1";
}
559
{ 546
title = "Remote Slider (CENTER) FAST"; {
prefix = "WR"; title = "Remote Slider (RIGHT), MONSTERS";
} prefix = "SR";
} }
Edge_Mirror 547
{ {
title = "Edge: Mirrors"; title = "Remote Slider (RIGHT)";
prefix = "SR";
}
462
{ 548
title = "Mirror, Plain"; {
prefix = ""; title = "Remote Slider (RIGHT) FAST";
} prefix = "SR";
}
463
{ 549
title = "Mirror, White"; {
prefix = ""; title = "Remote Slider (RIGHT)";
} prefix = "S1";
}
464
{ 550
title = "Mirror, Blue"; {
prefix = ""; title = "Remote Slider (CENTER), MONSTERS";
} prefix = "SR";
}
465
{ 551
title = "Mirror, Red"; {
prefix = ""; title = "Remote Slider (CENTER)";
} prefix = "SR";
}
466
{ 552
title = "Mirror, Green"; {
prefix = ""; title = "Remote Slider (CENTER) FAST";
} prefix = "SR";
} }
Edge_ladder 553
{ {
title = "Edge: Ladders"; title = "Remote Slider (CENTER)";
470 prefix = "S1";
{ }
title = "Ladder, 48 units high";
prefix = ""; 554
} {
title = "Remote Slider (LEFT)";
471 prefix = "WR";
{ }
title = "Ladder, 80 units high";
prefix = ""; 555
} {
title = "Remote Slider (LEFT) FAST";
472 prefix = "WR";
{ }
title = "Ladder, 120 units high";
prefix = ""; 556
} {
title = "Remote Slider (RIGHT)";
473 prefix = "WR";
{ }
title = "Ladder, 160 units high";
prefix = ""; 557
} {
title = "Remote Slider (RIGHT) FAST";
474 prefix = "WR";
{ }
title = "Ladder, 192 units high";
prefix = ""; 558
} {
title = "Remote Slider (CENTER)";
475 prefix = "WR";
{ }
title = "Ladder, 256 units high";
prefix = ""; 559
} {
title = "Remote Slider (CENTER) FAST";
476 prefix = "WR";
{ }
title = "Ladder, 384 units high"; }
prefix = "";
} Edge_Mirror
{
477 title = "Edge: Mirrors";
{
title = "Ladder, 512 units high";
prefix = ""; 462
} {
title = "Mirror, Plain";
478 prefix = "";
{ requiresactivation = false;
title = "Ladder, 768 units high"; }
prefix = "";
} 463
{
479 title = "Mirror, White";
{ prefix = "";
title = "Ladder, no limit(9999)"; requiresactivation = false;
prefix = ""; }
}
} 464
Edge_portals {
{ title = "Mirror, Blue";
title = "Edge: Portals"; prefix = "";
480 requiresactivation = false;
{ }
title = "Portal, 20% Translucent";
prefix = ""; 465
} {
title = "Mirror, Red";
481 prefix = "";
{ requiresactivation = false;
title = "Portal, 30% Translucent"; }
prefix = "";
} 466
{
482 title = "Mirror, Green";
{ prefix = "";
title = "Portal, 40% Translucent"; requiresactivation = false;
prefix = ""; }
} }
483 Edge_ladder
{ {
title = "Portal, Blue 40%"; title = "Edge: Ladders";
prefix = ""; 470
} {
title = "Ladder, 48 units high";
484 prefix = "";
{ }
title = "Portal, Green 30%";
prefix = ""; 471
} {
title = "Ladder, 80 units high";
485 prefix = "";
{ }
title = "Camera Portal, Plain";
prefix = ""; 472
} {
title = "Ladder, 120 units high";
486 prefix = "";
{ }
title = "Camera Portal, White";
prefix = ""; 473
} {
title = "Ladder, 160 units high";
487 prefix = "";
{ }
title = "Camera Portal, Cyan";
prefix = ""; 474
} {
title = "Ladder, 192 units high";
488 prefix = "";
{ }
title = "Camera Portal, Rusty";
prefix = ""; 475
} {
title = "Ladder, 256 units high";
489 prefix = "";
{ }
title = "Camera Portal, Green";
prefix = ""; 476
} {
} title = "Ladder, 384 units high";
Edge_doors prefix = "";
{ }
title = "Edge: Doors";
490 477
{ {
title = "Green Key MANUAL DOOR"; title = "Ladder, 512 units high";
prefix = "SR"; prefix = "";
} }
491 478
{ {
title = "Green Key MANUAL DOOR"; title = "Ladder, 768 units high";
prefix = "S1"; prefix = "";
} }
492 479
{ {
title = "Green Key TAGGED DOOR"; title = "Ladder, no limit(9999)";
prefix = "SR"; prefix = "";
} }
}
493 Edge_portals
{ {
title = "Green Key TAGGED DOOR"; title = "Edge: Portals";
prefix = "S1"; 480
} {
title = "Portal, 20% Translucent";
494 prefix = "";
{ }
title = "Green Key BLAZING DOOR";
prefix = "S1"; 481
} {
580 title = "Portal, 30% Translucent";
{ prefix = "";
title = "Gold Key MANUAL DOOR"; }
prefix = "SR";
} 482
{
581 title = "Portal, 40% Translucent";
{ prefix = "";
title = "Gold Key MANUAL DOOR"; }
prefix = "S1";
} 483
{
582 title = "Portal, Blue 40%";
{ prefix = "";
title = "Gold Key TAGGED DOOR"; }
prefix = "SR";
} 484
{
583 title = "Portal, Green 30%";
{ prefix = "";
title = "Gold Key TAGGED DOOR"; }
prefix = "S1";
} 485
{
584 title = "Camera Portal, Plain";
{ prefix = "";
title = "Silver Key MANUAL DOOR"; requiresactivation = false;
prefix = "SR"; }
}
486
585 {
{ title = "Camera Portal, White";
title = "Silver Key MANUAL DOOR"; prefix = "";
prefix = "S1"; requiresactivation = false;
} }
586 487
{ {
title = "Silver Key TAGGED DOOR"; title = "Camera Portal, Cyan";
prefix = "SR"; prefix = "";
} requiresactivation = false;
}
587
{ 488
title = "Silver Key TAGGED DOOR"; {
prefix = "S1"; title = "Camera Portal, Rusty";
} prefix = "";
requiresactivation = false;
588 }
{
title = "Brass Key MANUAL DOOR"; 489
prefix = "SR"; {
} title = "Camera Portal, Green";
prefix = "";
589 requiresactivation = false;
{ }
title = "Brass Key MANUAL DOOR"; }
prefix = "S1"; Edge_doors
} {
title = "Edge: Doors";
590 490
{ {
title = "Copper Key MANUAL DOOR"; title = "Green Key MANUAL DOOR";
prefix = "SR"; prefix = "SR";
} }
591 491
{ {
title = "Copper Key MANUAL DOOR"; title = "Green Key MANUAL DOOR";
prefix = "S1"; prefix = "S1";
} }
592 492
{ {
title = "Steel Key MANUAL DOOR"; title = "Green Key TAGGED DOOR";
prefix = "SR"; prefix = "SR";
} }
593 493
{ {
title = "Steel Key MANUAL DOOR"; title = "Green Key TAGGED DOOR";
prefix = "S1"; prefix = "S1";
} }
594 494
{ {
title = "Wooden Key MANUAL DOOR"; title = "Green Key BLAZING DOOR";
prefix = "SR"; prefix = "S1";
} }
580
595 {
{ title = "Gold Key MANUAL DOOR";
title = "Wooden Key MANUAL DOOR"; prefix = "SR";
prefix = "S1"; }
}
581
596 {
{ title = "Gold Key MANUAL DOOR";
title = "Fire Key MANUAL DOOR"; prefix = "S1";
prefix = "SR"; }
}
582
597 {
{ title = "Gold Key TAGGED DOOR";
title = "Fire Key MANUAL DOOR"; prefix = "SR";
prefix = "S1"; }
}
583
598 {
{ title = "Gold Key TAGGED DOOR";
title = "Water Key MANUAL DOOR"; prefix = "S1";
prefix = "SR"; }
}
584
599 {
{ title = "Silver Key MANUAL DOOR";
title = "Water Key MANUAL DOOR"; prefix = "SR";
prefix = "S1"; }
}
} 585
Edge_HUB {
{ title = "Silver Key MANUAL DOOR";
title = "Edge: HUB Exits"; prefix = "S1";
501 }
{
title = "Hub Exit to MAP01 / E1M1"; 586
prefix = "W1"; {
} title = "Silver Key TAGGED DOOR";
prefix = "SR";
502 }
{
title = "Hub Exit to MAP02 / E1M2"; 587
prefix = "W1"; {
} title = "Silver Key TAGGED DOOR";
prefix = "S1";
503 }
{
title = "Hub Exit to MAP03 / E1M3"; 588
prefix = "W1"; {
} title = "Brass Key MANUAL DOOR";
prefix = "SR";
504 }
{
title = "Hub Exit to MAP04 / E1M4"; 589
prefix = "W1"; {
} title = "Brass Key MANUAL DOOR";
prefix = "S1";
505 }
{
title = "Hub Exit to MAP05 / E1M5"; 590
prefix = "W1"; {
} title = "Copper Key MANUAL DOOR";
prefix = "SR";
506 }
{
title = "Hub Exit to MAP06 / E1M6"; 591
prefix = "W1"; {
} title = "Copper Key MANUAL DOOR";
prefix = "S1";
507 }
{
title = "Hub Exit to MAP07 / E1M7"; 592
prefix = "W1"; {
} title = "Steel Key MANUAL DOOR";
prefix = "SR";
508 }
{
title = "Hub Exit to MAP08 / E1M8"; 593
prefix = "W1"; {
} title = "Steel Key MANUAL DOOR";
prefix = "S1";
509 }
{
title = "Hub Exit to MAP09 / E1M9"; 594
prefix = "W1"; {
} title = "Wooden Key MANUAL DOOR";
prefix = "SR";
510 }
{
title = "Hub Exit to MAP10"; 595
prefix = "W1"; {
} title = "Wooden Key MANUAL DOOR";
prefix = "S1";
511 }
{
title = "Hub Exit to MAP11 / E2M1"; 596
prefix = "W1"; {
} title = "Fire Key MANUAL DOOR";
prefix = "SR";
512 }
{
title = "Hub Exit to MAP12 / E2M2"; 597
prefix = "W1"; {
} title = "Fire Key MANUAL DOOR";
prefix = "S1";
513 }
{
title = "Hub Exit to MAP13 / E2M3"; 598
prefix = "W1"; {
} title = "Water Key MANUAL DOOR";
prefix = "SR";
514 }
{
title = "Hub Exit to MAP14 / E2M4"; 599
prefix = "W1"; {
} title = "Water Key MANUAL DOOR";
prefix = "S1";
515 }
{ }
title = "Hub Exit to MAP15 / E2M5";
prefix = "W1"; Edge_HUB
} {
title = "Edge: HUB Exits";
516 501
{ {
title = "Hub Exit to MAP16 / E2M6"; title = "Hub Exit to MAP01 / E1M1";
prefix = "W1"; prefix = "W1";
} }
517 502
{ {
title = "Hub Exit to MAP17 / E2M7"; title = "Hub Exit to MAP02 / E1M2";
prefix = "W1"; prefix = "W1";
} }
518 503
{ {
title = "Hub Exit to MAP18 / E2M8"; title = "Hub Exit to MAP03 / E1M3";
prefix = "W1"; prefix = "W1";
} }
519 504
{ {
title = "Hub Exit to MAP19 / E2M9"; title = "Hub Exit to MAP04 / E1M4";
prefix = "W1"; prefix = "W1";
} }
520 505
{ {
title = "Hub Exit to MAP20"; title = "Hub Exit to MAP05 / E1M5";
prefix = "W1"; prefix = "W1";
} }
521 506
{ {
title = "Hub Exit to MAP21 / E3M1"; title = "Hub Exit to MAP06 / E1M6";
prefix = "W1"; prefix = "W1";
} }
522 507
{ {
title = "Hub Exit to MAP22 / E3M2"; title = "Hub Exit to MAP07 / E1M7";
prefix = "W1"; prefix = "W1";
} }
523 508
{ {
title = "Hub Exit to MAP23 / E3M3"; title = "Hub Exit to MAP08 / E1M8";
prefix = "W1"; prefix = "W1";
} }
524 509
{ {
title = "Hub Exit to MAP24 / E3M4"; title = "Hub Exit to MAP09 / E1M9";
prefix = "W1"; prefix = "W1";
} }
525 510
{ {
title = "Hub Exit to MAP25 / E3M5"; title = "Hub Exit to MAP10";
prefix = "W1"; prefix = "W1";
} }
526 511
{ {
title = "Hub Exit to MAP26 / E3M6"; title = "Hub Exit to MAP11 / E2M1";
prefix = "W1"; prefix = "W1";
} }
527 512
{ {
title = "Hub Exit to MAP27 / E3M7"; title = "Hub Exit to MAP12 / E2M2";
prefix = "W1"; prefix = "W1";
} }
528 513
{ {
title = "Hub Exit to MAP28 / E3M8"; title = "Hub Exit to MAP13 / E2M3";
prefix = "W1"; prefix = "W1";
} }
529 514
{ {
title = "Hub Exit to MAP29 / E3M9"; title = "Hub Exit to MAP14 / E2M4";
prefix = "W1"; prefix = "W1";
} }
530 515
{ {
title = "Hub Exit to MAP30"; title = "Hub Exit to MAP15 / E2M5";
prefix = "W1"; prefix = "W1";
} }
531 516
{ {
title = "Hub Exit to MAP31 / E4M1"; title = "Hub Exit to MAP16 / E2M6";
prefix = "W1"; prefix = "W1";
} }
532 517
{ {
title = "Hub Exit to MAP32 / E4M2"; title = "Hub Exit to MAP17 / E2M7";
prefix = "W1"; prefix = "W1";
} }
533 518
{ {
title = "Hub Exit to MAP33 / E4M3"; title = "Hub Exit to MAP18 / E2M8";
prefix = "W1"; prefix = "W1";
} }
534 519
{ {
title = "Hub Exit to MAP34 / E4M4"; title = "Hub Exit to MAP19 / E2M9";
prefix = "W1"; prefix = "W1";
} }
535 520
{ {
title = "Hub Exit to MAP35 / E4M5"; title = "Hub Exit to MAP20";
prefix = "W1"; prefix = "W1";
} }
536 521
{ {
title = "Hub Exit to MAP36 / E4M6"; title = "Hub Exit to MAP21 / E3M1";
prefix = "W1"; prefix = "W1";
} }
537 522
{ {
title = "Hub Exit to MAP37 / E4M7"; title = "Hub Exit to MAP22 / E3M2";
prefix = "W1"; prefix = "W1";
} }
538 523
{ {
title = "Hub Exit to MAP38 / E4M8"; title = "Hub Exit to MAP23 / E3M3";
prefix = "W1"; prefix = "W1";
} }
539 524
{ {
title = "Hub Exit to MAP39 / E4M9"; title = "Hub Exit to MAP24 / E3M4";
prefix = "W1"; prefix = "W1";
} }
}
Edge_slopes 525
{ {
title = "Edge: Slopes"; title = "Hub Exit to MAP25 / E3M5";
prefix = "W1";
}
567
{ 526
title = "Detail Slope : FLOOR"; {
prefix = ""; title = "Hub Exit to MAP26 / E3M6";
} prefix = "W1";
}
568
{ 527
title = "Detail Slope : CEILING"; {
prefix = ""; title = "Hub Exit to MAP27 / E3M7";
} prefix = "W1";
}
569
{ 528
title = "Detail Slope : FLOOR+CEILING"; {
prefix = ""; title = "Hub Exit to MAP28 / E3M8";
} prefix = "W1";
} }
Edge_alignflats 529
{ {
title = "Edge: Flats"; title = "Hub Exit to MAP29 / E3M9";
prefix = "W1";
800 }
{
title = "Align and rotate front sector's FLOOR"; 530
prefix = ""; {
} title = "Hub Exit to MAP30";
prefix = "W1";
801 }
{
title = "Align and rotate back sector's FLOOR"; 531
prefix = ""; {
} title = "Hub Exit to MAP31 / E4M1";
prefix = "W1";
802 }
{
title = "Align and rotate front sector's CEILING"; 532
prefix = ""; {
} title = "Hub Exit to MAP32 / E4M2";
prefix = "W1";
803 }
{
title = "Align and rotate back sector's CEILING"; 533
prefix = ""; {
} title = "Hub Exit to MAP33 / E4M3";
prefix = "W1";
804 }
{
title = "Align and rotate front sector's FLOOR+CEILING"; 534
prefix = ""; {
} title = "Hub Exit to MAP34 / E4M4";
prefix = "W1";
805 }
{
title = "Align and rotate back sector's FLOOR+CEILING"; 535
prefix = ""; {
} title = "Hub Exit to MAP35 / E4M5";
prefix = "W1";
810 }
{
title = "Align, scale and rotate front sector's FLOOR"; 536
prefix = ""; {
} title = "Hub Exit to MAP36 / E4M6";
prefix = "W1";
811 }
{
title = "Align, scale and rotate back sector's FLOOR"; 537
prefix = ""; {
} title = "Hub Exit to MAP37 / E4M7";
prefix = "W1";
812 }
{
title = "Align, scale and rotate front sector's CEILING"; 538
prefix = ""; {
} title = "Hub Exit to MAP38 / E4M8";
prefix = "W1";
813 }
{
title = "Align, scale and rotate back sector's CEILING"; 539
prefix = ""; {
} title = "Hub Exit to MAP39 / E4M9";
prefix = "W1";
814 }
{ }
title = "Align, scale and rotate front sector's FLOOR+CEILING"; Edge_slopes
prefix = ""; {
} title = "Edge: Slopes";
815
{ 567
title = "Align, scale and rotate back sector's FLOOR+CEILING"; {
prefix = ""; title = "Detail Slope : FLOOR";
} prefix = "";
requiresactivation = false;
820 }
{
title = "Scale front sector's FLOOR"; 568
prefix = ""; {
} title = "Detail Slope : CEILING";
prefix = "";
821 requiresactivation = false;
{ }
title = "Scale back sector's FLOOR";
prefix = ""; 569
} {
title = "Detail Slope : FLOOR+CEILING";
822 prefix = "";
{ requiresactivation = false;
title = "Scale front sector's CEILING"; }
prefix = ""; }
}
Edge_alignflats
823 {
{ title = "Edge: Flats";
title = "Scale back sector's CEILING";
prefix = ""; 800
} {
title = "Align and rotate front sector's FLOOR";
824 prefix = "";
{ requiresactivation = false;
title = "Scale front sector's FLOOR+CEILING"; }
prefix = "";
} 801
{
825 title = "Align and rotate back sector's FLOOR";
{ prefix = "";
title = "Scale back sector's FLOOR+CEILING"; requiresactivation = false;
prefix = ""; }
}
802
{
} title = "Align and rotate front sector's CEILING";
prefix = "";
requiresactivation = false;
}
803
{
title = "Align and rotate back sector's CEILING";
prefix = "";
requiresactivation = false;
}
804
{
title = "Align and rotate front sector's FLOOR+CEILING";
prefix = "";
requiresactivation = false;
}
805
{
title = "Align and rotate back sector's FLOOR+CEILING";
prefix = "";
requiresactivation = false;
}
810
{
title = "Align, scale and rotate front sector's FLOOR";
prefix = "";
requiresactivation = false;
}
811
{
title = "Align, scale and rotate back sector's FLOOR";
prefix = "";
requiresactivation = false;
}
812
{
title = "Align, scale and rotate front sector's CEILING";
prefix = "";
requiresactivation = false;
}
813
{
title = "Align, scale and rotate back sector's CEILING";
prefix = "";
requiresactivation = false;
}
814
{
title = "Align, scale and rotate front sector's FLOOR+CEILING";
prefix = "";
requiresactivation = false;
}
815
{
title = "Align, scale and rotate back sector's FLOOR+CEILING";
prefix = "";
requiresactivation = false;
}
820
{
title = "Scale front sector's FLOOR";
prefix = "";
requiresactivation = false;
}
821
{
title = "Scale back sector's FLOOR";
prefix = "";
requiresactivation = false;
}
822
{
title = "Scale front sector's CEILING";
prefix = "";
requiresactivation = false;
}
823
{
title = "Scale back sector's CEILING";
prefix = "";
requiresactivation = false;
}
824
{
title = "Scale front sector's FLOOR+CEILING";
prefix = "";
requiresactivation = false;
}
825
{
title = "Scale back sector's FLOOR+CEILING";
prefix = "";
requiresactivation = false;
}
}
// Texture loading options
mixtexturesflats = true;
defaulttexturescale = 1.0f;
defaultflatscale = 1.0f;
linedefflags linedefflags
{ {
...@@ -16,8 +12,6 @@ linedefflagtooltips ...@@ -16,8 +12,6 @@ linedefflagtooltips
} }
// Linedef flags UDMF translation table // Linedef flags UDMF translation table
// This is needed for copy/paste and prefabs to work properly // This is needed for copy/paste and prefabs to work properly
// When the UDMF field name is prefixed with ! it is inverted // When the UDMF field name is prefixed with ! it is inverted
...@@ -27,35 +21,6 @@ linedefflagstranslation ...@@ -27,35 +21,6 @@ linedefflagstranslation
} }
linedefflags_udmf
{
blocking = "Impassable";
blockmonsters = "Block monster";
twosided = "Doublesided";
dontpegtop = "Upper unpegged";
dontpegbottom = "Lower unpegged";
secret = "Secret";
blocksound = "Block sound";
dontdraw = "Hidden";
mapped = "Shown";
passuse = "PassThru";
}
linedefflagtooltips_udmf
{
blocking = "If set on a 2-sided linedef, the linedef blocks players and monsters from being able to move through it. \nThis is typically used for mid-textured cage bars.\nBy convention, most doom-related software sets it for 1-sided lines by default because the\nid Software maps did, but it doesn't actually do anything.";
blockmonsters = "If set, blocks only monster movement.\n(in addition to whatever existing blocking properties it would have).";
twosided = "If set, then it has 2 sidedefs and acts as a connection between two sectors.";
dontpegtop = "If set:\nIf the linedef is 2-sided, the upper texture starts at the height of the higher ceiling.\nIf not set: and the linedef is 2-sided, the upper texture starts at the lower ceiling instead.\nIf the linedef is 1-sided, this does nothing.";
dontpegbottom = "If set: If the linedef is 2-sided, the lower texture starts at the height of the higher ceiling.\nIf not set: and the linedef is 2-sided, the upper texture starts at the higher floor instead.\nIf the linedef is 1-sided, this makes the mid texture start at floor instead of the ceiling.\nYou probably want to use this for door tracks if you don't want them to move with the door.";
secret = "If set, this flag prevents it from being marked as a switch or a door on the automap.";
blocksound = "If set, this linedef will partially block monster-waking sound from passing into the sector on the other side of it.\nNote that a sound must try to pass through two of these lines before being blocked.\nThis does not block the actual audio that the player hears at all, it is only for the monster AI.\nThis does nothing for 1-sided linedefs.";
dontdraw = "If set, this line is not shown on the automap even if you are looking directly at it";
mapped = "If set, this line is always revealed on the automap even if you haven't actually visited the area.";
passuse = "Normally, if you try to pull a switch or use a door, then players are only able to activate\nthe closest linedef with a special. When PassThru is set, your use reaches\nthrough and allows players to activate both this line and whatever is behind this\nline.\nThis does nothing for 1-sided lines because they always block use actions.\n\nNote that if someone plays your map on ZDoom-derived ports like GZDoom or Zandronum,\nthen PassThru will be true for walkover specials & scrollers even when this flag\nis not set, unless you set 'compat_useblocking' in MAPINFO.";
}
thingflags thingflags
{ {
...@@ -66,35 +31,6 @@ thingflags ...@@ -66,35 +31,6 @@ thingflags
} }
thingflags_udmf
{
skill1 = "Skill 1";
skill2 = "Skill 2";
skill3 = "Skill 3";
skill4 = "Skill 4";
skill5 = "Skill 5";
ambush = "Ambush";
single = "Singleplayer";
dm = "Deathmatch";
coop = "Cooperative";
friend = "Friendly";
}
thingflagtooltips_udmf
{
skill1 = "If set, this actor appears on 'I'm Too Young To Die' difficulty.";
skill2 = "If set, this actor appears on 'Hey, Not Too Rough' difficulty.";
skill3 = "If set, this actor appears on 'Hurt Me Plenty' difficulty.";
skill4 = "If set, this actor appears on 'Ultraviolence' difficulty.";
skill5 = "If set, this actor appears on 'Nightmare' difficulty.";
ambush = "If set, this actor does not wake up if it hears the player until the player comes within field of view\n(even if the actor is facing the away from the player).";
single = "If not set, the actor does not appear in singleplayer modes.";
dm = "If not set, the actor does not appear in deathmatch modes.";
coop = "If not set, the actor does not appear in co-op modes.";
friend = "If set, the actor is friendly to the player.\nIf it is a monster, it will attack other players.";
}
// Thing flags UDMF translation table // Thing flags UDMF translation table
// This is needed for copy/paste and prefabs to work properly // This is needed for copy/paste and prefabs to work properly
...@@ -116,17 +52,7 @@ defaultthingflags ...@@ -116,17 +52,7 @@ defaultthingflags
} }
defaultthingflags_udmf
{
skill1;
skill2;
skill3;
skill4;
skill5;
single;
coop;
dm;
}
// Default sector brightness levels // Default sector brightness levels
...@@ -169,125 +95,552 @@ hires ...@@ -169,125 +95,552 @@ hires
/* // ***********************************************************
ADDITIONAL UNIVERSAL DOOM MAP FORMAT FIELD DEFINITIONS // * *
See Documents\fielddatatypes.txt for informtion on the types. // * Doom map format *
*/ // * *
universalfields // ***********************************************************
mapformat_doom
{ {
linedef // The format interface handles the map data format
formatinterface = "DoomMapSetIO";
maplumpnames
{ {
comment include("Doom_misc.cfg", "doommaplumpnames");
{ include("Boom_misc.cfg", "boommaplumpnames");
type = 2;
default = "";
}
} }
sidedef
// Enables support for individual offsets of upper/middle/lower sidedef textures
localsidedeftextureoffsets = false;
// Default flags for first new thing
defaultthingflags
{ {
comment include("Doom_misc.cfg", "defaultthingflags");
{
type = 2;
default = "";
}
} }
thing
// LINEDEF FLAGS
linedefflags
{ {
comment include("Doom_misc.cfg", "linedefflags");
{ include("Boom_misc.cfg", "linedefflags");
type = 2;
default = "";
}
} }
sector // LINEDEF ACTIVATIONS
linedefactivations
{ {
comment
{
type = 2;
default = "";
}
} }
}
// Linedef flags UDMF translation table
// This is needed for copy/paste and prefabs to work properly
// When the UDMF field name is prefixed with ! it is inverted
linedefflagstranslation
{
include("Doom_misc.cfg", "linedefflagstranslation");
include("Boom_misc.cfg", "linedefflagstranslation");
}
/*
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.
*/
doommaplumpnames // THING FLAGS
{ thingflags
REJECT {
include("Doom_misc.cfg", "thingflags");
include("Boom_misc.cfg", "thingflags");
}
// 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
{ {
allowempty = true; include("Doom_misc.cfg", "thingflagstranslation");
include("Boom_misc.cfg", "thingflagstranslation");
} }
// How to compare thing flags (for the stuck things error checker)
thingflagscompare
{
include("Doom_misc.cfg", "thingflagscompare");
include("Boom_misc.cfg", "thingflagscompare");
}
// Things flags masks
include("Doom_misc.cfg", "thingflagsmasks");
} }
udmfmaplumpnames // ***********************************************************
// * *
// * Text map format *
// * *
// ***********************************************************
mapformat_udmf
{ {
BEHAVIOR // The format interface handles the map data format
formatinterface = "UniversalMapSetIO";
// Enables support for long (> 8 chars) texture names
// WARNING: this should only be enabled for UDMF game configurations!
// WARNING: enabling this will make maps incompatible with Doom Builder 2 and can lead to problems in Slade 3!
longtexturenames = false;
// Enables support for individual offsets of upper/middle/lower sidedef textures
localsidedeftextureoffsets = true;
// Enables setting brightness for floor, ceiling, and walls independently from each other
distinctfloorandceilingbrightness = false;
distinctwallbrightness = false;
// Enabled setting brightness for upper, middle, and lower sidedef independently from each other
distinctsidedefpartbrightness = false;
//engine = "edge-classic"; // override that so that DB2 uses the correct namespace
maplumpnames
{ {
required = false; include("UDMF_misc.cfg", "udmfmaplumpnames_begin");
nodebuild = false; include("UDMF_misc.cfg", "udmfmaplumpnames_end");
blindcopy = true;
} }
DIALOGUE
linedefflags
{ {
required = false; blocking = "Impassable";
nodebuild = false; blockmonsters = "Block monster";
script = "ZDoom_USDF.cfg"; twosided = "Doublesided";
dontpegtop = "Upper unpegged";
dontpegbottom = "Lower unpegged";
secret = "Secret";
blocksound = "Block sound";
dontdraw = "Hidden";
mapped = "Shown";
passuse = "PassThru";
blockplayers = "Block players";
blocksight = "Block monster line of sight";
} }
ZNODES linedefflagtooltips
{ {
required = false; blocking = "If set on a 2-sided linedef, the linedef blocks players and monsters from being able to move through it. \nThis is typically used for mid-textured cage bars.\nBy convention, most doom-related software sets it for 1-sided lines by default because the\nid Software maps did, but it doesn't actually do anything.";
nodebuild = true; blockmonsters = "If set, blocks only monster movement.\n(in addition to whatever existing blocking properties it would have).";
allowempty = false; twosided = "If set, then it has 2 sidedefs and acts as a connection between two sectors.";
dontpegtop = "If set:\nIf the linedef is 2-sided, the upper texture starts at the height of the higher ceiling.\nIf not set: and the linedef is 2-sided, the upper texture starts at the lower ceiling instead.\nIf the linedef is 1-sided, this does nothing.";
dontpegbottom = "If set: If the linedef is 2-sided, the lower texture starts at the height of the higher ceiling.\nIf not set: and the linedef is 2-sided, the upper texture starts at the higher floor instead.\nIf the linedef is 1-sided, this makes the mid texture start at floor instead of the ceiling.\nYou probably want to use this for door tracks if you don't want them to move with the door.";
secret = "If set, this flag prevents it from being marked as a switch or a door on the automap.";
blocksound = "If set, this linedef will partially block monster-waking sound from passing into the sector on the other side of it.\nNote that a sound must try to pass through two of these lines before being blocked.\nThis does not block the actual audio that the player hears at all, it is only for the monster AI.\nThis does nothing for 1-sided linedefs.";
dontdraw = "If set, this line is not shown on the automap even if you are looking directly at it";
mapped = "If set, this line is always revealed on the automap even if you haven't actually visited the area.";
passuse = "Normally, if you try to pull a switch or use a door, then players are only able to activate\nthe closest linedef with a special. When PassThru is set, your use reaches\nthrough and allows players to activate both this line and whatever is behind this\nline.\nThis does nothing for 1-sided lines because they always block use actions.\n\nNote that if someone plays your map on ZDoom-derived ports like GZDoom or Zandronum,\nthen PassThru will be true for walkover specials & scrollers even when this flag\nis not set, unless you set 'compat_useblocking' in MAPINFO.";
} }
BLOCKMAP thingflags
{
skill1 = "Skill 1";
skill2 = "Skill 2";
skill3 = "Skill 3";
skill4 = "Skill 4";
skill5 = "Skill 5";
ambush = "Ambush";
single = "Singleplayer";
dm = "Deathmatch";
coop = "Cooperative";
friend = "Friendly";
}
thingflagtooltips
{ {
required = false; skill1 = "If set, this actor appears on 'I'm Too Young To Die' difficulty.";
nodebuild = true; skill2 = "If set, this actor appears on 'Hey, Not Too Rough' difficulty.";
allowempty = true; skill3 = "If set, this actor appears on 'Hurt Me Plenty' difficulty.";
skill4 = "If set, this actor appears on 'Ultraviolence' difficulty.";
skill5 = "If set, this actor appears on 'Nightmare' difficulty.";
ambush = "If set, this actor does not wake up if it hears the player until the player comes within field of view\n(even if the actor is facing the away from the player).";
single = "If not set, the actor does not appear in singleplayer modes.";
dm = "If not set, the actor does not appear in deathmatch modes.";
coop = "If not set, the actor does not appear in co-op modes.";
friend = "If set, the actor is friendly to the player.\nIf it is a monster, it will attack other players.";
} }
REJECT // Default flags for first new thing
defaultthingflags
{
skill1;
skill2;
skill3;
skill4;
skill5;
single;
coop;
dm;
}
// Default thing filters
// (these are not required, just useful for new users)
thingsfilters
{ {
required = false;
nodebuild = true; filter0
allowempty = true; {
name = "Keys only";
category = "keys";
type = -1;
}
filter1
{
name = "Deathmatch";
category = "";
type = -1;
fields
{
dm = true;
}
}
filter2
{
name = "Cooperative";
category = "";
type = -1;
fields
{
coop = true;
}
}
filter3
{
name = "Skill 1";
category = "";
type = -1;
fields
{
skill1 = true;
}
}
filter4
{
name = "Skill 2";
category = "";
type = -1;
fields
{
skill2 = true;
}
}
filter5
{
name = "Skill 3";
category = "";
type = -1;
fields
{
skill3 = true;
}
}
filter6
{
name = "Skill 4";
category = "";
type = -1;
fields
{
skill4 = true;
}
}
filter7
{
name = "Skill 5";
category = "";
type = -1;
fields
{
skill5 = true;
}
}
}
// How to compare thing flags (for the stuck things error checker)
thingflagscompare
{
skills
{
skill1;
skill2;
skill3;
skill4;
skill5;
}
gamemodes
{
single { requiredgroups = "skills"; }
coop { requiredgroups = "skills"; }
dm { ignoredgroups = "skills"; }
}
}
//mxd. Thing flags UDMF translation table
// This is needed for copy/paste and prefabs to work properly
// When the UDMF field name is prefixed with ! it is inverted
thingflagstranslation
{
include("Doom_misc.cfg", "thingflagstranslation");
} }
SCRIPTS //mxd. Linedef flags UDMF translation table
// This is needed for copy/paste and prefabs to work properly
// When the UDMF field name is prefixed with ! it is inverted
linedefflagstranslation
{
include("Doom_misc.cfg", "linedefflagstranslation");
}
universalfields
{ {
required = false; linedef
nodebuild = false; {
script = "ZDoom_ACS.cfg"; comment
{
type = 2;
default = "";
}
}
sidedef
{
comment
{
type = 2;
default = "";
}
scalex_top
{
type = 1;
default = 1.0f;
}
scalex_mid
{
type = 1;
default = 1.0f;
}
scalex_bottom
{
type = 1;
default = 1.0f;
}
scaley_top
{
type = 1;
default = 1.0f;
}
scaley_mid
{
type = 1;
default = 1.0f;
}
scaley_bottom
{
type = 1;
default = 1.0f;
}
offsetx_top
{
type = 1;
default = 0.0f;
}
offsetx_mid
{
type = 1;
default = 0.0f;
}
offsetx_bottom
{
type = 1;
default = 0.0f;
}
offsety_top
{
type = 1;
default = 0.0f;
}
offsety_mid
{
type = 1;
default = 0.0f;
}
offsety_bottom
{
type = 1;
default = 0.0f;
}
}
thing
{
alpha
{
type = 1;
default = 1.0f;
}
health
{
type = 1;
default = 1.0f;
}
scalex
{
type = 1;
default = 1.0f;
}
scaley
{
type = 1;
default = 1.0f;
}
comment
{
type = 2;
default = "";
}
}
sector
{
comment
{
type = 2;
default = "";
}
ypanningfloor
{
type = 1;
default = 0.0f;
}
ypanningceiling
{
type = 1;
default = 0.0f;
}
xpanningfloor
{
type = 1;
default = 0.0f;
}
xpanningceiling
{
type = 1;
default = 0.0f;
}
yscalefloor
{
type = 1;
default = 1.0f;
}
yscaleceiling
{
type = 1;
default = 1.0f;
}
xscalefloor
{
type = 1;
default = 1.0f;
}
xscaleceiling
{
type = 1;
default = 1.0f;
}
gravity
{
type = 1;
default = 1.0f;
}
fadecolor
{
type = 10;
default = 0;
}
fogdensity
{
type = 0;
default = 0;
}
lightcolor
{
type = 10;
default = 0;
}
rotationfloor
{
type = 1;
default = 0.0f;
}
rotationceiling
{
type = 1;
default = 0.0f;
}
}
} }
} }
enums enums
{ {
frontback frontback
...@@ -488,149 +841,3 @@ enums ...@@ -488,149 +841,3 @@ enums
} }
} }
// Default thing filters
// (these are not required, just usefull for new users)
thingsfilters_udmf
{
filter0
{
name = "Keys only";
category = "keys";
type = -1;
}
filter2
{
name = "Skill 1";
category = "";
type = -1;
fields
{
skill1 = true;
}
}
filter3
{
name = "Skill 2";
category = "";
type = -1;
fields
{
skill2 = true;
}
}
filter4
{
name = "Skill 3";
category = "";
type = -1;
fields
{
skill3 = true;
}
}
filter5
{
name = "Skill 4";
category = "";
type = -1;
fields
{
skill4 = true;
}
}
/*
filter6
{
name = "Skill 5";
category = "";
type = -1;
fields
{
skill5 = true;
}
}
filter7
{
name = "Skill 6";
category = "";
type = -1;
fields
{
skill6 = true;
}
}
filter8
{
name = "Skill 7";
category = "";
type = -1;
fields
{
skill7 = true;
}
}
filter9
{
name = "Skill 8";
category = "";
type = -1;
fields
{
skill8 = true;
}
}
*/
}
// How thing flags should be compared (for the stuck thing error check)
thingflagscompare_udmf
{
skills {
skill6;
skill7;
skill8;
}
classes {
class4;
class5;
class6;
class7;
class8;
}
}
\ No newline at end of file
29 = "Hub Entry"; 29 = "Hub Entry";
20 = "Airless"; 20 = "Airless";
25 = "Lo Grav"; 25 = "Lo Grav";
4418 = "Water Liquid Extrafloor SCROLL/PUSH North"; 4418 = "Water Liquid Extrafloor SCROLL/PUSH North";
4419 = "Water Liquid Extrafloor SCROLL/PUSH North East"; 4419 = "Water Liquid Extrafloor SCROLL/PUSH North East";
4420 = "Water Liquid Extrafloor SCROLL/PUSH East"; 4420 = "Water Liquid Extrafloor SCROLL/PUSH East";
4421 = "Water Liquid Extrafloor SCROLL/PUSH South East"; 4421 = "Water Liquid Extrafloor SCROLL/PUSH South East";
4422 = "Water Liquid Extrafloor SCROLL/PUSH South"; 4422 = "Water Liquid Extrafloor SCROLL/PUSH South";
4423 = "Water Liquid Extrafloor SCROLL/PUSH South West"; 4423 = "Water Liquid Extrafloor SCROLL/PUSH South West";
4424 = "Water Liquid Extrafloor SCROLL/PUSH West"; 4424 = "Water Liquid Extrafloor SCROLL/PUSH West";
4425 = "Water Liquid Extrafloor SCROLL/PUSH North West"; 4425 = "Water Liquid Extrafloor SCROLL/PUSH North West";
4426 = "Slime Liquid Extrafloor SCROLL/PUSH North"; 4426 = "Slime Liquid Extrafloor SCROLL/PUSH North";
4427 = "Slime Liquid Extrafloor SCROLL/PUSH North East"; 4427 = "Slime Liquid Extrafloor SCROLL/PUSH North East";
4428 = "Slime Liquid Extrafloor SCROLL/PUSH East"; 4428 = "Slime Liquid Extrafloor SCROLL/PUSH East";
4429 = "Slime Liquid Extrafloor SCROLL/PUSH South East"; 4429 = "Slime Liquid Extrafloor SCROLL/PUSH South East";
4430 = "Slime Liquid Extrafloor SCROLL/PUSH South"; 4430 = "Slime Liquid Extrafloor SCROLL/PUSH South";
4431 = "Slime Liquid Extrafloor SCROLL/PUSH South West"; 4431 = "Slime Liquid Extrafloor SCROLL/PUSH South West";
4432 = "Slime Liquid Extrafloor SCROLL/PUSH West"; 4432 = "Slime Liquid Extrafloor SCROLL/PUSH West";
4433 = "Slime Liquid Extrafloor SCROLL/PUSH North West"; 4433 = "Slime Liquid Extrafloor SCROLL/PUSH North West";
4434 = "Lava Liquid Extrafloor SCROLL/PUSH North"; 4434 = "Lava Liquid Extrafloor SCROLL/PUSH North";
4435 = "Lava Liquid Extrafloor SCROLL/PUSH North East"; 4435 = "Lava Liquid Extrafloor SCROLL/PUSH North East";
4436 = "Lava Liquid Extrafloor SCROLL/PUSH East"; 4436 = "Lava Liquid Extrafloor SCROLL/PUSH East";
4437 = "Lava Liquid Extrafloor SCROLL/PUSH South East"; 4437 = "Lava Liquid Extrafloor SCROLL/PUSH South East";
4438 = "Lava Liquid Extrafloor SCROLL/PUSH South"; 4438 = "Lava Liquid Extrafloor SCROLL/PUSH South";
4439 = "Lava Liquid Extrafloor SCROLL/PUSH South West"; 4439 = "Lava Liquid Extrafloor SCROLL/PUSH South West";
4440 = "Lava Liquid Extrafloor SCROLL/PUSH West"; 4440 = "Lava Liquid Extrafloor SCROLL/PUSH West";
4441 = "Lava Liquid Extrafloor SCROLL/PUSH North West"; 4441 = "Lava Liquid Extrafloor SCROLL/PUSH North West";
4442 = "Push North"; 4442 = "Push North";
4443 = "Push North East"; 4443 = "Push North East";
4444 = "Push East"; 4444 = "Push East";
4445 = "Push South East"; 4445 = "Push South East";
4446 = "Push South"; 4446 = "Push South";
4447 = "Push South West"; 4447 = "Push South West";
4448 = "Push West"; 4448 = "Push West";
4449 = "Push North West"; 4449 = "Push North West";
4450 = "Scroll Floor Texture North"; 4450 = "Scroll Floor Texture North";
4451 = "Scroll Floor Texture North East"; 4451 = "Scroll Floor Texture North East";
4452 = "Scroll Floor Texture East"; 4452 = "Scroll Floor Texture East";
4453 = "Scroll Floor Texture South East"; 4453 = "Scroll Floor Texture South East";
4454 = "Scroll Floor Texture South"; 4454 = "Scroll Floor Texture South";
4455 = "Scroll Floor Texture South West"; 4455 = "Scroll Floor Texture South West";
4456 = "Scroll Floor Texture West"; 4456 = "Scroll Floor Texture West";
4457 = "Scroll Floor Texture North West"; 4457 = "Scroll Floor Texture North West";
4458 = "Scroll Floor Texture/Push North"; 4458 = "Scroll Floor Texture/Push North";
4459 = "Scroll Floor Texture/Push North East"; 4459 = "Scroll Floor Texture/Push North East";
4460 = "Scroll Floor Texture/Push East"; 4460 = "Scroll Floor Texture/Push East";
4461 = "Scroll Floor Texture/Push South East"; 4461 = "Scroll Floor Texture/Push South East";
4462 = "Scroll Floor Texture/Push South"; 4462 = "Scroll Floor Texture/Push South";
4463 = "Scroll Floor Texture/Push South West"; 4463 = "Scroll Floor Texture/Push South West";
4464 = "Scroll Floor Texture/Push West"; 4464 = "Scroll Floor Texture/Push West";
4465 = "Scroll Floor Texture/Push North West"; 4465 = "Scroll Floor Texture/Push North West";
4466 = "Blue Hue (Swimmable)"; 4466 = "Blue Hue (Swimmable)";
4467 = "Green Hue (Swimmable)"; 4467 = "Green Hue (Swimmable)";
4468 = "Green Hue + Damage (Swimmable)"; 4468 = "Green Hue + Damage (Swimmable)";
4469 = "Red Hue (Swimmable)"; 4469 = "Red Hue (Swimmable)";
4470 = "Red Hue + Damage (Swimmable)"; 4470 = "Red Hue + Damage (Swimmable)";
4471 = "Blue Hue"; 4471 = "Blue Hue";
4472 = "Green Hue"; 4472 = "Green Hue";
4473 = "Red Hue"; 4473 = "Red Hue";
4474 = "Yellow Hue"; 4474 = "Yellow Hue";
4475 = "Purple Hue"; 4475 = "Purple Hue";
4476 = "Grey Hue"; 4476 = "Grey Hue";
4480 = "EDGE fog: White 5%";
4481 = "EDGE fog: White 10%";
4482 = "EDGE fog: White 15%";
4483 = "EDGE fog: White 20%";
4484 = "EDGE fog: White 25%";
4485 = "EDGE fog: White 30%";
4486 = "EDGE fog: White 35%";
4487 = "EDGE fog: White 40%";
4488 = "EDGE fog: White 45%";
4489 = "EDGE fog: White 50%";
4490 = "EDGE fog: Green 5%";
4491 = "EDGE fog: Green 10%";
4492 = "EDGE fog: Green 15%";
4493 = "EDGE fog: Green 20%";
4494 = "EDGE fog: Green 25%";
4495 = "EDGE fog: Green 30%";
4496 = "EDGE fog: Green 35%";
4497 = "EDGE fog: Green 40%";
4498 = "EDGE fog: Green 45%";
4499 = "EDGE fog: Green 50%";
4500 = "EDGE fog: Red 5%";
4501 = "EDGE fog: Red 10%";
4502 = "EDGE fog: Red 15%";
4503 = "EDGE fog: Red 20%";
4504 = "EDGE fog: Red 25%";
4505 = "EDGE fog: Red 30%";
4506 = "EDGE fog: Red 35%";
4507 = "EDGE fog: Red 40%";
4508 = "EDGE fog: Red 45%";
4509 = "EDGE fog: Red 50%";
4510 = "EDGE fog: Blue 5%";
4511 = "EDGE fog: Blue 10%";
4512 = "EDGE fog: Blue 15%";
4513 = "EDGE fog: Blue 20%";
4514 = "EDGE fog: Blue 25%";
4515 = "EDGE fog: Blue 30%";
4516 = "EDGE fog: Blue 35%";
4517 = "EDGE fog: Blue 40%";
4518 = "EDGE fog: Blue 45%";
4519 = "EDGE fog: Blue 50%";
4530 = "EDGE Friction: Slippy";
4531 = "EDGE Friction: Very Slippy";
4532 = "EDGE Viscosity: Sticky";
4533 = "EDGE Viscosity: Very Sticky";
EDGE_monsters EDGE_monsters
{ {
color = 12; // Light Red color = 12; // Light Red
arrow = 1; arrow = 1;
title = "Edge: Monsters"; title = "EDGE: Monsters";
width = 20; width = 20;
sort = 1; sort = 1;
height = 56; height = 56;
hangs = 0; hangs = 0;
blocking = 1; blocking = 1;
error = 2; error = 2;
4050 4050
{ {
title = "Stealth Arachnotron"; title = "Stealth Arachnotron";
height = 32; height = 32;
} }
4051 4051
{ {
title = "Stealth Archvile"; title = "Stealth Archvile";
height = 32; height = 32;
} }
4052 4052
{ {
title = "Stealth Baron of Hell"; title = "Stealth Baron of Hell";
height = 32; height = 32;
} }
4053 4053
{ {
title = "Stealth Cacodemon"; title = "Stealth Cacodemon";
height = 32; height = 32;
} }
4054 4054
{ {
title = "Stealth Heavy weapon dude"; title = "Stealth Heavy weapon dude";
height = 32; height = 32;
} }
4055 4055
{ {
title = "Stealth Demon"; title = "Stealth Demon";
height = 32; height = 32;
} }
4056 4056
{ {
title = "Stealth Hell knight"; title = "Stealth Hell knight";
height = 32; height = 32;
} }
4057 4057
{ {
title = "Stealth Imp"; title = "Stealth Imp";
height = 32; height = 32;
} }
4058 4058
{ {
title = "Stealth Mancubus"; title = "Stealth Mancubus";
height = 32; height = 32;
} }
4059 4059
{ {
title = "Stealth Revenant"; title = "Stealth Revenant";
height = 32; height = 32;
} }
4060 4060
{ {
title = "Stealth Shotgun Guy"; title = "Stealth Shotgun Guy";
height = 32; height = 32;
} }
4061 4061
{ {
title = "Stealth Zombie man"; title = "Stealth Zombie man";
height = 32; height = 32;
} }
7100 7100
{ {
title = "EDGE Revenant MKII"; title = "EDGE Revenant MKII";
height = 32; height = 32;
} }
7101 7101
{ {
title = "EDGE Teleport spawner"; title = "EDGE Teleport spawner";
height = 32; height = 32;
} }
7102 7102
{ {
title = "Arachnotron MKII"; title = "Arachnotron MKII";
height = 32; height = 32;
} }
7103 7103
{ {
title = "Mancubus MKII"; title = "Mancubus MKII";
height = 32; height = 32;
} }
} }
edge_powerups edge_powerups
{ {
color = 9; // Light Blue color = 9; // Light Blue
arrow = 0; arrow = 0;
title = "EDGE: Powerups"; title = "EDGE: Powerups";
width = 20; width = 20;
height = 20; height = 20;
hangs = 0; hangs = 0;
blocking = 0; blocking = 0;
sort = 1; sort = 1;
7000 7000
{ {
title = "EDGE Nightvision Specs"; title = "EDGE Nightvision Specs";
sprite = "NVSCA0"; sprite = "NVSCA0";
} }
7020 7020
{ {
title = "EDGE Jetpack"; title = "EDGE Jetpack";
sprite = "JPCKA0"; sprite = "JPCKA0";
} }
7005 7005
{ {
title = "EDGE Stop Time"; title = "EDGE Stop Time";
sprite = "TSTPB0"; sprite = "TSTPB0";
} }
} }
edge_glowlights edge_glowlights
{ {
color = 9; // Light Blue color = 11; // Light Cyan
arrow = 0; arrow = 0;
title = "EDGE: Sector Light FX"; title = "EDGE: Sector Light FX";
sprite = "internal:light"; sprite = "internal:light";
width = 20; width = 16;
height = 20; height = 16;
hangs = 0; hangs = 0;
blocking = 0; blocking = 0;
7041 7041
{ {
title = "EDGE Nukage Glow"; title = "EDGE Nukage Glow: Floor";
height = 32; color = 10; // Light Green
} }
7042 7042
{ {
title = "EDGE Lava Glow"; title = "EDGE Lava Glow: Floor";
height = 32; color = 12; // Light Red
} }
7043 7043
{ {
title = "EDGE Water Glow"; title = "EDGE Water Glow: Floor";
height = 32; color = 9; // Light Blue
} }
}
7070
edge_lights {
{ title = "EDGE Nukage Glow: Wall";
color = 9; // Light Blue color = 10; // Light Green
arrow = 0; }
title = "EDGE: Lights";
sprite = "internal:light"; 7071
width = 8; {
height = 20; title = "EDGE Lava Glow: Wall";
hangs = 0; color = 12; // Light Red
blocking = 0; }
7044 7072
{ {
title = "White light: Floor"; title = "EDGE Water Glow: Wall";
height = 32; color = 9; // Light Blue
color = 15; }
}
7073
7045 {
{ title = "EDGE White Glow: Wall";
title = "Yellow light: Floor"; color = 15; // White
height = 32; }
color = 15; }
}
edge_lights
7046 {
{ color = 11; // Light Cyan
title = "Red light: Floor"; arrow = 0;
height = 32; title = "EDGE: Lights";
color = 15; sprite = "internal:light";
} width = 8;
height = 20;
7047 hangs = 0;
{ blocking = 0;
title = "Blue light: Floor";
height = 32; 7044
color = 15; {
} title = "White light: Floor";
height = 32;
7048 color = 15; // White
{ }
title = "Green light: Floor";
height = 32; 7045
color = 15; {
} title = "Yellow light: Floor";
height = 32;
7049 color = 14; // Yellow
{ }
title = "Orange light: Floor";
height = 32; 7046
color = 15; {
} title = "Red light: Floor";
height = 32;
7054 color = 12; // Light Red
{ }
title = "White light: Ceiling";
height = 16; 7047
hangs = 1; {
color = 15; title = "Blue light: Floor";
} height = 32;
color = 9; // Light Blue
7055 }
{
title = "Yellow light: Ceiling"; 7048
height = 16; {
hangs = 1; title = "Green light: Floor";
color = 15; height = 32;
} color = 10; // Light Green
}
7056
{ 7049
title = "Red light: Ceiling"; {
height = 16; title = "Orange light: Floor";
hangs = 1; height = 32;
color = 15; color = 17; //Orange
} }
7057 7054
{ {
title = "Blue light: Ceiling"; title = "White light: Ceiling";
height = 16; height = 16;
hangs = 1; hangs = 1;
color = 15; color = 15; // White
} }
7058 7055
{ {
title = "Green light: Ceiling"; title = "Yellow light: Ceiling";
height = 16; height = 16;
hangs = 1; hangs = 1;
color = 15; color = 14; // Yellow
} }
7059 7056
{ {
title = "Orange light: Ceiling"; title = "Red light: Ceiling";
height = 16; height = 16;
hangs = 1; hangs = 1;
color = 15; color = 12; // Light Red
} }
} 7057
{
title = "Blue light: Ceiling";
height = 16;
edge_keys hangs = 1;
{ color = 9; // Light Blue
color = 13; // Light Magenta }
arrow = 0;
title = "EDGE: Keys"; 7058
width = 20; {
sort = 1; title = "Green light: Ceiling";
height = 16; height = 16;
hangs = 0; hangs = 1;
blocking = 0; color = 10; // Light Green
}
7015
{ 7059
title = "Green keycard"; {
sprite = "BKEYA0"; title = "Orange light: Ceiling";
} height = 16;
7017 hangs = 1;
{ color = 17; //Orange
title = "Green skullkey"; }
sprite = "BSKUB0";
} }
}
edge_armour
{ edge_keys
color = 1; // Blue {
arrow = 0; color = 13; // Light Magenta
title = "EDGE: Armour"; arrow = 0;
width = 20; title = "EDGE: Keys";
sort = 1; width = 20;
height = 16; sort = 1;
hangs = 0; height = 16;
blocking = 0; hangs = 0;
blocking = 0;
7031
{ 7015
title = "Purple armor"; {
sprite = "ARM1A0"; title = "Green keycard";
} sprite = "BKEYA0";
7032 color = 10; // Light Green
{ }
title = "Yellow armor"; 7017
sprite = "ARM2A0"; {
} title = "Green skullkey";
7033 sprite = "BSKUB0";
{ color = 10; // Light Green
title = "Red armor"; }
sprite = "ARM2A0"; }
}
} edge_armour
{
color = 1; // Blue
arrow = 0;
title = "EDGE: Armour";
width = 20;
sort = 1;
height = 16;
hangs = 0;
blocking = 0;
7031
{
title = "Purple armor";
sprite = "ARM1A0";
color = 13;
}
7032
{
title = "Yellow armor";
sprite = "ARM2A0";
color = 14; // Yellow
}
7033
{
title = "Red armor";
sprite = "ARM2A0";
color = 12; // Light Red
}
}
...@@ -388,12 +388,6 @@ mapformat_udmf ...@@ -388,12 +388,6 @@ mapformat_udmf
include("Eternity_misc.cfg", "thingflags_udmf"); include("Eternity_misc.cfg", "thingflags_udmf");
} }
// THING RENSERSTYLES
thingrenderstyles
{
include("UDMF_misc.cfg", "thingrenderstyles");
}
// How to compare thing flags (for the stuck things error checker) // How to compare thing flags (for the stuck things error checker)
thingflagscompare thingflagscompare
{ {
......