Commit graph

119 commits

Author SHA1 Message Date
MaxED
858bffd64a Added more checks and fixed incorrect flag assignment in UDMF -> Hexen action conversion from r2155. 2014-12-29 18:15:53 +00:00
MaxED
4f7e2298f4 Added Hexen -> UDMF and UDMF -> Hexen action conversion as described in "Universal Doom Map Format ZDoom extensions" (udmf_zdoom.txt). It is used when changing map format form Hexen to UDMF and from UDMF to Hexen.
Game configurations, Line Identification action: added "Front side only" (128) flag to arg1.
Game configurations, Line Identification action: renamed arg1 flags to match corresponding UDMF flag names.
Updated udmf_zdoom.txt.
2014-12-29 09:19:20 +00:00
MaxED
deb43343bb Visual mode: "Fit Textures" action can now fit textures across multiple selected surfaces. A number of times to repeat a texture can now be specified.
Visual mode: removed "Fit Texture's Width" and "Fit Texture's Height" actions.
Visual mode: "Auto-align texture offsets" actions were incorrectly aligning double-sided middle walls in some cases.
Visual mode: "Auto-align texture offsets" actions now align non-wrapped double-sided middle walls to vertical offset closest to their initial vertical offset.
Visual mode: middle parts of double-sided walls were ignored when Shift-selecting walls.
Nodebuilders/Game configurations: GL nodes definitions were missing from game configurations.
Nodebuilders/Game configurations: "~MAP" wildcard can now be a part of a lump name. 
Nodebuilders: GL nodes were not properly handled by the editor.
Main Window: the window is now moved into the view when stored position is ouside of screen bounds. 
Classic and Visual modes: changing thing pitch was ignored in some cases.
Visual mode: raising and lowering a thing with "+SPAWNCEILING" flag now works the same way as when raising/lowering a regular thing.
Visual mode: using "Raise/Lower Floor/Ceiling to adjacent sector" actions on a thing with "+SPAWNCEILING" flag now works the same way as when using them on a regular thing.  
Rendering: even more fixes to MODELDEF and UDMF properties-related model rendering logic.
Internal, ResourceListEditor: rewritten resource validation check in a more OOP-ish way.
Configurations: fixed an infinite loop crash when a file was trying to include() itself.
UDMF thing flags: added Skill 6-8 to the flags list (because there are thing filters for these).
ZDoom_ACS.cfg: added definitions for SetTeleFog and SwapTeleFog.
ZDoom_DECORATE.cfg: added definitions for A_SetTeleFog and A_SwapTeleFog.
Updated ZDoom ACC.
Updated documentation.
2014-12-22 21:36:49 +00:00
MaxED
15b2adfe30 Texture Browser Form: swapped foreground and background colors of texture size labels.
Fixed, Texture Browser Form: well, I broke "Tab" key functionality again (in previous commit)...
Maintenance: changed curly braces style to match DB2 one (hopefully not breaking anything in the process...).
Maintenance: changed private method names casing to match DB2 one.
2014-12-03 23:15:26 +00:00
MaxED
99f3ba2844 Changed long texture names handling. Texture names conversion is no longer required.
Texture browser form: added "Long texture names" check-box. It can be used to toggle between displaying long and short texture names.
Texture browser form: added "Show image size" check-box.
Texture browser form: image size is now shown differently.
Image Selector: added a button to toggle between long and short texture name.
Linedef info panel: long texture names are now displayed properly.
Sector info panel: long texture names are now displayed properly.
Fixed: "Save Screenshot" and "Save Edit Area Screenshot" actions were triggered multiple times when a child window was open.
Fixed: used textures should be always updated after using "Change map in current WAD" action.
Fixed, "Change map in current WAD": fixed a crash when trying to switch from a map with missing game configuration path.
Updated ZDoom_ACS.cfg.
2014-12-03 09:06:05 +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
5013720788 Sector Edit form, UDMF: added "Slopes" tab.
Visual mode: "Lower/Raise Floor/Ceiling" actions now work on surfaces with sector slopes.
Cosmetic: numeric textboxes, which support relative values, now have differently colored text and a tooltip.
Internal: renamed Sector.CeilingSlopeOffset to Sector.CeilSlopeOffset, Sector.CeilingSlope to Sector.CeilSlope to match their names with similar sector properties.
2014-10-17 11:55:08 +00:00
MaxED
6bc4325b36 Fixed: VirtualSectorField was cleared from sector properties when pasting map geometry in Doom/Hexen map formats leading to incorrect sector assignment [I broke this in r2009, so it seems]. 2014-10-03 21:55:38 +00:00
MaxED
e849c04112 Changed: when using "Save map" action, only .dbs file is saved when map was not changed.
Cosmetic: changed Angle Control's outline color.
2014-09-24 11:47:52 +00:00
MaxED
2d9c439325 Sidedef texture offsets are now translated when pasting map elements from UDMF to non-UDMF maps.
Fixed: certain UDMF-only properties were not cleared when pasting map elements from UDMF to non-UDMF maps.
Fixed a bug introduced in r2043: helper objects were not updated in some cases.
2014-09-16 20:26:42 +00:00
MaxED
99f6a9a5a8 Map Analysis mode: results can now be hidden individually.
Updated documentation.
2014-09-12 21:08:11 +00:00
MaxED
c95c26bbbc Fixed: MapSet.GetSectorByCoordinates() returned "false" in some cases when a given coordinate was on top of sector's vertex.
Internal: UDMF sector slopes and offsets are no longer stored in sector.Fields. Use sector.FloorSlope, sector.FloorSlopeOffset, sector.CeilingSlope and sector.CeilingSlopeOffset.
2014-08-25 11:15:19 +00:00
MaxED
dbe3fc9e1a Updated Zandronum compiler
MapSet: should probably clamp parsed selection group, because you never know...
2014-07-17 09:01:56 +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
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
00688d4c7c Script type can now be chosen when creating a new map and changed in Map Options form.
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.
2014-07-11 10:13:26 +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
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
417cdde4be In some cases, texture offsets were adjusted when it wasn't required when splitting linedefs.
Replicated Doom texture vertical offset glitch when front and back sector's ceilings are sky.
2014-03-12 10:39:24 +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
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
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
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
c561617704 We should copy middle texture to upper/lower parts regardless of whether they are actually required when AutoClearSidedefTextures is disabled, I suppose (aaaaand there was a logic error there). 2014-01-08 09:59:57 +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
5d2237b026 Fixed 2 more bugs in Tools.DrawLines() introduced while optimizing it... 2013-12-24 09:21:18 +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
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
894a2069e8 Fixed/reverted some of optimizations from r1845... 2013-12-11 09:47:35 +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
e4a924eb14 Sectors and Linedefs modes: rectangular selection now checks for intersections between linedefs and itself when "select touching" is enabled. 2013-11-29 14:45:29 +00:00
MaxED
f482aebfb0 Classic modes: thing sprites are now rendered in classic modes.
Classic modes: models no longer disappear when the thing the model is attached to is no longer visible.
2013-11-27 12:45:28 +00:00
MaxED
52985db127 Some fixes to sector brightness/heights override logic added in previous commit. 2013-11-21 11:51:48 +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
7a2aafbb6b Visual mode, UDMF: we shouldn't render fade when sector brightness is 248 or higher.
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.
2013-11-20 13:29:41 +00:00
MaxED
fc57c3e331 Replaced massive amount of spaces with (massive amount of tabs / 4) 2013-09-11 09:47:53 +00:00
MaxED
ead2521451 Sectors mode, UDMF: Create Brightness Gradient action can now work in "Light" and "Fade" modes.
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.
2013-09-11 08:49:45 +00:00
MaxED
2598389d6b Sector Info panel now shows how many sidedefs highlighted sector has.
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.
2013-09-09 14:03:02 +00:00
MaxED
b80bc3f811 Manual linedef splitting: UDMF texture coordinates were incorrectly interpolated in some cases.
Manual linedef splitting: "Duplicate texture coordinates" and "Reset X coordinate, copy Y coordinate" settings now affect UDMF texture offsets.
2013-09-05 13:03:17 +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
0ea1056b44 Error Checking: renamed "Check unclosed sectors" to "Check invalid sectors". Now it also finds sectors with less than 3 sidedefs and sectors, which area is 0. 2013-08-30 15:00:44 +00:00
MaxED
c6170f644b Changed the way sector bounding box is calculated. This fixes major slowdowns when a sector with invalid geometry (e.g. without triangulation) is highlighted in Classic modes and a crash in Visual mode when such sector is rendered. 2013-08-29 12:07:54 +00:00
MaxED
b84b613d4b Added a way to assign new tags, which finds a tag unused by current map element type. 2013-08-28 08:29:06 +00:00