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.
Program Configuration: selected test engine index was not saved when applying the form.
Program Configuration: selected test engine index was not pasted when pasting a game configuration or test engines.
Program Configuration: in some cases current test engine name was not saved when applying the form.
Program Configuration: fixed broken logic when trying to add a test engine with the same file name as already existing one.
Texture Browser Form: don't save current texture group when the form was canceled.
Keyboard Shortcut Reference export: generated html will now be saved to program configuration folder if working folder is write-protected.
Internal: added SupportedMapFormats property to EditModeAttribute. A mode with this property specified will be available only in specified map formats.
Interface: Ceiling Align Mode and Floor Align Mode are now enabled by default.
Interface: Ceiling Align Mode and Floor Align Mode are now only available in UDMF map format.
Interface: Visplane Explorer Mode is now available only in Doom map format.
Also, I would like to use this opportunity to thank Siberian Tiger from DTD Team for helping me with SVN builds for more than two years. You made my constant wrestling with the code a much less tedious process.
Game Configurations: changed default map name for Doom maps to "E1M1".
New Map Form: "E1M1" is now used as a default name for Doom maps.
Thing Browser Control: double-click event is now sent only if user clicked in the node's label area.
Interface: added info messages for several toolbar toggles.
Interface: made Brightness icon more readable when using dark windows themes.
Internal: UDMF sector slopes and offsets are no longer stored in sector.Fields. Use sector.FloorSlope, sector.FloorSlopeOffset, sector.CeilingSlope and sector.CeilingSlopeOffset.
Tag Range plugin: tags can be set in relative mode (when this mode is enabled, generated values are added to existing tags instead of replacing them).
Updated documentation.
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.
Visual mode: real floor was colored by 3d floor's color even when it was below real floor.
Action Browser form: keyboard focus is now set to Filter text box by default.
"Texture 'XXX' is double defined in resource 'YYY'." warning is no longer displayed if a TEXTURE1/2 texture contains a patch with the same name as the texture.
Script names/numbers cache was not updated (no scripts were shown in the drop downs when using script setting actions).
SCRIPTS lump was not saved when saving a map.
BCC script compiler (https://github.com/wormt/bcc/) is now bundled with GZDB.
Main Form, "File" menu: only existing files are now added to the "recent files" list.
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.
Preferences: added "Capitalize texture names" option (located in Preferences -> Appearance -> Additional options). When disabled, the casing of displayed texture names will match filenames for textures loaded form TEXTURES or pk3/pk7/folder resources.
Textures Browser: added support for displaying long texture names.
Errors list is now cleared when reloading resources.
Visual mode: added basic support for sector slopes (no UI for that feature yet).
Snippets: changed token syntax from $XX to [XX]
[LB] (Line Break) marker can now be used in snippets.
Game Configurations: added "enabledbydefault" parameter. When set to true, a game configuration will be available by default (e.g. when an user starts the editor for the first time).
GZDB will no longer throw an exception when trying to update default value in a TypeHandler, which doesn't implement default value handling.
Script Editor: added snippets to auto-complete list (currently they aren't inserted properly though...).
Script Editor: auto-indentation now works a bit smarter.
ScintillaControl.GetLine() was retrieving incorrect line.
Randomize mode: randomized pitch, roll and scale can now be applied to things.
Randomize mode: removed "Relative" option, because results with this option enabled were almost the same as without it.
Classic modes, model rendering: selected models are now rendered using highlight color, so they no longer blend with thing rectangle/circle.
Model rendering, UDMF: scale was applied incorrectly to models with pitch or roll.
Updated documentation.
Thing Edit form, UDMF: default value of pitch and roll angle controls is now up.
Angle control: direction line is not displayed when showing mixed values.
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.
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.
"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.
GLDEFS parser: added a warning when the interval of animated dynamic light is 0.
Visual mode: fixed a crash when an angle of animated dynamic light was set to 0 and light animation was enabled.
Tag explorer: removed unnecessary mode switching when selecting map elements of the same type.
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.
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.
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 ("-").
Fixed a crash when using "Reload GLDEFS" and "Reload (Z)MAPINFO" actions when GLDEFS / MAPINFO file was moved or renamed after opening the map in the editor.
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.
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.
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.
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.
When no configuration is enabled, a message was supposed to be shown after startup. Now it actually shows up.
Several configurations were missing from the "Configurations" folder.
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.
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
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.
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.
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.
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.
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().
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.
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".