Commit graph

88 commits

Author SHA1 Message Date
MaxED
adadca9d99 TEXTURES support: both patch Blend syntaxes are now supported (previously only "Blend <string color>[,<float alpha>]" was supported).
Added X11R6RGB parser.
Rewritten parts of unhandled exceptions handling to reduce the chance of additional exceptions happening after the first one.
2016-03-16 23:26:53 +00:00
MaxED
80861be6ab Added "Fixed Things Scale" setting (available in the View menu, as a button on the View toolbar and as the "Toggle Fixed Things Scale" action). When enabled, Things will no longer be scaled based on current zoom level in Classic modes, instead, thing bounding box will be drawn when appropriate (this option mimics DB1 things rendering style).
Internal: removed some remnants of fixed rendering pipeline from Renderer2D and Renderer3D.
2016-02-22 15:20:08 +00:00
MaxED
4ec6aa281d Fixed, General interface, Statistics control: map elements count was displayed incorrectly when the number of map elements was greater than 99999. 2016-02-15 15:08:31 +00:00
MaxED
37feaa5de1 Added, Visual mode: sky rendering. Currently classic skies and GLDEFS Skyboxes are supported.
Added "Toggle sky rendering" action and toolbar button.
Added, MAPINFO parser: the editor now recognizes map number from classic map definition format. Hexen MAPINFO is now properly parsed.
Added, MAPINFO support: if current map definition contains map name as a text string, it will be shown in the editor's header.
Changed: "Toggle dynamic lights rendering" now toggles between "Don't show dynamic lights" and "Show dynamic lights" when used in Classic modes. 
Changed, Things mode: lowered the opacity of dynamic light radii.
Changed, (G)ZDoom text parsers: empty include files now trigger a warning instead of an error and no longer abort parsing.
Fixed, Game configurations: moved Stalagmite:5050 thing to Doom block (so the editor no longer tries to load it for non-Doom game configurations).
Fixed(?), Visual mode: probably fixed a hard-to-trigger exception when sorting translucent geometry.
Fixed, Visual mode: floor glow effect was incorrectly applied to walls (was broken in R2452).
Internal: restructured most of MAPINFO and GLDEFS parsers. Should be more maintainable now.  
Updated ZDoom ACC.
Updated zdbsp to 1.19.
Updated documentation.
2016-01-11 13:00:52 +00:00
MaxED
098e9724d9 Visual mode: rewritten most of the 3d floor clipping and light/color assignment logic. As a result, 3d floors should look much closer to what's seen in GZDoom.
Fixed, Visual mode: glow effect was not updated when changing sector textures using the "Select Texture" action.
Browse Textures/Flats window: when textures list is focused, you can now start typing to change the Filter.
2015-11-20 14:31:54 +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
9253788ccd Fixed, DB2 bug: we should not switch to a new editing mode if it fails to initialize.
More detailed info is now saved to the log file (GZBuilder.log) when an editing mode fails to initialize.
General interface: added "Help -> Program Configuration Folder" menu item.
2015-10-02 23:15:29 +00:00
MaxED
dc840605aa Added emergency map backup system (EMBS). When the editor crashes, it will try to export a backup copy of the map structures. When the same map is loaded again, it will ask the user if he wants to restore the map.
High-DPI: fixed many issues with incorrect controls size (Tag selector width, Comment Editor size, icons size, tabs size etc.).
Cosmetic: changed map geometry dragging undo messages to more descriptive ones.
Fixed, Textures Browser, cosmetic: "Show textures in subdirectories" checkbox should be repositioned when "Long texture names" one is invisible.
Updated ZDoom_DECORATE.cfg (added A_SetFloatSpeed + a couple of fixes).
2015-09-25 13:20:53 +00:00
MaxED
deb65258ae Added, Visual mode, GLDEFS, GLOOME: subtractive glow is now supported.
Changed, Visual mode: changed thing fog calculation logic. Should be closer to GZDoom now.
Fixed, GLDEFS parser: "height" texture parameter was not treated as optional.
Fixed, text lump parsers: in some cases incorrect line number was displayed in error and warning messages.
Fixed, Visual mode: glow effect was not applied to sectors with 3 sidedefs.
Fixed, Visual mode: in some cases glow effect was not updated when replacing textures. 
Fixed, general interface: "Full Brightness" button state was not updated during map loading.
Fixed, Drag Linedefs/Vertices/Sectors/Things modes: positions of line length labels were not updated while panning the view.
Cosmetic: added a bunch of new icons.
Cosmetic: changed Visual mode crosshair.
2015-08-27 20:46:49 +00:00
MaxED
c0fbf5e71e Fixed, MAPINFO parser: map/defaultmap/adddefaultmap sub-blocks were not skipped properly.
Changed, General interface: all main menu toolbars are now visible when starting the editor for the first time.
Changed, General interface: "Prefabs" and "Edit" menus are now hidden when no map is loaded.
Changed, General interface: moved "Dynamic Grid Size" menu item to the "Edit" menu, also moved the button to the matching position on the toolbar.
Changed, General interface: changed "Show Comments" menu item position in the "View" menu, also moved the button to the matching position on the toolbar.
Game configurations: removed "gamedetect" block, because it was unused by the editor.
Updated documentation ("Map Format Settings" page).
2015-08-23 23:32:12 +00:00
MaxED
980fc2f4c8 Classic modes: added "Dynamic grid size" option (available in the View menu and on the main toolbar). When enabled, grid size will be automatically adjusted based on current zoom level.
Updated ZDoom ACC to rev. 19995bb.
Updated ZDoom_ACS.cfg and ZDoom_DECORATE.cfg.
2015-08-20 14:09:28 +00:00
MaxED
b9b5b00213 Classic modes: added "Toggle Grid" action (default key is Alt-G), new menu item in the View menu and new toolbar button.
Changed, Things mode, cosmetic: tweaked thing sprite/bounding box appearance a bit more...
Fixed, Linedefs mode, cosmetic: fixed event lines and sector highlights flickering when view panning was started while displaying action highlight.
2015-08-04 23:28:02 +00:00
MaxED
39beaf2cdb Linedef Color Presets: completely redone Linedef Color Presets UI. Now it's done the same way as Things Filters UI.
Linedef Color Presets: Linedef Color Presets can now be disabled.
Things Filters window: a warning icon is now displayed near the filter name in the filters list when the filter has no usable settings.
Change Map in Current WAD window: keyboard focus was not set to initially selected item.
Changed the default wad filename from "unnamed.wad" to "[map name].wad".
Updated documentation ("Custom linedef colors" page).
2015-07-30 23:48:16 +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
12f532208f General: added update checking/updater launching logic and interface.
Updater.exe: fixed many bugs.
Tweaked MakeSVNRelease.bat to generate additional file, required by updater.
2015-07-01 23:09:34 +00:00
MaxED
8f2c6e3f60 Classic modes: added "Show models for current things filter only" model rendering mode.
Things Filters: things filters can now be inverted (added "Invert Filter" checkbox to the Things Filters window).
2015-06-27 09:10:24 +00:00
MaxED
2fe402b165 Fixed, MAPINFO parser: properties, written like '667=CuteCaco' were not parsed, while '667 = CuteCaco' worked fine.
Changed, Classic modes: increased maximum zoom level to 9000% (was 3000%).
Added, General interface: added "800%" zoom level to the bottom toolbar zoom menu.
Added, General interface: added "400%" and "800%" zoom levels to "View -> Zoom" menu.
2015-05-18 18:49:15 +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
76559ae881 Added GZDoom's glowing flats (http://www.zdoom.org/wiki/GLDEFS#Glowing_flats) support to Classic and Visual modes.
MAPINFO: added "DoomEdNum" and "SpawnNums" blocks support.
MAPINFO: added "#include" directive support.
MAPINFO: added "$gzdb_skip" special comment support.
DECORATE: "spawnthing" Game Configuration block is now updated using "SpawnID" actor property.
Game configurations: added "class" property to the most of ZDoom things.
Actions: removed "Reload MAPINFO" action.
Documentation: merged "GLDEFS and MODELDEF support", "(Z)MAPINFO support" and "TEXTURES support" topics into "(G)ZDoom text lumps support", added info about the other text lumps GZDB can use.
2015-04-14 11:33:57 +00:00
MaxED
c5a4c1987a High-DPI: main menu and toolbar icons are now scaled to match current DPI settings.
High-DPI: the width of status labels is now scaled to match current DPI settings.
Updated documentation.
2015-03-30 11:22:46 +00:00
MaxED
0993c189ea Changed, cosmetic: info panel, sidebar and most of the main toolbar buttons are now shown only when a map is loaded.
Fixed, cosmetic: fixed disappearing toolbars separators.
2015-03-05 23:19:10 +00:00
MaxED
a531e41a50 High-Dpi: redesigned Docker control's Pin button. Now it is rendered properly when using high-dpi display settings. 2015-01-09 08:11:42 +00:00
MaxED
86031291dc High-Dpi: fixed most of alignment errors. 2015-01-06 11:49:06 +00:00
MaxED
9c11d7e682 DECORATE parser: added special handling for ZDoom's special sprite names (namely TNT1, "####" and "----").
Internal: changed the way apppath is acquired. It should no longer fail when launching the editor from a shared network folder.
Main Form: changed some labels of dynamic light and model rendering selectors to be less confusing.
Updated ZDoom_DECORATE.cfg.
2015-01-03 18:43:37 +00:00
MaxED
6b765f5a27 Added long texture names support (enabled when "longtexturenames" game configuration property is set to true and "Use long texture names" check box is checked in Map Options).
Open Map in Current WAD: resources are now reloaded when current and target map's resources don't match.
Added some boilerplate to UniversalParser and PK3FileImage.
Internal: ImageSelectorControl now has "UsePreviews" property.
Internal: added ConfigurablePictureBox.
Updated ZDoom_DECORATE.cfg.
2014-11-25 11:52:01 +00:00
MaxED
66f75ec7c4 Internal: added a debug console. 2014-11-13 09:43:39 +00:00
MaxED
42fc2d8c2e Changed: reorganized controls in Thing Edit forms.
Changed: thing sprite is now displayed in ThingBrowserControl.
2014-11-06 12:56:47 +00:00
MaxED
ab7d4b2054 Renamed "Save Screenshot (editing area only)" action to "Save Screenshot (active window)". It will now save a screenshot of currently active window, or editing area if no windows are open.
Added icons for "Save Screenshot" menu items.
Development: "Save Screenshot (active window)" action will work on a child Form only if it is inherited from DelayedForm.
2014-10-22 13:07:17 +00:00
MaxED
c90d10c08c General interface: dynamic lights rendering mode and model rendering mode are now selected via drop-downs.
Renamed "Toggle dynamic lights rendering" action to "Show dynamic lights".
Changed: "Show dynamic lights" action now toggles between available dynamic light rendering modes.
Renamed "Toggle models rendering" action to "Show models".
Changed: "Show models" action now toggles between available model rendering modes.
Removed "Toggle dynamic lights animation" and "Render selected/all models" actions.
Fixed, Randomize Sectors form: selection highlight was not updated after applying the changes when the form was shown in Sectors mode.
Consistency: selection is now cleared after applying changes done in Randomize Things and Randomize Vertices forms.
Fixed, Classic modes: sprites of things with attached models were not rendered when model rendering was disabled.
Updated documentation.
2014-10-20 12:16:51 +00:00
MaxED
7cce80f030 Selection groups are now stored in the map's .dbs file.
Rewritten Add to/Select/Clear group Edit menu handling.
2014-07-16 09:45:04 +00:00
MaxED
b6c0aeea42 Removed Statistics plugin. Statistics are now shown in info panel when nothing is highlighted. 2014-05-08 12:34:24 +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
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
8599f18f4c "Reset" button was missing from "Draw Grid" settings.
Buttons order was messed up in editing modes toolbar after performing "Reload Resources" action.
Fixed editing modes toolbar layout.
2014-03-04 09:04:43 +00:00
MaxED
2d874973bf Renamed "Reload MODELDEF" action and "Tools" menu item to "Reload MODELDEF/VOXELDEF".
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.
2014-03-03 13:40:29 +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
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
8c2bd281a3 Interface: you can click on X,Y map coordinates in the right-bottom corner of interface to open "Go to coordinates" window. 2014-02-18 14:14:32 +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
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
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
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
c4130499fc Edit forms: current selection is no longer cleared when the edit is canceled.
Updated documentation.
2013-11-29 12:24:47 +00:00
MaxED
e8f52aecb9 Added Draw Settings side panel, which replaces Set Default Textures Form and allows to set textures, brightness and floor/ceiling heights to use when drawing sectors. Used settings are now saved in the map's .dbs file.
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.
2013-11-21 10:53:11 +00:00
MaxED
fc57c3e331 Replaced massive amount of spaces with (massive amount of tabs / 4) 2013-09-11 09:47:53 +00:00
MaxED
8a0ca0e650 Visual mode: added "Auto-align Textures to Selection (X)", "Auto-align Textures to Selection (Y)" and "Auto-align Textures to Selection (X and Y)" actions.
"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
2013-09-03 09:34:28 +00:00
MaxED
3e11ae734d Vertices mode: fixed an exception when "DeleteItem" action tried to delete already deleted vertex.
Renamed "Set current textures" to "Set default textures" (I hope that makes more sense now).
Fixed and updated documentation.
2013-08-26 09:31:43 +00:00