Commit graph

60 commits

Author SHA1 Message Date
Magnus Norddahl
c8237b0e64 Speed up linedef processing by not relying on a hashmap 2019-12-20 05:12:39 +01:00
biwa
b94dd31fdb - Fixed a bug where the wrong sectors and linedefs were highlighted in UDMF under certain conditions. Fixes #307. 2019-10-31 21:16:59 +01:00
volte
a1d28e1e56 Grid rotation and alignment functionality (PR#252 by Volte) 2019-01-14 20:07:08 +02:00
ZZYZX
983dea1b8a Fixed: all the old magic in SafeDistanceToSq is now only working for non-UDMF maps 2017-04-04 14:06:08 +03:00
ZZYZX
8dbe5f7a7b Fixed: Visplane Explorer depended on the old behavior of SafeDistanceToSq. (reported by riderr3) 2017-04-04 14:04:29 +03:00
ZZYZX
aff6998dbd Fixed: reduced magic in Linedef.SafeDistanceToSq - fixes line/sector selection with 0.125mp grid (reported by camaxide) 2017-03-25 04:15:50 +02:00
ZZYZX
09b8c27dab Merge anotak's optimizations - stage 1 2017-02-08 14:18:01 +02:00
ZZYZX
ebd7fb1a57 Upgrade to VS2015 (14.0) 2017-01-15 00:35:40 +02:00
MaxED
cd854779e8 Fixed, Classic modes, UDMF: grid size didn't go below 1 mu. when zooming in when "Dynamic grid size" option was enabled.
Internal: restored GridSetup DB2 compatibility.
Updated ZDoom_ACS.cfg (SetFogDensity, SetSectorGlow).
2017-01-06 13:01:59 +03:00
MaxED
be7ba0a05d Added: minimum grid size is now 0.125 instead of 1. 2016-12-27 16:59:20 +03:00
MaxED
aecd017b19 Added, Errors and Warnings window: most of warnings/errors related to (G)ZDoom text lump parsing can now be double-clicked to show warning/error source in the Script Editor.
Fixed: some map format conversion errors were never displayed, because errors list was cleared after performing map conversion.
Fixed: 3d floor indicators in 2D modes were not updated after leaving Visual mode.
Fixed: some UDMF-only interface buttons were never removed after converting map format from UDMF.
2016-11-26 00:02:56 +00:00
MaxED
5baa770d24 Added "localsidedeftextureoffsets" Game configuration setting. When set to true, enables in-editor support for individual offsets of upper/middle/lower sidedef textures. Affects UDMF map format only. - based on diff patch by Altazimuth. 2016-09-05 18:36:22 +00:00
MaxED
f9b5597951 Fixed several cases when certain texture manipulation-related actions caused a crash when performed on not-yet-loaded textures. 2016-09-02 19:18:37 +00:00
MaxED
3c62e89ded Reverted some older changes to Linedef.Join(), which were made for older version of "enhanced" map element merging logic and in some cases were causing incorrect geometry to be created when using current merging logic. 2016-06-24 22:25:12 +00:00
MaxED
8f446bbcd3 Fixed, "Select Similar" action: in some cases map elements flags were incorrectly compared resulting in map elements not being selected when they should have been. 2016-06-15 22:57:39 +00:00
MaxED
34703ce89d Rewritten vertex/linedef/sector dragging logic. Now it processes line-line intersections. And handles more corner cases. And has less bugs. Probably.
Fixed, Edit Selection mode: texture scale was flipped when "Floor/Ceiling Transform" -> "Scale" was enabled.
Changed: a warning is no longer displayed when trying to compile an empty SCRIPTS lump.
Updated ZDoom_DECORATE.cfg.
2016-05-29 00:38:55 +00:00
MaxED
5e71585c99 Added, Edit Selection mode: Added "Adjust height" setting. It can be used to adjust floor/ceiling height of selected sectors based on the sector selection was in and the sector selection was moved into.
Removed "Adjust heights to match relatively with surrounding sector" option from Preferences -> Pasting, because sector height adjustments are now handled by Edit Selection mode.
Fixed, Sector info panel: in some cases 0 deg. floor/ceiling texture rotation was triggering texture offset/scale/rotation UI parts to be shown.
Fixed even more cases when sidedefs belonging to linedefs, which were moved on top of existing linedefs, were incorrectly reassigned when applying Edit Selection and Drag Geometry modes.
Fixed, Bridge mode: in some cases calculated floor/ceiling heights were not applied to the sectors created by the mode.
Changed, internal: changed program's CurrentCulture to InvariantCulture.
2016-05-20 15:04:00 +00:00
MaxED
77611bd8d3 Added: sectors are now split into multiple sectors when their shape is divided into several closed shapes by drawing new geometry or dragging existing geometry using Edit Selection and Drag Geometry modes.
Fixed: in some cases sidedefs belonging to linedefs, which were moved on top of existing linedefs, were incorrectly reassigned when applying Edit Selection and Drag Geometry modes.
Fixed: Tag Explorer update fix from R2630 was accidentally placed in an UDMF-only if-block.
Updated ZDoom_DECORATE.cfg (A_WeaponOffset).
Updated documentation ("(G)ZDoom text lumps support" page).
2016-05-18 20:31:40 +00:00
MaxED
06d7209871 Fixed: fixed a crash when determining sprite angles when there were sprites for both rotated (like TESTA2A8) and non-rotated (like TESTA0) versions of the same frame.
Fixed, Tags Selector control, UDMF: in some cases tags adding/removing worked unreliably when mixed tag values were used.
Fixed, Arguments control: in some cases ending colon was not appended to argument names.
Updated ZDoom_ACS.cfg.
Updated ZDoom_DECORATE.cfg.
2016-04-09 23:18:39 +00:00
MaxED
37feaa5de1 Added, Visual mode: sky rendering. Currently classic skies and GLDEFS Skyboxes are supported.
Added "Toggle sky rendering" action and toolbar button.
Added, MAPINFO parser: the editor now recognizes map number from classic map definition format. Hexen MAPINFO is now properly parsed.
Added, MAPINFO support: if current map definition contains map name as a text string, it will be shown in the editor's header.
Changed: "Toggle dynamic lights rendering" now toggles between "Don't show dynamic lights" and "Show dynamic lights" when used in Classic modes. 
Changed, Things mode: lowered the opacity of dynamic light radii.
Changed, (G)ZDoom text parsers: empty include files now trigger a warning instead of an error and no longer abort parsing.
Fixed, Game configurations: moved Stalagmite:5050 thing to Doom block (so the editor no longer tries to load it for non-Doom game configurations).
Fixed(?), Visual mode: probably fixed a hard-to-trigger exception when sorting translucent geometry.
Fixed, Visual mode: floor glow effect was incorrectly applied to walls (was broken in R2452).
Internal: restructured most of MAPINFO and GLDEFS parsers. Should be more maintainable now.  
Updated ZDoom ACC.
Updated zdbsp to 1.19.
Updated documentation.
2016-01-11 13:00:52 +00:00
MaxED
3a35b7603a Fixed, Map Analysis mode, "Check stuck things" check: rewritten parts of the flags checking logic to allow more accurate flag checks.
Fixed, Map Analysis mode: fixed a crash when trying to dissolve an invalid sector when one of it's linedefs referenced it on the both sides.
Fixed, Sectors mode: fixed incorrect undo description when deleting sectors.
Internal: joined declaration and assignment of some more variables.
2015-12-28 15:01:53 +00:00
MaxED
f6f277065f ACS parser: fixed several cases when #include and #import directives were processed incorrectly.
Internal: joined declaration and assignment of some variables.
2015-12-27 21:54:50 +00:00
MaxED
13c3155db5 Removed "Paste Properties Options" action.
Added "Paste Properties Special" actions in "Classic" and "Visual" categories. They work the same way as "Paste Special" action.
Added: "Copy Properties", "Paste Properties" and "Paste Properties Special" options are now shown in the Edit menu if current classic mode supports them.
Changed, Paste Properties Special window: only options relevant to current map format are now displayed.
Changed, Paste Properties Special window, UDMF: all UI-managed options are now available.
Fixed: MAPINFO parser was unable to process "include" directives.
Fixed, General interface: selection info was reset to "Nothing selected" after few seconds regardless of current selection.
Fixed, Visual mode: thing bounding boxes were not updated when changing things positions using Randomize mode.
Fixed, Visual mode: event lines were displayed at incorrect height when entering Visual mode for the first time.
Fixed, Texture Browser window: when MixTexturesFlats Game Configuration option is disabled, textures/flats are no longer shown in the Used group when flats/textures with the same names are used in the map. 
Fixed(?): probably fixed an exception some users reported when trying to initialize a Classic mode after switching from Visual mode with "Sync cameras" option enabled.
Changed, Game configurations, Thing Categories: a block must have at least one thing category property to be recognized as a thing category.
Changed, Visplane Explorer: the plugin now outputs more info when it fails to initialize vpo.dll.
Cosmetic, Thing Edit window, Doom/Hexen map format: adjusted UI layout so thing flags control no longer displays scrollbars in Hexen map format.
Internal: merged methods from UDMFTools into UniFields, removed UDMFTools. 
Updated Inno Setup script (added VC++ 2008 SP1 distributive). 
Updated ZDoom_DECORATE.cfg (A_CheckBlock).
Updated documentation (added "System Requirements" page).
2015-10-09 12:38:12 +00:00
MaxED
118bda42a7 Changed, Drag Things mode: things position is now snapped to integers after finishing dragging. Also removed some unneeded update code.
Fixed a crash when deleting sectors (introduced in R2399).
2015-09-16 20:22:20 +00:00
MaxED
b3ab923487 UDMF: most of the code now supports multiple sector/linedef tags ('moreids' UDMF property). The only things left out are Tag Explorer and Tag Range plugins. 2015-07-28 15:04:21 +00:00
MaxED
45e303b2c8 UDMF: implemented 'moreids' handling. Currently this includes the core stuff, new TagsPicker control in Edit Sector/Linedef windows and updated Sector/Linedef Info panels. 2015-07-27 21:35:42 +00:00
MaxED
858bffd64a Added more checks and fixed incorrect flag assignment in UDMF -> Hexen action conversion from r2155. 2014-12-29 18:15:53 +00:00
MaxED
4f7e2298f4 Added Hexen -> UDMF and UDMF -> Hexen action conversion as described in "Universal Doom Map Format ZDoom extensions" (udmf_zdoom.txt). It is used when changing map format form Hexen to UDMF and from UDMF to Hexen.
Game configurations, Line Identification action: added "Front side only" (128) flag to arg1.
Game configurations, Line Identification action: renamed arg1 flags to match corresponding UDMF flag names.
Updated udmf_zdoom.txt.
2014-12-29 09:19:20 +00:00
MaxED
15b2adfe30 Texture Browser Form: swapped foreground and background colors of texture size labels.
Fixed, Texture Browser Form: well, I broke "Tab" key functionality again (in previous commit)...
Maintenance: changed curly braces style to match DB2 one (hopefully not breaking anything in the process...).
Maintenance: changed private method names casing to match DB2 one.
2014-12-03 23:15:26 +00:00
MaxED
2d9c439325 Sidedef texture offsets are now translated when pasting map elements from UDMF to non-UDMF maps.
Fixed: certain UDMF-only properties were not cleared when pasting map elements from UDMF to non-UDMF maps.
Fixed a bug introduced in r2043: helper objects were not updated in some cases.
2014-09-16 20:26:42 +00:00
MaxED
f2c0d0a4c8 Classic modes: you can now hold ALT key while dragging map items to lock movement to grid increments relative to initial position. 2014-07-11 10:46:10 +00:00
MaxED
ee6faba11c "File -> Export -> Selection as Wavefront .obj" menu command was not working.
"Preferences -> Editing -> When splitting a linedef" setting is now always used when splitting linedefs.
"Preferences -> Editing -> When splitting a linedef": added "Reset X and Y" option.
"Preferences -> Editing -> Auto-align textures of newly created linedefs" option now works in a more intelligent fashion.
2014-03-19 13:03:47 +00:00
MaxED
417cdde4be In some cases, texture offsets were adjusted when it wasn't required when splitting linedefs.
Replicated Doom texture vertical offset glitch when front and back sector's ceilings are sky.
2014-03-12 10:39:24 +00:00
MaxED
0369c969d1 According to dotnetperls.com, "new Dictionary<string, [anything]>(StringComparer.Ordinal)" works 17% faster than "new Dictionary<string, [anything]>()", so let's stick that everywhere and see what happens :)
Draw Curve Mode: added settings panel.
Sectors mode: added "Make Door" button to the toolbar.
Swapped Side panel and Info panel z-order. 
Interface: split toolbar into 3 separate toolbars. All toolbar buttons are now viewable at 1024x768.
Interface: grouped stuff in "Modes" menu a bit better.
Interface: added "Draw [stuff]" buttons to modes toolbar.
Interface: reorganized main menu. Hope it makes more sense now.
API: added General.Interface.AddModesButton() and General.Interface.AddModesMenu(), which can be used to add buttons to specific group in "Modes" toolbar and menu items to specific group in "Modes" menu, so actions, which behave like an editing mode, but are not part of one can be added there.
2014-02-26 14:11:06 +00:00
MaxED
3e5f85dc8f Game configurations: added "fixedrotation" property to dynamic lights, which use the angle property as a parameter.
Maintenance: removed a ton of redundant stuff.
2014-02-21 14:42:12 +00:00
MaxED
013865e27d Voxels can now be loaded from WAD resources.
Reverted "Delete Item" action to the way it worked in DB2.
Added "Dissolve Item" action, which works the way "Delete Item" worked in previous revisions of GZDB.
Added "Auto Clear Sidedef Textures" action, "Edit" menu and toolbar button, which toggle automatic removal of sidedef textures when floor or ceiling height is changed or when geometry is drawn, copied or pasted.
Draw Settings panel: upper/lower texture overrides can now be used.
Draw Settings panel: added 2 sets of buttons, which allow to quickly set or clear textures in current selection.
Things are now rendered behind AND on top of the grid/linedefs/vertices when they are dragged.
Redesigned hints system. They are now shown in a side panel.
Edit area auto-focusing is now disabled when script editor is open.
Texture Browser form: no texture group was selected when opening the form in some cases.
Fixed several strange/misleading text messages.
2014-01-08 09:46:57 +00:00
MaxED
e4a924eb14 Sectors and Linedefs modes: rectangular selection now checks for intersections between linedefs and itself when "select touching" is enabled. 2013-11-29 14:45:29 +00:00
MaxED
fc57c3e331 Replaced massive amount of spaces with (massive amount of tabs / 4) 2013-09-11 09:47:53 +00:00
MaxED
2598389d6b Sector Info panel now shows how many sidedefs highlighted sector has.
Snap Map Elements to Grid mode now works much faster and shows a message when completed.
Forced default textures are now only used in drawing modes.
Exception Dialog: long error descriptions were breaking window layout.
Map will no longer be shown in Open Map form if unrelated data is encountered inside of map namespace.
2013-09-09 14:03:02 +00:00
MaxED
b80bc3f811 Manual linedef splitting: UDMF texture coordinates were incorrectly interpolated in some cases.
Manual linedef splitting: "Duplicate texture coordinates" and "Reset X coordinate, copy Y coordinate" settings now affect UDMF texture offsets.
2013-09-05 13:03:17 +00:00
MaxED
cf3d416967 Renderer now works much faster in 2D modes.
Textures now load up to 2x faster when "mix textures and flats" flag is set in game configuration.
TEXTUREx/TEXTURES: texture will now be created if at least one of it's patches is loaded.
Visual mode: fixed a crash when "Slope floor to here" (9500) or "Slope ceiling to here" (9501) things were not inside sector.
Fixed: flats were not loaded form wads inside Directory and PK3/PK7 resources.
Sector Info Panel, Linedef Info Panel: texture size was shown for unknown textures.
2013-07-29 08:50:50 +00:00
MaxED
aea360adb9 Added "defaultlinedefactivation" setting to configuration.
Added some boilerplate to SaveScreenshot function.
2013-06-06 10:22:58 +00:00
MaxED
a938453703 Default flag ("playercross") was not set when a map was converted to UDMF map format (because there are no default flags in UDMF).
Linedef activation now translates a bit more accurately when converting a map to/from UDMF.
2013-06-05 11:12:44 +00:00
MaxED
7f6c6a1122 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.
2013-05-27 12:20:15 +00:00
MaxED
8cf9e651cc Removed a metric ton of unused "using" directives from Core. 2013-04-11 11:04:16 +00:00
MaxED
b104e88a1d Visual Mode, UDMF: "Auto-align Textures Y" action now takes surface peg type into account.
Visual Mode, UDMF: "Auto-align Textures Y" action now applies vertical scale of first (highlighted) surface to the rest of aligned surfaces.
Linedef Edit Form, UDMF: lower sidedef texture offsets were never displayed.
Some more changes in auto texture alignment of newly drawn lines.
BuilderEffects plugin should compile now.
2013-04-03 14:50:41 +00:00
MaxED
4a6897a6ed Visual Mode: added "Lower Floor/Ceiling to adjacent sector" and "Raise Floor/Ceiling to adjacent sector" actions.
UDMF texture offsets are now used when splitting a linedef in UDMF map format.
Some changes in auto texture alignment of newly drawn lines.
2013-04-02 12:19:25 +00:00
MaxED
c04a65f104 Even more fixes in Vertex and Linedef deleting process.
Texture browser can now show flats/textures only.
2013-03-26 12:31:07 +00:00
MaxED
6462ff5edb More fixes in Vertex and Linedef deleting process and also Visual Vertex handles. 2013-03-25 14:49:03 +00:00
MaxED
591f92cce6 Moving to new SVN... 2013-03-18 13:52:27 +00:00