Commit graph

116 commits

Author SHA1 Message Date
biwa
160db8da8c Editing modes: fixed some crashes related to undoing/redoing while objects with associations were highlighted 2020-10-09 18:53:10 +02:00
biwa
f204a17298
Improved associations (#440)
Improved associations and event lines. Refactorings to make the whole thing more sensible (hopefully). Options to display labels on event lines (can be configured in Preferences -> Editing).
2020-07-16 22:01:37 +02:00
biwa
72169060f9 Things Mode: performing the smart grid transform action will now set the grid origin to the selected or highlighted thing
Sectors Mode: performing the smart grid transform action will now reset the grid transform
2020-06-15 21:25:31 +02:00
biwa
91cbcde1eb It's compiling! 2020-05-21 14:20:02 +02:00
biwa
2516b97cee - Added option to enable additive paint selecting without holding shift independently from regular additive selecting 2019-06-20 15:38:41 +02:00
Mistranger
7168ad2095 Add "Mouse selection threshold" option (#141 by Mistranger)
* Mouse selection threshold

* Cleanup

* Fix selection bug
2017-08-24 16:24:03 +03:00
ZZYZX
748fe9e2e5 Fixed: inheritance from game configuration for dynamic lights; Fixed: visual representation of inherited lights (reported by Nash); Fixed: inherited thing arguments from game configuration; Added: //$ClearArgs for clearing inherited arguments. 2017-03-02 00:21:08 +02:00
Xabis
a886a53e75 * A direct tag-to-tag relationship can now be established between two things, which allows event lines to be properly setup between them. This is intended for interpolation and patrol specials which are linked via a shared tag, instead of an argument. A POSITIVE value represents the parent thing, where a NEGATIVE value represents the child thing.
* Added interpolation and patrol point specials to the persistent event line processing
2017-02-14 12:33:50 -05:00
ZZYZX
ebd7fb1a57 Upgrade to VS2015 (14.0) 2017-01-15 00:35:40 +02:00
m-x-d
2b24ce3c25 Updated, Textures Browser: texture name length is now taken into account when calculating the width of texture items.
Internal: moved thing helper shapes creation logic from ThingsMode to LinksCollector.
2017-01-09 01:04:55 +03:00
MaxED
1c684f7213 Added, Things mode, Visual mode: added the ability to specify minimum/maximum argument range hint shapes using special DECORATE comments and Game Configuration properties (loosely based on range finder patch by Xabis).
Updated documentation ("Game Configuration - Action Argument Settings" and "DECORATE keys" pages).
2017-01-06 15:59:41 +03:00
MaxED
d73ea867a4 Fixed, Script Editor: MD5 hash of text files stored in PK3 was calculated incorrectly, resulting in false warning messages when saving. 2016-12-22 00:03:58 +00: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
0cc5374295 Fixed, Things mode: fixed a crash when deleting Light/Ambient Sound things when "Show Dynamic Light Radii" / "Show Ambient Sound Radii" settings were enabled.
Fixed: WAD lump index was not appended to lump name when reporting errors during ZDoom text lumps parsing.
2016-11-19 20:43:42 +00:00
MaxED
4c2b60926c Silenced some compiler warnings... 2016-10-28 21:32:52 +00:00
MaxED
70d35bf1d6 Added, Edit Sectors window: added UI for floor/ceiling portals.
Updated ZDoom_DECORATE.cfg.
Updated documentation ("Game Configuration - Sectors Settings" page).
2016-10-11 12:58:35 +00:00
MaxED
91e7809fa0 Added, Things mode: sound radii are now shown for "Custom Ambient Sound" and "Custom Ambient Sound (no gravity)" things. 2016-10-05 20:15:38 +00:00
MaxED
07db2506c5 Added, Things mode: minimum/maximum sound radii can now be displayed for ZDoom's Ambient Sound things.
Added, Things mode: added "Show Light Radii" and "Show Sound Radii" main toolbar and View menu buttons.
Fixed, Action arguments control: invisible splitter between args1-3 and args4-5 is no longer draggable.
Updated ZDoom ACC (SetTranslation).
Updated ZDoom_ACS.cfg (SetTranslation).
2016-10-03 11:42:12 +00:00
MaxED
8c6971a437 Changed, Vertices/Linedefs/Sectors/Things modes: selected map element is no longer deselected after accepting Edit window when it was the only selected map element when the Edit window was opening. 2016-09-27 19:39:46 +00:00
MaxED
9403028903 Fixed, Linedefs mode: linedef selection labels must be updated when performing undo/redo.
Fixed, Things mode: thing selection labels must be updated when performing undo/redo.
Fixed another case of invalid sectors being created after dragging map elements when using "Merge Dragged Geometry" and "Replace with Dragged Geometry" drag modes.
2016-09-18 23:46:24 +00:00
MaxED
c9f125aade Added Rendering toolbar items to the View menu.
Merged "Toggle models, dynamic lights and fog rendering" and "Toggle Geometry Effects" actions into "Toggle Enhanced Rendering Effects" action.
Removed "Dynamic light size" and "Dynamic light intensity" settings.
Updated documentation ("Rendering toolbar" page).
2016-09-07 15:15:07 +00:00
MaxED
9a6d3ea84c Added, DECORATE: added "//$ArgNRenderStyle" special comment. It allows to specify a rendering shape to display the value of given argument. Supported values are "circle" and "rectangle".
Added, DECORATE: added "//$ArgNRenderColor" special comment. It allows to specify a color used by the rendering shape.
Updated documentation.
2016-07-14 12:42:16 +00:00
MaxED
04de976acf Added, Visual mode: added support for FLATSPRITE, ROLLSPRITE, WALLSPRITE and DONTFLIP sprite rendering flags. Removed the older GLOOME-specific implementation.
Changed, "Align Things to Nearest Linedef" action: the action can now also align things with FLATSPRITE and WALLSPRITE flags (previously only things with attached models were aligned).
Changed, "Align Things to Nearest Linedef" action: the action can now align things to the middle part of double-sided linedef, if it has a middle texture assigned.
2016-07-04 18:25:47 +00:00
MaxED
364b3c11c7 Changed: "Selection Options" window is now resized automatically.
Fixed: parts of UniFileds.UniValuesMatch() logic were inverted. In some cases this resulted in incorrect behavior of "Select Similar" action in UDMF map format.
Fixed, UDMF: alpha should be ignored when applying sector fade/light color gradients.
Ported eevee's fix for incorrect sector geometry occasionally created after dragging map elements (more info: https://github.com/sirjuddington/SLADE/issues/542).
2016-06-20 13:36:10 +00:00
MaxED
ac68ec0bb8 Changed: "Unable to save the map: there are too many unique sidedefs!" error message now displays info about sidedefs counts before and after sidedef compression.
Fixed, Draw Grid mode: in some cases invalid geometry was created when drawing very large grids.
Fixed, Things mode, "Rotate Clockwise" action: fixed inability to change thing angle from 0 to 315 when "doomthingrotationangles" Game Configuration property was set to true.
Updated ZDoom_DECORATE.cfg.
2016-06-17 20:44:14 +00:00
MaxED
59c4a75b11 Added "Split Joined Sectors" Edit menu item and toolbar button. When enabled, joined sectors adjacent to drawn lines will be split.
Added "doomthingrotationangles" Game Configuration property. When enabled, editor actions related to changing thing angle will snap the resulting angle to 45 degree increments. This property is set to true for vanilla game configurations.
Fixed a crash when changing game configuration from one without Thing actions support to one with them while in Things mode.
Fixed, cosmetic, DB2 bug: current editing mode button was deselected after reloading resources.
Updated documentation ("Game Configuration - Basic Settings" page).
2016-06-15 22:02:51 +00:00
MaxED
4b45b4fd5e Fixed, Things mode: fixed a crash when switching to Things mode when more than 256 things were selected. 2016-04-29 23:19:02 +00:00
MaxED
977adb47f2 Added: holding Control key while switching to/from Visual mode will now temporarily disable position synchronization (works only when 'Synchronize camera position between 2D and 3D modes' Preferences option is enabled).
Fixed severe lock-up after finishing dragging many vertices/linedefs/sectors in Classic modes.
Updated documentation ("Synchronizing camera position").
2016-04-29 21:38:43 +00:00
MaxED
6e4540b314 Internal: some DataReaders refactoring.
Updated ZDoom_DECORATE.cfg (ALLOWTHRUFLAGS flag).
2016-04-29 13:42:52 +00:00
MaxED
6b25086795 Internal: did some refactoring. 2016-04-27 09:13:07 +00:00
MaxED
13aabd4257 Added, Drag Vertices\Linedefs\Sectors\Edit Selection modes: sidedefs facing outside of current selection are now reattached/added/removed after moving the selection.
Currently this will work as intended only if the selection ends up either completely inside a single sector or completely outside of any sector. Also this logic won't be applied if the selection contains the lines with only start or end vertex selected.
Internal: some TextLabel refactoring.
2016-04-25 14:48:39 +00:00
MaxED
b1ac703485 Added, Sectors, Linedefs, Things modes: map element selection order of rectangular selection is now direction-dependent. 2016-04-22 20:17:21 +00:00
MaxED
e03936a0d6 Fixed, Visual mode, UDMF: in some cases Fade color was not applied to floor and ceiling surfaces of 3d floors.
Fixed, Visual mode: in some cases not all sidedef geometry was updated when updating sectors with Plane Align (181) action. Also fixed some more unnecessary geometry updates.
Fixed, Linedefs mode, Things mode: in some cases deleting linedefs/things caused a crash when trying to update text labels.
Fixed, Draw Lines mode: in some cases the drawing was prematurely finished when "Auto-finish drawing" option was enabled.
2016-04-22 13:28:23 +00:00
MaxED
d888e57c76 Added, Draw Lines mode: additional guidelines and horizontal/vertical line lengths can now be displayed for currently drawn line using "Show guidelines" top menu button.
Changed, Draw Lines mode: line angles are now shown only when "Show guidelines" mode is enabled.
Fixed, Draw Lines mode: in some cases "Snap to cardinal directions" mode was snapping only to diagonals.
Fixed, Draw Lines mode: snap to geometry behaved incorrectly when "Snap to cardinal directions" mode was enabled.
Changed, Things mode: dynamic light shape is now drawn using highlight color when a dynamic light thing is highlighted.
Added more sanity checks to MODELDEFS parser.
2016-04-21 21:00:58 +00:00
MaxED
3eb05509af Added, Visual mode: "Increase/Decrease Scale", "Reset Texture Offsets" and "Reset Local Texture Offsets" actions now work when used on 3d floor sides.
Fixed: CVARINFO parser was unable to parse negative int/float values.
Fixed: in some cases TextLabel text size was checked before it was calculated. 
Internal, Visual mode: reduced the number of unnecessary geometry updates when changing map geometry.
Updated ZDoom_DECORATE.cfg (atan2 and VectorAngle).
2016-04-19 20:40:42 +00:00
MaxED
580f7d4461 Classic modes: further text label rendering optimization.
MODELDEF parser: rewrote most of the parser logic. Now it picks actor model(s) based on Frame / FrameName properties.
2016-04-06 11:44:38 +00:00
MaxED
ee12da96a1 Sectors, Linedefs, Things modes: optimized text label rendering.
Fixed, Things mode: in some cases selection labels were not updated after editing a thing.
Fixed, Things mode: selection labels were positioned incorrectly on things with FixedSize setting.
Fixed, Sectors mode: fixed a crash when selecting self-referencing sector when selection labels were enabled.
Fixed, Visual mode: in some cases Auto-align texture actions were not working when "use long texture names" Map Options setting was enabled.
Fixed, MD2/MD3 loader: available animation frames upper bound check was performed incorrectly, which would cause a crash in some very special cases.
Fixed, Game configurations: most Hexen/ZDoom teleport actions use TeleportDests as teleport targets, not MapSpots.
2016-04-05 22:24:36 +00:00
MaxED
a4428cf244 Added, Linedefs mode, Things mode: selection numbers can now be displayed and can be toggled using the "View Selection Numbering" mode toolbar button.
Added, Linedefs mode, Things mode: sector tags can now be displayed and can be toggled using the "View Sector Tags" mode toolbar button.
Fixed, Classic modes, DB2 bug: in some cases text label size was queried before it was calculated, resulting in text labels being rendered when they shouldn't.
Updated ZDoom_DECORATE.cfg (A_LogFloat).
2016-04-04 22:20:49 +00:00
MaxED
a9c64fe521 Changed, Texture Browser window: "All" textures group is now saved/reselected like the rest of the texture groups when closing/opening the window.
Changed, Classic modes: bigger Thing arrows are now rendered when thing sprite rendering is skipped.
Changed, Classic modes: when "Fixed Things Scale" option is enabled, thing size stays at 2x scale instead of 1x when extra bounding box is rendered.
Added Preferences -> Appearance -> "Things transparency (Things mode)" slider.
Renamed Preferences -> Appearance -> "Things transparency" to "Things transparency (other modes)".
Externalized thing bounding box and arrow texture, used to render things in Classic modes (Textures/ThingTexture2D.png).
Updated ZDoom_DECORATE.cfg (A_SetUserVarFloat, A_SetUserArrayFloat).
2016-04-01 10:49:19 +00:00
MaxED
a5fffa9c3a Added Preferences -> Appearance -> "Things transparency" slider. It controls Things transparency in all classic modes except Things mode.
Added Preferences -> Appearance -> "Hidden Things transparency" slider. It controls transparency of Things hidden by Things filter in Things mode, of all things :)
2016-03-30 11:29:39 +00:00
MaxED
dd26c3ded2 Internal: removed some duplicate casts, marked some classes is IDisposable, some streams were disposed more than once. 2016-03-18 12:52:12 +00:00
MaxED
80861be6ab Added "Fixed Things Scale" setting (available in the View menu, as a button on the View toolbar and as the "Toggle Fixed Things Scale" action). When enabled, Things will no longer be scaled based on current zoom level in Classic modes, instead, thing bounding box will be drawn when appropriate (this option mimics DB1 things rendering style).
Internal: removed some remnants of fixed rendering pipeline from Renderer2D and Renderer3D.
2016-02-22 15:20:08 +00:00
MaxED
74015b1ba0 Cosmetic: changed ' to " in the most of Error and Warning messages. 2016-02-22 08:04:06 +00:00
MaxED
839bb52cb9 Fixed, Things mode: Undo for things cloning by Shift-dragging them was created incorrectly (cloned things were moved to their initial position, but not removed).
Fixed, Visual mode: fixed Classic sky texture generation artifact when Bilinear filtering was enabled in Visual mode.
Fixed, Visual mode: fixed Classic sky texture generation artifact when non-power-of-2 Sky textures were used.
Fixed, Visual mode: dynamic lights flickering on surfaces nearly-perpendicular to lights centers should be much harder to trigger now.
2016-02-02 21:07:15 +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
a35a336527 Added, Things mode: dynamic light things light radii are now rendered (can be disabled by setting "Dynamic light mode" to "Don't show dynamic lights" on the top toolbar).
Internal, Renderer2D.RenderArrows(): only visible lines are now rendered.
Internal, API: renamed public Line3D properties: v1 to Start, v2 to End, color to Color, renderarrowhead to RenderArrowhead.
2015-12-14 12:34:31 +00:00
MaxED
17ac1c6db5 Sectors/Linedefs modes: removed "Select Things in Selected Sectors" action.
Sectors mode: removed "Move Things in Selected Sectors" toolbar button.
Sectors mode: added "Synchronized Things Editing" menu item, action and toolbar button. When enabled, things dragging will be synchronized to sector dragging. Regular, Paint and Rectangular selection will also select things (holding Alt while selecting inverts this behavior). Deleting sectors will also delete selected things.
Linedefs mode: added "Synchronized Things Editing" menu item, action and toolbar button. When enabled, selected things will be dragged when dragging linedefs. Rectangular selection will also select things (holding Alt while selecting inverts this behavior).
Changed: selection info now always displays info about all types of map elements.
Fixed: .dbs containing only current map settings was created when trying to save unchanged map. 
Fixed, Visual mode, "Copy Texture" action: when "Use long texture names" option is disabled, texture name as stored in Sidedef should be used, not the 8-char texture name.
Updated documentation.
2015-11-03 08:54:56 +00:00
MaxED
a182a5098d Game Configurations: added Vanilla Strife, Vanilla Heretic and Vanilla Hexen game configurations.
Added "makedoorceil" game configuration property. Works the same way as "makedoortrack" and "makedoordoor", but for ceilings of door sectors. 
Changed, Game configurations: the editor no longer tries to load DECORATE/MODELDEF/VOXELDEF/GLDEFS/REVERBS lumps when "decorategames" setting is not specified / is set to empty string.
Changed, General interface: "Tools -> Reload MODELDEF/VOXELDEF" and "Tools -> Reload GLDEFS" menu items are no longer shown when current game configuration doesn't support DECORATE. 
Fixed a crash when pasting linedef/thing properties in Hexen map format.
Fixed, Visual mode: Visual Thing resources were not fully unloaded when resetting D3D device leading to crash when switching to the editor from a DX-using game engine (like ZDoom) running in fullscreen.
Fixed: in some cases, when current game configuration supported multiple script compilers, it was possible to open/create a map or change map options without selecting any script compiler.
Fixed, New Map Options window: default map name was not updated when switching game configurations.
Fixed: copied map element properties were not reset after switching to another map.
Fixed: stored textures for "Make Door" action were not reset after switching to another map.
Fixed, Game Configurations window: currently selected test engine name was not updated when pasting test engines from another configuration. 
Fixed, Game Configurations: all "Heretic in Doom map format" configurations were using Doom sector effects list.
Fixed, Game Configurations: all "Strife in Doom map format" configurations were using Doom sector effects list.
2015-10-21 13:35:42 +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
283c6c2272 Visual mode: noticeable performance boost (rendering now works ~40% faster).
Visual mode: fog distance calculation is now much closer to GZDoom one.
Visual mode: thing brightness calculation when a thing is affected by floor glow is now much closer to GZDoom one.
Linedef edit window, UDMF: added "Reset front/back brightness" buttons.
Sector edit window, UDMF: added "Reset ceiling/floor brightness" buttons.
Internal, Visual mode, Things mode: persistent event lines are now updated only when map objects are changed instead of doing it on every display redraw.
Internal: improved Dictionary lookup times when using map objects and textures as keys.
Internal: added "Release + Profiler" solution configuration.
Updated ZDoom_ACS.cfg (Warp).
2015-10-02 14:47:34 +00:00