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
/Build/System.Numerics.Vectors.dll
/Build/System.Runtime.CompilerServices.Unsafe.dll
/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.ini
Updater.pdb
DevIL.dll
Screenshots
\ No newline at end of file
Updater.exe
Updater.ini
Updater.pdb
DevIL.dll
Screenshots
/Source
No preview for this file type
//**************************************************************************
//**
//** zcommon.acs
//**
//**************************************************************************
// 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
// a few bytes off the size of compiled scripts.
//#nowadauthor
#include "zspecial.acs"
#include "zdefs.acs"
#include "zwvars.acs"
//**************************************************************************
//**
//** zcommon.acs
//**
//**************************************************************************
// 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
// a few bytes off the size of compiled scripts.
//#nowadauthor
#include "zspecial.acs"
#include "zdefs.acs"
#include "zwvars.acs"
//**************************************************************************
//**
//** zdefs.acs
//**
//** Common definitions for use when compiling ACS scripts for ZDoom
//**
//**************************************************************************
#define TRUE 1
#define FALSE 0
#define ON 1
#define OFF 0
#define YES 1
#define NO 0
#define LINE_FRONT 0
#define LINE_BACK 1
#define SIDE_FRONT 0
#define SIDE_BACK 1
#define TEXTURE_TOP 0
#define TEXTURE_MIDDLE 1
#define TEXTURE_BOTTOM 2
// same information as combinable bit flags
#define TEXFLAG_TOP 1
#define TEXFLAG_MIDDLE 2
#define TEXFLAG_BOTTOM 4
#define TEXFLAG_ADDOFFSET 8
#define GAME_SINGLE_PLAYER 0
#define GAME_NET_COOPERATIVE 1
#define GAME_NET_DEATHMATCH 2
#define GAME_TITLE_MAP 3
// Classes are only useful with Hexen
#define CLASS_FIGHTER 0
#define CLASS_CLERIC 1
#define CLASS_MAGE 2
#define SKILL_VERY_EASY 0
#define SKILL_EASY 1
#define SKILL_NORMAL 2
#define SKILL_HARD 3
#define SKILL_VERY_HARD 4
#define BLOCK_NOTHING 0
#define BLOCK_CREATURES 1
#define BLOCK_EVERYTHING 2
#define BLOCK_RAILING 3
#define BLOCK_PLAYERS 4
#define SCROLL 0
#define CARRY 1
#define SCROLL_AND_CARRY 2
// Means-of-death for Sector_SetDamage --------------------------------------
#define MOD_UNKNOWN 0
#define MOD_ROCKET 5
#define MOD_R_SPLASH 6
#define MOD_PLASMARIFLE 7
#define MOD_BFG_BOOM 8
#define MOD_BFG_SPLASH 9
#define MOD_CHAINSAW 10
#define MOD_SSHOTGUN 11
#define MOD_WATER 12
#define MOD_SLIME 13
#define MOD_LAVA 14
#define MOD_CRUSH 15
#define MOD_TELEFRAG 16
#define MOD_FALLING 17
#define MOD_SUICIDE 18
#define MOD_BARREL 19
#define MOD_EXIT 20
#define MOD_SPLASH 21
#define MOD_HIT 22
#define MOD_RAILGUN 23
#define MOD_ICE 24
#define MOD_DISINTEGRATE 25
#define MOD_POISON 26
#define MOD_ELECTRIC 27
// Return values for PlayMovie ----------------------------------------------
#define MOVIE_Played 0
#define MOVIE_Played_NoVideo 1
#define MOVIE_Played_Aborted 2
#define MOVIE_Failed -1
// Player properties --------------------------------------------------------
#define PROP_FROZEN 0
#define PROP_NOTARGET 1
#define PROP_INSTANTWEAPONSWITCH 2
#define PROP_FLY 3
#define PROP_TOTALLYFROZEN 4
#define PROP_BUDDHA 16
// The following properties correspond to powers given by certain items
#define PROP_INVULNERABILITY 5
#define PROP_STRENGTH 6
#define PROP_INVISIBILITY 7
#define PROP_RADIATIONSUIT 8
#define PROP_ALLMAP 9
#define PROP_INFRARED 10
#define PROP_WEAPONLEVEL2 11
#define PROP_FLIGHT 12
#define PROP_SPEED 15
// Player input -------------------------------------------------------------
// These are the original inputs sent by the player.
#define INPUT_OLDBUTTONS 0
#define INPUT_BUTTONS 1
#define INPUT_PITCH 2
#define INPUT_YAW 3
#define INPUT_ROLL 4
#define INPUT_FORWARDMOVE 5
#define INPUT_SIDEMOVE 6
#define INPUT_UPMOVE 7
// These are the inputs, as modified by P_PlayerThink().
// Most of the time, these will match the original inputs, but
// they can be different if a player is frozen or using a
// chainsaw.
#define MODINPUT_OLDBUTTONS 8
#define MODINPUT_BUTTONS 9
#define MODINPUT_PITCH 10
#define MODINPUT_YAW 11
#define MODINPUT_ROLL 12
#define MODINPUT_FORWARDMOVE 13
#define MODINPUT_SIDEMOVE 14
#define MODINPUT_UPMOVE 15
// Player buttons -----------------------------------------------------------
#define BT_ATTACK 1
#define BT_USE 2
#define BT_JUMP 4
#define BT_CROUCH 8
#define BT_TURN180 16
#define BT_ALTATTACK 32
#define BT_RELOAD 64
#define BT_ZOOM 128
#define BT_SPEED 256
#define BT_STRAFE 512
#define BT_MOVERIGHT 1024
#define BT_MOVELEFT 2048
#define BT_BACK 4096
#define BT_FORWARD 8192
#define BT_RIGHT 16384
#define BT_LEFT 32768
#define BT_LOOKUP 65536
#define BT_LOOKDOWN 131072
#define BT_MOVEUP 262144
#define BT_MOVEDOWN 524288
#define BT_SHOWSCORES 1048576
#define BT_RUN 33554432
// Do whatever you want with these.
#define BT_USER1 2097152
#define BT_USER2 4194304
#define BT_USER3 8388608
#define BT_USER4 16777216
// Text colors --------------------------------------------------------------
#define CR_UNTRANSLATED -1
#define CR_BRICK 0
#define CR_TAN 1
#define CR_GRAY 2
#define CR_GREY 2
#define CR_GREEN 3
#define CR_BROWN 4
#define CR_GOLD 5
#define CR_RED 6
#define CR_BLUE 7
#define CR_ORANGE 8
#define CR_WHITE 9
#define CR_YELLOW 10
#define CR_BLACK 12
#define CR_LIGHTBLUE 13
#define CR_CREAM 14
#define CR_OLIVE 15
#define CR_DARKGREEN 16
#define CR_DARKRED 17
#define CR_DARKBROWN 18
#define CR_PURPLE 19
#define CR_DARKGRAY 20
#define CR_DARKGREY 20
#define CR_CYAN 21
#define CR_ICE 22
#define CR_FIRE 23
#define CR_SAPPHIRE 24
#define CR_TEAL 25
// HUD message types --------------------------------------------------------
#define HUDMSG_PLAIN 0
#define HUDMSG_FADEOUT 1
#define HUDMSG_TYPEON 2
#define HUDMSG_FADEINOUT 3
// 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_LOG 0x80000000
// OR this with one of the above if the color you passed is a string
// instead of one of the CR_ constants.
#define HUDMSG_COLORSTRING 0x40000000
// OR this with one of the above to use additive blending when drawing the
// HUD message.
#define HUDMSG_ADDBLEND 0x20000000
// OR this with one of the above to use the extra alpha parameter
#define HUDMSG_ALPHA 0x10000000
// Or this with one of the above to not wrap lines
#define HUDMSG_NOWRAP 0x08000000
// HUD message layers; these are not flags
#define HUDMSG_LAYER_OVERHUD 0x00000000
#define HUDMSG_LAYER_UNDERHUD 0x00001000
#define HUDMSG_LAYER_OVERMAP 0x00002000
// HUD message visibility flags
#define HUDMSG_NOTWITH3DVIEW 0x00010000
#define HUDMSG_NOTWITHFULLMAP 0x00020000
#define HUDMSG_NOTWITHOVERLAYMAP 0x00040000
// "Scripted" Marine weapon types -------------------------------------------
#define MARINEWEAPON_Dummy 0
#define MARINEWEAPON_Fist 1
#define MARINEWEAPON_BerserkFist 2
#define MARINEWEAPON_Chainsaw 3
#define MARINEWEAPON_Pistol 4
#define MARINEWEAPON_Shotgun 5
#define MARINEWEAPON_SuperShotgun 6
#define MARINEWEAPON_Chaingun 7
#define MARINEWEAPON_RocketLauncher 8
#define MARINEWEAPON_PlasmaRifle 9
#define MARINEWEAPON_Railgun 10
#define MARINEWEAPON_BFG 11
// Actor properties you can get/set -----------------------------------------
#define APROP_Health 0
#define APROP_Speed 1
#define APROP_Damage 2
#define APROP_Alpha 3
#define APROP_RenderStyle 4
#define APROP_SeeSound 5 // Sounds can only be set, not gotten
#define APROP_AttackSound 6
#define APROP_PainSound 7
#define APROP_DeathSound 8
#define APROP_ActiveSound 9
#define APROP_Ambush 10
#define APROP_Invulnerable 11
#define APROP_JumpZ 12
#define APROP_ChaseGoal 13
#define APROP_Frightened 14
#define APROP_Gravity 15
#define APROP_Friendly 16
#define APROP_SpawnHealth 17
#define APROP_Dropped 18
#define APROP_Notarget 19
#define APROP_Species 20
#define APROP_Nametag 21
#define APROP_Score 22
#define APROP_Notrigger 23
#define APROP_DamageFactor 24
#define APROP_MasterTID 25
#define APROP_TargetTID 26
#define APROP_TracerTID 27
#define APROP_Waterlevel 28
#define APROP_ScaleX 29
#define APROP_ScaleY 30
#define APROP_Dormant 31
#define APROP_Mass 32
#define APROP_Accuracy 33
#define APROP_Stamina 34
#define APROP_Height 35
#define APROP_Radius 36
#define APROP_Reactiontime 37
#define APROP_MeleeRange 38
#define APROP_ViewHeight 39
#define APROP_AttackZOffset 40
#define APROP_StencilColor 41
#define APROP_Friction 42
#define APROP_DamageMultiplier 43
#define APROP_MaxStepHeight 44
#define APROP_MaxDropOffHeight 45
#define APROP_DamageType 46
#define APROP_SoundClass 47
#define APROP_FriendlySeeBlocks 48
// New to Eternity
#define APROP_Counter0 100
#define APROP_Counter1 101
#define APROP_Counter2 102
#define APROP_Counter3 103
#define APROP_Counter4 104
#define APROP_Counter5 105
#define APROP_Counter6 106
#define APROP_Counter7 107
// Render Styles ------------------------------------------------------------
#define STYLE_None 0 // Do not draw
#define STYLE_Normal 1 // Normal; just copy the image to the screen
#define STYLE_Fuzzy 2 // Draw silhouette using "fuzz" effect
#define STYLE_SoulTrans 3 // Draw translucent with amount in r_transsouls
#define STYLE_OptFuzzy 4 // Draw as fuzzy, translucent or shadow, based on user preference
#define STYLE_Stencil 5 // Draw as solid color
#define STYLE_AddStencil 6 // Draw as additive solid color
#define STYLE_AddShaded 7 //
#define STYLE_Translucent 64 // Draw translucent
#define STYLE_Add 65 // Draw additive
#define STYLE_Shaded 66 //
#define STYLE_TranslucentStencil 67
#define STYLE_Shadow 68 // Draw dark translucent stencil
#define STYLE_Subtract 69 // Draw subtractive
// Properties you can use with GetLevelInfo() -------------------------------
#define LEVELINFO_PAR_TIME 0
#define LEVELINFO_CLUSTERNUM 1
#define LEVELINFO_LEVELNUM 2
#define LEVELINFO_TOTAL_SECRETS 3
#define LEVELINFO_FOUND_SECRETS 4
#define LEVELINFO_TOTAL_ITEMS 5
#define LEVELINFO_FOUND_ITEMS 6
#define LEVELINFO_TOTAL_MONSTERS 7
#define LEVELINFO_KILLED_MONSTERS 8
#define LEVELINFO_SUCK_TIME 9
// Properties you can use with GetPlayerInfo() ------------------------------
#define PLAYERINFO_TEAM 0
#define PLAYERINFO_AIMDIST 1
#define PLAYERINFO_COLOR 2
#define PLAYERINFO_GENDER 3
#define PLAYERINFO_NEVERSWITCH 4
#define PLAYERINFO_MOVEBOB 5
#define PLAYERINFO_STILLBOB 6
#define PLAYERINFO_PLAYERCLASS 7
#define PLAYERINFO_FOV 8
#define PLAYERINFO_DESIREDFOV 9
// Flags for ReplaceTextures ------------------------------------------------
#define NOT_BOTTOM 1
#define NOT_MIDDLE 2
#define NOT_TOP 4
#define NOT_FLOOR 8
#define NOT_CEILING 16
// Flags for SectorDamage ---------------------------------------------------
#define DAMAGE_PLAYERS 1
#define DAMAGE_NONPLAYERS 2
#define DAMAGE_IN_AIR 4
#define DAMAGE_SUBCLASSES_PROTECT 8
#define DAMAGE_NO_ARMOR 16
// Flags for MorphActor -----------------------------------------------------
#define MRF_OLDEFFECTS 0x00000000
#define MRF_ADDSTAMINA 0x00000001
#define MRF_FULLHEALTH 0x00000002
#define MRF_UNDOBYTOMEOFPOWER 0x00000004
#define MRF_UNDOBYCHAOSDEVICE 0x00000008
#define MRF_FAILNOTELEFRAG 0x00000010
#define MRF_FAILNOLAUGH 0x00000020
#define MRF_WHENINVULNERABLE 0x00000040
#define MRF_LOSEACTUALWEAPON 0x00000080
#define MRF_NEWTIDBEHAVIOUR 0x00000100
#define MRF_UNDOBYDEATH 0x00000200
#define MRF_UNDOBYDEATHFORCED 0x00000400
#define MRF_UNDOBYDEATHSAVES 0x00000800
#define MRF_UNDOALWAYS 0x00001000
#define MRF_TRANSFERTRANSLATION 0x00002000
// Shared spawnable things from Hexen. You can spawn these in the other -----
// games if you provide sprites for them, otherwise they'll be invisible. ---
#define T_ROCK1 41
#define T_ROCK2 42
#define T_ROCK3 43
#define T_DIRT1 44
#define T_DIRT2 45
#define T_DIRT3 46
#define T_DIRT4 47
#define T_DIRT5 48
#define T_DIRT6 49
#define T_STAINEDGLASS1 54
#define T_STAINEDGLASS2 55
#define T_STAINEDGLASS3 56
#define T_STAINEDGLASS4 57
#define T_STAINEDGLASS5 58
#define T_STAINEDGLASS6 59
#define T_STAINEDGLASS7 60
#define T_STAINEDGLASS8 61
#define T_STAINEDGLASS9 62
#define T_STAINEDGLASS0 63
// Doom Spawnable things (used for thingcount() and thing spawners) ---------
#define T_NONE 0
#define T_SHOTGUY 1
#define T_CHAINGUY 2
#define T_BARON 3
#define T_ZOMBIE 4
#define T_IMP 5
#define T_ARACHNOTRON 6
#define T_SPIDERMASTERMIND 7
#define T_DEMON 8
#define T_SPECTRE 9
#define T_IMPFIREBALL 10
#define T_CLIP 11
#define T_SHELLS 12
#define T_CACODEMON 19
#define T_REVENANT 20
#define T_BRIDGE 21
#define T_ARMORBONUS 22
#define T_STIMPACK 23
#define T_MEDKIT 24
#define T_SOULSPHERE 25
#define T_SHOTGUN 27
#define T_CHAINGUN 28
#define T_ROCKETLAUNCHER 29
#define T_PLASMAGUN 30
#define T_BFG 31
#define T_CHAINSAW 32
#define T_SUPERSHOTGUN 33
#define T_PLASMABOLT 51
#define T_TRACER 53
#define T_GREENARMOR 68
#define T_BLUEARMOR 69
#define T_CELL 75
#define T_BLUEKEYCARD 85
#define T_REDKEYCARD 86
#define T_YELLOWKEYCARD 87
#define T_YELLOWSKULLKEY 88
#define T_REDSKULLKEY 89
#define T_BLUESKULLKEY 90
#define T_TEMPLARGEFLAME 98
#define T_STEALTHBARON 100
#define T_STEALTHKNIGHT 101
#define T_STEALTHZOMBIE 102
#define T_STEALTHSHOTGUY 103
#define T_LOSTSOUL 110
#define T_VILE 111
#define T_MANCUBUS 112
#define T_HELLKNIGHT 113
#define T_CYBERDEMON 114
#define T_PAINELEMENTAL 115
#define T_WOLFSS 116
#define T_STEALTHARACHNOTRON 117
#define T_STEALTHVILE 118
#define T_STEALTHCACODEMON 119
#define T_STEALTHCHAINGUY 120
#define T_STEALTHSERGEANT 121
#define T_STEALTHIMP 122
#define T_STEALTHMANCUBUS 123
#define T_STEALTHREVENANT 124
#define T_BARREL 125
#define T_CACODEMONSHOT 126
#define T_ROCKET 127
#define T_BFGSHOT 128
#define T_ARACHNOTRONPLASMA 129
#define T_BLOOD 130
#define T_PUFF 131
#define T_MEGASPHERE 132
#define T_INVULNERABILITY 133
#define T_BERSERK 134
#define T_INVISIBILITY 135
#define T_IRONFEET 136
#define T_COMPUTERMAP 137
#define T_LIGHTAMP 138
#define T_AMMOBOX 139
#define T_ROCKETAMMO 140
#define T_ROCKETBOX 141
#define T_BATTERY 142
#define T_SHELLBOX 143
#define T_BACKPACK 144
#define T_GUTS 145
#define T_BLOODPOOL 146
#define T_BLOODPOOL1 147
#define T_BLOODPOOL2 148
#define T_FLAMINGBARREL 149
#define T_BRAINS 150
#define T_SCRIPTEDMARINE 151
#define T_HEALTHBONUS 152
#define T_MANCUBUSSHOT 153
#define T_BARONBALL 154
// Heretic Spawnable things (used for thingcount() and thing spawners) ------
#define T_CLINK 1
#define T_MUMMYLEADER 2
#define T_BEAST 3
#define T_MUMMY 4
//#define T_IMP 5 // Defined above
#define T_KNIGHT 6
#define T_IMPLEADER 7
#define T_MUMMYGHOST 8
#define T_MUMMYLEADERGHOST 9
//#define T_IMPFIREBALL 10
#define T_WIMPYWANDAMMO 11
#define T_HEFTYWANDAMMO 12
#define T_ITEMEGG 14
#define T_ITEMFLIGHT 15
#define T_ITEMTELEPORT 18
#define T_WIZARD 19
#define T_IRONLICH 20
#define T_ITEMHEALTHPOTION 23
#define T_ITEMHEALTHFLASH 24 // incorrect name but keep it for compatibility
#define T_ITEMHEALTHFLASK 24
#define T_ITEMHEALTHFULL 25
#define T_CROSSBOW 27
#define T_BLASTER 28
#define T_PHOENIXROD 29
#define T_SKULLROD 30
#define T_MACE 31
#define T_GAUNTLETS 32
#define T_WIMPYCROSSBOWAMMO 33
#define T_HEFTYCROSSBOWAMMO 34
#define T_WIMPYMACEAMMO 35
#define T_HEFTYMACEAMMO 36
#define T_WIMPYBLASTERAMMO 37
#define T_HEFTYBLASTERAMMO 38
#define T_MORPHBLAST 40
#define T_SHIELD1 68
#define T_SHIELD2 69
#define T_ITEMTIMEBOMB 72
#define T_ITEMTORCH 73
#define T_BLUEKEY 85
#define T_GREENKEY 86
#define T_YELLOWKEY 87
#define T_SOUND_WIND 110
#define T_SOUND_WATERFALL 111
#define T_BEASTBALL 120
#define T_FEATHER 121
#define T_CHICKEN 122
#define T_VOLCANOBALL 123
#define T_TINYVOLCANOBALL 124
#define T_POD 125
#define T_PODGENERATOR 126
#define T_KNIGHTAXE 127
#define T_KNIGHTBLOODAXE 128
#define T_KNIGHTGHOST 129
#define T_MUMMYHEAD 131
#define T_SNAKE 132
#define T_ITEMINVULNERABILITY 133
#define T_ITEMTOME 134
#define T_ITEMINVISIBILITY 135
#define T_ITEMBAGOFHOLDING 136
#define T_ITEMALLMAP 137
#define T_SNAKEPROJECTILE 138
#define T_SNAKEPROJECTILEBIG 139
#define T_WIZARDSHOT 140
#define T_DSPARILTELEPORTDEST 141
#define T_DSPARILONSERPENT 142
#define T_DSPARILALONE 143
#define T_SERPENTFIREBALL 144
#define T_DSPARILBLUESHOT 145
#define T_DSPARILWIZARDSPAWNER 146
#define T_CROSSBOWMAINBLAST 147
#define T_CROSSBOWMINIBLAST 148
#define T_CROSSBOWPOWERBLAST 149
#define T_VOLCANO 150
#define T_POWERWANDMINIBLAST 151
#define T_POWERWANDBIGGERBLAST 152
#define T_DEATHBALL 153
#define T_NOGRAVITYMACEBALL 154
#define T_BOUNCYMACEBALL 155
#define T_HEAVYMACEBALL 156
#define T_RIPPER 157
#define T_WIMPYSKULLRODAMMO 158
#define T_HEFTYSKULLRODAMMO 159
#define T_SKULLRODBLAST 160
#define T_WIMPYPHOENIXRODAMMO 161
#define T_HEFTYPHOENIXRODAMMO 162
#define T_PHOENIXSHOT 163
#define T_IRONLICHBLUESHOT 164
#define T_WHIRLWIND 165
#define T_REDTELEGLITTER 166
#define T_BLUETELEGLITTER 167
// Hexen Spawnable things (used for thingcount() and thing spawners) ------
#define T_CENTAUR 1
#define T_CENTAURLEADER 2
#define T_DEMON1 3
#define T_ETTIN 4
#define T_FIREGARGOYLE 5
#define T_WATERLURKER 6
#define T_WATERLURKERLEADER 7
#define T_WRAITH 8
#define T_WRAITHBURIED 9
#define T_FIREBALL1 10
#define T_MANA1 11
#define T_MANA2 12
#define T_ITEMBOOTS 13
#define T_ITEMPORK 14
#define T_ITEMSUMMON 16
#define T_ITEMTPORTOTHER 17
#define T_BISHOP 19
#define T_ICEGOLEM 20
#define T_DRAGONSKINBRACERS 22
#define T_ITEMBOOSTMANA 26
#define T_FIGHTERAXE 27
#define T_FIGHTERHAMMER 28
#define T_FIGHTERSWORD1 29
#define T_FIGHTERSWORD2 30
#define T_FIGHTERSWORD3 31
#define T_CLERICSTAFF 32
#define T_CLERICHOLY1 33
#define T_CLERICHOLY2 34
#define T_CLERICHOLY3 35
#define T_MAGESHARDS 36
#define T_MAGESTAFF1 37
#define T_MAGESTAFF2 38
#define T_MAGESTAFF3 39
#define T_ARROW 50
#define T_DART 51
#define T_POISONDART 52
#define T_RIPPERBALL 53
#define T_BLADE 64
#define T_ICESHARD 65
#define T_FLAME_SMALL 66
#define T_FLAME_LARGE 67
#define T_MESHARMOR 68
#define T_FALCONSHIELD 69
#define T_PLATINUMHELM 70
#define T_AMULETOFWARDING 71
#define T_ITEMFLECHETTE 72
#define T_ITEMREPULSION 74
#define T_MANA3 75
#define T_PUZZSKULL 76
#define T_PUZZGEMBIG 77
#define T_PUZZGEMRED 78
#define T_PUZZGEMGREEN1 79
#define T_PUZZGEMGREEN2 80
#define T_PUZZGEMBLUE1 81
#define T_PUZZGEMBLUE2 82
#define T_PUZZBOOK1 83
#define T_PUZZBOOK2 84
#define T_METALKEY 85
#define T_SMALLMETALKEY 86
#define T_AXEKEY 87
#define T_FIREKEY 88
#define T_EMERALDKEY 89
#define T_MACEKEY 90
#define T_SILVERKEY 91
#define T_RUSTYKEY 92
#define T_HORNKEY 93
#define T_SERPENTKEY 94
#define T_WATERDRIP 95
#define T_TEMPSMALLFLAME 96
#define T_PERMSMALLFLAME 97
#define T_PERMLARGEFLAME 99
#define T_DEMON_MASH 100
#define T_DEMON2_MASH 101
#define T_ETTIN_MASH 102
#define T_CENTAUR_MASH 103
#define T_THRUSTSPIKEUP 104
#define T_THRUSTSPIKEDOWN 105
#define T_FLESH_DRIP1 106
#define T_FLESH_DRIP2 107
#define T_SPARK_DRIP 108
// Flags returned by ClassifyActor
#define ACTOR_NONE 0
#define ACTOR_WORLD 1
#define ACTOR_PLAYER 2
#define ACTOR_BOT 4
#define ACTOR_VOODOODOLL 8
#define ACTOR_MONSTER 16
#define ACTOR_ALIVE 32
#define ACTOR_DEAD 64
#define ACTOR_MISSILE 128
#define ACTOR_GENERIC 256
// Physical volumes for SoundSequenceOnSector
#define SECSEQ_FLOOR 1
#define SECSEQ_CEILING 2
#define SECSEQ_FULLHEIGHT 3
#define SECSEQ_INTERIOR 4
// Channels for PlaySound and StopSound
#define CHAN_AUTO 0
#define CHAN_WEAPON 1
#define CHAN_VOICE 2
#define CHAN_ITEM 3
#define CHAN_BODY 4
#define CHAN_5 5
#define CHAN_6 6
#define CHAN_7 7
// Modifier flags for PlaySound
#define CHAN_LISTENERZ 8
#define CHAN_MAYBE_LOCAL 16
#define CHAN_UI 32
#define CHAN_NOPAUSE 64
// Standard attenuation values for PlaySound
#define ATTN_NONE 0 // full volume the entire level
#define ATTN_NORM 1.0
#define ATTN_IDLE 1.001
#define ATTN_STATIC 3.0 // dimish very rapidly with distance
// Identifiers for PlayActorSound
#define SOUND_See 0
#define SOUND_Attack 1
#define SOUND_Pain 2
#define SOUND_Death 3
#define SOUND_Active 4
#define SOUND_Use 5
#define SOUND_Bounce 6
#define SOUND_WallBounce 7
#define SOUND_CrushPain 8
#define SOUND_Howl 9
// Flags for SpawnDecal
#define SDF_ABSANGLE 1
#define SDF_PERMANENT 2
#define SDF_FIXED_ZOFF 4
#define SDF_FIXED_DISTANCE 8
// Actor pointer selectors
#DEFINE AAPTR_DEFAULT 0
#DEFINE AAPTR_NULL 0x1
#DEFINE AAPTR_TARGET 0x2
#DEFINE AAPTR_MASTER 0x4
#DEFINE AAPTR_TRACER 0x8
#DEFINE AAPTR_PLAYER_GETTARGET 0x10
#DEFINE AAPTR_PLAYER_GETCONVERSATION 0x20
#DEFINE AAPTR_PLAYER1 0x40
#DEFINE AAPTR_PLAYER2 0x80
#DEFINE AAPTR_PLAYER3 0x100
#DEFINE AAPTR_PLAYER4 0x200
#DEFINE AAPTR_PLAYER5 0x400
#DEFINE AAPTR_PLAYER6 0x800
#DEFINE AAPTR_PLAYER7 0x1000
#DEFINE AAPTR_PLAYER8 0x2000
#DEFINE AAPTR_FRIENDPLAYER 0x4000
#DEFINE AAPTR_GET_LINETARGET 0x8000
// Actor pointer operation flags
#DEFINE PTROP_UNSAFETARGET 1
#DEFINE PTROP_UNSAFEMASTER 2
#DEFINE PTROP_NOSAFEGUARDS PTROP_UNSAFETARGET |PTROP_UNSAFEMASTER
// Line activation flags
#define SPAC_Cross 1 // when player crosses line
#define SPAC_Use 2 // when player uses line
#define SPAC_MCross 4 // when monster crosses line
#define SPAC_Impact 8 // when projectile hits line
#define SPAC_Push 16 // when player pushes line
#define SPAC_PCross 32 // when projectile crosses line
#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 SPAC_MUse 256 // monsters can use
#define SPAC_MPush 512 // monsters can push
#define SPAC_UseBack 1024 // can be used from the back side
#define SPAC_None 0
// GetArmorInfo
#define ARMORINFO_CLASSNAME 0
#define ARMORINFO_SAVEAMOUNT 1
#define ARMORINFO_SAVEPERCENT 2
#define ARMORINFO_MAXABSORB 3
#define ARMORINFO_MAXFULLABSORB 4
#define ARMORINFO_ACTUALSAVEAMOUNT 5
// ==========================================================================
// Skulltag Definitions
// ==========================================================================
// Skulltag Teams -----------------------------------------------------------
#define TEAM_BLUE 0
#define TEAM_RED 1
#define NO_TEAM 2
// Team properties ----------------------------------------------------------
#define TPROP_Name 0
#define TPROP_Score 1
#define TPROP_IsValid 2
#define TPROP_NumPlayers 3
#define TPROP_NumLivePlayers 4
#define TPROP_TextColor 5
#define TPROP_PlayerStartNum 6
#define TPROP_Spread 7
#define TPROP_Carrier 8
#define TPROP_Assister 9
#define TPROP_FragCount 10
#define TPROP_DeathCount 11
#define TPROP_WinCount 12
#define TPROP_PointCount 13
#define TPROP_ReturnTics 14
#define TPROP_TeamItem 15
#define TPROP_WinnerTheme 16
#define TPROP_LoserTheme 17
// Skulltag Invasion --------------------------------------------------------
#define IS_WAITINGFORPLAYERS 0
#define IS_FIRSTCOUNTDOWN 1
#define IS_INPROGRESS 2
#define IS_BOSSFIGHT 3
#define IS_WAVECOMPLETE 4
#define IS_COUNTDOWN 5
#define T_GRENADE 216
#define T_BFG10KSHOT 217
#define T_DARKIMPFIREBALL 218
#define T_CACOLANTERNSHOT 219
#define T_ABADDONSHOT 221
// Skulltag Monsters --------------------------------------------------------
#define T_DARKIMP 155
#define T_BLOODDEMON 156
#define T_SSGGUY 157
#define T_HECTEBUS 158
#define T_CACOLANTERN 159
#define T_BELPHEGOR 215
#define T_ABADDON 220
// Skulltag Weapons ---------------------------------------------------------
#define T_PISTOL 162
#define T_GRENADELAUNCHER 163
#define T_RAILGUN 164
#define T_BFG10000 165
#define T_MINIGUN 214
// Skulltag Armor/Health Items ----------------------------------------------
#define T_MAXHEALTHBONUS 166
#define T_MAXARMORBONUS 167
#define T_REDARMOR 168
// Skulltag Powerups --------------------------------------------------------
#define T_TURBOSPHERE 169
#define T_ANTIGRAVBELT 170
#define T_TIMEFREEZER 171
#define T_INFRAGOGGLES 172
#define T_INFRATRACKER 173
#define T_TRANSLUCENCY 174
#define T_DOOMSPHERE 175
#define T_RANDOMPOWERUP 176
// Skulltag Flags -----------------------------------------------------------
#define T_BLUEFLAG 177
#define T_REDFLAG 178
#define T_WHITEFLAG 179
// Skulltag Runes -----------------------------------------------------------
#define T_STRENGTH 180
#define T_RAGE 181
#define T_DRAIN 182
#define T_SPREAD 183
#define T_RESISTANCE 184
#define T_REGENERATION 185
#define T_PROSPERITY 186
#define T_REFLECTION 187
#define T_HIGHJUMP 188
#define T_HASTE 189
// Zandronum database additions ---------------------------------------------
#define DB_ORDER_ASC 0
#define DB_ORDER_DESC 1
// Events when you have input grabbed
#define EV_KeyDown 1 // data1: unshifted ASCII, data2: shifted ASCII
#define EV_KeyRepeat 2 // data1: unshifted ASCII, data2: shifted ASCII
#define EV_KeyUp 3 // data1: unshifted ASCII, data2: shifted ASCII
#define EV_Char 4 // data1: translated character for text input
#define EV_MouseMove 5 // data1: x, data2: y
#define EV_LButtonDown 6
#define EV_LButtonUp 7
#define EV_LButtonDblClick 8
#define EV_MButtonDown 9
#define EV_MButtonUp 10
#define EV_MButtonDblClick 11
#define EV_RButtonDown 12
#define EV_RButtonUp 13
#define EV_RButtonDblClick 14
#define EV_WheelDown 15
#define EV_WheelUp 16
// Key modifiers (or'd with event type)
#define GKM_SHIFT 256
#define GKM_CTRL 512
#define GKM_ALT 1024
// Button modifiers are only valid for EV_MouseMove events
#define GKM_LBUTTON 2048
#define GKM_MBUTTON 4096
#define GKM_RBUTTON 8192
// Special codes for some GUI keys, including a few real ASCII codes.
#define GK_PGDN 1
#define GK_PGUP 2
#define GK_HOME 3
#define GK_END 4
#define GK_LEFT 5
#define GK_RIGHT 6
#define GK_ALERT 7 // ASCII bell
#define GK_BACKSPACE 8 // ASCII
#define GK_TAB 9 // ASCII
#define GK_LINEFEED 10 // ASCII
#define GK_DOWN 10
#define GK_VTAB 11 // ASCII
#define GK_UP 11
#define GK_FORMFEED 12 // ASCII
#define GK_RETURN 13 // ASCII
#define GK_F1 14
#define GK_F2 15
#define GK_F3 16
#define GK_F4 17
#define GK_F5 18
#define GK_F6 19
#define GK_F7 20
#define GK_F8 21
#define GK_F9 22
#define GK_F10 23
#define GK_F11 24
#define GK_F12 25
#define GK_DEL 26
#define GK_ESCAPE 27 // ASCII
#define GK_FREE1 28
#define GK_FREE2 29
#define GK_FREE3 30
#define GK_CESCAPE 31 // color escape
#define CHANGELEVEL_KEEPFACING 1
#define CHANGELEVEL_RESETINVENTORY 2
#define CHANGELEVEL_NOMONSTERS 4
#define CHANGELEVEL_CHANGESKILL 8
#define CHANGELEVEL_NOINTERMISSION 16
#define CHANGELEVEL_RESETHEALTH 32
#define CHANGELEVEL_PRERAISEWEAPON 64
#define NO_CHANGE 32767.0
#define SECF_SILENT 1
#define SECF_NOFALLINGDAMAGE 2
#define SECF_FLOORDROP 4
#define SECF_NORESPAWN 8
#define SECF_FRICTION 16
#define SECF_PUSH 32
#define SECF_SILENTMOVE 64
#define SECF_DMGTERRAINFX 128
#define SECF_DMGENDGODMODE 256
#define SECF_DMGENDLEVEL 512
#define SECF_DMGHAZARD 1024
#define BLOCKF_CREATURES 1
#define BLOCKF_MONSTERS 2
#define BLOCKF_PLAYERS 4
#define BLOCKF_FLOATERS 8
#define BLOCKF_PROJECTILES 16
#define BLOCKF_EVERYTHING 32
#define BLOCKF_RAILING 64
#define BLOCKF_USE 128
#define BLOCKF_SIGHT 256
#define BLOCKF_HITSCAN 512
#define BLOCKF_SOUND 1024
#define BLOCKF_LANDMONSTERS 2048
#define FOGP_DENSITY 0
#define FOGP_OUTSIDEDENSITY 1
#define FOGP_SKYFOG 2
#define PRINTNAME_LEVELNAME -1
#define PRINTNAME_LEVEL -2
#define PRINTNAME_SKILL -3
#define PRINTNAME_NEXTLEVEL -4
#define PRINTNAME_NEXTSECRET -5
#define CSF_NOFAKEFLOORS 1
#define CSF_NOBLOCKALL 2
#define FHF_NORANDOMPUFFZ 1
#define FHF_NOIMPACTDECAL 2
// PickActor flags
#define PICKAF_FORCETID 1
#define PICKAF_RETURNTID 2
// magic value to set the ice translation through ACS
#define TRANSLATION_ICE 0x100007
// Actor flags
#define MF_SPECIAL 0x00000001
#define MF_SOLID 0x00000002
#define MF_SHOOTABLE 0x00000004
#define MF_NOSECTOR 0x00000008
#define MF_NOBLOCKMAP 0x00000010
#define MF_AMBUSH 0x00000020
#define MF_JUSTHIT 0x00000040
#define MF_JUSTATTACKED 0x00000080
#define MF_SPAWNCEILING 0x00000100
#define MF_NOGRAVITY 0x00000200
#define MF_DROPOFF 0x00000400
#define MF_PICKUP 0x00000800
#define MF_NOCLIP 0x00001000
#define MF_INCHASE 0x00002000
#define MF_FLOAT 0x00004000
#define MF_TELEPORT 0x00008000
#define MF_MISSILE 0x00010000
#define MF_DROPPED 0x00020000
#define MF_SHADOW 0x00040000
#define MF_NOBLOOD 0x00080000
#define MF_CORPSE 0x00100000
#define MF_INFLOAT 0x00200000
#define MF_INBOUNCE 0x00200000
#define MF_COUNTKILL 0x00400000
#define MF_COUNTITEM 0x00800000
#define MF_SKULLFLY 0x01000000
#define MF_NOTDMATCH 0x02000000
#define MF_SPAWNSOUNDSOURCE 0x04000000
#define MF_FRIENDLY 0x08000000
#define MF_UNMORPHED 0x10000000
#define MF_NOLIFTDROP 0x20000000
#define MF_STEALTH 0x40000000
#define MF_ICECORPSE 0x80000000
// Linedef flags
#define ML_BLOCKING 0x00000001
#define ML_BLOCKMONSTERS 0x00000002
#define ML_TWOSIDED 0x00000004
#define ML_DONTPEGTOP 0x00000008
#define ML_DONTPEGBOTTOM 0x00000010
#define ML_SECRET 0x00000020
#define ML_SOUNDBLOCK 0x00000040
#define ML_DONTDRAW 0x00000080
#define ML_MAPPED 0x00000100
#define ML_REPEAT_SPECIAL 0x00000200
#define ML_ADDTRANS 0x00000400
#define ML_MONSTERSCANACTIVATE 0x00002000
#define ML_BLOCK_PLAYERS 0x00004000
#define ML_BLOCKEVERYTHING 0x00008000
#define ML_ZONEBOUNDARY 0x00010000
#define ML_RAILING 0x00020000
#define ML_BLOCK_FLOATERS 0x00040000
#define ML_CLIP_MIDTEX 0x00080000
#define ML_WRAP_MIDTEX 0x00100000
#define ML_3DMIDTEX 0x00200000
#define ML_CHECKSWITCHRANGE 0x00400000
#define ML_FIRSTSIDEONLY 0x00800000
#define ML_BLOCKPROJECTILE 0x01000000
#define ML_BLOCKUSE 0x02000000
#define ML_BLOCKSIGHT 0x04000000
#define ML_BLOCKHITSCAN 0x08000000
#define QF_RELATIVE 1
#define QF_SCALEDOWN 1 << 1
#define QF_SCALEUP 1 << 2
#define QF_MAX 1 << 3
#define QF_FULLINTENSITY 1 << 4
#define QF_WAVE 1 << 5
#define QF_3D 1 << 6
#define QF_GROUNDONLY 1 << 7
#define QF_AFFECTACTORS 1 << 8
#define QF_SHAKEONLY 1 << 9
#define WARPF_ABSOLUTEOFFSET 0x1
#define WARPF_ABSOLUTEANGLE 0x2
#define WARPF_USECALLERANGLE 0x4
#define WARPF_NOCHECKPOSITION 0x8
#define WARPF_INTERPOLATE 0x10
#define WARPF_WARPINTERPOLATION 0x20
#define WARPF_COPYINTERPOLATION 0x40
#define WARPF_STOP 0x80
#define WARPF_TOFLOOR 0x100
#define WARPF_TESTONLY 0x200
#define WARPF_ABSOLUTEPOSITION 0x400
#define WARPF_BOB 0x800
#define WARPF_MOVEPTR 0x1000
#define WARPF_USEPTR 0x2000
#define WARPF_COPYVELOCITY 0x4000
#define WARPF_COPYPITCH 0x8000
#define CPXF_ANCESTOR (1 << 0)
#define CPXF_LESSOREQUAL (1 << 1)
#define CPXF_NOZ (1 << 2)
#define CPXF_COUNTDEAD (1 << 3)
#define CPXF_DEADONLY (1 << 4)
#define CPXF_EXACT (1 << 5)
#define CPXF_SETTARGET (1 << 6)
#define CPXF_SETMASTER (1 << 7)
#define CPXF_SETTRACER (1 << 8)
#define CPXF_FARTHEST (1 << 9)
#define CPXF_CLOSEST (1 << 10)
#define CPXF_SETONPTR (1 << 11)
#define CPXF_CHECKSIGHT (1 << 12)
#define SECPART_Floor 0
#define SECPART_Ceiling 1
#define SECPART_3D 2
// For Line_SetAutomapFlags; These are or'd together
#define AMLF_Secret (1 << 0)
#define AMLF_DontDraw (1 << 1)
#define AMLF_Mapped (1 << 2)
#define AMLF_Revealed (1 << 3)
// For Line_SetAutomapStyle
#define AMLS_Default 0
#define AMLS_OneSided 1
#define AMLS_TwoSided 2
#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
//**************************************************************************
//**
//** zdefs.acs
//**
//** Common definitions for use when compiling ACS scripts for ZDoom
//**
//**************************************************************************
#define TRUE 1
#define FALSE 0
#define ON 1
#define OFF 0
#define YES 1
#define NO 0
#define LINE_FRONT 0
#define LINE_BACK 1
#define SIDE_FRONT 0
#define SIDE_BACK 1
#define TEXTURE_TOP 0
#define TEXTURE_MIDDLE 1
#define TEXTURE_BOTTOM 2
// same information as combinable bit flags
#define TEXFLAG_TOP 1
#define TEXFLAG_MIDDLE 2
#define TEXFLAG_BOTTOM 4
#define TEXFLAG_ADDOFFSET 8
#define GAME_SINGLE_PLAYER 0
#define GAME_NET_COOPERATIVE 1
#define GAME_NET_DEATHMATCH 2
#define GAME_TITLE_MAP 3
// Classes are only useful with Hexen
#define CLASS_FIGHTER 0
#define CLASS_CLERIC 1
#define CLASS_MAGE 2
#define SKILL_VERY_EASY 0
#define SKILL_EASY 1
#define SKILL_NORMAL 2
#define SKILL_HARD 3
#define SKILL_VERY_HARD 4
#define BLOCK_NOTHING 0
#define BLOCK_CREATURES 1
#define BLOCK_EVERYTHING 2
#define BLOCK_RAILING 3
#define BLOCK_PLAYERS 4
#define SCROLL 0
#define CARRY 1
#define SCROLL_AND_CARRY 2
// Means-of-death for Sector_SetDamage --------------------------------------
#define MOD_UNKNOWN 0
#define MOD_ROCKET 5
#define MOD_R_SPLASH 6
#define MOD_PLASMARIFLE 7
#define MOD_BFG_BOOM 8
#define MOD_BFG_SPLASH 9
#define MOD_CHAINSAW 10
#define MOD_SSHOTGUN 11
#define MOD_WATER 12
#define MOD_SLIME 13
#define MOD_LAVA 14
#define MOD_CRUSH 15
#define MOD_TELEFRAG 16
#define MOD_FALLING 17
#define MOD_SUICIDE 18
#define MOD_BARREL 19
#define MOD_EXIT 20
#define MOD_SPLASH 21
#define MOD_HIT 22
#define MOD_RAILGUN 23
#define MOD_ICE 24
#define MOD_DISINTEGRATE 25
#define MOD_POISON 26
#define MOD_ELECTRIC 27
// Return values for PlayMovie ----------------------------------------------
#define MOVIE_Played 0
#define MOVIE_Played_NoVideo 1
#define MOVIE_Played_Aborted 2
#define MOVIE_Failed -1
// Player properties --------------------------------------------------------
#define PROP_FROZEN 0
#define PROP_NOTARGET 1
#define PROP_INSTANTWEAPONSWITCH 2
#define PROP_FLY 3
#define PROP_TOTALLYFROZEN 4
#define PROP_BUDDHA 16
#define PROP_BUDDHA2 17
#define PROP_FRIGHTENING 18
#define PROP_NOCLIP 19
#define PROP_NOCLIP2 20
#define PROP_GODMODE 21
#define PROP_GODMODE2 22
// The following properties correspond to powers given by certain items
#define PROP_INVULNERABILITY 5
#define PROP_STRENGTH 6
#define PROP_INVISIBILITY 7
#define PROP_RADIATIONSUIT 8
#define PROP_ALLMAP 9
#define PROP_INFRARED 10
#define PROP_WEAPONLEVEL2 11
#define PROP_FLIGHT 12
#define PROP_SPEED 15
// Player input -------------------------------------------------------------
// These are the original inputs sent by the player.
#define INPUT_OLDBUTTONS 0
#define INPUT_BUTTONS 1
#define INPUT_PITCH 2
#define INPUT_YAW 3
#define INPUT_ROLL 4
#define INPUT_FORWARDMOVE 5
#define INPUT_SIDEMOVE 6
#define INPUT_UPMOVE 7
// These are the inputs, as modified by P_PlayerThink().
// Most of the time, these will match the original inputs, but
// they can be different if a player is frozen or using a
// chainsaw.
#define MODINPUT_OLDBUTTONS 8
#define MODINPUT_BUTTONS 9
#define MODINPUT_PITCH 10
#define MODINPUT_YAW 11
#define MODINPUT_ROLL 12
#define MODINPUT_FORWARDMOVE 13
#define MODINPUT_SIDEMOVE 14
#define MODINPUT_UPMOVE 15
// Player buttons -----------------------------------------------------------
#define BT_ATTACK 1
#define BT_USE 2
#define BT_JUMP 4
#define BT_CROUCH 8
#define BT_TURN180 16
#define BT_ALTATTACK 32
#define BT_RELOAD 64
#define BT_ZOOM 128
#define BT_SPEED 256
#define BT_STRAFE 512
#define BT_MOVERIGHT 1024
#define BT_MOVELEFT 2048
#define BT_BACK 4096
#define BT_FORWARD 8192
#define BT_RIGHT 16384
#define BT_LEFT 32768
#define BT_LOOKUP 65536
#define BT_LOOKDOWN 131072
#define BT_MOVEUP 262144
#define BT_MOVEDOWN 524288
#define BT_SHOWSCORES 1048576
#define BT_RUN 33554432
// Do whatever you want with these.
#define BT_USER1 2097152
#define BT_USER2 4194304
#define BT_USER3 8388608
#define BT_USER4 16777216
// Text colors --------------------------------------------------------------
#define CR_UNTRANSLATED -1
#define CR_BRICK 0
#define CR_TAN 1
#define CR_GRAY 2
#define CR_GREY 2
#define CR_GREEN 3
#define CR_BROWN 4
#define CR_GOLD 5
#define CR_RED 6
#define CR_BLUE 7
#define CR_ORANGE 8
#define CR_WHITE 9
#define CR_YELLOW 10
#define CR_BLACK 12
#define CR_LIGHTBLUE 13
#define CR_CREAM 14
#define CR_OLIVE 15
#define CR_DARKGREEN 16
#define CR_DARKRED 17
#define CR_DARKBROWN 18
#define CR_PURPLE 19
#define CR_DARKGRAY 20
#define CR_DARKGREY 20
#define CR_CYAN 21
#define CR_ICE 22
#define CR_FIRE 23
#define CR_SAPPHIRE 24
#define CR_TEAL 25
// HUD message types --------------------------------------------------------
#define HUDMSG_PLAIN 0
#define HUDMSG_FADEOUT 1
#define HUDMSG_TYPEON 2
#define HUDMSG_FADEINOUT 3
// 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_LOG 0x80000000
// OR this with one of the above if the color you passed is a string
// instead of one of the CR_ constants.
#define HUDMSG_COLORSTRING 0x40000000
// OR this with one of the above to use additive blending when drawing the
// HUD message.
#define HUDMSG_ADDBLEND 0x20000000
// OR this with one of the above to use the extra alpha parameter
#define HUDMSG_ALPHA 0x10000000
// Or this with one of the above to not wrap lines
#define HUDMSG_NOWRAP 0x08000000
// HUD message layers; these are not flags
#define HUDMSG_LAYER_OVERHUD 0x00000000
#define HUDMSG_LAYER_UNDERHUD 0x00001000
#define HUDMSG_LAYER_OVERMAP 0x00002000
// HUD message visibility flags
#define HUDMSG_NOTWITH3DVIEW 0x00010000
#define HUDMSG_NOTWITHFULLMAP 0x00020000
#define HUDMSG_NOTWITHOVERLAYMAP 0x00040000
// "Scripted" Marine weapon types -------------------------------------------
#define MARINEWEAPON_Dummy 0
#define MARINEWEAPON_Fist 1
#define MARINEWEAPON_BerserkFist 2
#define MARINEWEAPON_Chainsaw 3
#define MARINEWEAPON_Pistol 4
#define MARINEWEAPON_Shotgun 5
#define MARINEWEAPON_SuperShotgun 6
#define MARINEWEAPON_Chaingun 7
#define MARINEWEAPON_RocketLauncher 8
#define MARINEWEAPON_PlasmaRifle 9
#define MARINEWEAPON_Railgun 10
#define MARINEWEAPON_BFG 11
// Actor properties you can get/set -----------------------------------------
#define APROP_Health 0
#define APROP_Speed 1
#define APROP_Damage 2
#define APROP_Alpha 3
#define APROP_RenderStyle 4
#define APROP_SeeSound 5 // Sounds can only be set, not gotten
#define APROP_AttackSound 6
#define APROP_PainSound 7
#define APROP_DeathSound 8
#define APROP_ActiveSound 9
#define APROP_Ambush 10
#define APROP_Invulnerable 11
#define APROP_JumpZ 12
#define APROP_ChaseGoal 13
#define APROP_Frightened 14
#define APROP_Gravity 15
#define APROP_Friendly 16
#define APROP_SpawnHealth 17
#define APROP_Dropped 18
#define APROP_Notarget 19
#define APROP_Species 20
#define APROP_Nametag 21
#define APROP_Score 22
#define APROP_Notrigger 23
#define APROP_DamageFactor 24
#define APROP_MasterTID 25
#define APROP_TargetTID 26
#define APROP_TracerTID 27
#define APROP_Waterlevel 28
#define APROP_ScaleX 29
#define APROP_ScaleY 30
#define APROP_Dormant 31
#define APROP_Mass 32
#define APROP_Accuracy 33
#define APROP_Stamina 34
#define APROP_Height 35
#define APROP_Radius 36
#define APROP_Reactiontime 37
#define APROP_MeleeRange 38
#define APROP_ViewHeight 39
#define APROP_AttackZOffset 40
#define APROP_StencilColor 41
#define APROP_Friction 42
#define APROP_DamageMultiplier 43
#define APROP_MaxStepHeight 44
#define APROP_MaxDropOffHeight 45
#define APROP_DamageType 46
#define APROP_SoundClass 47
#define APROP_FriendlySeeBlocks 48
#define APROP_WaterDepth 49
// New to Eternity
#define APROP_Counter0 100
#define APROP_Counter1 101
#define APROP_Counter2 102
#define APROP_Counter3 103
#define APROP_Counter4 104
#define APROP_Counter5 105
#define APROP_Counter6 106
#define APROP_Counter7 107
// Render Styles ------------------------------------------------------------
#define STYLE_None 0 // Do not draw
#define STYLE_Normal 1 // Normal; just copy the image to the screen
#define STYLE_Fuzzy 2 // Draw silhouette using "fuzz" effect
#define STYLE_SoulTrans 3 // Draw translucent with amount in r_transsouls
#define STYLE_OptFuzzy 4 // Draw as fuzzy, translucent or shadow, based on user preference
#define STYLE_Stencil 5 // Draw as solid color
#define STYLE_AddStencil 6 // Draw as additive solid color
#define STYLE_AddShaded 7 //
#define STYLE_Translucent 64 // Draw translucent
#define STYLE_Add 65 // Draw additive
#define STYLE_Shaded 66 //
#define STYLE_TranslucentStencil 67
#define STYLE_Shadow 68 // Draw dark translucent stencil
#define STYLE_Subtract 69 // Draw subtractive
// Properties you can use with GetLevelInfo() -------------------------------
#define LEVELINFO_PAR_TIME 0
#define LEVELINFO_CLUSTERNUM 1
#define LEVELINFO_LEVELNUM 2
#define LEVELINFO_TOTAL_SECRETS 3
#define LEVELINFO_FOUND_SECRETS 4
#define LEVELINFO_TOTAL_ITEMS 5
#define LEVELINFO_FOUND_ITEMS 6
#define LEVELINFO_TOTAL_MONSTERS 7
#define LEVELINFO_KILLED_MONSTERS 8
#define LEVELINFO_SUCK_TIME 9
// Properties you can use with GetPlayerInfo() ------------------------------
#define PLAYERINFO_TEAM 0
#define PLAYERINFO_AIMDIST 1
#define PLAYERINFO_COLOR 2
#define PLAYERINFO_GENDER 3
#define PLAYERINFO_NEVERSWITCH 4
#define PLAYERINFO_MOVEBOB 5
#define PLAYERINFO_STILLBOB 6
#define PLAYERINFO_PLAYERCLASS 7
#define PLAYERINFO_FOV 8
#define PLAYERINFO_DESIREDFOV 9
#define PLAYERINFO_FVIEWBOB 10
// Flags for ReplaceTextures ------------------------------------------------
#define NOT_BOTTOM 1
#define NOT_MIDDLE 2
#define NOT_TOP 4
#define NOT_FLOOR 8
#define NOT_CEILING 16
// Flags for SectorDamage ---------------------------------------------------
#define DAMAGE_PLAYERS 1
#define DAMAGE_NONPLAYERS 2
#define DAMAGE_IN_AIR 4
#define DAMAGE_SUBCLASSES_PROTECT 8
#define DAMAGE_NO_ARMOR 16
// Flags for MorphActor -----------------------------------------------------
#define MRF_OLDEFFECTS 0x00000000
#define MRF_ADDSTAMINA 0x00000001
#define MRF_FULLHEALTH 0x00000002
#define MRF_UNDOBYTOMEOFPOWER 0x00000004
#define MRF_UNDOBYCHAOSDEVICE 0x00000008
#define MRF_FAILNOTELEFRAG 0x00000010
#define MRF_FAILNOLAUGH 0x00000020
#define MRF_WHENINVULNERABLE 0x00000040
#define MRF_LOSEACTUALWEAPON 0x00000080
#define MRF_NEWTIDBEHAVIOUR 0x00000100
#define MRF_UNDOBYDEATH 0x00000200
#define MRF_UNDOBYDEATHFORCED 0x00000400
#define MRF_UNDOBYDEATHSAVES 0x00000800
#define MRF_UNDOALWAYS 0x00001000
#define MRF_TRANSFERTRANSLATION 0x00002000
// Shared spawnable things from Hexen. You can spawn these in the other -----
// games if you provide sprites for them, otherwise they'll be invisible. ---
#define T_ROCK1 41
#define T_ROCK2 42
#define T_ROCK3 43
#define T_DIRT1 44
#define T_DIRT2 45
#define T_DIRT3 46
#define T_DIRT4 47
#define T_DIRT5 48
#define T_DIRT6 49
#define T_STAINEDGLASS1 54
#define T_STAINEDGLASS2 55
#define T_STAINEDGLASS3 56
#define T_STAINEDGLASS4 57
#define T_STAINEDGLASS5 58
#define T_STAINEDGLASS6 59
#define T_STAINEDGLASS7 60
#define T_STAINEDGLASS8 61
#define T_STAINEDGLASS9 62
#define T_STAINEDGLASS0 63
// Doom Spawnable things (used for thingcount() and thing spawners) ---------
#define T_NONE 0
#define T_SHOTGUY 1
#define T_CHAINGUY 2
#define T_BARON 3
#define T_ZOMBIE 4
#define T_IMP 5
#define T_ARACHNOTRON 6
#define T_SPIDERMASTERMIND 7
#define T_DEMON 8
#define T_SPECTRE 9
#define T_IMPFIREBALL 10
#define T_CLIP 11
#define T_SHELLS 12
#define T_CACODEMON 19
#define T_REVENANT 20
#define T_BRIDGE 21
#define T_ARMORBONUS 22
#define T_STIMPACK 23
#define T_MEDKIT 24
#define T_SOULSPHERE 25
#define T_SHOTGUN 27
#define T_CHAINGUN 28
#define T_ROCKETLAUNCHER 29
#define T_PLASMAGUN 30
#define T_BFG 31
#define T_CHAINSAW 32
#define T_SUPERSHOTGUN 33
#define T_PLASMABOLT 51
#define T_TRACER 53
#define T_GREENARMOR 68
#define T_BLUEARMOR 69
#define T_CELL 75
#define T_BLUEKEYCARD 85
#define T_REDKEYCARD 86
#define T_YELLOWKEYCARD 87
#define T_YELLOWSKULLKEY 88
#define T_REDSKULLKEY 89
#define T_BLUESKULLKEY 90
#define T_TEMPLARGEFLAME 98
#define T_STEALTHBARON 100
#define T_STEALTHKNIGHT 101
#define T_STEALTHZOMBIE 102
#define T_STEALTHSHOTGUY 103
#define T_LOSTSOUL 110
#define T_VILE 111
#define T_MANCUBUS 112
#define T_HELLKNIGHT 113
#define T_CYBERDEMON 114
#define T_PAINELEMENTAL 115
#define T_WOLFSS 116
#define T_STEALTHARACHNOTRON 117
#define T_STEALTHVILE 118
#define T_STEALTHCACODEMON 119
#define T_STEALTHCHAINGUY 120
#define T_STEALTHSERGEANT 121
#define T_STEALTHIMP 122
#define T_STEALTHMANCUBUS 123
#define T_STEALTHREVENANT 124
#define T_BARREL 125
#define T_CACODEMONSHOT 126
#define T_ROCKET 127
#define T_BFGSHOT 128
#define T_ARACHNOTRONPLASMA 129
#define T_BLOOD 130
#define T_PUFF 131
#define T_MEGASPHERE 132
#define T_INVULNERABILITY 133
#define T_BERSERK 134
#define T_INVISIBILITY 135
#define T_IRONFEET 136
#define T_COMPUTERMAP 137
#define T_LIGHTAMP 138
#define T_AMMOBOX 139
#define T_ROCKETAMMO 140
#define T_ROCKETBOX 141
#define T_BATTERY 142
#define T_SHELLBOX 143
#define T_BACKPACK 144
#define T_GUTS 145
#define T_BLOODPOOL 146
#define T_BLOODPOOL1 147
#define T_BLOODPOOL2 148
#define T_FLAMINGBARREL 149
#define T_BRAINS 150
#define T_SCRIPTEDMARINE 151
#define T_HEALTHBONUS 152
#define T_MANCUBUSSHOT 153
#define T_BARONBALL 154
// Heretic Spawnable things (used for thingcount() and thing spawners) ------
#define T_CLINK 1
#define T_MUMMYLEADER 2
#define T_BEAST 3
#define T_MUMMY 4
//#define T_IMP 5 // Defined above
#define T_KNIGHT 6
#define T_IMPLEADER 7
#define T_MUMMYGHOST 8
#define T_MUMMYLEADERGHOST 9
//#define T_IMPFIREBALL 10
#define T_WIMPYWANDAMMO 11
#define T_HEFTYWANDAMMO 12
#define T_ITEMEGG 14
#define T_ITEMFLIGHT 15
#define T_ITEMTELEPORT 18
#define T_WIZARD 19
#define T_IRONLICH 20
#define T_ITEMHEALTHPOTION 23
#define T_ITEMHEALTHFLASH 24 // incorrect name but keep it for compatibility
#define T_ITEMHEALTHFLASK 24
#define T_ITEMHEALTHFULL 25
#define T_CROSSBOW 27
#define T_BLASTER 28
#define T_PHOENIXROD 29
#define T_SKULLROD 30
#define T_MACE 31
#define T_GAUNTLETS 32
#define T_WIMPYCROSSBOWAMMO 33
#define T_HEFTYCROSSBOWAMMO 34
#define T_WIMPYMACEAMMO 35
#define T_HEFTYMACEAMMO 36
#define T_WIMPYBLASTERAMMO 37
#define T_HEFTYBLASTERAMMO 38
#define T_MORPHBLAST 40
#define T_SHIELD1 68
#define T_SHIELD2 69
#define T_ITEMTIMEBOMB 72
#define T_ITEMTORCH 73
#define T_BLUEKEY 85
#define T_GREENKEY 86
#define T_YELLOWKEY 87
#define T_SOUND_WIND 110
#define T_SOUND_WATERFALL 111
#define T_BEASTBALL 120
#define T_FEATHER 121
#define T_CHICKEN 122
#define T_VOLCANOBALL 123
#define T_TINYVOLCANOBALL 124
#define T_POD 125
#define T_PODGENERATOR 126
#define T_KNIGHTAXE 127
#define T_KNIGHTBLOODAXE 128
#define T_KNIGHTGHOST 129
#define T_MUMMYHEAD 131
#define T_SNAKE 132
#define T_ITEMINVULNERABILITY 133
#define T_ITEMTOME 134
#define T_ITEMINVISIBILITY 135
#define T_ITEMBAGOFHOLDING 136
#define T_ITEMALLMAP 137
#define T_SNAKEPROJECTILE 138
#define T_SNAKEPROJECTILEBIG 139
#define T_WIZARDSHOT 140
#define T_DSPARILTELEPORTDEST 141
#define T_DSPARILONSERPENT 142
#define T_DSPARILALONE 143
#define T_SERPENTFIREBALL 144
#define T_DSPARILBLUESHOT 145
#define T_DSPARILWIZARDSPAWNER 146
#define T_CROSSBOWMAINBLAST 147
#define T_CROSSBOWMINIBLAST 148
#define T_CROSSBOWPOWERBLAST 149
#define T_VOLCANO 150
#define T_POWERWANDMINIBLAST 151
#define T_POWERWANDBIGGERBLAST 152
#define T_DEATHBALL 153
#define T_NOGRAVITYMACEBALL 154
#define T_BOUNCYMACEBALL 155
#define T_HEAVYMACEBALL 156
#define T_RIPPER 157
#define T_WIMPYSKULLRODAMMO 158
#define T_HEFTYSKULLRODAMMO 159
#define T_SKULLRODBLAST 160
#define T_WIMPYPHOENIXRODAMMO 161
#define T_HEFTYPHOENIXRODAMMO 162
#define T_PHOENIXSHOT 163
#define T_IRONLICHBLUESHOT 164
#define T_WHIRLWIND 165
#define T_REDTELEGLITTER 166
#define T_BLUETELEGLITTER 167
// Hexen Spawnable things (used for thingcount() and thing spawners) ------
#define T_CENTAUR 1
#define T_CENTAURLEADER 2
#define T_DEMON1 3
#define T_ETTIN 4
#define T_FIREGARGOYLE 5
#define T_WATERLURKER 6
#define T_WATERLURKERLEADER 7
#define T_WRAITH 8
#define T_WRAITHBURIED 9
#define T_FIREBALL1 10
#define T_MANA1 11
#define T_MANA2 12
#define T_ITEMBOOTS 13
#define T_ITEMPORK 14
#define T_ITEMSUMMON 16
#define T_ITEMTPORTOTHER 17
#define T_BISHOP 19
#define T_ICEGOLEM 20
#define T_DRAGONSKINBRACERS 22
#define T_ITEMBOOSTMANA 26
#define T_FIGHTERAXE 27
#define T_FIGHTERHAMMER 28
#define T_FIGHTERSWORD1 29
#define T_FIGHTERSWORD2 30
#define T_FIGHTERSWORD3 31
#define T_CLERICSTAFF 32
#define T_CLERICHOLY1 33
#define T_CLERICHOLY2 34
#define T_CLERICHOLY3 35
#define T_MAGESHARDS 36
#define T_MAGESTAFF1 37
#define T_MAGESTAFF2 38
#define T_MAGESTAFF3 39
#define T_ARROW 50
#define T_DART 51
#define T_POISONDART 52
#define T_RIPPERBALL 53
#define T_BLADE 64
#define T_ICESHARD 65
#define T_FLAME_SMALL 66
#define T_FLAME_LARGE 67
#define T_MESHARMOR 68
#define T_FALCONSHIELD 69
#define T_PLATINUMHELM 70
#define T_AMULETOFWARDING 71
#define T_ITEMFLECHETTE 72
#define T_ITEMREPULSION 74
#define T_MANA3 75
#define T_PUZZSKULL 76
#define T_PUZZGEMBIG 77
#define T_PUZZGEMRED 78
#define T_PUZZGEMGREEN1 79
#define T_PUZZGEMGREEN2 80
#define T_PUZZGEMBLUE1 81
#define T_PUZZGEMBLUE2 82
#define T_PUZZBOOK1 83
#define T_PUZZBOOK2 84
#define T_METALKEY 85
#define T_SMALLMETALKEY 86
#define T_AXEKEY 87
#define T_FIREKEY 88
#define T_EMERALDKEY 89
#define T_MACEKEY 90
#define T_SILVERKEY 91
#define T_RUSTYKEY 92
#define T_HORNKEY 93
#define T_SERPENTKEY 94
#define T_WATERDRIP 95
#define T_TEMPSMALLFLAME 96
#define T_PERMSMALLFLAME 97
#define T_PERMLARGEFLAME 99
#define T_DEMON_MASH 100
#define T_DEMON2_MASH 101
#define T_ETTIN_MASH 102
#define T_CENTAUR_MASH 103
#define T_THRUSTSPIKEUP 104
#define T_THRUSTSPIKEDOWN 105
#define T_FLESH_DRIP1 106
#define T_FLESH_DRIP2 107
#define T_SPARK_DRIP 108
// Flags returned by ClassifyActor
#define ACTOR_NONE 0
#define ACTOR_WORLD 1
#define ACTOR_PLAYER 2
#define ACTOR_BOT 4
#define ACTOR_VOODOODOLL 8
#define ACTOR_MONSTER 16
#define ACTOR_ALIVE 32
#define ACTOR_DEAD 64
#define ACTOR_MISSILE 128
#define ACTOR_GENERIC 256
// Physical volumes for SoundSequenceOnSector
#define SECSEQ_FLOOR 1
#define SECSEQ_CEILING 2
#define SECSEQ_FULLHEIGHT 3
#define SECSEQ_INTERIOR 4
// Channels for PlaySound and StopSound
#define CHAN_AUTO 0
#define CHAN_WEAPON 1
#define CHAN_VOICE 2
#define CHAN_ITEM 3
#define CHAN_BODY 4
#define CHAN_5 5
#define CHAN_6 6
#define CHAN_7 7
// Modifier flags for PlaySound
#define CHAN_LISTENERZ 8
#define CHAN_MAYBE_LOCAL 16
#define CHAN_UI 32
#define CHAN_NOPAUSE 64
// Standard attenuation values for PlaySound
#define ATTN_NONE 0 // full volume the entire level
#define ATTN_NORM 1.0
#define ATTN_IDLE 1.001
#define ATTN_STATIC 3.0 // dimish very rapidly with distance
// Identifiers for PlayActorSound
#define SOUND_See 0
#define SOUND_Attack 1
#define SOUND_Pain 2
#define SOUND_Death 3
#define SOUND_Active 4
#define SOUND_Use 5
#define SOUND_Bounce 6
#define SOUND_WallBounce 7
#define SOUND_CrushPain 8
#define SOUND_Howl 9
// Flags for SpawnDecal
#define SDF_ABSANGLE 1
#define SDF_PERMANENT 2
#define SDF_FIXED_ZOFF 4
#define SDF_FIXED_DISTANCE 8
// Actor pointer selectors
#DEFINE AAPTR_DEFAULT 0
#DEFINE AAPTR_NULL 0x1
#DEFINE AAPTR_TARGET 0x2
#DEFINE AAPTR_MASTER 0x4
#DEFINE AAPTR_TRACER 0x8
#DEFINE AAPTR_PLAYER_GETTARGET 0x10
#DEFINE AAPTR_PLAYER_GETCONVERSATION 0x20
#DEFINE AAPTR_PLAYER1 0x40
#DEFINE AAPTR_PLAYER2 0x80
#DEFINE AAPTR_PLAYER3 0x100
#DEFINE AAPTR_PLAYER4 0x200
#DEFINE AAPTR_PLAYER5 0x400
#DEFINE AAPTR_PLAYER6 0x800
#DEFINE AAPTR_PLAYER7 0x1000
#DEFINE AAPTR_PLAYER8 0x2000
#DEFINE AAPTR_FRIENDPLAYER 0x4000
#DEFINE AAPTR_GET_LINETARGET 0x8000
// Actor pointer operation flags
#DEFINE PTROP_UNSAFETARGET 1
#DEFINE PTROP_UNSAFEMASTER 2
#DEFINE PTROP_NOSAFEGUARDS PTROP_UNSAFETARGET |PTROP_UNSAFEMASTER
// Line activation flags
#define SPAC_Cross 1 // when player crosses line
#define SPAC_Use 2 // when player uses line
#define SPAC_MCross 4 // when monster crosses line
#define SPAC_Impact 8 // when projectile hits line
#define SPAC_Push 16 // when player pushes line
#define SPAC_PCross 32 // when projectile crosses line
#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 SPAC_MUse 256 // monsters can use
#define SPAC_MPush 512 // monsters can push
#define SPAC_UseBack 1024 // can be used from the back side
#define SPAC_None 0
// GetArmorInfo
#define ARMORINFO_CLASSNAME 0
#define ARMORINFO_SAVEAMOUNT 1
#define ARMORINFO_SAVEPERCENT 2
#define ARMORINFO_MAXABSORB 3
#define ARMORINFO_MAXFULLABSORB 4
#define ARMORINFO_ACTUALSAVEAMOUNT 5
// ==========================================================================
// Skulltag Definitions
// ==========================================================================
// Skulltag Teams -----------------------------------------------------------
#define TEAM_BLUE 0
#define TEAM_RED 1
#define NO_TEAM 2
// Team properties ----------------------------------------------------------
#define TPROP_Name 0
#define TPROP_Score 1
#define TPROP_IsValid 2
#define TPROP_NumPlayers 3
#define TPROP_NumLivePlayers 4
#define TPROP_TextColor 5
#define TPROP_PlayerStartNum 6
#define TPROP_Spread 7
#define TPROP_Carrier 8
#define TPROP_Assister 9
#define TPROP_FragCount 10
#define TPROP_DeathCount 11
#define TPROP_WinCount 12
#define TPROP_PointCount 13
#define TPROP_ReturnTics 14
#define TPROP_TeamItem 15
#define TPROP_WinnerTheme 16
#define TPROP_LoserTheme 17
// Skulltag Invasion --------------------------------------------------------
#define IS_WAITINGFORPLAYERS 0
#define IS_FIRSTCOUNTDOWN 1
#define IS_INPROGRESS 2
#define IS_BOSSFIGHT 3
#define IS_WAVECOMPLETE 4
#define IS_COUNTDOWN 5
#define T_GRENADE 216
#define T_BFG10KSHOT 217
#define T_DARKIMPFIREBALL 218
#define T_CACOLANTERNSHOT 219
#define T_ABADDONSHOT 221
// Skulltag Monsters --------------------------------------------------------
#define T_DARKIMP 155
#define T_BLOODDEMON 156
#define T_SSGGUY 157
#define T_HECTEBUS 158
#define T_CACOLANTERN 159
#define T_BELPHEGOR 215
#define T_ABADDON 220
// Skulltag Weapons ---------------------------------------------------------
#define T_PISTOL 162
#define T_GRENADELAUNCHER 163
#define T_RAILGUN 164
#define T_BFG10000 165
#define T_MINIGUN 214
// Skulltag Armor/Health Items ----------------------------------------------
#define T_MAXHEALTHBONUS 166
#define T_MAXARMORBONUS 167
#define T_REDARMOR 168
// Skulltag Powerups --------------------------------------------------------
#define T_TURBOSPHERE 169
#define T_ANTIGRAVBELT 170
#define T_TIMEFREEZER 171
#define T_INFRAGOGGLES 172
#define T_INFRATRACKER 173
#define T_TRANSLUCENCY 174
#define T_DOOMSPHERE 175
#define T_RANDOMPOWERUP 176
// Skulltag Flags -----------------------------------------------------------
#define T_BLUEFLAG 177
#define T_REDFLAG 178
#define T_WHITEFLAG 179
// Skulltag Runes -----------------------------------------------------------
#define T_STRENGTH 180
#define T_RAGE 181
#define T_DRAIN 182
#define T_SPREAD 183
#define T_RESISTANCE 184
#define T_REGENERATION 185
#define T_PROSPERITY 186
#define T_REFLECTION 187
#define T_HIGHJUMP 188
#define T_HASTE 189
// Zandronum database additions ---------------------------------------------
#define DB_ORDER_ASC 0
#define DB_ORDER_DESC 1
// Events when you have input grabbed
#define EV_KeyDown 1 // data1: unshifted ASCII, data2: shifted ASCII
#define EV_KeyRepeat 2 // data1: unshifted ASCII, data2: shifted ASCII
#define EV_KeyUp 3 // data1: unshifted ASCII, data2: shifted ASCII
#define EV_Char 4 // data1: translated character for text input
#define EV_MouseMove 5 // data1: x, data2: y
#define EV_LButtonDown 6
#define EV_LButtonUp 7
#define EV_LButtonDblClick 8
#define EV_MButtonDown 9
#define EV_MButtonUp 10
#define EV_MButtonDblClick 11
#define EV_RButtonDown 12
#define EV_RButtonUp 13
#define EV_RButtonDblClick 14
#define EV_WheelDown 15
#define EV_WheelUp 16
// Key modifiers (or'd with event type)
#define GKM_SHIFT 256
#define GKM_CTRL 512
#define GKM_ALT 1024
// Button modifiers are only valid for EV_MouseMove events
#define GKM_LBUTTON 2048
#define GKM_MBUTTON 4096
#define GKM_RBUTTON 8192
// Special codes for some GUI keys, including a few real ASCII codes.
#define GK_PGDN 1
#define GK_PGUP 2
#define GK_HOME 3
#define GK_END 4
#define GK_LEFT 5
#define GK_RIGHT 6
#define GK_ALERT 7 // ASCII bell
#define GK_BACKSPACE 8 // ASCII
#define GK_TAB 9 // ASCII
#define GK_LINEFEED 10 // ASCII
#define GK_DOWN 10
#define GK_VTAB 11 // ASCII
#define GK_UP 11
#define GK_FORMFEED 12 // ASCII
#define GK_RETURN 13 // ASCII
#define GK_F1 14
#define GK_F2 15
#define GK_F3 16
#define GK_F4 17
#define GK_F5 18
#define GK_F6 19
#define GK_F7 20
#define GK_F8 21
#define GK_F9 22
#define GK_F10 23
#define GK_F11 24
#define GK_F12 25
#define GK_DEL 26
#define GK_ESCAPE 27 // ASCII
#define GK_FREE1 28
#define GK_FREE2 29
#define GK_FREE3 30
#define GK_CESCAPE 31 // color escape
#define CHANGELEVEL_KEEPFACING 1
#define CHANGELEVEL_RESETINVENTORY 2
#define CHANGELEVEL_NOMONSTERS 4
#define CHANGELEVEL_CHANGESKILL 8
#define CHANGELEVEL_NOINTERMISSION 16
#define CHANGELEVEL_RESETHEALTH 32
#define CHANGELEVEL_PRERAISEWEAPON 64
#define CHANGELEVEL_NOAUTOSAVE 128 // VKDoom
#define NO_CHANGE 32767.0
#define SECF_SILENT 1
#define SECF_NOFALLINGDAMAGE 2
#define SECF_FLOORDROP 4
#define SECF_NORESPAWN 8
#define SECF_FRICTION 16
#define SECF_PUSH 32
#define SECF_SILENTMOVE 64
#define SECF_DMGTERRAINFX 128
#define SECF_DMGENDGODMODE 256
#define SECF_DMGENDLEVEL 512
#define SECF_DMGHAZARD 1024
#define BLOCKF_CREATURES 1
#define BLOCKF_MONSTERS 2
#define BLOCKF_PLAYERS 4
#define BLOCKF_FLOATERS 8
#define BLOCKF_PROJECTILES 16
#define BLOCKF_EVERYTHING 32
#define BLOCKF_RAILING 64
#define BLOCKF_USE 128
#define BLOCKF_SIGHT 256
#define BLOCKF_HITSCAN 512
#define BLOCKF_SOUND 1024
#define BLOCKF_LANDMONSTERS 2048
#define FOGP_DENSITY 0
#define FOGP_OUTSIDEDENSITY 1
#define FOGP_SKYFOG 2
#define PRINTNAME_LEVELNAME -1
#define PRINTNAME_LEVEL -2
#define PRINTNAME_SKILL -3
#define PRINTNAME_NEXTLEVEL -4
#define PRINTNAME_NEXTSECRET -5
#define CSF_NOFAKEFLOORS 1
#define CSF_NOBLOCKALL 2
#define FHF_NORANDOMPUFFZ 1
#define FHF_NOIMPACTDECAL 2
// PickActor flags
#define PICKAF_FORCETID 1
#define PICKAF_RETURNTID 2
// magic value to set the ice translation through ACS
#define TRANSLATION_ICE 0x100007
// Actor flags
#define MF_SPECIAL 0x00000001
#define MF_SOLID 0x00000002
#define MF_SHOOTABLE 0x00000004
#define MF_NOSECTOR 0x00000008
#define MF_NOBLOCKMAP 0x00000010
#define MF_AMBUSH 0x00000020
#define MF_JUSTHIT 0x00000040
#define MF_JUSTATTACKED 0x00000080
#define MF_SPAWNCEILING 0x00000100
#define MF_NOGRAVITY 0x00000200
#define MF_DROPOFF 0x00000400
#define MF_PICKUP 0x00000800
#define MF_NOCLIP 0x00001000
#define MF_INCHASE 0x00002000
#define MF_FLOAT 0x00004000
#define MF_TELEPORT 0x00008000
#define MF_MISSILE 0x00010000
#define MF_DROPPED 0x00020000
#define MF_SHADOW 0x00040000
#define MF_NOBLOOD 0x00080000
#define MF_CORPSE 0x00100000
#define MF_INFLOAT 0x00200000
#define MF_INBOUNCE 0x00200000
#define MF_COUNTKILL 0x00400000
#define MF_COUNTITEM 0x00800000
#define MF_SKULLFLY 0x01000000
#define MF_NOTDMATCH 0x02000000
#define MF_SPAWNSOUNDSOURCE 0x04000000
#define MF_FRIENDLY 0x08000000
#define MF_UNMORPHED 0x10000000
#define MF_NOLIFTDROP 0x20000000
#define MF_STEALTH 0x40000000
#define MF_ICECORPSE 0x80000000
// Linedef flags
#define ML_BLOCKING 0x00000001
#define ML_BLOCKMONSTERS 0x00000002
#define ML_TWOSIDED 0x00000004
#define ML_DONTPEGTOP 0x00000008
#define ML_DONTPEGBOTTOM 0x00000010
#define ML_SECRET 0x00000020
#define ML_SOUNDBLOCK 0x00000040
#define ML_DONTDRAW 0x00000080
#define ML_MAPPED 0x00000100
#define ML_REPEAT_SPECIAL 0x00000200
#define ML_ADDTRANS 0x00000400
#define ML_MONSTERSCANACTIVATE 0x00002000
#define ML_BLOCK_PLAYERS 0x00004000
#define ML_BLOCKEVERYTHING 0x00008000
#define ML_ZONEBOUNDARY 0x00010000
#define ML_RAILING 0x00020000
#define ML_BLOCK_FLOATERS 0x00040000
#define ML_CLIP_MIDTEX 0x00080000
#define ML_WRAP_MIDTEX 0x00100000
#define ML_3DMIDTEX 0x00200000
#define ML_CHECKSWITCHRANGE 0x00400000
#define ML_FIRSTSIDEONLY 0x00800000
#define ML_BLOCKPROJECTILE 0x01000000
#define ML_BLOCKUSE 0x02000000
#define ML_BLOCKSIGHT 0x04000000
#define ML_BLOCKHITSCAN 0x08000000
#define QF_RELATIVE 1
#define QF_SCALEDOWN 1 << 1
#define QF_SCALEUP 1 << 2
#define QF_MAX 1 << 3
#define QF_FULLINTENSITY 1 << 4
#define QF_WAVE 1 << 5
#define QF_3D 1 << 6
#define QF_GROUNDONLY 1 << 7
#define QF_AFFECTACTORS 1 << 8
#define QF_SHAKEONLY 1 << 9
#define QF_DAMAGEFALLOFF 1 << 10
#define WARPF_ABSOLUTEOFFSET 0x1
#define WARPF_ABSOLUTEANGLE 0x2
#define WARPF_USECALLERANGLE 0x4
#define WARPF_NOCHECKPOSITION 0x8
#define WARPF_INTERPOLATE 0x10
#define WARPF_WARPINTERPOLATION 0x20
#define WARPF_COPYINTERPOLATION 0x40
#define WARPF_STOP 0x80
#define WARPF_TOFLOOR 0x100
#define WARPF_TESTONLY 0x200
#define WARPF_ABSOLUTEPOSITION 0x400
#define WARPF_BOB 0x800
#define WARPF_MOVEPTR 0x1000
#define WARPF_USEPTR 0x2000
#define WARPF_COPYVELOCITY 0x4000
#define WARPF_COPYPITCH 0x8000
#define CPXF_ANCESTOR (1 << 0)
#define CPXF_LESSOREQUAL (1 << 1)
#define CPXF_NOZ (1 << 2)
#define CPXF_COUNTDEAD (1 << 3)
#define CPXF_DEADONLY (1 << 4)
#define CPXF_EXACT (1 << 5)
#define CPXF_SETTARGET (1 << 6)
#define CPXF_SETMASTER (1 << 7)
#define CPXF_SETTRACER (1 << 8)
#define CPXF_FARTHEST (1 << 9)
#define CPXF_CLOSEST (1 << 10)
#define CPXF_SETONPTR (1 << 11)
#define CPXF_CHECKSIGHT (1 << 12)
#define SECPART_Floor 0
#define SECPART_Ceiling 1
#define SECPART_3D 2
// For Line_SetAutomapFlags; These are or'd together
#define AMLF_Secret (1 << 0)
#define AMLF_DontDraw (1 << 1)
#define AMLF_Mapped (1 << 2)
#define AMLF_Revealed (1 << 3)
// For Line_SetAutomapStyle
#define AMLS_Default 0
#define AMLS_OneSided 1
#define AMLS_TwoSided 2
#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
//**
//**************************************************************************
special
// 1:Polyobj_StartLine
2:Polyobj_RotateLeft(3),
3:Polyobj_RotateRight(3),
4:Polyobj_Move(4),
// 5:Polyobj_ExplicitLine
6:Polyobj_MoveTimes8(4),
7:Polyobj_DoorSwing(4),
8:Polyobj_DoorSlide(5),
9:Line_Horizon(0),
10:Door_Close(2,3),
11:Door_Open(2,3),
12:Door_Raise(3,4),
13:Door_LockedRaise(4,5),
14:Door_Animated(3,4),
15:Autosave(0),
// 16:Transfer_WallLight
17:Thing_Raise(1,2),
18:StartConversation(1,2),
19:Thing_Stop(1),
20:Floor_LowerByValue(3,4),
21:Floor_LowerToLowest(2,3),
22:Floor_LowerToNearest(2,3),
23:Floor_RaiseByValue(3,5),
24:Floor_RaiseToHighest(2,5),
25:Floor_RaiseToNearest(2,4),
26:Stairs_BuildDown(5),
27:Stairs_BuildUp(5),
28:Floor_RaiseAndCrush(3,4),
29:Pillar_Build(3),
30:Pillar_Open(4),
31:Stairs_BuildDownSync(4),
32:Stairs_BuildUpSync(4),
33:ForceField(0),
34:ClearForceField(1),
35:Floor_RaiseByValueTimes8(3,5),
36:Floor_LowerByValueTimes8(3,4),
37:Floor_MoveToValue(3,5),
38:Ceiling_Waggle(5),
39:Teleport_ZombieChanger(2),
40:Ceiling_LowerByValue(3,5),
41:Ceiling_RaiseByValue(3,4),
42:Ceiling_CrushAndRaise(3,4),
43:Ceiling_LowerAndCrush(3,4),
44:Ceiling_CrushStop(1,2),
45:Ceiling_CrushRaiseAndStay(3,4),
46:Floor_CrushStop(1),
47:Ceiling_MoveToValue(3,5),
// 48:Sector_Attach3dMidtex
49:GlassBreak(0,2),
// 50:ExtraFloor_LightOnly
51:Sector_SetLink(4),
52:Scroll_Wall(5),
53:Line_SetTextureOffset(5),
54:Sector_ChangeFlags(3),
55:Line_SetBlocking(3),
56:Line_SetTextureScale(5),
// 57: Sector_SetPortal
// 58: Sector_CopyScroller
59:Polyobj_OR_MoveToSpot(3),
60:Plat_PerpetualRaise(3),
61:Plat_Stop(1,2),
62:Plat_DownWaitUpStay(3),
63:Plat_DownByValue(4),
64:Plat_UpWaitDownStay(3),
65:Plat_UpByValue(4),
66:Floor_LowerInstant(3,4),
67:Floor_RaiseInstant(3,5),
68:Floor_MoveToValueTimes8(4,5),
69:Ceiling_MoveToValueTimes8(4,5),
70:Teleport(1,3),
71:Teleport_NoFog(1,4),
72:ThrustThing(2,4),
73:DamageThing(1,2),
74:Teleport_NewMap(2,3),
75:Teleport_EndGame(0),
76:TeleportOther(3),
77:TeleportGroup(5),
78:TeleportInSector(4,5),
79:Thing_SetConversation(2),
80:ACS_Execute(2,5),
81:ACS_Suspend(2),
82:ACS_Terminate(2),
83:ACS_LockedExecute(5),
84:ACS_ExecuteWithResult(1,5),
85:ACS_LockedExecuteDoor(5),
86:Polyobj_MoveToSpot(3),
87:Polyobj_Stop(1),
88:Polyobj_MoveTo(4),
89:Polyobj_OR_MoveTo(4),
90:Polyobj_OR_RotateLeft(3),
91:Polyobj_OR_RotateRight(3),
92:Polyobj_OR_Move(4),
93:Polyobj_OR_MoveTimes8(4),
94:Pillar_BuildAndCrush(4,5),
95:FloorAndCeiling_LowerByValue(3),
96:FloorAndCeiling_RaiseByValue(3),
97:Ceiling_LowerAndCrushDist(3,5),
98:Sector_SetTranslucent(3,4),
99:Floor_RaiseAndCrushDoom(3,4),
// 100:Scroll_Texture_Left
// 101:Scroll_Texture_Right
// 102:Scroll_Texture_Up
// 103:Scroll_Texture_Down
104:Ceiling_CrushAndRaiseSilentDist(4,5),
105:Door_WaitRaise(4,5),
106:Door_WaitClose(3,4),
107:Line_SetPortalTarget(2),
109:Light_ForceLightning(1),
110:Light_RaiseByValue(2),
111:Light_LowerByValue(2),
112:Light_ChangeToValue(2),
113:Light_Fade(3),
114:Light_Glow(4),
115:Light_Flicker(3),
116:Light_Strobe(5),
117:Light_Stop(1),
// 118:Plane_Copy
119:Thing_Damage(2,3),
120:Radius_Quake(5),
// 121:Line_SetIdentification
125:Thing_Move(2,3),
127:Thing_SetSpecial(5),
128:ThrustThingZ(4),
129:UsePuzzleItem(0), // only for setting it on a line. Cannot be called!
130:Thing_Activate(1),
131:Thing_Deactivate(1),
132:Thing_Remove(1),
133:Thing_Destroy(1,3),
134:Thing_Projectile(5),
135:Thing_Spawn(3,4),
136:Thing_ProjectileGravity(5),
137:Thing_SpawnNoFog(3,4),
138:Floor_Waggle(5),
139:Thing_SpawnFacing(2,4),
140:Sector_ChangeSound(2),
143:Player_RemoveItem(2), // Skulltag Functions
144:Player_GiveItem(2), // Skulltag Functions
145:Player_SetTeam(1), // Skulltag Functions
150:Line_SetHealth(2),
151:Sector_SetHealth(3),
152:Team_Score(2), // Skulltag Functions
153:Team_GivePoints(3), // Skulltag Functions
154:Teleport_NoStop(2, 3),
157:SetGlobalFogParameter(2), // GZDoom only!
158:FS_Execute(1,4),
159:Sector_SetPlaneReflection(3), // GZDoom only!
// 160:Sector_Set3DFloor
// 161:Sector_SetContents
168:Ceiling_CrushAndRaiseDist(3,5),
169:Generic_Crusher2(5),
170:Sector_SetCeilingScale2(3),
171:Sector_SetFloorScale2(3),
172:Plat_UpNearestWaitDownStay(3),
173:NoiseAlert(2),
174:SendToCommunicator(4),
175:Thing_ProjectileIntercept(5),
176:Thing_ChangeTID(2),
177:Thing_Hate(2,3),
178:Thing_ProjectileAimed(4,5),
179:ChangeSkill(1),
180:Thing_SetTranslation(2),
// 181:Plane_Align,
182:Line_Mirror(0),
183:Line_AlignCeiling(2),
184:Line_AlignFloor(2),
185:Sector_SetRotation(3),
186:Sector_SetCeilingPanning(5),
187:Sector_SetFloorPanning(5),
188:Sector_SetCeilingScale(5),
189:Sector_SetFloorScale(5),
191:SetPlayerProperty(3),
192:Ceiling_LowerToHighestFloor(2,5),
193:Ceiling_LowerInstant(3,5),
194:Ceiling_RaiseInstant(3,4),
195:Ceiling_CrushRaiseAndStayA(4,5),
196:Ceiling_CrushAndRaiseA(4,5),
197:Ceiling_CrushAndRaiseSilentA(4,5),
198:Ceiling_RaiseByValueTimes8(3,4),
199:Ceiling_LowerByValueTimes8(3,5),
200:Generic_Floor(5),
201:Generic_Ceiling(5),
202:Generic_Door(5),
203:Generic_Lift(5),
204:Generic_Stairs(5),
205:Generic_Crusher(5),
206:Plat_DownWaitUpStayLip(4,5),
207:Plat_PerpetualRaiseLip(4),
208:TranslucentLine(2,3),
// 209:Transfer_Heights,
// 210:Transfer_FloorLight,
// 211:Transfer_CeilingLight,
212:Sector_SetColor(4,5),
213:Sector_SetFade(4),
214:Sector_SetDamage(3,5),
215:Teleport_Line(2,3),
216:Sector_SetGravity(3),
217:Stairs_BuildUpDoom(5),
218:Sector_SetWind(4),
219:Sector_SetFriction(2),
220:Sector_SetCurrent(4),
221:Scroll_Texture_Both(5),
// 222:Scroll_Texture_Model,
223:Scroll_Floor(4),
224:Scroll_Ceiling(4),
// 225:Scroll_Texture_Offsets,
226:ACS_ExecuteAlways(2,5),
// 227:PointPush_SetForce,
228:Plat_RaiseAndStayTx0(2,3),
229:Thing_SetGoal(3,4),
230:Plat_UpByValueStayTx(3),
231:Plat_ToggleCeiling(1),
232:Light_StrobeDoom(3),
233:Light_MinNeighbor(1),
234:Light_MaxNeighbor(1),
235:Floor_TransferTrigger(1),
236:Floor_TransferNumeric(1),
237:ChangeCamera(3),
238:Floor_RaiseToLowestCeiling(2,5),
239:Floor_RaiseByValueTxTy(3),
240:Floor_RaiseByTexture(2,4),
241:Floor_LowerToLowestTxTy(2),
242:Floor_LowerToHighest(3,4),
243:Exit_Normal(1),
244:Exit_Secret(1),
245:Elevator_RaiseToNearest(2),
246:Elevator_MoveToFloor(2),
247:Elevator_LowerToNearest(2),
248:HealThing(1,2),
249:Door_CloseWaitOpen(3, 4),
250:Floor_Donut(3),
251:FloorAndCeiling_LowerRaise(3,4),
252:Ceiling_RaiseToNearest(2,3),
253:Ceiling_LowerToLowest(2,4),
254:Ceiling_LowerToFloor(2,5),
255:Ceiling_CrushRaiseAndStaySilA(4,5),
// These are specialized versions of the Generic_* specials which are defined for EE Extradata.
256:Floor_LowerToHighestEE(2, 3),
257:Floor_RaiseToLowest(2, 3),
258:Floor_LowerToLowestCeiling(2,3),
259:Floor_RaiseToCeiling(2, 5),
260:Floor_ToCeilingInstant(1, 4),
261:Floor_LowerByTexture(2, 3),
262:Ceiling_RaiseToHighest(2, 3),
263:Ceiling_ToHighestInstant(1, 3),
264:Ceiling_LowerToNearest(2, 4),
265:Ceiling_RaiseToLowest(2, 3),
266:Ceiling_RaiseToHighestFloor(2, 3),
267:Ceiling_ToFloorInstant(1, 4),
268:Ceiling_RaiseByTexture(2, 3),
269:Ceiling_LowerByTexture(2, 4),
270:Stairs_BuildDownDoom(5),
271:Stairs_BuildUpDoomSync(4),
272:Stairs_BuildDownDoomSync(4),
// New additions can go above 255 now.
273:Stairs_BuildUpDoomCrush(5),
274:Door_AnimatedClose(2),
275:Floor_Stop(1),
276:Ceiling_Stop(1),
277:Sector_SetFloorGlow(5),
278:Sector_SetCeilingGlow(5),
279:Floor_MoveToValueAndCrush(4, 5),
280:Ceiling_MoveToValueAndCrush(4, 5),
281:Line_SetAutomapFlags(3),
282:Line_SetAutomapStyle(2),
283:Polyobj_StopSound(1),
// new to Eternity
// 300:Portal_Define(5),
// 301:Line_QuickPortal(1),
// internal functions have negative values
-1:GetLineUDMFInt(2),
-2:GetLineUDMFFixed(2),
-3:GetThingUDMFInt(2),
-4:GetThingUDMFFixed(2),
-5:GetSectorUDMFInt(2),
-6:GetSectorUDMFFixed(2),
-7:GetSideUDMFInt(3),
-8:GetSideUDMFFixed(3),
-9:GetActorVelX(1),
-10:GetActorVelY(1),
-11:GetActorVelZ(1),
-12:SetActivator(1,2),
-13:SetActivatorToTarget(1),
-14:GetActorViewHeight(1),
-15:GetChar(2),
-16:GetAirSupply(1),
-17:SetAirSupply(2),
-18:SetSkyScrollSpeed(2),
-19:GetArmorType(2),
-20:SpawnSpotForced(4),
-21:SpawnSpotFacingForced(3),
-22:CheckActorProperty(3),
-23:SetActorVelocity(6),
-24:SetUserVariable(3),
-25:GetUserVariable(2),
-26:Radius_Quake2(6),
-27:CheckActorClass(2),
-28:SetUserArray(4),
-29:GetUserArray(3),
-30:SoundSequenceOnActor(2),
-31:SoundSequenceOnSector(3),
-32:SoundSequenceOnPolyobj(2),
-33:GetPolyobjX(1),
-34:GetPolyobjY(1),
-35:CheckSight(3),
-36:SpawnForced(4,6),
-37:AnnouncerSound(2),
-38:SetPointer(2,4),
-39:ACS_NamedExecute(2,5),
-40:ACS_NamedSuspend(2),
-41:ACS_NamedTerminate(2),
-42:ACS_NamedLockedExecute(5),
-43:ACS_NamedLockedExecuteDoor(5),
-44:ACS_NamedExecuteWithResult(1,5),
-45:ACS_NamedExecuteAlways(2,5),
-46:UniqueTID(0,2),
-47:IsTIDUsed(1),
-48:Sqrt(1),
-49:FixedSqrt(1),
-50:VectorLength(2),
-51:SetHUDClipRect(4,6),
-52:SetHUDWrapWidth(1),
-53:SetCVar(2),
-54:GetUserCVar(2),
-55:SetUserCVar(3),
-56:GetCVarString(1),
-57:SetCVarString(2),
-58:GetUserCVarString(2),
-59:SetUserCVarString(3),
-60:LineAttack(4,9),
-61:PlaySound(2,7),
-62:StopSound(1,2),
-63:strcmp(2,3),
-64:stricmp(2,3),
-64:strcasecmp(2,3), // an alias for stricmp
-65:StrLeft(2),
-66:StrRight(2),
-67:StrMid(3),
-68:GetActorClass(1),
-69:GetWeapon(0),
-70:SoundVolume(3),
-71:PlayActorSound(2,6),
-72:SpawnDecal(2,6),
-73:CheckFont(1),
-74:DropItem(2,4),
-75:CheckFlag(2),
-76:SetLineActivation(2, 3),
-77:GetLineActivation(1),
-78:GetActorPowerupTics(2),
-79:ChangeActorAngle(2,3),
-80:ChangeActorPitch(2,3),
-81:GetArmorInfo(1),
-82:DropInventory(2),
-83:PickActor(5,8),
-84:IsPointerEqual(2,4),
-85:CanRaiseActor(1),
-86:SetActorTeleFog(3),
-87:SwapActorTeleFog(1),
-88:SetActorRoll(2),
-89:ChangeActorRoll(2,3),
-90:GetActorRoll(1),
-91:QuakeEx(8,16),
-92:Warp(6,11),
-93:GetMaxInventory(2),
-94:SetSectorDamage(2,5),
-95:SetSectorTerrain(3),
-96:SpawnParticle(1,16),
-97:SetMusicVolume(1),
-98:CheckProximity(3, 6),
-99:CheckActorState(2,3),
// Zandronum's
-100:ResetMap(0),
-101:PlayerIsSpectator(1),
-102:ConsolePlayerNumber(0),
-103:GetTeamProperty(2),
-104:GetPlayerLivesLeft(1),
-105:SetPlayerLivesLeft(2),
-106:KickFromGame(2),
-107:GetGamemodeState(0),
-108:SetDBEntry(3),
-109:GetDBEntry(2),
-110:SetDBEntryString(3),
-111:GetDBEntryString(2),
-112:IncrementDBEntry(3),
-113:PlayerIsLoggedIn(1),
-114:GetPlayerAccountName(1),
-115:SortDBEntries(4),
-116:CountDBResults(1),
-117:FreeDBResults(1),
-118:GetDBResultKeyString(2),
-119:GetDBResultValueString(2),
-120:GetDBResultValue(2),
-121:GetDBEntryRank(3),
-122:RequestScriptPuke(4),
-123:BeginDBTransaction(0),
-124:EndDBTransaction(0),
-125:GetDBEntries(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);
//**************************************************************************
//**
//** zspecials.acs
//**
//**************************************************************************
special
// 1:Polyobj_StartLine
2:Polyobj_RotateLeft(3),
3:Polyobj_RotateRight(3),
4:Polyobj_Move(4),
// 5:Polyobj_ExplicitLine
6:Polyobj_MoveTimes8(4),
7:Polyobj_DoorSwing(4),
8:Polyobj_DoorSlide(5),
9:Line_Horizon(0),
10:Door_Close(2,3),
11:Door_Open(2,3),
12:Door_Raise(3,4),
13:Door_LockedRaise(4,5),
14:Door_Animated(3,4),
15:Autosave(0),
// 16:Transfer_WallLight
17:Thing_Raise(1,2),
18:StartConversation(1,2),
19:Thing_Stop(1),
20:Floor_LowerByValue(3,4),
21:Floor_LowerToLowest(2,3),
22:Floor_LowerToNearest(2,3),
23:Floor_RaiseByValue(3,5),
24:Floor_RaiseToHighest(2,5),
25:Floor_RaiseToNearest(2,4),
26:Stairs_BuildDown(5),
27:Stairs_BuildUp(5),
28:Floor_RaiseAndCrush(3,4),
29:Pillar_Build(3),
30:Pillar_Open(4),
31:Stairs_BuildDownSync(4),
32:Stairs_BuildUpSync(4),
33:ForceField(0),
34:ClearForceField(1),
35:Floor_RaiseByValueTimes8(3,5),
36:Floor_LowerByValueTimes8(3,4),
37:Floor_MoveToValue(3,5),
38:Ceiling_Waggle(5),
39:Teleport_ZombieChanger(2),
40:Ceiling_LowerByValue(3,5),
41:Ceiling_RaiseByValue(3,4),
42:Ceiling_CrushAndRaise(3,4),
43:Ceiling_LowerAndCrush(3,4),
44:Ceiling_CrushStop(1,2),
45:Ceiling_CrushRaiseAndStay(3,4),
46:Floor_CrushStop(1),
47:Ceiling_MoveToValue(3,5),
// 48:Sector_Attach3dMidtex
49:GlassBreak(0,2),
// 50:ExtraFloor_LightOnly
51:Sector_SetLink(4),
52:Scroll_Wall(5),
53:Line_SetTextureOffset(5),
54:Sector_ChangeFlags(3),
55:Line_SetBlocking(3),
56:Line_SetTextureScale(5),
// 57: Sector_SetPortal
// 58: Sector_CopyScroller
59:Polyobj_OR_MoveToSpot(3),
60:Plat_PerpetualRaise(3),
61:Plat_Stop(1,2),
62:Plat_DownWaitUpStay(3),
63:Plat_DownByValue(4),
64:Plat_UpWaitDownStay(3),
65:Plat_UpByValue(4),
66:Floor_LowerInstant(3,4),
67:Floor_RaiseInstant(3,5),
68:Floor_MoveToValueTimes8(4,5),
69:Ceiling_MoveToValueTimes8(4,5),
70:Teleport(1,3),
71:Teleport_NoFog(1,4),
72:ThrustThing(2,4),
73:DamageThing(1,2),
74:Teleport_NewMap(2,3),
75:Teleport_EndGame(0),
76:TeleportOther(3),
77:TeleportGroup(5),
78:TeleportInSector(4,5),
79:Thing_SetConversation(2),
80:ACS_Execute(2,5),
81:ACS_Suspend(2),
82:ACS_Terminate(2),
83:ACS_LockedExecute(5),
84:ACS_ExecuteWithResult(1,5),
85:ACS_LockedExecuteDoor(5),
86:Polyobj_MoveToSpot(3),
87:Polyobj_Stop(1),
88:Polyobj_MoveTo(4),
89:Polyobj_OR_MoveTo(4),
90:Polyobj_OR_RotateLeft(3),
91:Polyobj_OR_RotateRight(3),
92:Polyobj_OR_Move(4),
93:Polyobj_OR_MoveTimes8(4),
94:Pillar_BuildAndCrush(4,5),
95:FloorAndCeiling_LowerByValue(3),
96:FloorAndCeiling_RaiseByValue(3),
97:Ceiling_LowerAndCrushDist(3,5),
98:Sector_SetTranslucent(3,4),
99:Floor_RaiseAndCrushDoom(3,4),
// 100:Scroll_Texture_Left
// 101:Scroll_Texture_Right
// 102:Scroll_Texture_Up
// 103:Scroll_Texture_Down
104:Ceiling_CrushAndRaiseSilentDist(4,5),
105:Door_WaitRaise(4,5),
106:Door_WaitClose(3,4),
107:Line_SetPortalTarget(2),
109:Light_ForceLightning(1),
110:Light_RaiseByValue(2),
111:Light_LowerByValue(2),
112:Light_ChangeToValue(2),
113:Light_Fade(3),
114:Light_Glow(4),
115:Light_Flicker(3),
116:Light_Strobe(5),
117:Light_Stop(1),
// 118:Plane_Copy
119:Thing_Damage(2,3),
120:Radius_Quake(5),
// 121:Line_SetIdentification
125:Thing_Move(2,3),
127:Thing_SetSpecial(5),
128:ThrustThingZ(4),
129:UsePuzzleItem(0), // only for setting it on a line. Cannot be called!
130:Thing_Activate(1),
131:Thing_Deactivate(1),
132:Thing_Remove(1),
133:Thing_Destroy(1,3),
134:Thing_Projectile(5),
135:Thing_Spawn(3,4),
136:Thing_ProjectileGravity(5),
137:Thing_SpawnNoFog(3,4),
138:Floor_Waggle(5),
139:Thing_SpawnFacing(2,4),
140:Sector_ChangeSound(2),
143:Player_RemoveItem(2), // Skulltag Functions
144:Player_GiveItem(2), // Skulltag Functions
145:Player_SetTeam(1), // Skulltag Functions
150:Line_SetHealth(2),
151:Sector_SetHealth(3),
152:Team_Score(2), // Skulltag Functions
153:Team_GivePoints(3), // Skulltag Functions
154:Teleport_NoStop(2, 3),
157:SetGlobalFogParameter(2), // GZDoom only!
158:FS_Execute(1,4),
159:Sector_SetPlaneReflection(3), // GZDoom only!
// 160:Sector_Set3DFloor
// 161:Sector_SetContents
168:Ceiling_CrushAndRaiseDist(3,5),
169:Generic_Crusher2(5),
170:Sector_SetCeilingScale2(3),
171:Sector_SetFloorScale2(3),
172:Plat_UpNearestWaitDownStay(3),
173:NoiseAlert(2),
174:SendToCommunicator(4),
175:Thing_ProjectileIntercept(5),
176:Thing_ChangeTID(2),
177:Thing_Hate(2,3),
178:Thing_ProjectileAimed(4,5),
179:ChangeSkill(1),
180:Thing_SetTranslation(2),
// 181:Plane_Align,
182:Line_Mirror(0),
183:Line_AlignCeiling(2),
184:Line_AlignFloor(2),
185:Sector_SetRotation(3),
186:Sector_SetCeilingPanning(5),
187:Sector_SetFloorPanning(5),
188:Sector_SetCeilingScale(5),
189:Sector_SetFloorScale(5),
191:SetPlayerProperty(3),
192:Ceiling_LowerToHighestFloor(2,5),
193:Ceiling_LowerInstant(3,5),
194:Ceiling_RaiseInstant(3,4),
195:Ceiling_CrushRaiseAndStayA(4,5),
196:Ceiling_CrushAndRaiseA(4,5),
197:Ceiling_CrushAndRaiseSilentA(4,5),
198:Ceiling_RaiseByValueTimes8(3,4),
199:Ceiling_LowerByValueTimes8(3,5),
200:Generic_Floor(5),
201:Generic_Ceiling(5),
202:Generic_Door(5),
203:Generic_Lift(5),
204:Generic_Stairs(5),
205:Generic_Crusher(5),
206:Plat_DownWaitUpStayLip(4,5),
207:Plat_PerpetualRaiseLip(4),
208:TranslucentLine(2,3),
// 209:Transfer_Heights,
// 210:Transfer_FloorLight,
// 211:Transfer_CeilingLight,
212:Sector_SetColor(4,5),
213:Sector_SetFade(4),
214:Sector_SetDamage(3,5),
215:Teleport_Line(2,3),
216:Sector_SetGravity(3),
217:Stairs_BuildUpDoom(5),
218:Sector_SetWind(4),
219:Sector_SetFriction(2),
220:Sector_SetCurrent(4),
221:Scroll_Texture_Both(5),
// 222:Scroll_Texture_Model,
223:Scroll_Floor(4),
224:Scroll_Ceiling(4),
// 225:Scroll_Texture_Offsets,
226:ACS_ExecuteAlways(2,5),
// 227:PointPush_SetForce,
228:Plat_RaiseAndStayTx0(2,3),
229:Thing_SetGoal(3,4),
230:Plat_UpByValueStayTx(3),
231:Plat_ToggleCeiling(1),
232:Light_StrobeDoom(3),
233:Light_MinNeighbor(1),
234:Light_MaxNeighbor(1),
235:Floor_TransferTrigger(1),
236:Floor_TransferNumeric(1),
237:ChangeCamera(3),
238:Floor_RaiseToLowestCeiling(2,5),
239:Floor_RaiseByValueTxTy(3),
240:Floor_RaiseByTexture(2,4),
241:Floor_LowerToLowestTxTy(2),
242:Floor_LowerToHighest(3,4),
243:Exit_Normal(1),
244:Exit_Secret(1),
245:Elevator_RaiseToNearest(2),
246:Elevator_MoveToFloor(2),
247:Elevator_LowerToNearest(2),
248:HealThing(1,2),
249:Door_CloseWaitOpen(3, 4),
250:Floor_Donut(3),
251:FloorAndCeiling_LowerRaise(3,4),
252:Ceiling_RaiseToNearest(2,3),
253:Ceiling_LowerToLowest(2,4),
254:Ceiling_LowerToFloor(2,5),
255:Ceiling_CrushRaiseAndStaySilA(4,5),
// These are specialized versions of the Generic_* specials which are defined for EE Extradata.
256:Floor_LowerToHighestEE(2, 3),
257:Floor_RaiseToLowest(2, 3),
258:Floor_LowerToLowestCeiling(2,3),
259:Floor_RaiseToCeiling(2, 5),
260:Floor_ToCeilingInstant(1, 4),
261:Floor_LowerByTexture(2, 3),
262:Ceiling_RaiseToHighest(2, 3),
263:Ceiling_ToHighestInstant(1, 3),
264:Ceiling_LowerToNearest(2, 4),
265:Ceiling_RaiseToLowest(2, 3),
266:Ceiling_RaiseToHighestFloor(2, 3),
267:Ceiling_ToFloorInstant(1, 4),
268:Ceiling_RaiseByTexture(2, 3),
269:Ceiling_LowerByTexture(2, 4),
270:Stairs_BuildDownDoom(5),
271:Stairs_BuildUpDoomSync(4),
272:Stairs_BuildDownDoomSync(4),
// New additions can go above 255 now.
273:Stairs_BuildUpDoomCrush(5),
274:Door_AnimatedClose(2),
275:Floor_Stop(1),
276:Ceiling_Stop(1),
277:Sector_SetFloorGlow(5),
278:Sector_SetCeilingGlow(5),
279:Floor_MoveToValueAndCrush(4, 5),
280:Ceiling_MoveToValueAndCrush(4, 5),
281:Line_SetAutomapFlags(3),
282:Line_SetAutomapStyle(2),
283:Polyobj_StopSound(1),
// new to Eternity
// 300:Portal_Define(5),
// 301:Line_QuickPortal(1),
// internal functions have negative values
-1:GetLineUDMFInt(2),
-2:GetLineUDMFFixed(2),
-3:GetThingUDMFInt(2),
-4:GetThingUDMFFixed(2),
-5:GetSectorUDMFInt(2),
-6:GetSectorUDMFFixed(2),
-7:GetSideUDMFInt(3),
-8:GetSideUDMFFixed(3),
-9:GetActorVelX(1),
-10:GetActorVelY(1),
-11:GetActorVelZ(1),
-12:SetActivator(1,2),
-13:SetActivatorToTarget(1),
-14:GetActorViewHeight(1),
-15:GetChar(2),
-16:GetAirSupply(1),
-17:SetAirSupply(2),
-18:SetSkyScrollSpeed(2),
-19:GetArmorType(2),
-20:SpawnSpotForced(4),
-21:SpawnSpotFacingForced(3),
-22:CheckActorProperty(3),
-23:SetActorVelocity(6),
-24:SetUserVariable(3),
-25:GetUserVariable(2),
-26:Radius_Quake2(6),
-27:CheckActorClass(2),
-28:SetUserArray(4),
-29:GetUserArray(3),
-30:SoundSequenceOnActor(2),
-31:SoundSequenceOnSector(3),
-32:SoundSequenceOnPolyobj(2),
-33:GetPolyobjX(1),
-34:GetPolyobjY(1),
-35:CheckSight(3),
-36:SpawnForced(4,6),
-37:AnnouncerSound(2),
-38:SetPointer(2,4),
-39:ACS_NamedExecute(2,5),
-40:ACS_NamedSuspend(2),
-41:ACS_NamedTerminate(2),
-42:ACS_NamedLockedExecute(5),
-43:ACS_NamedLockedExecuteDoor(5),
-44:ACS_NamedExecuteWithResult(1,5),
-45:ACS_NamedExecuteAlways(2,5),
-46:UniqueTID(0,2),
-47:IsTIDUsed(1),
-48:Sqrt(1),
-49:FixedSqrt(1),
-50:VectorLength(2),
-51:SetHUDClipRect(4,6),
-52:SetHUDWrapWidth(1),
-53:SetCVar(2),
-54:GetUserCVar(2),
-55:SetUserCVar(3),
-56:GetCVarString(1),
-57:SetCVarString(2),
-58:GetUserCVarString(2),
-59:SetUserCVarString(3),
-60:LineAttack(4,9),
-61:PlaySound(2,7),
-62:StopSound(1,2),
-63:strcmp(2,3),
-64:stricmp(2,3),
-64:strcasecmp(2,3), // an alias for stricmp
-65:StrLeft(2),
-66:StrRight(2),
-67:StrMid(3),
-68:GetActorClass(1),
-69:GetWeapon(0),
-70:SoundVolume(3),
-71:PlayActorSound(2,6),
-72:SpawnDecal(2,6),
-73:CheckFont(1),
-74:DropItem(2,4),
-75:CheckFlag(2),
-76:SetLineActivation(2, 3),
-77:GetLineActivation(1),
-78:GetActorPowerupTics(2),
-79:ChangeActorAngle(2,3),
-80:ChangeActorPitch(2,3),
-81:GetArmorInfo(1),
-82:DropInventory(2),
-83:PickActor(5,8),
-84:IsPointerEqual(2,4),
-85:CanRaiseActor(1),
-86:SetActorTeleFog(3),
-87:SwapActorTeleFog(1),
-88:SetActorRoll(2),
-89:ChangeActorRoll(2,3),
-90:GetActorRoll(1),
-91:QuakeEx(8,19),
-92:Warp(6,11),
-93:GetMaxInventory(2),
-94:SetSectorDamage(2,5),
-95:SetSectorTerrain(3),
-96:SpawnParticle(1,16),
-97:SetMusicVolume(1),
-98:CheckProximity(3, 6),
-99:CheckActorState(2,3),
// Zandronum's
-100:ResetMap(0),
-101:PlayerIsSpectator(1),
-102:ConsolePlayerNumber(0),
-103:GetTeamProperty(2),
-104:GetPlayerLivesLeft(1),
-105:SetPlayerLivesLeft(2),
-106:KickFromGame(2),
-107:GetGamemodeState(0),
-108:SetDBEntry(3),
-109:GetDBEntry(2),
-110:SetDBEntryString(3),
-111:GetDBEntryString(2),
-112:IncrementDBEntry(3),
-113:PlayerIsLoggedIn(1),
-114:GetPlayerAccountName(1),
-115:SortDBEntries(4),
-116:CountDBResults(1),
-117:FreeDBResults(1),
-118:GetDBResultKeyString(2),
-119:GetDBResultValueString(2),
-120:GetDBResultValue(2),
-121:GetDBEntryRank(3),
-122:RequestScriptPuke(4),
-123:BeginDBTransaction(0),
-124:EndDBTransaction(0),
-125:GetDBEntries(1),
-126:NamedRequestScriptPuke(1,5),
-127:SystemTime(0),
-128:GetTimeProperty(2,3),
-129:Strftime(2,3),
-130:SetDeadSpectator(2),
-131:SetActivatorToPlayer(1),
-132:SetCurrentGamemode(1),
-133:GetCurrentGamemode(0),
-134:SetGamemodeLimit(2),
-135:SetPlayerClass(3),
-136:SetPlayerChasecam(2),
-137:GetPlayerChasecam(1),
-138:SetPlayerScore(3),
-139:GetPlayerScore(2),
-140:InDemoMode(0),
-144:ExecuteClientScript(2,6),
-145:NamedExecuteClientScript(2,6),
-146:SendNetworkString(2,3),
-147:NamedSendNetworkString(2,3),
-148:GetChatMessage(2),
-149:GetMapRotationSize(0),
-150:GetMapRotationInfo(2),
-151:GetCurrentMapPosition(0),
-152:GetEventResult(0),
-153:GetActorSectorLocation(2),
-154:ChangeTeamScore(3,4),
-155:SetGameplaySetting(2),
-156:SetCustomPlayerValue(3),
-157:GetCustomPlayerValue(2),
-158:ResetCustomDataToDefault(2),
-159:LumpOpen(1,3),
-160:LumpRead(2,3),
-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
//**
//**************************************************************************
// include your world-variable declarations here.
//**************************************************************************
//**
//** zwvars.acs
//**
//**************************************************************************
// 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";
game = "EDGE-Classic: Doom 2 (Doom format)";
// This is the simplified game engine/sourceport name
engine = "edge";
engine = "edge-classic";
// *******************************************************
// * *
// * Note: all the elements that could be factorized *
// * because they were common to ZDoom, GZDoom and *
// * Zandronum have been moved to ZDoom_common.cfg. *
// * *
// *******************************************************
// Settings common to Doom games
include("Includes\\Game_Doom.cfg");
// STANDARD DOOM SETTINGS
// Settings common to all games and all map formats
......@@ -27,16 +22,16 @@ include("Includes\\Doom_common.cfg", "common");
include("Includes\\Boom_common.cfg", "mapformat_doom");
include("Includes\\MBF21_common.cfg", "mapformat_doom");
// Settings common to Doom games
include("Includes\\Game_Doom.cfg");
// Settings common to all games and all map formats
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.
mapnameformat = "MAPxy";
//mxd. No DECORATE support in vanilla
decorategames = "";
// Default thing filters
// (these are not required, just useful for new users)
......@@ -45,16 +40,6 @@ 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
// Each engine has its own additional thing types
......@@ -65,10 +50,5 @@ 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
// Default testing parameters
include("Test_params.cfg", "modern");
// Default nodebuilder configurations
defaultsavecompiler = "glbsp_normal";
defaulttestcompiler = "glbsp_fast";
// Generalized actions
// generalizedlinedefs is true for Doom format and false for
// the other two, so it's not here.
generalizedsectors = true;
generalizedlinedefs = true;
//mxd. Maximum safe map size check (0 means skip check)
safeboundary = 0;
......@@ -30,9 +25,52 @@ common
defaultflatscale = 1.0f;
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
// ioanch FIXME: what does this do? I made it 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
textures
......@@ -47,7 +85,6 @@ common
include("EdgeC_misc.cfg", "hires");
}
// Patch sources
patches
{
......@@ -71,91 +108,44 @@ common
{
include("Boom_misc.cfg", "colormaps");
}
compatibility
{
fixnegativepatchoffsets = true;
fixmaskedpatchoffsets = true;
}
}
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
// GENERALIZED LINEDEF TYPES
gen_linedeftypes
{
include("Boom_generalized.cfg", "gen_linedeftypes");
}
// GENERALIZED SECTOR TYPES
// GENERALIZED SECTOR TYPES
gen_sectortypes
{
include("Boom_generalized.cfg", "gen_sectortypes");
}
// DEFAULT SECTOR BRIGHTNESS LEVELS
sectorbrightness
{
include("Doom_misc.cfg", "sectorbrightness");
}
// SECTOR TYPES
sectortypes
{
include("Doom_sectors.cfg");
include("EdgeC_sectors.cfg");
}
// LINEDEF FLAGS
linedefflags
{
include("Doom_misc.cfg", "linedefflags");
include("Boom_misc.cfg", "linedefflags");
}
// LINEDEF ACTIVATIONS
linedefactivations
// Door making
makedoortrack = "DOORTRAK";
makedoordoor = "BIGDOOR2";
makedoorceil = "FLAT20";
makedooraction = 1; // See linedeftypes
// DEFAULT SECTOR BRIGHTNESS LEVELS
sectorbrightness
{
include("Doom_misc.cfg", "sectorbrightness");
}
// 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
// SECTOR TYPES
sectortypes
{
include("Doom_misc.cfg", "linedefflagstranslation");
include("Boom_misc.cfg", "linedefflagstranslation");
include("Doom_sectors.cfg");
include("EdgeC_sectors.cfg");
}
// LINEDEF TYPES
linedeftypes
{
......@@ -164,227 +154,21 @@ mapformat_doom
include("EdgeC_linedefs.cfg");
}
thingtypes
{
// Basic game actors
include("Doom_things.cfg");
include("Doom2_things.cfg");
include("Boom_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
hires
// Dehacked data
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
{
title = "Edge: Breakable Wall";
835
{
title = "Breakable Wall: midtex to back lower";
prefix = "";
}
836
{
title = "Breakable Wall: midtex to back upper";
prefix = "";
}
837
{
title = "Breakable Wall: midtex to front lower";
prefix = "";
}
838
{
title = "Breakable Wall: midtex to front upper";
prefix = "";
}
}
Edge_breakable_glass
{
title = "Edge: Breakable Glass";
830
{
title = "Breakable Glass: monster can see through, can break";
prefix = "";
}
831
{
title = "Breakable Glass: monster cannot see through, can break";
prefix = "";
}
832
{
title = "Breakable Glass: monster cannot see through, cannot break";
prefix = "";
}
}
Edge_extrafloors_thick
{
title = "Edge: Extrafloors(thick)";
281
{
title = "Legacy: Thick Extrafloor (dummy texture)";
prefix = "";
}
289
{
title = "Legacy: Thick Extrafloor (dummy texture, master light props)";
prefix = "";
}
600
{
title = "Thick Extrafloor: Trans 40% (dummy texture)";
prefix = "";
}
400
{
title = "Thick Extrafloor (dummy texture)";
prefix = "";
}
401
{
title = "Thick Extrafloor (master upper texture)";
prefix = "";
}
402
{
title = "Thick Extrafloor (master lower texture)";
prefix = "";
}
430
{
title = "Thick Translucent Liquid Extrafloor Scroll Down (20% translucent)";
prefix = "";
}
431
{
title = "Thick Translucent Liquid Extrafloor Scroll Down (40% translucent)";
prefix = "";
}
432
{
title = "Thick Translucent Liquid Extrafloor Scroll Down (60% translucent)";
prefix = "";
}
433
{
title = "Thick Translucent Liquid Extrafloor Scroll Down (80% translucent)";
prefix = "";
}
}
Edge_extrafloors_liquid
{
title = "Edge: Extrafloors(Liquid)";
403
{
title = "Liquid Extrafloor (solid)";
prefix = "";
}
404
{
title = "Liquid Extrafloor (20% translucent)";
prefix = "";
}
405
{
title = "Liquid Extrafloor (40% translucent)";
prefix = "";
}
406
{
title = "Liquid Extrafloor (60% translucent)";
prefix = "";
}
407
{
title = "Liquid Extrafloor (80% translucent)";
prefix = "";
}
408
{
title = "Liquid Extrafloor (invisible)";
prefix = "";
}
}
Edge_translucent_linedef
{
title = "Edge: Translucent Linedef";
409
{
title = "Translucent Linedef (20%) least transparent";
prefix = "";
}
410
{
title = "Translucent Linedef (40%)";
prefix = "";
}
411
{
title = "Translucent Linedef (60%)";
prefix = "";
}
412
{
title = "Translucent Linedef (80%) most transparent";
prefix = "";
}
}
Edge_extrafloors_thin
{
title = "Edge: Extrafloors(thin)";
413
{
title = "Thin Extrafloor (opaque)";
prefix = "";
}
414
{
title = "Thin Extrafloor (20% translucent)";
prefix = "";
}
415
{
title = "Thin Extrafloor (40% translucent)";
prefix = "";
}
416
{
title = "Thin Extrafloor (60% translucent)";
prefix = "";
}
417
{
title = "Thin Extrafloor (80% translucent)";
prefix = "";
}
}
Edge_RTS_Enable
{
title = "Edge: Enable Tagged RTS";
418
{
title = "Enable Tagged RTS";
prefix = "S1";
}
419
{
title = "Enable Tagged RTS";
prefix = "SR";
}
420
{
title = "Enable Tagged RTS";
prefix = "W1";
}
421
{
title = "Enable Tagged RTS";
prefix = "WR";
}
440
{
title = "Enable Tagged RTS";
prefix = "G1";
}
441
{
title = "Enable Tagged RTS";
prefix = "GR";
}
454
{
title = "Enable Tagged RTS (monster)";
prefix = "W1";
}
455
{
title = "Enable Tagged RTS (monster)";
prefix = "WR";
}
456
{
title = "Enable Tagged RTS (Monster)";
prefix = "GR";
}
457
{
title = "Disable Tagged RTS";
prefix = "SR";
}
458
{
title = "Disable Tagged RTS";
prefix = "WR";
}
459
{
title = "Disable Tagged RTS";
prefix = "GR";
}
460
{
title = "Disable Tagged RTS (monster)";
prefix = "WR";
}
461
{
title = "Disable Tagged RTS (monster)";
prefix = "GR";
}
}
Edge_Scroller_lines
{
title = "Edge: Scroll Lines";
422
{
title = "Scroll Right";
prefix = "";
}
423
{
title = "Scroll Up";
prefix = "";
}
424
{
title = "Scroll Down";
prefix = "";
}
425
{
title = "Scroll Left And Up";
prefix = "";
}
426
{
title = "Scroll Left And Down";
prefix = "";
}
427
{
title = "Scroll Right And Up";
prefix = "";
}
428
{
title = "Scroll Right And Down";
prefix = "";
}
429
{
title = "Scroll Fast Lower And Middle Texture (liquid falls)";
prefix = "";
}
}
Edge_Floor
{
title = "Edge: Floor";
434
{
title = "Raise Floor 2 Units (use for RTS Onheight events)";
prefix = "S1";
}
435
{
title = "Raise Floor 2 Units (use for RTS Onheight events)";
prefix = "SR";
}
436
{
title = "Raise Floor 2 Units (use for RTS Onheight events)";
prefix = "W1";
}
437
{
title = "Raise Floor 2 Units (use for RTS Onheight events)";
prefix = "WR";
}
438
{
title = "Raise Floor 2 Units (use for RTS Onheight events)";
prefix = "S1";
}
439
{
title = "Raise Floor 2 Units (use for RTS Onheight events)";
prefix = "SR";
}
}
Edge_SlidingDoor
{
title = "Edge: Sliding Door";
442
{
title = "Sliding Door (left, monsters)";
prefix = "SR";
}
443
{
title = "Sliding Door (left)";
prefix = "SR";
}
444
{
title = "Sliding Door (left, fast)";
prefix = "SR";
}
445
{
title = "Sliding Door (left)";
prefix = "S1";
}
446
{
title = "Sliding Door (right, monsters)";
prefix = "SR";
}
447
{
title = "Sliding Door (right)";
prefix = "SR";
}
448
{
title = "Sliding Door (right, fast)";
prefix = "SR";
}
449
{
title = "Sliding Door (right)";
prefix = "S1";
}
450
{
title = "Sliding Door (center, monsters)";
prefix = "SR";
}
451
{
title = "Sliding Door (center)";
prefix = "SR";
}
452
{
title = "Sliding Door (center, fast)";
prefix = "SR";
}
453
{
title = "Sliding Door (center)";
prefix = "S1";
}
542
{
title = "Remote Slider (LEFT), MONSTERS";
prefix = "SR";
}
543
{
title = "Remote Slider (LEFT)";
prefix = "SR";
}
544
{
title = "Remote Slider (LEFT) FAST";
prefix = "SR";
}
545
{
title = "Remote Slider (LEFT)";
prefix = "S1";
}
546
{
title = "Remote Slider (RIGHT), MONSTERS";
prefix = "SR";
}
547
{
title = "Remote Slider (RIGHT)";
prefix = "SR";
}
548
{
title = "Remote Slider (RIGHT) FAST";
prefix = "SR";
}
549
{
title = "Remote Slider (RIGHT)";
prefix = "S1";
}
550
{
title = "Remote Slider (CENTER), MONSTERS";
prefix = "SR";
}
551
{
title = "Remote Slider (CENTER)";
prefix = "SR";
}
552
{
title = "Remote Slider (CENTER) FAST";
prefix = "SR";
}
553
{
title = "Remote Slider (CENTER)";
prefix = "S1";
}
554
{
title = "Remote Slider (LEFT)";
prefix = "WR";
}
555
{
title = "Remote Slider (LEFT) FAST";
prefix = "WR";
}
556
{
title = "Remote Slider (RIGHT)";
prefix = "WR";
}
557
{
title = "Remote Slider (RIGHT) FAST";
prefix = "WR";
}
558
{
title = "Remote Slider (CENTER)";
prefix = "WR";
}
559
{
title = "Remote Slider (CENTER) FAST";
prefix = "WR";
}
}
Edge_Mirror
{
title = "Edge: Mirrors";
462
{
title = "Mirror, Plain";
prefix = "";
}
463
{
title = "Mirror, White";
prefix = "";
}
464
{
title = "Mirror, Blue";
prefix = "";
}
465
{
title = "Mirror, Red";
prefix = "";
}
466
{
title = "Mirror, Green";
prefix = "";
}
}
Edge_ladder
{
title = "Edge: Ladders";
470
{
title = "Ladder, 48 units high";
prefix = "";
}
471
{
title = "Ladder, 80 units high";
prefix = "";
}
472
{
title = "Ladder, 120 units high";
prefix = "";
}
473
{
title = "Ladder, 160 units high";
prefix = "";
}
474
{
title = "Ladder, 192 units high";
prefix = "";
}
475
{
title = "Ladder, 256 units high";
prefix = "";
}
476
{
title = "Ladder, 384 units high";
prefix = "";
}
477
{
title = "Ladder, 512 units high";
prefix = "";
}
478
{
title = "Ladder, 768 units high";
prefix = "";
}
479
{
title = "Ladder, no limit(9999)";
prefix = "";
}
}
Edge_portals
{
title = "Edge: Portals";
480
{
title = "Portal, 20% Translucent";
prefix = "";
}
481
{
title = "Portal, 30% Translucent";
prefix = "";
}
482
{
title = "Portal, 40% Translucent";
prefix = "";
}
483
{
title = "Portal, Blue 40%";
prefix = "";
}
484
{
title = "Portal, Green 30%";
prefix = "";
}
485
{
title = "Camera Portal, Plain";
prefix = "";
}
486
{
title = "Camera Portal, White";
prefix = "";
}
487
{
title = "Camera Portal, Cyan";
prefix = "";
}
488
{
title = "Camera Portal, Rusty";
prefix = "";
}
489
{
title = "Camera Portal, Green";
prefix = "";
}
}
Edge_doors
{
title = "Edge: Doors";
490
{
title = "Green Key MANUAL DOOR";
prefix = "SR";
}
491
{
title = "Green Key MANUAL DOOR";
prefix = "S1";
}
492
{
title = "Green Key TAGGED DOOR";
prefix = "SR";
}
493
{
title = "Green Key TAGGED DOOR";
prefix = "S1";
}
494
{
title = "Green Key BLAZING DOOR";
prefix = "S1";
}
580
{
title = "Gold Key MANUAL DOOR";
prefix = "SR";
}
581
{
title = "Gold Key MANUAL DOOR";
prefix = "S1";
}
582
{
title = "Gold Key TAGGED DOOR";
prefix = "SR";
}
583
{
title = "Gold Key TAGGED DOOR";
prefix = "S1";
}
584
{
title = "Silver Key MANUAL DOOR";
prefix = "SR";
}
585
{
title = "Silver Key MANUAL DOOR";
prefix = "S1";
}
586
{
title = "Silver Key TAGGED DOOR";
prefix = "SR";
}
587
{
title = "Silver Key TAGGED DOOR";
prefix = "S1";
}
588
{
title = "Brass Key MANUAL DOOR";
prefix = "SR";
}
589
{
title = "Brass Key MANUAL DOOR";
prefix = "S1";
}
590
{
title = "Copper Key MANUAL DOOR";
prefix = "SR";
}
591
{
title = "Copper Key MANUAL DOOR";
prefix = "S1";
}
592
{
title = "Steel Key MANUAL DOOR";
prefix = "SR";
}
593
{
title = "Steel Key MANUAL DOOR";
prefix = "S1";
}
594
{
title = "Wooden Key MANUAL DOOR";
prefix = "SR";
}
595
{
title = "Wooden Key MANUAL DOOR";
prefix = "S1";
}
596
{
title = "Fire Key MANUAL DOOR";
prefix = "SR";
}
597
{
title = "Fire Key MANUAL DOOR";
prefix = "S1";
}
598
{
title = "Water Key MANUAL DOOR";
prefix = "SR";
}
599
{
title = "Water Key MANUAL DOOR";
prefix = "S1";
}
}
Edge_HUB
{
title = "Edge: HUB Exits";
501
{
title = "Hub Exit to MAP01 / E1M1";
prefix = "W1";
}
502
{
title = "Hub Exit to MAP02 / E1M2";
prefix = "W1";
}
503
{
title = "Hub Exit to MAP03 / E1M3";
prefix = "W1";
}
504
{
title = "Hub Exit to MAP04 / E1M4";
prefix = "W1";
}
505
{
title = "Hub Exit to MAP05 / E1M5";
prefix = "W1";
}
506
{
title = "Hub Exit to MAP06 / E1M6";
prefix = "W1";
}
507
{
title = "Hub Exit to MAP07 / E1M7";
prefix = "W1";
}
508
{
title = "Hub Exit to MAP08 / E1M8";
prefix = "W1";
}
509
{
title = "Hub Exit to MAP09 / E1M9";
prefix = "W1";
}
510
{
title = "Hub Exit to MAP10";
prefix = "W1";
}
511
{
title = "Hub Exit to MAP11 / E2M1";
prefix = "W1";
}
512
{
title = "Hub Exit to MAP12 / E2M2";
prefix = "W1";
}
513
{
title = "Hub Exit to MAP13 / E2M3";
prefix = "W1";
}
514
{
title = "Hub Exit to MAP14 / E2M4";
prefix = "W1";
}
515
{
title = "Hub Exit to MAP15 / E2M5";
prefix = "W1";
}
516
{
title = "Hub Exit to MAP16 / E2M6";
prefix = "W1";
}
517
{
title = "Hub Exit to MAP17 / E2M7";
prefix = "W1";
}
518
{
title = "Hub Exit to MAP18 / E2M8";
prefix = "W1";
}
519
{
title = "Hub Exit to MAP19 / E2M9";
prefix = "W1";
}
520
{
title = "Hub Exit to MAP20";
prefix = "W1";
}
521
{
title = "Hub Exit to MAP21 / E3M1";
prefix = "W1";
}
522
{
title = "Hub Exit to MAP22 / E3M2";
prefix = "W1";
}
523
{
title = "Hub Exit to MAP23 / E3M3";
prefix = "W1";
}
524
{
title = "Hub Exit to MAP24 / E3M4";
prefix = "W1";
}
525
{
title = "Hub Exit to MAP25 / E3M5";
prefix = "W1";
}
526
{
title = "Hub Exit to MAP26 / E3M6";
prefix = "W1";
}
527
{
title = "Hub Exit to MAP27 / E3M7";
prefix = "W1";
}
528
{
title = "Hub Exit to MAP28 / E3M8";
prefix = "W1";
}
529
{
title = "Hub Exit to MAP29 / E3M9";
prefix = "W1";
}
530
{
title = "Hub Exit to MAP30";
prefix = "W1";
}
531
{
title = "Hub Exit to MAP31 / E4M1";
prefix = "W1";
}
532
{
title = "Hub Exit to MAP32 / E4M2";
prefix = "W1";
}
533
{
title = "Hub Exit to MAP33 / E4M3";
prefix = "W1";
}
534
{
title = "Hub Exit to MAP34 / E4M4";
prefix = "W1";
}
535
{
title = "Hub Exit to MAP35 / E4M5";
prefix = "W1";
}
536
{
title = "Hub Exit to MAP36 / E4M6";
prefix = "W1";
}
537
{
title = "Hub Exit to MAP37 / E4M7";
prefix = "W1";
}
538
{
title = "Hub Exit to MAP38 / E4M8";
prefix = "W1";
}
539
{
title = "Hub Exit to MAP39 / E4M9";
prefix = "W1";
}
}
Edge_slopes
{
title = "Edge: Slopes";
567
{
title = "Detail Slope : FLOOR";
prefix = "";
}
568
{
title = "Detail Slope : CEILING";
prefix = "";
}
569
{
title = "Detail Slope : FLOOR+CEILING";
prefix = "";
}
}
Edge_alignflats
{
title = "Edge: Flats";
800
{
title = "Align and rotate front sector's FLOOR";
prefix = "";
}
801
{
title = "Align and rotate back sector's FLOOR";
prefix = "";
}
802
{
title = "Align and rotate front sector's CEILING";
prefix = "";
}
803
{
title = "Align and rotate back sector's CEILING";
prefix = "";
}
804
{
title = "Align and rotate front sector's FLOOR+CEILING";
prefix = "";
}
805
{
title = "Align and rotate back sector's FLOOR+CEILING";
prefix = "";
}
810
{
title = "Align, scale and rotate front sector's FLOOR";
prefix = "";
}
811
{
title = "Align, scale and rotate back sector's FLOOR";
prefix = "";
}
812
{
title = "Align, scale and rotate front sector's CEILING";
prefix = "";
}
813
{
title = "Align, scale and rotate back sector's CEILING";
prefix = "";
}
814
{
title = "Align, scale and rotate front sector's FLOOR+CEILING";
prefix = "";
}
815
{
title = "Align, scale and rotate back sector's FLOOR+CEILING";
prefix = "";
}
820
{
title = "Scale front sector's FLOOR";
prefix = "";
}
821
{
title = "Scale back sector's FLOOR";
prefix = "";
}
822
{
title = "Scale front sector's CEILING";
prefix = "";
}
823
{
title = "Scale back sector's CEILING";
prefix = "";
}
824
{
title = "Scale front sector's FLOOR+CEILING";
prefix = "";
}
825
{
title = "Scale back sector's FLOOR+CEILING";
prefix = "";
}
}
Edge_Stretch_Texture
{
title = "Edge: Stretch Texture by Line length";
855
{
title = "Stretch Textures Width";
prefix = "";
requiresactivation = false;
}
856
{
title = "Stretch Textures Height";
prefix = "";
requiresactivation = false;
}
857
{
title = "Stretch Textures Width and Height";
prefix = "";
requiresactivation = false;
}
}
Edge_lightwall
{
title = "Edge: Light Wall";
850
{
title = "Light wall: transfer light to tagged";
prefix = "";
requiresactivation = false;
}
}
Edge_breakable_wall
{
title = "Edge: Breakable Wall";
835
{
title = "Breakable Wall: midtex to back lower";
prefix = "";
requiresactivation = false;
}
836
{
title = "Breakable Wall: midtex to back upper";
prefix = "";
requiresactivation = false;
}
837
{
title = "Breakable Wall: midtex to front lower";
prefix = "";
requiresactivation = false;
}
838
{
title = "Breakable Wall: midtex to front upper";
prefix = "";
requiresactivation = false;
}
}
Edge_breakable_glass
{
title = "Edge: Breakable Glass";
830
{
title = "Breakable Glass: monster can see through, can break";
prefix = "";
requiresactivation = false;
}
831
{
title = "Breakable Glass: monster cannot see through, can break";
prefix = "";
requiresactivation = false;
}
832
{
title = "Breakable Glass: monster cannot see through, cannot break";
prefix = "";
requiresactivation = false;
}
}
Edge_extrafloors_thick
{
title = "Edge: Extrafloors(thick)";
281
{
title = "Legacy: Thick Extrafloor (dummy texture)";
prefix = "";
requiresactivation = false;
}
289
{
title = "Legacy: Thick Extrafloor (dummy texture, master light props)";
prefix = "";
requiresactivation = false;
}
600
{
title = "Thick Extrafloor: Trans 40% (dummy texture)";
prefix = "";
requiresactivation = false;
}
400
{
title = "Thick Extrafloor (dummy texture)";
prefix = "";
requiresactivation = false;
}
401
{
title = "Thick Extrafloor (master upper texture)";
prefix = "";
requiresactivation = false;
}
402
{
title = "Thick Extrafloor (master lower texture)";
prefix = "";
requiresactivation = false;
}
430
{
title = "Thick Translucent Liquid Extrafloor Scroll Down (20% translucent)";
prefix = "";
requiresactivation = false;
}
431
{
title = "Thick Translucent Liquid Extrafloor Scroll Down (40% translucent)";
prefix = "";
requiresactivation = false;
}
432
{
title = "Thick Translucent Liquid Extrafloor Scroll Down (60% translucent)";
prefix = "";
requiresactivation = false;
}
433
{
title = "Thick Translucent Liquid Extrafloor Scroll Down (80% translucent)";
prefix = "";
requiresactivation = false;
}
}
Edge_extrafloors_liquid
{
title = "Edge: Extrafloors(Liquid)";
403
{
title = "Liquid Extrafloor (solid)";
prefix = "";
requiresactivation = false;
}
404
{
title = "Liquid Extrafloor (20% translucent)";
prefix = "";
requiresactivation = false;
}
405
{
title = "Liquid Extrafloor (40% translucent)";
prefix = "";
requiresactivation = false;
}
406
{
title = "Liquid Extrafloor (60% translucent)";
prefix = "";
requiresactivation = false;
}
407
{
title = "Liquid Extrafloor (80% translucent)";
prefix = "";
requiresactivation = false;
}
408
{
title = "Liquid Extrafloor (invisible)";
prefix = "";
requiresactivation = false;
}
}
Edge_translucent_linedef
{
title = "Edge: Translucent Linedef";
409
{
title = "Translucent Linedef (20%) least transparent";
prefix = "";
requiresactivation = false;
}
410
{
title = "Translucent Linedef (40%)";
prefix = "";
requiresactivation = false;
}
411
{
title = "Translucent Linedef (60%)";
prefix = "";
requiresactivation = false;
}
412
{
title = "Translucent Linedef (80%) most transparent";
prefix = "";
requiresactivation = false;
}
}
Edge_extrafloors_thin
{
title = "Edge: Extrafloors(thin)";
413
{
title = "Thin Extrafloor (opaque)";
prefix = "";
requiresactivation = false;
}
414
{
title = "Thin Extrafloor (20% translucent)";
prefix = "";
requiresactivation = false;
}
415
{
title = "Thin Extrafloor (40% translucent)";
prefix = "";
requiresactivation = false;
}
416
{
title = "Thin Extrafloor (60% translucent)";
prefix = "";
requiresactivation = false;
}
417
{
title = "Thin Extrafloor (80% translucent)";
prefix = "";
requiresactivation = false;
}
}
Edge_RTS_Enable
{
title = "Edge: Enable Tagged RTS";
418
{
title = "Enable Tagged RTS";
prefix = "S1";
}
419
{
title = "Enable Tagged RTS";
prefix = "SR";
}
420
{
title = "Enable Tagged RTS";
prefix = "W1";
}
421
{
title = "Enable Tagged RTS";
prefix = "WR";
}
440
{
title = "Enable Tagged RTS";
prefix = "G1";
}
441
{
title = "Enable Tagged RTS";
prefix = "GR";
}
454
{
title = "Enable Tagged RTS (monster)";
prefix = "W1";
}
455
{
title = "Enable Tagged RTS (monster)";
prefix = "WR";
}
456
{
title = "Enable Tagged RTS (Monster)";
prefix = "GR";
}
457
{
title = "Disable Tagged RTS";
prefix = "SR";
}
458
{
title = "Disable Tagged RTS";
prefix = "WR";
}
459
{
title = "Disable Tagged RTS";
prefix = "GR";
}
460
{
title = "Disable Tagged RTS (monster)";
prefix = "WR";
}
461
{
title = "Disable Tagged RTS (monster)";
prefix = "GR";
}
}
Edge_Scroller_lines
{
title = "Edge: Scroll Lines";
422
{
title = "Scroll Right";
prefix = "";
requiresactivation = false;
}
423
{
title = "Scroll Up";
prefix = "";
requiresactivation = false;
}
424
{
title = "Scroll Down";
prefix = "";
requiresactivation = false;
}
425
{
title = "Scroll Left And Up";
prefix = "";
requiresactivation = false;
}
426
{
title = "Scroll Left And Down";
prefix = "";
requiresactivation = false;
}
427
{
title = "Scroll Right And Up";
prefix = "";
requiresactivation = false;
}
428
{
title = "Scroll Right And Down";
prefix = "";
requiresactivation = false;
}
429
{
title = "Scroll Fast Lower And Middle Texture (liquid falls)";
prefix = "";
requiresactivation = false;
}
}
Edge_Floor
{
title = "Edge: Floor";
434
{
title = "Raise Floor 2 Units (use for RTS Onheight events)";
prefix = "S1";
}
435
{
title = "Raise Floor 2 Units (use for RTS Onheight events)";
prefix = "SR";
}
436
{
title = "Raise Floor 2 Units (use for RTS Onheight events)";
prefix = "W1";
}
437
{
title = "Raise Floor 2 Units (use for RTS Onheight events)";
prefix = "WR";
}
438
{
title = "Raise Floor 2 Units (use for RTS Onheight events)";
prefix = "S1";
}
439
{
title = "Raise Floor 2 Units (use for RTS Onheight events)";
prefix = "SR";
}
}
Edge_SlidingDoor
{
title = "Edge: Sliding Door";
442
{
title = "Sliding Door (left, monsters)";
prefix = "SR";
}
443
{
title = "Sliding Door (left)";
prefix = "SR";
}
444
{
title = "Sliding Door (left, fast)";
prefix = "SR";
}
445
{
title = "Sliding Door (left)";
prefix = "S1";
}
446
{
title = "Sliding Door (right, monsters)";
prefix = "SR";
}
447
{
title = "Sliding Door (right)";
prefix = "SR";
}
448
{
title = "Sliding Door (right, fast)";
prefix = "SR";
}
449
{
title = "Sliding Door (right)";
prefix = "S1";
}
450
{
title = "Sliding Door (center, monsters)";
prefix = "SR";
}
451
{
title = "Sliding Door (center)";
prefix = "SR";
}
452
{
title = "Sliding Door (center, fast)";
prefix = "SR";
}
453
{
title = "Sliding Door (center)";
prefix = "S1";
}
542
{
title = "Remote Slider (LEFT), MONSTERS";
prefix = "SR";
}
543
{
title = "Remote Slider (LEFT)";
prefix = "SR";
}
544
{
title = "Remote Slider (LEFT) FAST";
prefix = "SR";
}
545
{
title = "Remote Slider (LEFT)";
prefix = "S1";
}
546
{
title = "Remote Slider (RIGHT), MONSTERS";
prefix = "SR";
}
547
{
title = "Remote Slider (RIGHT)";
prefix = "SR";
}
548
{
title = "Remote Slider (RIGHT) FAST";
prefix = "SR";
}
549
{
title = "Remote Slider (RIGHT)";
prefix = "S1";
}
550
{
title = "Remote Slider (CENTER), MONSTERS";
prefix = "SR";
}
551
{
title = "Remote Slider (CENTER)";
prefix = "SR";
}
552
{
title = "Remote Slider (CENTER) FAST";
prefix = "SR";
}
553
{
title = "Remote Slider (CENTER)";
prefix = "S1";
}
554
{
title = "Remote Slider (LEFT)";
prefix = "WR";
}
555
{
title = "Remote Slider (LEFT) FAST";
prefix = "WR";
}
556
{
title = "Remote Slider (RIGHT)";
prefix = "WR";
}
557
{
title = "Remote Slider (RIGHT) FAST";
prefix = "WR";
}
558
{
title = "Remote Slider (CENTER)";
prefix = "WR";
}
559
{
title = "Remote Slider (CENTER) FAST";
prefix = "WR";
}
}
Edge_Mirror
{
title = "Edge: Mirrors";
462
{
title = "Mirror, Plain";
prefix = "";
requiresactivation = false;
}
463
{
title = "Mirror, White";
prefix = "";
requiresactivation = false;
}
464
{
title = "Mirror, Blue";
prefix = "";
requiresactivation = false;
}
465
{
title = "Mirror, Red";
prefix = "";
requiresactivation = false;
}
466
{
title = "Mirror, Green";
prefix = "";
requiresactivation = false;
}
}
Edge_ladder
{
title = "Edge: Ladders";
470
{
title = "Ladder, 48 units high";
prefix = "";
}
471
{
title = "Ladder, 80 units high";
prefix = "";
}
472
{
title = "Ladder, 120 units high";
prefix = "";
}
473
{
title = "Ladder, 160 units high";
prefix = "";
}
474
{
title = "Ladder, 192 units high";
prefix = "";
}
475
{
title = "Ladder, 256 units high";
prefix = "";
}
476
{
title = "Ladder, 384 units high";
prefix = "";
}
477
{
title = "Ladder, 512 units high";
prefix = "";
}
478
{
title = "Ladder, 768 units high";
prefix = "";
}
479
{
title = "Ladder, no limit(9999)";
prefix = "";
}
}
Edge_portals
{
title = "Edge: Portals";
480
{
title = "Portal, 20% Translucent";
prefix = "";
}
481
{
title = "Portal, 30% Translucent";
prefix = "";
}
482
{
title = "Portal, 40% Translucent";
prefix = "";
}
483
{
title = "Portal, Blue 40%";
prefix = "";
}
484
{
title = "Portal, Green 30%";
prefix = "";
}
485
{
title = "Camera Portal, Plain";
prefix = "";
requiresactivation = false;
}
486
{
title = "Camera Portal, White";
prefix = "";
requiresactivation = false;
}
487
{
title = "Camera Portal, Cyan";
prefix = "";
requiresactivation = false;
}
488
{
title = "Camera Portal, Rusty";
prefix = "";
requiresactivation = false;
}
489
{
title = "Camera Portal, Green";
prefix = "";
requiresactivation = false;
}
}
Edge_doors
{
title = "Edge: Doors";
490
{
title = "Green Key MANUAL DOOR";
prefix = "SR";
}
491
{
title = "Green Key MANUAL DOOR";
prefix = "S1";
}
492
{
title = "Green Key TAGGED DOOR";
prefix = "SR";
}
493
{
title = "Green Key TAGGED DOOR";
prefix = "S1";
}
494
{
title = "Green Key BLAZING DOOR";
prefix = "S1";
}
580
{
title = "Gold Key MANUAL DOOR";
prefix = "SR";
}
581
{
title = "Gold Key MANUAL DOOR";
prefix = "S1";
}
582
{
title = "Gold Key TAGGED DOOR";
prefix = "SR";
}
583
{
title = "Gold Key TAGGED DOOR";
prefix = "S1";
}
584
{
title = "Silver Key MANUAL DOOR";
prefix = "SR";
}
585
{
title = "Silver Key MANUAL DOOR";
prefix = "S1";
}
586
{
title = "Silver Key TAGGED DOOR";
prefix = "SR";
}
587
{
title = "Silver Key TAGGED DOOR";
prefix = "S1";
}
588
{
title = "Brass Key MANUAL DOOR";
prefix = "SR";
}
589
{
title = "Brass Key MANUAL DOOR";
prefix = "S1";
}
590
{
title = "Copper Key MANUAL DOOR";
prefix = "SR";
}
591
{
title = "Copper Key MANUAL DOOR";
prefix = "S1";
}
592
{
title = "Steel Key MANUAL DOOR";
prefix = "SR";
}
593
{
title = "Steel Key MANUAL DOOR";
prefix = "S1";
}
594
{
title = "Wooden Key MANUAL DOOR";
prefix = "SR";
}
595
{
title = "Wooden Key MANUAL DOOR";
prefix = "S1";
}
596
{
title = "Fire Key MANUAL DOOR";
prefix = "SR";
}
597
{
title = "Fire Key MANUAL DOOR";
prefix = "S1";
}
598
{
title = "Water Key MANUAL DOOR";
prefix = "SR";
}
599
{
title = "Water Key MANUAL DOOR";
prefix = "S1";
}
}
Edge_HUB
{
title = "Edge: HUB Exits";
501
{
title = "Hub Exit to MAP01 / E1M1";
prefix = "W1";
}
502
{
title = "Hub Exit to MAP02 / E1M2";
prefix = "W1";
}
503
{
title = "Hub Exit to MAP03 / E1M3";
prefix = "W1";
}
504
{
title = "Hub Exit to MAP04 / E1M4";
prefix = "W1";
}
505
{
title = "Hub Exit to MAP05 / E1M5";
prefix = "W1";
}
506
{
title = "Hub Exit to MAP06 / E1M6";
prefix = "W1";
}
507
{
title = "Hub Exit to MAP07 / E1M7";
prefix = "W1";
}
508
{
title = "Hub Exit to MAP08 / E1M8";
prefix = "W1";
}
509
{
title = "Hub Exit to MAP09 / E1M9";
prefix = "W1";
}
510
{
title = "Hub Exit to MAP10";
prefix = "W1";
}
511
{
title = "Hub Exit to MAP11 / E2M1";
prefix = "W1";
}
512
{
title = "Hub Exit to MAP12 / E2M2";
prefix = "W1";
}
513
{
title = "Hub Exit to MAP13 / E2M3";
prefix = "W1";
}
514
{
title = "Hub Exit to MAP14 / E2M4";
prefix = "W1";
}
515
{
title = "Hub Exit to MAP15 / E2M5";
prefix = "W1";
}
516
{
title = "Hub Exit to MAP16 / E2M6";
prefix = "W1";
}
517
{
title = "Hub Exit to MAP17 / E2M7";
prefix = "W1";
}
518
{
title = "Hub Exit to MAP18 / E2M8";
prefix = "W1";
}
519
{
title = "Hub Exit to MAP19 / E2M9";
prefix = "W1";
}
520
{
title = "Hub Exit to MAP20";
prefix = "W1";
}
521
{
title = "Hub Exit to MAP21 / E3M1";
prefix = "W1";
}
522
{
title = "Hub Exit to MAP22 / E3M2";
prefix = "W1";
}
523
{
title = "Hub Exit to MAP23 / E3M3";
prefix = "W1";
}
524
{
title = "Hub Exit to MAP24 / E3M4";
prefix = "W1";
}
525
{
title = "Hub Exit to MAP25 / E3M5";
prefix = "W1";
}
526
{
title = "Hub Exit to MAP26 / E3M6";
prefix = "W1";
}
527
{
title = "Hub Exit to MAP27 / E3M7";
prefix = "W1";
}
528
{
title = "Hub Exit to MAP28 / E3M8";
prefix = "W1";
}
529
{
title = "Hub Exit to MAP29 / E3M9";
prefix = "W1";
}
530
{
title = "Hub Exit to MAP30";
prefix = "W1";
}
531
{
title = "Hub Exit to MAP31 / E4M1";
prefix = "W1";
}
532
{
title = "Hub Exit to MAP32 / E4M2";
prefix = "W1";
}
533
{
title = "Hub Exit to MAP33 / E4M3";
prefix = "W1";
}
534
{
title = "Hub Exit to MAP34 / E4M4";
prefix = "W1";
}
535
{
title = "Hub Exit to MAP35 / E4M5";
prefix = "W1";
}
536
{
title = "Hub Exit to MAP36 / E4M6";
prefix = "W1";
}
537
{
title = "Hub Exit to MAP37 / E4M7";
prefix = "W1";
}
538
{
title = "Hub Exit to MAP38 / E4M8";
prefix = "W1";
}
539
{
title = "Hub Exit to MAP39 / E4M9";
prefix = "W1";
}
}
Edge_slopes
{
title = "Edge: Slopes";
567
{
title = "Detail Slope : FLOOR";
prefix = "";
requiresactivation = false;
}
568
{
title = "Detail Slope : CEILING";
prefix = "";
requiresactivation = false;
}
569
{
title = "Detail Slope : FLOOR+CEILING";
prefix = "";
requiresactivation = false;
}
}
Edge_alignflats
{
title = "Edge: Flats";
800
{
title = "Align and rotate front sector's FLOOR";
prefix = "";
requiresactivation = false;
}
801
{
title = "Align and rotate back sector's FLOOR";
prefix = "";
requiresactivation = false;
}
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
{
......@@ -16,8 +12,6 @@ linedefflagtooltips
}
// 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
......@@ -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
{
......@@ -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
// This is needed for copy/paste and prefabs to work properly
......@@ -116,17 +52,7 @@ defaultthingflags
}
defaultthingflags_udmf
{
skill1;
skill2;
skill3;
skill4;
skill5;
single;
coop;
dm;
}
// Default sector brightness levels
......@@ -169,125 +95,552 @@ hires
/*
ADDITIONAL UNIVERSAL DOOM MAP FORMAT FIELD DEFINITIONS
See Documents\fielddatatypes.txt for informtion on the types.
*/
universalfields
// ***********************************************************
// * *
// * Doom map format *
// * *
// ***********************************************************
mapformat_doom
{
linedef
// The format interface handles the map data format
formatinterface = "DoomMapSetIO";
maplumpnames
{
comment
{
type = 2;
default = "";
}
include("Doom_misc.cfg", "doommaplumpnames");
include("Boom_misc.cfg", "boommaplumpnames");
}
sidedef
// Enables support for individual offsets of upper/middle/lower sidedef textures
localsidedeftextureoffsets = false;
// Default flags for first new thing
defaultthingflags
{
comment
{
type = 2;
default = "";
}
include("Doom_misc.cfg", "defaultthingflags");
}
thing
// LINEDEF FLAGS
linedefflags
{
comment
{
type = 2;
default = "";
}
include("Doom_misc.cfg", "linedefflags");
include("Boom_misc.cfg", "linedefflags");
}
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
{
REJECT
// 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
{
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;
nodebuild = false;
blindcopy = true;
include("UDMF_misc.cfg", "udmfmaplumpnames_begin");
include("UDMF_misc.cfg", "udmfmaplumpnames_end");
}
DIALOGUE
linedefflags
{
required = false;
nodebuild = false;
script = "ZDoom_USDF.cfg";
blocking = "Impassable";
blockmonsters = "Block monster";
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;
nodebuild = true;
allowempty = 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.";
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.";
}
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;
nodebuild = true;
allowempty = true;
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.";
}
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;
allowempty = true;
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;
}
}
}
// 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;
nodebuild = false;
script = "ZDoom_ACS.cfg";
linedef
{
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
{
frontback
......@@ -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";
20 = "Airless";
25 = "Lo Grav";
4418 = "Water Liquid Extrafloor SCROLL/PUSH North";
4419 = "Water Liquid Extrafloor SCROLL/PUSH North East";
4420 = "Water Liquid Extrafloor SCROLL/PUSH East";
4421 = "Water Liquid Extrafloor SCROLL/PUSH South East";
4422 = "Water Liquid Extrafloor SCROLL/PUSH South";
4423 = "Water Liquid Extrafloor SCROLL/PUSH South West";
4424 = "Water Liquid Extrafloor SCROLL/PUSH West";
4425 = "Water Liquid Extrafloor SCROLL/PUSH North West";
4426 = "Slime Liquid Extrafloor SCROLL/PUSH North";
4427 = "Slime Liquid Extrafloor SCROLL/PUSH North East";
4428 = "Slime Liquid Extrafloor SCROLL/PUSH East";
4429 = "Slime Liquid Extrafloor SCROLL/PUSH South East";
4430 = "Slime Liquid Extrafloor SCROLL/PUSH South";
4431 = "Slime Liquid Extrafloor SCROLL/PUSH South West";
4432 = "Slime Liquid Extrafloor SCROLL/PUSH West";
4433 = "Slime Liquid Extrafloor SCROLL/PUSH North West";
4434 = "Lava Liquid Extrafloor SCROLL/PUSH North";
4435 = "Lava Liquid Extrafloor SCROLL/PUSH North East";
4436 = "Lava Liquid Extrafloor SCROLL/PUSH East";
4437 = "Lava Liquid Extrafloor SCROLL/PUSH South East";
4438 = "Lava Liquid Extrafloor SCROLL/PUSH South";
4439 = "Lava Liquid Extrafloor SCROLL/PUSH South West";
4440 = "Lava Liquid Extrafloor SCROLL/PUSH West";
4441 = "Lava Liquid Extrafloor SCROLL/PUSH North West";
4442 = "Push North";
4443 = "Push North East";
4444 = "Push East";
4445 = "Push South East";
4446 = "Push South";
4447 = "Push South West";
4448 = "Push West";
4449 = "Push North West";
4450 = "Scroll Floor Texture North";
4451 = "Scroll Floor Texture North East";
4452 = "Scroll Floor Texture East";
4453 = "Scroll Floor Texture South East";
4454 = "Scroll Floor Texture South";
4455 = "Scroll Floor Texture South West";
4456 = "Scroll Floor Texture West";
4457 = "Scroll Floor Texture North West";
4458 = "Scroll Floor Texture/Push North";
4459 = "Scroll Floor Texture/Push North East";
4460 = "Scroll Floor Texture/Push East";
4461 = "Scroll Floor Texture/Push South East";
4462 = "Scroll Floor Texture/Push South";
4463 = "Scroll Floor Texture/Push South West";
4464 = "Scroll Floor Texture/Push West";
4465 = "Scroll Floor Texture/Push North West";
4466 = "Blue Hue (Swimmable)";
4467 = "Green Hue (Swimmable)";
4468 = "Green Hue + Damage (Swimmable)";
4469 = "Red Hue (Swimmable)";
4470 = "Red Hue + Damage (Swimmable)";
4471 = "Blue Hue";
4472 = "Green Hue";
4473 = "Red Hue";
4474 = "Yellow Hue";
4475 = "Purple Hue";
4476 = "Grey Hue";
29 = "Hub Entry";
20 = "Airless";
25 = "Lo Grav";
4418 = "Water Liquid Extrafloor SCROLL/PUSH North";
4419 = "Water Liquid Extrafloor SCROLL/PUSH North East";
4420 = "Water Liquid Extrafloor SCROLL/PUSH East";
4421 = "Water Liquid Extrafloor SCROLL/PUSH South East";
4422 = "Water Liquid Extrafloor SCROLL/PUSH South";
4423 = "Water Liquid Extrafloor SCROLL/PUSH South West";
4424 = "Water Liquid Extrafloor SCROLL/PUSH West";
4425 = "Water Liquid Extrafloor SCROLL/PUSH North West";
4426 = "Slime Liquid Extrafloor SCROLL/PUSH North";
4427 = "Slime Liquid Extrafloor SCROLL/PUSH North East";
4428 = "Slime Liquid Extrafloor SCROLL/PUSH East";
4429 = "Slime Liquid Extrafloor SCROLL/PUSH South East";
4430 = "Slime Liquid Extrafloor SCROLL/PUSH South";
4431 = "Slime Liquid Extrafloor SCROLL/PUSH South West";
4432 = "Slime Liquid Extrafloor SCROLL/PUSH West";
4433 = "Slime Liquid Extrafloor SCROLL/PUSH North West";
4434 = "Lava Liquid Extrafloor SCROLL/PUSH North";
4435 = "Lava Liquid Extrafloor SCROLL/PUSH North East";
4436 = "Lava Liquid Extrafloor SCROLL/PUSH East";
4437 = "Lava Liquid Extrafloor SCROLL/PUSH South East";
4438 = "Lava Liquid Extrafloor SCROLL/PUSH South";
4439 = "Lava Liquid Extrafloor SCROLL/PUSH South West";
4440 = "Lava Liquid Extrafloor SCROLL/PUSH West";
4441 = "Lava Liquid Extrafloor SCROLL/PUSH North West";
4442 = "Push North";
4443 = "Push North East";
4444 = "Push East";
4445 = "Push South East";
4446 = "Push South";
4447 = "Push South West";
4448 = "Push West";
4449 = "Push North West";
4450 = "Scroll Floor Texture North";
4451 = "Scroll Floor Texture North East";
4452 = "Scroll Floor Texture East";
4453 = "Scroll Floor Texture South East";
4454 = "Scroll Floor Texture South";
4455 = "Scroll Floor Texture South West";
4456 = "Scroll Floor Texture West";
4457 = "Scroll Floor Texture North West";
4458 = "Scroll Floor Texture/Push North";
4459 = "Scroll Floor Texture/Push North East";
4460 = "Scroll Floor Texture/Push East";
4461 = "Scroll Floor Texture/Push South East";
4462 = "Scroll Floor Texture/Push South";
4463 = "Scroll Floor Texture/Push South West";
4464 = "Scroll Floor Texture/Push West";
4465 = "Scroll Floor Texture/Push North West";
4466 = "Blue Hue (Swimmable)";
4467 = "Green Hue (Swimmable)";
4468 = "Green Hue + Damage (Swimmable)";
4469 = "Red Hue (Swimmable)";
4470 = "Red Hue + Damage (Swimmable)";
4471 = "Blue Hue";
4472 = "Green Hue";
4473 = "Red Hue";
4474 = "Yellow Hue";
4475 = "Purple 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
{
color = 12; // Light Red
arrow = 1;
title = "Edge: Monsters";
width = 20;
sort = 1;
height = 56;
hangs = 0;
blocking = 1;
error = 2;
4050
{
title = "Stealth Arachnotron";
height = 32;
}
4051
{
title = "Stealth Archvile";
height = 32;
}
4052
{
title = "Stealth Baron of Hell";
height = 32;
}
4053
{
title = "Stealth Cacodemon";
height = 32;
}
4054
{
title = "Stealth Heavy weapon dude";
height = 32;
}
4055
{
title = "Stealth Demon";
height = 32;
}
4056
{
title = "Stealth Hell knight";
height = 32;
}
4057
{
title = "Stealth Imp";
height = 32;
}
4058
{
title = "Stealth Mancubus";
height = 32;
}
4059
{
title = "Stealth Revenant";
height = 32;
}
4060
{
title = "Stealth Shotgun Guy";
height = 32;
}
4061
{
title = "Stealth Zombie man";
height = 32;
}
7100
{
title = "EDGE Revenant MKII";
height = 32;
}
7101
{
title = "EDGE Teleport spawner";
height = 32;
}
7102
{
title = "Arachnotron MKII";
height = 32;
}
7103
{
title = "Mancubus MKII";
height = 32;
}
}
edge_powerups
{
color = 9; // Light Blue
arrow = 0;
title = "EDGE: Powerups";
width = 20;
height = 20;
hangs = 0;
blocking = 0;
sort = 1;
7000
{
title = "EDGE Nightvision Specs";
sprite = "NVSCA0";
}
7020
{
title = "EDGE Jetpack";
sprite = "JPCKA0";
}
7005
{
title = "EDGE Stop Time";
sprite = "TSTPB0";
}
}
edge_glowlights
{
color = 9; // Light Blue
arrow = 0;
title = "EDGE: Sector Light FX";
sprite = "internal:light";
width = 20;
height = 20;
hangs = 0;
blocking = 0;
7041
{
title = "EDGE Nukage Glow";
height = 32;
}
7042
{
title = "EDGE Lava Glow";
height = 32;
}
7043
{
title = "EDGE Water Glow";
height = 32;
}
}
edge_lights
{
color = 9; // Light Blue
arrow = 0;
title = "EDGE: Lights";
sprite = "internal:light";
width = 8;
height = 20;
hangs = 0;
blocking = 0;
7044
{
title = "White light: Floor";
height = 32;
color = 15;
}
7045
{
title = "Yellow light: Floor";
height = 32;
color = 15;
}
7046
{
title = "Red light: Floor";
height = 32;
color = 15;
}
7047
{
title = "Blue light: Floor";
height = 32;
color = 15;
}
7048
{
title = "Green light: Floor";
height = 32;
color = 15;
}
7049
{
title = "Orange light: Floor";
height = 32;
color = 15;
}
7054
{
title = "White light: Ceiling";
height = 16;
hangs = 1;
color = 15;
}
7055
{
title = "Yellow light: Ceiling";
height = 16;
hangs = 1;
color = 15;
}
7056
{
title = "Red light: Ceiling";
height = 16;
hangs = 1;
color = 15;
}
7057
{
title = "Blue light: Ceiling";
height = 16;
hangs = 1;
color = 15;
}
7058
{
title = "Green light: Ceiling";
height = 16;
hangs = 1;
color = 15;
}
7059
{
title = "Orange light: Ceiling";
height = 16;
hangs = 1;
color = 15;
}
}
edge_keys
{
color = 13; // Light Magenta
arrow = 0;
title = "EDGE: Keys";
width = 20;
sort = 1;
height = 16;
hangs = 0;
blocking = 0;
7015
{
title = "Green keycard";
sprite = "BKEYA0";
}
7017
{
title = "Green skullkey";
sprite = "BSKUB0";
}
}
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";
}
7032
{
title = "Yellow armor";
sprite = "ARM2A0";
}
7033
{
title = "Red armor";
sprite = "ARM2A0";
}
}
EDGE_monsters
{
color = 12; // Light Red
arrow = 1;
title = "EDGE: Monsters";
width = 20;
sort = 1;
height = 56;
hangs = 0;
blocking = 1;
error = 2;
4050
{
title = "Stealth Arachnotron";
height = 32;
}
4051
{
title = "Stealth Archvile";
height = 32;
}
4052
{
title = "Stealth Baron of Hell";
height = 32;
}
4053
{
title = "Stealth Cacodemon";
height = 32;
}
4054
{
title = "Stealth Heavy weapon dude";
height = 32;
}
4055
{
title = "Stealth Demon";
height = 32;
}
4056
{
title = "Stealth Hell knight";
height = 32;
}
4057
{
title = "Stealth Imp";
height = 32;
}
4058
{
title = "Stealth Mancubus";
height = 32;
}
4059
{
title = "Stealth Revenant";
height = 32;
}
4060
{
title = "Stealth Shotgun Guy";
height = 32;
}
4061
{
title = "Stealth Zombie man";
height = 32;
}
7100
{
title = "EDGE Revenant MKII";
height = 32;
}
7101
{
title = "EDGE Teleport spawner";
height = 32;
}
7102
{
title = "Arachnotron MKII";
height = 32;
}
7103
{
title = "Mancubus MKII";
height = 32;
}
}
edge_powerups
{
color = 9; // Light Blue
arrow = 0;
title = "EDGE: Powerups";
width = 20;
height = 20;
hangs = 0;
blocking = 0;
sort = 1;
7000
{
title = "EDGE Nightvision Specs";
sprite = "NVSCA0";
}
7020
{
title = "EDGE Jetpack";
sprite = "JPCKA0";
}
7005
{
title = "EDGE Stop Time";
sprite = "TSTPB0";
}
}
edge_glowlights
{
color = 11; // Light Cyan
arrow = 0;
title = "EDGE: Sector Light FX";
sprite = "internal:light";
width = 16;
height = 16;
hangs = 0;
blocking = 0;
7041
{
title = "EDGE Nukage Glow: Floor";
color = 10; // Light Green
}
7042
{
title = "EDGE Lava Glow: Floor";
color = 12; // Light Red
}
7043
{
title = "EDGE Water Glow: Floor";
color = 9; // Light Blue
}
7070
{
title = "EDGE Nukage Glow: Wall";
color = 10; // Light Green
}
7071
{
title = "EDGE Lava Glow: Wall";
color = 12; // Light Red
}
7072
{
title = "EDGE Water Glow: Wall";
color = 9; // Light Blue
}
7073
{
title = "EDGE White Glow: Wall";
color = 15; // White
}
}
edge_lights
{
color = 11; // Light Cyan
arrow = 0;
title = "EDGE: Lights";
sprite = "internal:light";
width = 8;
height = 20;
hangs = 0;
blocking = 0;
7044
{
title = "White light: Floor";
height = 32;
color = 15; // White
}
7045
{
title = "Yellow light: Floor";
height = 32;
color = 14; // Yellow
}
7046
{
title = "Red light: Floor";
height = 32;
color = 12; // Light Red
}
7047
{
title = "Blue light: Floor";
height = 32;
color = 9; // Light Blue
}
7048
{
title = "Green light: Floor";
height = 32;
color = 10; // Light Green
}
7049
{
title = "Orange light: Floor";
height = 32;
color = 17; //Orange
}
7054
{
title = "White light: Ceiling";
height = 16;
hangs = 1;
color = 15; // White
}
7055
{
title = "Yellow light: Ceiling";
height = 16;
hangs = 1;
color = 14; // Yellow
}
7056
{
title = "Red light: Ceiling";
height = 16;
hangs = 1;
color = 12; // Light Red
}
7057
{
title = "Blue light: Ceiling";
height = 16;
hangs = 1;
color = 9; // Light Blue
}
7058
{
title = "Green light: Ceiling";
height = 16;
hangs = 1;
color = 10; // Light Green
}
7059
{
title = "Orange light: Ceiling";
height = 16;
hangs = 1;
color = 17; //Orange
}
}
edge_keys
{
color = 13; // Light Magenta
arrow = 0;
title = "EDGE: Keys";
width = 20;
sort = 1;
height = 16;
hangs = 0;
blocking = 0;
7015
{
title = "Green keycard";
sprite = "BKEYA0";
color = 10; // Light Green
}
7017
{
title = "Green skullkey";
sprite = "BSKUB0";
color = 10; // Light Green
}
}
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
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
{
......