Commit graph

79 commits

Author SHA1 Message Date
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
e035ff8113 - fix alpha ending up in red channel 2019-08-16 05:37:03 +02:00
Magnus Norddahl
a542385cd7 - force texture and buffer updating to go through RenderDevice 2019-08-15 02:52:21 +02:00
Magnus Norddahl
e3740033fc - rename classes with D3D in them 2019-08-09 23:22:16 +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
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
c9162c6f26 Fixed: builtin dynamic lights were rendered at wrong height (reported by +Ku6EPyXOBEPTKA+) 2017-08-10 16:01:22 +03:00
ZZYZX
10aa7e9493 Fixed translucent sprites. Added visual stencil color preview. (reported by Lud) 2017-03-25 05:19:42 +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
49f55120ad Added: GLDEFS support for 'attenuate 1' keyword 2017-01-20 00:27:36 +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
aecd017b19 Added, Errors and Warnings window: most of warnings/errors related to (G)ZDoom text lump parsing can now be double-clicked to show warning/error source in the Script Editor.
Fixed: some map format conversion errors were never displayed, because errors list was cleared after performing map conversion.
Fixed: 3d floor indicators in 2D modes were not updated after leaving Visual mode.
Fixed: some UDMF-only interface buttons were never removed after converting map format from UDMF.
2016-11-26 00:02:56 +00:00
MaxED
5ece55a657 Updated, Visual mode: WALLSPRITEs and FLATSPRITEs support rolling without the ROLLSPRITE flag.
Updated, Visual mode: unflipped FLATSPRITEs.
Updated, DECORATE parser: added duplicate actor definition check.
2016-10-04 21:02:43 +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
c9f125aade Added Rendering toolbar items to the View menu.
Merged "Toggle models, dynamic lights and fog rendering" and "Toggle Geometry Effects" actions into "Toggle Enhanced Rendering Effects" action.
Removed "Dynamic light size" and "Dynamic light intensity" settings.
Updated documentation ("Rendering toolbar" page).
2016-09-07 15:15:07 +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
13068b1137 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.
2016-07-13 21:53:48 +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
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
44496c32be Visual mode: fixed a crash when trying to render a thing after resetting D3D device. 2016-04-19 23:20:41 +00:00
MaxED
c3392f8399 Added, Visual mode: thing sprites are now angle-dependent. 2016-04-11 23:05:16 +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
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
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
8ac4189c7a Changed, Visual mode: reduced dynamic lights intensity to better match with GZDoom.
Fixed, Map conversion: game mode flags were ignored when converting from Doom map format to UDMF.
Fixed, Edit Selection mode: when "Drag selection automatically on paste" setting was enabled, it was possible to start rotating/scaling map elements instead of dragging them after pasting.
2016-01-18 20:37:21 +00:00
MaxED
217ca8379c Fixed, Visual mode: size override thing argument types were not taken into account when creating thing bounding box geometry. 2015-10-28 12:08:36 +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
77d2a15f7f Changed: when entering Visual mode, the camera is no longer positioned at "Visual Mode camera" thing when "Sync camera position between 2D and 3D mode" setting is enabled.
Changed: Visplane Explorer plugin is now initialized only in Doom/Hexen map formats.
Fixed, Visual mode: thing cages were not rendered when things didn't have a sprite.
Fixed, Internal, DB2 bug: Plug.Dispose() was never called.
2015-10-09 21:57:32 +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
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
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
ee719bd943 Fixed, Visual mode: texture coordinate generated to test if double-sided middle texture is transparent was shifted 1 pixel up.
Fixed, Visual mode: offsets of GLDEFS lights were not affected by thing's angle.
Updated SharpCompress (0.10.3 -> 0.11.1).
Updated ZDoom_DECORATE.cfg.
2015-08-28 19:22:28 +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
a523f7eb28 Changed, Visual mode: models and lights are much less prone to disappear when near the edges of the screen.
Fixed, Classic modes: MODELDEF model scale was not taken into account when calculating model visibility, which resulted in models with increased scaled disappearing when near screen edges.
2015-06-22 19:52:23 +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
4d9c551790 Fixed, Rendering: MODELDEF RollOffset, AngleOffset, Scale and ZOffset properties were applied incorrectly.
Fixed, Rendering: VOXELDEF Scale property was applied incorrectly.
2014-12-10 22:50:16 +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
c90d10c08c General interface: dynamic lights rendering mode and model rendering mode are now selected via drop-downs.
Renamed "Toggle dynamic lights rendering" action to "Show dynamic lights".
Changed: "Show dynamic lights" action now toggles between available dynamic light rendering modes.
Renamed "Toggle models rendering" action to "Show models".
Changed: "Show models" action now toggles between available model rendering modes.
Removed "Toggle dynamic lights animation" and "Render selected/all models" actions.
Fixed, Randomize Sectors form: selection highlight was not updated after applying the changes when the form was shown in Sectors mode.
Consistency: selection is now cleared after applying changes done in Randomize Things and Randomize Vertices forms.
Fixed, Classic modes: sprites of things with attached models were not rendered when model rendering was disabled.
Updated documentation.
2014-10-20 12:16:51 +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
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