Commit graph

111 commits

Author SHA1 Message Date
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
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
f646dd7a57 Classic modes: rewritten and optimized some parts of text label rendering logic.
Internal, API: TextLabels can now display multi-line text, their font can be changed, they can have a background.
2016-03-30 23:25:03 +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
49525177e3 Cosmetic: changed ' to " in some more Error and Warning messages. 2016-03-08 20:41:06 +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
e44b918b52 Changed, "Select Similar", "Paste Properties Special" actions properties windows, Linedefs: removed "Sidedef Properties" from Linedef flags tab.
Fixed several issues with "Synchronized Things Selection" setting:
- Things were not deselected after dragging a single sector.
- Things were not deselected after editing properties of a single sector.
- Things sector references were not updated after using "Join Sectors" and "Merge Sectors" actions.
- Things (de)selection is now applied to all things, instead of only the ones visible using current Things Filter.
2015-12-13 19:18:09 +00:00
MaxED
e4d2019d82 Fixed, Visual mode, "Auto-align textures" actions, UDMF: vertical offsets of non-wrapped middle textures should not be clamped.
Fixed, Visual mode: brightness of 3d floors with "disable lighting" flag was calculated incorrectly.
Fixed, Sectors mode: 3d floor linedef indicators were not updated after using "Join Sectors" and "Merge Sectors" actions.
2015-12-02 13:55:15 +00:00
MaxED
ff40bdc588 Fixed, Visual mode: fixed a crash when undoing 3d floor creation.
Fixed: 3d floor linedef indicators shown in Classic modes were not updated when 3d floor creation was undone in Visual mode.
Performance optimization when selecting sectors in Sectors mode with "Synchronized Things selection" setting enabled.
2015-11-08 20:20:46 +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
3fb5679a9a Fixed: "Sectors -> Select Things in Selected Sectors" menu item was not triggering the appropriate action.
Fixed: "Select Things in Selected Sectors" action was clearing selected sectors without updating the display.
Changed, Sectors mode: number of selected things is now displayed in the info panel.
Changed, Game Configurations window, "Testing" tab: game engine executable browser now opens up when clicking the "Add game engine" button.
Changed, Game Configurations window, "Testing" tab: default game engine display name is now generated from the folder name game engine executable is in.
Changed, Visual mode: Sector_Outside (87) sector effect is now taken into account when determining sector fog color.
Game configurations: added "defaultwalltexture", "defaultfloortexture" and "defaultceilingtexture" parameters. These define textures used when drawing a sector (usually the first sector of a map only).
Game configurations: classic game configurations now use "-warp" command to load the map.
Game configurations: factorized testing parameters into "Includes\Test_params.cfg".
Added internal functions to Hexen acs scripting configuration.
Updated documentation ("Game Configuration - Basic Settings" topic).
2015-10-23 12:01:27 +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
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
c407c8c351 Fixed, DB2 bug: side panel's tabs were drawn incorrectly when panel's height was lower than cumulative tabs height.
Visual mode, GLOOME: wall/floor/ceiling sprites are now rendered closer to the way it's done in GLOOME.
Sectors mode, UDMF: some cosmetic tweaks to comment icons rendering.
Classic modes: linedef rendering is now skipped when it's visible length is very short.
General interface: fixed a possible crash when clicking on the warnings count label when it was updated from the background thread.
2015-08-31 22:06:44 +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
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
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
930e8f54d9 Sectors mode, "Raise/Lower Sector Brightness" actions: we should display the actual increment instead of "8".
UDMF: changed the name of "midtex3dimpassible" flag.
Updated ZDoom_DECORATE.cfg.
2015-05-11 20:17:50 +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
70416cd95f Fixed, Sectors/Linedefs/Vertices modes: 3D floor color indicators should be updated after deleting a map element.
Documentation: added "List of deprecated plugins" topic, slightly changed topics layout.
2015-04-06 19:33:57 +00:00
MaxED
5152a2d6b1 Fixed, "Make Door" action: highlighted sector should be used as an action target only when there are no sectors selected.
Fixed, "Make Door" action: used textures were not updated after performing the action.
2015-03-23 18:34:10 +00:00
MaxED
0ba6490b8a Changed, "Make Brightness Gradient" action: MAPINFO FadeColor and OutsideFogColor properties are now used when first or last sector doesn't have "fadecolor" property when making a fade gradient.
Fixed (probably), D3DDevice: looks like CreatePresentParameters() can also throw "D3DERR_DEVICELOST" error in some cases...
2015-02-20 13:22:43 +00:00
MaxED
e8e2cac1f3 Fixed, Sectors mode: selection info and highlight were not updated after using "Join Sectors" and "Merge Sectors" actions.
Linedefs mode: "Update 'lightfog' flag" was missing the click event handler.
2015-02-13 19:59:14 +00:00
MaxED
12203f1701 Fixed, Sectors Mode, UDMF: "Make Brightness Gradient" action was not working when "Sector Brightness" mode was selected... 2015-01-29 12:14:45 +00:00
MaxED
43f191872a Draw Grid mode: added "Horizontal Interpolation" and "Vertical Interpolation" toolbar menus.
Fixed, Sectors mode, UDMF: surface cache was not updated after applying floor/ceiling brightness gradients.
Cosmetic, Sectors mode, UDMF: brightness gradient modes now have more descriptive names.
Internal, InterpolationTools: replaced EaseInOutSine equation with one, which actually works.
2015-01-16 23:37:20 +00:00
MaxED
b8c871916b Sectors mode: added "Light and Fade" brightness gradient mode.
Sectors mode: "Gradient Interpolation Mode" toolbar menu.
Internal: extracted easing functions from Bridge Mode into InterpolationTools class.
+a couple of cosmetic changes.
2015-01-16 21:38:42 +00:00
MaxED
c325d7ec14 Changed, "Snap selected map elements to grid" action: the action now works on any selected map element type.
Fixed, Sectors mode: holding Alt to (de)select things inside of sectors worked only in band selection mode. Now it also works when selecting individual sectors and when using paint selection mode.
Fixed, Statistics Control: forgot to remove some test code in r2176...
Internal: removed several unused icons.
2015-01-10 23:12:19 +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
c97dd0e401 Map Analysis mode: errors can now be copied to clipboard.
Map Analysis mode: export to file command will now show "Save File" dialog instead of putting the file in the same folder as the map, also added some boilerplate.
Tag Explorer plugin: save to file command will now show "Save File" dialog instead of putting the file in the same folder as the map, also added some boilerplate.
Internal: reformatted GZCrash.log a bit.
2014-09-12 12:19:58 +00:00
MaxED
f596b88376 Proper labels are now displayed for generalized sector effects.
Internal, Edit Sectors form: more changes to "Slopes" tab logic. It's still incomplete...
2014-09-04 12:34:26 +00:00
MaxED
9c17aa4fe8 Sectors mode: things inside of selected sectors can be moved when dragging sectors. This behavior can be toggled by the new button on Sectors mode's toolbar.
Sectors mode: changed Alt-key handling. Now it only enables "snap to grid increment" mode.
Things mode: "snap to grid increment" mode now works in this mode.
Updated documentation.
2014-07-18 15:11:37 +00:00
MaxED
c9cb4ad11f Linedefs Mode: "Flip Sidedefs" action will no longer flip one-sided lines.
Linedefs Mode: "Flip Linedefs" action now tries to align linedefs, so their front (or back) point towards the same sector.
Sectors Mode: "Flip Linedefs" action is now available form this mode, and it will also try to align linedefs, so their front (or back) point towards the same sector.
2014-07-07 14:17:49 +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
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