Commit graph

14550 commits

Author SHA1 Message Date
Christoph Oelckers
a001a5304d - removed the old software renderer framebuffers for Windows
This cannot be refactored with the old code still present and done properly both renderers should share what they can.
2018-03-30 23:18:25 +02:00
Christoph Oelckers
1e5fbc1423 Merge remote-tracking branch 'remotes/origin/master' into 2D_Refactor
# Conflicts:
#	src/posix/cocoa/i_video.mm
2018-03-30 22:06:17 +02:00
Christoph Oelckers
ec8804cfd8 - added missing virtual destructor to DFrameBuffer.
Previously it inherited this from DCanvas but now both classes are no longer related.
2018-03-30 22:03:50 +02:00
Christoph Oelckers
ff19627251 - fixed legacy version of color overlay to use the correct blend settings. 2018-03-30 21:34:04 +02:00
Christoph Oelckers
00c66f42d3 - made DTA_SpecialColormap work, both for GL3+ and GL2 render paths.
This will only be used for HUD sprites. At the moment it will ignore sprite translations, though, when running in OpenGL 2 legacy mode.
2018-03-30 21:14:49 +02:00
Christoph Oelckers
832df6d43a - implemented desaturation for the legacy GL renderer's 2D.
A lot of work that's only needed to be able to use the hardware renderer's 2D code with the software renderer.
2018-03-30 18:14:42 +02:00
alexey.lysiuk
709bbe3db0 Fixed crash on accessing player sprite's state in software renderer
https://forum.zdoom.org/viewtopic.php?t=60034
2018-03-30 16:40:31 +03:00
alexey.lysiuk
408a2f6dab Fixed uninitialized members in DPSprite class
https://forum.zdoom.org/viewtopic.php?t=60034
2018-03-30 16:38:51 +03:00
alexey.lysiuk
84e9017a5f Fixed infinite loop with zero height fast projectile
https://forum.zdoom.org/viewtopic.php?t=60019
2018-03-30 12:49:35 +03:00
alexey.lysiuk
a6738fd139 Fixed infinite loop with None class in random spawner
actor NoneSpawner : RandomSpawner
{
    DropItem "None"
}

