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 (1069)
Showing
with 2815 additions and 1689 deletions
[*.cs]
indent_style = tab
\ No newline at end of file
......@@ -10,10 +10,10 @@ jobs:
fail-fast: false
matrix:
config:
- {
name: "macOS",
os: macos-latest
}
# - {
# name: "macOS",
# os: macos-latest
# }
- {
name: "Linux",
os: ubuntu-latest
......@@ -27,7 +27,8 @@ jobs:
if [[ "${{ runner.os }}" == 'macOS' ]]; then
make mac
elif [[ "${{ runner.os }}" == 'Linux' ]]; then
sudo apt install mesa-common-dev
sudo apt-get update
sudo apt install mesa-common-dev libxfixes-dev
make linux
fi
......@@ -56,11 +57,6 @@ jobs:
fi
done
- name: Prepare Package
run: |
# Delete unwanted files
rm -r Build/Setup
- name: Upload Package
uses: actions/upload-artifact@v1
with:
......
......@@ -22,13 +22,13 @@ jobs:
$options = @( `
'-property:Configuration=${{ matrix.configuration }}', `
'-property:Platform=${{ matrix.platform }}', `
'-property:WindowsTargetPlatformVersion=10.0', `
'-property:PlatformToolset=v142', `
'-maxcpucount', `
'-verbosity:minimal' `
)
& $msbuild Builder.sln $options
if (-not $?) { throw "Build failed" }
& $msbuild Source\Tools\Updater\Updater.csproj $options
if (-not $?) { throw "Build failed" }
- name: Test Files Presence
run: |
......
......@@ -30,3 +30,13 @@ bin
/Source/Core/*.user
/Build/libBuilderNative.so
/Build/OpenGLDebug.log
/Source/Native/*.log
/Build/builder
/Build/System.Buffers.dll
/Build/System.Memory.dll
/Build/System.Numerics.Vectors.dll
/Build/System.Runtime.CompilerServices.Unsafe.dll
/Build/Updater.ini
/Build.Native
/builder
*.csproj.dtbcache.json
variables:
BUILDTYPE: Release
default:
image: git.do.srb2.org:5050/stjr/srb2ci/srb2ci:stable
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:
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 msbuild
- |
# 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
......@@ -7,9 +7,9 @@ compilers
// All others are the required files (the setting names do not matter)
bcc
{
interface = "AccCompiler";
interface = "BccCompiler";
program = "bcc.exe";
zcommon = "zcommon.acs";
zcommon = "zcommon.bcs";
std = "std.acs";
}
}
File moved
......@@ -29,9 +29,9 @@
//** It will give you online info about the ZDaemon extensions.
//**
//***************************************************************************
// ZDaemon ACSF Functions ---------------------------------------------------
special
// -19620:GetTeamScore(1), //already defined in zspecial.acs
// -19621:SetTeamScore(2), //already defined in zspecial.acs
......@@ -53,50 +53,63 @@ special
-19637:Arti_Execute(2,5),
-19638:Arti_ExecuteAlways(2,5),
-19639:Arti_NamedExecute(2,5),
-19640:Arti_NamedExecuteAlways(2,5);
-19640:Arti_NamedExecuteAlways(2,5),
-19641:ZD_SetActorCameraHeight(2),
-19642:ZD_SetMarineSkin(2),
-19643:ZD_GetSkinName(1),
-19644:ZD_GetSkinTopIndex(0),
-19645:ZD_GetGameInfo(1),
-19646:ZD_GetMarineSkin(1);
// Team specifiers you can use with GetTeamScore/SetTeamScore ---------------
//#define TEAM_BLUE 0 //already defined in zdefs.acs
//#define TEAM_RED 1 //already defined in zdefs.acs
#define TEAM_GREEN 2
#define TEAM_WHITE 3
//#define TEAM_BLUE 0 //already defined in zdefs.acs
//#define TEAM_RED 1 //already defined in zdefs.acs
#define TEAM_GREEN 2
#define TEAM_WHITE 3
// More Properties you can use with GetPlayerInfo/SetPlayerInfo -------------
#define PLAYERINFO_ITEMS 100
#define PLAYERINFO_HEALTH 101
#define PLAYERINFO_ARMOR 102
#define PLAYERINFO_SECRETS 103
#define PLAYERINFO_KILLS 104
#define PLAYERINFO_DEATHS 105
#define PLAYERINFO_SUICIDES 106
#define PLAYERINFO_PTS_1 107
#define PLAYERINFO_PTS_2 108
#define PLAYERINFO_PTS_3 109
#define PLAYERINFO_TIME 110
#define PLAYERINFO_USR_1 111
#define PLAYERINFO_USR_2 112
#define PLAYERINFO_USR_3 113
#define PLAYERINFO_USR_4 114
#define PLAYERINFO_USR_5 115
#define PLAYERINFO_USR_6 116
#define PLAYERINFO_USR_7 117
#define PLAYERINFO_USR_8 118
#define PLAYERINFO_USR_9 119
#define PLAYERINFO_USR_10 120
#define PLAYERINFO_MORPHTICS 121
#define PLAYERINFO_MORPHED 122
#define PLAYERINFO_READYWEAPON 123
#define PLAYERINFO_ITEMS 100
#define PLAYERINFO_HEALTH 101
#define PLAYERINFO_ARMOR 102
#define PLAYERINFO_SECRETS 103
#define PLAYERINFO_KILLS 104
#define PLAYERINFO_DEATHS 105
#define PLAYERINFO_SUICIDES 106
#define PLAYERINFO_PTS_1 107
#define PLAYERINFO_PTS_2 108
#define PLAYERINFO_PTS_3 109
#define PLAYERINFO_TIME 110
#define PLAYERINFO_USR_1 111
#define PLAYERINFO_USR_2 112
#define PLAYERINFO_USR_3 113
#define PLAYERINFO_USR_4 114
#define PLAYERINFO_USR_5 115
#define PLAYERINFO_USR_6 116
#define PLAYERINFO_USR_7 117
#define PLAYERINFO_USR_8 118
#define PLAYERINFO_USR_9 119
#define PLAYERINFO_USR_10 120
#define PLAYERINFO_MORPHTICS 121
#define PLAYERINFO_MORPHED 122
#define PLAYERINFO_READYWEAPON 123
// Return values for PLAYERINFO_MORPHED -------------------------------------
#define MORPHEDTO_NONE 0
#define MORPHEDTO_CHICK 1
#define MORPHEDTO_PIG 2
#define MORPHEDTO_NONE 0
#define MORPHEDTO_CHICK 1
#define MORPHEDTO_PIG 2
// Return values for NetMode ------------------------------------------------
#define NM_SINGLEPLAYER 1
#define NM_SERVER 2
#define NM_CLIENT 3
#define NM_SINGLEPLAYER 1
#define NM_SERVER 2
#define NM_CLIENT 3
// Return values for ZD_GetGameInfo -----------------------------------------
#define ZD_GAMEINFO_SURVIVALRESET 0
#define ZD_GAMEINFO_IN_OVERTIME 1
#define ZD_GAMEINFO_IN_WARMUP 2
#define ZD_GAMEINFO_IN_LOBBY 3
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
// 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
// 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
// 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 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 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
\ No newline at end of file
//**************************************************************************
//**
//** 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),
//**************************************************************************
//**
//** 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),
-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),
// 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);
// 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.
No preview for this file type
......@@ -193,6 +193,10 @@
#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 --------------------------------------------------------
......@@ -289,6 +293,21 @@
#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
// 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 ------------------------------------------------------------
......@@ -298,6 +317,8 @@
#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 //
......@@ -346,6 +367,7 @@
#define DAMAGE_NONPLAYERS 2
#define DAMAGE_IN_AIR 4
#define DAMAGE_SUBCLASSES_PROTECT 8
#define DAMAGE_NO_ARMOR 16
// Flags for MorphActor -----------------------------------------------------
......@@ -362,6 +384,8 @@
#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. ---
......@@ -687,6 +711,9 @@
#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
......@@ -741,6 +768,12 @@
#DEFINE AAPTR_PLAYER8 0x2000
#DEFINE AAPTR_FRIENDPLAYER 0x4000
#DEFINE AAPTR_GET_LINETARGET 0x8000
// [AK] Actor pointers used exclusively for GAMEEVENT_ACTOR_DAMAGED
#DEFINE AAPTR_DAMAGE_SOURCE 0x10000000
#DEFINE AAPTR_DAMAGE_INFLICTOR 0x40000000
#DEFINE AAPTR_DAMAGE_TARGET 0x80000000
// Actor pointer operation flags
......@@ -764,6 +797,15 @@
#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
// ==========================================================================
......@@ -860,6 +902,28 @@
#define DB_ORDER_ASC 0
#define DB_ORDER_DESC 1
// Zandronum gamemode states ------------------------------------------------
#define GAMESTATE_UNSPECIFIED -1
#define GAMESTATE_WAITFORPLAYERS 0
#define GAMESTATE_COUNTDOWN 1
#define GAMESTATE_INPROGRESS 2
#define GAMESTATE_INRESULTSEQUENCE 3
// Zandronum EVENT script types ---------------------------------------------
#define GAMEEVENT_PLAYERFRAGS 0
#define GAMEEVENT_MEDALS 1
#define GAMEEVENT_CAPTURES 2
#define GAMEEVENT_TOUCHES 3
#define GAMEEVENT_RETURNS 4
#define GAMEEVENT_ROUND_STARTS 5
#define GAMEEVENT_ROUND_ENDS 6
#define GAMEEVENT_ROUND_ABORTED 7
#define GAMEEVENT_CHAT 8
#define GAMEEVENT_PLAYERCONNECT 9
#define GAMEEVENT_ACTOR_SPAWNED 10
#define GAMEEVENT_ACTOR_DAMAGED 11
#define GAMEEVENT_ACTOR_ARMORDAMAGED 12
// Events when you have input grabbed
#define EV_KeyDown 1 // data1: unshifted ASCII, data2: shifted ASCII
......@@ -941,6 +1005,13 @@
#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
......@@ -952,6 +1023,7 @@
#define BLOCKF_USE 128
#define BLOCKF_SIGHT 256
#define BLOCKF_HITSCAN 512
#define BLOCKF_SOUND 1024
#define FOGP_DENSITY 0
#define FOGP_OUTSIDEDENSITY 1
......@@ -960,11 +1032,150 @@
#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 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
// [TP] For GetTimeProperty
#define TM_SECOND 0
......@@ -974,3 +1185,29 @@
#define TM_MONTH 4
#define TM_YEAR 5
#define TM_WEEKDAY 6
// [AK] For SetGamemodeLimit
#define GAMELIMIT_FRAGS 0
#define GAMELIMIT_TIME 1
#define GAMELIMIT_POINTS 2
#define GAMELIMIT_DUELS 3
#define GAMELIMIT_WINS 4
#define GAMELIMIT_WAVES 5
// [AK] For SetPlayerScore and GetPlayerScore
#define SCORE_FRAGS 0
#define SCORE_POINTS 1
#define SCORE_WINS 2
#define SCORE_DEATHS 3
#define SCORE_KILLS 4
#define SCORE_ITEMS 5
#define SCORE_SECRETS 6
#define SCORE_SPREAD 7
#define SCORE_RANK 8
// [AK] For GetMapRotationInfo
#define MAPROTATION_Name 0
#define MAPROTATION_LumpName 1
#define MAPROTATION_Used 2
#define MAPROTATION_MinPlayers 3
#define MAPROTATION_MaxPlayers 4
\ No newline at end of file
......@@ -21,15 +21,15 @@ special
14:Door_Animated(3,4),
15:Autosave(0),
// 16:Transfer_WallLight
17:Thing_Raise(1),
17:Thing_Raise(1,2),
18:StartConversation(1,2),
19:Thing_Stop(1),
20:Floor_LowerByValue(3),
21:Floor_LowerToLowest(2),
22:Floor_LowerToNearest(2),
23:Floor_RaiseByValue(3),
24:Floor_RaiseToHighest(2),
25:Floor_RaiseToNearest(2),
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),
......@@ -39,21 +39,21 @@ special
32:Stairs_BuildUpSync(4),
33:ForceField(0),
34:ClearForceField(1),
35:Floor_RaiseByValueTimes8(3),
36:Floor_LowerByValueTimes8(3),
37:Floor_MoveToValue(3,4),
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),
41:Ceiling_RaiseByValue(3),
40:Ceiling_LowerByValue(3,5),
41:Ceiling_RaiseByValue(3,4),
42:Ceiling_CrushAndRaise(3,4),
43:Ceiling_LowerAndCrush(3,4),
44:Ceiling_CrushStop(1),
44:Ceiling_CrushStop(1,2),
45:Ceiling_CrushRaiseAndStay(3,4),
46:Floor_CrushStop(1),
47:Ceiling_MoveToValue(3,4),
47:Ceiling_MoveToValue(3,5),
// 48:Sector_Attach3dMidtex
49:GlassBreak(0,1),
49:GlassBreak(0,2),
// 50:ExtraFloor_LightOnly
51:Sector_SetLink(4),
52:Scroll_Wall(5),
......@@ -65,15 +65,15 @@ special
// 58: Sector_CopyScroller
59:Polyobj_OR_MoveToSpot(3),
60:Plat_PerpetualRaise(3),
61:Plat_Stop(1),
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),
67:Floor_RaiseInstant(3),
68:Floor_MoveToValueTimes8(4),
69:Ceiling_MoveToValueTimes8(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),
......@@ -108,6 +108,10 @@ special
// 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),
......@@ -143,6 +147,8 @@ special
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),
......@@ -176,14 +182,14 @@ special
188:Sector_SetCeilingScale(5),
189:Sector_SetFloorScale(5),
191:SetPlayerProperty(3),
192:Ceiling_LowerToHighestFloor(2),
193:Ceiling_LowerInstant(3),
194:Ceiling_RaiseInstant(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),
199:Ceiling_LowerByValueTimes8(3),
198:Ceiling_RaiseByValueTimes8(3,4),
199:Ceiling_LowerByValueTimes8(3,5),
200:Generic_Floor(5),
201:Generic_Ceiling(5),
202:Generic_Door(5),
......@@ -198,8 +204,8 @@ special
// 211:Transfer_CeilingLight,
212:Sector_SetColor(4,5),
213:Sector_SetFade(4),
214:Sector_SetDamage(3),
215:Teleport_Line(2),
214:Sector_SetDamage(3,5),
215:Teleport_Line(2,3),
216:Sector_SetGravity(3),
217:Stairs_BuildUpDoom(5),
218:Sector_SetWind(4),
......@@ -222,9 +228,9 @@ special
235:Floor_TransferTrigger(1),
236:Floor_TransferNumeric(1),
237:ChangeCamera(3),
238:Floor_RaiseToLowestCeiling(2),
238:Floor_RaiseToLowestCeiling(2,5),
239:Floor_RaiseByValueTxTy(3),
240:Floor_RaiseByTexture(2),
240:Floor_RaiseByTexture(2,4),
241:Floor_LowerToLowestTxTy(2),
242:Floor_LowerToHighest(3,4),
243:Exit_Normal(1),
......@@ -236,10 +242,46 @@ special
249:Door_CloseWaitOpen(3, 4),
250:Floor_Donut(3),
251:FloorAndCeiling_LowerRaise(3,4),
252:Ceiling_RaiseToNearest(2),
253:Ceiling_LowerToLowest(2),
254:Ceiling_LowerToFloor(2),
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),
// new to Eternity
// 300:Portal_Define(5),
// 301:Line_QuickPortal(1),
// internal functions have negative values
-1:GetLineUDMFInt(2),
......@@ -292,7 +334,7 @@ special
-48:Sqrt(1),
-49:FixedSqrt(1),
-50:VectorLength(2),
-51:SetHUDClipRect(4,5),
-51:SetHUDClipRect(4,6),
-52:SetHUDWrapWidth(1),
-53:SetCVar(2),
-54:GetUserCVar(2),
......@@ -301,8 +343,8 @@ special
-57:SetCVarString(2),
-58:GetUserCVarString(2),
-59:SetUserCVarString(3),
-60:LineAttack(4,8),
-61:PlaySound(2,6),
-60:LineAttack(4,9),
-61:PlaySound(2,7),
-62:StopSound(1,2),
-63:strcmp(2,3),
-64:stricmp(2,3),
......@@ -321,6 +363,27 @@ special
-76:SetLineActivation(2),
-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),
......@@ -353,10 +416,54 @@ special
-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),
// -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),
// Eternity's
-300:GetLineX(3),
-301:GetLineY(3),
-302:SetAirFriction(1),
// GZDoom OpenGL
-400:SetSectorGlow(6),
-401:SetFogDensity(2),
// ZDaemon's
-19260:GetTeamScore(1),
-19261:SetTeamScore(2),
-19620:GetTeamScore(1),
-19621:SetTeamScore(2),
-100000:__EndOfList__(10);
......@@ -32,6 +32,9 @@ include("Includes\\Boom_common.cfg", "mapformat_doom");
// Settings common to Doom games
include("Includes\\Game_Doom.cfg");
// Map name format for Doom 2.
mapnameformat = "MAPxy";
//mxd. No DECORATE support in vanilla
decorategames = "";
......@@ -61,3 +64,9 @@ enums
// Basic game enums
include("Includes\\Doom_misc.cfg", "enums");
}
// Dehacked data
dehacked
{
include("Includes\\Dehacked_Doom.cfg");
}
\ No newline at end of file
......@@ -29,6 +29,9 @@ include("Includes\\Boom_common.cfg", "mapformat_doom");
// Settings common to Doom games
include("Includes\\Game_Doom.cfg");
// Map name format for Doom.
mapnameformat = "ExMy";
//mxd. No DECORATE support in vanilla
decorategames = "";
......@@ -72,3 +75,9 @@ enums
// Basic game enums
include("Includes\\Doom_misc.cfg", "enums");
}
// Dehacked data
dehacked
{
include("Includes\\Dehacked_Doom.cfg");
}
\ No newline at end of file
/*************************************************************\
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");
}