diff --git a/Build/Compilers/Nodebuilders/zdbsp.exe b/Build/Compilers/Nodebuilders/zdbsp.exe
index 2fa3102..75c9062 100644
Binary files a/Build/Compilers/Nodebuilders/zdbsp.exe and b/Build/Compilers/Nodebuilders/zdbsp.exe differ
diff --git a/Build/Compilers/ZDoom/acc.exe b/Build/Compilers/ZDoom/acc.exe
index a60988b..2efd005 100644
Binary files a/Build/Compilers/ZDoom/acc.exe and b/Build/Compilers/ZDoom/acc.exe differ
diff --git a/Build/Compilers/ZDoom/zdefs.acs b/Build/Compilers/ZDoom/zdefs.acs
index c80cf89..a82ad18 100644
--- a/Build/Compilers/ZDoom/zdefs.acs
+++ b/Build/Compilers/ZDoom/zdefs.acs
@@ -969,6 +969,7 @@
#define BLOCKF_USE 128
#define BLOCKF_SIGHT 256
#define BLOCKF_HITSCAN 512
+#define BLOCKF_SOUND 1024
#define FOGP_DENSITY 0
#define FOGP_OUTSIDEDENSITY 1
diff --git a/Build/Compilers/ZDoom/zspecial.acs b/Build/Compilers/ZDoom/zspecial.acs
index 22e7298..ae0ec98 100644
--- a/Build/Compilers/ZDoom/zspecial.acs
+++ b/Build/Compilers/ZDoom/zspecial.acs
@@ -199,7 +199,7 @@ special
// 211:Transfer_CeilingLight,
212:Sector_SetColor(4,5),
213:Sector_SetFade(4),
- 214:Sector_SetDamage(3),
+ 214:Sector_SetDamage(3,5),
215:Teleport_Line(2),
216:Sector_SetGravity(3),
217:Stairs_BuildUpDoom(5),
@@ -302,7 +302,7 @@ special
-57:SetCVarString(2),
-58:GetUserCVarString(2),
-59:SetUserCVarString(3),
- -60:LineAttack(4,8),
+ -60:LineAttack(4,9),
-61:PlaySound(2,6),
-62:StopSound(1,2),
-63:strcmp(2,3),
@@ -337,6 +337,7 @@ special
-91:QuakeEx(8,12),
-92:Warp(6,11),
-93:GetMaxInventory(2),
+ -94:SetSectorDamage(2,6),
// Zandronum's
-100:ResetMap(0),
diff --git a/Build/Configurations/Boom_DoomDoom.cfg b/Build/Configurations/Boom_DoomDoom.cfg
index 5bb7ee9..5193c7c 100644
--- a/Build/Configurations/Boom_DoomDoom.cfg
+++ b/Build/Configurations/Boom_DoomDoom.cfg
@@ -32,6 +32,15 @@ include("Includes\\Game_Doom.cfg");
//mxd. No DECORATE support in vanilla
decorategames = "";
+//mxd. Sky textures for vanilla maps
+defaultskytextures
+{
+ SKY1 = "E1M1,E1M2,E1M3,E1M4,E1M5,E1M6,E1M7,E1M8,E1M9";
+ SKY2 = "E2M1,E2M2,E2M3,E2M4,E2M5,E2M6,E2M7,E2M8,E2M9";
+ SKY3 = "E3M1,E3M2,E3M3,E3M4,E3M5,E3M6,E3M7,E3M8,E3M9";
+ SKY4 = "E4M1,E4M2,E4M3,E4M4,E4M5,E4M6,E4M7,E4M8,E4M9";
+}
+
// Default thing filters
// (these are not required, just useful for new users)
thingsfilters
diff --git a/Build/Configurations/Doom_DoomDoom.cfg b/Build/Configurations/Doom_DoomDoom.cfg
index 79ce1ba..066fadc 100644
--- a/Build/Configurations/Doom_DoomDoom.cfg
+++ b/Build/Configurations/Doom_DoomDoom.cfg
@@ -32,6 +32,15 @@ include("Includes\\Game_Doom.cfg");
//mxd. No DECORATE support in vanilla
decorategames = "";
+//mxd. Sky textures for vanilla maps
+defaultskytextures
+{
+ SKY1 = "E1M1,E1M2,E1M3,E1M4,E1M5,E1M6,E1M7,E1M8,E1M9";
+ SKY2 = "E2M1,E2M2,E2M3,E2M4,E2M5,E2M6,E2M7,E2M8,E2M9";
+ SKY3 = "E3M1,E3M2,E3M3,E3M4,E3M5,E3M6,E3M7,E3M8,E3M9";
+ SKY4 = "E4M1,E4M2,E4M3,E4M4,E4M5,E4M6,E4M7,E4M8,E4M9";
+}
+
// Default thing filters
// (these are not required, just useful for new users)
thingsfilters
diff --git a/Build/Configurations/Includes/Game_Doom.cfg b/Build/Configurations/Includes/Game_Doom.cfg
index f3d3fd3..3457bc6 100644
--- a/Build/Configurations/Includes/Game_Doom.cfg
+++ b/Build/Configurations/Includes/Game_Doom.cfg
@@ -1,29 +1,37 @@
// Default lump name for new map
- defaultlumpname = "MAP01";
- basegame = 1; //mxd: 0 - UNKNOWN, 1 - DOOM, 2 - HERETIC, 3 - HEXEN, 4 - STRIFE,
+defaultlumpname = "MAP01";
+basegame = 1; //mxd: 0 - UNKNOWN, 1 - DOOM, 2 - HERETIC, 3 - HEXEN, 4 - STRIFE
- // Decorate actors to include depending on actor game property
- decorategames = "doom";
+// Decorate actors to include depending on actor game property
+decorategames = "doom";
- // Skill levels
- skills
- {
- include("Doom_misc.cfg", "skills");
- }
+//mxd. Sky textures for vanilla maps
+defaultskytextures
+{
+ SKY1 = "MAP01,MAP02,MAP03,MAP04,MAP05,MAP06,MAP07,MAP08,MAP09,MAP10,MAP11";
+ SKY2 = "MAP12,MAP13,MAP14,MAP15,MAP16,MAP17,MAP18,MAP19,MAP20";
+ SKY3 = "MAP21,MAP22,MAP23,MAP24,MAP25,MAP26,MAP27,MAP28,MAP29,MAP30,MAP31,MAP32";
+}
- // Default textures
- defaultwalltexture = "STARTAN";
- defaultfloortexture = "FLOOR0_1";
- defaultceilingtexture = "CEIL1_1";
+// Skill levels
+skills
+{
+ include("Doom_misc.cfg", "skills");
+}
- // Door making
- makedoortrack = "DOORTRAK";
- makedoordoor = "BIGDOOR2";
- makedoorceil = "FLAT20";
+// Default textures
+defaultwalltexture = "STARTAN";
+defaultfloortexture = "FLOOR0_1";
+defaultceilingtexture = "CEIL1_1";
- // Default texture sets
- // (these are not required, but useful for new users)
- texturesets
- {
- include("Doom_texturesets.cfg");
- }
\ No newline at end of file
+// Door making
+makedoortrack = "DOORTRAK";
+makedoordoor = "BIGDOOR2";
+makedoorceil = "FLAT20";
+
+// Default texture sets
+// (these are not required, but useful for new users)
+texturesets
+{
+ include("Doom_texturesets.cfg");
+}
\ No newline at end of file
diff --git a/Build/Configurations/Includes/Game_Heretic.cfg b/Build/Configurations/Includes/Game_Heretic.cfg
index d73b31b..ba674a8 100644
--- a/Build/Configurations/Includes/Game_Heretic.cfg
+++ b/Build/Configurations/Includes/Game_Heretic.cfg
@@ -1,29 +1,37 @@
// Default lump name for new map
- defaultlumpname = "E1M1";
- basegame = 2;
+defaultlumpname = "E1M1";
+basegame = 2;
- // Decorate actors to include depending on actor game property
- decorategames = "heretic raven";
+// Decorate actors to include depending on actor game property
+decorategames = "heretic raven";
- // Skill levels
- skills
- {
- include("Heretic_misc.cfg", "skills");
- }
+//mxd. Sky textures for vanilla maps
+defaultskytextures
+{
+ SKY1 = "E1M1,E1M2,E1M3,E1M4,E1M5,E1M6,E1M7,E1M8,E1M9,E4M1,E4M2,E4M3,E4M4,E4M5,E4M6,E4M7,E4M8,E4M9,E6M1,E6M2,E6M3";
+ SKY2 = "E2M1,E2M2,E2M3,E2M4,E2M5,E2M6,E2M7,E2M8,E2M9";
+ SKY3 = "E3M1,E3M2,E3M3,E3M4,E3M5,E3M6,E3M7,E3M8,E3M9,E5M1,E5M2,E5M3,E5M4,E5M5,E5M6,E5M7,E5M8,E5M9";
+}
- // Default textures
- defaultwalltexture = "GRSTNPB";
- defaultfloortexture = "FLOOR03";
- defaultceilingtexture = "FLAT506";
+// Skill levels
+skills
+{
+ include("Heretic_misc.cfg", "skills");
+}
- // Door making
- makedoortrack = "WOODWL";
- makedoordoor = "DOORWOOD";
- makedoorceil = "FLOOR04";
-
- // Default texture sets
- // (these are not required, but useful for new users)
- texturesets
- {
- include("Heretic_texturesets.cfg");
- }
\ No newline at end of file
+// Default textures
+defaultwalltexture = "GRSTNPB";
+defaultfloortexture = "FLOOR03";
+defaultceilingtexture = "FLAT506";
+
+// Door making
+makedoortrack = "WOODWL";
+makedoordoor = "DOORWOOD";
+makedoorceil = "FLOOR04";
+
+// Default texture sets
+// (these are not required, but useful for new users)
+texturesets
+{
+ include("Heretic_texturesets.cfg");
+}
\ No newline at end of file
diff --git a/Build/Configurations/Includes/Game_Hexen.cfg b/Build/Configurations/Includes/Game_Hexen.cfg
index 30b1418..be50c58 100644
--- a/Build/Configurations/Includes/Game_Hexen.cfg
+++ b/Build/Configurations/Includes/Game_Hexen.cfg
@@ -1,30 +1,30 @@
// Default lump name for new map
- defaultlumpname = "MAP01";
- skyflatname = "F_SKY";
- basegame = 3;
+defaultlumpname = "MAP01";
+skyflatname = "F_SKY";
+basegame = 3;
- // Decorate actors to include depending on actor game property
- decorategames = "hexen raven";
+// Decorate actors to include depending on actor game property
+decorategames = "hexen raven";
- // Skill levels
- skills
- {
- include("Hexen_misc.cfg", "skills");
- }
+// Skill levels
+skills
+{
+ include("Hexen_misc.cfg", "skills");
+}
- // Default textures
- defaultwalltexture = "FOREST01";
- defaultfloortexture = "F_010";
- defaultceilingtexture = "F_011";
+// Default textures
+defaultwalltexture = "FOREST01";
+defaultfloortexture = "F_010";
+defaultceilingtexture = "F_011";
- // Door making
- makedoortrack = "D_END2";
- makedoordoor = "D_WD07";
- makedoorceil = "F_092";
+// Door making
+makedoortrack = "D_END2";
+makedoordoor = "D_WD07";
+makedoorceil = "F_092";
- // Default texture sets
- // (these are not required, but useful for new users)
- texturesets
- {
- include("Hexen_texturesets.cfg");
- }
\ No newline at end of file
+// Default texture sets
+// (these are not required, but useful for new users)
+texturesets
+{
+ include("Hexen_texturesets.cfg");
+}
\ No newline at end of file
diff --git a/Build/Configurations/Includes/Game_Strife.cfg b/Build/Configurations/Includes/Game_Strife.cfg
index de3b6a6..364f336 100644
--- a/Build/Configurations/Includes/Game_Strife.cfg
+++ b/Build/Configurations/Includes/Game_Strife.cfg
@@ -1,30 +1,37 @@
// Default lump name for new map
- defaultlumpname = "MAP01";
- skyflatname = "F_SKY001";
- basegame = 4;
+defaultlumpname = "MAP01";
+skyflatname = "F_SKY001";
+basegame = 4;
- // Decorate actors to include depending on actor game property
- decorategames = "strife";
+// Decorate actors to include depending on actor game property
+decorategames = "strife";
- // Skill levels
- skills
- {
- include("Strife_misc.cfg", "skills");
- }
+//mxd. Sky textures for vanilla maps
+defaultskytextures
+{
+ SKYMNT01 = "MAP10,MAP11,MAP12,MAP13,MAP14,MAP15,MAP16,MAP17,MAP18,MAP19,MAP20,MAP21,MAP22,MAP23,MAP24,MAP25,MAP26,MAP27,MAP28,MAP29,MAP30,MAP31";
+ SKYMNT02 = "MAP01,MAP02,MAP03,MAP04,MAP05,MAP06,MAP07,MAP08,MAP09,MAP32,MAP33,MAP34";
+}
- // Default textures
- defaultwalltexture = "BRKGRY17";
- defaultfloortexture = "F_NOLINE";
- defaultceilingtexture = "F_DECK";
+// Skill levels
+skills
+{
+ include("Strife_misc.cfg", "skills");
+}
- // Door making
- makedoortrack = "DORTRK01";
- makedoordoor = "DORML01";
- makedoorceil = "F_UNDOOR";
+// Default textures
+defaultwalltexture = "BRKGRY17";
+defaultfloortexture = "F_NOLINE";
+defaultceilingtexture = "F_DECK";
- // Default texture sets
- // (these are not required, but useful for new users)
- texturesets
- {
- include("Strife_texturesets.cfg");
- }
\ No newline at end of file
+// Door making
+makedoortrack = "DORTRK01";
+makedoordoor = "DORML01";
+makedoorceil = "F_UNDOOR";
+
+// Default texture sets
+// (these are not required, but useful for new users)
+texturesets
+{
+ include("Strife_texturesets.cfg");
+}
\ No newline at end of file
diff --git a/Build/Configurations/Includes/ZDoom_things.cfg b/Build/Configurations/Includes/ZDoom_things.cfg
index 071ee51..a8cdb86 100644
--- a/Build/Configurations/Includes/ZDoom_things.cfg
+++ b/Build/Configurations/Includes/ZDoom_things.cfg
@@ -32,20 +32,6 @@ zdoom
}
}
- obstacles
- {
- blocking = 2;
-
- 5050
- {
- title = "Stalagmite";
- sprite = "SMT2A0";
- class = "Stalagmite";
- width = 16;
- height = 48;
- }
- }
-
lights
{
blocking = 2;
@@ -1396,6 +1382,20 @@ doom
class = "StealthZombieMan";
}
}
+
+ obstacles
+ {
+ blocking = 2;
+
+ 5050
+ {
+ title = "Stalagmite";
+ sprite = "SMT2A0";
+ class = "Stalagmite";
+ width = 16;
+ height = 48;
+ }
+ }
decoration
{
diff --git a/Build/Configurations/Other Games/Action Doom/Includes/Game_Action2.cfg b/Build/Configurations/Other Games/Action Doom/Includes/Game_Action2.cfg
index 0444ba6..7a3e6b1 100644
--- a/Build/Configurations/Other Games/Action Doom/Includes/Game_Action2.cfg
+++ b/Build/Configurations/Other Games/Action Doom/Includes/Game_Action2.cfg
@@ -1,29 +1,37 @@
// Default lump name for new map
- defaultlumpname = "MAP01";
+defaultlumpname = "MAP01";
- // Decorate actors to include depending on actor game property
- decorategames = "action2"; // Doesn't actually exist, but used to prevent loading Doom actors when loading zdoom.pk3
+// Decorate actors to include depending on actor game property
+decorategames = "action2"; // Doesn't actually exist, but used to prevent loading Doom actors when loading zdoom.pk3
- // Skill levels
- skills
- {
- include("Action2_misc.cfg", "skills");
- }
+//mxd. Sky textures for vanilla maps
+defaultskytextures
+{
+ SKY1 = "MAP01,MAP02,MAP03,MAP04,MAP05,MAP06,MAP07,MAP08,MAP09,MAP10,MAP11";
+ SKY2 = "MAP12,MAP13,MAP14,MAP15,MAP16,MAP17,MAP18,MAP19,MAP20";
+ SKY3 = "MAP21,MAP22,MAP23,MAP24,MAP25,MAP26,MAP27,MAP28,MAP29,MAP30,MAP31,MAP32";
+}
- // Door making
- makedoortrack = "BLACK";
+// Skill levels
+skills
+{
+ include("Action2_misc.cfg", "skills");
+}
- // Default thing filters
- // (these are not required, just useful for new users)
- /*thingsfilters
- {
- include("Doom_misc.cfg", "thingsfilters");
- }*/
-
+// Door making
+makedoortrack = "BLACK";
- // Default texture sets
- // (these are not required, but useful for new users)
- texturesets
- {
- include("Action2_texturesets.cfg");
- }
\ No newline at end of file
+// Default thing filters
+// (these are not required, just useful for new users)
+/*thingsfilters
+{
+ include("Doom_misc.cfg", "thingsfilters");
+}*/
+
+
+// Default texture sets
+// (these are not required, but useful for new users)
+texturesets
+{
+ include("Action2_texturesets.cfg");
+}
\ No newline at end of file
diff --git a/Build/Configurations/Other Games/Chex Quest 3/Includes/Game_Chex3.cfg b/Build/Configurations/Other Games/Chex Quest 3/Includes/Game_Chex3.cfg
index ab06f56..26c14ba 100644
--- a/Build/Configurations/Other Games/Chex Quest 3/Includes/Game_Chex3.cfg
+++ b/Build/Configurations/Other Games/Chex Quest 3/Includes/Game_Chex3.cfg
@@ -1,28 +1,34 @@
// Default lump name for new map
- defaultlumpname = "MAP01";
+defaultlumpname = "MAP01";
- // Decorate actors to include depending on actor game property
- decorategames = "chex";
+// Decorate actors to include depending on actor game property
+decorategames = "chex";
- // Skill levels
- skills
- {
- include("Chex_misc.cfg", "skills");
- }
+//mxd. Sky textures for vanilla maps
+defaultskytextures
+{
+ SKY1 = "E1M1,E1M2,E1M3,E1M4,E1M5";
+}
- // Door making
- makedoortrack = "COMPSTA1";
+// Skill levels
+skills
+{
+ include("Chex_misc.cfg", "skills");
+}
- // Default thing filters
- // (these are not required, just useful for new users)
- /*thingsfilters
- {
- include("Doom_misc.cfg", "thingsfilters");
- }*/
+// Door making
+makedoortrack = "COMPSTA1";
- // Default texture sets
- // (these are not required, but useful for new users)
- texturesets
- {
- include("Chex3_texturesets.cfg");
- }
\ No newline at end of file
+// Default thing filters
+// (these are not required, just useful for new users)
+/*thingsfilters
+{
+ include("Doom_misc.cfg", "thingsfilters");
+}*/
+
+// Default texture sets
+// (these are not required, but useful for new users)
+texturesets
+{
+ include("Chex3_texturesets.cfg");
+}
\ No newline at end of file
diff --git a/Build/Configurations/Other Games/Chex Quest/Includes/Game_Chex.cfg b/Build/Configurations/Other Games/Chex Quest/Includes/Game_Chex.cfg
index 21f5b1e..115af36 100644
--- a/Build/Configurations/Other Games/Chex Quest/Includes/Game_Chex.cfg
+++ b/Build/Configurations/Other Games/Chex Quest/Includes/Game_Chex.cfg
@@ -1,28 +1,34 @@
// Default lump name for new map
- defaultlumpname = "MAP01";
+defaultlumpname = "MAP01";
- // Decorate actors to include depending on actor game property
- decorategames = "chex";
+// Decorate actors to include depending on actor game property
+decorategames = "chex";
- // Skill levels
- skills
- {
- include("Chex_misc.cfg", "skills");
- }
+//mxd. Sky textures for vanilla maps
+defaultskytextures
+{
+ SKY1 = "E1M1,E1M2,E1M3,E1M4,E1M5";
+}
- // Door making
- makedoortrack = "COMPSTA1";
+// Skill levels
+skills
+{
+ include("Chex_misc.cfg", "skills");
+}
- // Default thing filters
- // (these are not required, just useful for new users)
- /*thingsfilters
- {
- include("Doom_misc.cfg", "thingsfilters");
- }*/
+// Door making
+makedoortrack = "COMPSTA1";
- // Default texture sets
- // (these are not required, but useful for new users)
- texturesets
- {
- include("Chex_texturesets.cfg");
- }
\ No newline at end of file
+// Default thing filters
+// (these are not required, just useful for new users)
+/*thingsfilters
+{
+ include("Doom_misc.cfg", "thingsfilters");
+}*/
+
+// Default texture sets
+// (these are not required, but useful for new users)
+texturesets
+{
+ include("Chex_texturesets.cfg");
+}
\ No newline at end of file
diff --git a/Build/Configurations/Other Games/Harmony/Includes/Game_Harmony.cfg b/Build/Configurations/Other Games/Harmony/Includes/Game_Harmony.cfg
index ba8c7f2..654f1f2 100644
--- a/Build/Configurations/Other Games/Harmony/Includes/Game_Harmony.cfg
+++ b/Build/Configurations/Other Games/Harmony/Includes/Game_Harmony.cfg
@@ -1,28 +1,36 @@
// Default lump name for new map
- defaultlumpname = "MAP01";
+defaultlumpname = "MAP01";
- // Decorate actors to include depending on actor game property
- decorategames = "harmony"; // Doesn't actually exist, but used to prevent loading Doom actors when loading zdoom.pk3
+// Decorate actors to include depending on actor game property
+decorategames = "harmony"; // Doesn't actually exist, but used to prevent loading Doom actors when loading zdoom.pk3
- // Skill levels
- skills
- {
- include("Harmony_misc.cfg", "skills");
- }
+//mxd. Sky textures for vanilla maps
+defaultskytextures
+{
+ SKY1 = "MAP01,MAP02,MAP03,MAP04,MAP05,MAP06,MAP07,MAP08,MAP09,MAP10,MAP11";
+ SKY2 = "MAP12,MAP13,MAP14,MAP15,MAP16,MAP17,MAP18,MAP19,MAP20";
+ SKY3 = "MAP21,MAP22,MAP23,MAP24,MAP25,MAP26,MAP27,MAP28,MAP29,MAP30,MAP31,MAP32";
+}
- // Door making
- makedoortrack = "DOORTRAK";
+// Skill levels
+skills
+{
+ include("Harmony_misc.cfg", "skills");
+}
- // Default thing filters
- // (these are not required, just useful for new users)
- /*thingsfilters
- {
- include("Doom_misc.cfg", "thingsfilters");
- }*/
+// Door making
+makedoortrack = "DOORTRAK";
- // Default texture sets
- // (these are not required, but useful for new users)
- texturesets
- {
- include("Harmony_texturesets.cfg");
- }
\ No newline at end of file
+// Default thing filters
+// (these are not required, just useful for new users)
+/*thingsfilters
+{
+ include("Doom_misc.cfg", "thingsfilters");
+}*/
+
+// Default texture sets
+// (these are not required, but useful for new users)
+texturesets
+{
+ include("Harmony_texturesets.cfg");
+}
\ No newline at end of file
diff --git a/Build/Scripting/ZDoom_ACS.cfg b/Build/Scripting/ZDoom_ACS.cfg
index 9753e4b..75acc13 100644
--- a/Build/Scripting/ZDoom_ACS.cfg
+++ b/Build/Scripting/ZDoom_ACS.cfg
@@ -121,7 +121,7 @@ keywords
Death = "Script expression Death";
Default = "default:";
Delay = "void Delay(int tics)";
- Disconnect = "Disconnect script expression";
+ Disconnect = "Script expression Disconnect";
Do = "do";
Door_Animated = "Door_Animated(tag, speed, delay, lock)";
Door_Close = "Door_Close(tag, speed, lighttag)";
@@ -261,7 +261,7 @@ keywords
Light_Strobe = "Light_Strobe(tag, upper, lower, u-tics, l-tics)";
Light_StrobeDoom = "Light_StrobeDoom(tag, u-tics, l-tics)";
Lightning = "Script expression Lightning";
- LineAttack = "LineAttack(int tid, fixed angle, fixed pitch, int damage[, str pufftype = 'BulletPuff'[, str damagetype = 'None'[, fixed range = 2048[, int flags = 0]]]])\nFires a hitscan attack. If tid is 0, the activator of the script is the source of the attack.";
+ LineAttack = "LineAttack(int tid, fixed angle, fixed pitch, int damage[, str pufftype = 'BulletPuff'[, str damagetype = 'None'[, fixed range = 2048[, int flags = 0[, int pufftid = 0]]]]])\nFires a hitscan attack. If tid is 0, the activator of the script is the source of the attack.";
Line_AlignCeiling = "Line_AlignCeiling(lineid, side)";
Line_AlignFloor = "Line_AlignFloor(lineid, side)";
Line_SetBlocking = "Line_SetBlocking(lineid, setflags, clearflags)";
@@ -390,6 +390,8 @@ keywords
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)";
+ SetSectorDamage = "fixed SetSectorDamage(int tag, int amount, str damagetype, int interval, int leaky)";
+ SetSectorTerrain = "fixed SetSectorTerrain(int tag, int plane, str terraintype)";
SetSkyScrollSpeed = "void SetSkyScrollSpeed(int sky, fixed skyspeed)\nChanges the scrolling speed of a sky.\nThis is useful in conjunction with ChangeSky.\nsky: either 1 or 2.\nskyspeed: the desired scrolling speed.";
SetActorTeleFog = "void SetActorTeleFog(int tid, str telefogsrcclass, str telefogdestclass";
SetThingSpecial = "void SetThingSpecial(int tid, int special[, int arg0[, int arg1[, int arg2[, int arg3[, int arg4]]]]])\nSets the special for any things with the same TID.\nThis is similar to Thing_SetSpecial, except it can only be used from ACS,\nand it can set all of a thing's special arguments.\nIf tid is 0, then the activator is used.";
@@ -547,11 +549,12 @@ constants
APROP_Mass;
APROP_MasterTID;
APROP_MeleeRange;
- APROP_NameTag;
- APROP_NoTarget;
- APROP_NoTrigger;
+ APROP_Nametag;
+ APROP_Notarget;
+ APROP_Notrigger;
APROP_PainSound;
APROP_Radius;
+ APROP_Reactiontime;
APROP_RenderStyle;
APROP_ScaleX;
APROP_ScaleY;
@@ -566,12 +569,12 @@ constants
APROP_TracerTID;
APROP_ViewHeight;
APROP_Waterlevel;
- ARMORINFO_CLASSNAME;
- ARMORINFO_SAVEAMOUNT;
ARMORINFO_ACTUALSAVEAMOUNT;
- ARMORINFO_SAVEPERCENT;
+ ARMORINFO_CLASSNAME;
ARMORINFO_MAXABSORB;
ARMORINFO_MAXFULLABSORB;
+ ARMORINFO_SAVEAMOUNT;
+ ARMORINFO_SAVEPERCENT;
ATTN_IDLE;
ATTN_NONE;
ATTN_NORM;
@@ -590,6 +593,7 @@ constants
BLOCKF_PROJECTILES;
BLOCKF_RAILING;
BLOCKF_SIGHT;
+ BLOCKF_SOUND;
BLOCKF_USE;
BT_ALTATTACK;
BT_ATTACK;
@@ -617,20 +621,19 @@ constants
BT_USER4;
BT_ZOOM;
CARRY;
- CHAN_AREA;
+ CHAN_5;
+ CHAN_6;
+ CHAN_7;
CHAN_AUTO;
CHAN_BODY;
CHAN_ITEM;
CHAN_LISTENERZ;
- CHAN_LOOP;
CHAN_MAYBE_LOCAL;
CHAN_NOPAUSE;
CHAN_UI;
CHAN_VOICE;
CHAN_WEAPON;
- CHAN_5;
- CHAN_6;
- CHAN_7;
+ CHANGELEVEL_CHANGESKILL;
CHANGELEVEL_KEEPFACING;
CHANGELEVEL_NOINTERMISSION;
CHANGELEVEL_NOMONSTERS;
@@ -670,9 +673,27 @@ constants
DAMAGE_NONPLAYERS;
DAMAGE_PLAYERS;
DAMAGE_SUBCLASSES_PROTECT;
+ DB_ORDER_ASC;
+ DB_ORDER_DESC;
+ EV_Char;
+ EV_KeyDown;
+ EV_KeyRepeat;
+ EV_KeyUp;
+ EV_LButtonDblClick;
+ EV_LButtonDown;
+ EV_LButtonUp;
+ EV_MButtonDblClick;
+ EV_MButtonDown;
+ EV_MButtonUp;
+ EV_MouseMove;
+ EV_RButtonDblClick;
+ EV_RButtonDown;
+ EV_RButtonUp;
+ EV_WheelDown;
+ EV_WheelUp;
FALSE;
- FHF_NORANDOMPUFFZ;
FHF_NOIMPACTDECAL;
+ FHF_NORANDOMPUFFZ;
FOGP_DENSITY;
FOGP_OUTSIDEDENSITY;
FOGP_SKYFOG;
@@ -680,6 +701,45 @@ constants
GAME_NET_DEATHMATCH;
GAME_SINGLE_PLAYER;
GAME_TITLE_MAP;
+ GK_ALERT;
+ GK_BACKSPACE;
+ GK_CESCAPE;
+ GK_DEL;
+ GK_DOWN;
+ GK_END;
+ GK_ESCAPE;
+ GK_F1;
+ GK_F10;
+ GK_F11;
+ GK_F12;
+ GK_F2;
+ GK_F3;
+ GK_F4;
+ GK_F5;
+ GK_F6;
+ GK_F7;
+ GK_F8;
+ GK_F9;
+ GK_FORMFEED;
+ GK_FREE1;
+ GK_FREE2;
+ GK_FREE3;
+ GK_HOME;
+ GK_LEFT;
+ GK_LINEFEED;
+ GK_PGDN;
+ GK_PGUP;
+ GK_RETURN;
+ GK_RIGHT;
+ GK_TAB;
+ GK_UP;
+ GK_VTAB;
+ GKM_ALT;
+ GKM_CTRL;
+ GKM_LBUTTON;
+ GKM_MBUTTON;
+ GKM_RBUTTON;
+ GKM_SHIFT;
HUDMSG_ADDBLEND;
HUDMSG_ALPHA;
HUDMSG_COLORSTRING;
@@ -733,66 +793,69 @@ constants
MARINEWEAPON_RocketLauncher;
MARINEWEAPON_Shotgun;
MARINEWEAPON_SuperShotgun;
- MF_SPECIAL;
- MF_SOLID;
- MF_SHOOTABLE;
- MF_NOSECTOR;
- MF_NOBLOCKMAP;
MF_AMBUSH;
- MF_JUSTHIT;
- MF_JUSTATTACKED;
- MF_SPAWNCEILING;
- MF_NOGRAVITY;
- MF_DROPOFF;
- MF_PICKUP;
- MF_NOCLIP;
- MF_INCHASE;
- MF_FLOAT;
- MF_TELEPORT;
- MF_MISSILE;
- MF_DROPPED;
- MF_SHADOW;
- MF_NOBLOOD;
MF_CORPSE;
- MF_INFLOAT;
- MF_INBOUNCE;
- MF_COUNTKILL;
MF_COUNTITEM;
- MF_SKULLFLY;
- MF_NOTDMATCH;
- MF_SPAWNSOUNDSOURCE;
+ MF_COUNTKILL;
+ MF_DROPOFF;
+ MF_DROPPED;
+ MF_FLOAT;
MF_FRIENDLY;
- MF_UNMORPHED;
- MF_NOLIFTDROP;
- MF_STEALTH;
MF_ICECORPSE;
- ML_BLOCKING;
- ML_BLOCKMONSTERS;
- ML_TWOSIDED;
- ML_DONTPEGTOP;
- ML_DONTPEGBOTTOM;
- ML_SECRET;
- ML_SOUNDBLOCK;
- ML_DONTDRAW;
- ML_MAPPED;
- ML_REPEAT_SPECIAL;
+ MF_INBOUNCE;
+ MF_INCHASE;
+ MF_INFLOAT;
+ MF_JUSTATTACKED;
+ MF_JUSTHIT;
+ MF_MISSILE;
+ MF_NOBLOCKMAP;
+ MF_NOBLOOD;
+ MF_NOCLIP;
+ MF_NOGRAVITY;
+ MF_NOLIFTDROP;
+ MF_NOSECTOR;
+ MF_NOTDMATCH;
+ MF_PICKUP;
+ MF_SHADOW;
+ MF_SHOOTABLE;
+ MF_SKULLFLY;
+ MF_SOLID;
+ MF_SPAWNCEILING;
+ MF_SPAWNSOUNDSOURCE;
+ MF_SPECIAL;
+ MF_STEALTH;
+ MF_TELEPORT;
+ MF_UNMORPHED;
+ ML_3DMIDTEX;
ML_ADDTRANS;
- ML_MONSTERSCANACTIVATE;
+ ML_BLOCK_FLOATERS;
ML_BLOCK_PLAYERS;
ML_BLOCKEVERYTHING;
- ML_ZONEBOUNDARY;
- ML_RAILING;
- ML_BLOCK_FLOATERS;
- ML_CLIP_MIDTEX;
- ML_WRAP_MIDTEX;
- ML_3DMIDTEX;
- ML_CHECKSWITCHRANGE;
- ML_FIRSTSIDEONLY;
- ML_BLOCKPROJECTILE;
- ML_BLOCKUSE;
- ML_BLOCKSIGHT;
ML_BLOCKHITSCAN;
+ ML_BLOCKING;
+ ML_BLOCKMONSTERS;
+ ML_BLOCKPROJECTILE;
+ ML_BLOCKSIGHT;
+ ML_BLOCKUSE;
+ ML_CHECKSWITCHRANGE;
+ ML_CLIP_MIDTEX;
+ ML_DONTDRAW;
+ ML_DONTPEGBOTTOM;
+ ML_DONTPEGTOP;
+ ML_FIRSTSIDEONLY;
+ ML_MAPPED;
+ ML_MONSTERSCANACTIVATE;
+ ML_RAILING;
+ ML_REPEAT_SPECIAL;
+ ML_SECRET;
+ ML_SOUNDBLOCK;
+ ML_TWOSIDED;
+ ML_WRAP_MIDTEX;
+ ML_ZONEBOUNDARY;
+ MOD_BARREL;
+ MOD_BFG_BOOM;
MOD_BFG_SPLASH;
+ MOD_CHAINSAW;
MOD_CRUSH;
MOD_DISINTEGRATE;
MOD_ELECTRIC;
@@ -801,9 +864,14 @@ constants
MOD_HIT;
MOD_ICE;
MOD_LAVA;
+ MOD_PLASMARIFLE;
MOD_POISON;
+ MOD_R_SPLASH;
MOD_RAILGUN;
+ MOD_ROCKET;
MOD_SLIME;
+ MOD_SPLASH;
+ MOD_SSHOTGUN;
MOD_SUICIDE;
MOD_TELEFRAG;
MOD_UNKNOWN;
@@ -835,6 +903,7 @@ constants
MRF_WHENINVULNERABLE;
NO;
NO_CHANGE;
+ NO_TEAM;
NOT_BOTTOM;
NOT_CEILING;
NOT_FLOOR;
@@ -875,11 +944,11 @@ constants
PTROP_NOSAFEGUARDS;
PTROP_UNSAFEMASTER;
PTROP_UNSAFETARGET;
+ QF_FULLINTENSITY;
+ QF_MAX;
QF_RELATIVE;
QF_SCALEDOWN;
QF_SCALEUP;
- QF_MAX;
- QF_FULLINTENSITY;
QF_WAVE;
SCROLL;
SCROLL_AND_CARRY;
@@ -900,21 +969,31 @@ constants
SKILL_NORMAL;
SKILL_VERY_EASY;
SKILL_VERY_HARD;
- SPAC_None;
- SPAC_Cross;
- SPAC_Use;
- SPAC_MCross;
- SPAC_Impact;
- SPAC_Push;
- SPAC_PCross;
- SPAC_UseThrough;
+ SOUND_Active;
+ SOUND_Attack;
+ SOUND_Bounce;
+ SOUND_CrushPain;
+ SOUND_Death;
+ SOUND_Howl;
+ SOUND_Pain;
+ SOUND_See;
+ SOUND_Use;
+ SOUND_WallBounce;
SPAC_AnyCross;
- SPAC_MUse;
+ SPAC_Cross;
+ SPAC_Impact;
+ SPAC_MCross;
SPAC_MPush;
+ SPAC_MUse;
+ SPAC_None;
+ SPAC_PCross;
+ SPAC_Push;
+ SPAC_Use;
SPAC_UseBack;
+ SPAC_UseThrough;
STYLE_Add;
- STYLE_AddStencil;
STYLE_AddShaded;
+ STYLE_AddStencil;
STYLE_Fuzzy;
STYLE_None;
STYLE_Normal;
@@ -1242,6 +1321,8 @@ constants
T_YELLOWKEYCARD;
T_YELLOWSKULLKEY;
T_ZOMBIE;
+ TEAM_BLUE;
+ TEAM_RED;
TEXFLAG_ADDOFFSET;
TEXFLAG_BOTTOM;
TEXFLAG_MIDDLE;
@@ -1249,22 +1330,41 @@ constants
TEXTURE_BOTTOM;
TEXTURE_MIDDLE;
TEXTURE_TOP;
- WARPF_ABSOLUTEOFFSET;
+ TPROP_Assister;
+ TPROP_Carrier;
+ TPROP_DeathCount;
+ TPROP_FragCount;
+ TPROP_IsValid;
+ TPROP_LoserTheme;
+ TPROP_Name;
+ TPROP_NumLivePlayers;
+ TPROP_NumPlayers;
+ TPROP_PlayerStartNum;
+ TPROP_PointCount;
+ TPROP_ReturnTics;
+ TPROP_Score;
+ TPROP_Spread;
+ TPROP_TeamItem;
+ TPROP_TextColor;
+ TPROP_WinCount;
+ TPROP_WinnerTheme;
+ TRANSLATION_ICE;
+ TRUE;
WARPF_ABSOLUTEANGLE;
- WARPF_USECALLERANGLE;
- WARPF_NOCHECKPOSITION;
- WARPF_INTERPOLATE;
- WARPF_WARPINTERPOLATION;
- WARPF_COPYINTERPOLATION;
- WARPF_STOP;
- WARPF_TOFLOOR;
- WARPF_TESTONLY;
+ WARPF_ABSOLUTEOFFSET;
WARPF_ABSOLUTEPOSITION;
WARPF_BOB;
- WARPF_MOVEPTR;
- WARPF_USEPTR;
- WARPF_COPYVELOCITY;
+ WARPF_COPYINTERPOLATION;
WARPF_COPYPITCH;
- TRUE;
+ WARPF_COPYVELOCITY;
+ WARPF_INTERPOLATE;
+ WARPF_MOVEPTR;
+ WARPF_NOCHECKPOSITION;
+ WARPF_STOP;
+ WARPF_TESTONLY;
+ WARPF_TOFLOOR;
+ WARPF_USECALLERANGLE;
+ WARPF_USEPTR;
+ WARPF_WARPINTERPOLATION;
YES;
}
\ No newline at end of file
diff --git a/Build/Textures/MissingSky3D.png b/Build/Textures/MissingSky3D.png
new file mode 100644
index 0000000..cb86d71
Binary files /dev/null and b/Build/Textures/MissingSky3D.png differ
diff --git a/Help/gc_basicsettings.html b/Help/gc_basicsettings.html
index 528c64f..6a6904c 100644
--- a/Help/gc_basicsettings.html
+++ b/Help/gc_basicsettings.html
@@ -23,10 +23,11 @@
game (string)
The name that is displayed in Doom Buider for your Game Configuration.
+ Default value is "<unnamed game>".
enabledbydefault (boolean) - GZDB only.
This game configuration is available by default. You can enable and disable game configurations using Game Configurations window.
- The default value is false.
+ Default value is false.
actionspecialhelp (string) - GZDB only.
The URL used to display action special help. "%K" wildcard is replaced by id property defined in action definition.
@@ -38,7 +39,7 @@
basegame (integer) [0 .. 4] - GZDB only.
Indicates which game the current configuration is based on. Used to load game-specific GLDEFS lumps (DOOMDEFS, HTICDEFS, HEXNDEFS or STRFDEFS).
Possible values: 1 (DOOM), 2 (HERETIC), 3 (HEXEN) or 4 (STRIFE).
- The default value is 0 (don't load game-specific lumps).
+ Default value is 0 (don't load game-specific lumps).
engine (string)
@@ -52,7 +53,7 @@
testshortpaths (boolean)
Set to true to use MSDOS 8.3 format paths and filenames by default. The user can still change this in the Game Configurations window.
- The default value is false.
+ Default value is false.
defaultsavecompiler (string)
Name of the Nodebuilder Compiler Configuration structure to use as the default settings for the compiler that is used when saving the map. The user can still change this in the Game Configurations window.
@@ -67,7 +68,7 @@
This defines the skill options the user has available with this game engine/project. The settings in this structure are expected to be numbers with string values (the descriptive name for the skill level).
Example:
-
+
skills
{
1 = "I'm too young to die";
@@ -79,7 +80,8 @@ skills
linetagindicatesectors (boolean)
- When true, 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).
The default is false.
+ When true, 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).
+Default value is false.
singlesidedflag (integer or string)
This lets Doom Builder know the linedef flag 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.
@@ -91,22 +93,28 @@ skills
This lets Doom Builder know the linedef flag 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.
defaultwalltexture (string) - GZDB only.
- Name of a texture to use on sidedefs when creating a new sector.
+ Name of a texture to use on sidedefs when creating a new sector.
+"STARTAN".
defaultfloortexture (string) - GZDB only.
- Name of a flat to use on the floor when creating a new sector.
+ Name of a flat to use on the floor when creating a new sector.
+ Default value is "FLOOR0_1".
defaultceilingtexture (string) - GZDB only.
- Name of a flat to use on the ceiling when creating a new sector.
+ Name of a flat to use on the ceiling when creating a new sector.
+ Default value is "CEIL1_1".
makedoortrack (string)
Name of a texture to use on the walls when making a door.
+ Default value is "-" (no texture).
makedoordoor (string) - GZDB only.
Name of a texture to use as the door texture when making a door.
+ Default value is "-" (no texture).
makedoorceil (string) - GZDB only.
Name of a texture to use as the door's ceiling texture when making a door.
+ Default value is "-" (no texture).
makedooraction (integer)
Linedef action number to put on the lines when making a door.
@@ -115,13 +123,28 @@ skills
Arguments for the linedef action number to put on the lines when making a door.
doomlightlevels (boolean)
- Set this to false to use linear lighting in Doom Builder. Normally Doom Builder uses a simulation of Doom's light levels.
Default value is true.
+ Set this to false to use linear lighting in Doom Builder. Normally Doom Builder uses a simulation of Doom's light levels.
+
Default value is true.
start3dmode (integer)
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.
skyflatname (string)
- 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.
+ 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.
+
Default value is "F_SKY1".
+
+ defaultskytextures (structure) - GZDB only.
+ Defines the relationship between map names and sky texture names used by vanilla maps.
+
+ Example:
+
+defaultskytextures
+{
+ SKY1 = "MAP01,MAP02,MAP03,MAP04,MAP05";
+ SKY2 = "MAP12,MAP13,MAP14,MAP15,MAP16";
+ SKY3 = "MAP21,MAP22,MAP23,MAP24,MAP25";
+}
+
longtexturenames (boolean) - GZDB only.
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.
Default value is false.
diff --git a/Help/gc_resourcesettings.html b/Help/gc_resourcesettings.html
index 9852425..9646f8a 100644
--- a/Help/gc_resourcesettings.html
+++ b/Help/gc_resourcesettings.html
@@ -21,7 +21,7 @@
decorategames (string)
Fill this to the game names to support DECORATE actors from. Only the DECORATE actors who's game name is in this string will be loaded. If this setting is not set, DECORATE lumps are not loaded.
- Example:
+ Example:
decorategames = "heretic raven";
@@ -41,7 +41,7 @@ decorategames = "heretic raven";
textures (structure)
This lists the marker lump names that indicate the begin and end of a list of textures that Doom Builder should load. There must be a separate structure for each range, for which the structure name doesn't matter. The range must have a 'start' setting and an 'end' setting of which the values must be the names of the start and end lumps (strings). Please note that PNAMES, TEXTURE1 and TEXTURE2 lumps do not need to be in the game configuration, they are always loaded when available.
- Example:
+ Example:
textures
{
@@ -56,7 +56,7 @@ textures
patches (structure)
This lists the marker lump names that indicate the begin and end of a list of patches that Doom Builder should load. There must be a separate structure for each range, for which the structure name doesn't matter. The range must have a 'start' setting and an 'end' setting of which the values must be the names of the start and end lumps (strings). Note that Doom Builder does not load all patches, only those that are used by the textures.
- Example:
+ Example:
patches
{
@@ -77,7 +77,7 @@ patches
sprites (structure)
This lists the marker lump names that indicate the begin and end of a list of sprites that Doom Builder should load. There must be a separate structure for each range, for which the structure name doesn't matter. The range must have a 'start' setting and an 'end' setting of which the values must be the names of the start and end lumps (strings). Note that Doom Builder does not load all sprites, only those that are used by the things.
- Example:
+ Example:
sprites
{
@@ -92,7 +92,7 @@ sprites
flats (structure)
This lists the marker lump names that indicate the begin and end of a list of flats that Doom Builder should load. There must be a separate structure for each range, for which the structure name doesn't matter. The range must have a 'start' setting and an 'end' setting of which the values must be the names of the start and end lumps (strings).
- Example:
+ Example:
flats
{
@@ -107,7 +107,7 @@ flats
colormaps (structure)
This lists the marker lump names that indicate the begin and end of a list of colormaps that Doom Builder should load. There must be a separate structure for each range, for which the structure name doesn't matter. The range must have a 'start' setting and an 'end' setting of which the values must be the names of the start and end lumps (strings).
- Example:
+ Example:
colormaps
{
diff --git a/Source/Core/Builder.csproj b/Source/Core/Builder.csproj
index 078fc80..baa6a41 100644
--- a/Source/Core/Builder.csproj
+++ b/Source/Core/Builder.csproj
@@ -46,8 +46,9 @@
..\..\Build\Builder.xml
- 3
+ 4
true
+ 1591
true
@@ -502,8 +503,8 @@
-
- True
+
+ True
True
Resources.resx
@@ -583,7 +584,7 @@
Designer
ResXFileCodeGenerator
- Resources.Designer.cs
+ Resources.Designer.cs
@@ -875,6 +876,7 @@
+
@@ -1132,10 +1134,12 @@
+
+
diff --git a/Source/Core/Config/GameConfiguration.cs b/Source/Core/Config/GameConfiguration.cs
index 37041eb..aa237a6 100644
--- a/Source/Core/Config/GameConfiguration.cs
+++ b/Source/Core/Config/GameConfiguration.cs
@@ -77,7 +77,8 @@ namespace CodeImp.DoomBuilder.Config
private readonly bool linetagindicatesectors;
private readonly string decorategames;
private string skyflatname;
- private readonly int maxtexturenamelength;
+ private Dictionary defaultskytextures; //mxd