https://forum.zdoom.org/viewtopic.php?t=60027
2018-03-30 10:44:42 +03:00
alexey.lysiuk
140ad241c4 Adjusted validation limit for sound velocity again :(
https://forum.zdoom.org/viewtopic.php?t=59979
2018-03-30 10:42:22 +03:00
Vitaly Novichkov
74c5bab075 Attempt to fix a blank banks list of ADLMIDI
That happen because of silly dependency on soundfonts list which is totally unneeded to ADLMIDI as it uses embedded banks or external banks in a different format.
https://forum.zdoom.org/viewtopic.php?f=104&t=59997&p=1047184
2018-03-29 23:39:15 -04:00
Christoph Oelckers
811d96e07e D3D 2D code refactored but not tested yet. 2018-03-29 23:21:25 +02:00
alexey.lysiuk
b952653303 Set more suitable limit for sound velocity validation
https://forum.zdoom.org/viewtopic.php?t=59979
2018-03-29 17:37:36 +03:00
Christoph Oelckers
a40e085a46 - 2D drawer implementation complete for hardware renderer.
This also replaces DTA_ColormapStyle with proper implementations of its components. As implemented it was a very awkward mixture of various effects that already existed in a separate form. As a result of its implementation it required additional but completely redundant shader support which could be removed now. As a side effect of this change a new DTA_Desaturate option was added.
2018-03-29 16:21:21 +02:00
alexey.lysiuk
cbad9ac219 Fixed crash when event handler class isn't derived from StaticEventHandler 2018-03-29 16:41:29 +03:00
Christoph Oelckers
9feccac8cd
Merge pull request #452 from Wohlstand/master
ADLMIDI: Update the DMXOPL3 bank by Sneakernets and minor changes
2018-03-29 13:22:31 +02:00
Christoph Oelckers
077df87704 - 2D code works in GL legacy mode.
Not tested yet with shaders.
2018-03-29 11:58:28 +02:00
Christoph Oelckers
0ff1426b23 - fixed: The index info for the 2D lists was not set. 2018-03-29 07:55:35 +02:00
Christoph Oelckers
fa6ba84094 - fixed untextured vertex order and removed some test code. 2018-03-29 00:38:31 +02:00
Christoph Oelckers
a253b15334 - more fixes. 2018-03-28 23:57:50 +02:00
Christoph Oelckers
3ca3193379 - fixed a few things, but still not working. 2018-03-28 23:42:06 +02:00
Christoph Oelckers
b194f2c466 - game starts, but no 2D visible yet. 2018-03-28 22:04:28 +02:00
Christoph Oelckers
70b6754299 - implemented the 2D drawer for the hardware renderer. Not tested yet. 2018-03-28 21:38:00 +02:00
Wohlstand
2d79d187d5 OPNMIDI: Remove std:: from all snprintf calls 2018-03-28 20:37:55 +03:00
Wohlstand
9c1cf72175 Merge branch 'master' of git@github.com:Wohlstand/gzdoom.git 2018-03-28 20:36:16 +03:00
Wohlstand
6a497a0b92 ADLMIDI: Update latest update of DMXOPL3 bank by @sneakernets
And a small polishing of bank names to keep the informative, but much shorter
2018-03-28 20:34:28 +03:00
Wohlstand
99e24efc2c ADLMIDI: Remove std:: from all snprintf-s 2018-03-28 20:33:02 +03:00
Christoph Oelckers
25999c1c6a - looks like the 2D drawer sources did not get committed...
- This also adds the missing draw modes to the GLSL shader.
2018-03-28 19:07:43 +02:00
Christoph Oelckers
16480a3f4b - it compiles again.
This won't work, though, because no backend for the new 2D code exists yet.
2018-03-28 16:40:09 +02:00
alexey.lysiuk
fdd93d704d Merged list of video modes for Cocoa and SDL backends
https://forum.zdoom.org/viewtopic.php?t=59990
2018-03-28 15:12:07 +03:00
Vitaly Novichkov
6278c8fb81 Merge branch 'master' of git@github.com:coelckers/gzdoom.git 2018-03-27 23:44:58 +03:00
Christoph Oelckers
33289ade49 - renamed the 2D drawer in the GL renderer so that the same name can be used for the device-independent replacement. 2018-03-27 21:44:58 +02:00
Christoph Oelckers
29ad081368 - removed remaining DirectDraw code and a few other things that are no longer being used. 2018-03-27 21:04:01 +02:00
Christoph Oelckers
2ed744963c - Changed frame buffer locking mechanism so that the only place where a lock is needed is when the software renderer wants to access the render buffer, which is precisely for the duration of the RenderView function.
No more locking insanity! :)
There are no locking counters or other saveguards here that would complicate the implementation because there's precisely two places where this buffer must be locked - the RenderView functions of the regular and poly SW renderer which cannot be called recursively.
2018-03-27 20:02:44 +02:00
Christoph Oelckers
0c3635e22c - removed vid_hw2d CVar. 2018-03-27 17:58:25 +02:00
Christoph Oelckers
62f073ef60 - removed Accel2D variable and a little bit of locking cruft. 2018-03-27 17:13:10 +02:00
Christoph Oelckers
cff5f0e3c7 - removed DFrameBuffer's locking mechanism.
In its current form this is quite useless. What's really needed is to require a lock on the RenderBuffer for the 3D scene, but since this is not needed for the 2D stuff anymore it can be done far simpler.
2018-03-27 16:48:33 +02:00
Christoph Oelckers
c06ad5c59c - separated DFrameBuffer from DCanvas.
This was a bad idea from the start and really only made sense with DirectDraw.
These days a FrameBuffer represents an abstract hardware canvas that shares nothing with a software canvas so having these classes linked together makes things needlessly complicated.
The software render buffer is now a canvas object owned by the FrameBuffer.

Note that this commit deactivates a few things in the software renderer, but from the looks of it none of those will be needed anymore if we set OpenGL 2 as minimum target.
2018-03-27 14:14:46 +02:00
Christoph Oelckers
bb9283a9af - work on separating DFrameBuffer from DCanvas.
2D works in D3D backend, but 3D crashes because not all pointers have been rerouted yet.
2018-03-27 13:50:31 +02:00
Christoph Oelckers
377aa95e34 - removed empty header. 2018-03-27 12:01:15 +02:00
Christoph Oelckers
e0f1abdf81 - removed SDLFB and cleaned things up a bit. 2018-03-27 11:59:43 +02:00
Christoph Oelckers
1a28644d83 - cleaned out unused stuff from DCanvas.
- removed CocoaFrameBuffer because it is a software fallback which is no longer supported.
2018-03-27 11:25:06 +02:00
Christoph Oelckers
ba799aebbd - moved locking logic from DCanvas to DFrameBuffer.
The software canvases used for rendering camera textures and save pictures in the software renderer do not need this.
2018-03-27 11:12:13 +02:00
Christoph Oelckers
dd491d6558 - removed support for paletted Windows display modes.
This was only relevant for DirectDraw which has been removed.
2018-03-27 10:41:38 +02:00
Christoph Oelckers
ded21cba8e - moved more code from DCanvas to DFrameBuffer. 2018-03-27 10:34:21 +02:00
Vitaly Novichkov
38156b9243 ADL&OPL: Added a fallback for a blank instruments in GS/XG banks 2018-03-27 07:36:07 +02:00
Vitaly Novichkov
934441f9a2 ADL&OPL: Added a fallback for a blank instruments in GS/XG banks 2018-03-27 03:21:32 +03:00
Vitaly Novichkov
7296f8c018 Merge branch 'master' of git@github.com:coelckers/gzdoom.git 2018-03-27 03:17:20 +03:00
Christoph Oelckers
d650e37497 - stripped out the entire software 2D renderer and moved all 2D drawing functions to DFrameBuffer so that they cannot be used with software DSimpleCanvas anymore. 2018-03-26 23:16:27 +02:00