Commit graph

285 commits

Author SHA1 Message Date
MaxED
5a6e62aa4f Added, Visual mode: added support for ROLLCENTER sprite rendering flag, updated ROLLSPRITE implementation.
Fixed, DECORATE support: the editor was unable to determine actor sprite when the actor itself had no sprites defined and the actor it inherited from was only defined in the game configuration.
Fixed, Drag geometry modes: linedefs without both sides were removed after dragging them when "Replace with Dragged Geometry" mode was active.
Updated ZDoom_DECORATE.cfg.
2023-01-06 11:43:26 +01:00
MaxED
6a660c7d45 Fixed several cases when sector/linedef tag changes were incorrectly recorded by undo system. 2023-01-06 11:40:36 +01:00
MaxED
972d55f066 Added, Find & Replace mode, UDMF: added Linedef activation flags to the "Find Linedef flags" search mode flags list.
Changed, Sound Propagation mode: all sound zones are now shown when no sector is highlighted.
Changed, Sound Environments mode: the mode is now available only in UDMF map format.
Changed, Color Picker plugin: the plugin functionality is no longer available in Doom map format.
Restored the ability to create superimposed lines by dragging them with "Snap to Geometry" mode disabled.
Fixed, Sound Propagation mode: fixed a crash when a single-sided linedef had "Block Sound" flag.
Fixed, Find & Replace mode: in some cases "Find Sector/Sidedef/Linedef/Thing flags" search modes failed to find map elements with required flags.
Fixed, Edit Selection mode: in some cases incorrect geometry was created after applying multipart sector edit when "Replace with Dragged Geometry" mode was enabled.
Fixed a crash caused by eventual GDI font objects overflow.
2023-01-05 00:51:21 +01:00
MaxED
6651a14bc6 Changed: single-sided linedefs with only back sidedef present are now automatically flipped when loading a map.
Changed, "Flip Linedefs" action: the action will no longer flip single-sided linedefs with only front side.
Fixed a crash when trying to determine sprite angles when images with non-sprite names, starting with expected characters, were present in the Sprites namespace.
2023-01-05 00:44:34 +01:00
MaxED
61d3a49dcc Reverted some older changes to Linedef.Join(), which were made for older version of "enhanced" map element merging logic and in some cases were causing incorrect geometry to be created when using current merging logic. 2023-01-05 00:42:00 +01:00
MaxED
945553e527 Changed: "Selection Options" window is now resized automatically.
Fixed: parts of UniFileds.UniValuesMatch() logic were inverted. In some cases this resulted in incorrect behavior of "Select Similar" action in UDMF map format.
Fixed, UDMF: alpha should be ignored when applying sector fade/light color gradients.
Ported eevee's fix for incorrect sector geometry occasionally created after dragging map elements (more info: https://github.com/sirjuddington/SLADE/issues/542).
2023-01-05 00:36:05 +01:00
MaxED
18517b2257 Changed, Visual mode: "Paste Selection" action (Ctrl-V) can now paste both copied textures and things, based on what was copied last.
Changed, Map Analysis mode: the view is now much more zoomed after clocking on a "Check very short linedefs" error check result.
Removed single testing engine launchable by the editor at once limitation (it worked properly only when using Test map actions anyway).
Fixed: re-did the fix for invalid geometry created when drawing very large grids from R2653, because it caused other issues.
2023-01-05 00:34:35 +01:00
MaxED
d301042f42 Changed: "Unable to save the map: there are too many unique sidedefs!" error message now displays info about sidedefs counts before and after sidedef compression.
Fixed, Draw Grid mode: in some cases invalid geometry was created when drawing very large grids.
Fixed, Things mode, "Rotate Clockwise" action: fixed inability to change thing angle from 0 to 315 when "doomthingrotationangles" Game Configuration property was set to true.
Updated ZDoom_DECORATE.cfg.
2023-01-05 00:30:34 +01:00
MaxED
0825e86c4b Added, UDMF: Lock number is now displayed in Linedef info panel.
Fixed, Edit Linedefs / Edit Things windows: ACS script number/name was applied only when the form was accepted while displaying a tab with Action controls.
2023-01-05 00:29:33 +01:00
MaxED
98e5c5b9b4 Fixed, "Select Similar" action: in some cases map elements flags were incorrectly compared resulting in map elements not being selected when they should have been. 2023-01-05 00:28:19 +01:00
MaxED
e34fe0d32f Added "Split Joined Sectors" Edit menu item and toolbar button. When enabled, joined sectors adjacent to drawn lines will be split.
Added "doomthingrotationangles" Game Configuration property. When enabled, editor actions related to changing thing angle will snap the resulting angle to 45 degree increments. This property is set to true for vanilla game configurations.
Fixed a crash when changing game configuration from one without Thing actions support to one with them while in Things mode.
Fixed, cosmetic, DB2 bug: current editing mode button was deselected after reloading resources.
Updated documentation ("Game Configuration - Basic Settings" page).
2023-01-05 00:27:03 +01:00
MaxED
584d649839 Fixed, Thing/Linedef/Sector info panels: in some cases map element flags were cut off by the control border. 2023-01-05 00:21:20 +01:00
MaxED
95985a8894 Added, Visual mode: added "Toggle Alpha-based Texture Highlighting" action. When enabled, 3d floor textures and middle textures on double-sided lines will be highlighted only when the crosshair points at a non-transparent pixel.
Changed: multi-part sectors are now better preserved after drawing new lines.
Changed, TEXTURES parser: patch loading errors are now ignored for textures with "NullTexture" option.
Changed, Game configurations: changed default door action arguments to better match vanilla ones.
Fixed, Actions: in some cases keyboard shortcuts involving Ctrl/Alt/Shift modifier keys were displayed incorrectly.
Fixed(?): probably fixed inability to save map wad in Slade 3.
Updated ZDoom_ACS.cfg.
Updated ZDoom_DECORATE.cfg.
Updated ZDoom ACC.
2023-01-05 00:15:28 +01:00
MaxED
93971a78ca Added, Find and Replace mode: you can now search (and replace) unset sidedef/linedef/thing/sector flags.
Changed, TEXTURES parser: patch loading errors are now treated as warnings for optional textures.
Changed, TEXTURES parser: patch loading is now skipped for textures with "NullTexture" option.
2023-01-05 00:08:50 +01:00
MaxED
281d12ece4 Added Preferences -> Editing -> "Switch view modes when switching to the same Classic Mode" option (disabled by default). When enabled, view mode will be switched between "view floor textures" and "view ceiling textures" when activating the same 2D mode repeatedly. 2023-01-05 00:02:15 +01:00
MaxED
8943dbc82e Removed: activating the same 2D mode repeatedly no longer toggles View modes.
Added "Next View Mode" and "Previous View Mode" actions.
Removed "Replace unused textures" checkboxes from Edit Linedefs window.
Fixed, SNDINFO parser: commented $ambient sound definitions were treated as editor comments (and still processed).
2023-01-04 23:49:39 +01:00
MaxED
47aeedc6e0 Changed, Classic modes: displayed mouse map position coordinates are now snapped to current grid size.
Updated model pitch handling to match current GZDoom implementation.
Fixed imprecise vertex coordinates generated by Draw Ellipse mode.
Fixed a resource loading exception when opened map file wad was located in the root of a Directory resource.
Internal: changed output of all InterpolationTools methods from int to float.
Fixed, Internal: InterpolationTools.InterpolateColor() delta usage was inverted.
2023-01-04 23:43:14 +01:00
MaxED
cdfe94bfa4 Added 3 map geometry dragging modes (used when applying Drag Vertices/Linedefs/Sectors modes and Edit Selection mode):
- "Merge Dragged Vertices Only". Only vertex-line intersections will be processed (DB2 mode).
- "Merge Dragged Geometry". Geometry merging will be performed.
- "Replace with Dragged Geometry". Dragged geometry will replace underlaying geometry.
You can switch between these using 3 new actions, top toolbar buttons and Edit menu buttons.
Changed: activating the same 2D mode repeatedly now toggles View modes.
Renamed "Merge Geometry" action/menu item to "Snap to Geometry".
More fixes to vertex/linedef/sector dragging logic.
Updated ZDoom_DECORATE.cfg.
2023-01-04 23:34:58 +01:00
MaxED
14e372cb91 Fixed, vertex/linedef/sector dragging: in some cases middle textures were removed from dragged double-sided lines.
Fixed, ACC compiler: fixed a crash when trying to compile SCRIPTS lump of a new map, which wasn't ever saved.
2023-01-04 23:22:07 +01:00
MaxED
e69163a646 Rewritten vertex/linedef/sector dragging logic. Now it processes line-line intersections. And handles more corner cases. And has less bugs. Probably.
Fixed, Edit Selection mode: texture scale was flipped when "Floor/Ceiling Transform" -> "Scale" was enabled.
Changed: a warning is no longer displayed when trying to compile an empty SCRIPTS lump.
Updated ZDoom_DECORATE.cfg.
2023-01-04 23:20:40 +01:00
MaxED
d45e71ce21 Fixed, Script Editor: in some cases the editor was unable to restore saved script file settings.
Fixed, Drag Linedefs, Drag Vertices, Edit Selection modes: in some cases sidedefs were incorrectly removed when modifying a closed section of a multi-part sector.
Fixed, Drag Linedefs, Drag Vertices, Drag Sectors, Edit Selection modes: in some cases sidedef textures were not adjusted after applying the modes, leaving middle textures on double-sided lines.
2023-01-04 23:11:19 +01:00
MaxED
6e5a0b61d0 Added, Edit Selection mode: Added "Adjust height" setting. It can be used to adjust floor/ceiling height of selected sectors based on the sector selection was in and the sector selection was moved into.
Removed "Adjust heights to match relatively with surrounding sector" option from Preferences -> Pasting, because sector height adjustments are now handled by Edit Selection mode.
Fixed, Sector info panel: in some cases 0 deg. floor/ceiling texture rotation was triggering texture offset/scale/rotation UI parts to be shown.
Fixed even more cases when sidedefs belonging to linedefs, which were moved on top of existing linedefs, were incorrectly reassigned when applying Edit Selection and Drag Geometry modes.
Fixed, Bridge mode: in some cases calculated floor/ceiling heights were not applied to the sectors created by the mode.
Changed, internal: changed program's CurrentCulture to InvariantCulture.
2023-01-04 23:07:04 +01:00
MaxED
b6afbec977 Changed, internal, UDMF: local texture offsets and scale are now copied when merging sidedefs.
Changed, internal: made TextLabel and IRenderer2D public properties compatible with DB2 implementation.
Fixed some more cases when sidedefs belonging to linedefs, which were moved on top of existing linedefs, were incorrectly reassigned when applying Edit Selection and Drag Geometry modes.
Fixed, Map Analysis mode: error checks must be updated after switching map format.
2023-01-04 23:03:22 +01:00
MaxED
154ceb0eb7 Added "safeboundary" game configuration property. The value determines the maximum map bounding box size considered to be safe by "Check map size" error check.
Changed, Map Analysis mode: some checks are now available only under certain conditions (for example, "Check polyobjects" is now available only when the map is in Hexen or UDMF map format).
Updated documentation ("Game Configuration - Basic Settings" page).
2023-01-04 22:59:30 +01:00
MaxED
dc54992693 Added: sectors are now split into multiple sectors when their shape is divided into several closed shapes by drawing new geometry or dragging existing geometry using Edit Selection and Drag Geometry modes.
Fixed: in some cases sidedefs belonging to linedefs, which were moved on top of existing linedefs, were incorrectly reassigned when applying Edit Selection and Drag Geometry modes.
Fixed: Tag Explorer update fix from R2630 was accidentally placed in an UDMF-only if-block.
Updated ZDoom_DECORATE.cfg (A_WeaponOffset).
Updated documentation ("(G)ZDoom text lumps support" page).
2023-01-04 22:54:27 +01:00
MaxED
54f8949f32 Fixed, Tag Explorer: in some cases (for example, when geometry was removed implicitly by dragging geometry) the list was not updated.
Fixed: in some cases generalized sector effect detection logic failed to detect a valid generalized effect.
Fixed, Action selector control: action label was not updated when changing action number from one generalized effect to another.
2023-01-04 22:51:42 +01:00
MaxED
6c8a59815f Added: angle selector button used in arguments custom fields controls now shows angle value.
Fixed a crash when trying to store a custom field with "Byte Angle" type.
Fixed: in some cases custom field types stored in the map's .dbs file were not applied when loading a map.
2023-01-04 22:48:17 +01:00
MaxED
228a71d477 Added, Map Analysis mode: added "Check unknown actions and effects" check. 2023-01-04 22:37:25 +01:00
MaxED
2f046137c0 Added, Sound Environments mode: sound environments of the same type are now colored using the same color.
Added, Sound Environments mode: current sound environment is now highlighted (can be toggled using "Toggle Highlight" action).
Added: Tag selectors now have up/down buttons.
Fixed, Sound Environments mode: sound environments were not updated after performing Undo/Redo actions.
Fixed, Sound Propagation mode: sound zones were not updated after performing Undo/Redo actions.
Internal: moved "Toggle Highlight" action to the core, also changed it's category to "View".
Internal: "Toggle Highlight" action state is now saved in the Program configuration.
Updated ZDoom_DECORATE.cfg (GetZAt).
Updated ZDoom_linedefs.cfg (Sector_SetPortal args).
2023-01-04 22:36:23 +01:00
MaxED
8fdb230f52 Fixed, all drawing modes: in some cases incorrect sector shape was constructed when updating sector shapes after drawing new lines, which resulted in nearby sectors being merged into sector(s) affected by linedefs drawing. 2023-01-04 22:23:43 +01:00
MaxED
6c7cf6d432 Added: when "sidedefcompressionignoresaction" property is set to false, sidedefs, which belong to a line with a non-zero action or tag, will be skipped when compressing sidedefs. 2023-01-04 22:22:44 +01:00
MaxED
07705464e1 Game configurations: added "sidedefcompressionignoresaction" property. When set to true, sidedefs will be compressed regardless of linedef action (DB2 behaviour). When set to false, sidedefs, which belong to a line with an action, will be skipped when compressing sidedefs. Default value is false. 2023-01-04 22:19:02 +01:00
MaxED
8599e33b2f Fixed: in some cases sidedefs were incorrectly reassigned when applying Edit Selection and Drag Geometry modes. 2023-01-04 22:11:56 +01:00
MaxED
099f8d316c Added: holding Control key while switching to/from Visual mode will now temporarily disable position synchronization (works only when 'Synchronize camera position between 2D and 3D modes' Preferences option is enabled).
Fixed severe lock-up after finishing dragging many vertices/linedefs/sectors in Classic modes.
Updated documentation ("Synchronizing camera position").
2023-01-04 22:05:52 +01:00
MaxED
87be49a8fd Fixed, Classic modes: fixed excessive redraws and text label / sector highlight flickering when using rectangular selection with modifier keys. 2023-01-04 22:00:01 +01:00
MaxED
6982133004 Fixed, Game configurations window: new test engine entry was still added when pressing "New Test Engine" button, then canceling the browse dialog.
Fixed, general interface: in some cases opening "Test Map" drop-down resulted in an exception when trying to access a disposed/non-existing test engine icon.
2023-01-04 20:15:04 +01:00
MaxED
b7fbb443e2 Added, Drag Vertices\Linedefs\Sectors\Edit Selection modes: sidedefs facing outside of current selection are now reattached/added/removed after moving the selection.
Currently this will work as intended only if the selection ends up either completely inside a single sector or completely outside of any sector. Also this logic won't be applied if the selection contains the lines with only start or end vertex selected.
Internal: some TextLabel refactoring.
2023-01-04 20:06:08 +01:00
MaxED
bb97aa354b Added, Sectors, Linedefs, Things modes: map element selection order of rectangular selection is now direction-dependent. 2023-01-04 20:00:35 +01:00
MaxED
d2f9150ecb Fixed, Visual mode, UDMF: in some cases Fade color was not applied to floor and ceiling surfaces of 3d floors.
Fixed, Visual mode: in some cases not all sidedef geometry was updated when updating sectors with Plane Align (181) action. Also fixed some more unnecessary geometry updates.
Fixed, Linedefs mode, Things mode: in some cases deleting linedefs/things caused a crash when trying to update text labels.
Fixed, Draw Lines mode: in some cases the drawing was prematurely finished when "Auto-finish drawing" option was enabled.
2023-01-04 19:51:08 +01:00
MaxED
0000b7a02d Added, Draw Lines mode: additional guidelines and horizontal/vertical line lengths can now be displayed for currently drawn line using "Show guidelines" top menu button.
Changed, Draw Lines mode: line angles are now shown only when "Show guidelines" mode is enabled.
Fixed, Draw Lines mode: in some cases "Snap to cardinal directions" mode was snapping only to diagonals.
Fixed, Draw Lines mode: snap to geometry behaved incorrectly when "Snap to cardinal directions" mode was enabled.
Changed, Things mode: dynamic light shape is now drawn using highlight color when a dynamic light thing is highlighted.
Added more sanity checks to MODELDEFS parser.
2023-01-04 19:37:58 +01:00
MaxED
0db92cb46c Added, Visual mode: "Increase/Decrease Scale", "Reset Texture Offsets" and "Reset Local Texture Offsets" actions now work when used on 3d floor sides.
Fixed: CVARINFO parser was unable to parse negative int/float values.
Fixed: in some cases TextLabel text size was checked before it was calculated.
Internal, Visual mode: reduced the number of unnecessary geometry updates when changing map geometry.
Updated ZDoom_DECORATE.cfg (atan2 and VectorAngle).
2023-01-04 18:59:10 +01:00
MaxED
3232e162e6 Fixed, Tag Statistics window: fixed a crash when applying changes after deleting a tag label.
Fixed, Script Editor: fixed infinite loop when trying to search for empty string.
Changed, Linedefs mode: selection labels are now positioned in a less line angle obscuring way.
Changed, Draw Lines mode: text label background alpha didn't match the alpha of the labels used in other classic modes.
Updated ZDoom_ACS.cfg (SetMusicVolume).
Updated ZDoom ACC (SetMusicVolume).
2023-01-04 17:38:43 +01:00
MaxED
c15a8fac2b Added: dynamically added side panel tabs now play notify animation when the side panel is collapsed.
Added, Game configurations, ZDoom: added Sector effect 90 (Skybox sector).
2023-01-04 17:31:09 +01:00
MaxED
693f241202 Classic modes: further text label rendering optimization.
MODELDEF parser: rewrote most of the parser logic. Now it picks actor model(s) based on Frame / FrameName properties.
2023-01-04 17:22:25 +01:00
MaxED
187653bfa9 Sectors, Linedefs, Things modes: optimized text label rendering.
Fixed, Things mode: in some cases selection labels were not updated after editing a thing.
Fixed, Things mode: selection labels were positioned incorrectly on things with FixedSize setting.
Fixed, Sectors mode: fixed a crash when selecting self-referencing sector when selection labels were enabled.
Fixed, Visual mode: in some cases Auto-align texture actions were not working when "use long texture names" Map Options setting was enabled.
Fixed, MD2/MD3 loader: available animation frames upper bound check was performed incorrectly, which would cause a crash in some very special cases.
Fixed, Game configurations: most Hexen/ZDoom teleport actions use TeleportDests as teleport targets, not MapSpots.
2023-01-04 17:16:18 +01:00
MaxED
4c7aae544b Added, Linedefs mode, Things mode: selection numbers can now be displayed and can be toggled using the "View Selection Numbering" mode toolbar button.
Added, Linedefs mode, Things mode: sector tags can now be displayed and can be toggled using the "View Sector Tags" mode toolbar button.
Fixed, Classic modes, DB2 bug: in some cases text label size was queried before it was calculated, resulting in text labels being rendered when they shouldn't.
Updated ZDoom_DECORATE.cfg (A_LogFloat).
2023-01-04 17:12:17 +01:00
MaxED
c51ad81208 Added, Game configurations: added "targetclasses" argument property. Can be used with argument type 14 (Thing Tag). When set, only things of given classes will be shown in the argument dropdown list in Edit Things window.
Changed, Classic modes: when "Fixed Things Scale" option is enabled, things will now switch to fixed size rendering mode when their visible size is less than 48 pixels.
Changed, Classic modes: changed the fixed size of things with FixedSize setting to 28 pixels.
Updated documentation ("targetclasses" argument property).
2023-01-04 17:09:21 +01:00
MaxED
1d78786bcf Fixed, Classic modes: thing sprite should always be rendered when it's size is affected by "Fixed Things Scale" option or FixedSize setting.
MAPINFO parser: removed a misleading warning.
2023-01-04 17:02:31 +01:00
MaxED
56dcbfc6cc Added text label font settings (Preferences -> Interface tab).
Rearranged some settings in the Preferences window.
2023-01-04 16:57:38 +01:00
spherallic
96892ef38c add sliders manually because winforms sucks 2023-01-04 16:35:54 +01:00