Commit graph

113 commits

Author SHA1 Message Date
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
9338d1221f Removed lots of unnecessary casts to float of the Math methods. Also removed some other minor implicit casts 2020-05-22 22:30:32 +02:00
biwa
ab81b17554 More conversion from float to double. Doesn't seem to crash anymore. 2020-05-22 21:39:18 +02:00
biwa
91cbcde1eb It's compiling! 2020-05-21 14:20:02 +02:00
biwa
47cec444b5 Slopes of 3D floor are now preserved when dragging the tagged sectors
Added option to lock texture offsets of 3D floors when dragging the tagged sectors
2020-05-03 17:25:07 +02:00
biwa
138c96bb13 Moved smart grid transform into Linedefs Mode and Vertices Mode, so it also works when simply highlighting a linedef or vertex. When doing smart grid transform on a linedef it'll also use the vertex closest to the mouse cursor as the origin instead of always the start vertex 2020-04-11 10:42:41 +02:00
biwa
e799d882a9 Fixed a crash when manually modifying a sidedef's sector index to a sector with a tag 2019-09-17 20:22:51 +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
ebd7fb1a57 Upgrade to VS2015 (14.0) 2017-01-15 00:35:40 +02: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
9534a20eb3 Optimized map geometry merging performance when creating drawn lines.
Optimized map geometry merging performance when pasting map geometry.
Added, Curve Linedefs mode: added "Flip Curve" button.
Updater: partially rewrote fix from the previous commit.
2016-10-31 18:52:29 +00:00
MaxED
4c2b60926c Silenced some compiler warnings... 2016-10-28 21:32:52 +00:00
MaxED
3e132f1cf2 Changed, Curve Linedefs mode: re-designed the mode UI. Alternative control options are now available (check Help tab while the mode is active).
Changed, Curve Linedefs mode: changed curve generation logic. Setting Distance to 0 will now divide selected linedefs into equal parts.
Changed, Curve Linedefs mode: curve vertices are now drawn.
Updated ZDoom_DECORATE.cfg.
2016-10-26 22:33:36 +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
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
7b54c0141d Changed: single-sided linedefs with only back sidedef present are now automatically flipped when loading a map.
Changed, "Flip Linedefs" action: the action will no longer flip single-sided linedefs with only front side.
Fixed a crash when trying to determine sprite angles when images with non-sprite names, starting with expected characters, were present in the Sprites namespace.
2016-06-26 22:42:24 +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
3d2d9e21ef Changed, Classic modes: displayed mouse map position coordinates are now snapped to current grid size.
Updated model pitch handling to match current GZDoom implementation.
Fixed imprecise vertex coordinates generated by Draw Ellipse mode.
Fixed a resource loading exception when opened map file wad was located in the root of a Directory resource.
Internal: changed output of all InterpolationTools methods from int to float.
Fixed, Internal: InterpolationTools.InterpolateColor() delta usage was inverted.
2016-06-03 20:22:07 +00:00
MaxED
a61f02f7cc Fixed, Linedefs mode: fixed inability to highlight linedefs when "Stitch geometry within" setting was set to 0.
Fixed, Visual mode: fixed a crash when performing "Auto-align textures" actions on selected sidedefs when there were also floors/ceilings selected.
2016-05-08 18:45:26 +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
da3fde9a00 Fixed, Tag Statistics window: fixed a crash when applying changes after deleting a tag label.
Fixed, Script Editor: fixed infinite loop when trying to search for empty string.
Changed, Linedefs mode: selection labels are now positioned in a less line angle obscuring way.
Changed, Draw Lines mode: text label background alpha didn't match the alpha of the labels used in other classic modes.
Updated ZDoom_ACS.cfg (SetMusicVolume).
Updated ZDoom ACC (SetMusicVolume).
2016-04-17 22:52:03 +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
23d2a27dec Added, Draw Ellipse mode: angle setting can now be changed using "Rotate Clockwise" and "Rotate Counterclockwise" actions.
Added, Draw Line and Draw Curve modes: added "Auto-finish drawing" setting. When enabled, the modes will automatically finish drawing when currently drawn lines and already existing level geometry form a closed shape.
Changed: sector-wise linedef flipping is now done using the new "Align Linedefs" action. "Flip Linedefs" action works the same as in DB2 again.
Changed: when a map was already loaded, using "Open Map" action will use that map's directory as the starting directory.
Changed: official IWADs can no longer be saved.
Changed: disabled lump ranges/duplicate entries checks for official IWADs.
Changed: wad type is now preserved when saving a map (previously all wads were saved as PWADs).
Changed: moved Updater.exe launch much closer to the editor termination point to avoid any chance of it closing the editor before it properly closes itself.
Updated ZDoom_DECORATE.cfg (A_Blast).
Updated documentation.
2016-03-14 10:25:27 +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
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
6ac256eb4f Fixed: map file lock check was performed in incorrect place leading to always reporting the map file as locked on Windows XP.
Fixed, DB2 bug (partially): 4 settings were reset to the state saved in the program configuration after applying the changes made in the Preferences window.
Fixed: several Brushes were not disposed in ImageBrowserItem (DB2 bug) and ColoredComboBox, resulting in a very slow memory leak.
Fixed, Linedefs Mode, cosmetic: incorrect distance was used when calculating vertex insert preview opacity.
Changed, Script Editor: disabled indentation guides.
2015-09-12 21:05:01 +00:00
MaxED
008846539b Added: Auto-updater window now has "Ignore this revision" checkbox. If enabled, the window will show up only if a newer update is available.
Fixed, Edit Selection mode: sector highlight was not updated when switching from Edit Selection to Sectors mode.
Fixed, Edit Selection mode, UDMF: in some cases texture scale Y was flipped when applying/canceling changes made in the mode.
Probably fixed a crash caused by uninitialized Association when highlighting map elements.
Fixed, Comments Panel plugin: selection info was not updated when selecting map elements in the side panel.
Fixed, Tag Explorer plugin: selection info was not updated when selecting map elements in the side panel.
Fixed a typo in Hexen_things.cfg.
2015-09-04 12:44:09 +00:00
MaxED
c7696b0464 Fixed, Draw Lines/Rectangle/Circle/Curve modes: line length labels displayed incorrect length.
Changed, Drag Linedefs/Vertices/Sectors/Things modes: line length labels are now displayed the same way as in Draw modes.
Changed, Drag Linedefs/Vertices/Sectors/Things modes: "lock movement to cardinal directions" mode (Alt-Shift-Drag) now locks movement in 4 directions instead of 8 and doesn't snap map elements to nearest grid intersections when they are not aligned to it. 
Added, Visual mode, GZDoom, DECORATE: FORCEXYBILLBOARD flag is now supported.
Added, Visual mode, GLOOME, DECORATE: FLOORSPRITE, CEILSPRITE, WALLSPRITE, ROLLSPRITE and STICKTOPLANE flags are now supported (implementation is somewhat broken ATM and probably doesn't work the same way as in GLOOME, because Windows build with most these features is nowhere to be found...).
Fixed, Visual mode: in some cases Thing brightness was calculated incorrectly.
Updated ZDoom_DECORATE.cfg.
2015-08-25 22:05:14 +00:00
MaxED
b9b5b00213 Classic modes: added "Toggle Grid" action (default key is Alt-G), new menu item in the View menu and new toolbar button.
Changed, Things mode, cosmetic: tweaked thing sprite/bounding box appearance a bit more...
Fixed, Linedefs mode, cosmetic: fixed event lines and sector highlights flickering when view panning was started while displaying action highlight.
2015-08-04 23:28:02 +00:00
MaxED
ce7510c153 Preferences: removed "Square Things" setting. Square things are now the only option.
Changed, Things mode: things are now rendered with a bit of transparency, so things beneath other things are now visible.
Fixed, Things mode: in some cases it was impossible to highlight a thing beneath other thing when their positions were the same.
Changed, 2D modes: changed thing bounding box and arrow image.
Fixed, cosmetic, 2D modes: in some cases thing arrows were rendered bigger than thing bounding boxes.
2015-08-03 22:02:39 +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
1118fd6b98 Changed: "Show Comments" option should also control whether comment tooltips are displayed.
Added some boilerplate to CommentsDocker.
Internal: converted a bunch of if-elses to switches.
2015-07-15 09:09:47 +00:00
MaxED
0d4c2a8f32 UDMF: Added "Comment" tab to Edit Sector / Linedef / Thing forms.
Sectors, Linedefs, Things modes: comment icons for appropriate map elements with comments are now rendered in these modes. This can be disabled using either the new "Toggle Comments" action, "View -> Show Comments" menu item, or "Show Comments" button on the main toolbar.
2015-07-14 23:34:31 +00:00
MaxED
1424950d8d Things, Sectors, Liedefs mode, UDMF: map element comments are now shown when highlighting them.
Changed, Edit Text window: the form is no longer accepted when pressing the Enter key, so line breaks can now be added easily.
Versioning: GZDB version is now determined by the first 2 revision digits, so now it's GZDB 2.3, not 1.14.
2015-07-14 09:02:48 +00:00
MaxED
712dbd03e8 Cosmetic: renamed Drawing mode to Draw Lines mode.
Changed: current 2D position and zoom is now stored in the .dbs file when saving the map and restored when opening it (should this be turned into toggleable option?).
Draw Lines mode, Draw Curve mode: you can now hold Alt - Shift to snap to 8 cardinal directions.
Draw Rectangle mode, Draw Grid mode: you can now hold Alt - Shift to draw square shapes.
Draw Ellipse mode: you can now hold Alt - Shift to draw circle shapes.
You can now hold Alt - Shift to snap to 8 cardinal directions while dragging map objects.
Fixed, Draw Lines mode: line angle is now displayed in 0..359 range (was -45..314).
Fixed, Linedef info panel: line angle is now displayed in 0..359 range (was -45..314).
2015-07-09 22:32:12 +00:00