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".
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.
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.
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.
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.
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.
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.
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).
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.
These changes were made in previous commit. I just forgot to write info about them:
Classic modes: going to Draw modes when Edit button is pressed when nothing is highlighted can be disabled in Preferences -> Editing -> "Start drawing when Edit pressed over empty space in Classic modes".
Classic modes: removed Preferences -> Editing -> "Try to align horizontal tex. offset of dragged geometry", because it was more confusing than helpful...
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.
Angle control (the newer, photoshop-like one): left-clicking inside the control now clamps angle to 45-degree increments. Right-clicking inside the control sets precise angle.
Thing Edit Form: replaced angle control with newer one.
Classic modes: fixed minor rendering artifacts when drawing thing direction arrow.
Sectors mode: event lines were not rendered for things targeting highlighted sector.
Added "DropItem" and "CheckFlag" definitions to ACS and DECORATE script configurations.
Fixed a possible crash when rendering thing arrows in classic modes caused by incorrect vertex buffer size calculation.
Reverted changes to texture\flat access when "mixtexturesflats" option is set to true in game configuration.
Location and active tab of all Edit Forms are now stored while GZDB is running.
Focus management between editing window and the rest of the interface should work better now.
Tag Explorer plugin: editing window was not updated properly when Edit forms were opened from Tag Explorer.
Tag Explorer plugin, UDMF: comment editing was incorrectly initialized in some cases.
Plugins: fixed a crash caused by inability to find referenced assembly when loading a plugin, which depends on other plugin(s).
Undo-redo, UDMF: undo information was not created properly for several types of UDMF fields for the last map element in the selection when the selection contained more that 1 element.
Updated documentation.
Maintenance stuff:
Core/Plugins/Plug: made current display location and size information properly available to plugins.
Made Core/Controls/ColorControl available to be used by plugins.
Classic modes: event lines are drawn once again while panning the view (I've disabled this a while ago trying to fix performance problems in Classic modes).
Visual mode: added "Reset Local Texture Offsets (UDMF)" action (default key is Ctrl-Shift-R). It will reset upper/middle/lower texture offsets in UDMF and will act exactly as "Reset Texture Offsets" action in other map formats.
Default sector ceiling height can now be set in Preferences.
Default sector floor height can now be set in Preferences.
Maximum number of recent files can now be changed in Preferences.
UDMF, Custom fields: a warning is now shown when a user tries to manually add a managed filed.
UDMF: "Translucent" linedef flag is now marked as obsolete.
Sectors mode: effect and tag overlay can now be toggled separately from selection numbers.
Sectors mode: "View Tags and Effects" and "View Selection Numbering" settings are now saved to program configuration.
Sectors mode: removed "Lower Floor by 8 mp", "Raise Floor by 8 mp", "Lower Ceiling by 8 mp" and "Raise Ceiling by 8 mp" actions.
"Increase Brightness by 8" and "Decrease Brightness by 8" actions now work in Sectors mode.
Moved "Increase Brightness by 8" and "Decrease Brightness by 8" actions to "Edit" category.
"Toggle Highlight" action now works in Sectors mode.
Moved "Toggle Highlight" action to "Tools" category.
Removed Brightness mode.
Updated documentation.
Visual mode: added support for "fogdensity" and "outsidefogdensity" MAPINFO properties.
Sector Info panel now shows the number of sector's sidedefs as well as light and fade colors (UDMF only).
UDMF: Sector and sidedef flags are now copied/pasted when using "Copy Properties" and "Paste Properties" actions.
Fixed: in some cases default texture overrides were used even when corresponding option was disabled.
Sector Edit form: light and fade values were not saved when a value was pasted/entered into text box.
Sector Edit form: "reset value" button was not shown for light and fade values when selected sectors had different light/fade colors.
Reverted Open Map form changes from previous commit (my assumption that map marker is always empty was not correct...)
Updated documentation.
Snap Map Elements to Grid mode now works much faster and shows a message when completed.
Forced default textures are now only used in drawing modes.
Exception Dialog: long error descriptions were breaking window layout.
Map will no longer be shown in Open Map form if unrelated data is encountered inside of map namespace.
"Snap Map Elements to Grid" mode now tries to fix invalid geometry after vertex snapping.
Vertices mode: in some cases not all vertices were removed when deleting vertices.
Removed "Load GZDoom light definitions" from preferences. If you want to use GZDoom's GLDEFS definitions, add "lights.pk3" as a resource.
Visual mode: fixed a crash when toggling GZDoom Geometry Effects (Tab)
Fixed sector bounding box calculation error.
Renamed "Edit -> Grid Setup..." to "Edit -> Grid and Backdrop Setup..."
Updated documentation