Commit graph

90 commits

Author SHA1 Message Date
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
MaxED
fe38d59169 Added, Classic modes: default thing arguments are now taken into account when highlighting related map elements.
Probably fixed an exception when trying to check which program(s) lock the map file on Windows XP.
Changed: added an option to try to close all programs, which lock the map file when saving the map and the map file is locked (requires Windows Vista or newer).
Fixed, Preferences window: some trackbars had incorrect background color.
Fixed, General interface: in some cases status messages were almost immediately replaced by selection info messages.
2015-09-08 14:54:53 +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
527d3cf5dc Added, Things mode, Visual mode: event lines for InterpolationPoints are now curved when appropriate setting is enabled in the control thing (PathFollower/ActorMover/MovingCamera) [heavily inspired by Xabis' patch].
Added, Things mode: the editor will try to reconnect the path when deleting InterpolationPoints and PatrolPoints.
Internal: RenderArrows method now works the same way in Renderer2D and Renderer3D.
Internal: Line3D now has "renderarrowhead" property.
2015-08-08 21:56:43 +00:00
MaxED
1d6cbb7098 Previous Things mode highlight fix was a bit rushed... 2015-08-06 22:16:12 +00:00
MaxED
18af297d9d Added, Things mode: target tags are now automatically assigned when duplicating (shift-dragging) PatrolPoints and InterpolationPoints.
Fixed, ThingsMode: fixed highlighted thing disappearing when using paste action while highlighting a thing.
2015-08-06 21:54:15 +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
2f77560b55 Fixed: selected items info was not updated when deleting a map element.
Changed, Sound Environments mode: previously selected sound environment is now automatically selected when inserting a new sound environment item. Also it's now impossible to accept the form without selecting a sound environment.
Changed, Sound Propagation mode: single-sided lines with sound zone boundary flag are now highlightable and clickable.
2015-06-30 18:34:08 +00:00
MaxED
540eb2fda8 Classic modes: changed the way event lines are rendered. Should work much faster now. Event lines are now displayed while panning the view. 2015-06-24 21:21:19 +00:00
MaxED
2dff39b8bc Changed, Visual mode, Auto-align textures actions, UDMF: aligned texture coordinates are no longer rounded to integer values.
Changed, Things, Sectors, Linedefs, Vertices modes: we shouldn't select highlighted map element during the copy action when no map elements are selected.
Internal: removed some debug stuff from CheckTextureAlignment and ResultTexturesMisaligned.
2015-04-16 13:03:12 +00:00
MaxED
a58f35227e Added, Visual mode, UDMF: added "Change Pitch Clockwise", "Change Pitch Counterclockwise", "Change Roll Clockwise" and "Change Roll Counterclockwise" actions.
Added, Visual mode, UDMF: added "Increase Scale" and "Decrease Scale" actions.
Added, Visual mode, UDMF: "Reset Texture Offsets" action now resets scale when used on things.
Added, Visual mode, UDMF: "Reset Local Texture Offsets" action now resets scale, pitch and roll when used on things.
Changed, Visual mode, UDMF: "Reset Texture Offsets" action now only resets texture offsets (previously it also reset texture scale).
Changed, Visual mode, UDMF: "Reset Local Texture Offsets" action now resets texture offsets, scale and brightness of sidedefs and also rotation of floors/ceilings.
Changed, Visual mode, UDMF: thing box arrow now displays pitch and roll for things, which have attached model and appropriate MODELDEF flags.
Changed, Thing Edit Form, UDMF: negative pitch and roll can now be entered.
Updated documentation.
2015-03-30 21:44:04 +00:00
MaxED
1d06e57750 Preferences -> Interface: added "Select texture group when opening image browsers" option. When enabled, the group current texture belongs to will be selected when opening image browsers (DB2 behavior). When disabled, "All" texture group will be selected.
Event lines: added event lines for polyobject anchor -> polyobject start spot pairs.
Fixed, Things mode: event lines were not drawn after finishing panning.
2015-03-06 19:12:12 +00:00
MaxED
1c769eec3f Core, internal: added ReverbsParser. Reverbs can be accessed using General.Map.Data.Reverbs.
Sound Environment Mode: sound environments can now be picked by editing sound environment things.
Sound Environment Mode: detected sound environments names are now used as item names in the tree view.
Fixed, Classic modes: incorrect texture was used as unknown floor/ceiling texture (I broke this in r2199).
Fixed, MainForm: reverted MainForm.UpdateToolStripSeparators. By making it look simpler I made it work more buggy...
Updated ZDoom_DECORATE.cfg.
2015-01-25 23:22:42 +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
8555d75cd2 A r1959 change in ImageSelectorControl prevented inherited classes from showing properly in Visual Studio's designer.
Also made a bunch of methods static.
2014-05-20 09:09:28 +00:00
MaxED
98aefb2681 Sectors, Linedefs, Things, Vertices modes: added "Select Similar" action (available in <Mode name> -> "Select Similar..." menu), which lets you select map elements similar to currently selected ones, based on a set of settings.
Some cosmetic fixes in "Filter Selected Things" and "Paste Properties Options" panels.
2014-05-08 09:24:32 +00:00
MaxED
ebd2400cde Things mode: added Filter Selection form (Things -> Filter Selection), which allows to quickly filter selected things by type.
Tag Statistics form, Thing Statistics form: fixed a crash when clicking on table's header cells.
2014-05-06 11:03:52 +00:00
MaxED
4af31e1aba Things mode: you can clone selected/highlighted things by holding "Shift" before starting to drag them. 2014-04-18 11:22:44 +00:00
MaxED
dddf91e56e Added "Paste Properties Options" form, which lets you pick properties for 'Copy Properties' and 'Paste Properties' actions.
Removed CopyPasteSectorProperties plugin, because built-in "Copy/Paste Properties" actions do the same job, but better.
2014-04-09 10:16:33 +00:00
MaxED
7a29d87cb1 "Rotate Clockwise" and "Rotate Counterclockwise" actions now work in Things mode (they will rotate things) and in Sectors mode (they will rotate floor/ceiling textures based on current view mode).
Moved "Rotate Clockwise" and "Rotate Counterclockwise" actions to "Edit" category.
Tag Statistics form: help label was incorrectly aligned.
Some actions in Sectors and Linedefs modes were not used on highlighted map elements.
Some actions in Sectors and Linedefs modes created undo groups incorrectly when used on highlighted map elements.
2014-04-02 10:57:52 +00:00
MaxED
21889a98e7 Default thing arguments were not set when creating a new thing, only when changing thing type in Edit Things window. 2014-02-21 15:24:54 +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