Merge branch 'gzdb-merge2016-bugfixes' into 'master'
GZDB 2016 merge See merge request STJr/ZoneBuilder!12
3
.gitignore
vendored
|
@ -462,3 +462,6 @@
|
|||
/Build/D3DImm.dll
|
||||
/Build/D3D9.dll
|
||||
/Build/D3D8.dll
|
||||
/UpgradeLog.htm
|
||||
/UpgradeLog2.htm
|
||||
/UpgradeLog3.htm
|
||||
|
|
|
@ -1086,3 +1086,17 @@
|
|||
#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)
|
||||
|
|
|
@ -358,12 +358,14 @@ special
|
|||
-88:SetActorRoll(2),
|
||||
-89:ChangeActorRoll(2,3),
|
||||
-90:GetActorRoll(1),
|
||||
-91:QuakeEx(8,12),
|
||||
-91:QuakeEx(8,14),
|
||||
-92:Warp(6,11),
|
||||
-93:GetMaxInventory(2),
|
||||
-94:SetSectorDamage(2,5),
|
||||
-95:SetSectorTerrain(3),
|
||||
-96:SpawnParticle(1,15),
|
||||
-96:SpawnParticle(1,16),
|
||||
-97:SetMusicVolume(1),
|
||||
-98:CheckProximity(3, 6),
|
||||
|
||||
// Zandronum's
|
||||
-100:ResetMap(0),
|
||||
|
@ -393,6 +395,10 @@ special
|
|||
-124:EndDBTransaction(0),
|
||||
-125:GetDBEntries(1),
|
||||
|
||||
// -1xx are reserved for Zandronum
|
||||
-200:CheckClass(1),
|
||||
-201:DamageActor(6), // [arookas]
|
||||
|
||||
// ZDaemon's
|
||||
-19620:GetTeamScore(1),
|
||||
-19621:SetTeamScore(2),
|
||||
|
|
61
Build/Configurations/Eternity_Doom2Doom.cfg
Normal file
|
@ -0,0 +1,61 @@
|
|||
/*************************************************************\
|
||||
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 = "Eternity: Doom 2 (Doom format)";
|
||||
|
||||
// This is the simplified game engine/sourceport name
|
||||
engine = "eternity";
|
||||
|
||||
// *******************************************************
|
||||
// * *
|
||||
// * Note: all the elements that could be factorized *
|
||||
// * because they were common to ZDoom, GZDoom and *
|
||||
// * Zandronum have been moved to ZDoom_common.cfg. *
|
||||
// * *
|
||||
// *******************************************************
|
||||
|
||||
// STANDARD DOOM SETTINGS
|
||||
// Settings common to all games and all map formats
|
||||
include("Includes\\Doom_common.cfg", "common");
|
||||
|
||||
// Settings common to Doom map format
|
||||
include("Includes\\Eternity_common.cfg", "mapformat_doom");
|
||||
|
||||
// Settings common to Doom games
|
||||
include("Includes\\Game_Doom.cfg");
|
||||
|
||||
//mxd. No DECORATE support in Eternity
|
||||
decorategames = "";
|
||||
|
||||
// Default thing filters
|
||||
// (these are not required, just useful for new users)
|
||||
thingsfilters
|
||||
{
|
||||
include("Includes\\Doom_misc.cfg", "thingsfilters");
|
||||
}
|
||||
|
||||
// THING TYPES
|
||||
// Each engine has its own additional thing types
|
||||
// Order should always be 1: Game; 2: ZDoom/game; 3: ZDoom/zdoom
|
||||
thingtypes
|
||||
{
|
||||
// Basic game actors
|
||||
include("Includes\\Doom_things.cfg");
|
||||
include("Includes\\Doom2_things.cfg");
|
||||
include("Includes\\Boom_things.cfg");
|
||||
include("Includes\\Eternity_things.cfg");
|
||||
}
|
||||
|
||||
// ENUMERATIONS
|
||||
// Each engine has its own additional thing types
|
||||
// These are enumerated lists for linedef types and UDMF fields.
|
||||
enums
|
||||
{
|
||||
// Basic game enums
|
||||
include("Includes\\Doom_misc.cfg", "enums");
|
||||
}
|
57
Build/Configurations/Eternity_DoomUDMF.cfg
Normal file
|
@ -0,0 +1,57 @@
|
|||
/*************************************************************\
|
||||
Doom Builder 2 Game Configuration for Eternity on UDMF
|
||||
\*************************************************************/
|
||||
|
||||
// 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 = "Eternity: Doom 2 (UDMF)";
|
||||
|
||||
// This is the simplified game engine/sourceport name
|
||||
engine = "eternity";
|
||||
|
||||
// STANDARD ETERNITY SETTINGS
|
||||
// Settings common to all games and all map formats
|
||||
include("Includes\\Eternity_common.cfg", "common");
|
||||
|
||||
// Settings common to text map format
|
||||
include("Includes\\Eternity_common.cfg", "mapformat_udmf");
|
||||
|
||||
// Settings common to Doom games
|
||||
include("Includes\\Game_Doom.cfg");
|
||||
|
||||
//mxd. No DECORATE support in Eternity
|
||||
decorategames = "";
|
||||
|
||||
// Default thing filters
|
||||
// (these are not required, just useful for new users)
|
||||
thingsfilters
|
||||
{
|
||||
include("Includes\\ZDoom_misc.cfg", "thingsfilters_udmf");
|
||||
}
|
||||
|
||||
// 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\\Eternity_things.cfg");
|
||||
}
|
||||
|
||||
// ENUMERATIONS
|
||||
// Each engine has its own additional thing types
|
||||
// These are enumerated lists for linedef types and UDMF fields.
|
||||
enums
|
||||
{
|
||||
// Basic game enums
|
||||
include("Includes\\Doom_misc.cfg", "enums");
|
||||
// Standard ZDoom enums
|
||||
include("Includes\\ZDoom_misc.cfg", "enums");
|
||||
// Additional ZDoom enums for that game
|
||||
include("Includes\\ZDoom_misc.cfg", "enums_doom");
|
||||
include("Includes\\Eternity_misc.cfg", "enums");
|
||||
}
|
|
@ -32,6 +32,9 @@ include("Includes\\Game_Hexen.cfg");
|
|||
//mxd. No DECORATE support in vanilla
|
||||
decorategames = "";
|
||||
|
||||
//mxd. Don't do vanilla-style thing rotation angle clamping
|
||||
doomthingrotationangles = false;
|
||||
|
||||
// Default thing filters
|
||||
// (these are not required, just useful for new users)
|
||||
thingsfilters
|
||||
|
|
|
@ -2,18 +2,6 @@
|
|||
// Generalized sector types
|
||||
gen_sectortypes
|
||||
{
|
||||
lighting
|
||||
{
|
||||
0 = "Normal";
|
||||
1 = "Light Blinks (randomly)";
|
||||
2 = "Light Blinks (0.5 sec)";
|
||||
3 = "Light Blinks (1 sec)";
|
||||
8 = "Light Glows (1+ sec)";
|
||||
12 = "Light Blinks (0.5 sec sync)";
|
||||
13 = "Light Blinks (1 sec sync)";
|
||||
17 = "Light Flickers (randomly)";
|
||||
}
|
||||
|
||||
damage
|
||||
{
|
||||
0 = "None";
|
||||
|
|
|
@ -107,7 +107,8 @@ floor
|
|||
|
||||
213
|
||||
{
|
||||
title = "Floor Change Brightness to this Brightness";
|
||||
title = "Change Floor Brightness to this Brightness";
|
||||
id = "Boom_Transfer_FloorLight";
|
||||
prefix = "";
|
||||
}
|
||||
|
||||
|
@ -641,7 +642,8 @@ ceiling
|
|||
|
||||
261
|
||||
{
|
||||
title = "Ceiling Brightness to this Brightness";
|
||||
title = "Change Ceiling Brightness to this Brightness";
|
||||
id = "Boom_Transfer_CeilingLight";
|
||||
prefix = "";
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,6 +17,9 @@ common
|
|||
defaultflatscale = 1.0f;
|
||||
scaledtextureoffsets = true;
|
||||
|
||||
//mxd. Do vanilla-style thing rotation angle clamping
|
||||
doomthingrotationangles = true;
|
||||
|
||||
// Texture sources
|
||||
textures
|
||||
{
|
||||
|
|
|
@ -1,17 +1,17 @@
|
|||
|
||||
0 = "None";
|
||||
1 = "Light Blinks (randomly)";
|
||||
2 = "Light Blinks (2 Hz)";
|
||||
3 = "Light Blinks (1 Hz)";
|
||||
4 = "Damage -10 or 20% health and Light Blinks (2 Hz)";
|
||||
2 = "Light Blinks (0.5 sec.)";
|
||||
3 = "Light Blinks (1 sec.)";
|
||||
4 = "Damage -10 or 20% health and Light Blinks (0.5 sec.)";
|
||||
5 = "Damage -5 or 10% health";
|
||||
7 = "Damage -2 or 5% health";
|
||||
8 = "Light Glows (1+ sec)";
|
||||
8 = "Light Glows (1+ sec.)";
|
||||
9 = "Secret";
|
||||
10 = "Door Close Stay (after 30 sec)";
|
||||
10 = "Door Close Stay (after 30 sec.)";
|
||||
11 = "Damage -10 or 20% health and End level";
|
||||
12 = "Light Blinks (1 Hz synchronized)";
|
||||
13 = "Light Blinks (2 Hz synchronized)";
|
||||
14 = "Door Open Close (opens after 5 min)";
|
||||
12 = "Light Blinks (0.5 sec. synchronized)";
|
||||
13 = "Light Blinks (1 sec. synchronized)";
|
||||
14 = "Door Open Close (opens after 5 min.)";
|
||||
16 = "Damage -10 or 20% health";
|
||||
17 = "Light Flickers (randomly)";
|
||||
|
|
358
Build/Configurations/Includes/Eternity_common.cfg
Normal file
|
@ -0,0 +1,358 @@
|
|||
// ***********************************************************
|
||||
// * *
|
||||
// * These values are mainly for UDMF Eternity *
|
||||
// * *
|
||||
// ***********************************************************
|
||||
|
||||
common
|
||||
{
|
||||
// Some common settings
|
||||
include("Common.cfg");
|
||||
|
||||
// Default testing parameters
|
||||
include("Test_params.cfg", "vanilla_mapxx"); // Eternity doesn't yet have +map
|
||||
|
||||
// Action special help (mxd)
|
||||
actionspecialhelp = "http://eternity.youfailit.net/wiki/Detailed_parameterized_linedef_specification";
|
||||
|
||||
// FIXME: this info is not on the wiki, but in things.edf
|
||||
// Thing class help (mxd)
|
||||
thingclasshelp = "https://github.com/team-eternity/eternity/blob/master/base/doom/things.edf";
|
||||
|
||||
// Default nodebuilder configurations
|
||||
defaultsavecompiler = "zdbsp_normal";
|
||||
defaulttestcompiler = "zdbsp_fast";
|
||||
|
||||
// Generalized actions
|
||||
// generalizedlinedefs is true for Doom format and false for
|
||||
// the other two, so it's not here.
|
||||
generalizedsectors = true;
|
||||
|
||||
//mxd. Maximum safe map size check (0 means skip check)
|
||||
safeboundary = 0;
|
||||
|
||||
// Texture loading options
|
||||
mixtexturesflats = true;
|
||||
defaulttexturescale = 1.0f;
|
||||
defaultflatscale = 1.0f;
|
||||
scaledtextureoffsets = true;
|
||||
|
||||
//mxd. Sidedefs compression
|
||||
// ioanch FIXME: what does this do? I made it false
|
||||
sidedefcompressionignoresaction = false;
|
||||
|
||||
// Texture sources
|
||||
textures
|
||||
{
|
||||
include("Doom_misc.cfg", "textures");
|
||||
include("ZDoom_misc.cfg", "textures"); // works for Eternity too
|
||||
}
|
||||
|
||||
// Patch sources
|
||||
patches
|
||||
{
|
||||
include("Doom_misc.cfg", "patches");
|
||||
}
|
||||
|
||||
// Sprite sources
|
||||
sprites
|
||||
{
|
||||
include("Doom_misc.cfg", "sprites");
|
||||
}
|
||||
|
||||
// Flat sources
|
||||
flats
|
||||
{
|
||||
include("Doom_misc.cfg", "flats");
|
||||
}
|
||||
|
||||
// Colormap sources
|
||||
colormaps
|
||||
{
|
||||
include("Boom_misc.cfg", "colormaps");
|
||||
}
|
||||
|
||||
//mxd. Voxel sources
|
||||
// Not in Eternity
|
||||
// voxels
|
||||
// {
|
||||
// include("ZDoom_misc.cfg", "voxels");
|
||||
// }
|
||||
|
||||
// Generalized sector types
|
||||
gen_sectortypes
|
||||
{
|
||||
include("ZDoom_generalized.cfg", "gen_sectortypes"); // same as in ZDOOM
|
||||
}
|
||||
|
||||
//mxd. Built-in Damage types
|
||||
// ioanch: From base/things.edf
|
||||
damagetypes = "Fist Pistol Shotgun Chaingun Plasma BFG BFG_Splash Chainsaw SShotgun BetaBFG BFGBurst Slime Lava Crush Telefrag Falling Suicide Barrel Splash Quake Rocket R_Splash BFG11k_Splash Grenade Hit PlayerMisc Fire";
|
||||
}
|
||||
|
||||
mapformat_doom
|
||||
{
|
||||
mixtexturesflats = true;
|
||||
// The format interface handles the map data format
|
||||
formatinterface = "DoomMapSetIO";
|
||||
|
||||
maplumpnames
|
||||
{
|
||||
include("Doom_misc.cfg", "doommaplumpnames");
|
||||
include("Boom_misc.cfg", "boommaplumpnames");
|
||||
}
|
||||
|
||||
// When this is set to true, sectors with the same tag will light up when a line is highlighted
|
||||
linetagindicatesectors = true;
|
||||
|
||||
// Special linedefs
|
||||
include("ZDoom_misc.cfg", "speciallinedefs_doomhexen");
|
||||
|
||||
// Default flags for first new thing
|
||||
defaultthingflags
|
||||
{
|
||||
include("Doom_misc.cfg", "defaultthingflags");
|
||||
}
|
||||
|
||||
// Door making
|
||||
include("ZDoom_misc.cfg", "doormaking_doom");
|
||||
|
||||
// Generalized actions
|
||||
generalizedlinedefs = true;
|
||||
generalizedsectors = true;
|
||||
|
||||
// GENERALIZED LINEDEF TYPES
|
||||
gen_linedeftypes
|
||||
{
|
||||
include("Boom_generalized.cfg", "gen_linedeftypes");
|
||||
}
|
||||
|
||||
// GENERALIZED SECTOR TYPES
|
||||
gen_sectortypes
|
||||
{
|
||||
include("Boom_generalized.cfg", "gen_sectortypes");
|
||||
include("Eternity_generalized.cfg", "gen_sectortypes");
|
||||
}
|
||||
|
||||
// DEFAULT SECTOR BRIGHTNESS LEVELS
|
||||
sectorbrightness
|
||||
{
|
||||
include("Doom_misc.cfg", "sectorbrightness");
|
||||
}
|
||||
|
||||
// SECTOR TYPES
|
||||
sectortypes
|
||||
{
|
||||
include("Doom_sectors.cfg");
|
||||
}
|
||||
|
||||
// LINEDEF FLAGS
|
||||
linedefflags
|
||||
{
|
||||
include("Doom_misc.cfg", "linedefflags");
|
||||
include("Boom_misc.cfg", "linedefflags");
|
||||
include("Eternity_misc.cfg", "linedefflags");
|
||||
}
|
||||
|
||||
// LINEDEF ACTIVATIONS
|
||||
linedefactivations
|
||||
{
|
||||
}
|
||||
|
||||
// Linedef flags UDMF translation table
|
||||
// This is needed for copy/paste and prefabs to work properly
|
||||
// When the UDMF field name is prefixed with ! it is inverted
|
||||
linedefflagstranslation
|
||||
{
|
||||
include("Doom_misc.cfg", "linedefflagstranslation");
|
||||
include("Boom_misc.cfg", "linedefflagstranslation");
|
||||
}
|
||||
|
||||
// LINEDEF TYPES
|
||||
linedeftypes
|
||||
{
|
||||
include("Doom_linedefs.cfg");
|
||||
include("Boom_linedefs.cfg");
|
||||
include("Eternity_linedefs.cfg", "doom");
|
||||
}
|
||||
|
||||
// THING FLAGS
|
||||
thingflags
|
||||
{
|
||||
include("Doom_misc.cfg", "thingflags");
|
||||
include("Boom_misc.cfg", "thingflags");
|
||||
include("Eternity_misc.cfg", "thingflags");
|
||||
}
|
||||
|
||||
// Thing flags UDMF translation table
|
||||
// This is needed for copy/paste and prefabs to work properly
|
||||
// When the UDMF field name is prefixed with ! it is inverted
|
||||
thingflagstranslation
|
||||
{
|
||||
include("Doom_misc.cfg", "thingflagstranslation");
|
||||
include("Boom_misc.cfg", "thingflagstranslation");
|
||||
}
|
||||
// How to compare thing flags (for the stuck things error checker)
|
||||
thingflagscompare
|
||||
{
|
||||
include("Boom_misc.cfg", "thingflagscompare");
|
||||
}
|
||||
|
||||
// Things flags masks
|
||||
include("Doom_misc.cfg", "thingflagsmasks");
|
||||
|
||||
}
|
||||
// ***********************************************************
|
||||
// * *
|
||||
// * Text map format *
|
||||
// * *
|
||||
// ***********************************************************
|
||||
|
||||
mapformat_udmf
|
||||
{
|
||||
// The format interface handles the map data format
|
||||
formatinterface = "UniversalMapSetIO";
|
||||
|
||||
//mxd. The default script compiler to use
|
||||
defaultscriptcompiler = "zdoom_acs.cfg";
|
||||
|
||||
// Enables support for long (> 8 chars) texture names
|
||||
// WARNING: this should only be enabled for UDMF game configurations!
|
||||
// WARNING: enabling this will make maps incompatible with Doom Builder 2 and can lead to problems in Slade 3!
|
||||
longtexturenames = true;
|
||||
|
||||
// Default nodebuilder configurations
|
||||
defaultsavecompiler = "zdbsp_udmf_normal";
|
||||
defaulttestcompiler = "zdbsp_udmf_fast";
|
||||
|
||||
// ioanch: eternity
|
||||
engine = "eternity"; // override that so that DB2 uses the correct namespace
|
||||
|
||||
maplumpnames
|
||||
{
|
||||
include("UDMF_misc.cfg", "udmfmaplumpnames_begin");
|
||||
include("ZDoom_misc.cfg", "udmfmaplumpnames");
|
||||
include("UDMF_misc.cfg", "udmfmaplumpnames_end");
|
||||
}
|
||||
|
||||
// eternity
|
||||
universalfields
|
||||
{
|
||||
include("Eternity_misc.cfg", "universalfields");
|
||||
}
|
||||
|
||||
// When this is set to true, sectors with the same tag will light up when a line is highlighted
|
||||
linetagindicatesectors = false;
|
||||
|
||||
// Special linedefs
|
||||
include("ZDoom_misc.cfg", "speciallinedefs_udmf"); // same in EE
|
||||
|
||||
// Default flags for first new thing
|
||||
defaultthingflags
|
||||
{
|
||||
include("Eternity_misc.cfg", "defaultthingflags_udmf");
|
||||
}
|
||||
|
||||
// Door making
|
||||
include("Eternity_misc.cfg", "doormaking_udmf");
|
||||
|
||||
// Generalized actions
|
||||
generalizedlinedefs = false;
|
||||
|
||||
// SECTOR FLAGS
|
||||
sectorflags
|
||||
{
|
||||
include("Eternity_misc.cfg", "sectorflags_udmf");
|
||||
}
|
||||
|
||||
// DEFAULT SECTOR BRIGHTNESS LEVELS
|
||||
sectorbrightness
|
||||
{
|
||||
include("ZDoom_misc.cfg", "sectorbrightness");
|
||||
}
|
||||
|
||||
// SECTOR TYPES
|
||||
sectortypes
|
||||
{
|
||||
include("Eternity_misc.cfg", "sectors_udmf");
|
||||
}
|
||||
|
||||
// SECTOR RENSERSTYLES
|
||||
sectorrenderstyles
|
||||
{
|
||||
include("UDMF_misc.cfg", "sectorrenderstyles");
|
||||
}
|
||||
|
||||
// LINEDEF FLAGS
|
||||
linedefflags
|
||||
{
|
||||
include("Eternity_misc.cfg", "linedefflags_udmf");
|
||||
}
|
||||
|
||||
// LINEDEF ACTIVATIONS
|
||||
linedefactivations
|
||||
{
|
||||
include("Eternity_misc.cfg", "linedefactivations_udmf");
|
||||
}
|
||||
|
||||
//mxd. Linedef flags UDMF translation table
|
||||
// This is needed for copy/paste and prefabs to work properly
|
||||
// When the UDMF field name is prefixed with ! it is inverted
|
||||
linedefflagstranslation
|
||||
{
|
||||
include("Doom_misc.cfg", "linedefflagstranslation");
|
||||
include("Hexen_misc.cfg", "linedefflagstranslation");
|
||||
include("ZDoom_misc.cfg", "linedefflagstranslation");
|
||||
}
|
||||
|
||||
// LINEDEF RENSERSTYLES
|
||||
linedefrenderstyles
|
||||
{
|
||||
include("UDMF_misc.cfg", "linedefrenderstyles");
|
||||
}
|
||||
|
||||
//SIDEDEF FLAGS
|
||||
sidedefflags
|
||||
{
|
||||
include("Eternity_misc.cfg", "sidedefflags");
|
||||
}
|
||||
|
||||
// THING FLAGS
|
||||
thingflags
|
||||
{
|
||||
include("Eternity_misc.cfg", "thingflags_udmf");
|
||||
}
|
||||
|
||||
// THING RENSERSTYLES
|
||||
thingrenderstyles
|
||||
{
|
||||
include("UDMF_misc.cfg", "thingrenderstyles");
|
||||
}
|
||||
|
||||
// How to compare thing flags (for the stuck things error checker)
|
||||
thingflagscompare
|
||||
{
|
||||
include("Eternity_misc.cfg", "thingflagscompare_udmf");
|
||||
}
|
||||
|
||||
//mxd. Thing flags UDMF translation table
|
||||
// This is needed for copy/paste and prefabs to work properly
|
||||
// When the UDMF field name is prefixed with ! it is inverted
|
||||
thingflagstranslation
|
||||
{
|
||||
include("Doom_misc.cfg", "thingflagstranslation");
|
||||
include("Hexen_misc.cfg", "thingflagstranslation");
|
||||
include("ZDoom_misc.cfg", "thingflagstranslation");
|
||||
}
|
||||
|
||||
// Things flags masks
|
||||
include("Hexen_misc.cfg", "thingflagsmasks");
|
||||
|
||||
// LINEDEF TYPES
|
||||
linedeftypes
|
||||
{
|
||||
include("Hexen_linedefs.cfg");
|
||||
include("Eternity_linedefs.cfg", "udmf");
|
||||
}
|
||||
|
||||
}
|
14
Build/Configurations/Includes/Eternity_generalized.cfg
Normal file
|
@ -0,0 +1,14 @@
|
|||
gen_sectortypes
|
||||
{
|
||||
allsounds
|
||||
{
|
||||
0 = "sounds in sector are normal";
|
||||
1024 = "sounds in sector are suppressed";
|
||||
}
|
||||
|
||||
movementsounds
|
||||
{
|
||||
0 = "floor/ceiling normal";
|
||||
2048 = "floor/ceiling silent";
|
||||
}
|
||||
}
|
2668
Build/Configurations/Includes/Eternity_linedefs.cfg
Normal file
4217
Build/Configurations/Includes/Eternity_misc.cfg
Normal file
124
Build/Configurations/Includes/Eternity_things.cfg
Normal file
|
@ -0,0 +1,124 @@
|
|||
monsters
|
||||
{
|
||||
888
|
||||
{
|
||||
title = "Dog";
|
||||
sprite = "internal:dog";
|
||||
class = "MBFHelperDog";
|
||||
width = 12;
|
||||
height = 28;
|
||||
}
|
||||
}
|
||||
|
||||
eternity
|
||||
{
|
||||
color = 8; // Grey
|
||||
arrow = 1;
|
||||
title = "Eternity Items";
|
||||
width = 0;
|
||||
height = 0;
|
||||
sort = 1;
|
||||
fixedsize = true;
|
||||
|
||||
5003
|
||||
{
|
||||
title = "Camera spot";
|
||||
class = "SMMUCameraSpot";
|
||||
}
|
||||
1200
|
||||
{
|
||||
title = "Enviro sequence 0";
|
||||
}
|
||||
1300
|
||||
{
|
||||
title = "Enviro sequence param";
|
||||
}
|
||||
1400
|
||||
{
|
||||
title = "Sector sequence 0";
|
||||
}
|
||||
1500
|
||||
{
|
||||
title = "Sector sequence param";
|
||||
}
|
||||
5004
|
||||
{
|
||||
title = "ExtraData thing";
|
||||
}
|
||||
5006
|
||||
{
|
||||
title = "Skybox camera";
|
||||
class = "EESkyboxCam";
|
||||
}
|
||||
5007
|
||||
{
|
||||
title = "Particle Drip";
|
||||
class = "EEParticleDrip";
|
||||
}
|
||||
9001
|
||||
{
|
||||
title = "Map spot";
|
||||
class = "EEMapSpot";
|
||||
}
|
||||
9013
|
||||
{
|
||||
title = "Map spot gravity";
|
||||
class = "EEMapSpotGravity";
|
||||
}
|
||||
9027
|
||||
{
|
||||
title = "Particle fountain red";
|
||||
}
|
||||
9028
|
||||
{
|
||||
title = "Particle fountain green";
|
||||
}
|
||||
9029
|
||||
{
|
||||
title = "Particle fountain blue";
|
||||
}
|
||||
9030
|
||||
{
|
||||
title = "Particle fountain yellow";
|
||||
}
|
||||
9031
|
||||
{
|
||||
title = "Particle fountain purple";
|
||||
}
|
||||
9032
|
||||
{
|
||||
title = "Particle fountain black";
|
||||
}
|
||||
9033
|
||||
{
|
||||
title = "Particle fountain white";
|
||||
}
|
||||
9300t
|
||||
{
|
||||
title = "Polyobject anchor";
|
||||
class = "EEPolyObjAnchor";
|
||||
}
|
||||
9301
|
||||
{
|
||||
title = "Polyobject spawn spot";
|
||||
class = "EEPolyObjSpawnSpot";
|
||||
}
|
||||
9302
|
||||
{
|
||||
title = "Polyobject spawn spot crush";
|
||||
class = "EEPolyObjSpawnSpotCrush";
|
||||
}
|
||||
9303
|
||||
{
|
||||
title = "Polyobject spawn spot damage";
|
||||
class = "EEPolyObjSpawnSpotDamage";
|
||||
}
|
||||
14001
|
||||
{
|
||||
title = "Ambience 1";
|
||||
}
|
||||
14065
|
||||
{
|
||||
title = "Ambience param";
|
||||
}
|
||||
}
|
|
@ -468,7 +468,11 @@ gzdoom
|
|||
{
|
||||
zdoom
|
||||
{
|
||||
blocking = 2;
|
||||
5004 = "Map Spot (FraggleScript)";
|
||||
5004
|
||||
{
|
||||
title = "Map Spot (FraggleScript)";
|
||||
sprite = "internal:MapSpot";
|
||||
class = "FS_MapSpot";
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,4 +1,3 @@
|
|||
|
||||
misc
|
||||
{
|
||||
|
||||
|
@ -401,7 +400,7 @@ door
|
|||
title = "Movement Speed";
|
||||
type = 11;
|
||||
enum = "door_speeds";
|
||||
default = 32;
|
||||
default = 16;
|
||||
}
|
||||
|
||||
arg2
|
||||
|
@ -427,7 +426,7 @@ door
|
|||
title = "Movement Speed";
|
||||
type = 11;
|
||||
enum = "door_speeds";
|
||||
default = 32;
|
||||
default = 16;
|
||||
}
|
||||
|
||||
arg2
|
||||
|
@ -453,7 +452,7 @@ door
|
|||
title = "Movement Speed";
|
||||
type = 11;
|
||||
enum = "door_speeds";
|
||||
default = 32;
|
||||
default = 16;
|
||||
}
|
||||
|
||||
arg2
|
||||
|
@ -461,7 +460,7 @@ door
|
|||
title = "Close Delay";
|
||||
type = 11;
|
||||
enum = "reset_tics";
|
||||
default = 105;
|
||||
default = 150;
|
||||
}
|
||||
|
||||
arg3
|
||||
|
@ -487,7 +486,7 @@ door
|
|||
title = "Movement Speed";
|
||||
type = 11;
|
||||
enum = "door_speeds";
|
||||
default = 32;
|
||||
default = 16;
|
||||
}
|
||||
|
||||
arg2
|
||||
|
@ -495,7 +494,7 @@ door
|
|||
title = "Close Delay";
|
||||
type = 11;
|
||||
enum = "reset_tics";
|
||||
default = 105;
|
||||
default = 150;
|
||||
}
|
||||
|
||||
arg3
|
||||
|
@ -1453,8 +1452,9 @@ teleport
|
|||
|
||||
arg0
|
||||
{
|
||||
title = "Target MapSpot Tag";
|
||||
title = "Target Teleport Dest. Tag";
|
||||
type = 14;
|
||||
targetclasses = "TeleportDest,TeleportDest2,TeleportDest3";
|
||||
}
|
||||
|
||||
arg1
|
||||
|
@ -1471,8 +1471,9 @@ teleport
|
|||
|
||||
arg0
|
||||
{
|
||||
title = "Target MapSpot Tag";
|
||||
title = "Target Teleport Dest. Tag";
|
||||
type = 14;
|
||||
targetclasses = "TeleportDest,TeleportDest2,TeleportDest3";
|
||||
}
|
||||
|
||||
arg1
|
||||
|
@ -1501,7 +1502,7 @@ teleport
|
|||
|
||||
arg1
|
||||
{
|
||||
title = "Position";
|
||||
title = "Tgt Player Start Arg0";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1608,6 +1609,7 @@ thing
|
|||
{
|
||||
title = "MapSpot Tag";
|
||||
type = 14;
|
||||
targetclasses = "MapSpot,MapSpotGravity";
|
||||
}
|
||||
|
||||
arg1
|
||||
|
@ -1643,6 +1645,7 @@ thing
|
|||
{
|
||||
title = "MapSpot Tag";
|
||||
type = 14;
|
||||
targetclasses = "MapSpot,MapSpotGravity";
|
||||
}
|
||||
|
||||
arg1
|
||||
|
@ -1668,6 +1671,7 @@ thing
|
|||
{
|
||||
title = "MapSpot Tag";
|
||||
type = 14;
|
||||
targetclasses = "MapSpot,MapSpotGravity";
|
||||
}
|
||||
|
||||
arg1
|
||||
|
@ -1703,6 +1707,7 @@ thing
|
|||
{
|
||||
title = "Target MapSpot Tag";
|
||||
type = 14;
|
||||
targetclasses = "MapSpot,MapSpotGravity";
|
||||
}
|
||||
|
||||
arg1
|
||||
|
@ -2183,5 +2188,4 @@ sector
|
|||
title = "Sound Number";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -1,4 +1,3 @@
|
|||
|
||||
players
|
||||
{
|
||||
color = 10; // Light Green
|
||||
|
@ -519,23 +518,23 @@ puzzle
|
|||
}
|
||||
9014
|
||||
{
|
||||
title = "Flame mask";
|
||||
title = "Flame Mask";
|
||||
sprite = "ASK2A0";
|
||||
}
|
||||
9015
|
||||
{
|
||||
title = "Glaive seal";
|
||||
title = "Glaive Seal";
|
||||
sprite = "AFWPA0";
|
||||
}
|
||||
9016
|
||||
{
|
||||
title = "Holy relic";
|
||||
title = "Holy Relic";
|
||||
sprite = "ACWPA0";
|
||||
width = 10;
|
||||
}
|
||||
9017
|
||||
{
|
||||
title = "Sigil of the magus";
|
||||
title = "Sigil of the Magus";
|
||||
sprite = "AMWPA0";
|
||||
width = 10;
|
||||
}
|
||||
|
@ -666,6 +665,7 @@ obstacles
|
|||
title = "Bell";
|
||||
sprite = "BBLLA0";
|
||||
width = 56;
|
||||
hangs = 1;
|
||||
}
|
||||
103
|
||||
{
|
||||
|
@ -1518,6 +1518,7 @@ other
|
|||
title = "Polyobject Anchor";
|
||||
sprite = "internal:anchor";
|
||||
fixedrotation = true;
|
||||
error = 0; // Can be outside of map geometry
|
||||
}
|
||||
3001
|
||||
{
|
||||
|
@ -1622,6 +1623,16 @@ other
|
|||
}
|
||||
112 = "Spawn Fly";
|
||||
113 = "Spawn Leaf";
|
||||
9001 = "Map Spot";
|
||||
9013 = "Map Spot (gravity)";
|
||||
9001
|
||||
{
|
||||
title = "Map Spot";
|
||||
sprite = "internal:MapSpot";
|
||||
class = "MapSpot";
|
||||
}
|
||||
9013
|
||||
{
|
||||
title = "Map Spot (gravity)";
|
||||
sprite = "internal:MapSpotGravity";
|
||||
class = "MapSpotGravity";
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1375,7 +1375,7 @@ forcefield
|
|||
147
|
||||
{
|
||||
title = "ForceField Remove Around Tagged Sector";
|
||||
prefix = "SR";
|
||||
prefix = "S1";
|
||||
}
|
||||
|
||||
148
|
||||
|
|
|
@ -401,7 +401,7 @@ ammunition
|
|||
|
||||
153
|
||||
{
|
||||
title = "Phoshorus-Grenade Rounds";
|
||||
title = "Phosphorus-Grenade Rounds";
|
||||
sprite = "GRN2A0";
|
||||
}
|
||||
|
||||
|
|
|
@ -27,12 +27,18 @@ common
|
|||
// generalizedlinedefs is true for Doom format and false for
|
||||
// the other two, so it's not here.
|
||||
generalizedsectors = true;
|
||||
|
||||
//mxd. Maximum safe map size check (0 means skip check)
|
||||
safeboundary = 0;
|
||||
|
||||
// Texture loading options
|
||||
mixtexturesflats = true;
|
||||
defaulttexturescale = 1.0f;
|
||||
defaultflatscale = 1.0f;
|
||||
scaledtextureoffsets = true;
|
||||
|
||||
//mxd. Sidedefs compression
|
||||
sidedefcompressionignoresaction = true;
|
||||
|
||||
// Texture sources
|
||||
textures
|
||||
|
|
|
@ -2,111 +2,12 @@
|
|||
// Generalized sector types
|
||||
gen_sectortypes
|
||||
{
|
||||
effect
|
||||
{
|
||||
0 = "Normal";
|
||||
1 = "Light Phased";
|
||||
2 = "Light Sequence Start";
|
||||
3 = "Light Sequence Special 1";
|
||||
4 = "Light Sequence Special 2";
|
||||
21 = "Light Phased";
|
||||
22 = "Light Sequence Start";
|
||||
23 = "Light Sequence Special 1";
|
||||
24 = "Light Sequence Special 2";
|
||||
26 = "Stairs Special 1";
|
||||
27 = "Stairs Special 2";
|
||||
65 = "Light Flicker";
|
||||
66 = "Light Strobe Fast";
|
||||
67 = "Light Strobe Slow";
|
||||
68 = "Light Strobe Hurt";
|
||||
69 = "Damage Hellslime";
|
||||
71 = "Damage Nukage";
|
||||
72 = "Light Glow";
|
||||
74 = "Sector Door Close (30 sec)";
|
||||
75 = "Damage End Level";
|
||||
76 = "Light StrobeSlowSync";
|
||||
77 = "Light StrobeFastSync";
|
||||
78 = "Sector Door Raise (5 min)";
|
||||
79 = "Low Friction";
|
||||
80 = "Damage Super Hellslime";
|
||||
81 = "Light Fire Flicker";
|
||||
82 = "Damage -2 or -5% health (no protection)";
|
||||
83 = "Damage -4 or -8% health (no protection)";
|
||||
84 = "Scroll east + -2 or -5% health (no protection)";
|
||||
87 = "Sector uses outside fog";
|
||||
105 = "Delayed damage weak";
|
||||
115 = "Instant death";
|
||||
116 = "Delayed damage strong";
|
||||
118 = "Carry player by tag";
|
||||
196 = "Healing Sector";
|
||||
197 = "Lightning Outdoor";
|
||||
198 = "Lightning Indoor 2";
|
||||
199 = "Lightning Indoor 1";
|
||||
200 = "Sky 2 (MAPINFO)";
|
||||
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)";
|
||||
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";
|
||||
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";
|
||||
}
|
||||
|
||||
damage
|
||||
{
|
||||
0 = "None";
|
||||
256 = "Damage 5 per second";
|
||||
512 = "Damage 10 per second";
|
||||
768 = "Damage 20 per second";
|
||||
256 = "5 per second";
|
||||
512 = "10 per second";
|
||||
768 = "20 per second";
|
||||
}
|
||||
|
||||
secret
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
|
||||
// NOTE: This config contains four structures for different linedefs systems: Doom, Hexen and UDMF.
|
||||
// The ZDoom structure is common to Hexen and UDMF and contains the bulk of the definitions.
|
||||
// The Hexen and UDMF structures contain only the little tweaks needed for these formats.
|
||||
|
@ -481,6 +480,7 @@ zdoom
|
|||
{
|
||||
title = "Target MapSpot Tag";
|
||||
type = 14;
|
||||
targetclasses = "MapSpot,MapSpotGravity";
|
||||
}
|
||||
}
|
||||
86
|
||||
|
@ -502,6 +502,7 @@ zdoom
|
|||
{
|
||||
title = "Target MapSpot Tag";
|
||||
type = 14;
|
||||
targetclasses = "MapSpot,MapSpotGravity";
|
||||
}
|
||||
}
|
||||
87
|
||||
|
@ -639,6 +640,47 @@ zdoom
|
|||
}
|
||||
}
|
||||
}
|
||||
107
|
||||
{
|
||||
title = "Line Set Portal Target";
|
||||
id = "Line_SetPortalTarget";
|
||||
|
||||
arg0
|
||||
{
|
||||
title = "Source Line Tag";
|
||||
type = 15;
|
||||
}
|
||||
arg1
|
||||
{
|
||||
title = "Target Line Tag";
|
||||
type = 15;
|
||||
}
|
||||
}
|
||||
|
||||
55
|
||||
{
|
||||
title = "Line Set Blocking";
|
||||
id = "Line_SetBlocking";
|
||||
|
||||
arg0
|
||||
{
|
||||
title = "Target Line Tag";
|
||||
type = 15;
|
||||
}
|
||||
arg1
|
||||
{
|
||||
title = "Set Flags";
|
||||
type = 12;
|
||||
enum = "linesetblockingflags";
|
||||
}
|
||||
arg2
|
||||
{
|
||||
title = "Clear Flags";
|
||||
type = 12;
|
||||
enum = "linesetblockingflags";
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
door
|
||||
|
@ -658,14 +700,14 @@ zdoom
|
|||
title = "Animation Speed";
|
||||
type = 11;
|
||||
enum = "door_speeds";
|
||||
default = 32;
|
||||
default = 16;
|
||||
}
|
||||
arg2
|
||||
{
|
||||
title = "Close Delay";
|
||||
type = 11;
|
||||
enum = "reset_tics";
|
||||
default = 140;
|
||||
default = 150;
|
||||
}
|
||||
arg3
|
||||
{
|
||||
|
@ -851,21 +893,30 @@ zdoom
|
|||
{
|
||||
title = "Target";
|
||||
type = 11;
|
||||
enum = "generic_floor_target";
|
||||
enum
|
||||
{
|
||||
0 = "Move by Movement Amount";
|
||||
1 = "Highest neighboring floor";
|
||||
2 = "Lowest neighboring floor";
|
||||
3 = "Nearest neighboring floor";
|
||||
4 = "Lowest neighboring ceiling";
|
||||
5 = "Sector ceiling";
|
||||
6 = "Move by the height of sector's shortest lower texture";
|
||||
}
|
||||
}
|
||||
arg4
|
||||
{
|
||||
title = "Options";
|
||||
title = "Flags";
|
||||
type = 12;
|
||||
enum
|
||||
{
|
||||
0 = "No change";
|
||||
1 = "Zero sector's special";
|
||||
2 = "Change sector's floor texture";
|
||||
3 = "Change sector's special";
|
||||
0 = "Don't copy anything";
|
||||
1 = "Copy floor texture, remove sector special";
|
||||
2 = "Copy floor texture";
|
||||
3 = "Copy floor texture and special";
|
||||
4 = "Use numeric model if set, trigger model if not";
|
||||
8 = "Raise floor if set, lower it if not";
|
||||
16 = "Cause crushing damage";
|
||||
16 = "Inflict crushing damage";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1622,21 +1673,30 @@ zdoom
|
|||
{
|
||||
title = "Target";
|
||||
type = 11;
|
||||
enum = "generic_ceiling_target";
|
||||
enum
|
||||
{
|
||||
0 = "Move by Movement Amount";
|
||||
1 = "Highest neighboring ceiling";
|
||||
2 = "Lowest neighboring ceiling";
|
||||
3 = "Nearest neighboring ceiling";
|
||||
4 = "Highest neighboring floor";
|
||||
5 = "Sector floor";
|
||||
6 = "Move by the height of sector's shortest upper texture";
|
||||
}
|
||||
}
|
||||
arg4
|
||||
{
|
||||
title = "Options";
|
||||
title = "Flags";
|
||||
type = 12;
|
||||
enum
|
||||
{
|
||||
0 = "No change";
|
||||
1 = "Zero sector's special";
|
||||
2 = "Change sector's ceiling texture";
|
||||
3 = "Change sector's special";
|
||||
0 = "Don't copy anything";
|
||||
1 = "Copy ceiling texture, remove sector special";
|
||||
2 = "Copy ceiling texture";
|
||||
3 = "Copy ceiling texture and special";
|
||||
4 = "Use numeric model if set, trigger model if not";
|
||||
8 = "Raise ceiling if set, lower it if not";
|
||||
16 = "Cause crushing damage";
|
||||
16 = "Inflict crushing damage";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2092,8 +2152,9 @@ zdoom
|
|||
|
||||
arg0
|
||||
{
|
||||
title = "Target MapSpot Tag";
|
||||
title = "Target Teleport Dest. Tag";
|
||||
type = 14;
|
||||
targetclasses = "TeleportDest,TeleportDest2,TeleportDest3";
|
||||
}
|
||||
arg1
|
||||
{
|
||||
|
@ -2112,6 +2173,18 @@ zdoom
|
|||
}
|
||||
71 // Teleport_NoFog
|
||||
{
|
||||
arg1
|
||||
{
|
||||
title = "Teleport Dest. angle usage";
|
||||
type = 11;
|
||||
enum
|
||||
{
|
||||
0 = "Don't change angle and velocity (Hexen-compat)";
|
||||
1 = "Always use the teleport exit's angle (Strife-compat)";
|
||||
2 = "Adjust relatively to the teleport exit's angle, but in the wrong direction (Boom-compat)";
|
||||
3 = "Adjust relatively to the teleport exit's angle (Boom-fixed)";
|
||||
}
|
||||
}
|
||||
arg3
|
||||
{
|
||||
title = "Keep rel. Height";
|
||||
|
@ -2142,6 +2215,7 @@ zdoom
|
|||
{
|
||||
title = "Target MapSpot Tag";
|
||||
type = 14;
|
||||
targetclasses = "MapSpot,MapSpotGravity";
|
||||
}
|
||||
arg2
|
||||
{
|
||||
|
@ -2158,17 +2232,20 @@ zdoom
|
|||
arg0
|
||||
{
|
||||
title = "Thing Tag";
|
||||
tooltip = "The TID of the actor(s) to teleport.\nIf 0, teleports the activator only.";
|
||||
type = 14;
|
||||
}
|
||||
arg1
|
||||
{
|
||||
title = "Source Teleport Dest. Tag";
|
||||
type = 14;
|
||||
targetclasses = "TeleportDest,TeleportDest2,TeleportDest3";
|
||||
}
|
||||
arg2
|
||||
{
|
||||
title = "Target Teleport Dest. Tag";
|
||||
type = 14;
|
||||
targetclasses = "TeleportDest,TeleportDest2,TeleportDest3";
|
||||
}
|
||||
arg3
|
||||
{
|
||||
|
@ -2195,13 +2272,15 @@ zdoom
|
|||
}
|
||||
arg1
|
||||
{
|
||||
title = "Source MapSpot Tag";
|
||||
title = "Source Tag";
|
||||
tooltip = "The spot relative to which to teleport.";
|
||||
type = 14;
|
||||
}
|
||||
arg2
|
||||
{
|
||||
title = "Target MapSpot Tag";
|
||||
title = "Target Teleport Dest. Tag";
|
||||
type = 14;
|
||||
targetclasses = "TeleportDest,TeleportDest2,TeleportDest3";
|
||||
}
|
||||
arg3
|
||||
{
|
||||
|
@ -2212,6 +2291,7 @@ zdoom
|
|||
arg4
|
||||
{
|
||||
title = "Group Thing Tag";
|
||||
tooltip = "The TID of the thing(s) to teleport.\nIf 0, teleports all actors in the sector";
|
||||
type = 14;
|
||||
}
|
||||
}
|
||||
|
@ -2222,8 +2302,9 @@ zdoom
|
|||
|
||||
arg0
|
||||
{
|
||||
title = "Target MapSpot Tag";
|
||||
title = "Target Teleport Dest. Tag";
|
||||
type = 14;
|
||||
targetclasses = "TeleportDest,TeleportDest2,TeleportDest3";
|
||||
}
|
||||
arg1
|
||||
{
|
||||
|
@ -2459,6 +2540,7 @@ zdoom
|
|||
{
|
||||
title = "Mapspot Tag";
|
||||
type = 14;
|
||||
targetclasses = "MapSpot,MapSpotGravity";
|
||||
}
|
||||
arg1
|
||||
{
|
||||
|
@ -2487,6 +2569,7 @@ zdoom
|
|||
{
|
||||
title = "Mapspot Tag";
|
||||
type = 14;
|
||||
targetclasses = "MapSpot,MapSpotGravity";
|
||||
}
|
||||
arg1
|
||||
{
|
||||
|
@ -2565,6 +2648,7 @@ zdoom
|
|||
{
|
||||
title = "Mapspot Tag";
|
||||
type = 14;
|
||||
targetclasses = "MapSpot,MapSpotGravity";
|
||||
}
|
||||
arg1
|
||||
{
|
||||
|
@ -3275,6 +3359,7 @@ zdoom
|
|||
3 = "Plane portal";
|
||||
4 = "Horizon portal";
|
||||
5 = "Copy portal to line";
|
||||
6 = "Interactive portal";
|
||||
}
|
||||
}
|
||||
arg2
|
||||
|
@ -3286,12 +3371,13 @@ zdoom
|
|||
0 = "Floor";
|
||||
1 = "Ceiling";
|
||||
2 = "Both";
|
||||
3 = "Any (Copy portal type only)";
|
||||
3 = "Any (\"Copy portal\" types only)";
|
||||
}
|
||||
}
|
||||
arg3
|
||||
{
|
||||
title = "Misc";
|
||||
tooltip = "For type 0 portal: specifies whether the line belongs to the sector viewed\nthrough the portal (1) or the sector in which the portal is seen (0).\nFor type 1 portal: specifies the sector tag of the portal to copy.";
|
||||
}
|
||||
arg4
|
||||
{
|
||||
|
@ -3323,7 +3409,7 @@ zdoom
|
|||
}
|
||||
160
|
||||
{
|
||||
title = "Sector 3D Floor (OpenGL only)";
|
||||
title = "Sector Set 3D Floor";
|
||||
id = "Sector_Set3dFloor";
|
||||
requiresactivation = false;
|
||||
|
||||
|
@ -3356,11 +3442,13 @@ zdoom
|
|||
{
|
||||
1 = "Disable light effects";
|
||||
2 = "Restrict light inside";
|
||||
4 = "Fog effect";
|
||||
4 = "Fog effect (GZDoom only)";
|
||||
8 = "Ignore bottom height";
|
||||
16 = "Use upper texture";
|
||||
32 = "Use lower texture";
|
||||
64 = "Additive transluency";
|
||||
512 = "Fade effect (no view blend)";
|
||||
1024 = "Reset light effects";
|
||||
}
|
||||
}
|
||||
arg3
|
||||
|
@ -4304,4 +4392,4 @@ udmf
|
|||
{
|
||||
121 = NULL;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -732,46 +732,20 @@ enums
|
|||
4 = "Lower";
|
||||
}
|
||||
|
||||
generic_floor_target
|
||||
linesetblockingflags
|
||||
{
|
||||
0 = "Relative offset";
|
||||
1 = "Highest neighbor";
|
||||
2 = "Lowest neighbor";
|
||||
3 = "Nearest neighbor";
|
||||
4 = "Lowest neighbor";
|
||||
5 = "Ceiling";
|
||||
6 = "Shortest lower texture";
|
||||
}
|
||||
|
||||
generic_ceiling_target
|
||||
{
|
||||
0 = "Relative offset";
|
||||
1 = "Highest neighbor";
|
||||
2 = "Lowest neighbor";
|
||||
3 = "Nearest neighbor";
|
||||
4 = "Highest neighbor";
|
||||
5 = "Floor";
|
||||
6 = "Shortest lower texture";
|
||||
}
|
||||
|
||||
generic_door_types
|
||||
{
|
||||
0 = "Open Close";
|
||||
1 = "Open Stay";
|
||||
2 = "Close Open";
|
||||
3 = "Close Stay";
|
||||
64 = "Open Close (no retrigger)";
|
||||
65 = "Open Stay (no retrigger)";
|
||||
66 = "Close Open (no retrigger)";
|
||||
67 = "Close Stay (no retrigger)";
|
||||
128 = "Open Close (tag is light tag)";
|
||||
129 = "Open Stay (tag is light tag)";
|
||||
130 = "Close Open (tag is light tag)";
|
||||
131 = "Close Stay (tag is light tag)";
|
||||
192 = "Open Close (no retrigger, tag is light tag)";
|
||||
193 = "Open Stay (no retrigger, tag is light tag)";
|
||||
194 = "Close Open (no retrigger, tag is light tag)";
|
||||
195 = "Close Stay (no retrigger, tag is light tag)";
|
||||
0 = "None";
|
||||
1 = "Block creatures";
|
||||
2 = "Block monsters";
|
||||
4 = "Block players";
|
||||
8 = "Block floating creatures";
|
||||
16 = "Block projectiles";
|
||||
32 = "Block all of the above";
|
||||
64 = "Strife railing";
|
||||
128 = "Block use action";
|
||||
256 = "Block monster line of sight";
|
||||
512 = "Block hitscan attacks";
|
||||
1024 = "Block sound";
|
||||
}
|
||||
|
||||
generic_lift_types
|
||||
|
@ -876,6 +850,7 @@ enums
|
|||
70 = "70: 2 Seconds";
|
||||
105 = "105: 3 Seconds";
|
||||
140 = "140: 4 Seconds";
|
||||
150 = "150: Doom default";
|
||||
175 = "175: 5 Seconds";
|
||||
210 = "210: 6 Seconds";
|
||||
245 = "245: 7 Seconds";
|
||||
|
@ -1421,20 +1396,20 @@ enums_hexen
|
|||
0 = "Yorick's skull";
|
||||
1 = "Heart of D'Sparil";
|
||||
2 = "Ruby Planet";
|
||||
3 = "Emerald Planet (1)";
|
||||
4 = "Emerald Planet (2)";
|
||||
5 = "Sapphire Planet (1)";
|
||||
6 = "Sapphire Planet (2)";
|
||||
3 = "Emerald Planet 1";
|
||||
4 = "Emerald Planet 2";
|
||||
5 = "Sapphire Planet 1";
|
||||
6 = "Sapphire Planet 2";
|
||||
7 = "Daemon Codex";
|
||||
8 = "Liber Obscura";
|
||||
9 = "Flame Mask";
|
||||
10 = "Glaive Seal";
|
||||
11 = "Holy Relic";
|
||||
12 = "Sigil of the Magus";
|
||||
13 = "Iron gear";
|
||||
14 = "Brass gear";
|
||||
15 = "Brass and iron gear";
|
||||
16 = "Silver and brass gear";
|
||||
13 = "Clock Gear (steel)";
|
||||
14 = "Clock Gear (bronze)";
|
||||
15 = "Clock Gear (steel and bronze)";
|
||||
16 = "Clock Gear (bronze and steel)";
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1930,3 +1905,25 @@ doormaking_udmf
|
|||
makedoorarg4 = 0;
|
||||
}
|
||||
|
||||
//mxd. Ambient sound thing args (because copy-pasting those 66 times is not fun)
|
||||
ambientsoundthing_args
|
||||
{
|
||||
arg1
|
||||
{
|
||||
title = "Volume";
|
||||
type = 11;
|
||||
enum = "sound_volume";
|
||||
}
|
||||
arg2
|
||||
{
|
||||
title = "Min. Fading Distance";
|
||||
}
|
||||
arg3
|
||||
{
|
||||
title = "Max. Heard Distance";
|
||||
}
|
||||
arg4
|
||||
{
|
||||
title = "Distance Multiplier";
|
||||
}
|
||||
}
|
|
@ -52,10 +52,12 @@ zdoom
|
|||
84 = "Scroll east + -2 or -5% health (no protection)";
|
||||
85 = "Damage Sludge -4% health";
|
||||
87 = "Sector uses outside fog";
|
||||
90 = "Skybox sector (GZDoom only)";
|
||||
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";
|
||||
197 = "Lightning Outdoor";
|
||||
198 = "Lightning Indoor 2";
|
||||
|
|
|
@ -121,70 +121,326 @@ zdoom
|
|||
}
|
||||
}
|
||||
|
||||
14001 = "Ambient Sound 01";
|
||||
14002 = "Ambient Sound 02";
|
||||
14003 = "Ambient Sound 03";
|
||||
14004 = "Ambient Sound 04";
|
||||
14005 = "Ambient Sound 05";
|
||||
14006 = "Ambient Sound 06";
|
||||
14007 = "Ambient Sound 07";
|
||||
14008 = "Ambient Sound 08";
|
||||
14009 = "Ambient Sound 09";
|
||||
14010 = "Ambient Sound 10";
|
||||
14011 = "Ambient Sound 11";
|
||||
14012 = "Ambient Sound 12";
|
||||
14013 = "Ambient Sound 13";
|
||||
14014 = "Ambient Sound 14";
|
||||
14015 = "Ambient Sound 15";
|
||||
14016 = "Ambient Sound 16";
|
||||
14017 = "Ambient Sound 17";
|
||||
14018 = "Ambient Sound 18";
|
||||
14019 = "Ambient Sound 19";
|
||||
14020 = "Ambient Sound 20";
|
||||
14021 = "Ambient Sound 21";
|
||||
14022 = "Ambient Sound 22";
|
||||
14023 = "Ambient Sound 23";
|
||||
14024 = "Ambient Sound 24";
|
||||
14025 = "Ambient Sound 25";
|
||||
14026 = "Ambient Sound 26";
|
||||
14027 = "Ambient Sound 27";
|
||||
14028 = "Ambient Sound 28";
|
||||
14029 = "Ambient Sound 29";
|
||||
14030 = "Ambient Sound 30";
|
||||
14031 = "Ambient Sound 31";
|
||||
14032 = "Ambient Sound 32";
|
||||
14033 = "Ambient Sound 33";
|
||||
14034 = "Ambient Sound 34";
|
||||
14035 = "Ambient Sound 35";
|
||||
14036 = "Ambient Sound 36";
|
||||
14037 = "Ambient Sound 37";
|
||||
14038 = "Ambient Sound 38";
|
||||
14039 = "Ambient Sound 39";
|
||||
14040 = "Ambient Sound 40";
|
||||
14041 = "Ambient Sound 41";
|
||||
14042 = "Ambient Sound 42";
|
||||
14043 = "Ambient Sound 43";
|
||||
14044 = "Ambient Sound 44";
|
||||
14045 = "Ambient Sound 45";
|
||||
14046 = "Ambient Sound 46";
|
||||
14047 = "Ambient Sound 47";
|
||||
14048 = "Ambient Sound 48";
|
||||
14049 = "Ambient Sound 49";
|
||||
14050 = "Ambient Sound 50";
|
||||
14051 = "Ambient Sound 51";
|
||||
14052 = "Ambient Sound 52";
|
||||
14053 = "Ambient Sound 53";
|
||||
14054 = "Ambient Sound 54";
|
||||
14055 = "Ambient Sound 55";
|
||||
14056 = "Ambient Sound 56";
|
||||
14057 = "Ambient Sound 57";
|
||||
14058 = "Ambient Sound 58";
|
||||
14059 = "Ambient Sound 59";
|
||||
14060 = "Ambient Sound 60";
|
||||
14061 = "Ambient Sound 61";
|
||||
14062 = "Ambient Sound 62";
|
||||
14063 = "Ambient Sound 63";
|
||||
14064 = "Ambient Sound 64";
|
||||
14001
|
||||
{
|
||||
title = "Ambient Sound 01";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
14002
|
||||
{
|
||||
title = "Ambient Sound 02";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
14003
|
||||
{
|
||||
title = "Ambient Sound 03";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
14004
|
||||
{
|
||||
title = "Ambient Sound 04";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
14005
|
||||
{
|
||||
title = "Ambient Sound 05";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
14006
|
||||
{
|
||||
title = "Ambient Sound 06";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
14007
|
||||
{
|
||||
title = "Ambient Sound 07";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
14008
|
||||
{
|
||||
title = "Ambient Sound 08";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
14009
|
||||
{
|
||||
title = "Ambient Sound 09";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
14010
|
||||
{
|
||||
title = "Ambient Sound 10";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
14011
|
||||
{
|
||||
title = "Ambient Sound 11";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
14012
|
||||
{
|
||||
title = "Ambient Sound 12";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
14013
|
||||
{
|
||||
title = "Ambient Sound 13";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
14014
|
||||
{
|
||||
title = "Ambient Sound 14";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
14015
|
||||
{
|
||||
title = "Ambient Sound 15";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
14016
|
||||
{
|
||||
title = "Ambient Sound 16";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
14017
|
||||
{
|
||||
title = "Ambient Sound 17";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
14018
|
||||
{
|
||||
title = "Ambient Sound 18";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
14019
|
||||
{
|
||||
title = "Ambient Sound 19";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
14020
|
||||
{
|
||||
title = "Ambient Sound 20";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
14021
|
||||
{
|
||||
title = "Ambient Sound 21";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
14022
|
||||
{
|
||||
title = "Ambient Sound 22";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
14023
|
||||
{
|
||||
title = "Ambient Sound 23";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
14024
|
||||
{
|
||||
title = "Ambient Sound 24";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
14025
|
||||
{
|
||||
title = "Ambient Sound 25";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
14026
|
||||
{
|
||||
title = "Ambient Sound 26";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
14027
|
||||
{
|
||||
title = "Ambient Sound 27";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
14028
|
||||
{
|
||||
title = "Ambient Sound 28";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
14029
|
||||
{
|
||||
title = "Ambient Sound 29";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
14030
|
||||
{
|
||||
title = "Ambient Sound 30";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
14031
|
||||
{
|
||||
title = "Ambient Sound 31";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
14032
|
||||
{
|
||||
title = "Ambient Sound 32";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
14033
|
||||
{
|
||||
title = "Ambient Sound 33";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
14034
|
||||
{
|
||||
title = "Ambient Sound 34";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
14035
|
||||
{
|
||||
title = "Ambient Sound 35";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
14036
|
||||
{
|
||||
title = "Ambient Sound 36";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
14037
|
||||
{
|
||||
title = "Ambient Sound 37";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
14038
|
||||
{
|
||||
title = "Ambient Sound 38";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
14039
|
||||
{
|
||||
title = "Ambient Sound 39";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
14040
|
||||
{
|
||||
title = "Ambient Sound 40";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
14041
|
||||
{
|
||||
title = "Ambient Sound 41";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
14042
|
||||
{
|
||||
title = "Ambient Sound 42";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
14043
|
||||
{
|
||||
title = "Ambient Sound 43";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
14044
|
||||
{
|
||||
title = "Ambient Sound 44";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
14045
|
||||
{
|
||||
title = "Ambient Sound 45";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
14046
|
||||
{
|
||||
title = "Ambient Sound 46";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
14047
|
||||
{
|
||||
title = "Ambient Sound 47";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
14048
|
||||
{
|
||||
title = "Ambient Sound 48";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
14049
|
||||
{
|
||||
title = "Ambient Sound 49";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
14050
|
||||
{
|
||||
title = "Ambient Sound 50";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
14051
|
||||
{
|
||||
title = "Ambient Sound 51";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
14052
|
||||
{
|
||||
title = "Ambient Sound 52";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
14053
|
||||
{
|
||||
title = "Ambient Sound 53";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
14054
|
||||
{
|
||||
title = "Ambient Sound 54";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
14055
|
||||
{
|
||||
title = "Ambient Sound 55";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
14056
|
||||
{
|
||||
title = "Ambient Sound 56";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
14057
|
||||
{
|
||||
title = "Ambient Sound 57";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
14058
|
||||
{
|
||||
title = "Ambient Sound 58";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
14059
|
||||
{
|
||||
title = "Ambient Sound 59";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
14060
|
||||
{
|
||||
title = "Ambient Sound 60";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
14061
|
||||
{
|
||||
title = "Ambient Sound 61";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
14062
|
||||
{
|
||||
title = "Ambient Sound 62";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
14063
|
||||
{
|
||||
title = "Ambient Sound 63";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
14064
|
||||
{
|
||||
title = "Ambient Sound 64";
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
|
||||
14065
|
||||
{
|
||||
|
@ -194,24 +450,7 @@ zdoom
|
|||
{
|
||||
title = "Ambient Sound Index";
|
||||
}
|
||||
arg1
|
||||
{
|
||||
title = "Volume";
|
||||
type = 11;
|
||||
enum = "sound_volume";
|
||||
}
|
||||
arg2
|
||||
{
|
||||
title = "Min. Fading Distance";
|
||||
}
|
||||
arg3
|
||||
{
|
||||
title = "Max. Heard Distance";
|
||||
}
|
||||
arg4
|
||||
{
|
||||
title = "Distance Multiplier";
|
||||
}
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
|
||||
14066
|
||||
|
@ -236,24 +475,7 @@ zdoom
|
|||
{
|
||||
title = "Ambient Sound Index";
|
||||
}
|
||||
arg1
|
||||
{
|
||||
title = "Volume";
|
||||
type = 11;
|
||||
enum = "sound_volume";
|
||||
}
|
||||
arg2
|
||||
{
|
||||
title = "Min. Fading Distance";
|
||||
}
|
||||
arg3
|
||||
{
|
||||
title = "Max. Heard Distance";
|
||||
}
|
||||
arg4
|
||||
{
|
||||
title = "Distance Multiplier";
|
||||
}
|
||||
include("ZDoom_misc.cfg", "ambientsoundthing_args");
|
||||
}
|
||||
|
||||
14101 = "Music Changer 01";
|
||||
|
@ -941,7 +1163,7 @@ zdoom
|
|||
height = 8;
|
||||
arg0
|
||||
{
|
||||
title = "Line";
|
||||
title = "Line Tag";
|
||||
type = 15;
|
||||
}
|
||||
}
|
||||
|
@ -953,7 +1175,7 @@ zdoom
|
|||
height = 4;
|
||||
arg0
|
||||
{
|
||||
title = "Line";
|
||||
title = "Line Tag";
|
||||
type = 15;
|
||||
}
|
||||
}
|
||||
|
@ -1091,6 +1313,7 @@ zdoom
|
|||
sprite = "internal:anchor";
|
||||
class = "$PolyAnchor";
|
||||
fixedrotation = true;
|
||||
error = 0; // Can be outside of map geometry
|
||||
}
|
||||
|
||||
9301
|
||||
|
|
|
@ -41,6 +41,12 @@ linetagindicatesectors = true;
|
|||
|
||||
// The format interface handles the map data format - DoomMapSetIO for SRB2DB2, SRB2MapSetIO for Zone Builder
|
||||
formatinterface = "SRB2MapSetIO";
|
||||
|
||||
//Maximum safe map size check (0 means skip check)
|
||||
safeboundary = 0;
|
||||
|
||||
//Don't do vanilla-style thing rotation angle clamping
|
||||
doomthingrotationangles = false;
|
||||
|
||||
//Sky textures for vanilla maps
|
||||
defaultskytextures
|
||||
|
@ -2518,6 +2524,7 @@ linedeftypes
|
|||
prefix = "(439)";
|
||||
flags8text = "[3] Set delay by backside sector";
|
||||
flags64text = "[6] Only existing";
|
||||
flags8192text = "[13] Use backside textures";
|
||||
}
|
||||
|
||||
440
|
||||
|
@ -5011,10 +5018,10 @@ thingtypes
|
|||
}
|
||||
}
|
||||
|
||||
invisible
|
||||
ambience
|
||||
{
|
||||
color = 15; // White
|
||||
title = "Misc. Invisible";
|
||||
title = "Ambience";
|
||||
width = 8;
|
||||
height = 16;
|
||||
sprite = "UNKNA0";
|
||||
|
@ -5084,6 +5091,15 @@ thingtypes
|
|||
title = "Machine Ambience";
|
||||
sprite = "internal:ambiance";
|
||||
}
|
||||
}
|
||||
|
||||
invisible
|
||||
{
|
||||
color = 15; // White
|
||||
title = "Misc. Invisible";
|
||||
width = 8;
|
||||
height = 16;
|
||||
sprite = "UNKNA0";
|
||||
|
||||
750
|
||||
{
|
||||
|
@ -5168,6 +5184,7 @@ thingtypes
|
|||
angletext = "Tag";
|
||||
fixedrotation = 1;
|
||||
tagthing = true;
|
||||
unflippable = true;
|
||||
}
|
||||
|
||||
761
|
||||
|
@ -5177,6 +5194,7 @@ thingtypes
|
|||
angletext = "Tag";
|
||||
fixedrotation = 1;
|
||||
tagthing = true;
|
||||
unflippable = true;
|
||||
}
|
||||
|
||||
762
|
||||
|
@ -5186,6 +5204,7 @@ thingtypes
|
|||
angletext = "Tag";
|
||||
fixedrotation = 1;
|
||||
tagthing = true;
|
||||
unflippable = true;
|
||||
}
|
||||
780
|
||||
{
|
||||
|
@ -6508,14 +6527,14 @@ thingtypes
|
|||
{
|
||||
arrow = 1;
|
||||
title = "Hoop (Generic)";
|
||||
sprite = "HOOPA0";
|
||||
sprite = "internal:nightshoop";
|
||||
width = 80;
|
||||
height = 160;
|
||||
unflippable = true;
|
||||
centerHitbox = true;
|
||||
flagsvaluetext = "Height";
|
||||
angletext = "Pitch/Yaw";
|
||||
fixedrotation = 1;
|
||||
parametertext = "Degrees?";
|
||||
}
|
||||
1706
|
||||
{
|
||||
|
@ -6570,11 +6589,13 @@ thingtypes
|
|||
flags2text = "[2] Radius +32";
|
||||
flags4text = "[4] Radius +64";
|
||||
flags8text = "[8] Radius +128";
|
||||
sprite = "HOOPA0";
|
||||
sprite = "internal:nightshoop";
|
||||
width = 80;
|
||||
height = 160;
|
||||
unflippable = true;
|
||||
centerHitbox = true;
|
||||
angletext = "Pitch/Yaw";
|
||||
parametertext = "Degrees?";
|
||||
}
|
||||
1714
|
||||
{
|
||||
|
|
|
@ -106,10 +106,13 @@ keywords
|
|||
CheckActorFloorTexture = "bool CheckActorFloorTexture(int tid, str texture)";
|
||||
CheckActorInventory = "int CheckActorInventory(int tid, str inventory_item)\nChecks the given actor's inventory for the item specified by inventory_item";
|
||||
CheckActorProperty = "bool CheckActorProperty(int tid, int property, [int|float|str] value)";
|
||||
CheckActorState = "bool CheckActorState(int tid, str statename[, bool exact = false])";
|
||||
CheckClass = "bool CheckClass(str classname)";
|
||||
CheckFlag = "bool CheckFlag(int tid, str flag)\nChecks to see if the actor with the matching tid has the specified actor flag set.\nIf tid is 0, the check is performed on the activator of the script.";
|
||||
CheckFont = "bool CheckFont(str fontname)";
|
||||
CheckInventory = "int CheckInventory(str inventory_item)\nChecks the inventory of the actor who activated the script for the item specified by inventory_item";
|
||||
CheckPlayerCamera = "int CheckPlayerCamera(int player)";
|
||||
CheckProximity = "bool CheckProximity(int tid, str classname, float distance[, int count = 1[, int flags = 0[, int pointer = AAPTR_DEFAULT]]])";
|
||||
CheckSight = "bool CheckSight(int source, int dest, int flags)";
|
||||
CheckWeapon = "bool CheckWeapon(str weapon)\nChecks if player's active weapon is the weapon with specified class name.";
|
||||
ClassifyActor = "int ClassifyActor(int tid)";
|
||||
|
@ -120,6 +123,7 @@ keywords
|
|||
//ConsoleCommand = "void ConsoleCommand(str command)";
|
||||
Cos = "fixed Cos(int angle)";
|
||||
CreateTranslation = "void CreateTranslation(int transnumber, a:b=c:d, ...)";
|
||||
DamageActor = "int DamageActor(int targettid, int targetptr, int inflictortid, int inflictorptr, int damage, str damagetype)";
|
||||
DamageThing = "DamageThing(amount, mod)";
|
||||
Delay = "void Delay(int tics)";
|
||||
Door_Animated = "Door_Animated(tag, speed, delay, lock)";
|
||||
|
@ -222,7 +226,8 @@ keywords
|
|||
GetSectorUDMFInt = "int GetSectorUDMFInt(int tag, str key)";
|
||||
GetSideUDMFFixed = "fixed GetSideUDMFFixed(int lineid, bool side, str key)";
|
||||
GetSideUDMFInt = "int GetSideUDMFInt(int lineid, bool side, str key)";
|
||||
GetSigilPieces = "int GetSigilPieces(void)\nReturns the number of Sigil pieces that are held by the player";
|
||||
GetSigilPieces = "int GetSigilPieces()\nReturns the number of Sigil pieces that are held by the player";
|
||||
GetSpriteRotation = "int GetSpriteRotation(int ptr)";
|
||||
GetThingUDMFFixed = "fixed GetThingUDMFFixed(int thingid, str key)";
|
||||
GetThingUDMFInt = "int GetThingUDMFInt(int thingid, str key)";
|
||||
GetUserArray = "void GetUserArray(int tid, str name, int pos)";
|
||||
|
@ -256,6 +261,7 @@ keywords
|
|||
Line_AlignCeiling = "Line_AlignCeiling(lineid, side)";
|
||||
Line_AlignFloor = "Line_AlignFloor(lineid, side)";
|
||||
Line_SetBlocking = "Line_SetBlocking(lineid, setflags, clearflags)";
|
||||
Line_SetPortalTarget = "Line_SetPortalTarget(sourcelineid, targetlineid)";
|
||||
Line_SetTextureOffset = "Line_SetTextureOffset(lineid, x, y, side, flags)";
|
||||
Line_SetTextureScale = "Line_SetTextureScale(lineid, x, y, side, flags)";
|
||||
LineSide = "int LineSide(void)";
|
||||
|
@ -308,7 +314,7 @@ keywords
|
|||
PolyWait = "void PolyWait(int polyid)";
|
||||
Print = "void Print(type:expression)\nPrint will print something to the screen.\nPrint will only display for the activator of the script\nFor printing to all players, use PrintBold.";
|
||||
PrintBold = "void PrintBold(type:expression)\nThis is exactly the same as Print, except all players will see the printed text\non the screen instead of just the activator of the script.";
|
||||
QuakeEx = "bool QuakeEx(int tid, int intensityX, int intensityY, int intensityZ, int duration, int damrad, int tremrad, str sound[, int flags = 0[, float mulwavex = 1.0[, float mulwavey = 1.0[, float mulwavez = 1.0]]]])";
|
||||
QuakeEx = "bool QuakeEx(int tid, int intensityX, int intensityY, int intensityZ, int duration, int damrad, int tremrad, str sound[, int flags = 0[, float mulwavex = 1.0[, float mulwavey = 1.0[, float mulwavez = 1.0[, int falloff = 0[, int highpoint = 0]]]]]])";
|
||||
Radius_Quake = "Radius_Quake(intensity, duration, damrad, tremrad, tid)";
|
||||
Radius_Quake2 = "void Radius_Quake2(int tid, int intensity, int duration, int damrad, int tremrad, str sound)";
|
||||
Random = "int Random(int min, int max)";
|
||||
|
@ -372,6 +378,7 @@ keywords
|
|||
SetMarineWeapon = "void SetMarineWeapon(int tid, int weapon)\nSets a Scripted Marine's weapon on the fly.\nweapon: one of MARINEWEAPON_ flags";
|
||||
SetMugShotState = "void SetMugShotState(str state)\nSets the state of the mug shot in SBARINFO status bars.\nThe state you set will only be interrupted by damage or if the player\npicks up a weapon, provided the mugshot supports it.";
|
||||
SetMusic = "void SetMusic(str song[, int order[, int unused]])";
|
||||
SetMusicVolume = "void SetMusicVolume(float volume)";
|
||||
SetPlayerProperty = "SetPlayerProperty(who, set, which)";
|
||||
SetPointer = "bool SetPointer(int assign_slot, int tid[, int pointer_selector[, int flags]])\nSet the value of one of the caller's stored pointers.";
|
||||
SetResultValue = "void SetResultValue(int value)";
|
||||
|
@ -494,6 +501,7 @@ properties
|
|||
LIGHTNING;
|
||||
NET;
|
||||
OPEN;
|
||||
REOPEN;
|
||||
RESPAWN;
|
||||
Restart;
|
||||
return;
|
||||
|
@ -548,6 +556,7 @@ constants
|
|||
APROP_Damage;
|
||||
APROP_DamageFactor;
|
||||
APROP_DamageMultiplier;
|
||||
APROP_DamageType;
|
||||
APROP_DeathSound;
|
||||
APROP_Dormant;
|
||||
APROP_Dropped;
|
||||
|
@ -656,6 +665,19 @@ constants
|
|||
CLASS_CLERIC;
|
||||
CLASS_FIGHTER;
|
||||
CLASS_MAGE;
|
||||
CPXF_ANCESTOR;
|
||||
CPXF_LESSOREQUAL;
|
||||
CPXF_NOZ;
|
||||
CPXF_COUNTDEAD;
|
||||
CPXF_DEADONLY;
|
||||
CPXF_EXACT;
|
||||
CPXF_SETTARGET;
|
||||
CPXF_SETMASTER;
|
||||
CPXF_SETTRACER;
|
||||
CPXF_FARTHEST;
|
||||
CPXF_CLOSEST;
|
||||
CPXF_SETONPTR;
|
||||
CPXF_CHECKSIGHT;
|
||||
CR_BLACK;
|
||||
CR_BLUE;
|
||||
CR_BRICK;
|
||||
|
|
|
@ -75,21 +75,21 @@ keywords
|
|||
A_ClearLastHeard = "A_ClearLastHeard";
|
||||
A_ClearSoundTarget = "A_ClearSoundTarget";
|
||||
A_ClearTarget = "A_ClearTarget";
|
||||
A_DamageChildren = "A_DamageChildren(int amount[, str damagetype = \"None\"[, int flags = 0[, str filter = \"None\"[, str species = \"None\"]]]])\namount: amount of damage to inflict. Use a negative value to heal.\ndamagetype: the type of damage to inflict.\nflags: DMSS flags.\nfilter: the actor class to damage.\nspecies: the actor species to damage.";
|
||||
A_DamageMaster = "A_DamageMaster(int amount[, str damagetype = \"None\"[, int flags = 0[, str filter = \"None\"[, str species = \"None\"]]]])\namount: amount of damage to inflict. Use a negative value to heal.\ndamagetype: the type of damage to inflict.\nflags: DMSS flags.\nfilter: the actor class to damage.\nspecies: the actor species to damage.";
|
||||
A_DamageSelf = "A_DamageSelf(int amount[, str damagetype = \"None\"[, int flags = 0[, str filter = \"None\"[, str species = \"None\"]]]])\namount: amount of damage to inflict. Use a negative value to heal.\ndamagetype: the type of damage to inflict.\nflags: DMSS flags.\nfilter: the actor class to damage.\nspecies: the actor species to damage.";
|
||||
A_DamageSiblings = "A_DamageSiblings(int amount[, str damagetype = \"None\"[, int flags = 0[, str filter = \"None\"[, str species = \"None\"]]]])\namount: amount of damage to inflict. Use a negative value to heal.\ndamagetype: the type of damage to inflict.\nflags: DMSS flags.\nfilter: the actor class to damage.\nspecies: the actor species to damage.";
|
||||
A_DamageTarget = "A_DamageTarget(int amount[, str damagetype = \"None\"[, int flags = 0[, str filter = \"None\"[, str species = \"None\"]]]])\namount: amount of damage to inflict. Use a negative value to heal.\ndamagetype: the type of damage to inflict.\nflags: DMSS flags.\nfilter: the actor class to damage.\nspecies: the actor species to damage.";
|
||||
A_DamageTracer = "A_DamageTracer(int amount[, str damagetype = \"None\"[, int flags = 0[, str filter = \"None\"[, str species = \"None\"]]]])\namount: amount of damage to inflict. Use a negative value to heal.\ndamagetype: the type of damage to inflict.\nflags: DMSS flags.\nfilter: the actor class to damage.\nspecies: the actor species to damage.";
|
||||
A_DamageChildren = "A_DamageChildren(int amount[, str damagetype = \"None\"[, int flags = 0[, str filter = \"None\"[, str species = \"None\"[, int src = AAPTR_DEFAULT[, int inflictor = AAPTR_DEFAULT]]]]]])\namount: amount of damage to inflict. Use a negative value to heal.\ndamagetype: the type of damage to inflict.\nflags: DMSS flags.\nfilter: the actor class to damage.\nspecies: the actor species to damage.";
|
||||
A_DamageMaster = "A_DamageMaster(int amount[, str damagetype = \"None\"[, int flags = 0[, str filter = \"None\"[, str species = \"None\"[, int src = AAPTR_DEFAULT[, int inflictor = AAPTR_DEFAULT]]]]]])\namount: amount of damage to inflict. Use a negative value to heal.\ndamagetype: the type of damage to inflict.\nflags: DMSS flags.\nfilter: the actor class to damage.\nspecies: the actor species to damage.";
|
||||
A_DamageSelf = "A_DamageSelf(int amount[, str damagetype = \"None\"[, int flags = 0[, str filter = \"None\"[, str species = \"None\"[, int src = AAPTR_DEFAULT[, int inflictor = AAPTR_DEFAULT]]]]]])\namount: amount of damage to inflict. Use a negative value to heal.\ndamagetype: the type of damage to inflict.\nflags: DMSS flags.\nfilter: the actor class to damage.\nspecies: the actor species to damage.";
|
||||
A_DamageSiblings = "A_DamageSiblings(int amount[, str damagetype = \"None\"[, int flags = 0[, str filter = \"None\"[, str species = \"None\"[, int src = AAPTR_DEFAULT[, int inflictor = AAPTR_DEFAULT]]]]]])\namount: amount of damage to inflict. Use a negative value to heal.\ndamagetype: the type of damage to inflict.\nflags: DMSS flags.\nfilter: the actor class to damage.\nspecies: the actor species to damage.";
|
||||
A_DamageTarget = "A_DamageTarget(int amount[, str damagetype = \"None\"[, int flags = 0[, str filter = \"None\"[, str species = \"None\"[, int src = AAPTR_DEFAULT[, int inflictor = AAPTR_DEFAULT]]]]]])\namount: amount of damage to inflict. Use a negative value to heal.\ndamagetype: the type of damage to inflict.\nflags: DMSS flags.\nfilter: the actor class to damage.\nspecies: the actor species to damage.";
|
||||
A_DamageTracer = "A_DamageTracer(int amount[, str damagetype = \"None\"[, int flags = 0[, str filter = \"None\"[, str species = \"None\"[, int src = AAPTR_DEFAULT[, int inflictor = AAPTR_DEFAULT]]]]]])\namount: amount of damage to inflict. Use a negative value to heal.\ndamagetype: the type of damage to inflict.\nflags: DMSS flags.\nfilter: the actor class to damage.\nspecies: the actor species to damage.";
|
||||
A_Die = "A_Die[(str damagetype = \"none\")]";
|
||||
A_FaceTarget = "A_FaceTarget[(float angle = 0.0[, float pitch = 270.0])]\nA_FaceTarget([float max_turn = 0.0[, float max_pitch = 270.0[, float ang_offset = 0.0[, float pitch_offset = 0.0[, int flags = 0[, float z_add = 0.0]]]]]])";
|
||||
A_FaceMaster = "A_FaceMaster[(float angle = 0.0[, float pitch = 270.0])]\nA_FaceMaster([float max_turn = 0.0[, float max_pitch = 270.0[, float ang_offset = 0.0[, float pitch_offset = 0.0[, int flags = 0[, float z_add = 0.0]]]]]])";
|
||||
A_FastChase = "A_FastChase";
|
||||
A_KillChildren = "A_KillChildren[(str damagetype = \"None\"[, int flags = 0[, str filter = \"None\[, str species = \"None\]]])]\ndamagetype: if the actor dies, the actor will enter a death state based on damagetype if present (or pain state if using NODAMAGE).\nflags: KILS flags.\nfilter: the actor class to damage.\nspecies: the actor species to damage.";
|
||||
A_KillMaster = "A_KillMaster[(str damagetype = \"None\"[, int flags = 0[, str filter = \"None\"[, str species = \"None\"]]])]\ndamagetype: if the actor dies, the actor will enter a death state based on damagetype if present (or pain state if using NODAMAGE).\nflags: KILS flags.\nfilter: the actor class to damage.\nspecies: the actor species to damage.";
|
||||
A_KillSiblings = "A_KillSiblings[(str damagetype = \"None\"[, int flags = 0[, str filter = \"None\"[, str species = \"None\"]]])]\ndamagetype: if the actor dies, the actor will enter a death state based on damagetype if present (or pain state if using NODAMAGE).\nflags: KILS flags.\nfilter: the actor class to damage.\nspecies: the actor species to damage.";
|
||||
A_KillTarget = "A_KillTarget[(str damagetype = \"None\"[, int flags = 0[, str filter = \"None\"[, str species = \"None\"]]])]\ndamagetype: if the actor dies, the actor will enter a death state based on damagetype if present (or pain state if using NODAMAGE).\nflags: KILS flags.\nfilter: the actor class to damage.\nspecies: the actor species to damage.";
|
||||
A_KillTracer = "A_KillTracer[(str damagetype = \"None\"[, int flags = 0[, str filter = \"None\"[, str species = \"None\"]]])]\ndamagetype: if the actor dies, the actor will enter a death state based on damagetype if present (or pain state if using NODAMAGE).\nflags: KILS flags.\nfilter: the actor class to damage.\nspecies: the actor species to damage.";
|
||||
A_KillChildren = "A_KillChildren[(str damagetype = \"None\"[, int flags = 0[, str filter = \"None\"[, str species = \"None\"[, int src = AAPTR_DEFAULT[, int inflictor = AAPTR_DEFAULT]]]]])]\ndamagetype: if the actor dies, the actor will enter a death state based on damagetype if present (or pain state if using NODAMAGE).\nflags: KILS flags.\nfilter: the actor class to damage.\nspecies: the actor species to damage.";
|
||||
A_KillMaster = "A_KillMaster[(str damagetype = \"None\"[, int flags = 0[, str filter = \"None\"[, str species = \"None\"[, int src = AAPTR_DEFAULT[, int inflictor = AAPTR_DEFAULT]]]]])]\ndamagetype: if the actor dies, the actor will enter a death state based on damagetype if present (or pain state if using NODAMAGE).\nflags: KILS flags.\nfilter: the actor class to damage.\nspecies: the actor species to damage.";
|
||||
A_KillSiblings = "A_KillSiblings[(str damagetype = \"None\"[, int flags = 0[, str filter = \"None\"[, str species = \"None\"[, int src = AAPTR_DEFAULT[, int inflictor = AAPTR_DEFAULT]]]]])]\ndamagetype: if the actor dies, the actor will enter a death state based on damagetype if present (or pain state if using NODAMAGE).\nflags: KILS flags.\nfilter: the actor class to damage.\nspecies: the actor species to damage.";
|
||||
A_KillTarget = "A_KillTarget[(str damagetype = \"None\"[, int flags = 0[, str filter = \"None\"[, str species = \"None\"[, int src = AAPTR_DEFAULT[, int inflictor = AAPTR_DEFAULT]]]]])]\ndamagetype: if the actor dies, the actor will enter a death state based on damagetype if present (or pain state if using NODAMAGE).\nflags: KILS flags.\nfilter: the actor class to damage.\nspecies: the actor species to damage.";
|
||||
A_KillTracer = "A_KillTracer[(str damagetype = \"None\"[, int flags = 0[, str filter = \"None\"[, str species = \"None\"[, int src = AAPTR_DEFAULT[, int inflictor = AAPTR_DEFAULT]]]]])]\ndamagetype: if the actor dies, the actor will enter a death state based on damagetype if present (or pain state if using NODAMAGE).\nflags: KILS flags.\nfilter: the actor class to damage.\nspecies: the actor species to damage.";
|
||||
A_Look = "A_Look";
|
||||
A_Look2 = "A_Look2";
|
||||
A_LookEx = "A_LookEx(int flags, float minseedist, float maxseedist, float maxheardist, float fov, state seestate)";
|
||||
|
@ -105,7 +105,6 @@ keywords
|
|||
A_SentinelBob = "A_SentinelBob";
|
||||
A_SetTeleFog = "A_SetTeleFog(str telefogsourceclass, str telefogdestclass)";
|
||||
A_Srcr2Decide = "A_Srcr2Decide";
|
||||
A_SwapTeleFog = "A_SwapTeleFog";
|
||||
A_TurretLook = "A_TurretLook";
|
||||
A_Teleport = "state A_Teleport[(str teleportstate = \"Teleport\"[, str targettype = \"BossSpot\"[, str fogtype = \"TeleportFog\"[, int flags = 0[, float mindist = 0.0[, float maxdist = 0.0[, int pointer = AAPTR_DEFAULT]]]]]])]\nbool A_Teleport[(str teleportstate = \"Teleport\"[, str targettype = \"BossSpot\"[, str fogtype = \"TeleportFog\"[, int flags = 0[, float mindist = 0.0[, float maxdist = 0.0[, int pointer = AAPTR_DEFAULT]]]]]])]";
|
||||
A_VileChase = "A_VileChase";
|
||||
|
@ -113,7 +112,7 @@ keywords
|
|||
//Generic monster attacks
|
||||
A_CustomMissile = "A_CustomMissile(str missiletype[, float spawnheight = 0.0[, int spawnofs_horiz = 0[, int angle = 0[, int aimflags = 0[, int pitch = 0[, int target = AAPTR_TARGET]]]]]])";
|
||||
A_CustomBulletAttack = "A_CustomBulletAttack(float horz_spread, float vert_spread, int numbullets, int damageperbullet[, str pufftype = \"BulletPuff\"[, float range = 0.0[, int flags = 0[, int target = AAPTR_TARGET]]]])";
|
||||
A_CustomRailgun = "A_CustomRailgun(int damage[, int offset[, color ringcolor[, color corecolor[, int flags = 0[, bool aim = false[, float maxdiff = 0.0[, str pufftype = \"\"[, float spread_xy = 0.0[, float spread_z = 0.0[, float range = 8192[, int duration = 35[, float sparsity = 1.0[, float driftspeed = 1.0[, str spawnclass = \"\"[, float spawnofs_z = 0[, int spiraloffset = 270]]]]]]]]]]]]]]]])";
|
||||
A_CustomRailgun = "A_CustomRailgun(int damage[, int offset[, color ringcolor[, color corecolor[, int flags = 0[, bool aim = false[, float maxdiff = 0.0[, str pufftype = \"\"[, float spread_xy = 0.0[, float spread_z = 0.0[, float range = 8192[, int duration = 35[, float sparsity = 1.0[, float driftspeed = 1.0[, str spawnclass = \"\"[, float spawnofs_z = 0[, int spiraloffset = 270[, int actorpiercelimit = 0]]]]]]]]]]]]]]]]])";
|
||||
A_CustomMeleeAttack = "A_CustomMeleeAttack[(int damage = 0[, str meleesound = \"\"[, str misssound = \"\"[, str damagetype = \"Melee\"[, bool bleed = true]]]])]";
|
||||
A_CustomComboAttack = "A_CustomComboAttack(str missiletype, float spawnheight, int damage, str meleesound[, str damagetype = \"Melee\"[, bool bleed = true]])";
|
||||
A_MonsterRefire = "state A_MonsterRefire(int chancecontinue, str abortstate)";
|
||||
|
@ -150,6 +149,7 @@ keywords
|
|||
A_PrintBold = "A_PrintBold(str text[, float time = 0.0[, str fontname = \"SmallFont\"]])";
|
||||
A_Log = "A_Log(str text)";
|
||||
A_LogInt = "A_LogInt(int number)";
|
||||
A_LogFloat = "A_LogFloat(float number)";
|
||||
//Special actions
|
||||
A_BossDeath = "A_BossDeath";
|
||||
A_KeenDie = "A_KeenDie[(int tag = 666)]";
|
||||
|
@ -162,7 +162,7 @@ keywords
|
|||
A_PlayerSkinCheck = "state A_PlayerSkinCheck(str state)";
|
||||
A_SkullPop = "A_SkullPop[(str type = \"BloodySkull\")]";
|
||||
A_Quake = "A_Quake(int intensity, int duration, int damageradius, int tremorradius[, str sound = \"world/quake\"])";
|
||||
A_QuakeEx = "A_QuakeEx(int intensityX, int intensityY, int intensityZ, int duration, int damrad, int tremrad[, str sound = \"world/quake\"[, int flags = 0[, float mulwavex = 1.0[, float mulwavey = 1.0[, float mulwavez = 1.0]]]]])";
|
||||
A_QuakeEx = "A_QuakeEx(int intensityX, int intensityY, int intensityZ, int duration, int damrad, int tremrad[, str sound = \"world/quake\"[, int flags = 0[, float mulwavex = 1.0[, float mulwavey = 1.0[, float mulwavez = 1.0[, int falloff = 0[, int highpoint = 0[, float rollintensity = 0.0[, float rollwave = 0.0]]]]]]]]])";
|
||||
//Spawn functions
|
||||
A_TossGib = "A_TossGib";
|
||||
A_SpawnDebris = "A_SpawnDebris(str type[, bool translation = false[, float horizontal_vel = 1.0[, float vertical_vel = 1.0]]])";
|
||||
|
@ -170,7 +170,7 @@ keywords
|
|||
A_SpawnItemEx = "bool A_SpawnItemEx(str type[, float xoffset = 0.0[, float yoffset = 0.0[, float zoffset = 0.0[, float xvelocity = 0.0[, float yvelocity = 0.0[, float zvelocity = 0.0[, float angle = 0.0[, int flags = 0[, int skipchance = 0[, int tid = 0]]]]]]]]]])";
|
||||
A_SpawnParticle = "A_SpawnParticle(color color[, int flags = 0[, int lifetime = 35[, int size = 1[, float angle = 0.0[, float xoff = 0.0[, float yoff = 0.0[, float zoff = 0.0[, float velx = 0.0[, float vely = 0.0[, float velz = 0.0[, float accelx = 0.0[, float accely = 0.0[, float accelz = 0.0[, float startalpha = 1.0[, float fadestep = -1.0]]]]]]]]]]]]]]])";
|
||||
//State jumps
|
||||
A_CheckBlock = "state A_CheckBlock(str block[, int flags = 0[, int pointer = AAPTR_TARGET]])";
|
||||
A_CheckBlock = "state A_CheckBlock(str block[, int flags = 0[, int pointer = AAPTR_TARGET[, float xoff = 0.0[, float yoff = 0.0[, float zoff = 0.0[, float angle = 0.0]]]]]])";
|
||||
A_CheckCeiling = "state A_CheckCeiling(str state)\nstate A_CheckCeiling(int offset)";
|
||||
A_CheckFloor = "state A_CheckFloor(str state)\nstate A_CheckFloor(int offset)";
|
||||
A_CheckFlag = "state A_CheckFlag(str flagname, state label[, int check_pointer = AAPTR_DEFAULT])";
|
||||
|
@ -238,7 +238,7 @@ keywords
|
|||
A_SetRipMin = "A_SetRipMin(int min)";
|
||||
A_SetRipMax = "A_SetRipMax(int max)";
|
||||
A_SetRoll = "A_SetRoll(float roll[, int flags = 0[, int pointer = AAPTR_DEFAULT]])";
|
||||
A_SetScale = "A_SetScale(float scaleX[, float scaleY = scaleX[, int pointer = AAPTR_DEFAULT]])";
|
||||
A_SetScale = "A_SetScale(float scaleX[, float scaleY = scaleX[, int pointer = AAPTR_DEFAULT[, bool usezero = false]]])";
|
||||
A_SetShadow = "A_SetShadow";
|
||||
A_SetShootable = "A_SetShootable";
|
||||
A_SetSolid = "A_SetSolid";
|
||||
|
@ -248,6 +248,9 @@ keywords
|
|||
A_SetTics = "A_SetTics(int tics)";
|
||||
A_SetTranslucent = "A_SetTranslucent(float alpha[, int mode = 0])";
|
||||
A_SetUserVar = "A_SetUserVar(str name, int value)";
|
||||
A_SetUserVarFloat = "A_SetUserVarFloat(str name, float value)";
|
||||
A_SetVisibleRotation = "A_SetVisibleRotation(float anglestart[, float angleend = 0.0[, float pitchstart = 0.0[, float pitchend = 0.0[, int flags = 0[, int ptr = AAPTR_DEFAULT]]]]]])";
|
||||
A_SwapTeleFog = "A_SwapTeleFog";
|
||||
A_TransferPointer = "A_TransferPointer(int source, int recipient, int sourcefield, int recipientfield[, int flags])\nflags: PTROP flags.";
|
||||
A_UnHideThing = "A_UnHideThing";
|
||||
A_UnsetFloat = "A_UnsetFloat";
|
||||
|
@ -280,9 +283,10 @@ keywords
|
|||
A_DropInventory = "A_DropInventory(str type)";
|
||||
A_DropItem = "A_DropItem(str item[, int dropamount = -1[, int chance = 256]])\nThe calling actor drops the specified item.\nThis works in a similar way to the DropItem actor property.";
|
||||
A_SelectWeapon = "bool A_SelectWeapon(str type)";
|
||||
A_RadiusGive = "int A_RadiusGive(str item, float distance, int flags[, int amount = 0[, str filter = \"None\"[, str species = \"None\"[, float mindist = 0]]]])\nflags: RGF flags.";
|
||||
A_RadiusGive = "int A_RadiusGive(str item, float distance, int flags[, int amount = 0[, str filter = \"None\"[, str species = \"None\"[, int mindist = 0[, int limit = 0]]]]])\nflags: RGF flags.";
|
||||
//Weapon functions
|
||||
A_WeaponReady = "A_WeaponReady[(int flags = 0)]\nflags: WRF flags.";
|
||||
A_WeaponOffset = "A_WeaponOffset[(float x = 0[, float y = 32[, int flags = 0])]\nflags: WOF flags.";
|
||||
A_Lower = "A_Lower";
|
||||
A_Raise = "A_Raise";
|
||||
A_ReFire = "A_ReFire[(str state = \"Hold\")]";
|
||||
|
@ -296,6 +300,9 @@ keywords
|
|||
A_Light1 = "A_Light1";
|
||||
A_Light2 = "A_Light2";
|
||||
A_LightInverse = "A_LightInverse";
|
||||
A_Overlay = "A_Overlay(int layer[, state start])";
|
||||
A_OverlayFlags = "A_OverlayFlags(int layer, int flags, bool set)\nflags: PSPF flags.";
|
||||
A_OverlayOffset = "A_OverlayOffset[(int layer = 0[, float x = 0.0f[, float y = 32.0f[, int flags = 0]]]])]\nflags: WOF flags.";
|
||||
A_Recoil = "A_Recoil(float force)";
|
||||
A_ZoomFactor = "A_ZoomFactor[(float zoom = 1.0[, int flags = 0])]\nflags: ZOOM flags.";
|
||||
A_SetCrosshair = "A_SetCrosshair(int number)";
|
||||
|
@ -304,8 +311,8 @@ keywords
|
|||
A_Saw = "A_Saw[(str fullsound = \"weapons/sawfull\"[, str hitsound = \"weapons/sawhit\"[, int damage = 0[, str pufftype = \"BulletPuff\"[, int flags = 0[, float range = 65.0[, float spread_xy = 2.8125[, float spread_z = 0.0[, float lifesteal = 0.0[, int lifestealmax = 0[, str armorbonustype = \"ArmorBonus\"]]]]]]]]]])]";
|
||||
A_CustomPunch = "A_CustomPunch(int damage[, bool norandom = false[, int flags = 0[, str pufftype = \"BulletPuff\"[, float range = 64.0[, float lifesteal = 0.0[, int lifestealmax = 0[, str armorbonustype = \"ArmorBonus\"[, str meleesound[, str misssound]]]]]]]]])";
|
||||
A_FireBullets = "A_FireBullets(int spread_horz, int spread_vert, int numbullets, int damage[, str pufftype = \"\"[, int flags = FBF_USEAMMO[, float range = 0.0]]])";
|
||||
A_FireCustomMissile = "A_FireCustomMissile(str missiletype[, int angle = 0[, bool useammo = false[, int spawnofs_horz = 0[, int spawnheight = 0[, int flags = 0[, angle pitch = 0]]]]]])";
|
||||
A_RailAttack = "A_RailAttack(int damage[, int spawnofs_horz[, bool useammo[, str ringcolor[, str corecolor[, int flags[, int maxdiff[, str pufftype[, float spread_xy = 0.0[, float spread_z = 0.0[, float range = 8192.0[, int duration = 35[, float sparsity = 1.0[, float driftspeed = 1.0[, str spawnclass[, float spawnofs_z = 0.0[, int spiraloffset = 270]]]]]]]]]]]]]]]])";
|
||||
A_FireCustomMissile = "A_FireCustomMissile(str missiletype[, int angle = 0[, bool useammo = false[, float spawnofs_horz = 0.0[, int spawnheight = 0[, int flags = 0[, angle pitch = 0]]]]]])";
|
||||
A_RailAttack = "A_RailAttack(int damage[, int spawnofs_horz[, bool useammo[, str ringcolor[, str corecolor[, int flags[, int maxdiff[, str pufftype[, float spread_xy = 0.0[, float spread_z = 0.0[, float range = 8192.0[, int duration = 35[, float sparsity = 1.0[, float driftspeed = 1.0[, str spawnclass[, float spawnofs_z = 0.0[, int spiraloffset = 270[, int actorpiercelimit = 0]]]]]]]]]]]]]]]]])";
|
||||
A_FireAssaultGun = "A_FireAssaultGun";
|
||||
A_FireBFG = "A_FireBFG";
|
||||
A_FireOldBFG = "A_FireOldBFG";
|
||||
|
@ -368,7 +375,7 @@ keywords
|
|||
A_BarrelDestroy = "A_BarrelDestroy";
|
||||
//Miscellaneous functions not listed in the "Action functions" wiki article
|
||||
A_Bang4Cloud = "A_Bang4Cloud";
|
||||
A_Blast = "A_Blast[(int flags = 0[, int strength = 255[, int radius = 255[, float speed = 20.0[, str blasteffect = \"BlastEffect\"[, str blastsound = \"BlastRadius\"]]]]])]\nA_Blast[(int flags = 0[, int strength = 255[, float radius = 255.0[, float speed = 20.0[, str blasteffect = \"BlastEffect\"[, str blastsound = \"BlastRadius\"]]]]])]";
|
||||
A_Blast = "A_Blast[(int flags = 0[, float strength = 255.0[, float radius = 255.0[, float speed = 20.0[, str blasteffect = \"BlastEffect\"[, str blastsound = \"BlastRadius\"]]]]])]";
|
||||
A_BishopMissileWeave = "A_BishopMissileWeave";
|
||||
A_DropWeaponPieces = "A_DropWeaponPieces(str actorclass1, str actorclass2, str actorclass3)";
|
||||
A_Feathers = "A_Feathers";
|
||||
|
@ -379,10 +386,21 @@ keywords
|
|||
A_RocketInFlight = "A_RocketInFlight";
|
||||
A_SetGravity = "A_SetGravity(float gravity)\nSets the amount of gravity for the calling actor.";
|
||||
A_SetUserArray = "A_SetUserArray(str name, int index, int value)";
|
||||
A_SetUserArrayFloat = "A_SetUserArrayFloat(str name, int index, float value)";
|
||||
A_ShootGun = "A_ShootGun";
|
||||
A_SPosAttackUseAtkSound = "A_SPosAttackUseAtkSound";
|
||||
//Mathematical functions
|
||||
abs = "abs(x)\nReturns the absolute value of x.";
|
||||
exp = "exp(x)\nReturns the base-e exponential function of x, which is e raised to the power x.";
|
||||
log = "log(x)\nReturns the natural logarithm of x - the opposite of exp.";
|
||||
log10 = "log10(x)\nReturns the common (base-10) logarithm of x.";
|
||||
ceil = "ceil(x)\nRounds the number upward to the next closest integer.";
|
||||
floor = "floor(x)\nRounds the number downward to the next closest integer.";
|
||||
sqrt = "sqrt(x)\nReturns the square root of x.";
|
||||
min = "min(x1, ...)\nGets the smallest value of all values listed.\nCan take any amount of numbers, and can solve both ints and floats.";
|
||||
max = "max(x1, ...)\nGets the largest value of all values listed.\nCan take any amount of numbers, and can solve both ints and floats.";
|
||||
clamp = "clamp(src, min, max)\nReturns src within the range of min and max inclusively. All parameters can be ints or floats.";
|
||||
//Trigonometry functions
|
||||
sin = "sin(x)\nTrigonometry function, x must be in degrees.";
|
||||
cos = "cos(x)\nTrigonometry function, x must be in degrees.";
|
||||
tan = "tan(x)\nTrigonometry function, x must be in degrees.";
|
||||
|
@ -392,15 +410,9 @@ keywords
|
|||
sinh = "sinh(x)\nTrigonometry function, x must be in radians.";
|
||||
cosh = "cosh(x)\nTrigonometry function, x must be in radians.";
|
||||
tanh = "tanh(x)\nTrigonometry function, x must be in radians.";
|
||||
exp = "exp(x)\nReturns the base-e exponential function of x, which is e raised to the power x.";
|
||||
log = "log(x)\nReturns the natural logarithm of x - the opposite of exp.";
|
||||
log10 = "log10(x)\nReturns the common (base-10) logarithm of x.";
|
||||
ceil = "ceil(x)\nRounds the number upward to the next closest integer.";
|
||||
floor = "floor(x)\nRounds the number downward to the next closest integer.";
|
||||
sqrt = "sqrt(x)\nReturns the square root of x.";
|
||||
min = "min(x1, ...)\nGets the smallest value of all values listed.\nCan take any amount of numbers, and can solve both ints and floats.";
|
||||
max = "max(x1, ...)\nGets the largest value of all values listed.\nCan take any amount of numbers, and can solve both ints and floats.";
|
||||
clamp = "clamp(src, min, max)\nReturns src within the range of min and max inclusively. All parameters can be ints or floats.";
|
||||
atan2 = "atan2(y, x)\nTrigonometry function, Returns an angle in degrees.";
|
||||
VectorAngle = "VectorAngle(x, y)\nTrigonometry function.";
|
||||
GetAngle = "GetAngle(bool relative[, int ptr_target = AAPTR_TARGET])\nGets the angle in degrees (normalized to -180..180)";
|
||||
//Randum number functions
|
||||
random = "int random[identifier](min, max)\nReturns a random integer value between min and max.";
|
||||
random2 = "int random2[identifier](mask)\nReturns a random integer value between -mask and +mask.";
|
||||
|
@ -415,8 +427,15 @@ keywords
|
|||
IsPointerEqual = "bool IsPointerEqual(int ptr1, int ptr2)";
|
||||
CountInv = "int CountInv(str itemclassname[, int ptr_select = AAPTR_DEFAULT])";
|
||||
GetDistance = "float GetDistance(bool checkz[, int ptr_select = AAPTR_TARGET])";
|
||||
GetSpawnHealth = "int GetSpawnHealth()";
|
||||
GetGibHealth = "int GetGibHealth()";
|
||||
GetMissileDamage = "int GetMissileDamage(int mask, int add[, int pointer = AAPTR_DEFAULT])";
|
||||
GetPlayerInput = "int GetPlayerInput(int numinput[, int ptr = AAPTR_DEFAULT])";
|
||||
GetSpawnHealth = "int GetSpawnHealth()";
|
||||
GetZAt = "float GetZAt([float x = 0.0[, float y = 0.0[, float angle = 0.0[, int flags = 0[, int pick_pointer = AAPTR_TARGET]]]]])";
|
||||
GetGibHealth = "int GetGibHealth()";
|
||||
GetCrouchFactor = "float GetCrouchFactor(int ptr = AAPTR_PLAYER1)";
|
||||
GetCVar = "int GetCVar(str name)";
|
||||
GetUserCVar = "int GetUserCVar(int playernum, str name)";
|
||||
}
|
||||
|
||||
properties
|
||||
|
@ -524,6 +543,10 @@ properties
|
|||
TeleFogDestType;
|
||||
Threshold;
|
||||
DefThreshold;
|
||||
VisibleAngleStart;
|
||||
VisibleAngleEnd;
|
||||
VisiblePitchStart;
|
||||
VisiblePitchEnd;
|
||||
//Collision and 'Physics'
|
||||
Radius;
|
||||
Height;
|
||||
|
@ -566,6 +589,11 @@ properties
|
|||
Decal;
|
||||
StencilColor;
|
||||
FloatBobPhase;
|
||||
DistanceCheck;
|
||||
SpriteAngle;
|
||||
SpriteRotation;
|
||||
VisibleAngles;
|
||||
VisiblePitch;
|
||||
//Obituaries
|
||||
HitObituary;
|
||||
Obituary;
|
||||
|
@ -718,13 +746,30 @@ properties
|
|||
|
||||
constants
|
||||
{
|
||||
//rendering
|
||||
FLATSPRITE;
|
||||
ROLLSPRITE;
|
||||
WALLSPRITE;
|
||||
DONTFLIP;
|
||||
ROLLCENTER;
|
||||
SPRITEANGLE;
|
||||
MASKROTATION;
|
||||
ABSMASKANGLE;
|
||||
ABSMASKPITCH;
|
||||
//pointers
|
||||
AAPTR_DEFAULT;
|
||||
AAPTR_NULL;
|
||||
AAPTR_TARGET;
|
||||
AAPTR_MASTER;
|
||||
AAPTR_TRACER;
|
||||
AAPTR_PLAYER;
|
||||
AAPTR_PLAYER1;
|
||||
AAPTR_PLAYER2;
|
||||
AAPTR_PLAYER3;
|
||||
AAPTR_PLAYER4;
|
||||
AAPTR_PLAYER5;
|
||||
AAPTR_PLAYER6;
|
||||
AAPTR_PLAYER7;
|
||||
AAPTR_PLAYER8;
|
||||
AAPTR_PLAYER_GETTARGET;
|
||||
AAPTR_PLAYER_GETCONVERSATION;
|
||||
//A_SpawnItemEx flags
|
||||
|
@ -783,6 +828,9 @@ constants
|
|||
FBF_EXPLICITANGLE;
|
||||
FBF_NOPITCH;
|
||||
FBF_NORANDOMPUFFZ;
|
||||
FBF_PUFFTARGET;
|
||||
FBF_PUFFMASTER;
|
||||
FBF_PUFFTRACER;
|
||||
//monster flags
|
||||
PAF_NOSKULLATTACK;
|
||||
PAF_AIMFACING;
|
||||
|
@ -1074,6 +1122,9 @@ constants
|
|||
CBAF_NOPITCH;
|
||||
CBAF_NORANDOM;
|
||||
CBAF_NORANDOMPUFFZ;
|
||||
CBAF_PUFFTARGET;
|
||||
CBAF_PUFFMASTER;
|
||||
CBAF_PUFFTRACER;
|
||||
CBF_NOLINES;
|
||||
CBF_SETTARGET;
|
||||
CBF_SETMASTER;
|
||||
|
@ -1081,11 +1132,18 @@ constants
|
|||
CBF_SETONPTR;
|
||||
CBF_DROPOFF;
|
||||
CBF_NOACTORS;
|
||||
CBF_ABSOLUTEPOS;
|
||||
CBF_ABSOLUTEANGLE;
|
||||
CHF_DONTMOVE;
|
||||
CHF_FASTCHASE;
|
||||
CHF_NIGHTMAREFAST;
|
||||
CHF_NOPLAYACTIVE;
|
||||
CHF_RESURRECT;
|
||||
CHF_NORANDOMTURN;
|
||||
CHF_NODIRECTIONTURN;
|
||||
CHF_NOPOSTATTACKTURN;
|
||||
CHF_STOPIFBLOCKED;
|
||||
CHF_DONTTURN;
|
||||
CLOFF_AIM_VERT_NOOFFSET;
|
||||
CLOFF_ALLOWNULL;
|
||||
CLOFF_BEYONDTARGET;
|
||||
|
@ -1133,6 +1191,7 @@ constants
|
|||
DMSS_EXFILTER;
|
||||
DMSS_EXSPECIES;
|
||||
DMSS_EITHER;
|
||||
DMSS_INFLICTORDMGTYPE;
|
||||
FMDF_NOPITCH;
|
||||
FMDF_NOANGLE;
|
||||
FMDF_INTERPOLATE;
|
||||
|
@ -1206,6 +1265,7 @@ constants
|
|||
RTF_AFFECTSOURCE;
|
||||
RTF_NOIMPACTDAMAGE;
|
||||
RTF_NOTMISSILE;
|
||||
RTF_THRUSTZ;
|
||||
SF_NOPULLIN;
|
||||
SF_NORANDOM;
|
||||
SF_NOTURN;
|
||||
|
@ -1220,6 +1280,7 @@ constants
|
|||
SMF_PRECISE;
|
||||
SPF_FORCECLAMP;
|
||||
SPF_INTERPOLATE;
|
||||
SPF_NOTIMEFREEZE;
|
||||
TF_TELEFRAG;
|
||||
TF_RANDOMDECIDE;
|
||||
TF_FORCED;
|
||||
|
@ -1308,4 +1369,39 @@ constants
|
|||
QF_WAVE;
|
||||
QF_MAX;
|
||||
QF_FULLINTENSITY;
|
||||
//GetZAt flags
|
||||
GZF_ABSOLUTEPOS;
|
||||
GZF_ABSOLUTEANG;
|
||||
GZF_CEILING;
|
||||
GZF_3DRESTRICT;
|
||||
GZF_NOPORTALS;
|
||||
GZF_NO3DFLOOR;
|
||||
//A_WeaponOffset flags
|
||||
WOF_KEEPX;
|
||||
WOF_KEEPY;
|
||||
WOF_ADD;
|
||||
//A_OverlayFlags flags
|
||||
PSPF_ADDWEAPON;
|
||||
PSPF_ADDBOB;
|
||||
PSPF_POWDOUBLE;
|
||||
PSPF_CVARFAST;
|
||||
PSPF_FLIP;
|
||||
//A_BFGSpray flags
|
||||
BFGF_MISSILEORIGIN;
|
||||
BFGF_HURTSOURCE;
|
||||
//A_RadiusDamageSelf flags
|
||||
RDSF_BFGDAMAGE;
|
||||
//GetAngle flags
|
||||
GAF_RELATIVE;
|
||||
GAF_SWITCH;
|
||||
//A_CopySpriteFrame flags
|
||||
CPSF_NOSPRITE;
|
||||
CPSF_NOFRAME;
|
||||
//A_SetVisibleRotation flags
|
||||
VRF_NOANGLESTART;
|
||||
VRF_NOANGLEEND;
|
||||
VRF_NOPITCHSTART;
|
||||
VRF_NOPITCHEND;
|
||||
VRF_NOANGLE;
|
||||
VRF_NOPITCH;
|
||||
}
|
||||
|
|
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 315 B |
Before Width: | Height: | Size: 297 B |
Before Width: | Height: | Size: 459 B |
Before Width: | Height: | Size: 461 B |
Before Width: | Height: | Size: 461 B |
Before Width: | Height: | Size: 448 B |
Before Width: | Height: | Size: 441 B |
Before Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 665 B |
Before Width: | Height: | Size: 944 B |
Before Width: | Height: | Size: 3.1 KiB |
Before Width: | Height: | Size: 1 KiB |
Before Width: | Height: | Size: 923 B |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 740 B |
Before Width: | Height: | Size: 312 B |
BIN
Build/Sprites/nightshoop.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 771 B |
BIN
Build/Textures/ThingTexture2D.png
Normal file
After Width: | Height: | Size: 121 KiB |
BIN
Build/Textures/ThingTexture2Dold.png
Normal file
After Width: | Height: | Size: 13 KiB |
|
@ -1,3 +1,4 @@
|
|||
<<<<<<< HEAD
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
|
||||
<head>
|
||||
|
@ -94,3 +95,112 @@ arg0
|
|||
</p>
|
||||
</div>
|
||||
</body>
|
||||
=======
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
|
||||
<head>
|
||||
<title>Game Configuration - Linedefs Settings</title>
|
||||
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
|
||||
<link rel="stylesheet" type="text/css" href="default.css" media="screen" title="Default" />
|
||||
</head>
|
||||
<body>
|
||||
<object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
|
||||
<param name="keyword" value="Configurations">
|
||||
<param name="keyword" value="Game Configurations">
|
||||
<param name="keyword" value="Action">
|
||||
<param name="keyword" value="Argument">
|
||||
</object>
|
||||
<div id="title">
|
||||
<h1>Game Configuration - Action Argument Settings</h1>
|
||||
</div>
|
||||
<div id="contents">
|
||||
<p> <b class="fat">title</b> (string)<br />
|
||||
Sets the title of this argument.<br />
|
||||
Argument title can be also set in <a href="gc_decoratekeys.html#argtitle">DECORATE</a>.<br />
|
||||
<br />
|
||||
<b class="fat"><a name="argtooltip" id="argtooltip"></a>tooltip</b> (string) - <span class="red">GZDB only</span><br />
|
||||
Allows to specify a tooltip text displayed for a <a href="gc_thingsettings.html#argtooltip">Thing</a> or Linedef argument definition. Newline character ("\n") can be used to format the text.<br />
|
||||
Argument tooltips can be also set in <a href="gc_decoratekeys.html#argtooltip">DECORATE</a>.<br />
|
||||
<strong>Example:</strong> </p>
|
||||
<pre>arg1
|
||||
{
|
||||
title = "Mirror Polyobj Number";
|
||||
<span class="blue">tooltip = "Polyobject that will mirror\nthis one's movements.";</span>
|
||||
}</pre>
|
||||
<br />
|
||||
<b class="fat"><a name="argtype" id="argtype"></a>type</b> (integer)<br />
|
||||
Sets the type of this argument. This changes the behaviour of Argument inputs in <a href="w_linedefedit.html">Linedef</a> and <a href="w_thingedit.html">Thing Edit</a> windows.<br />
|
||||
Argument type can be also set in <a href="gc_decoratekeys.html#argtype">DECORATE</a>.<br />
|
||||
<strong>Supported values are:</strong><br />
|
||||
<br />
|
||||
<ul style="list-style-type:none">
|
||||
<li>0 = Integer (default)</li>
|
||||
<li>4 = Action special</li>
|
||||
<li>5 = Sector effect</li>
|
||||
<li>8 = Angle in degrees</li>
|
||||
<li>10 = XXRRGGBB color</li>
|
||||
<li>11 = Enum option</li>
|
||||
<li>12 = Enum bits</li>
|
||||
<li>13 = Sector tag</li>
|
||||
<li>14 = Thing tag</li>
|
||||
<li>15 = Linedef tag</li>
|
||||
<li>22 = Byte angle (<span class="red">GZDB only</span>)</li>
|
||||
<li>23 = Thing Radius (<span class="red">GZDB only</span>)</li>
|
||||
<li>24 = Thing Height (<span class="red">GZDB only</span>)</li>
|
||||
</ul>
|
||||
<p><b class="fat">targetclasses</b> (string) - <span class="red">GZDB only</span><br />
|
||||
When set, only things of given classes will be shown in the argument dropdown list. Used only when argument <strong>type</strong> is 14.<br />
|
||||
The value can be either a thing class name of a comma-separated list of thing class names:<br />
|
||||
<pre>
|
||||
arg0
|
||||
{
|
||||
title = "MapSpot Tag";
|
||||
type = 14;
|
||||
<span class="blue">targetclasses = "MapSpot,MapSpotGravity";</span>
|
||||
}
|
||||
</pre>
|
||||
<p><b class="fat">enum</b> (structure or string)<br />
|
||||
Provides a list of predefined values to display for this argument. Used only when argument <strong>type</strong> is 11 or 12.<br />
|
||||
The value can be either a name of a predefined enum:<br />
|
||||
<pre>
|
||||
arg0
|
||||
{
|
||||
title = "Volume";
|
||||
type = 11;
|
||||
<span class="blue">enum = "sound_volume";</span>
|
||||
}
|
||||
</pre>
|
||||
or an explicit definition:<br />
|
||||
<pre>
|
||||
arg0
|
||||
{
|
||||
title = "Apply to";
|
||||
type = 11;
|
||||
<span class="blue">enum
|
||||
{
|
||||
0 = "Floor and Ceiling";
|
||||
1 = "Ceiling";
|
||||
2 = "Floor";
|
||||
}</span>
|
||||
}
|
||||
</pre>
|
||||
Enums can be also set in <a href="gc_decoratekeys.html#argenum">DECORATE</a>.<br />
|
||||
<br />
|
||||
<b class="fat">default</b> (integer) - <span class="red">GZDB only</span><br />
|
||||
Sets the default value for a Thing or Linedef argument definition.<br />
|
||||
Default value can be also set in <a href="gc_decoratekeys.html#argdefault">DECORATE</a>.<br />
|
||||
<strong>Example:</strong>
|
||||
</p>
|
||||
<pre>9038
|
||||
{
|
||||
title = "ColorSetter";
|
||||
arg0
|
||||
{
|
||||
title = "Red";
|
||||
<span class="blue">default = 255;</span>
|
||||
}
|
||||
}</pre>
|
||||
</p>
|
||||
</div>
|
||||
</body>
|
||||
>>>>>>> dddb1bbf (Added, Game configurations: added "targetclasses" argument property. Can be used with argument type 14 (Thing Tag). When set, only things of given classes will be shown in the argument dropdown list in Edit Things window.)
|
||||
|
|
|
@ -78,66 +78,98 @@ skills
|
|||
5 = "Nightmare!";
|
||||
}
|
||||
</pre>
|
||||
<br />
|
||||
<b class="fat">linetagindicatesectors</b> (boolean)<br />
|
||||
When <b>true</b>, Doom Builder will highlight sectors associated with the same tag number when a line is highlighted. This is only really useful for Doom format maps, because Hexen format and UDMF format has no single tag on linedefs (in those formats, the arguments of the linedef's action can be tags, which also works to highlight sectors).<br />
|
||||
Default value is <b>false</b>.<br />
|
||||
<br />
|
||||
<b class="fat">singlesidedflag</b> (integer or string)<br />
|
||||
This lets Doom Builder know the <a href="gc_linedefflags.html">linedef flag</a> that indicates a line with only one side. Doom Builder will set this flag value on a linedef when it changes a line to become single sided and removes the flag from a linedef when it becomes double sided. Plugins can also use this information to perform operations on linedefs. For map formats that use numeric flags (Doom and Hexen) this must be an integer flag value. For map formats that use named flags (UDMF), this must be a string indicating the name of the flag.<br />
|
||||
<br />
|
||||
<b class="fat">doublesidedflag</b> (integer or string)<br />
|
||||
This lets Doom Builder know the <a href="gc_linedefflags.html">linedef flag</a> that indicates a line with two sides. Doom Builder will set this flag value on a linedef when it changes a line to become double sided and removes the flag from a linedef when it becomes single sided. Plugins can also use this information to perform operations on linedefs. For map formats that use numeric flags (Doom and Hexen) this must be an integer flag value. For map formats that use named flags (UDMF), this must be a string indicating the name of the flag.<br />
|
||||
<br />
|
||||
<b class="fat">impassableflag</b> (integer or string)<br />
|
||||
This lets Doom Builder know the <a href="gc_linedefflags.html">linedef flag</a> that indicates a line which blocks players and monsters. Doom Builder uses this to give the line a special color and plugins can use this information to perform operations related to blocking sound lines. For map formats that use numeric flags (Doom and Hexen) this must be an integer specifying the flag value of the Impassable flag. For map formats that use named flags (UDMF), this must be a string indicating the name of the Impassable flag.<br />
|
||||
<br />
|
||||
<b class="fat">defaultwalltexture</b> (string) - <span class="red">GZDB only</span>.<br />
|
||||
Name of a texture to use on sidedefs when creating a new sector.<br />
|
||||
<b>"STARTAN"</b>.<br />
|
||||
<br />
|
||||
<b class="fat">defaultfloortexture</b> (string) - <span class="red">GZDB only</span>.<br />
|
||||
Name of a flat to use on the floor when creating a new sector.<br />
|
||||
Default value is <b>"FLOOR0_1"</b>.<br />
|
||||
<br />
|
||||
<b class="fat">defaultceilingtexture</b> (string) - <span class="red">GZDB only</span>.<br />
|
||||
Name of a flat to use on the ceiling when creating a new sector.<br />
|
||||
Default value is <b>"CEIL1_1"</b>.<br />
|
||||
<br />
|
||||
<b class="fat">makedoortrack</b> (string)<br />
|
||||
Name of a texture to use on the walls when making a door.<br />
|
||||
Default value is <b>"-"</b> (no texture).<br />
|
||||
<br />
|
||||
<b class="fat">makedoordoor</b> (string) - <span class="red">GZDB only</span>.<br />
|
||||
Name of a texture to use as the door texture when making a door.<br />
|
||||
Default value is <b>"-"</b> (no texture).<br />
|
||||
<br />
|
||||
<b class="fat">makedoorceil</b> (string) - <span class="red">GZDB only</span>.<br />
|
||||
Name of a texture to use as the door's ceiling texture when making a door.<br />
|
||||
Default value is <b>"-"</b> (no texture).<br />
|
||||
<br />
|
||||
<b class="fat">makedooraction</b> (integer)<br />
|
||||
Linedef action number to put on the lines when making a door.<br />
|
||||
<br />
|
||||
<b class="fat">makedoorarg#</b> (0 .. 4) (integer)<br />
|
||||
Arguments for the linedef action number to put on the lines when making a door.<br />
|
||||
<br />
|
||||
<b class="fat">doomlightlevels</b> (boolean)<br />
|
||||
Set this to <b>false</b> to use linear lighting in Doom Builder. Normally Doom Builder uses a simulation of Doom's light levels.
|
||||
<br />Default value is <b>true</b>.<br />
|
||||
<br />
|
||||
<b class="fat">start3dmode</b> (integer)<br />
|
||||
Thing type number that Doom Builder will use to keep your Visual Mode camera position stored in the map. Doom Builder will place a single thing of this type in your map and move it along as you move in Visual Mode.<br />
|
||||
<br />
|
||||
<b class="fat">skyflatname</b> (string)<br />
|
||||
Name of the flat that is interpreted as sky (meaning there is no ceiling). Doom Builder and plugins can use this information for various purposes.
|
||||
<br />Default value is <b>"F_SKY1"</b>.<br />
|
||||
<br />
|
||||
<b class="fat">defaultskytextures</b> (structure) - <span class="red">GZDB only</span>.<br />
|
||||
Defines the relationship between map names and sky texture names used by vanilla maps.<br />
|
||||
<br />
|
||||
<strong>Example:</strong>
|
||||
<pre>
|
||||
<br />
|
||||
<b class="fat">damagetypes</b> (string) - <span class="red">GZDB only</span>.<br />
|
||||
Space-separated list of built-in damage types. This list is combined with DamageTypes parsed from DECORATE.<br />
|
||||
<br />
|
||||
<strong>Example:</strong>
|
||||
<pre>
|
||||
damagetypes = "None BFGSplash Drowning Slime";
|
||||
</pre>
|
||||
<br />
|
||||
<b class="fat">linetagindicatesectors</b> (boolean)<br />
|
||||
When <b>true</b>, Doom Builder will highlight sectors associated with the same tag number when a line is highlighted. This is only really useful for Doom format maps, because Hexen format and UDMF format has no single tag on linedefs (in those formats, the arguments of the linedef's action can be tags, which also works to highlight sectors).<br />
|
||||
Default value is <b>false</b>.<br />
|
||||
<br />
|
||||
<b class="fat">singlesidedflag</b> (integer or string)<br />
|
||||
This lets Doom Builder know the <a href="gc_linedefflags.html">linedef flag</a> that indicates a line with only one side. Doom Builder will set this flag value on a linedef when it changes a line to become single sided and removes the flag from a linedef when it becomes double sided. Plugins can also use this information to perform operations on linedefs. For map formats that use numeric flags (Doom and Hexen) this must be an integer flag value. For map formats that use named flags (UDMF), this must be a string indicating the name of the flag.<br />
|
||||
<br />
|
||||
<b class="fat">doublesidedflag</b> (integer or string)<br />
|
||||
This lets Doom Builder know the <a href="gc_linedefflags.html">linedef flag</a> that indicates a line with two sides. Doom Builder will set this flag value on a linedef when it changes a line to become double sided and removes the flag from a linedef when it becomes single sided. Plugins can also use this information to perform operations on linedefs. For map formats that use numeric flags (Doom and Hexen) this must be an integer flag value. For map formats that use named flags (UDMF), this must be a string indicating the name of the flag.<br />
|
||||
<br />
|
||||
<b class="fat">impassableflag</b> (integer or string)<br />
|
||||
This lets Doom Builder know the <a href="gc_linedefflags.html">linedef flag</a> that indicates a line which blocks players and monsters. Doom Builder uses this to give the line a special color and plugins can use this information to perform operations related to blocking sound lines. For map formats that use numeric flags (Doom and Hexen) this must be an integer specifying the flag value of the Impassable flag. For map formats that use named flags (UDMF), this must be a string indicating the name of the Impassable flag.<br />
|
||||
<br />
|
||||
<b class="fat">leftboundary</b> (integer)<br />
|
||||
Left map boundary.<br />
|
||||
Default value is <b>-32768</b>.<br />
|
||||
<br />
|
||||
<b class="fat">rightboundary</b> (integer)<br />
|
||||
Right map boundary.<br />
|
||||
Default value is <b>32767</b>.<br />
|
||||
<br />
|
||||
<b class="fat">topboundary</b> (integer)<br />
|
||||
Top map boundary.<br />
|
||||
Default value is <b>32767</b>.<br />
|
||||
<br />
|
||||
<b class="fat">bottomboundary</b> (integer)<br />
|
||||
Bottom map boundary.<br />
|
||||
Default value is <b>-32768</b>.<br />
|
||||
<br />
|
||||
<b class="fat">safeboundary</b> (integer) - <span class="red">GZDB only</span>.<br />
|
||||
Maximum map bounding box size considered to be safe by "Check map size" <a href="e_mapanalysis.html">error check</a>. Setting this to <b>0</b> disables the check.<br />
|
||||
Default value is <b>32767</b>.<br />
|
||||
<br />
|
||||
<b class="fat">defaultwalltexture</b> (string) - <span class="red">GZDB only</span>.<br />
|
||||
Name of a texture to use on sidedefs when creating a new sector.<br />
|
||||
Default value is <b>"STARTAN"</b>.<br />
|
||||
<br />
|
||||
<b class="fat">defaultfloortexture</b> (string) - <span class="red">GZDB only</span>.<br />
|
||||
Name of a flat to use on the floor when creating a new sector.<br />
|
||||
Default value is <b>"FLOOR0_1"</b>.<br />
|
||||
<br />
|
||||
<b class="fat">defaultceilingtexture</b> (string) - <span class="red">GZDB only</span>.<br />
|
||||
Name of a flat to use on the ceiling when creating a new sector.<br />
|
||||
Default value is <b>"CEIL1_1"</b>.<br />
|
||||
<br />
|
||||
<b class="fat">makedoortrack</b> (string)<br />
|
||||
Name of a texture to use on the walls when making a door.<br />
|
||||
Default value is <b>"-"</b> (no texture).<br />
|
||||
<br />
|
||||
<b class="fat">makedoordoor</b> (string) - <span class="red">GZDB only</span>.<br />
|
||||
Name of a texture to use as the door texture when making a door.<br />
|
||||
Default value is <b>"-"</b> (no texture).<br />
|
||||
<br />
|
||||
<b class="fat">makedoorceil</b> (string) - <span class="red">GZDB only</span>.<br />
|
||||
Name of a texture to use as the door's ceiling texture when making a door.<br />
|
||||
Default value is <b>"-"</b> (no texture).<br />
|
||||
<br />
|
||||
<b class="fat">makedooraction</b> (integer)<br />
|
||||
Linedef action number to put on the lines when making a door.<br />
|
||||
<br />
|
||||
<b class="fat">makedoorarg#</b> (0 .. 4) (integer)<br />
|
||||
Arguments for the linedef action number to put on the lines when making a door.<br />
|
||||
<br />
|
||||
<b class="fat">doomlightlevels</b> (boolean)<br />
|
||||
Set this to <b>false</b> to use linear lighting in Doom Builder. Normally Doom Builder uses a simulation of Doom's light levels.<br />
|
||||
Default value is <b>true</b>.<br />
|
||||
<br />
|
||||
<b class="fat">doomthingrotationangles</b> (boolean) - <span class="red">GZDB only</span>.<br />
|
||||
When set to <b>true</b>, editor actions related to changing thing angle will snap the resulting angle to 45 degree increments.<br />
|
||||
Default value is <b>false</b>.<br />
|
||||
<br />
|
||||
<b class="fat">start3dmode</b> (integer)<br />
|
||||
Thing type number that Doom Builder will use to keep your Visual Mode camera position stored in the map. Doom Builder will place a single thing of this type in your map and move it along as you move in Visual Mode.<br />
|
||||
<br />
|
||||
<b class="fat">skyflatname</b> (string)<br />
|
||||
Name of the flat that is interpreted as sky (meaning there is no ceiling). Doom Builder and plugins can use this information for various purposes. <br />
|
||||
Default value is <b>"F_SKY1"</b>.<br />
|
||||
<br />
|
||||
<b class="fat">defaultskytextures</b> (structure) - <span class="red">GZDB only</span>.<br />
|
||||
Defines the relationship between map names and sky texture names used by vanilla maps.<br />
|
||||
<br />
|
||||
<strong>Example:</strong>
|
||||
<pre>
|
||||
defaultskytextures
|
||||
{
|
||||
SKY1 = "MAP01,MAP02,MAP03,MAP04,MAP05";
|
||||
|
@ -145,10 +177,15 @@ defaultskytextures
|
|||
SKY3 = "MAP21,MAP22,MAP23,MAP24,MAP25";
|
||||
}
|
||||
</pre>
|
||||
<br />
|
||||
<b class="fat">longtexturenames</b> (boolean) - <span class="red">GZDB only</span>.<br />
|
||||
Enables support for long (> 8 chars) texture names. This is used by GZDoom Builder to limit the input fields in the user interface and to check the validity of texture names in resources. This setting should only be enabled for UDMF game configurations. Enabling this setting will make maps incompatible with Doom Builder 2 and can lead to problems in Slade 3 This does NOT determine the actual limitation on the texture names in the map file format.<br />Default value is <b>false</b>.<br />
|
||||
<br />
|
||||
<br />
|
||||
<b class="fat">longtexturenames</b> (boolean) - <span class="red">GZDB only</span>.<br />
|
||||
Enables support for long (> 8 chars) texture names. This is used by GZDoom Builder to limit the input fields in the user interface and to check the validity of texture names in resources. This setting should only be enabled for UDMF game configurations. Enabling this setting will make maps incompatible with Doom Builder 2 and can lead to problems in Slade 3 This does NOT determine the actual limitation on the texture names in the map file format.<br />
|
||||
Default value is <b>false</b>.<br />
|
||||
<br />
|
||||
<b class="fat">sidedefcompressionignoresaction</b> (boolean) - <span class="red">GZDB only</span>.<br />
|
||||
When set to true, sidedefs will be compressed regardless of linedef action or tag(s) (DB2 behaviour, can potentially cause problems when target source port doesn't decompress sidedefs).<br />
|
||||
When set to false, sidedefs, which belong to a line with an action or non-zero tag(s), will be skipped when compressing sidedefs.<br />
|
||||
Default value is <b>false</b>.<br />
|
||||
</p>
|
||||
</div>
|
||||
</body>
|
||||
|
|
|
@ -27,6 +27,9 @@
|
|||
<p><img src="synch_cam3.jpg" alt="" width="740" height="515" /></p>
|
||||
<p>If you leave Visual mode now, the map will be centered at Visual camera's location:</p>
|
||||
<p><img src="synch_cam4.jpg" alt="" width="736" height="512" /></p>
|
||||
<p>If you don't like this behaviour, you can disable it in the <a href="../../../w_preferences.html">Preferences window</a>.</p>
|
||||
<p>If you don't like this behaviour, disable "<b>Synchronize camera position between 2D and 3D modes</b>" <a href="../../../w_preferences.html">Preferences</a> option.</p>
|
||||
<h2>Additional keys:</h2>
|
||||
<p>Holding <b>Shift</b> while switching to/from Visual mode will also synchronize selected map elements.<br />
|
||||
Holding <b>Ctrl</b> while switching to/from Visual mode will temporarily disable camera synchronization (works only when "<b>Synchronize camera position between 2D and 3D modes</b>" <a href="../../../w_preferences.html">Preferences</a> option is enabled).</p>
|
||||
</div>
|
||||
</body>
|
||||
|
|
Before Width: | Height: | Size: 220 KiB After Width: | Height: | Size: 313 KiB |
|
@ -25,7 +25,9 @@ This mode lets you draw various curve shapes. <br>
|
|||
<b>Default key:</b> Ctrl-Alt-D.<br>
|
||||
<b>Additional actions:</b> Increase Subdivision Level, Decrease Subdivision Level.<br><br>
|
||||
You can activate this mode by pressing <strong>Ctrl-Alt-D</strong> (default key).<br>
|
||||
You can use the side panel or "<strong>Increase Subdivision Level</strong>" and "<strong>Decrease Subdivision Level</strong>" actions to control how detailed the curve is:
|
||||
Press "<strong>Continuous drawing</strong>" button on the mode panel to disable automatic switching to previous editing mode after finishing drawing.<br>
|
||||
Press "<strong>Auto-finish drawing</strong>" button on the mode panel to automatically finish drawing when currently drawn lines and already existing level geometry form a closed shape.<br>
|
||||
You can use the mode panel or "<strong>Increase Subdivision Level</strong>" and "<strong>Decrease Subdivision Level</strong>" actions to control how detailed the curve is:
|
||||
<br>
|
||||
<img src="draw_curve.jpg" /></div>
|
||||
</body>
|
||||
|
|
|
@ -21,14 +21,15 @@ This mode lets you draw various ellipsoid shapes.<br>
|
|||
<b>Menu path:</b> Mode -> Draw Ellipse.<br>
|
||||
<b>Action category:</b> Drawing.<br>
|
||||
<b>Default key:</b> Ctrl-Alt-D.<br>
|
||||
<b>Additional actions:</b> Increase Subdivision Level, Decrease Subdivision Level, Increase Corners Bevel, Decrease Corners Bevel.<br>
|
||||
<b>Additional actions:</b> Increase Subdivision Level, Decrease Subdivision Level, Increase Corners Bevel, Decrease Corners Bevel, Rotate Clockwise, Rotate Counterclockwise.<br>
|
||||
<br>
|
||||
You can activate this mode by pressing <strong>Alt-Shift-D</strong> (default key).<br>
|
||||
You can use the side panel or "<strong>Increase Subdivision Level</strong>" and "<strong>Decrease Subdivision Level</strong>" actions to control the number of sides ellipse has:
|
||||
<br>
|
||||
Press "<strong>Continuous drawing</strong>" button on the mode panel to disable automatic switching to previous editing mode after finishing drawing.<br>
|
||||
You can use the mode panel or "<strong>Rotate Clockwise</strong>" and "<strong>Rotate Counterclockwise</strong>" actions to rotate the shape.<br>
|
||||
You can use the mode panel or "<strong>Increase Subdivision Level</strong>" and "<strong>Decrease Subdivision Level</strong>" actions to control the number of sides ellipse has.<br>
|
||||
<img src="draw_ellipse1.jpg" />
|
||||
<br>
|
||||
You can use side panel or "<strong>Increase Corners Bevel</strong>" and "<strong>Decrease Corners Bevel</strong>" actions to bevel the ellipse: <br>
|
||||
You can use mode panel or "<strong>Increase Corners Bevel</strong>" and "<strong>Decrease Corners Bevel</strong>" actions to bevel the ellipse: <br>
|
||||
<img src="draw_ellipse2.jpg" />
|
||||
<br>
|
||||
When using "<strong>Increase/Decrease Corners Bevel</strong>" actions, the bevel increment is based on the current grid size.</p>
|
||||
|
|
|
@ -24,8 +24,9 @@
|
|||
<b>Default key:</b> none.<br />
|
||||
<b>Additional actions:</b> Increase Subdivision Level, Decrease Subdivision Level, Increase Corners Bevel, Decrease Corners Bevel.</p>
|
||||
<p>You can use the side panel or "<strong>Increase/Decrease Subdivision Level</strong>" and "<strong>Increase/Decrease Corners Bevel</strong>" actions to change the number of horizontal and vertical slices.<br />
|
||||
Check "<strong>Lock slices to grid</strong>" to match slices number to current grid size.<br />
|
||||
Check "<strong>Triangulate</strong>" if you want to create triangles instead of quads:</p>
|
||||
Change "<strong>Lock slices to grid</strong>" setting to match slices number to current grid size horizontally, vertically or in both directions.<br />
|
||||
Check "<strong>Triangulate</strong>" if you want to create triangles instead of quads.<br />
|
||||
Check "<strong>Continuous drawing</strong>" to disable automatic switching to previous editing mode after finishing drawing.</p>
|
||||
<p><img src="draw_grid_tri.jpg" alt="" /></p>
|
||||
</div>
|
||||
</body>
|
||||
|
|
|
@ -21,9 +21,11 @@ This mode lets you draw various rectangle shapes.<br>
|
|||
<b>Menu path:</b> Mode -> Draw Rectangle.<br />
|
||||
<b>Action category:</b> Drawing.<br>
|
||||
<b>Default key:</b> Ctrl-Shift-D.<br>
|
||||
<b>Additional actions:</b> Increase Subdivision Level, Decrease Subdivision Level, Increase Corners Bevel, Decrease Corners Bevel.<br><br>
|
||||
<b>Additional actions:</b> Increase Subdivision Level, Decrease Subdivision Level, Increase Corners Bevel, Decrease Corners Bevel.<br>
|
||||
<br>
|
||||
You can activate this mode by pressing <strong>Ctrl-Shift-D</strong> (default key).<br>
|
||||
You can use the side panel or "<strong>Increase/Decrease Subdivision Level</strong>" and "<strong>Increase/Decrease Corners Bevel</strong>" actions to change corner bevel amount and detail level:
|
||||
Press "<strong>Continuous drawing</strong>" button on the mode panel to disable automatic switching to previous editing mode after finishing drawing.<br>
|
||||
You can use the mode panel or "<strong>Increase/Decrease Subdivision Level</strong>" and "<strong>Increase/Decrease Corners Bevel</strong>" actions to change corner bevel amount and detail level:
|
||||
<br>
|
||||
<img src="draw_rectangle1.jpg" />
|
||||
<br>
|
||||
|
|
|
@ -23,7 +23,8 @@
|
|||
<br>
|
||||
<b>Action category:</b> Modes.<br>
|
||||
<b>Default key:</b> none.<br><br>
|
||||
This mode shows the sound environments in ZDoom maps (both Hexen format and UDMF). The gray areas do not belong to a sound environment.<br><br>
|
||||
This mode shows the sound environments in ZDoom UDMF maps. The gray areas do not belong to a sound environment.<br>
|
||||
<br>
|
||||
|
||||
The mode also supplies a docker that supplies information about the sound environments. It will display the sound environments, the SoundEnvironment things belonging to them and also the lines that are limit the sound environments. Clicking on the sound environments, things or lines in the list will center the map view on those objects.
|
||||
<br><br>
|
||||
|
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.8 KiB |
|
@ -19,16 +19,16 @@
|
|||
|
||||
<div id="contents">
|
||||
<img src="menu_renderingtoolbar.jpg" />
|
||||
<p>The Rendering toolbar allows you to toggle several GZDoom Builder's features:</p>
|
||||
<p>The <strong>Rendering toolbar</strong> allows you to toggle several enhanced rendering features:</p>
|
||||
<ol>
|
||||
<li>Toggles models, dynamic lights and fog rendering in Visual mode.</li>
|
||||
<li>Toggles between available dynamic lights rendering modes in Visual mode.</li>
|
||||
<li>Toggles between available model rendering modes.</li>
|
||||
<li>Toggles fog rendering in Visual mode.</li>
|
||||
<li>Allows to select dynamic lights rendering mode used in <a href="../../../e_visual.html">Visual mode</a>.</li>
|
||||
<li>Allows to select model rendering mode.</li>
|
||||
<li>Toggles fog rendering in <a href="../../../e_visual.html">Visual mode</a>.</li>
|
||||
<li>Toggles sky rendering in <a href="../../../e_visual.html">Visual mode</a>.</li>
|
||||
<li>Toggles <a href="../all_modes/event_lines.html">Event lines</a>.</li>
|
||||
<li>Toggles <a href="../visual_mode/visual_verts.html">Visual vertices</a> in Visual mode (UDMF only).</li>
|
||||
<li>Toggles <a href="../visual_mode/visual_verts.html">Visual vertices</a> in <a href="../../../e_visual.html">Visual mode</a> (UDMF only).</li>
|
||||
</ol>
|
||||
<p>Most of these settings can also be toggled using actions from "<strong>Rendering</strong>" category.<br />
|
||||
You can toggle currently enabled rendering effects using "<strong>Toggle GZDoom effects</strong>" action.</p>
|
||||
<p>Most of these settings can also be toggled using actions found in "<strong>Rendering</strong>" category or appropriate <strong>View menu</strong> items.<br />
|
||||
You can toggle rendering effects using "<strong>Toggle Enhanced Effects</strong>" action.</p>
|
||||
</div>
|
||||
</body>
|
||||
|
|
|
@ -22,7 +22,11 @@
|
|||
</div>
|
||||
|
||||
<div id="contents">
|
||||
<p>GZDoom Builder will automatically load data from the following lumps if they are present in the map's resources.</p>
|
||||
<p>GZDoom Builder will automatically load data from the following lumps if they are present in the map's resources:</p>
|
||||
<h2>DECORATE:</h2>
|
||||
Actor definitions are loaded and used to poulate Things list. Extra parameters can be assigned using <a href="../gc_decoratekeys.html">special comments</a>.<br />
|
||||
DamageTypes are loaded and used in the "Damage Type" drop-down of the Edit Sector window (UDMF only).
|
||||
|
||||
<a name="textures" id="textures"></a><h2>TEXTURES:</h2>
|
||||
You can use "<strong>//$GZDB_SKIP</strong>" special comment to abort parsing of the current file. Useful if you don't want textures from certain files or parts of files to show up in the <a href="w_imagesbrowser.html">Image Browser</a> or want to increase resource loading speed.<br /><br />
|
||||
GZDoom Builder adds support for the following TEXTURES parameters:
|
||||
|
@ -53,6 +57,15 @@
|
|||
|
||||
<h2>SNDSEQ:</h2>
|
||||
Sound Sequence and Sound Sequence Group definitions are loaded and can be selected in the "Sound sequence" drop-down of the Edit Sector window (UDMF only).
|
||||
|
||||
<h2>TERRAIN:</h2>
|
||||
Terrain names are loaded and used in the floor and ceiling "Terrain" drop-downs of the Edit Sector window (UDMF only).
|
||||
|
||||
<h2>X11R6RGB:</h2>
|
||||
Colors are loaded and used by other text parsers where appropriate.
|
||||
|
||||
<h2>CVARINFO:</h2>
|
||||
CVARs are loaded. Currently the editor uses them only for "DistanceCheck" DECORATE property support.
|
||||
|
||||
<a name="modeldef" id="modeldef"></a>
|
||||
<h2>MODELDEF:</h2>
|
||||
|
|
|
@ -133,15 +133,19 @@ namespace CodeImp.DoomBuilder.Actions
|
|||
int button = key & ~((int)Keys.Control | (int)Keys.Shift | (int)Keys.Alt);
|
||||
|
||||
// When the button is a control key, then remove the control itsself
|
||||
if((button == (int)Keys.ControlKey) ||
|
||||
(button == (int)Keys.ShiftKey))
|
||||
if((button == (int)Keys.ControlKey) || (button == (int)Keys.ShiftKey) || (button == (int)Keys.Alt))
|
||||
{
|
||||
ctrl = 0;
|
||||
key = key & ~((int)Keys.Control | (int)Keys.Shift | (int)Keys.Alt);
|
||||
}
|
||||
|
||||
// Determine control prefix
|
||||
if(ctrl != 0) ctrlprefix = conv.ConvertToString(key);
|
||||
//mxd. Determine control prefix
|
||||
if(ctrl != 0)
|
||||
{
|
||||
if((key & (int)Keys.Control) != 0) ctrlprefix += "Ctrl+";
|
||||
if((key & (int)Keys.Alt) != 0) ctrlprefix += "Alt+";
|
||||
if((key & (int)Keys.Shift) != 0) ctrlprefix += "Shift+";
|
||||
}
|
||||
|
||||
// Check if button is special
|
||||
switch(button)
|
||||
|
|
|
@ -172,7 +172,6 @@ namespace CodeImp.DoomBuilder.Actions
|
|||
|
||||
// Done with the resource
|
||||
actionsreader.Dispose();
|
||||
actionsdata.Dispose();
|
||||
break; //mxd. Usually we have a single "Actions.cfg", right?
|
||||
}
|
||||
}
|
||||
|
|
|
@ -63,12 +63,11 @@ namespace CodeImp.DoomBuilder.Actions
|
|||
List<string> lines = new List<string>(2);
|
||||
|
||||
// Get a stream from the resource
|
||||
using(Stream data = asm.GetManifestResourceStream(rn))
|
||||
Stream data = asm.GetManifestResourceStream(rn);
|
||||
if(data == null) return;
|
||||
using(StreamReader reader = new StreamReader(data, Encoding.ASCII))
|
||||
{
|
||||
using(StreamReader reader = new StreamReader(data, Encoding.ASCII))
|
||||
{
|
||||
while(!reader.EndOfStream) lines.Add(reader.ReadLine());
|
||||
}
|
||||
while(!reader.EndOfStream) lines.Add(reader.ReadLine());
|
||||
}
|
||||
|
||||
Dictionary<string, List<string>> group = new Dictionary<string, List<string>>(StringComparer.Ordinal);
|
||||
|
@ -119,7 +118,7 @@ namespace CodeImp.DoomBuilder.Actions
|
|||
|
||||
//add the last class
|
||||
hints.Add(asmname + classname, ProcessHints(group));
|
||||
break;
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -73,7 +73,7 @@
|
|||
<PlatformTarget>x86</PlatformTarget>
|
||||
<UseVSHostingProcess>false</UseVSHostingProcess>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<DefineConstants>TRACE;PROFILE</DefineConstants>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
|
@ -550,11 +550,13 @@
|
|||
<Compile Include="Rendering\WorldVertex.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="JetBrains.Profiler.Core.Api, Version=1.3.1661.20096, Culture=neutral, PublicKeyToken=1010a0d8d6380325" Condition=" '$(Configuration)|$(Platform)' == 'Debug + Profiler|x86' Or '$(Configuration)|$(Platform)' == 'Release + Profiler|x86' " />
|
||||
<Reference Include="ScintillaNET.3.5, Version=3.5.6.0, Culture=neutral, processorArchitecture=x86">
|
||||
<Reference Include="JetBrains.Profiler.Core.Api, Version=1.3.1661.20096, Culture=neutral, PublicKeyToken=1010a0d8d6380325" Condition=" '$(Configuration)|$(Platform)' == 'Debug + Profiler|x86' Or '$(Configuration)|$(Platform)' == 'Release + Profiler|x86' ">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
</Reference>
|
||||
<Reference Include="ScintillaNET.3.5, Version=3.5.8.0, Culture=neutral, processorArchitecture=x86">
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="SharpCompress.3.5, Version=0.11.2.0, Culture=neutral, processorArchitecture=x86">
|
||||
<Reference Include="SharpCompress.3.5, Version=0.11.5.0, Culture=neutral, processorArchitecture=x86">
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="SlimDX, Version=2.0.13.43, Culture=neutral, PublicKeyToken=b1b0c32fd1ffe4f9, processorArchitecture=x86" />
|
||||
|
@ -712,7 +714,7 @@
|
|||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Resources\Actions.cfg" />
|
||||
<EmbeddedResource Include="Resources\display2d.fx" />
|
||||
<EmbeddedResource Include="Resources\Thing2D.png" />
|
||||
<EmbeddedResource Include="Resources\ThingTexture2D.png" />
|
||||
<EmbeddedResource Include="Resources\things2d.fx" />
|
||||
<EmbeddedResource Include="Resources\world3d.fx" />
|
||||
</ItemGroup>
|
||||
|
@ -758,6 +760,9 @@
|
|||
<Compile Include="Controls\ArgumentsControl.Designer.cs">
|
||||
<DependentUpon>ArgumentsControl.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Controls\BufferedTreeView.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Controls\ButtonsNumericTextboxDesigner.cs" />
|
||||
<Compile Include="Controls\CollapsibleSplitContainer.cs">
|
||||
<SubType>Component</SubType>
|
||||
|
@ -838,6 +843,9 @@
|
|||
<Compile Include="Controls\ToolStripNumericUpDown.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Controls\TransparentListView.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Controls\TransparentPanel.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
|
@ -917,6 +925,8 @@
|
|||
<Compile Include="GZBuilder\Rendering\SizelessVisualThingCage.cs" />
|
||||
<Compile Include="GZBuilder\Rendering\ThingBoundingBox.cs" />
|
||||
<Compile Include="GZBuilder\Data\ThingCopyData.cs" />
|
||||
<Compile Include="Map\MergeGeometryMode.cs" />
|
||||
<Compile Include="Map\SectorBuilder.cs" />
|
||||
<Compile Include="GZBuilder\Rendering\VisualVertexHandle.cs" />
|
||||
<Compile Include="GZBuilder\Geometry\Line3D.cs" />
|
||||
<Compile Include="GZBuilder\GZDoom\DecorateParserSE.cs" />
|
||||
|
@ -950,6 +960,7 @@
|
|||
<Compile Include="Map\MapElementCollection.cs" />
|
||||
<Compile Include="Map\SplitLineBehavior.cs" />
|
||||
<Compile Include="Rendering\CommentType.cs" />
|
||||
<Compile Include="Rendering\CustomTextLabel.cs" />
|
||||
<Compile Include="Rendering\SurfaceBufferSet.cs" />
|
||||
<Compile Include="Rendering\SurfaceEntry.cs" />
|
||||
<Compile Include="Rendering\SurfaceEntryCollection.cs" />
|
||||
|
@ -1140,10 +1151,16 @@
|
|||
<None Include="Resources\About.png" />
|
||||
<None Include="Resources\Configuration.png" />
|
||||
<EmbeddedResource Include="Resources\Black.png" />
|
||||
<None Include="Resources\Angle1.png" />
|
||||
<None Include="Resources\Angle2.png" />
|
||||
<None Include="Resources\Angle3.png" />
|
||||
<None Include="Resources\Angle4.png" />
|
||||
<None Include="Resources\Angle5.png" />
|
||||
<None Include="Resources\Angle6.png" />
|
||||
<None Include="Resources\Angle7.png" />
|
||||
<Content Include="Resources\DB2.ico" />
|
||||
<None Include="Resources\GZDB2.ico" />
|
||||
<None Include="Resources\fog.png" />
|
||||
<None Include="Resources\fx.png" />
|
||||
<None Include="Resources\GZDB_Logo_small.png" />
|
||||
<None Include="Resources\InfoLine.png" />
|
||||
<None Include="Resources\Keyboard.png" />
|
||||
|
@ -1173,10 +1190,14 @@
|
|||
<None Include="Resources\MixedThings.png" />
|
||||
<None Include="Resources\LinedefColorPresets.png" />
|
||||
<EmbeddedResource Include="Resources\MissingSky3D.png" />
|
||||
<None Include="Resources\MergeGeo.png" />
|
||||
<None Include="Resources\MergeGeoClassic.png" />
|
||||
<None Include="Resources\MergeGeoRemoveLines.png" />
|
||||
<Content Include="Resources\Model.png" />
|
||||
<None Include="Resources\ModelDisabled.png" />
|
||||
<None Include="Resources\ModelFiltered.png" />
|
||||
<Content Include="Resources\Model_selected.png" />
|
||||
<None Include="Resources\SplitSectors.png" />
|
||||
<None Include="Resources\ScriptProperty.png" />
|
||||
<None Include="Resources\TextWhitespace.png" />
|
||||
<None Include="Resources\TextIndent.png" />
|
||||
|
@ -1368,9 +1389,7 @@
|
|||
<SubType>Designer</SubType>
|
||||
<DependentUpon>ThingsFiltersForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Resources\Font.png" />
|
||||
<EmbeddedResource Include="Resources\White.png" />
|
||||
<EmbeddedResource Include="Resources\Font.cfg" />
|
||||
<EmbeddedResource Include="Windows\UpdateForm.resx">
|
||||
<DependentUpon>UpdateForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
|
|
|
@ -100,7 +100,7 @@ namespace CodeImp.DoomBuilder.Compilers
|
|||
if(!isdisposed)
|
||||
{
|
||||
Exception deleteerror;
|
||||
float starttime = Clock.CurrentTime;
|
||||
long starttime = Clock.CurrentTime;
|
||||
|
||||
do
|
||||
{
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
|
||||
#region ================== Namespaces
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using CodeImp.DoomBuilder.Data;
|
||||
|
||||
|
@ -27,22 +28,22 @@ namespace CodeImp.DoomBuilder.Config
|
|||
{
|
||||
#region ================== Constants
|
||||
|
||||
public const string NAME = "All";
|
||||
private const string NAME = "All";
|
||||
|
||||
#endregion
|
||||
|
||||
#region ================== Variables
|
||||
|
||||
// Matching textures and flats
|
||||
private List<ImageData> textures;
|
||||
private List<ImageData> flats;
|
||||
private Dictionary<string, ImageData> textures;
|
||||
private Dictionary<string, ImageData> flats;
|
||||
|
||||
#endregion
|
||||
|
||||
#region ================== Properties
|
||||
|
||||
public ICollection<ImageData> Textures { get { return textures; } }
|
||||
public ICollection<ImageData> Flats { get { return flats; } }
|
||||
public ICollection<ImageData> Textures { get { return textures.Values; } }
|
||||
public ICollection<ImageData> Flats { get { return flats.Values; } }
|
||||
|
||||
#endregion
|
||||
|
||||
|
@ -52,8 +53,8 @@ namespace CodeImp.DoomBuilder.Config
|
|||
public AllTextureSet()
|
||||
{
|
||||
this.name = NAME;
|
||||
this.textures = new List<ImageData>();
|
||||
this.flats = new List<ImageData>();
|
||||
this.textures = new Dictionary<string, ImageData>(StringComparer.Ordinal);
|
||||
this.flats = new Dictionary<string, ImageData>(StringComparer.Ordinal);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
@ -62,12 +63,15 @@ namespace CodeImp.DoomBuilder.Config
|
|||
|
||||
internal void AddTexture(ImageData image)
|
||||
{
|
||||
textures.Add(image);
|
||||
//mxd. Use short name when adding a texture with "classic" name to override same-named textures
|
||||
// with textures loaded from directory/pk3 containters
|
||||
textures[image.DisplayName.Length > 8 ? image.Name : image.ShortName] = image;
|
||||
}
|
||||
|
||||
internal void AddFlat(ImageData image)
|
||||
{
|
||||
flats.Add(image);
|
||||
//mxd. Same with flats
|
||||
flats[image.DisplayName.Length > 8 ? image.Name : image.ShortName] = image;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
|
||||
#region ================== Namespaces
|
||||
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
|
@ -40,6 +41,7 @@ namespace CodeImp.DoomBuilder.Config
|
|||
private readonly int type;
|
||||
private EnumList enumlist;
|
||||
private readonly object defaultvalue; //mxd
|
||||
private readonly HashSet<string> targetclasses; //mxd
|
||||
|
||||
#endregion
|
||||
|
||||
|
@ -49,6 +51,7 @@ namespace CodeImp.DoomBuilder.Config
|
|||
public string ToolTip { get { return tooltip; } } //mxd
|
||||
public bool Used { get { return used; } }
|
||||
public int Type { get { return type; } }
|
||||
public HashSet<string> TargetClasses { get { return targetclasses; } } //mxd
|
||||
public EnumList Enum { get { return enumlist; } internal set { enumlist = value; } }
|
||||
public object DefaultValue { get { return defaultvalue; } } //mxd
|
||||
|
||||
|
@ -67,6 +70,18 @@ namespace CodeImp.DoomBuilder.Config
|
|||
this.type = cfg.ReadSetting(argspath + ".arg" + istr + ".type", 0);
|
||||
this.defaultvalue = cfg.ReadSetting(argspath + ".arg" + istr + ".default", 0); //mxd
|
||||
|
||||
//mxd. Check for TargetClass?
|
||||
this.targetclasses = new HashSet<string>(StringComparer.InvariantCultureIgnoreCase);
|
||||
if(this.type == (int)UniversalType.ThingTag)
|
||||
{
|
||||
string s = cfg.ReadSetting(argspath + ".arg" + istr + ".targetclasses", string.Empty);
|
||||
if(!string.IsNullOrEmpty(s))
|
||||
{
|
||||
foreach(string tclass in s.Split(new[] {','}, StringSplitOptions.RemoveEmptyEntries))
|
||||
targetclasses.Add(tclass.Trim());
|
||||
}
|
||||
}
|
||||
|
||||
// Determine enum type
|
||||
IDictionary argdic = cfg.ReadSetting(argspath + ".arg" + istr, new Hashtable());
|
||||
if(argdic.Contains("enum"))
|
||||
|
@ -75,7 +90,7 @@ namespace CodeImp.DoomBuilder.Config
|
|||
if(argdic["enum"] is IDictionary)
|
||||
{
|
||||
// Create anonymous enum
|
||||
this.enumlist = new EnumList(argdic["enum"] as IDictionary);
|
||||
this.enumlist = new EnumList((IDictionary)argdic["enum"]);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -23,7 +23,6 @@ using System.Globalization;
|
|||
using CodeImp.DoomBuilder.IO;
|
||||
using CodeImp.DoomBuilder.Map;
|
||||
using CodeImp.DoomBuilder.Editing;
|
||||
|
||||
using CodeImp.DoomBuilder.GZBuilder.Data;
|
||||
using CodeImp.DoomBuilder.Data;
|
||||
|
||||
|
@ -86,9 +85,12 @@ namespace CodeImp.DoomBuilder.Config
|
|||
private readonly int rightboundary;
|
||||
private readonly int topboundary;
|
||||
private readonly int bottomboundary;
|
||||
private readonly int safeboundary; //mxd
|
||||
private readonly bool doomlightlevels;
|
||||
private readonly bool doomthingrotationangles; //mxd
|
||||
private readonly string actionspecialhelp; //mxd
|
||||
private readonly string thingclasshelp; //mxd
|
||||
private readonly bool sidedefcompressionignoresaction; //mxd
|
||||
|
||||
// Skills
|
||||
private readonly List<SkillInfo> skills;
|
||||
|
@ -212,9 +214,12 @@ namespace CodeImp.DoomBuilder.Config
|
|||
public int RightBoundary { get { return rightboundary; } }
|
||||
public int TopBoundary { get { return topboundary; } }
|
||||
public int BottomBoundary { get { return bottomboundary; } }
|
||||
public int SafeBoundary { get { return safeboundary; } } //mxd
|
||||
public bool DoomLightLevels { get { return doomlightlevels; } }
|
||||
public bool DoomThingRotationAngles { get { return doomthingrotationangles; } } //mxd. When set to true, thing rotation angles will be clamped to the nearest 45 deg increment
|
||||
public string ActionSpecialHelp { get { return actionspecialhelp; } } //mxd
|
||||
public string ThingClassHelp { get { return thingclasshelp; } } //mxd
|
||||
internal bool SidedefCompressionIgnoresAction { get { return sidedefcompressionignoresaction; } } //mxd
|
||||
|
||||
// Skills
|
||||
public List<SkillInfo> Skills { get { return skills; } }
|
||||
|
@ -369,9 +374,12 @@ namespace CodeImp.DoomBuilder.Config
|
|||
rightboundary = cfg.ReadSetting("rightboundary", 32767);
|
||||
topboundary = cfg.ReadSetting("topboundary", 32767);
|
||||
bottomboundary = cfg.ReadSetting("bottomboundary", -32768);
|
||||
safeboundary = cfg.ReadSetting("safeboundary", 32767); //mxd
|
||||
doomlightlevels = cfg.ReadSetting("doomlightlevels", true);
|
||||
doomthingrotationangles = cfg.ReadSetting("doomthingrotationangles", false); //mxd
|
||||
actionspecialhelp = cfg.ReadSetting("actionspecialhelp", string.Empty); //mxd
|
||||
thingclasshelp = cfg.ReadSetting("thingclasshelp", string.Empty); //mxd
|
||||
sidedefcompressionignoresaction = cfg.ReadSetting("sidedefcompressionignoresaction", false); //mxd
|
||||
defaultLinedefActivation = cfg.ReadSetting("defaultlinedefactivation", ""); //mxd
|
||||
for(int i = 0; i < Linedef.NUM_ARGS; i++) makedoorargs[i] = cfg.ReadSetting("makedoorarg" + i.ToString(CultureInfo.InvariantCulture), 0);
|
||||
|
||||
|
@ -734,7 +742,7 @@ namespace CodeImp.DoomBuilder.Config
|
|||
IDictionary dic = cfg.ReadSetting("sectortypes", new Hashtable());
|
||||
foreach(DictionaryEntry de in dic)
|
||||
{
|
||||
// Try paring the action number
|
||||
// Try parsing the action number
|
||||
int actionnumber;
|
||||
if(int.TryParse(de.Key.ToString(),
|
||||
NumberStyles.AllowLeadingWhite | NumberStyles.AllowTrailingWhite,
|
||||
|
@ -790,10 +798,11 @@ namespace CodeImp.DoomBuilder.Config
|
|||
foreach(DictionaryEntry de in dic)
|
||||
{
|
||||
// Check for valid structure
|
||||
if(de.Value is IDictionary)
|
||||
IDictionary value = de.Value as IDictionary;
|
||||
if(value != null)
|
||||
{
|
||||
// Add option
|
||||
geneffectoptions.Add(new GeneralizedOption("gen_sectortypes", "", de.Key.ToString(), de.Value as IDictionary));
|
||||
geneffectoptions.Add(new GeneralizedOption("gen_sectortypes", "", de.Key.ToString(), value));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -1046,7 +1055,8 @@ namespace CodeImp.DoomBuilder.Config
|
|||
}
|
||||
|
||||
// This checks if an action is generalized or predefined
|
||||
public static bool IsGeneralized(int action, List<GeneralizedCategory> categories)
|
||||
public static bool IsGeneralized(int action) { return IsGeneralized(action, General.Map.Config.GenActionCategories); }
|
||||
public static bool IsGeneralized(int action, IEnumerable<GeneralizedCategory> categories)
|
||||
{
|
||||
// Only actions above 0
|
||||
if(action > 0)
|
||||
|
@ -1082,41 +1092,90 @@ namespace CodeImp.DoomBuilder.Config
|
|||
}
|
||||
|
||||
//mxd
|
||||
public static bool IsGeneralizedSectorEffect(int effect, IEnumerable<GeneralizedOption> options)
|
||||
public static bool IsGeneralizedSectorEffect(int effect) { return IsGeneralizedSectorEffect(effect, General.Map.Config.GenEffectOptions); }
|
||||
public static bool IsGeneralizedSectorEffect(int effect, List<GeneralizedOption> options)
|
||||
{
|
||||
if(effect == 0) return false;
|
||||
foreach(GeneralizedOption option in options)
|
||||
|
||||
int cureffect = effect;
|
||||
for(int i = options.Count - 1; i > -1; i--)
|
||||
{
|
||||
foreach(GeneralizedBit bit in option.Bits)
|
||||
for(int j = options[i].Bits.Count - 1; j > -1; j--)
|
||||
{
|
||||
if(bit.Index > 0 && (effect & bit.Index) == bit.Index) return true;
|
||||
GeneralizedBit bit = options[i].Bits[j];
|
||||
if(bit.Index > cureffect) continue;
|
||||
if(bit.Index > 0 && (cureffect & bit.Index) == bit.Index) return true;
|
||||
cureffect -= bit.Index;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
//mxd
|
||||
public static HashSet<int> GetGeneralizedSectorEffectBits(int effect) { return GetGeneralizedSectorEffectBits(effect, General.Map.Config.GenEffectOptions); }
|
||||
public static HashSet<int> GetGeneralizedSectorEffectBits(int effect, List<GeneralizedOption> options)
|
||||
{
|
||||
HashSet<int> result = new HashSet<int>();
|
||||
if(effect > 0)
|
||||
{
|
||||
int cureffect = effect;
|
||||
for(int i = options.Count - 1; i > -1; i--)
|
||||
{
|
||||
for(int j = options[i].Bits.Count - 1; j > -1; j--)
|
||||
{
|
||||
GeneralizedBit bit = options[i].Bits[j];
|
||||
if(bit.Index > 0 && (cureffect & bit.Index) == bit.Index)
|
||||
{
|
||||
cureffect -= bit.Index;
|
||||
result.Add(bit.Index);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(cureffect > 0) result.Add(cureffect);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
//mxd
|
||||
public string GetGeneralizedSectorEffectName(int effect)
|
||||
{
|
||||
if(effect == 0) return "None";
|
||||
string title = "Unknown";
|
||||
string title = "Unknown generalized effect";
|
||||
int matches = 0;
|
||||
|
||||
foreach(GeneralizedOption option in geneffectoptions)
|
||||
int nongeneralizedeffect = effect;
|
||||
|
||||
// Check all options, in bigger to smaller order
|
||||
for(int i = geneffectoptions.Count - 1; i > -1; i--)
|
||||
{
|
||||
foreach(GeneralizedBit bit in option.Bits)
|
||||
for(int j = geneffectoptions[i].Bits.Count - 1; j > -1; j--)
|
||||
{
|
||||
if(bit.Index > 0 && (effect & bit.Index) == bit.Index)
|
||||
GeneralizedBit bit = geneffectoptions[i].Bits[j];
|
||||
if(bit.Index > 0 && (effect & bit.Index) == bit.Index)
|
||||
{
|
||||
title = option.Name + ": " + bit.Title;
|
||||
title = geneffectoptions[i].Name + ": " + bit.Title;
|
||||
nongeneralizedeffect -= bit.Index;
|
||||
matches++;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return (matches > 1 ? "Generalized (" + matches + " effects)" : title);
|
||||
// Make generalized effect title
|
||||
string gentitle = (matches > 1 ? "Generalized (" + matches + " effects)" : title);
|
||||
|
||||
// Generalized effect only
|
||||
if(nongeneralizedeffect <= 0) return gentitle;
|
||||
|
||||
// Classic and generalized effects
|
||||
if(General.Map.Config.SectorEffects.ContainsKey(nongeneralizedeffect))
|
||||
return General.Map.Config.SectorEffects[nongeneralizedeffect].Title + " + " + gentitle;
|
||||
|
||||
if(matches > 0) return "Unknown effect + " + gentitle;
|
||||
return "Unknown effect";
|
||||
}
|
||||
|
||||
// This checks if a specific edit mode class is listed
|
||||
|
|
|
@ -55,13 +55,29 @@ namespace CodeImp.DoomBuilder.Config
|
|||
foreach(DictionaryEntry de in opts)
|
||||
{
|
||||
// Is this an option and not just some value?
|
||||
if(de.Value is IDictionary)
|
||||
IDictionary value = de.Value as IDictionary;
|
||||
if(value != null)
|
||||
{
|
||||
// Add the option
|
||||
this.options.Add(new GeneralizedOption(structure, name, de.Key.ToString(), (IDictionary)de.Value));
|
||||
this.options.Add(new GeneralizedOption(structure, name, de.Key.ToString(), value));
|
||||
}
|
||||
}
|
||||
|
||||
//mxd. Sort by bits step
|
||||
if(this.options.Count > 1)
|
||||
{
|
||||
this.options.Sort(delegate(GeneralizedOption o1, GeneralizedOption o2)
|
||||
{
|
||||
if(o1.BitsStep > o2.BitsStep) return 1;
|
||||
if(o1.BitsStep == o2.BitsStep)
|
||||
{
|
||||
if(o1 != o2) General.ErrorLogger.Add(ErrorType.Error, "\"" + o1.Name + "\" and \"" + o2.Name + "\" generalized categories have the same bit step (" + o1.BitsStep + ")!");
|
||||
return 0;
|
||||
}
|
||||
return -1;
|
||||
});
|
||||
}
|
||||
|
||||
// We have no destructor
|
||||
GC.SuppressFinalize(this);
|
||||
}
|
||||
|
|
|
@ -39,6 +39,8 @@ namespace CodeImp.DoomBuilder.Config
|
|||
// Properties
|
||||
private string name;
|
||||
private List<GeneralizedBit> bits;
|
||||
private int bitstep; //mxd
|
||||
public int BitsStep { get { return bitstep; } } // mxd. Each subsequent value is incremented by this number
|
||||
|
||||
#endregion
|
||||
|
||||
|
@ -82,6 +84,20 @@ namespace CodeImp.DoomBuilder.Config
|
|||
|
||||
// Sort the list
|
||||
bits.Sort();
|
||||
|
||||
//mxd. Determine and check increment steps
|
||||
if(bits.Count > 1)
|
||||
{
|
||||
// Use the second bit as the structure's step
|
||||
bitstep = bits[1].Index;
|
||||
|
||||
// Check the rest of the values
|
||||
//for(int i = 1; i < bits.Count; i++)
|
||||
//{
|
||||
// if(bits[i].Index - bits[i - 1].Index != bitstep)
|
||||
// General.ErrorLogger.Add(ErrorType.Warning, "Structure \"" + fullpath + "." + name + "\" contains options with mixed increments (option \"" + bits[i].Title + "\" increment (" + (bits[i - 1].Index - bits[i].Index) + ") doesn't match the structure increment (" + bitstep + ")).");
|
||||
//}
|
||||
}
|
||||
|
||||
// We have no destructor
|
||||
GC.SuppressFinalize(this);
|
||||
|
|
|
@ -36,7 +36,6 @@ namespace CodeImp.DoomBuilder.Config
|
|||
|
||||
private int changetags; // See TAGS_ constants
|
||||
private bool removeactions;
|
||||
private bool adjustheights;
|
||||
|
||||
#endregion
|
||||
|
||||
|
@ -44,7 +43,6 @@ namespace CodeImp.DoomBuilder.Config
|
|||
|
||||
public int ChangeTags { get { return changetags; } set { changetags = value; } }
|
||||
public bool RemoveActions { get { return removeactions; } set { removeactions = value; } }
|
||||
public bool AdjustHeights { get { return adjustheights; } set { adjustheights = value; } }
|
||||
|
||||
#endregion
|
||||
|
||||
|
@ -60,7 +58,6 @@ namespace CodeImp.DoomBuilder.Config
|
|||
{
|
||||
this.changetags = p.changetags;
|
||||
this.removeactions = p.removeactions;
|
||||
this.adjustheights = p.adjustheights;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
@ -78,7 +75,6 @@ namespace CodeImp.DoomBuilder.Config
|
|||
{
|
||||
changetags = cfg.ReadSetting(path + ".changetags", 0);
|
||||
removeactions = cfg.ReadSetting(path + ".removeactions", false);
|
||||
adjustheights = cfg.ReadSetting(path + ".adjustheights", true);
|
||||
}
|
||||
|
||||
// This writes to configuration
|
||||
|
@ -86,7 +82,6 @@ namespace CodeImp.DoomBuilder.Config
|
|||
{
|
||||
cfg.WriteSetting(path + ".changetags", changetags);
|
||||
cfg.WriteSetting(path + ".removeactions", removeactions);
|
||||
cfg.WriteSetting(path + ".adjustheights", adjustheights);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
|
|
@ -19,11 +19,11 @@
|
|||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using CodeImp.DoomBuilder.IO;
|
||||
using System.IO;
|
||||
using System.Windows.Forms;
|
||||
using CodeImp.DoomBuilder.Map;
|
||||
using System.Reflection;
|
||||
using System.Windows.Forms;
|
||||
using CodeImp.DoomBuilder.IO;
|
||||
using CodeImp.DoomBuilder.Map;
|
||||
using CodeImp.DoomBuilder.Plugins;
|
||||
using CodeImp.DoomBuilder.Rendering;
|
||||
|
||||
|
@ -50,6 +50,9 @@ namespace CodeImp.DoomBuilder.Config
|
|||
private float visualmousesensy;
|
||||
private int imagebrightness;
|
||||
private float doublesidedalpha;
|
||||
private float activethingsalpha; //mxd
|
||||
private float inactivethingsalpha; //mxd
|
||||
private float hiddenthingsalpha; //mxd
|
||||
private byte doublesidedalphabyte;
|
||||
private int nightscircleprecision;
|
||||
private float backgroundalpha;
|
||||
|
@ -87,6 +90,10 @@ namespace CodeImp.DoomBuilder.Config
|
|||
private bool locatetexturegroup; //mxd
|
||||
private bool keeptexturefilterfocused; //mxd
|
||||
private SplitLineBehavior splitlinebehavior; //mxd
|
||||
private MergeGeometryMode mergegeomode; //mxd
|
||||
private bool splitjoinedsectors; //mxd
|
||||
private bool usehighlight; //mxd
|
||||
private bool switchviewmodes; //mxd
|
||||
|
||||
//mxd. Script editor settings
|
||||
private string scriptfontname;
|
||||
|
@ -102,8 +109,13 @@ namespace CodeImp.DoomBuilder.Config
|
|||
private bool scriptshowfolding; //mxd
|
||||
private bool scriptautoshowautocompletion; //mxd
|
||||
|
||||
//mxd
|
||||
private ModelRenderMode gzDrawModelsMode;
|
||||
//mxd. Text labels settings
|
||||
private string textlabelfontname;
|
||||
private int textlabelfontsize;
|
||||
private bool textlabelfontbold;
|
||||
|
||||
//mxd
|
||||
private ModelRenderMode gzDrawModelsMode;
|
||||
private LightRenderMode gzDrawLightsMode;
|
||||
private bool gzDrawFog;
|
||||
private bool gzDrawSky;
|
||||
|
@ -112,8 +124,6 @@ namespace CodeImp.DoomBuilder.Config
|
|||
private bool gzShowEventLines;
|
||||
private bool gzOldHighlightMode;
|
||||
private int gzMaxDynamicLights;
|
||||
private float gzDynamicLightRadius;
|
||||
private float gzDynamicLightIntensity;
|
||||
private bool gzStretchView;
|
||||
private float gzVertexScale2D;
|
||||
private bool gzShowVisualVertices;
|
||||
|
@ -121,7 +131,7 @@ namespace CodeImp.DoomBuilder.Config
|
|||
private string lastUsedConfigName;
|
||||
private string lastUsedMapFolder;
|
||||
private bool gzMarkExtraFloors;
|
||||
private bool gzdoomrenderingeffects = true; //mxd
|
||||
private bool enhancedrenderingeffects = true; //mxd
|
||||
private bool srb2renderingeffects = true; //sphere
|
||||
private bool showcolormaps = true;
|
||||
private bool drawCrosshair;
|
||||
|
@ -161,7 +171,10 @@ namespace CodeImp.DoomBuilder.Config
|
|||
public int ImageBrightness { get { return imagebrightness; } internal set { imagebrightness = value; } }
|
||||
public float DoubleSidedAlpha { get { return doublesidedalpha; } internal set { doublesidedalpha = value; doublesidedalphabyte = (byte)(doublesidedalpha * 255f); } }
|
||||
public byte DoubleSidedAlphaByte { get { return doublesidedalphabyte; } }
|
||||
public int NiGHTSCirclePrecision { get { return nightscircleprecision; } internal set { nightscircleprecision = value; } }
|
||||
public int NiGHTSCirclePrecision { get { return nightscircleprecision; } internal set { nightscircleprecision = value; } }
|
||||
public float ActiveThingsAlpha { get { return activethingsalpha; } internal set { activethingsalpha = value; } } //mxd
|
||||
public float InactiveThingsAlpha { get { return inactivethingsalpha; } internal set { inactivethingsalpha = value; } } //mxd
|
||||
public float HiddenThingsAlpha { get { return hiddenthingsalpha; } internal set { hiddenthingsalpha = value; } } //mxd
|
||||
public float BackgroundAlpha { get { return backgroundalpha; } internal set { backgroundalpha = value; } }
|
||||
public float VisualMouseSensX { get { return visualmousesensx; } internal set { visualmousesensx = value; } }
|
||||
public float VisualMouseSensY { get { return visualmousesensy; } internal set { visualmousesensy = value; } }
|
||||
|
@ -199,23 +212,44 @@ namespace CodeImp.DoomBuilder.Config
|
|||
public bool LocateTextureGroup { get { return locatetexturegroup; } internal set { locatetexturegroup = value; } } //mxd
|
||||
public bool KeepTextureFilterFocused { get { return keeptexturefilterfocused; } internal set { keeptexturefilterfocused = value; } } //mxd
|
||||
public SplitLineBehavior SplitLineBehavior { get { return splitlinebehavior; } set { splitlinebehavior = value; } } //mxd
|
||||
public MergeGeometryMode MergeGeometryMode { get { return mergegeomode; } internal set { mergegeomode = value; } } //mxd
|
||||
public bool SplitJoinedSectors { get { return splitjoinedsectors; } internal set { splitjoinedsectors = value; } } //mxd
|
||||
|
||||
//mxd. Script editor settings
|
||||
public string ScriptFontName { get { return scriptfontname; } internal set { scriptfontname = value; } }
|
||||
public int ScriptFontSize { get { return scriptfontsize; } internal set { scriptfontsize = value; } }
|
||||
public bool ScriptFontBold { get { return scriptfontbold; } internal set { scriptfontbold = value; } }
|
||||
public bool ScriptOnTop { get { return scriptontop; } internal set { scriptontop = value; } }
|
||||
public bool ScriptAutoIndent { get { return scriptautoindent; } internal set { scriptautoindent = value; } }
|
||||
public bool ScriptAllmanStyle { get { return scriptallmanstyle; } internal set { scriptallmanstyle = value; } } //mxd
|
||||
public bool ScriptUseTabs { get { return scriptusetabs; } internal set { scriptusetabs = value; } } //mxd
|
||||
public int ScriptTabWidth { get { return scripttabwidth; } internal set { scripttabwidth = value; } }
|
||||
public bool ScriptAutoCloseBrackets { get { return scriptautoclosebrackets; } internal set { scriptautoclosebrackets = value; } } //mxd
|
||||
public bool ScriptShowLineNumbers { get { return scriptshowlinenumbers; } internal set { scriptshowlinenumbers = value; } } //mxd
|
||||
public bool ScriptShowFolding { get { return scriptshowfolding; } internal set { scriptshowfolding = value; } } //mxd
|
||||
public bool ScriptAutoShowAutocompletion { get { return scriptautoshowautocompletion; } internal set { scriptautoshowautocompletion = value; } } //mxd
|
||||
//mxd. Highlight mode
|
||||
public bool UseHighlight
|
||||
{
|
||||
get { return usehighlight; }
|
||||
set
|
||||
{
|
||||
usehighlight = value;
|
||||
General.Map.Renderer3D.ShowSelection = General.Settings.UseHighlight;
|
||||
General.Map.Renderer3D.ShowHighlight = General.Settings.UseHighlight;
|
||||
}
|
||||
}
|
||||
|
||||
//mxd
|
||||
public ModelRenderMode GZDrawModelsMode { get { return gzDrawModelsMode; } internal set { gzDrawModelsMode = value; } }
|
||||
public bool SwitchViewModes { get { return switchviewmodes; } set { switchviewmodes = value; } } //mxd
|
||||
|
||||
//mxd. Script editor settings
|
||||
public string ScriptFontName { get { return scriptfontname; } internal set { scriptfontname = value; } }
|
||||
public int ScriptFontSize { get { return scriptfontsize; } internal set { scriptfontsize = value; } }
|
||||
public bool ScriptFontBold { get { return scriptfontbold; } internal set { scriptfontbold = value; } }
|
||||
public bool ScriptOnTop { get { return scriptontop; } internal set { scriptontop = value; } }
|
||||
public bool ScriptAutoIndent { get { return scriptautoindent; } internal set { scriptautoindent = value; } }
|
||||
public bool ScriptAllmanStyle { get { return scriptallmanstyle; } internal set { scriptallmanstyle = value; } } //mxd
|
||||
public bool ScriptUseTabs { get { return scriptusetabs; } internal set { scriptusetabs = value; } } //mxd
|
||||
public int ScriptTabWidth { get { return scripttabwidth; } internal set { scripttabwidth = value; } }
|
||||
public bool ScriptAutoCloseBrackets { get { return scriptautoclosebrackets; } internal set { scriptautoclosebrackets = value; } } //mxd
|
||||
public bool ScriptShowLineNumbers { get { return scriptshowlinenumbers; } internal set { scriptshowlinenumbers = value; } } //mxd
|
||||
public bool ScriptShowFolding { get { return scriptshowfolding; } internal set { scriptshowfolding = value; } } //mxd
|
||||
public bool ScriptAutoShowAutocompletion { get { return scriptautoshowautocompletion; } internal set { scriptautoshowautocompletion = value; } } //mxd
|
||||
|
||||
//mxd. Text labels settings
|
||||
public string TextLabelFontName { get { return textlabelfontname; } internal set { textlabelfontname = value; } }
|
||||
public int TextLabelFontSize { get { return textlabelfontsize; } internal set { textlabelfontsize = value; } }
|
||||
public bool TextLabelFontBold { get { return textlabelfontbold; } internal set { textlabelfontbold = value; } }
|
||||
|
||||
//mxd
|
||||
public ModelRenderMode GZDrawModelsMode { get { return gzDrawModelsMode; } internal set { gzDrawModelsMode = value; } }
|
||||
public LightRenderMode GZDrawLightsMode { get { return gzDrawLightsMode; } internal set { gzDrawLightsMode = value; } }
|
||||
public bool GZDrawFog { get { return gzDrawFog; } internal set { gzDrawFog = value; } }
|
||||
public bool GZDrawSky { get { return gzDrawSky; } internal set { gzDrawSky = value; } }
|
||||
|
@ -224,8 +258,6 @@ namespace CodeImp.DoomBuilder.Config
|
|||
public bool GZShowEventLines { get { return gzShowEventLines; } internal set { gzShowEventLines = value; } }
|
||||
public bool GZOldHighlightMode { get { return gzOldHighlightMode; } internal set { gzOldHighlightMode = value; } }
|
||||
public int GZMaxDynamicLights { get { return gzMaxDynamicLights; } internal set { gzMaxDynamicLights = value; } }
|
||||
public float GZDynamicLightRadius { get { return gzDynamicLightRadius; } internal set { gzDynamicLightRadius = value; } }
|
||||
public float GZDynamicLightIntensity { get { return gzDynamicLightIntensity; } internal set { gzDynamicLightIntensity = value; } }
|
||||
public bool GZStretchView { get { return gzStretchView; } internal set { gzStretchView = value; } }
|
||||
public float GZVertexScale2D { get { return gzVertexScale2D; } internal set { gzVertexScale2D = value; } }
|
||||
public bool GZShowVisualVertices { get { return gzShowVisualVertices; } internal set { gzShowVisualVertices = value; } }
|
||||
|
@ -233,7 +265,7 @@ namespace CodeImp.DoomBuilder.Config
|
|||
public string LastUsedConfigName { get { return lastUsedConfigName; } internal set { lastUsedConfigName = value; } }
|
||||
public string LastUsedMapFolder { get { return lastUsedMapFolder; } internal set { lastUsedMapFolder = value; } }
|
||||
public bool GZMarkExtraFloors { get { return gzMarkExtraFloors; } internal set { gzMarkExtraFloors = value; } }
|
||||
public bool GZDoomRenderingEffects { get { return gzdoomrenderingeffects; } set { gzdoomrenderingeffects = value; } } //mxd
|
||||
public bool EnhancedRenderingEffects { get { return enhancedrenderingeffects; } set { enhancedrenderingeffects = value; } } //mxd
|
||||
public bool SRB2RenderingEffects { get { return srb2renderingeffects; } set { srb2renderingeffects = value; } } //sphere
|
||||
public bool ShowColormaps { get { return showcolormaps; } set { showcolormaps = value; } } //mxd
|
||||
public bool DrawCrosshair { get { return drawCrosshair; } internal set { drawCrosshair = value; } }
|
||||
|
@ -299,7 +331,10 @@ namespace CodeImp.DoomBuilder.Config
|
|||
doublesidedalpha = cfg.ReadSetting("doublesidedalpha", 0.4f);
|
||||
doublesidedalphabyte = (byte)(doublesidedalpha * 255f);
|
||||
nightscircleprecision = cfg.ReadSetting("nightscircleprecision", 360);
|
||||
backgroundalpha = cfg.ReadSetting("backgroundalpha", 1.0f);
|
||||
activethingsalpha = cfg.ReadSetting("activethingsalpha", Presentation.THINGS_ALPHA); //mxd
|
||||
inactivethingsalpha = cfg.ReadSetting("inactivethingsalpha", Presentation.THINGS_BACK_ALPHA); //mxd
|
||||
hiddenthingsalpha = cfg.ReadSetting("hiddenthingsalpha", Presentation.THINGS_HIDDEN_ALPHA); //mxd
|
||||
backgroundalpha = cfg.ReadSetting("backgroundalpha", 1.0f);
|
||||
qualitydisplay = cfg.ReadSetting("qualitydisplay", true);
|
||||
testmonsters = cfg.ReadSetting("testmonsters", true);
|
||||
defaultviewmode = cfg.ReadSetting("defaultviewmode", (int)ViewMode.Normal);
|
||||
|
@ -333,21 +368,30 @@ namespace CodeImp.DoomBuilder.Config
|
|||
showtexturesizes = cfg.ReadSetting("showtexturesizes", true);
|
||||
locatetexturegroup = cfg.ReadSetting("locatetexturegroup", true); //mxd
|
||||
keeptexturefilterfocused = cfg.ReadSetting("keeptexturefilterfocused", true); //mxd
|
||||
splitlinebehavior = (SplitLineBehavior) General.Clamp(cfg.ReadSetting("splitlinebehavior", 0), 0, 3); //mxd
|
||||
splitlinebehavior = (SplitLineBehavior)General.Clamp(cfg.ReadSetting("splitlinebehavior", 0), 0, Enum.GetValues(typeof(SplitLineBehavior)).Length - 1); //mxd
|
||||
mergegeomode = (MergeGeometryMode)General.Clamp(cfg.ReadSetting("mergegeometrymode", (int)MergeGeometryMode.REPLACE), 0, Enum.GetValues(typeof(MergeGeometryMode)).Length - 1); //mxd
|
||||
splitjoinedsectors = cfg.ReadSetting("splitjoinedsectors", true); //mxd
|
||||
usehighlight = cfg.ReadSetting("usehighlight", true); //mxd
|
||||
switchviewmodes = cfg.ReadSetting("switchviewmodes", false); //mxd
|
||||
|
||||
//mxd. Script editor
|
||||
scriptfontname = cfg.ReadSetting("scriptfontname", "Courier New");
|
||||
scriptfontsize = cfg.ReadSetting("scriptfontsize", 10);
|
||||
scriptfontbold = cfg.ReadSetting("scriptfontbold", false);
|
||||
scriptontop = cfg.ReadSetting("scriptontop", true);
|
||||
scriptautoindent = cfg.ReadSetting("scriptautoindent", true);
|
||||
scriptallmanstyle = cfg.ReadSetting("scriptallmanstyle", false); //mxd
|
||||
scriptusetabs = cfg.ReadSetting("scriptusetabs", true); //mxd
|
||||
scripttabwidth = cfg.ReadSetting("scripttabwidth", 4);
|
||||
scriptautoclosebrackets = cfg.ReadSetting("scriptautoclosebrackets", true); //mxd
|
||||
scriptshowlinenumbers = cfg.ReadSetting("scriptshowlinenumbers", true); //mxd
|
||||
scriptshowfolding = cfg.ReadSetting("scriptshowfolding", true); //mxd
|
||||
scriptautoshowautocompletion = cfg.ReadSetting("scriptautoshowautocompletion", true); //mxd
|
||||
//mxd. Script editor
|
||||
scriptfontname = cfg.ReadSetting("scriptfontname", "Courier New");
|
||||
scriptfontsize = cfg.ReadSetting("scriptfontsize", 10);
|
||||
scriptfontbold = cfg.ReadSetting("scriptfontbold", false);
|
||||
scriptontop = cfg.ReadSetting("scriptontop", true);
|
||||
scriptautoindent = cfg.ReadSetting("scriptautoindent", true);
|
||||
scriptallmanstyle = cfg.ReadSetting("scriptallmanstyle", false);
|
||||
scriptusetabs = cfg.ReadSetting("scriptusetabs", true);
|
||||
scripttabwidth = cfg.ReadSetting("scripttabwidth", 4);
|
||||
scriptautoclosebrackets = cfg.ReadSetting("scriptautoclosebrackets", true);
|
||||
scriptshowlinenumbers = cfg.ReadSetting("scriptshowlinenumbers", true);
|
||||
scriptshowfolding = cfg.ReadSetting("scriptshowfolding", true);
|
||||
scriptautoshowautocompletion = cfg.ReadSetting("scriptautoshowautocompletion", true);
|
||||
|
||||
//mxd. Text labels
|
||||
textlabelfontname = cfg.ReadSetting("textlabelfontname", "Microsoft Sans Serif");
|
||||
textlabelfontsize = cfg.ReadSetting("textlabelfontsize", 10);
|
||||
textlabelfontbold = cfg.ReadSetting("textlabelfontbold", false);
|
||||
|
||||
//mxd
|
||||
gzDrawModelsMode = (ModelRenderMode)cfg.ReadSetting("gzdrawmodels", (int)ModelRenderMode.ALL);
|
||||
|
@ -359,8 +403,6 @@ namespace CodeImp.DoomBuilder.Config
|
|||
gzShowEventLines = cfg.ReadSetting("gzshoweventlines", true);
|
||||
gzOldHighlightMode = cfg.ReadSetting("gzoldhighlightmode", false);
|
||||
gzMaxDynamicLights = cfg.ReadSetting("gzmaxdynamiclights", 16);
|
||||
gzDynamicLightRadius = cfg.ReadSetting("gzdynamiclightradius", 1.0f);
|
||||
gzDynamicLightIntensity = cfg.ReadSetting("gzdynamiclightintensity", 1.0f);
|
||||
gzStretchView = cfg.ReadSetting("gzstretchview", true);
|
||||
gzVertexScale2D = cfg.ReadSetting("gzvertexscale2d", 1.0f);
|
||||
gzShowVisualVertices = cfg.ReadSetting("gzshowvisualvertices", true);
|
||||
|
@ -415,7 +457,10 @@ namespace CodeImp.DoomBuilder.Config
|
|||
cfg.WriteSetting("testmonsters", testmonsters);
|
||||
cfg.WriteSetting("doublesidedalpha", doublesidedalpha);
|
||||
cfg.WriteSetting("nightscircleprecision", nightscircleprecision);
|
||||
cfg.WriteSetting("backgroundalpha", backgroundalpha);
|
||||
cfg.WriteSetting("activethingsalpha", activethingsalpha); //mxd
|
||||
cfg.WriteSetting("inactivethingsalpha", inactivethingsalpha); //mxd
|
||||
cfg.WriteSetting("hiddenthingsalpha", hiddenthingsalpha); //mxd
|
||||
cfg.WriteSetting("backgroundalpha", backgroundalpha);
|
||||
cfg.WriteSetting("defaultviewmode", defaultviewmode);
|
||||
cfg.WriteSetting("classicbilinear", classicbilinear);
|
||||
cfg.WriteSetting("visualbilinear", visualbilinear);
|
||||
|
@ -448,20 +493,29 @@ namespace CodeImp.DoomBuilder.Config
|
|||
cfg.WriteSetting("locatetexturegroup", locatetexturegroup); //mxd
|
||||
cfg.WriteSetting("keeptexturefilterfocused", keeptexturefilterfocused); //mxd
|
||||
cfg.WriteSetting("splitlinebehavior", (int)splitlinebehavior); //mxd
|
||||
cfg.WriteSetting("mergegeometrymode", (int)mergegeomode); //mxd
|
||||
cfg.WriteSetting("splitjoinedsectors", splitjoinedsectors); //mxd
|
||||
cfg.WriteSetting("usehighlight", usehighlight); //mxd
|
||||
cfg.WriteSetting("switchviewmodes", switchviewmodes); //mxd
|
||||
|
||||
//mxd. Script editor
|
||||
cfg.WriteSetting("scriptfontname", scriptfontname);
|
||||
cfg.WriteSetting("scriptfontsize", scriptfontsize);
|
||||
cfg.WriteSetting("scriptfontbold", scriptfontbold);
|
||||
cfg.WriteSetting("scriptontop", scriptontop);
|
||||
cfg.WriteSetting("scriptusetabs", scriptusetabs); //mxd
|
||||
cfg.WriteSetting("scripttabwidth", scripttabwidth);
|
||||
cfg.WriteSetting("scriptautoindent", scriptautoindent);
|
||||
cfg.WriteSetting("scriptallmanstyle", scriptallmanstyle); //mxd
|
||||
cfg.WriteSetting("scriptautoclosebrackets", scriptautoclosebrackets); //mxd
|
||||
cfg.WriteSetting("scriptshowlinenumbers", scriptshowlinenumbers); //mxd
|
||||
cfg.WriteSetting("scriptshowfolding", scriptshowfolding); //mxd
|
||||
cfg.WriteSetting("scriptautoshowautocompletion", scriptautoshowautocompletion); //mxd
|
||||
//mxd. Script editor
|
||||
cfg.WriteSetting("scriptfontname", scriptfontname);
|
||||
cfg.WriteSetting("scriptfontsize", scriptfontsize);
|
||||
cfg.WriteSetting("scriptfontbold", scriptfontbold);
|
||||
cfg.WriteSetting("scriptontop", scriptontop);
|
||||
cfg.WriteSetting("scriptusetabs", scriptusetabs);
|
||||
cfg.WriteSetting("scripttabwidth", scripttabwidth);
|
||||
cfg.WriteSetting("scriptautoindent", scriptautoindent);
|
||||
cfg.WriteSetting("scriptallmanstyle", scriptallmanstyle);
|
||||
cfg.WriteSetting("scriptautoclosebrackets", scriptautoclosebrackets);
|
||||
cfg.WriteSetting("scriptshowlinenumbers", scriptshowlinenumbers);
|
||||
cfg.WriteSetting("scriptshowfolding", scriptshowfolding);
|
||||
cfg.WriteSetting("scriptautoshowautocompletion", scriptautoshowautocompletion);
|
||||
|
||||
//mxd. Text labels
|
||||
cfg.WriteSetting("textlabelfontname", textlabelfontname);
|
||||
cfg.WriteSetting("textlabelfontsize", textlabelfontsize);
|
||||
cfg.WriteSetting("textlabelfontbold", textlabelfontbold);
|
||||
|
||||
//mxd
|
||||
cfg.WriteSetting("gzdrawmodels", (int)gzDrawModelsMode);
|
||||
|
@ -473,8 +527,6 @@ namespace CodeImp.DoomBuilder.Config
|
|||
cfg.WriteSetting("gzoldhighlightmode", gzOldHighlightMode);
|
||||
cfg.WriteSetting("gztoolbargzdoom", gzToolbarGZDoom);
|
||||
cfg.WriteSetting("gzmaxdynamiclights", gzMaxDynamicLights);
|
||||
cfg.WriteSetting("gzdynamiclightradius", gzDynamicLightRadius);
|
||||
cfg.WriteSetting("gzdynamiclightintensity", gzDynamicLightIntensity);
|
||||
cfg.WriteSetting("gzstretchview", gzStretchView);
|
||||
cfg.WriteSetting("gzvertexscale2d", gzVertexScale2D);
|
||||
cfg.WriteSetting("gzshowvisualvertices", gzShowVisualVertices);
|
||||
|
|
|
@ -48,9 +48,7 @@ namespace CodeImp.DoomBuilder.Config
|
|||
{
|
||||
#region ================== Constants
|
||||
|
||||
private const string WORD_CHARS = "_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; //mxd
|
||||
|
||||
#endregion
|
||||
#endregion
|
||||
|
||||
#region ================== Variables
|
||||
|
||||
|
@ -62,8 +60,8 @@ namespace CodeImp.DoomBuilder.Config
|
|||
// Editor settings
|
||||
private readonly string description;
|
||||
private readonly int codepage;
|
||||
private readonly string wordchars; //mxd. Characters to be threated as part of a word by Scintilla
|
||||
private readonly string[] extensions;
|
||||
private readonly string extrawordchars; //mxd. Extra characters to be threated as part of a word by Scintilla
|
||||
private readonly string[] extensions;
|
||||
private readonly bool casesensitive;
|
||||
private readonly int insertcase;
|
||||
private readonly Lexer lexer;
|
||||
|
@ -115,8 +113,8 @@ namespace CodeImp.DoomBuilder.Config
|
|||
public string ArrayClose { get { return arrayclose; } } //mxd
|
||||
public string ArgumentDelimiter { get { return argumentdelimiter; } }
|
||||
public string Terminator { get { return terminator; } }
|
||||
public string WordCharacters { get { return wordchars; } } //mxd
|
||||
public ScriptType ScriptType { get { return scripttype; } } //mxd
|
||||
public string ExtraWordCharacters { get { return extrawordchars; } } //mxd
|
||||
public ScriptType ScriptType { get { return scripttype; } } //mxd
|
||||
|
||||
// Collections
|
||||
public ICollection<string> Keywords { get { return keywordkeyssorted; } }
|
||||
|
@ -163,8 +161,8 @@ namespace CodeImp.DoomBuilder.Config
|
|||
terminator = "";
|
||||
description = "Plain text";
|
||||
scripttype = ScriptType.UNKNOWN; //mxd
|
||||
wordchars = WORD_CHARS; //mxd
|
||||
extensions = new[] { "txt" };
|
||||
extrawordchars = ""; //mxd
|
||||
extensions = new[] { "txt" };
|
||||
}
|
||||
|
||||
// Constructor
|
||||
|
@ -201,7 +199,7 @@ namespace CodeImp.DoomBuilder.Config
|
|||
argumentdelimiter = cfg.ReadSetting("argumentdelimiter", "");
|
||||
terminator = cfg.ReadSetting("terminator", "");
|
||||
scripttype = (ScriptType)cfg.ReadSetting("scripttype", (int)ScriptType.UNKNOWN); //mxd
|
||||
wordchars = WORD_CHARS + cfg.ReadSetting("extrawordchars", ""); //mxd
|
||||
extrawordchars = cfg.ReadSetting("extrawordchars", ""); //mxd
|
||||
|
||||
//mxd. Make braces array
|
||||
if (!string.IsNullOrEmpty(functionopen)) braces.Add(functionopen[0]);
|
||||
|
|
|
@ -41,6 +41,7 @@ namespace CodeImp.DoomBuilder.Config
|
|||
public const int THING_ERROR_NONE = 0;
|
||||
public const int THING_ERROR_INSIDE = 1;
|
||||
public const int THING_ERROR_INSIDE_STUCK = 2;
|
||||
private const float THING_FIXED_SIZE = 14f; //mxd
|
||||
|
||||
#endregion
|
||||
|
||||
|
@ -232,7 +233,7 @@ namespace CodeImp.DoomBuilder.Config
|
|||
this.args[i] = new ArgumentInfo(cfg, "thingtypes." + cat.Name + "." + key, i, enums);
|
||||
|
||||
// Safety
|
||||
if(this.radius < 4f) this.radius = 16f;
|
||||
if(this.radius < 4f || this.fixedsize) this.radius = THING_FIXED_SIZE;
|
||||
if(this.hangs && this.absolutez) this.hangs = false; //mxd
|
||||
|
||||
// Make long name for sprite lookup
|
||||
|
@ -287,8 +288,8 @@ namespace CodeImp.DoomBuilder.Config
|
|||
this.flagsvaluetext = cat.FlagsValueText;
|
||||
this.parametertext = cat.ParameterText;
|
||||
|
||||
// Safety
|
||||
if (this.radius < 4f) this.radius = 8f;
|
||||
// Safety
|
||||
if(this.radius < 4f || this.fixedsize) this.radius = THING_FIXED_SIZE;
|
||||
if(this.hangs && this.absolutez) this.hangs = false; //mxd
|
||||
|
||||
// Make long name for sprite lookup
|
||||
|
@ -341,8 +342,7 @@ namespace CodeImp.DoomBuilder.Config
|
|||
this.flagsvaluetext = cat.FlagsValueText;
|
||||
this.parametertext = cat.ParameterText;
|
||||
|
||||
// Safety
|
||||
if (this.radius < 4f) this.radius = 8f;
|
||||
// Safety
|
||||
if(this.hangs && this.absolutez) this.hangs = false; //mxd
|
||||
|
||||
// Apply settings from actor
|
||||
|
@ -392,8 +392,7 @@ namespace CodeImp.DoomBuilder.Config
|
|||
this.flagsvaluetext = cat.FlagsValueText;
|
||||
this.parametertext = cat.ParameterText;
|
||||
|
||||
// Safety
|
||||
if (this.radius < 4f) this.radius = 8f;
|
||||
// Safety
|
||||
if(this.hangs && this.absolutez) this.hangs = false; //mxd
|
||||
|
||||
// Apply settings from actor
|
||||
|
@ -618,7 +617,7 @@ namespace CodeImp.DoomBuilder.Config
|
|||
this.bright = actor.GetFlagValue("bright", false);
|
||||
|
||||
// Safety
|
||||
if(this.radius < 4f) this.radius = 8f;
|
||||
if(this.radius < 4f || this.fixedsize) this.radius = THING_FIXED_SIZE;
|
||||
if(this.spritescale.Width == 0.0f) this.spritescale.Width = 1.0f;
|
||||
if(this.spritescale.Height == 0.0f) this.spritescale.Height = 1.0f;
|
||||
|
||||
|
|
|
@ -221,6 +221,11 @@ namespace CodeImp.DoomBuilder.Controls
|
|||
list.SelectedIndex = itemindex;
|
||||
list.Refresh();
|
||||
}
|
||||
//mxd. This may be generalized effect, and it may've changed
|
||||
else if(itemindex == -1)
|
||||
{
|
||||
list.Refresh();
|
||||
}
|
||||
|
||||
// Raise change event
|
||||
//mxd. This HAS to be raised during Edit form setup, otherwise TypeHandlers in ArgumentBoxes won't be initialized
|
||||
|
|
7
Source/Core/Controls/ArgumentBox.Designer.cs
generated
|
@ -28,18 +28,24 @@ namespace CodeImp.DoomBuilder.Controls
|
|||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
this.combobox = new System.Windows.Forms.ComboBox();
|
||||
this.button = new System.Windows.Forms.Button();
|
||||
this.scrollbuttons = new System.Windows.Forms.VScrollBar();
|
||||
this.tooltip = new System.Windows.Forms.ToolTip(this.components);
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// combobox
|
||||
//
|
||||
this.combobox.DropDownWidth = 130;
|
||||
this.combobox.ForeColor = System.Drawing.SystemColors.HotTrack;
|
||||
this.combobox.Location = new System.Drawing.Point(0, 2);
|
||||
this.combobox.Name = "combobox";
|
||||
this.combobox.Size = new System.Drawing.Size(149, 21);
|
||||
this.combobox.TabIndex = 0;
|
||||
this.tooltip.SetToolTip(this.combobox, "Use ++ or -- prefixes to change by given value.\r\nUse +++ or --- prefixes to incre" +
|
||||
"mentally change by given value.\r\nUse < or > prefixes to decrementally or increme" +
|
||||
"ntally set given value.");
|
||||
this.combobox.Validating += new System.ComponentModel.CancelEventHandler(this.combobox_Validating);
|
||||
this.combobox.TextChanged += new System.EventHandler(this.combobox_TextChanged);
|
||||
//
|
||||
|
@ -86,5 +92,6 @@ namespace CodeImp.DoomBuilder.Controls
|
|||
private System.Windows.Forms.ComboBox combobox;
|
||||
private System.Windows.Forms.Button button;
|
||||
private System.Windows.Forms.VScrollBar scrollbuttons;
|
||||
private System.Windows.Forms.ToolTip tooltip;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -89,7 +89,7 @@ namespace CodeImp.DoomBuilder.Controls
|
|||
private void combobox_Validating(object sender, CancelEventArgs e)
|
||||
{
|
||||
string str = combobox.Text.Trim().ToLowerInvariant();
|
||||
str = str.TrimStart('+', '-');
|
||||
str = str.TrimStart('+', '-', '<', '>');
|
||||
|
||||
// Anything in the box?
|
||||
if(combobox.Text.Trim().Length > 0)
|
||||
|
@ -132,6 +132,13 @@ namespace CodeImp.DoomBuilder.Controls
|
|||
private void combobox_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
scrollbuttons.Enabled = !CheckIsRelative();
|
||||
|
||||
//mxd. Update button image?
|
||||
if(typehandler.DynamicImage)
|
||||
{
|
||||
combobox_Validating(sender, new CancelEventArgs());
|
||||
button.Image = typehandler.BrowseImage;
|
||||
}
|
||||
}
|
||||
|
||||
// Mouse wheel used
|
||||
|
@ -259,36 +266,72 @@ namespace CodeImp.DoomBuilder.Controls
|
|||
// This checks if the number is relative
|
||||
public bool CheckIsRelative()
|
||||
{
|
||||
// Prefixed with ++ or --?
|
||||
return (combobox.Text.Trim().StartsWith("++") || combobox.Text.Trim().StartsWith("--"));
|
||||
// Prefixed with +++, ---, <, >, ++ or --?
|
||||
string str = combobox.Text.Trim();
|
||||
return (str.StartsWith("+++") || str.StartsWith("---")
|
||||
|| str.StartsWith("++") || str.StartsWith("--")
|
||||
|| str.StartsWith("<") || str.StartsWith(">"));
|
||||
}
|
||||
|
||||
// This returns the selected value
|
||||
public int GetResult(int original)
|
||||
public int GetResult(int original) { return GetResult(original, 0); } //mxd
|
||||
public int GetResult(int original, int step)
|
||||
{
|
||||
int result;
|
||||
|
||||
// Strip prefixes
|
||||
string str = combobox.Text.Trim().ToLowerInvariant();
|
||||
str = str.TrimStart('+', '-');
|
||||
string numstr = str.TrimStart('+', '-', '<', '>'); //mxd
|
||||
|
||||
// Anything in the box?
|
||||
if(combobox.Text.Trim().Length > 0)
|
||||
if(numstr.Length > 0)
|
||||
{
|
||||
//mxd. Prefixed with +++?
|
||||
if(str.StartsWith("+++"))
|
||||
{
|
||||
// Add offset to number
|
||||
int num;
|
||||
if(!int.TryParse(numstr, out num)) num = 0;
|
||||
result = original + num * step;
|
||||
}
|
||||
//mxd. Prefixed with ---?
|
||||
else if(str.StartsWith("---"))
|
||||
{
|
||||
// Subtract offset from number
|
||||
int num;
|
||||
if(!int.TryParse(numstr, out num)) num = 0;
|
||||
result = original - num * step;
|
||||
}
|
||||
// mxd. Prefixed with <?
|
||||
else if(str.StartsWith("<"))
|
||||
{
|
||||
// Incremental decrease
|
||||
int num;
|
||||
if(!int.TryParse(numstr, out num)) num = 0;
|
||||
result = num - step;
|
||||
}
|
||||
// mxd. Prefixed with >?
|
||||
else if(str.StartsWith(">"))
|
||||
{
|
||||
// Incremental increase
|
||||
int num;
|
||||
if(!int.TryParse(numstr, out num)) num = 0;
|
||||
result = num + step;
|
||||
}
|
||||
// Prefixed with ++?
|
||||
if(combobox.Text.Trim().StartsWith("++"))
|
||||
else if(str.StartsWith("++"))
|
||||
{
|
||||
// Add number to original
|
||||
int num;
|
||||
if(!int.TryParse(str, out num)) num = 0;
|
||||
if(!int.TryParse(numstr, out num)) num = 0;
|
||||
result = original + num;
|
||||
}
|
||||
// Prefixed with --?
|
||||
else if(combobox.Text.Trim().StartsWith("--"))
|
||||
else if(str.StartsWith("--"))
|
||||
{
|
||||
// Subtract number from original
|
||||
int num;
|
||||
if(!int.TryParse(str, out num)) num = 0;
|
||||
if(!int.TryParse(numstr, out num)) num = 0;
|
||||
result = original - num;
|
||||
}
|
||||
else
|
||||
|
|