Commit graph

95 commits

Author SHA1 Message Date
MaxED
703343c05b Fixed, Things mode: light radius for SectorPointLight was calculated incorrectly. 2015-12-29 12:45:31 +00:00
MaxED
3a35b7603a Fixed, Map Analysis mode, "Check stuck things" check: rewritten parts of the flags checking logic to allow more accurate flag checks.
Fixed, Map Analysis mode: fixed a crash when trying to dissolve an invalid sector when one of it's linedefs referenced it on the both sides.
Fixed, Sectors mode: fixed incorrect undo description when deleting sectors.
Internal: joined declaration and assignment of some more variables.
2015-12-28 15:01:53 +00:00
MaxED
f6f277065f ACS parser: fixed several cases when #include and #import directives were processed incorrectly.
Internal: joined declaration and assignment of some variables.
2015-12-27 21:54:50 +00:00
MaxED
a35a336527 Added, Things mode: dynamic light things light radii are now rendered (can be disabled by setting "Dynamic light mode" to "Don't show dynamic lights" on the top toolbar).
Internal, Renderer2D.RenderArrows(): only visible lines are now rendered.
Internal, API: renamed public Line3D properties: v1 to Start, v2 to End, color to Color, renderarrowhead to RenderArrowhead.
2015-12-14 12:34:31 +00:00
MaxED
db48ce4be8 Added, Visual mode: fog boundaries are now rendered.
Fixed, Visual mode: in some cases fog density of 3d floor floors/ceilings was calculated incorrectly.
2015-12-04 12:29:22 +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
283c6c2272 Visual mode: noticeable performance boost (rendering now works ~40% faster).
Visual mode: fog distance calculation is now much closer to GZDoom one.
Visual mode: thing brightness calculation when a thing is affected by floor glow is now much closer to GZDoom one.
Linedef edit window, UDMF: added "Reset front/back brightness" buttons.
Sector edit window, UDMF: added "Reset ceiling/floor brightness" buttons.
Internal, Visual mode, Things mode: persistent event lines are now updated only when map objects are changed instead of doing it on every display redraw.
Internal: improved Dictionary lookup times when using map objects and textures as keys.
Internal: added "Release + Profiler" solution configuration.
Updated ZDoom_ACS.cfg (Warp).
2015-10-02 14:47:34 +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
d71b5814e1 Fixed, "Flip Linedefs" action: in some cases my sector based flipping logic was behaving incorrectly. 2015-05-26 20:10:09 +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
08e5599638 Fixed, Texture Browser form: "All" texture set was always selected when opening the form after closing it with this set selected.
Changed, Texture Browser form: texture groups list can now be resized.
Changed, Texture Browser form: selected group in texture groups list is now highlighted using highlight color even when not focused.
Changed, Linedef Info panel cosmetic: changed vertical position of texture name labels to match with the ones in the Sector Info panel.
2015-03-07 21:38:58 +00:00
MaxED
e84f7d1fe8 Linedefs Mode, UDMF: rewritten "Make Gradient Brightness" action. Fixed some logic errors, added interpolation modes support. 2015-02-24 20:25:42 +00:00
MaxED
c07df8f596 Changed, Thing and Linedef Edit Forms, script selector drop-downs: scripts from include files are now shown using different color and after the map scripts.
Fixed, Visual mode, UDMF: sector geometry cache was not updated after using "Match Brightness" and "Change Brightness" actions on ceilings, so the changes made by them were not visible when using Classic modes in "View Ceiling Textures" mode.
Fixed, Visual mode, UDMF: "Match Brightness" and "Change Brightness" actions set brightness incorrectly in some cases.
Fixed: ACS script names gathering logic was unable to process relative #include and #import paths (like '#import "..\acs\qtilt.acs"').
Updated ZDoom_DECORATE.cfg.
2015-02-24 13:38:35 +00:00
MaxED
0ba6490b8a Changed, "Make Brightness Gradient" action: MAPINFO FadeColor and OutsideFogColor properties are now used when first or last sector doesn't have "fadecolor" property when making a fade gradient.
Fixed (probably), D3DDevice: looks like CreatePresentParameters() can also throw "D3DERR_DEVICELOST" error in some cases...
2015-02-20 13:22:43 +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
133e1367d8 Sector drawing: basic properties (textures, brightness, floor and ceiling height) are now taken from the nearest sector when a new isolated sector (e.g. a sector, which doesn't not intersect with already existing map geometry and is not inside of it) is drawn.
Visual mode: when "Synch camera position" setting is enabled, and the cursor was outside of a sector when entering Visual mode, camera height is now adjusted based on nearest sector (previously the height was adjusted only when the cursor was inside of a sector).  
"Auto-align textures X", "Auto-align textures X and Y" actions, UDMF: alignment source sidedef part's horizontal scale is now applied to all aligned sidedefs.
Visual mode, UDMF: 'lightfog' flag is now automatically updated when changing sidedef brightness or using "Match Brightness" action. 
Linedefs mode: added "Update 'lightfog' flag" menu item.
Game configurations: cosmetic changes in UDMF linedef flag names.
Updated ZDoom_DECORATE.cfg.
2015-02-12 22:04:49 +00:00
MaxED
43f191872a Draw Grid mode: added "Horizontal Interpolation" and "Vertical Interpolation" toolbar menus.
Fixed, Sectors mode, UDMF: surface cache was not updated after applying floor/ceiling brightness gradients.
Cosmetic, Sectors mode, UDMF: brightness gradient modes now have more descriptive names.
Internal, InterpolationTools: replaced EaseInOutSine equation with one, which actually works.
2015-01-16 23:37:20 +00:00
MaxED
b8c871916b Sectors mode: added "Light and Fade" brightness gradient mode.
Sectors mode: "Gradient Interpolation Mode" toolbar menu.
Internal: extracted easing functions from Bridge Mode into InterpolationTools class.
+a couple of cosmetic changes.
2015-01-16 21:38:42 +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
2b7eee8d1a Draw modes: linedef length labels no longer overlap linedefs. 2014-11-12 11:22:14 +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
88ae568836 Added: Map Analysis: added "Check texture alignment" check. Currently it works only in Doom/Hexen map formats. 2014-09-23 21:34:50 +00:00
MaxED
c97dd0e401 Map Analysis mode: errors can now be copied to clipboard.
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.
2014-09-12 12:19:58 +00:00
MaxED
5e7de03847 View projection is now updated when engaging Visual mode. This means no more distorted visuals after disproportionately changing window size. 2014-09-09 12:16:26 +00:00
MaxED
c9cb4ad11f Linedefs Mode: "Flip Sidedefs" action will no longer flip one-sided lines.
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.
2014-07-07 14:17:49 +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
a61bba2536 UDMF map format: increased maximum supported texture name length to 2048.
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).
2014-05-19 13:33:38 +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
fb19f62fdb Angle in now set in 0..359 range when clicking on Angle control.
+ couple of cosmetic fixes.
2014-03-10 14:35:38 +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
48fef89ed7 Map Analysis mode: "Check overlapping lines" logic was broken on maps in Doom and Hexen map formats.
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
2014-02-07 09:10:55 +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
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
940a5f6183 Fixed a bug in Line2D.GetIntersection(), introduced in r1854 (SHOULD... OPTIMIZE... MORE... CAREFULLY!!!11).
A couple of minor optimizations in Renderer3D.
2013-12-23 08:00:19 +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
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
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
76dba9cd87 Bridge mode: some float values were not rounded leading to curve position errors in some cases. 2013-09-27 10:56:44 +00:00
MaxED
fc57c3e331 Replaced massive amount of spaces with (massive amount of tabs / 4) 2013-09-11 09:47:53 +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
53b13a4096 Tag and script number/name drop downs in Edit forms are now resized to match the width of the longest entry.
Jitter mode: view was not updated when "Relative" option was toggled.
2013-08-13 09:49:29 +00:00