Commit graph

334 commits

Author SHA1 Message Date
Magnus Norddahl
af3d74d186 Fix DevIL crash by protecting it with a mutex lock
Use the .net framework image loaders if they work. They do for the sane formats (PNG and JPEG) and they are faster, too.
Enable usage of multiple threads for resource loading now that it no longer crashes
2019-12-27 07:45:44 +01:00
Magnus Norddahl
11b5cb4e8f Fix crash if entering 3D mode early
Remove thread priority settings (this is not the right way to do it)
Stop brain dead busy looping and use Monitor.Wait + Monitor.Pulse
Only call Control.Invoke if its a worker thread calling RunOnUIThread
Add the code for running multiple background threads (unfortunately blocked by DevIL apparently not being thread safe, gg!)
2019-12-27 07:21:43 +01:00
Magnus Norddahl
7e0ea54254 Don't use SendMessage when the built-in Invoke function does the same 2019-12-27 04:37:10 +01:00
ZZYZX
19718cd464 Fixed: skybox generated from Doom texture was misplaced 2019-12-16 04:18:19 +02:00
ZZYZX
f0aee1e174 Merge branch 'master' into slimgl_merge 2019-12-14 23:50:40 +02:00
biwa
cbaa0c030c Long names can now used for flats (again) 2019-11-30 17:05:00 +01:00
Magnus Norddahl
9f2c9e00d7 Add mono makefile 2019-08-29 16:30:49 +02:00
Magnus Norddahl
9d02676f8f - fix wrong uniform state 2019-08-22 22:59:27 +02:00
Magnus Norddahl
64cc7d2bc2 - implement the fixed function fog 2019-08-22 18:43:54 +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
9b53939f0c - simplify vertex buffer and vertex format 2019-08-16 13:07:57 +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
14fd3c96e1 - remove Things2DShader, World3DShader, Effect and EffectShader 2019-08-13 04:12:04 +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
407cc703b8 - implement enough of BuilderNative for GZDB to successfully run without crashing 2019-08-09 23:15:48 +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
21b46010c1 Merge remote-tracking branch 'origin/master' into slimgl 2019-08-08 04:07:00 +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
biwa
dde8742ff2 - Added support for Wavefront OBJ models
- Fixed a problem where model textures were not loaded from the textures directory or from TEXTUREx definitions. Fixes #173 and #226
2019-06-15 17:44:02 +02:00
biwa
48af52afcf - Improved performance of the texture browser. This should significantly reduce the times it takes to open the texture browser when using large texture sets 2019-05-31 00:20:12 +02:00
ZZYZX
b026e58a89 Added: MODELDEF #include support 2018-06-09 17:26:03 +03:00
jewalky
0b14bdeec1
GZDB native 64-bit binary support (PR#197 by StrikerMan780) 2018-04-14 16:55:21 +03:00
ZZYZX
10167038ae Fixed: on a second thought, let's just make FileImageReader fall back to guessed image if possible... 2018-03-31 14:01:36 +03:00
ZZYZX
f7c2a577e4 Fixed: made more correct checking for legal file formats; now it should actually validate the format upon loading 2018-03-31 13:38:30 +03:00
ZZYZX
abdacb32df Fixed: flats are now unconditionally detected as Doom Flat if they are exactly 4096 bytes long and inside F_ markers or flats directory. (reported by Chickenlegz) 2018-03-31 13:07:41 +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
04324cd140 Fixed (?) cross-thread bitmap usage. (reported by Xane123) 2017-05-09 06:06:21 +03:00
ZZYZX
a2c9de393e Fixed: changing flat names around is wrong... (reported by Lud) 2017-04-03 20:40:51 +03:00
ZZYZX
ee28f1d094 Made Skulltag item sprites optional to support default Skulltag+Zandronum config without producing 100 errors 2017-03-09 19:09:08 +02:00
ZZYZX
f97c15ae95 Fixed: Internal: made most 'get' calls in WADReader use synchronized MemoryStream duplicate as opposed to operating on WAD stream directly. Hopefully fixes multithreading issues with sprite loading. (reported by Mysterious Haruko, camaxide) 2017-03-03 20:33:40 +02:00
ZZYZX
59c1320971 Fixed: flats and textures with the same name were not cached correctly in the texture browser. (reported by DOOMGABR) 2017-03-02 20:14:24 +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
02d5ce4c3b Internal: Oops: missing files 2017-02-10 12:32:35 +02:00
ZZYZX
1fb1167e5d Fixed: Internal: resumed resource would lose readonly attribute 2017-02-09 02:39:32 +02:00
ZZYZX
dd48b5edfd Fixed: internal images were a bit broken by the previous commit 2017-01-26 12:01:11 +02:00
ZZYZX
7de5d10c0f Fixed: long texture names are no longer activated for Doom flat images (GZDoom doesn't support these) 2017-01-26 09:09:22 +02:00
ZZYZX
a5a942c798 Fixed: lump saving in script editor after editing archive with SLADE.\n Fixed: checking for concurrent modification in script editor while trying to save the lump. 2017-01-21 03:14:21 +02:00
ZZYZX
819ef6490e Fixed: wild exception while replacing ZScript actor from DECORATE 2017-01-19 09:16:55 +02:00
ZZYZX
a85a7a40f0 Renamed default category Decorate to User-defined 2017-01-17 10:39:30 +02:00
ZZYZX
0787f96042 GLDEFS, MODELDEF: Included ZScript actors in missing class check 2017-01-17 06:53:20 +02:00
ZZYZX
8afd01f6bd Internal: Disconnected ZDoom actor state data from DECORATE parsing code 2017-01-16 10:20:47 +02:00
ZZYZX
b42de7db6c Internal: Moved ZScript class initialization logic to after querying all lumps 2017-01-16 03:49:58 +02:00
ZZYZX
db08802780 Enabled DECORATE classes to inherit ZScript ones 2017-01-16 02:08:35 +02:00
ZZYZX
38ffc861cb Internal: started implementing ZScript parser. Nothing works for now, aside from the actual parsing code. 2017-01-16 00:00:45 +02:00
ZZYZX
5e11072970 Added IOException handling to image loading from disk (fixes GZDB Git issue #8) 2017-01-15 05:12:19 +02:00
ZZYZX
ebd7fb1a57 Upgrade to VS2015 (14.0) 2017-01-15 00:35:40 +02:00
m-x-d
2b24ce3c25 Updated, Textures Browser: texture name length is now taken into account when calculating the width of texture items.
Internal: moved thing helper shapes creation logic from ThingsMode to LinksCollector.
2017-01-09 01:04:55 +03:00
MaxED
a7d2417844 Visual mode, UDMF: added rendering support for fogdensity and floor/ceiling glow properties.
Internal, build tools: use origin/master to get commits count and current hash instead of local master.
2017-01-04 16:28:36 +03:00
MaxED
b37bc84fff Fixed, Script Editor: fixed incorrect function calltip position when the cursor was positioned in a wrapped part of a wrapped line.
Updated ZDoom_DECORATE.cfg.
2016-12-25 21:00:41 +00:00
MaxED
26687a2ee3 Added, Textures Browser: "[All]" folder is now added to each map resource. It holds all textures found in that resource.
Fixed, Textures Browser: only name filtering is now applied to folder-type image items, filtering is never applied to "go to parent folder" image items.
Fixed, Textures Browser: in some cases "Backspace" key was ignored by the Filter textbox.
Fixed, Textures Browser: "Ctrl-Backspace" key combo now clears Filter textbox instead of adding an unknown char to it.
2016-12-24 21:52:42 +00:00
MaxED
447851e457 Added, Textures Browser: redesigned textures list. Textures preview size can now be changed from the Textures Browser window. Folders are now shown in the textures list.
Fixed, Script Editor: Find and Replace window now sets keyboard focus to the input textbox when opening the window/switching between tabs.
Fixed, Nodes Viewer mode: SEGS overflows were not handled, causing a crash. Also extended SEGS limit is now used.
Updated ZDoom_DECORATE.cfg (A_SetSize).
2016-12-22 15:04:40 +00:00
MaxED
d73ea867a4 Fixed, Script Editor: MD5 hash of text files stored in PK3 was calculated incorrectly, resulting in false warning messages when saving. 2016-12-22 00:03:58 +00:00
MaxED
45c3cbaae3 Added, Script Editor: added script configurations / auto-detection support for GAMEINFO, FONTDEFS and KEYCONF text lumps.
Fixed, "Open Map Options" and "Change Map" windows: fixed incorrect size of the items in the maps list when using high-DPI scaling.
Updated ZDoom_DECORATE.cfg and ZDoom_MAPINFO.cfg.
2016-12-12 12:35:18 +00:00
MaxED
b283fab795 Fixed, action arguments control: in some cases named script name was not displayed.
Fixed, Script Editor: Delete key was not working in the text editor (because it was hijacked by context menu action, which requires a selection to be active).
2016-12-10 21:33:59 +00:00
MaxED
da02474302 Applied skybox cubemap creation performance increase patch by Xabis.
Added, MAPINFO parser: added support for "Skybox" map block property.
2016-12-08 13:11:11 +00:00
MaxED
88363a1a66 Added, Script Editor: added "Find usages" option (available in the "Search" menu, via text editor context menu, via Ctrl-Shift-F shortcut and in the "Find and Replace" window).
Added, Script Editor: double-clicking text resource tab header now shows the corresponding resource in the Resources tree.
Updated, Game configurations, UDMF: added several missing Thing renderstyles.
2016-12-08 12:10:43 +00:00
MaxED
5dd45ffdca Updated, Script Editor: redesigned "Find and Replace" window. It can now search/replace in all opened tabs and all detected text resources.
Fixed, Script Editor: resources list control was incorrectly positioned when using DPI scaling.
2016-12-02 13:45:03 +00:00
MaxED
1523d06ee3 Updated, Visual mode: some cases when the sky hack must be applied were not handled.
Updated, Script editor: script editor was unable to show error location after double-clicking on it in the Warnings and Errors window when said location was inside of a WAD located in a PK3 file.
Updated, text lumps tracking: already parsed DECORATE/GLDEFS lumps are now added to the text lumps list even when DECORATE/GLDEFS parsing fails, allowing you to fix errors without the need to use external tools.
Fixed: in some cases the editor could stuck in an infinite loop when searching for wad lumps.
2016-11-28 20:01:47 +00: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
9553042c84 Added, Script Editor: unreferenced ACS files are now shown in the Resources list.
Added, Script Editor: MENUDEF and SBARINFO files/lumps are now shown in the Resources list.
Fixed, ACS handling: fixed a crash when trying to parse an #include file, when specified path was absolute.
2016-11-24 21:09:24 +00:00
MaxED
894279b4ba Added, Script Editor: added "Script Navigator" tab. It shows and allows to open text resources loaded by the editor.
WARNING: because of the large amount of added/modified code, bugs are possible, so backup your resources, save often and report bugs.
2016-11-24 11:55:11 +00:00
MaxED
4306e277e6 Fixed map lumps duplication when saving the map several times after converting the map from/to UDMF map format by changing it in the Map Options window.
Fixed, cosmetic: in some cases incorrect resource loading time was displayed after saving the map.
2016-11-10 19:18:06 +00:00
MaxED
9908e41197 Added, Game configurations: added "ignoreddirectories" parameter. It lists directory names to be ignored when loading PK3/PK7/Directory resources.
Added, Game configurations: added "ignoredextensions" parameter. It lists file extensions to be ignored when loading PK3/PK7/Directory resources.
Updated: sector triangulation logic now works ~20% faster.
Changed: a case when a pk3/pk7 archive contains several entries with identical filename is now treated as a warning, not as an error.
Fixed, Visual mode: absolute floor/ceiling brightness should not be affected by brightness transfer effects (like 3d floors).
Fixed, Draw Lines mode: in some cases unclosed sectors were created when several points were successively drawn at the same location.
Updated documentation.
2016-10-24 19:19:11 +00:00
MaxED
91e7809fa0 Added, Things mode: sound radii are now shown for "Custom Ambient Sound" and "Custom Ambient Sound (no gravity)" things. 2016-10-05 20:15:38 +00:00
MaxED
07db2506c5 Added, Things mode: minimum/maximum sound radii can now be displayed for ZDoom's Ambient Sound things.
Added, Things mode: added "Show Light Radii" and "Show Sound Radii" main toolbar and View menu buttons.
Fixed, Action arguments control: invisible splitter between args1-3 and args4-5 is no longer draggable.
Updated ZDoom ACC (SetTranslation).
Updated ZDoom_ACS.cfg (SetTranslation).
2016-10-03 11:42:12 +00:00
MaxED
f8cab5b130 Added more checks to TGA file format detection logic. 2016-08-30 13:37:20 +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
2ea72437be Added, Visual mode: added support for "Change Floor Brightness to this Brightness" and "Change Ceiling Brightness to this Brightness" Boom actions.
Changed, Sectors mode: "Flip Linedefs" and "Align Linedefs" actions will no longer flip single-sided linedefs with only front side.
Fixed, Script Editor: fixed a crash when trying to update script navigator combo box when switching to a never saved ACS script.
2016-07-20 19:17:31 +00:00
MaxED
a8c23266bb Changed: optimized generated voxel mesh size. Pro: they occupy ~50% less memory. Con: voxel loading takes ~30% more time.
Changed, Browse Textures window: several textures with the same name were displayed in "All" texture set when overriding WAD textures by Folder/PK3 textures.
2016-07-18 23:41:02 +00:00
MaxED
3f93525ebc Added support for SurfaceSkin MODELDEF property.
Changed, Visual mode: increased maximum rendreable dynamic lights count to 64.
2016-07-18 12:05:19 +00:00
MaxED
7772ebbb52 Fixed: voxels were incorrectly loaded from WADs.
Fixed, Draw Geometry modes: fixed a crash when moving the mouse cursor over a vertex while holding Alt-Shift keys when there were no new points drawn in current mode.
2016-07-17 21:38:29 +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
988ef7de3c Added "flagsrename" Game configurations property. It allows to override Thing flag names for specific things.
Added, Automap mode: added "Show locks" button (available in Hexen and UDMF map formats only).
Updated documentation.
2016-07-15 14:07:30 +00:00
MaxED
09e1eef95c Added LOCKDEFS parser.
Changed, Game Configurations: changed "basegame" value type from int to string.
Updated documentation.
2016-07-14 23:39:48 +00:00
MaxED
baa303261a Fixed, DECORATE parser: the parser was unable to process several quoted strings not separated by at least one space/tab char.
Fixed: the editor was unable to find actor sprites defined in TEXTURES.
2016-07-14 14:28:42 +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
7b54c0141d 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.
2016-06-26 22:42:24 +00:00
MaxED
07c2b3a826 Added "WorldPanning" TEXTUREx flag support. 2016-06-15 14:48:21 +00:00
MaxED
a852719062 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.
2016-06-13 23:37:55 +00:00
MaxED
14887bfb47 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.
2016-06-08 00:06:20 +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
578135cad4 Added SNDINFO parser. Currently only the "$ambient" command is parsed. The values are used to update the titles of "Ambient Sound NN" things and to populate "ambient_sounds" Game Configuration enum.
Fixed, DECORATE parser: actors, which used "replaces" keyword and didn't have DoomEdNum were ignored.
Updated documentation ("(G)ZDoom text lumps support" page).
2016-05-24 22:11:29 +00:00
MaxED
c06443c7d1 Fixed inability to load resources from the map wad when it had read-only flag set. 2016-05-13 23:01:36 +00:00
MaxED
74f749fd68 Added, DECORATE support: #region blocks are now used as thing categories ("//$Category" actor block definition overrides these). Additional category-wide special comments are now available (see documentation).
Updated documentation ("DECORATE keys" page).
2016-05-13 13:41:09 +00:00
MaxED
65861d1e03 Internal: moved script compilation logic to appropriate DataReaders. 2016-05-12 13:56:25 +00:00
MaxED
133c2fce34 Fixed a bunch of typos. 2016-05-04 14:02:13 +00:00
MaxED
6e4540b314 Internal: some DataReaders refactoring.
Updated ZDoom_DECORATE.cfg (ALLOWTHRUFLAGS flag).
2016-04-29 13:42:52 +00:00
MaxED
411368307f Fixed, Visual mode: in some cases translucency was ignored on inner top sides of translucent 3d floors.
Internal, Script Editor: moved some setup/auto-completion logic to separate classes.
Updated ZDoom_DECORATE.cfg (A_QuakeEx).
2016-04-28 14:02:24 +00:00
MaxED
6b25086795 Internal: did some refactoring. 2016-04-27 09:13:07 +00:00
MaxED
5ab50fc981 Fixed: added a simple extension-based filtering to Folder/PK3/PK7 resources to prevent loading data from unrelated resources.
Fixed: there can be several entries of the most ZDoom text lumps in WADs. Previously only the first one was processed.
Internal: rewritten DirectoryFilesList to use one collection instead of two.
2016-04-23 23:15:43 +00:00
MaxED
c2618179d8 Added support for "Light()" DECORATE state expression. 2016-04-20 21:55:33 +00:00
MaxED
952e895af0 Fixed, DECORATE support: "DistanceCheck" value is a CVAR name, not an actual value.
Internal: added CVARINFO parser.
2016-04-13 14:11:35 +00:00
MaxED
42607f704f Added, Classic modes: thing sprites are now angle-dependent. 2016-04-08 14:02:08 +00:00