Commit graph

394 commits

Author SHA1 Message Date
Magnus Norddahl
c2157ee24e - fix field of view 2019-08-22 23:28:26 +02:00
Magnus Norddahl
64cc7d2bc2 - implement the fixed function fog 2019-08-22 18:43:54 +02:00
Magnus Norddahl
7abcb2a328 - remove unsafe keyword from functions no longer needing it 2019-08-22 15:52:17 +02:00
Magnus Norddahl
0562dac685 - fix screenverts math and some line drawing bugs 2019-08-20 12:45:23 +02:00
Magnus Norddahl
4c0e6e8fcc - implement plotter as a shader 2019-08-20 11:00:24 +02:00
Magnus Norddahl
e5500f7190 - don't update the texture unless something was drawn 2019-08-18 08:14:14 +02:00
Magnus Norddahl
9b0b6d2687 - clear command list once drawn 2019-08-18 08:11:09 +02:00
Magnus Norddahl
b51270fdfa - Delay plotter drawing until DrawContents is called 2019-08-18 08:07:28 +02:00
Magnus Norddahl
3142437444 - move plotter texture into plotter 2019-08-18 07:43:46 +02:00
Magnus Norddahl
5ccc225fa8 - fix light pass 2019-08-17 05:21:28 +02:00
Magnus Norddahl
6c9f9b9247 - remove unused code 2019-08-17 03:58:07 +02:00
Magnus Norddahl
c914aadcaa - simplify texture binding 2019-08-17 03:21:11 +02:00
Magnus Norddahl
c88b94e1c9 - render to texture bug fixes 2019-08-17 03:08:34 +02:00
Magnus Norddahl
cea032e025 - remove unused code 2019-08-16 14:06:03 +02:00
Magnus Norddahl
0542bd25ec - convert texturefactor to uniform 2019-08-16 14:01:27 +02:00
Magnus Norddahl
3968206199 - Sending data to Direct3D 9 just to retrieve it is stupid 2019-08-16 13:38:53 +02:00
Magnus Norddahl
149012e8b3 - simplify buffer indexing 2019-08-16 13:23:25 +02:00
Magnus Norddahl
9b53939f0c - simplify vertex buffer and vertex format 2019-08-16 13:07:57 +02:00
Magnus Norddahl
d701987fb4 - don't pass sizes into VertexBuffer and IndexBuffer constructors
- CopyTexture bug fixes
2019-08-16 11:24:22 +02:00
Magnus Norddahl
fb137d46db - draw streamed vertices 2019-08-16 07:45:34 +02:00
Magnus Norddahl
edecd3f7aa - rename draw functions 2019-08-16 07:12:26 +02:00
Magnus Norddahl
5604685770 - remove old fixed function shader as it isn't used 2019-08-16 07:10:46 +02:00
Magnus Norddahl
e035ff8113 - fix alpha ending up in red channel 2019-08-16 05:37:03 +02:00
Magnus Norddahl
8ea439a5c2 - fix some rendering problems in visual mode 2019-08-15 14:49:49 +02:00
Magnus Norddahl
a542385cd7 - force texture and buffer updating to go through RenderDevice 2019-08-15 02:52:21 +02:00
Magnus Norddahl
b41cb07eaa - Hook up texture creation and binding 2019-08-14 13:51:05 +02:00
Magnus Norddahl
1d09a0f86a - implement ApplyUniforms 2019-08-14 12:36:33 +02:00
Magnus Norddahl
3c44f77b60 - port all the direct3d shaders to glsl 2019-08-14 07:55:21 +02:00
Magnus Norddahl
14fd3c96e1 - remove Things2DShader, World3DShader, Effect and EffectShader 2019-08-13 04:12:04 +02:00
Magnus Norddahl
0b3725e2fa - remove Display2DShader class 2019-08-13 02:43:01 +02:00
Magnus Norddahl
2eaf323ad0 - fix vertex array object binding bug
- add shader program
- fix that alpha color was stored in red channel in Color4
- fix buffer upload bug
2019-08-12 08:33:40 +02:00
Magnus Norddahl
d48f032b71 - create OpenGL context 2019-08-10 02:32:08 +02:00
Magnus Norddahl
3fae1e9ef3 - add RenderDevice bindings 2019-08-10 00:46:51 +02:00
Magnus Norddahl
e3740033fc - rename classes with D3D in them 2019-08-09 23:22:16 +02:00
Magnus Norddahl
8ada3862e4 - rename files 2019-08-09 23:20:36 +02:00
Magnus Norddahl
407cc703b8 - implement enough of BuilderNative for GZDB to successfully run without crashing 2019-08-09 23:15:48 +02:00
Magnus Norddahl
37876f6d8a - add BuilderNative library that does the actual rendering 2019-08-09 06:18:08 +02:00
Magnus Norddahl
690a4d2e83 - remove DataStream class 2019-08-08 20:06:35 +02:00
Magnus Norddahl
c665bfca86 - remove SlimDX namespace 2019-08-08 18:24:33 +02:00
Magnus Norddahl
8f15e8d5e7 - Simplify code 2019-08-08 07:10:35 +02:00
Magnus Norddahl
3cff90d716 - remove SlimDX.Direct3D9 namespace 2019-08-08 03:51:21 +02:00
Magnus Norddahl
1be047d316 - Simplify D3DDevice 2019-08-08 03:19:11 +02:00
volte
821016760b Fix for rotated grid algorithm causing a freeze in some circumstances (PR#255 by Volte) 2019-01-28 01:27:14 +02:00
ZZYZX
5c42035731 Fixed unused variable warnings; fixed compilation error in Renderer2D 2019-01-19 10:02:54 +02:00
volte
5157dafd6a Various fixes for rotated grid functionality (PR#253 by Volte) 2019-01-16 08:44:38 +02:00
volte
a1d28e1e56 Grid rotation and alignment functionality (PR#252 by Volte) 2019-01-14 20:07:08 +02:00
ZZYZX
50d458f764 Fixed null reference in visual mode when trying to render a thing without a sector (reported by Ozymandias81) 2018-06-23 19:20:39 +03:00
ZZYZX
4213be1c7a Added simple Unreal model support; Fixed numerous issues with normal handling; Fixed outright invalid handling of AngleOffset/PitchOffset/RollOffset in MODELDEF 2018-05-27 08:53:54 +03:00
ZZYZX
5344700f77 Added UDMF desaturation preview in classic modes 2018-04-10 20:54:57 +03:00
ZZYZX
9742a9f7bb Added UDMF desaturation preview in visual modes 2018-04-10 19:41:44 +03:00
ZZYZX
e91fe94794 Added string support for spotlight colors 2018-02-04 05:16:52 +02:00
ZZYZX
184982dc67 Added spotlight preview in visual mode 2018-02-04 04:18:59 +02:00
ZZYZX
d8bee559dc Did some maxcode refactoring about dynamic lights; added initial spotlight support (at least they are recognized as lights now) 2018-02-03 22:31:43 +02:00
ZZYZX
f0364c15a5 Fixed one-line issue in model lighting pipeline (reported by everyone) 2017-10-25 07:58:48 +03:00
ZZYZX
e7328e4caa Added support for non-1.2 pixel ratios if view stretching is enabled (reported by Nash); Fixed: map names in quotes were not recognized properly. 2017-08-27 08:10:22 +03:00
ZZYZX
c0b3f983b9 Fixed minor translucent rendering issue 2017-07-26 19:34:01 +03:00
ZZYZX
a122dacf1d Added lights on models 2017-07-26 18:35:22 +03:00
Sean Baggaley
021bcf6981 Fix texture filtering not disabling properly (resolves #106) (#107 by csnxs) 2017-04-29 09:52:12 -04:00
ZZYZX
ad6ae1112e Fixed: render sorting issues with multiple translucent 3D floors next to each other on different heights 2017-04-29 13:56:17 +03:00
ZZYZX
10aa7e9493 Fixed translucent sprites. Added visual stencil color preview. (reported by Lud) 2017-03-25 05:19:42 +02:00
ZZYZX
36af342423 Internal: removed debug code from Renderer3D. 2017-03-13 03:12:24 +02:00
ZZYZX
4611aa1bc8 Added more specific debug logging to random NullPointerException crash place 2017-03-08 05:35:56 +02:00
ZZYZX
748fe9e2e5 Fixed: inheritance from game configuration for dynamic lights; Fixed: visual representation of inherited lights (reported by Nash); Fixed: inherited thing arguments from game configuration; Added: //$ClearArgs for clearing inherited arguments. 2017-03-02 00:21:08 +02:00
ZZYZX
125844b308 Fixed: sprite replacements with different rotation count weren't handled correctly. (reported by DOOMGABR) 2017-03-01 18:35:15 +02:00
ZZYZX
e3ebe7dcdf Fixed: additive-translucent geometry should not be lit 2017-02-09 16:49:58 +02:00
ZZYZX
d47dd9a533 Fixed: slightly incorrect texture name offsets in classic view in the texture browser 2017-02-09 15:45:50 +02:00
ZZYZX
cafd1a6f4e Fixed: lights were not applied to translucent textures 2017-02-09 15:08:31 +02:00
ZZYZX
3d69ec12d4 Fixed: lights behind the camera shouldn't count towards the max lights counter 2017-02-09 14:28:54 +02:00
ZZYZX
2b69b38e18 Added dynamic light count = 256 for high end users. Fixed: incorrect attenuated<->subtractive light ordering caused invisible subtractive lights. 2017-02-09 13:28:55 +02:00
ZZYZX
09b8c27dab Merge anotak's optimizations - stage 1 2017-02-08 14:18:01 +02:00
ZZYZX
30a5edfdfe Added: attenuated dynamic light support 2017-01-20 00:17:43 +02:00
ZZYZX
ebd7fb1a57 Upgrade to VS2015 (14.0) 2017-01-15 00:35:40 +02:00
MaxED
cd854779e8 Fixed, Classic modes, UDMF: grid size didn't go below 1 mu. when zooming in when "Dynamic grid size" option was enabled.
Internal: restored GridSetup DB2 compatibility.
Updated ZDoom_ACS.cfg (SetFogDensity, SetSectorGlow).
2017-01-06 13:01:59 +03:00
MaxED
be7ba0a05d Added: minimum grid size is now 0.125 instead of 1. 2016-12-27 16:59:20 +03:00
MaxED
fb937b9e61 Added "Apply Directional Shading" mode. It can be used to apply directional colored flat shading to sloped terrain sectors (line and vertex slopes are supported) and sidedefs.
Updated ZDoom ACC.
Updated ZDoom_ACS.cfg.
2016-11-16 20:31:04 +00:00
MaxED
8570922d0d Fixed the editor crashing/locking up when trying to read TEXTUREX patch containing invalid data. 2016-10-28 21:07:33 +00:00
MaxED
53a317c0dd Updated, Visual mode: updated FLATSPRITE support to match the current GZDoom implementation.
Fixed, Visual mode: things in sectors affected by line slope effect were not updated when sector height was indirectly changed.
Game configurations: added "internalsoundnames" property.
Updated documentation ("Game Configuration - Basic Settings" page).
2016-10-04 09:53:38 +00:00
MaxED
8cc47ee1b0 Added: guidelines color is now configurable.
Added: guidelines can now be enabled in Draw Rectangle/Ellipse/Grid modes.
Changed, Draw Lines mode: perpendicular guidelines are now drawn for horizontal/vertical lines.
Updated, Draw Ellipse mode: the shape now always touches all sides of the bounding box.
Updated ZDoom_ACS.cfg.
Updated ZDoom_DECORATE.cfg.
Updated ZDoom ACC.
2016-09-26 12:53:50 +00:00
MaxED
ea57d45eb3 Added: action argument inputs now support incremental increase/decrease prefixes (+++ and ---).
Probably fixed probable I/O race condition when loading images.
Fixed Visual mode stuttering due to floating point precision degradation when running the editor for several days without restarting (internal timer is now reset when saving the map or creating a new one).
Fixed, Nodes Viewer, cosmetic: Nodes Viewer window position was reset after pressing the "Rebuild Nodes" button.
Added Eternity Game configurations by printz.
Updated ZDoom_ACS.cfg (CheckClass).
Updated ZDoom ACC (CheckClass).
2016-08-29 10:06:16 +00:00
MaxED
94dedf9aa9 Added support for USEACTORPITCH and USEACTORROLL MODELDEF flags.
Changed: LOKCDEFS keys are now sorted alphabetically.
Fixed, MAPINFO parser: blocks inside map definition block were parsed incorrectly when using new MAPINFO format.
Fixed, rendering: custom MODELDEF scale was applied incorrectly when "Stretched view in visual modes" option was enabled.
Updated ZDoom_DECORATE.cfg.
Updated GZDoom_MODELDEF.cfg.
2016-07-17 00:00:29 +00:00
MaxED
ec9c3a71f9 Added: preview sprites are now generated from voxels. Those are used as previews and when model rendering is disabled.
Fixed: voxel support logic was outdated, which in some cases resulted in voxels not being loaded and in some weird behaviour when trying to change pitch/roll of associated things.
Updated sprites lookup logic. Now it correctly handles sprites named like NNNNA0B0.
Fixed: in some cases DECORATE parser was unable to correctly detect sprite name & frame(s) block.
Updated ZDoom_ACS.cfg.
Updated ZDoom_DECORATE.cfg.
2016-07-11 22:13:43 +00:00
MaxED
04de976acf Added, Visual mode: added support for FLATSPRITE, ROLLSPRITE, WALLSPRITE and DONTFLIP sprite rendering flags. Removed the older GLOOME-specific implementation.
Changed, "Align Things to Nearest Linedef" action: the action can now also align things with FLATSPRITE and WALLSPRITE flags (previously only things with attached models were aligned).
Changed, "Align Things to Nearest Linedef" action: the action can now align things to the middle part of double-sided linedef, if it has a middle texture assigned.
2016-07-04 18:25:47 +00:00
MaxED
7ab0a86a92 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.
2016-07-02 22:27:20 +00:00
MaxED
2627a5bb39 Added partial "LightMode" MAPINFO property support. Currently only "Standard" and "Doom" light modes are supported.
Updated Zandronum acc.
Updated Zandronum_ACS.cfg.
2016-06-19 21:17:46 +00:00
MaxED
25947e59f7 Added "Automap Mode" plugin by Boris Iwansky. 2016-06-16 22:05:17 +00:00
MaxED
3d2d9e21ef 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.
2016-06-03 20:22:07 +00:00
MaxED
2458ea3d32 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.
2016-05-19 21:44:39 +00:00
MaxED
6b25086795 Internal: did some refactoring. 2016-04-27 09:13:07 +00:00
MaxED
13aabd4257 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.
2016-04-25 14:48:39 +00:00
MaxED
e03936a0d6 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.
2016-04-22 13:28:23 +00:00
MaxED
3eb05509af 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).
2016-04-19 20:40:42 +00:00
MaxED
da3fde9a00 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).
2016-04-17 22:52:03 +00:00
MaxED
fd0e1c754a Visual mode: added support for DistanceCheck DECORATE property.
Updated ZDoom_DECORATE.cfg.
2016-04-13 10:07:46 +00:00
MaxED
c3392f8399 Added, Visual mode: thing sprites are now angle-dependent. 2016-04-11 23:05:16 +00:00
MaxED
42607f704f Added, Classic modes: thing sprites are now angle-dependent. 2016-04-08 14:02:08 +00:00
MaxED
580f7d4461 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.
2016-04-06 11:44:38 +00:00
MaxED
ee12da96a1 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.
2016-04-05 22:24:36 +00:00
MaxED
a4428cf244 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).
2016-04-04 22:20:49 +00:00
MaxED
dddb1bbfa8 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).
2016-04-04 12:09:38 +00:00
MaxED
6cb9f96a46 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.
2016-04-01 22:23:05 +00:00
MaxED
f6b444a4f1 Added text label font settings (Preferences -> Interface tab).
Rearranged some settings in the Preferences window.
2016-04-01 14:32:56 +00:00
MaxED
a9c64fe521 Changed, Texture Browser window: "All" textures group is now saved/reselected like the rest of the texture groups when closing/opening the window.
Changed, Classic modes: bigger Thing arrows are now rendered when thing sprite rendering is skipped.
Changed, Classic modes: when "Fixed Things Scale" option is enabled, thing size stays at 2x scale instead of 1x when extra bounding box is rendered.
Added Preferences -> Appearance -> "Things transparency (Things mode)" slider.
Renamed Preferences -> Appearance -> "Things transparency" to "Things transparency (other modes)".
Externalized thing bounding box and arrow texture, used to render things in Classic modes (Textures/ThingTexture2D.png).
Updated ZDoom_DECORATE.cfg (A_SetUserVarFloat, A_SetUserArrayFloat).
2016-04-01 10:49:19 +00:00
MaxED
f646dd7a57 Classic modes: rewritten and optimized some parts of text label rendering logic.
Internal, API: TextLabels can now display multi-line text, their font can be changed, they can have a background.
2016-03-30 23:25:03 +00:00
MaxED
a5fffa9c3a Added Preferences -> Appearance -> "Things transparency" slider. It controls Things transparency in all classic modes except Things mode.
Added Preferences -> Appearance -> "Hidden Things transparency" slider. It controls transparency of Things hidden by Things filter in Things mode, of all things :)
2016-03-30 11:29:39 +00:00
MaxED
002d6e9c89 Fixed inability to disable bilinear filtering in Visual mode some users experienced.
Fixed occasional TreeView flickering in Edit Things window, Browse Action window and Tag Explorer panel.
Updated Thing category icons in the Edit Things window. They now have "opened" and "closed" states.
Internal: added BufferedTreeView to the core controls.
Updated ZDoom game configurations (sector crush mode).
Updated ZDoom ACC.
2016-03-29 14:38:07 +00:00
MaxED
abfcd8e53b Added, Preferences -> Appearance: added "Anisotropic filtering" and "Edge Antialiasing" settings. Also regrouped some settings.
Added, "Check polyobjects" error check: added a check for matching Polyobject and Mirror Polyobject numbers of Polyobj_StartLine action.
Changed, Visual mode: anisotropic filtering is now always applied (previously it was applied only when bilinear filtering was enabled).
Fixed, Visual mode: in some cases light values were incorrectly transferred between 3d floors and regular floors/ceilings.
Fixed, ACS parser: includes for each library must be stored separately (fixes inability to compile a script with an included library, which in turn includes files already included by the script).
2016-03-25 14:06:00 +00:00
MaxED
cc9d118f5b Changed, Visual mode: adjusted fog density calculation to better match with GZDoom.
Fixed, Visual mode: alpha-based texture picking didn't work correctly on HiRes images.
Fixed, Visual mode: fog density was calculated incorrectly for things lit by dynamic lights.
Fixed, Edit Sector window, UDMF: "Fade" and "Light" color pickers initial values were incorrect when displaying mixed values.
Fixed, Edit Thing window, UDMF: "Color" color picker initial value was incorrect when displaying mixed values.
2016-03-23 21:26:26 +00:00
MaxED
dd26c3ded2 Internal: removed some duplicate casts, marked some classes is IDisposable, some streams were disposed more than once. 2016-03-18 12:52:12 +00:00
MaxED
5fde78a2c9 Added, Tag Explorer plugin, UDMF: added multiple tags support.
Changed, cosmetic: elapsed time is now displayed after resources loading finishes.
Changed, internal: changed Clock.CurrentTime type to long.
Fixed, Tag Statistics window: in some cases the map view was not updated after selecting items in Sectors/Linedefs/Things columns. 
Fixed, cosmetic: Draw Curve mode icon was missing a shadow.
2016-03-14 00:01:21 +00:00
MaxED
09b32eba42 Fixed, Visual mode: GLDEFS glow color was incorrectly interpolated on sidedefs.
Fixed, Visual mode: in some cases GLDEFS glow effect was not updated after changing floor/ceiling texture.
Fixed, Draw Rectangle and Draw Ellipse modes: in some cases pressing "Reset" button did not update the shape preview.
Fixed, DB2 bug: sector geometry was not updated after undoing "Flip Sidedefs" action.
2016-03-08 20:37:44 +00:00
MaxED
b5577ed423 Changed the way filtering in the Edit Things, Browse Action and Browse Effect windows work: items, which names start with filter text are now displayed first.
Cosmetic tweaks to the way thing bounding boxes are rendered in Things mode when "Fixed Things Scale" option is enabled (bounding boxes of highlighted/selected things are now more opaque than the ones of unselected things).
Changed, Preferences form: action selected in the actions list is now stays selected when applying the filtering (unless it's no longer valid).
2016-02-23 13:55: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
4c60662374 Script Editor, Script Editor configurations: added additional keywords category for properties/operators. Added a separate color for those as well.
Fixed, Script Editor: auto-completion and syntax highlighting now works for properties with dots (like "Powerup.Color") and colon (like "See:").
Fixed, Linedef info panel, Hexen map format, cosmetic: activation type should be enabled when the line has an action assigned, even if it's default activation.
Updated ZDoom_linedefs.cfg (Line_SetPortal).
2016-02-06 21:23:43 +00:00
MaxED
3b90d100ff Re-fixed, Visual mode: in some cases some D3D textures were not disposed after closing a map, eventually resulting in E_OUTOFMEMORY crash.
Fixed, Preferences window: some folding settings were not applied in the Script Editor preview control.
Changed, Visual mode: increased z-buffer depth to 24 bits. Z-fighting among far away but close to each other surfaces should be less noticeable now.
2016-02-06 00:04:02 +00:00
MaxED
839bb52cb9 Fixed, Things mode: Undo for things cloning by Shift-dragging them was created incorrectly (cloned things were moved to their initial position, but not removed).
Fixed, Visual mode: fixed Classic sky texture generation artifact when Bilinear filtering was enabled in Visual mode.
Fixed, Visual mode: fixed Classic sky texture generation artifact when non-power-of-2 Sky textures were used.
Fixed, Visual mode: dynamic lights flickering on surfaces nearly-perpendicular to lights centers should be much harder to trigger now.
2016-02-02 21:07:15 +00:00
MaxED
139c297161 Fixed, Visual mode: some video memory was not released after closing a map if the Visual mode was enabled at least once during the editing session, eventually resulting in E_OUTOFMEMORY crash.
Fixed, General interface, cosmetic: in some cases the warnings label was disabled in a flashing state (e.g. with red background).
Internal: moved some older GZDB actions form GZGeneral to MapManager. They can no longer be toggled when no map is loaded (which is probably for the best).
Updated ZDoom_ACS.cfg.
Updated ZDoom_DECORATE.cfg.
2016-02-01 22:04:00 +00:00
MaxED
0bb521cc67 Preferences: added 2 Script Editor color presets. 2016-01-29 14:54:55 +00:00
MaxED
e29eef320c Preferences: moved Script Editor settings to a separate page, added a bunch of new Script Editor settings.
Changed: Script Editor no longer converts typed constants to uppercase.
Changed: when "Auto indent" is enabled, Script Editor no longer adds additional indentation to a line after closing brace.
2016-01-29 13:05:28 +00:00
MaxED
5fd02a6080 Updated Scintilla control to ScintillaNET 3.5.6 (https://github.com/jacobslusser/ScintillaNET). Scintilla.dll is no longer used by GZDB and can be safely removed.
Changed, Script Editor: pressing Ctrl-S when fixed compilable script tab (like SCRIPTS tab) is selected now compiles the script.
Fixed, Error Logger: fixed slowdowns when adding lots of errors and "Errors and Warnings" window was opened.
Fixed, Script Editor: text caret was incorrectly positioned after selecting a function in the navigator dropdown.
Fixed, Script Editor: incorrect ACS configuration was used for SCRIPTS lump for maps in Hexen map format for ZDoom-based engines.
Internal, rendering: added more error reporing-related code to D3DShader.LoadEffect().
Updated ZDoom_DECORATE.cfg.
2016-01-27 14:08:15 +00:00
MaxED
5d47e331d8 Fixed, DB2 bug: hlsl effect stream was not rewound when trying to compile it in debug mode, which resulted in always receiving IndexOutOfRangeException when trying to do it.
Fixed, Visual mode: textures on floors, ceilings and single-sided wall parts are now rendered ignoring texture alpha.
Changed, Game configurations, Sector_Set3dFloor:160 action: renamed the fourth argument from "Alpha" to "Opacity".
2016-01-26 08:00:54 +00:00
MaxED
2cbe6640a6 Fixed, Visual mode: in some cases ceiling glow effect was interfering with Transfer Brightness effect resulting in incorrectly lit sidedef geometry.
Fixed, Visual mode: UDMF sidedef brightness should be ignored when a wall section is affected by Transfer Brightness effect.
Fixed, Visual mode: any custom fog should be rendered regardless of sector brightness. 
Fixed, Visual mode: "fogdensity" and "outsidefogdensity" MAPINFO values were processed incorrectly.
Fixed, Visual mode: in some cases Things were rendered twice during a render pass.
Fixed, Visual mode: floor glow effect should affect thing brightness only when applied to floor of the sector thing is in.
Fixed, TEXTURES parser: TEXTURES group was named incorrectly in the Textures Browser window when parsed from a WAD file.
Fixed, MAPINFO, GLDEFS, DECORATE parsers: "//$GZDB_SKIP" special comment was processed incorrectly.
Fixed, MAPINFO parser: "fogdensity" and "outsidefogdensity" properties are now initialized using GZDoom default value (255) instead of 0.
2016-01-25 13:42:53 +00:00
MaxED
ada38c4454 Fixed, Visual mode: fixed D3DERR_INVALIDCALL error caused by a bug in classic skybox texture creation.
Fixed, Visual mode: aspect ratio was not updated when render area was resized.
Fixed, Visual mode: vertex handles were disappearing after using Reload Resources (F8) action.
Changed, internal: removed most of the fixed pipeline rendering code. The editor can no longer be used on a video card without Shader Model 2.0 support.
2016-01-14 22:15:54 +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
4c794ad028 Fixed, Classic modes: text labels positioning logic was accidentally broken in R2455. 2015-12-28 18:19:09 +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
b35684e1c6 Changed, Renderer2D: StartOverlay() now works the same way as StartPlotter() and StartThings() (e.g. returns false when unable to render instead of throwing an Exception. Should prevent crashes for people with slow GPUs / very complex maps). 2015-12-13 22:14:16 +00:00
MaxED
2ea51d237b Cosmetic, actions: renamed "Lower Floor/Ceiling by 8 mp" to "Lower Floor/Ceiling/Thing by 8 mp", "Raise Floor/Ceiling by 8 mp" to "Raise Floor/Ceiling/Thing by 8 mp", "Lower Floor/Ceiling by 1 mp" to "Lower Floor/Ceiling/Thing by 1 mp", "Raise Floor/Ceiling by 1 mp" to "Raise Floor/Ceiling/Thing by 1 mp", "Lower Floor/Ceiling to adjacent sector" to "Lower Floor/Ceiling/Thing to adjacent Sector/Thing", "Raise Floor/Ceiling to adjacent sector" to "Raise Floor/Ceiling/Thing to adjacent Sector/Thing".
Updated, Visual mode, "Raise Floor/Ceiling/Thing to adjacent Sector/Thing" / "Lower Floor/Ceiling/Thing to adjacent Sector/Thing" actions: sectors across targeted sectors are now taken into account when determining target height.
Updated, Visual mode, "Raise Floor/Ceiling/Thing to adjacent Sector/Thing" / "Lower Floor/Ceiling/Thing to adjacent Sector/Thing" actions: the actions can now stack things on top of other things when their bounding boxes intersect. 
Internal: cosmetic changes to shader update logic.
Internal: thing bounding box is now used when adding a thing to VisualBlockMap.
2015-12-10 14:34:34 +00:00
MaxED
e1f7bd9611 Added, Visual mode: "Translucent" / "Additive" renderstyles support for models.
Fixed, Visual mode, fog rendering: things with Bright setting should still be affected by custom fade.
Updated ZDoom_DECORATE.cfg.
2015-12-01 14:51:45 +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
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
07b4a7a9cd Added, Visual mode, DECORATE: "Alpha" and "DefaultAlpha" properties are now supported.
Added, Visual mode, DECORATE: "RenderStyle" property is now partially supported.
Added, Visual mode, DECORATE: +BRIGHT flag is now supported.
Added, Visual mode, UDMF: "Alpha" thing property is now supported.
Added, Visual mode, UDMF: "RenderStyle" thing property is now partially supported.
Added, Visual mode, Hexen map format and UDMF: "Translucent" and "Invisible" thing flags are now supported.
Added, Game Configurations: added "alpha" and "renderstyle" Thing and Thing Category properties.
Fixed, Visual mode: blockmap was not updated when moving things using "Move Thing Left/Right/Forward/Backward" and "Move Thing to Cursor Location" actions.
DECORATE parser: added a warning when unable to find actor's parent class.
Internal: current map format can now be checked using "General.Map.UDMF", "General.Map.HEXEN" and "General.Map.DOOM" properties.
Updated documentation ("Game Configuration - Things Settings" page).
2015-09-28 14:57:48 +00:00
MaxED
f729c811f5 Added, Visual mode: translucent/additive geometry is now rendered properly.
Fixed: "Open map in current wad" action was accidentally broken in R2403.
2015-09-27 21:09:14 +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
ff265d87f9 Added some boilerplate to the rendering system. It's now impossible to start new rendering cycle if the previous one hasn't finished yet.
Changed: OS name, GPU name and GZDB revision info are now added to the exception text and GZCrash.log.
Fixed, cosmetic: toolstrip separators visibility must be updated when resizing the main window.
Internal: removed Plug.DisplaySize, Plug.DisplayLocationAbs and Renderer.ViewportSize. The same data can be accessed from anywhere using General.Interface.Display.Size and General.Interface.Display.LocationAbs. Also Plug.DisplayLocationAbs returned incorrect coordinates...
2015-09-17 12:02:39 +00:00
MaxED
c407c8c351 Fixed, DB2 bug: side panel's tabs were drawn incorrectly when panel's height was lower than cumulative tabs height.
Visual mode, GLOOME: wall/floor/ceiling sprites are now rendered closer to the way it's done in GLOOME.
Sectors mode, UDMF: some cosmetic tweaks to comment icons rendering.
Classic modes: linedef rendering is now skipped when it's visible length is very short.
General interface: fixed a possible crash when clicking on the warnings count label when it was updated from the background thread.
2015-08-31 22:06:44 +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
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
b37457dbc1 Changed, Draw Lines/Rectangle/Circle/Curve modes: line length labels are now repositioned to stay on screen when line's start or end is not visible.
Added, Map Analysis mode: added "Check map size" check. It will generate a warning when map's width or height is larger than 32767 m.u.
2015-08-24 21:49:15 +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
527d3cf5dc Added, Things mode, Visual mode: event lines for InterpolationPoints are now curved when appropriate setting is enabled in the control thing (PathFollower/ActorMover/MovingCamera) [heavily inspired by Xabis' patch].
Added, Things mode: the editor will try to reconnect the path when deleting InterpolationPoints and PatrolPoints.
Internal: RenderArrows method now works the same way in Renderer2D and Renderer3D.
Internal: Line3D now has "renderarrowhead" property.
2015-08-08 21:56:43 +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
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
cff3489791 Fixed, Classic modes, Visual mode, UDMF: the last argument of Sector_Set3dFloor (160) action must be ignored in UDMF. 2015-07-26 23:35:34 +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
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
ef5bd3e5c0 Changed, Classic modes: model wireframe is now rendered using Highlight color when corresponding thing is highlighted (and Select color when it's selected).
Sound Environment mode: added "Show nodes with warnings only" checkbox to the panel.
Sound Environment mode: somewhat increased sound environment update speed by updating the list after all sound environments are updated.
Sound Environment mode: the list now scrolls to show highlighted sound environment.
Sound Environment mode: sound environments can now be (de)selected. Selecting a sound environment stops highlighting sound environments / scrolling the list when moving the mouse.
2015-07-05 23:20:18 +00:00
MaxED
414a18ad90 Fixed, Randomize Things window: "Same width and height" scale setting was not applied properly.
Fixed incorrect formatting of changelog messages displayed in the updater window.
Changed, Classic modes: models for things hidden by thing filter are now rendered with much lower alpha than the "regular" ones.
2015-07-02 10:07:43 +00:00