Commit graph

143 commits

Author SHA1 Message Date
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
118bda42a7 Changed, Drag Things mode: things position is now snapped to integers after finishing dragging. Also removed some unneeded update code.
Fixed a crash when deleting sectors (introduced in R2399).
2015-09-16 20:22:20 +00:00
MaxED
25b3bf2287 Added, Texture Browser: added "Show textures in subdirectories" checkbox (enabled by default). When enabled, textures from current PK3/PK7/Directory resource directory and it's subdirectories will be shown. Otherwise, only textures from current directory will be shown.
Removed, Texture Browser: removed "Show image sizes" checkbox. "Show texture and flat sizes in browsers" preferences setting is now used instead.
Fixed, Things mode: event line between pre-last and the last PatrolPoint was not drawn.
Fixed, Things mode: highlight range for sizeless things (things with "fixedsize" game configuration property) was calculated incorrectly.
Fixed: fixed a crash when opening Script Editor after using "Open map in current wad" command to switch to UDMF map with SCRIPTS lump when current script configuration was not saved in the wad's .dbs file.
Fixed: map closing events were not triggered when using "Open map in current wad" command, which could potentially result in plugin crashes/incorrect behavior.
Fixed: Sector Drawing overrides panel could trigger an exception when closing the map during resource loading.
Internal: added "Debug + Profiler" solution configuration, added 2 profiling methods to DebugConsole.
Internal: rewrote MainForm.DisplayStatus() / StatusInfo to handle selection info in a more structured way.
Fixed, internal: some destructors could potentially be executed more than once potentially leading to exceptions. Other destructors were not called at all.
Updated ZDoom_DECORATE.cfg.
2015-09-16 12:10:43 +00:00
MaxED
c7696b0464 Fixed, Draw Lines/Rectangle/Circle/Curve modes: line length labels displayed incorrect length.
Changed, Drag Linedefs/Vertices/Sectors/Things modes: line length labels are now displayed the same way as in Draw modes.
Changed, Drag Linedefs/Vertices/Sectors/Things modes: "lock movement to cardinal directions" mode (Alt-Shift-Drag) now locks movement in 4 directions instead of 8 and doesn't snap map elements to nearest grid intersections when they are not aligned to it. 
Added, Visual mode, GZDoom, DECORATE: FORCEXYBILLBOARD flag is now supported.
Added, Visual mode, GLOOME, DECORATE: FLOORSPRITE, CEILSPRITE, WALLSPRITE, ROLLSPRITE and STICKTOPLANE flags are now supported (implementation is somewhat broken ATM and probably doesn't work the same way as in GLOOME, because Windows build with most these features is nowhere to be found...).
Fixed, Visual mode: in some cases Thing brightness was calculated incorrectly.
Updated ZDoom_DECORATE.cfg.
2015-08-25 22:05:14 +00:00
MaxED
ce7510c153 Preferences: removed "Square Things" setting. Square things are now the only option.
Changed, Things mode: things are now rendered with a bit of transparency, so things beneath other things are now visible.
Fixed, Things mode: in some cases it was impossible to highlight a thing beneath other thing when their positions were the same.
Changed, 2D modes: changed thing bounding box and arrow image.
Fixed, cosmetic, 2D modes: in some cases thing arrows were rendered bigger than thing bounding boxes.
2015-08-03 22:02:39 +00:00
MaxED
b3ab923487 UDMF: most of the code now supports multiple sector/linedef tags ('moreids' UDMF property). The only things left out are Tag Explorer and Tag Range plugins. 2015-07-28 15:04:21 +00:00
MaxED
45e303b2c8 UDMF: implemented 'moreids' handling. Currently this includes the core stuff, new TagsPicker control in Edit Sector/Linedef windows and updated Sector/Linedef Info panels. 2015-07-27 21:35:42 +00:00
MaxED
1118fd6b98 Changed: "Show Comments" option should also control whether comment tooltips are displayed.
Added some boilerplate to CommentsDocker.
Internal: converted a bunch of if-elses to switches.
2015-07-15 09:09:47 +00:00
MaxED
712dbd03e8 Cosmetic: renamed Drawing mode to Draw Lines mode.
Changed: current 2D position and zoom is now stored in the .dbs file when saving the map and restored when opening it (should this be turned into toggleable option?).
Draw Lines mode, Draw Curve mode: you can now hold Alt - Shift to snap to 8 cardinal directions.
Draw Rectangle mode, Draw Grid mode: you can now hold Alt - Shift to draw square shapes.
Draw Ellipse mode: you can now hold Alt - Shift to draw circle shapes.
You can now hold Alt - Shift to snap to 8 cardinal directions while dragging map objects.
Fixed, Draw Lines mode: line angle is now displayed in 0..359 range (was -45..314).
Fixed, Linedef info panel: line angle is now displayed in 0..359 range (was -45..314).
2015-07-09 22:32:12 +00:00
MaxED
463d8af473 Edit Selection mode, UDMF: added "High precision positioning" setting. When enabled, thing and vertex positions will be set using floating point precision. Otherwise, they will be rounded to the nearest integer. 2015-06-19 19:19:41 +00:00
MaxED
1843ffc5a7 DECORATE: added "//$ArgNDefault" special comment. It can be used to specify the default argument value.
Visual mode, 3d floors: sloped 3d floors are now always rendered as opaque (just like in GZDoom).
Fixed a crash when creating a new unknown thing (introduced in r2324).
Documentation: updated "Action Argument Settings" and "DECORATE keys" pages.
2015-05-31 21:11:21 +00:00
MaxED
35cd4068ff Game Configurations: added "Thing Radius" (23) and "Thing Height" (24) action argument types. When non-zero, arguments of these types will affect the size of associated thing in Classic and Visual modes.
Game Configurations: updated things in ZDoom "Bridges" category to use argument types 23 and 24.
Documentation: added "Action Argument Settings" page, updated "Basic Settings", "Map Format Settings", "Linedefs Settings" and "Things Settings" pages in Configurations -> Game Configurations group.
Documentation: updated "DECORATE keys" page.
2015-05-30 10:26:16 +00:00
MaxED
1b9f94f3f7 More code sanity changes (constructors of abstract classes should not be public or internal). 2015-05-27 12:38:03 +00:00
MaxED
84b2fee819 Changed, Thing Edit Form: floor slopes are now taken into account when changing thing's absolute Z position (currently, only slopes, created using sector planes, vertex height offsets and "Plane_Align" (181) action are supported).
Changed, Thing Info panel: floor slopes are now taken into account when showing thing's Z position (same plane type limitations as above).
Changed, Thing Info panel: thing position is now shown as "X, Y, Z (abs. Z)".
2015-04-15 12:49:28 +00:00
MaxED
a58f35227e Added, Visual mode, UDMF: added "Change Pitch Clockwise", "Change Pitch Counterclockwise", "Change Roll Clockwise" and "Change Roll Counterclockwise" actions.
Added, Visual mode, UDMF: added "Increase Scale" and "Decrease Scale" actions.
Added, Visual mode, UDMF: "Reset Texture Offsets" action now resets scale when used on things.
Added, Visual mode, UDMF: "Reset Local Texture Offsets" action now resets scale, pitch and roll when used on things.
Changed, Visual mode, UDMF: "Reset Texture Offsets" action now only resets texture offsets (previously it also reset texture scale).
Changed, Visual mode, UDMF: "Reset Local Texture Offsets" action now resets texture offsets, scale and brightness of sidedefs and also rotation of floors/ceilings.
Changed, Visual mode, UDMF: thing box arrow now displays pitch and roll for things, which have attached model and appropriate MODELDEF flags.
Changed, Thing Edit Form, UDMF: negative pitch and roll can now be entered.
Updated documentation.
2015-03-30 21:44:04 +00:00
MaxED
8643d2dd82 Added, Internal, Sidedef: LowRequired() and HighRequired() checks now take UDMF slopes into account.
Updated ZDoom ACC.
Updated ZDoom_ACS.cfg.
Updated ZDoom_DECORATE.cfg.
2015-03-17 14:54:49 +00:00
MaxED
1ff2a2cb81 Fixed, Dockers Control: fixed incorrect control width when showing control for the first time with "Collapse Dockers" setting enabled.
Internal: MapSet.ConvertSelection no longer selects sectors with no sidedefs when converting selection to sectors (unless those sectors were already selected).
2015-03-09 09:17:46 +00:00
MaxED
0ea022fa4e Fixed, Visual mode: "Paste Texture Flood-Fill" action used long texture names regardless of current setting in Map Options.
Internal: "uselongtexturenames" setting is now stored in map settings file, not in the program configuration file.
Fixed, Color Picker plugin: in some cases mouse movement was processed incorrectly.
Fixed, Color Picker plugin: float color value output was culture settings-dependant.
2015-02-19 13:00:19 +00:00
MaxED
54fccb73e7 Fixed, Scale control (UDMF): in some cases default values were shown when displaying mixed values.
Fixed, long texture names support: in some cases long texture names were not processed correctly when pasting map geometry.
Fixed, Visual mode: in some cases combined sidedef brightness was calculated incorrectly. Also, MAPINFO FadeColor and OutsideFogColor properties are now taken into account.
Hexen_linedefs.cfg: "Door Raise" and "Door Locked Raise" used incorrect enums for "Close Delay".
2015-02-06 09:01:33 +00:00
MaxED
637cd69cbb Changed, Sound Environment mode: on second thought, we don't need to scan all map things to find one to highlight... 2015-01-25 23:44:10 +00:00
MaxED
1c769eec3f Core, internal: added ReverbsParser. Reverbs can be accessed using General.Map.Data.Reverbs.
Sound Environment Mode: sound environments can now be picked by editing sound environment things.
Sound Environment Mode: detected sound environments names are now used as item names in the tree view.
Fixed, Classic modes: incorrect texture was used as unknown floor/ceiling texture (I broke this in r2199).
Fixed, MainForm: reverted MainForm.UpdateToolStripSeparators. By making it look simpler I made it work more buggy...
Updated ZDoom_DECORATE.cfg.
2015-01-25 23:22:42 +00:00
MaxED
290231070a Fixed: texture coordinates interpolation during linedef splitting was failing in UDMF map format when target sidedef's texture was in a sub-folder of a PK3 or Folder resource. 2015-01-16 13:14:57 +00:00
MaxED
8218a5d906 UDMF: raised sector slope precision to 7 decimal places when saving a map.
Nodes Viewer mode: added more boilerplate to classic nodes reader.
Thing Filters Form: program configuration was not marked as changed when saving thing filters.
Cosmetic layout fixes in Thing/Linedef/Sector Info panels.
Cosmetic text fixes in several Map Analysis results.
Internal: debug console is now cleared when creating a new map.
Updated ZDoom_DECORATE.cfg.
2015-01-11 19:42:57 +00:00
MaxED
f98fb4ed8c Statistics control: relevant labels now turn red when current number of given map elements exceeds current map format's maximum.
Statistics control: things count was not updated when adding or deleting things.
Map Analysis mode: "Check texture alignment" is now disabled by default.
Updated Inno Setup script and images.
Added DirectX web installer to Builder\Setup.
Updated MakeRelease.bat.
Updated ZDoom_DECORATE.cfg.
2015-01-10 11:45:25 +00:00
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