From 7f6c6a1122aacb705b7a4a713f6ef5d9d1510cfe Mon Sep 17 00:00:00 2001 From: MaxED Date: Mon, 27 May 2013 12:20:15 +0000 Subject: [PATCH] Linedef flags were not translated properly when a map format was changed to/from UDMF. Linedef colors were not updated properly when a map format was changed and were causing an exception in some cases. Vertices mode: linedef in split linedefs range was redreawn incorrectly in some cases. Updated "Sector 3D Floor" (160) action: set default Type to Solid (1), added "Use Arg5 as Line ID" flag to Types, changed arg5 name to "Line ID / Hi-Tag". Added "GetUserCVar", "SetCVar" and "SetUserCVar" functions to ACS configuration. Set width and height of several actors to 0 in game configutrations (non-zero sizes were added as a workaround when GZDB was not displaying actors with 0 width and height in Visual mode). Added several sprites to game configurations. --- Build/Configurations/Includes/Boom_things.cfg | 4 +-- .../Includes/Eternity_things.cfg | 4 +-- .../Configurations/Includes/GZDoom_things.cfg | 4 +-- .../Configurations/Includes/Hexen_things.cfg | 6 +++- .../Configurations/Includes/ZDoom_common.cfg | 10 ++++++ .../Includes/ZDoom_linedefs.cfg | 4 ++- .../Configurations/Includes/ZDoom_things.cfg | 15 ++++---- Build/Scripting/ZDoom_ACS.cfg | 3 ++ Build/Sprites/Actor.png | Bin 0 -> 729 bytes Source/Core/General/MapManager.cs | 14 ++++++++ Source/Core/Map/Linedef.cs | 12 ++++--- .../BuilderModes/ClassicModes/VerticesMode.cs | 33 +++++++++++------- 12 files changed, 77 insertions(+), 32 deletions(-) create mode 100644 Build/Sprites/Actor.png diff --git a/Build/Configurations/Includes/Boom_things.cfg b/Build/Configurations/Includes/Boom_things.cfg index f8c80315..b339b46f 100644 --- a/Build/Configurations/Includes/Boom_things.cfg +++ b/Build/Configurations/Includes/Boom_things.cfg @@ -4,8 +4,8 @@ boom color = 8; // Grey arrow = 1; title = "Boom Items"; - width = 8; - height = 16; + width = 0; + height = 0; sort = 1; fixedsize = true; diff --git a/Build/Configurations/Includes/Eternity_things.cfg b/Build/Configurations/Includes/Eternity_things.cfg index 85ee365e..ee4328d2 100644 --- a/Build/Configurations/Includes/Eternity_things.cfg +++ b/Build/Configurations/Includes/Eternity_things.cfg @@ -25,8 +25,8 @@ eternity color = 8; // Grey arrow = 1; title = "Eternity"; - width = 10; - height = 20; + width = 0; + height = 0; sort = 1; fixedsize = true; sprite = "internal:arrow"; diff --git a/Build/Configurations/Includes/GZDoom_things.cfg b/Build/Configurations/Includes/GZDoom_things.cfg index 8b8fd3db..27a54029 100644 --- a/Build/Configurations/Includes/GZDoom_things.cfg +++ b/Build/Configurations/Includes/GZDoom_things.cfg @@ -6,8 +6,8 @@ gzdoom_lights arrow = 0; title = "Dynamic Lights"; sort = 1; - width = 8; - height = 16; + width = 0; + height = 0; hangs = 0; blocking = 0; fixedsize = true; diff --git a/Build/Configurations/Includes/Hexen_things.cfg b/Build/Configurations/Includes/Hexen_things.cfg index 39742d61..dfbeae50 100644 --- a/Build/Configurations/Includes/Hexen_things.cfg +++ b/Build/Configurations/Includes/Hexen_things.cfg @@ -1463,10 +1463,12 @@ sounds color = 5; // Purple arrow = 1; title = "Sounds"; - width = 0; + width = 8; + height = 16; sort = 1; fixedsize = true; blocking = 0; + sprite = "internal:sound"; 1403 = "Creak"; 1408 = "Earth Crack"; @@ -1487,9 +1489,11 @@ other arrow = 1; title = "Other"; width = 0; + height = 0; sort = 1; fixedsize = true; blocking = 0; + sprite = "internal:actor"; 118 { diff --git a/Build/Configurations/Includes/ZDoom_common.cfg b/Build/Configurations/Includes/ZDoom_common.cfg index d21a30bc..783481ca 100644 --- a/Build/Configurations/Includes/ZDoom_common.cfg +++ b/Build/Configurations/Includes/ZDoom_common.cfg @@ -350,6 +350,16 @@ mapformat_udmf include("UDMF_misc.cfg", "linedefactivations"); include("ZDoom_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"); + } // THING FLAGS thingflags diff --git a/Build/Configurations/Includes/ZDoom_linedefs.cfg b/Build/Configurations/Includes/ZDoom_linedefs.cfg index 93204b1f..065ede75 100644 --- a/Build/Configurations/Includes/ZDoom_linedefs.cfg +++ b/Build/Configurations/Includes/ZDoom_linedefs.cfg @@ -2888,9 +2888,11 @@ zdoom 2 = "Swimmable"; 3 = "Non-Solid"; 4 = "Render-Inside"; + 8 = "Use Arg5 as Line ID"; 16 = "Invert Visibility Rules"; 32 = "Invert Shootability Rules"; } + default = 1; } arg2 { @@ -2914,7 +2916,7 @@ zdoom } arg4 { - title = "Hi-Tag"; + title = "Line ID / Hi-Tag"; } } 161 diff --git a/Build/Configurations/Includes/ZDoom_things.cfg b/Build/Configurations/Includes/ZDoom_things.cfg index 99a8cea3..57e7632b 100644 --- a/Build/Configurations/Includes/ZDoom_things.cfg +++ b/Build/Configurations/Includes/ZDoom_things.cfg @@ -332,8 +332,8 @@ zdoom color = 7; // Light Grey arrow = 1; title = "Cameras and Interpolation"; - width = 8; - height = 16; + width = 0; + height = 0; sort = 1; hangs = 0; blocking = 0; @@ -611,13 +611,13 @@ zdoom color = 8; // Grey arrow = 0; title = "Slopes"; - width = 8; + width = 0; sort = 1; - height = 16; + height = 0; hangs = 0; blocking = 0; fixedsize = true; - sprite = "internal:slope"; + sprite = "internal:slope"; 9511 { @@ -834,9 +834,9 @@ zdoom color = 7; arrow = 0; title = "Portals"; - width = 8; + width = 0; sort = 1; - height = 16; + height = 0; hangs = 0; blocking = 0; fixedsize = true; @@ -1105,6 +1105,7 @@ doom height = 56; hangs = 0; blocking = 0; + sprite = "PLAYA2A8"; 9100 = "Scripted Marine"; 9101 = "Marine Fist"; diff --git a/Build/Scripting/ZDoom_ACS.cfg b/Build/Scripting/ZDoom_ACS.cfg index fb1e6675..b3f269d3 100644 --- a/Build/Scripting/ZDoom_ACS.cfg +++ b/Build/Scripting/ZDoom_ACS.cfg @@ -197,6 +197,7 @@ keywords GetThingUDMFInt = "GetThingUDMFInt(tid, fieldname)"; GetThingUDMFFixed = "GetThingUDMFFixed(tid, fieldname)"; GetUserArray = "GetUserArray(tid, name, pos)"; + GetUserCVar = "int GetUserCVar(int playernum, string cvarname)"; GetUserVariable = "GetUserVariable(tid, name)"; GiveActorInventory = "GiveActorInventory(tid, type, amount)"; GiveInventory = "GiveInventory(type, amount)"; @@ -309,6 +310,7 @@ keywords SetAirSupply = "SetAirSupply(playernumber, tics)"; SetCameraToTexture = "SetCameraToTexture(tag, texture, fov)"; SetCeilingTrigger = "SetCeilingTrigger(tag, height, special, arg1, arg2, arg3, arg4, arg5)"; + SetCVar = "bool SetCVar(string cvarname, int newvalue)"; SetFloorTrigger = "SetFloorTrigger(tag, height, special, arg1, arg2, arg3, arg4, arg5)"; SetFont = "SetFont(fontname)"; SetGravity = "SetGravity(amount)"; @@ -326,6 +328,7 @@ keywords SetResultValue = "SetResultValue(value)"; SetSkyScrollSpeed = "SetSkyScrollSpeed(skynumber, speed)"; SetThingSpecial = "SetThingSpecial(tid, special, arg1, arg2, arg3, arg4, arg5)"; + SetUserCVar = "bool SetUserCVar(int playernum, string cvarname, int newvalue)"; SetWeapon = "SetWeapon(weaponname)"; sin = "sin(angle)"; SoundSequence = "SoundSequence(sndseq)"; diff --git a/Build/Sprites/Actor.png b/Build/Sprites/Actor.png new file mode 100644 index 0000000000000000000000000000000000000000..41b8da1a116b30a873f3bce71475fd669c4a0ce1 GIT binary patch literal 729 zcmV;~0w(>5P)A#8&i9RGHvy0y+JEw759tQgtUPlVy* zzQzc>Uox#qsR1A_BBDfuu{-2mI25fv4yG30%K;i?f+!P3n=+IYLz^gmK{MCi!Cdk-tGCdwVjy`pm}mNBP^xg;AQ(T zzA)2w7kBDC8)e0SqPJ9_0|}hU6X3f9hTCzcKJu? zD5!OXwOQ%)c{2lG86_KR1AzR$AeWJu%;+uhx!&KmrgURUty@_DpNHKGTT`#^BpToC zu4>#%Xv=9#a6h80zu0_9n3tby`~|BU@RW$4l(K>9>!-F|Jg}$aa&1GPrlz5VNL4fT z;3GyyzTt)|dGWS@zhHG=?HcO>vcSYzfm*c*Ct`NZvDVnhrbg?;_Bv;$R+^EoZpq|y z;b~{jkH^z#Zx;9tOaNI`{GC^e0zeq30OCLdFhBvAT7}bqD