Commit graph

301 commits

Author SHA1 Message Date
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
4ad9ad78eb Added Doom and Doom 2 game configurations for vanilla Doom and Boom engines.
When you try to change floor/ceiling texture offsets in Doom/Hexen map formats, a warning is displayed in status bar (instead of spamming you with message windows).
Mode actions toolbar is now auto-hidden when there are no buttons to display.
2014-02-27 10:08:31 +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
2787034d1d Updated zdefs.acs and ZDoom_ACS.cfg. GetLineActivation and SetLineActivation action specials should work now.
Made hints group higher in Draw Grid mode's side panel.
2014-02-07 12:07:23 +00:00
MaxED
48fef89ed7 Map Analysis mode: "Check overlapping lines" logic was broken on maps in Doom and Hexen map formats.
Map Analysis mode: "Check overlapping lines" now finds duplicate linedefs (e.g. when 2 lines have the same start and end positions).
Map Analysis mode: added "Check overlapping vertices" check. This will check if a vertex is on top of a linedef or another vertex.
Some cosmetic changes in Tools and BaseVisualMode.
Updated zspecial.acs
2014-02-07 09:10:55 +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
a697cbfd0f Added ThingSlope patch by Boris (adds support for Sector tilt things (9502 and 9503) in Visual mode). 2014-01-20 11:44:41 +00:00
MaxED
7303cbd185 Cursor is now drawn on screenshots. 2014-01-17 14:41:38 +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
f3e4cf06b8 Visual mode, "Select" action with "With the same texture" modifier: sidedefs are no longer selected when matching part has zero height. 2014-01-17 07:55:15 +00:00
MaxED
88a6f5a46c Thing Info panel, Linedef info panel: tag labels are now displayed for action arguments. 2014-01-16 13:08:41 +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
0e55f26fda Visual mode: using "Select" action with "select with the same texture" modifier in some cases selected middle texture when it shouldn't have. 2014-01-13 08:44:31 +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
d27ae9c518 Added a bath file, which can be used to make an SVN build of GZDB.
Program version, including revision number, is now updated and handled properly.
2014-01-08 15:20:56 +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
47a84ad20f Added VOXELDEF support.
Visual mode: added "Match Brightness" action.
DECORATE parser: actor names, which contain "+" and "-" symbols, are now parsed correctly.
Fixed an error in lump ranges creation logic.
Cosmetic fixes in various warning/error messages.
Updated documentation.
2014-01-03 10:33:45 +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
871776e319 "Export to Wavefront .obj" action should work approx. 60% faster now. 2013-12-11 13:28:26 +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
MaxED
4e52d9bb9c Sectors mode: optimized rectangular selection logic.
Sectors mode: optimized sector highlight rendering logic.
Sectors mode: optimized sector effect/tag labels update logic.
Geometry tools: optimized several core functions.
Hints for current editing mode can now be displayed when nothing is highlighted (currently the hints are shown only in Draw Geometry mode).  
GZDB is now build with LARGEADDRESSAWARE flag, which increases amount of RAM GZDB can use from 1.4 to 2.8 GB.
2013-12-10 12:19:27 +00:00
MaxED
ca03109006 Info panels: thing and sector flags are now displayed.
Visual mode: changed "Move Texture Left/Right/Up/Down by 8" actions to "Move Texture Left/Right/Up/Down by cur. grid size"
Visual mode: holding Ctrl-Shift while dragging texture with the mouse will snap texture offsets to current grid size.
Classic modes: interiors of highlighted sectors are now highlighted when the action target of currently highlighted map element is sector.
Unhandeled exceptions infos are now written to the event log.
2013-12-05 09:24:55 +00:00
MaxED
b27716ce6b Classic modes: event lines were rendered inconsistently while panning the view.
Sectors mode: event lines were not rendered for things targeting highlighted sector.
Added "DropItem" and "CheckFlag" definitions to ACS and DECORATE script configurations.
2013-12-03 14:40:40 +00:00
MaxED
55fb9f872d "Raise" and "Lower Floor/Ceiling to adjacent sector" actions: when the action is not able to find suitable height from the elements of the same type, element of opposite type is used instead (damn that's cryptic :) ). Example: when no ceiling lower than lowest in selection was found while lowering selected ceilings, highest floor height of sectors, selected ceilings belong to, will be used instead. Even shorter: these actions can now be used to "close" and "open" doors quickly. 2013-12-03 13:12:12 +00:00