Commit graph

176 commits

Author SHA1 Message Date
MaxED
f2c0d0a4c8 Classic modes: you can now hold ALT key while dragging map items to lock movement to grid increments relative to initial position. 2014-07-11 10:46:10 +00:00
MaxED
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
7254c62ee0 Draw Rectangle mode, Draw Ellipse mode: fixed a possible crash when restoring bevel/subdivisions values.
Draw Curve mode: added "Reset" button to the toolbar.
Draw Rectangle/Ellipse/Grid modes: "Reset" toolbar buttons didn't have a proper tooltip.
2014-07-02 10:12:53 +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
9c7b8e4e3c Model rendering (all modes): UDMF scale, pitch and roll are now displayed.
Thing Edit Form, UDMF: added controls for setting pitch, roll, scale, render style, fill color, alpha, health and score.
Visual mode, UDMF: UDMF scale is now applied when rendering sprites.
Added Thing Statistics form (Edit -> View Thing Types...), which shows all loaded thing types with some additional info.
Visual mode: sprites with negative ScaleX and positive ScaleY were not rendered properly.
Classic modes: display was not updated after loading a sprite.
Current testing engine change was not saved on closing the program when no other game configuration settings were changed.
2014-04-30 10:01:22 +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
71ad1199d8 The editor no longer locks up while testing the map. 2014-03-23 09:08:51 +00:00
MaxED
ee6faba11c "File -> Export -> Selection as Wavefront .obj" menu command was not working.
"Preferences -> Editing -> When splitting a linedef" setting is now always used when splitting linedefs.
"Preferences -> Editing -> When splitting a linedef": added "Reset X and Y" option.
"Preferences -> Editing -> Auto-align textures of newly created linedefs" option now works in a more intelligent fashion.
2014-03-19 13:03:47 +00:00
MaxED
6de11ea3b1 Make Door action: door texture can now be defined in a game configuration.
Make Door action: door and track textures are now stored while the editor is running.
Edit Selection Mode: pasted geometry was not merged with the rest of the map if the selection was not modified before applying the mode.
2014-03-06 09:08:21 +00:00
MaxED
f7f8c1e894 Make Door action: added missing activation properties for maps in Hexen and UDMF map formats.
Make Door action: made Make Door form a bit smaller.
Make Door action: sector highlight was not updated after performing the action when a single sector was selected.
2014-03-05 12:26:09 +00:00
MaxED
7faf6bc13e Linedef Edit Form, Sector Edit Form: when several map elements with different textures are selected, the "texture stack" icon is shown in the texture selectors instead of the "missing texture" icon.
Error Checker mode: added "Check missing flats" check.
Error Checker mode: fixed several descriptions. 
Sprite patches for sprites defined in TEXTURES are now loaded from Sprites namespace.
Some of my older texture alignment code didn't work properly when strict texture/flat handling ("mixtextureflats" game configuration flag set to false) was enabled.
Fixed some incorrect checks for missing texture ("-").
2014-03-05 09:21:28 +00:00
MaxED
9a50b38f78 Added "Full Brightness" toolbar button and "View" menu item. These call "Toggle Full Brightness" action.
Added "Make Door" menu item to "Sectors" menu.
A warning is now displayed when "Make Door" action is called without a selection.
2014-03-03 09:52:55 +00:00
MaxED
7d4ac20b0f Fixed button states for "Draw [stuff]" modes in the modes toolbar.
Moved settings for "Draw [stuff]" modes to the top toolbar.
Added hints for Draw Grid mode.
Fixed a status message update bug introduced in previous commit.
2014-02-28 14:32:20 +00:00
MaxED
0369c969d1 According to dotnetperls.com, "new Dictionary<string, [anything]>(StringComparer.Ordinal)" works 17% faster than "new Dictionary<string, [anything]>()", so let's stick that everywhere and see what happens :)
Draw Curve Mode: added settings panel.
Sectors mode: added "Make Door" button to the toolbar.
Swapped Side panel and Info panel z-order. 
Interface: split toolbar into 3 separate toolbars. All toolbar buttons are now viewable at 1024x768.
Interface: grouped stuff in "Modes" menu a bit better.
Interface: added "Draw [stuff]" buttons to modes toolbar.
Interface: reorganized main menu. Hope it makes more sense now.
API: added General.Interface.AddModesButton() and General.Interface.AddModesMenu(), which can be used to add buttons to specific group in "Modes" toolbar and menu items to specific group in "Modes" menu, so actions, which behave like an editing mode, but are not part of one can be added there.
2014-02-26 14:11:06 +00:00
MaxED
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
MaxED
d9e53f2899 Game Configurations: added support for new property "fixedrotation", which keeps thing's angle constant when a thing is rotated in Edit Selection mode.
Game Configurations: added "fixedrotation" property to "Polyobject Anchor" (9300), "Polyobject Start Spot" (9301), "Polyobject Start Spot (crush)" (9302) and "Polyobject Start Spot (hurts to touch)" (9303) actors.
Color Picker plugin: moved plugin button to "Modes" toolbar group.
API: added ToolbarSection.Modes property, which can be used in MainForm.AddButton() to add a button to Modes group.
Removed a bunch of unused variables.
2014-02-20 12:36:09 +00:00
MaxED
592887a086 Configurations: increased game configuration loading speed (in previous builds it took ~650 ms. to load a single game configuration, now it takes ~120 ms. to load all 64 of them). As a side effect, New\Open Map Options, Map Options and Game Configurations windows are now opened noticeably faster. The editor starts up a bit faster as well.
Configurations: all 64 game configuration are now available by default.
Game Configurations window: game configurations can now be disabled. This setting is mostly cosmetic. When a game configuration is disabled, it won't be shown in "game configuration" dropdowns in New\Open Map Options and Map Options windows. If a map's .dbs file specifies a disabled configuration, it will be picked as a map configuration anyway.
Linedefs mode: vertex insert preview logic used Highlight range instead of Stitch range (which is used when draw mode engages).
Visual mode: double-sided middle textures were not selected when using "Select" action with "with same texture" modifier.
Textures: some optimizations in patch blending code.
ZDoom ACS script configuration: added definitions for StrLeft, StrMid and StrRight functions.
2014-02-18 14:04:14 +00:00
MaxED
8229cb8b71 Added "Go To Coordinates" action (available in "View" menu and via Ctrl-Shift-G shortcut). It will center the view on given coordinates in classic modes and place camera at given coordinates in visual mode. 2014-02-10 09:26:13 +00:00
MaxED
1367c37b8d Visual mode: when changing height of a triangular sector all vertices of which have height offset, vertex heights will be changed instead of sector's floor/ceiling height (this allows to edit terrain without the use of vertex handles).
Visual mode: "Copy Texture", "Copy Texture Offsets" and "Copy Properties" actions now always copy properties from currently highlighted surface (previously they copied properties from the first selected surface when something was selected).
Draw Rectangle mode: nothing was drawn in some cases.
Drag Things mode: grid was not updated when grid size was changed in this mode.
2014-02-03 11:19:12 +00:00
MaxED
79dcaca457 Added Import Terrain mode (Create -> Terrain from Wavefront .obj)
Draw Settings panel: added "All" buttons to "Fill Selection with Textures" and "Remove Textures form Selection" groups
Export to .obj: fixed a crash when trying to export an unsaved map.
Texture preview are now created ~25% faster.
2014-01-30 14:52:08 +00:00
MaxED
cd75b4e30e Sector info panel: rearranged controls a bit, so tag labels and long effect names can be displayed (more) properly.
Linedefs mode: event arrows were not redrawn after updating vertex insert indicator.
Configurations: some titles were too long to be displayed properly in the interface.
2014-01-27 11:18:24 +00:00
MaxED
bdcaa2b1f2 Linedefs mode: insert vertex preview is now shown. 2014-01-23 13:55:03 +00:00
MaxED
88b12750c1 Linedef info panel: tag is no longer shown in Hexen map format.
Numeric textbox: in addition to '++NN' and '--NN', you can use '*NN' and '/NN' to multiply or divide the values.
Configurations, ZDoom_linedefs.cfg: some linedef action arguments were missing a proper type.
Rewritten parts of hints system. Hints are now loaded from "Hints.cfg" file.
2014-01-23 13:36:51 +00:00
MaxED
9ac9b18e2d Hints and Draw Settings panels were not removed during map closing/switching, which resulted in duplicate panels.
The way things were rendered during dragging is now used by default in Things mode.
2014-01-17 13:48:06 +00:00
MaxED
e83da37f14 Draw Grid mode: added "Lock slices to grid" option. 2014-01-17 09:44:08 +00:00
MaxED
e487a9c80a Added Draw Grid mode.
When Draw Rectangle or Draw Ellipse mode is enabled, it's settings are now shown in side panel.
Draw Ellipse mode: increased maximum number of sides to 512.
Changed the way tags are shown in Tag Selector controls. Tags without labels are now shown as a number (not "Tag N"), and tags with label are now shown as "N (label)", not "label (N)".
Tag labels are now shown in Thing, Sector and Linedef info panels.
Once again changed the way things are rendered while dragged.
Rearranged the label in PairedIntControl and PairedFieldControl (it is now behind numeric controls).
Optimized MapSet.GetSectorByCoordinates().
2014-01-16 09:32:05 +00:00
MaxED
75114595ed Sectors mode: hold Alt while (de)selecting sectors to (de)select things inside of them.
Sectors mode, rectangular selection: you can now hold Alt to select things inside of selected sectors.
Sector highlight is now shown when selecting sectors in Tag Explorer.
2014-01-13 12:49:54 +00:00
MaxED
c087d014a1 Selected things are now dragged while dragging vertices, linedefs and sectors.
Error checks: added "Check unused textures" option.
Replaced MissingTexture3D and UnknownTexture3D.
Sectors mode: restored "Lower/Raise Floor/Ceiling by 8 mp" actions.
Visual mode: in some cases sidedefs were rendered as selected when they were not.
Existing linedefs were not split while drawing new lines in some cases.
Texture and height overrides were not applied correctly in some cases.
Preferences form: "Ctrl+Alt+ScrollUp" and "Ctrl+Alt+ScrollDown" dropdown items were setting the shortcut to "Ctrl+Shift+ScrollUp" and "Ctrl+Shift+ScrollDown".
2014-01-13 08:06:56 +00:00
MaxED
2e88f8f4a5 Nodes Viewer now supports ZNODES in "XNOD", "XGLN", "XGL2" and "XGL3" formats.
Sector highlight is now shown in many more places.
Edit area auto-focusing is now disabled when any form is open.
2014-01-10 15:08:39 +00:00
MaxED
70102f1420 Changed mode buttons order in the toolbar.
Fixed a crash when enabling Nodes Viewer mode in an unsaved map.
2014-01-09 13:09:43 +00:00
MaxED
1adf313a91 Fixed: side panel was not auto-collapsed when Help tab was selected.
Fixed: texture size label's visibility was inconsistent in ImageSelectorControls.
2014-01-09 11:31:34 +00:00
MaxED
013865e27d Voxels can now be loaded from WAD resources.
Reverted "Delete Item" action to the way it worked in DB2.
Added "Dissolve Item" action, which works the way "Delete Item" worked in previous revisions of GZDB.
Added "Auto Clear Sidedef Textures" action, "Edit" menu and toolbar button, which toggle automatic removal of sidedef textures when floor or ceiling height is changed or when geometry is drawn, copied or pasted.
Draw Settings panel: upper/lower texture overrides can now be used.
Draw Settings panel: added 2 sets of buttons, which allow to quickly set or clear textures in current selection.
Things are now rendered behind AND on top of the grid/linedefs/vertices when they are dragged.
Redesigned hints system. They are now shown in a side panel.
Edit area auto-focusing is now disabled when script editor is open.
Texture Browser form: no texture group was selected when opening the form in some cases.
Fixed several strange/misleading text messages.
2014-01-08 09:46:57 +00:00
MaxED
46feeb422f I keep forgetting that, unlike protected methods, Actions MUST be implemented in derived classes... 2013-12-26 08:07:40 +00:00
MaxED
87ff11cc0f Things are now rendered behind grid and linedefs/vertices when they are dragged.
Added hints for Drag Geometry modes.
2013-12-23 12:02:58 +00:00
MaxED
6a51cc7c01 Classic modes: bilinear filtering was used in full brightness mode regardless of preferences setting.
Classic modes: "Paint Selection" and "Toggle Full Brightness" actions can now be used from any plugin.
Fixed possible crash in DECORATE actor color override logic.
2013-12-23 09:51:52 +00:00
MaxED
4e93bc71d3 Linedef Edit Form: added "Subtractive" render style (no Visual mode support yet).
Fixed a misleading hint.
2013-12-20 13:41:57 +00:00
MaxED
0366f13c9a Flat textures were loaded incorrectly in some cases.
UDMF map parser should work ~35% faster now.
Texture browser form: keyboard focus was not updated when switching between textures using Tab key.
"Graphics" folder is now checked when searching for texture patches.
Various cosmetic changes here and there.
2013-12-20 09:24:43 +00:00
MaxED
ae56aad3b7 Hints panel was improperly resized in some cases.
Info panel was not updated after leaving Visual mode.
Moved hints logic to ClassicMode, so hints can be displayed by any plugin.
Visual mode: dynamic light animation was not working.
Minor performance improvements in Actor, Configuration, UDMF and TEXTURES parsers.
2013-12-18 09:11:04 +00:00
MaxED
b1b3dda28b Increased performance when creating new map geometry (for example, when applying changes made by "Draw Line", "Draw Rectangle" etc. actions). 2013-12-17 13:18:44 +00:00
MaxED
9df67e8b22 Thing Info panel: thing action is no longer shown in Doom map format.
Sector and Thing Info panels: fixed possible crash when trying to show unknown thing/sector flag.
Hints were not shown properly when multiselection was started while highlighting a map element.
Copy/Paste actions work much faster now.
Classic modes: rendered grid size in now adjusted to current zoom level.
2013-12-17 08:19:40 +00:00
MaxED
1bd58bab4b Increased performance when deleting things in Things mode, linedefs in Linedefs mode and sectors in Sectors mode.
Increased performance when canceling Edit mode after pasting.
"Export to Wavefront .obj" function: current selection is now converted to sectors before running the function (previously it would export selected sectors when there were sectors selected, or the whole map when no sectors were selected).
2013-12-13 09:31:18 +00:00
MaxED
d03787f48c Sectors mode: selection info was not updated after performing undo 2013-12-12 09:40:20 +00:00
MaxED
ab4d8c2776 "Export to Wavefront .obj" action should work much faster now.
Things mode: selection info was not updated when selection was cleared.
2013-12-12 09:07:30 +00:00
MaxED
47cebd9b20 Sectors mode: selected sectors geometry cache was not updated after undo/redo.
Updated hint system.
Corrected 2 typos in action names.
2013-12-11 08:47:11 +00:00
MaxED
0b622c5f73 Thing Edit form: the logic of thing position controls was broken.
Info panel: current mode name was shown when in shouldn't have been.
2013-12-10 13:01:27 +00:00