Latest GZDoom Changes

Latest 50 commits

Unofficial development builds at DRD Team

Older commits

24-Jun-2018 (Sunday) at 16:54:25 CDT by Christoph Oelckers
Commit 5d14ae68a (modern)
Parents: daf8703fc

  • missed two added files.

24-Jun-2018 (Sunday) at 14:26:32 CDT by Christoph Oelckers
Commit daf8703fc
Parents: 66d13b6e8

  • split up Win32's SystemGLFrameBuffer as well to get the shareable parts between OpenGL and Vulkan into a base class.

24-Jun-2018 (Sunday) at 13:55:05 CDT by Christoph Oelckers
Commit 66d13b6e8
Parents: 1519514dd

  • renamed another file.

24-Jun-2018 (Sunday) at 13:47:00 CDT by Christoph Oelckers
Commit 1519514dd
Parents: c2d24e1dd

  • split Win32GLVideo in two so that the OpenGL independent part can be used for Vulkan as well.

24-Jun-2018 (Sunday) at 13:31:35 CDT by Christoph Oelckers
Commit c2d24e1dd
Parents: e7365be0d

  • renamed a file.

24-Jun-2018 (Sunday) at 13:16:30 CDT by Christoph Oelckers
Commit e7365be0d
Parents: 52102f3d4

  • renamed SystemFrameBuffer to SystemGLFrameBuffer.

... because with Vulkan there needs to be some hint what API this is for.

24-Jun-2018 (Sunday) at 13:11:08 CDT by Christoph Oelckers
Commit 52102f3d4
Parents: 491898fe2

  • moved the Win32GLVideo class to its own file.

This and SystemFrameBuffer need splitting up to support both Vulkan and OpenGL

24-Jun-2018 (Sunday) at 10:57:02 CDT by Magnus Norddahl
Commit 32d837cdf (hw_postprocess)
Parents: b2fad453f 491898fe2

Merge remote-tracking branch 'gzdoom/modern' into hw_postprocess

24-Jun-2018 (Sunday) at 10:15:27 CDT by Christoph Oelckers
Commit 491898fe2
Parents: c3d5b960e

  • fixed calculation of projection matrix for weapon sprites.
  • fixed color mask for green/magenta.
  • fixed crash when initializing video, because it was accessing 'screen' before it was set from within the framebuffer's constructor.

24-Jun-2018 (Sunday) at 06:39:14 CDT by Christoph Oelckers
Commit c3d5b960e
Parents: 036307927

  • refactored the entire Stereo3D system to get rid of the class hierarchy and all its ugly implications.

Ultimately all this needs is a small data table describing the geometric properties of each mode and a single Present function that calls the mode specific variants. Code size got reduced from 50kb to less than 20kb with proper separation of the generic parts from the OpenGL parts.

24-Jun-2018 (Sunday) at 05:35:45 CDT by alexey.lysiuk
Commit 036307927
Parents: 4ef7b66c4

  • refactored video part of Cocoa backend

Window related functionality is moved to framebuffer class Video settings are now applied properly on startup

24-Jun-2018 (Sunday) at 04:45:40 CDT by Christoph Oelckers
Commit 4ef7b66c4
Parents: 840c2c895

  • partial consolidation of the EyePose classes.

The SBS versions can just as easily be handled with an additional parameter.

24-Jun-2018 (Sunday) at 03:48:04 CDT by Christoph Oelckers
Commit 840c2c895
Parents: 532fba5c2

  • fixed warning in ADLMidi.

24-Jun-2018 (Sunday) at 03:47:42 CDT by Christoph Oelckers
Commit 532fba5c2
Parents: 65849441e

  • moved the Stereo3D EyePose to their own file in hwrenderer/.

24-Jun-2018 (Sunday) at 02:32:46 CDT by Christoph Oelckers
Commit 65849441e
Parents: a4622e70d

  • disable the wipe code entirely when a stereo3D mode is active.

This simply cannot work right so let's better outright disable it.

23-Jun-2018 (Saturday) at 16:03:51 CDT by Christoph Oelckers

Merge remote-tracking branch 'remotes/origin/master' into modern

23-Jun-2018 (Saturday) at 16:02:56 CDT by Christoph Oelckers
Commit e7a0ccf87
Parents: 6ebec37ba

  • fixed remaining issues with portal refactoring.

23-Jun-2018 (Saturday) at 13:57:02 CDT by Christoph Oelckers
Commit 6ebec37ba
Parents: 3936e3018

  • moved all portal code that sets up a scene to be rendered into API independent code and let it be handled by a common wrapper class.

23-Jun-2018 (Saturday) at 12:25:49 CDT by Magnus Norddahl
Commit b2fad453f
Parents: ebf0cef28

  • change tonemaps to steps

23-Jun-2018 (Saturday) at 08:22:29 CDT by alexey.lysiuk
Commit 3936e3018
Parents: 663ac919b

  • added window position and size restoration to SDL backend

23-Jun-2018 (Saturday) at 08:21:35 CDT by alexey.lysiuk
Commit 663ac919b
Parents: 1cf3af9c4

  • removed unused header file

23-Jun-2018 (Saturday) at 06:51:19 CDT by Christoph Oelckers
Commit 1cf3af9c4
Parents: 282fdac66

  • moved the current portal pointer to HWDrawInfo so that the portal managed does not need to save and restore a global variable for each portal.

23-Jun-2018 (Saturday) at 06:25:23 CDT by Christoph Oelckers
Commit 282fdac66
Parents: 009acf3fb

  • made the static portal state a struct inside the Renderer object

23-Jun-2018 (Saturday) at 04:45:44 CDT by alexey.lysiuk
Commit 009acf3fb
Parents: 573758bc5

  • added window position and size restoration to Cocoa backend

23-Jun-2018 (Saturday) at 04:44:48 CDT by alexey.lysiuk
Commit 573758bc5
Parents: 82d7e5970

  • removed obsolete code from Cocoa backend

22-Jun-2018 (Friday) at 16:49:39 CDT by Christoph Oelckers
Commit 82d7e5970
Parents: 7f0e29db4

  • moved the clipline uniform to the viewpoint buffer.

This was the final one of the per-scene values that could be taken out of the render state.

22-Jun-2018 (Friday) at 15:50:33 CDT by Christoph Oelckers
Commit 7f0e29db4
Parents: 80a902893

  • fixed clip plane setup.

This had to be reordered so that the clip plane gets set before applying the uniforms.

22-Jun-2018 (Friday) at 15:45:05 CDT by Christoph Oelckers
Commit 80a902893
Parents: e7531bb57

  • mirror clip planes moved - not working yet.

22-Jun-2018 (Friday) at 14:44:53 CDT by Christoph Oelckers
Commit e7531bb57
Parents: d5af93911

  • fixed camerapos setup.

22-Jun-2018 (Friday) at 14:32:38 CDT by Christoph Oelckers
Commit d5af93911
Parents: 43e1a2d24

  • more uniforms moved.

(not working yet.)

22-Jun-2018 (Friday) at 14:05:36 CDT by Christoph Oelckers
Commit 43e1a2d24
Parents: 948618084

  • moved uViewHeight and uCameraPos to the viewpoint uniform struct.

19-Jun-2018 (Tuesday) at 17:28:55 CDT by Vitaly Novichkov
Commit a5b4d9d9a (HEAD -> master)
Parents: ceec12056

ADLMIDI: Fix one small MSVC Win64 warning

19-Jun-2018 (Tuesday) at 16:48:42 CDT by Vitaly Novichkov
Commit ceec12056
Parents: 9b4e8efcb

Upgrade libADLMIDI and libOPNMIDI

Added ability to switch emulator and it's accuracy level ("enabling of 'run at PCM rate' reduces accuracy, and also reduces CPU usage") Added draft code for future external banks support (WOPL format for ADLMIDI and WOPN format for OPNMIDI)

ADLMIDI 1.3.3 2018-06-19 * Fixed an inability to load another custom bank without of library re-initialization * Optimizing the MIDI banks management system for MultiBanks (Thanks to Jean Pierre Cimalando for a work!) * Fixed incorrect 4-op counter which is still catch 4-op instruments on 2-op banks * Fixed an incorrect processing of auto-flags * Fixed incorrect initial MIDI tempo when MIDI file doesn't includes the tempo event * Channel and Note Aftertouch features are now supported correctly! Aftertouch is the tremolo / vibrato, NOT A VOLUME! * Updated DosBox OPL3 emulator up to r4111 of official DosBox trunk (Thanks to Jean Pierre Cimalando for a work!) * The automatical choosing of 4 operator channels count has been improved (Thanks to Jean Pierre Cimalando for a work!) * Added optional HQ resampler for Nuked OPL3 emulators which does usage of Zita-Resampler library (Thanks to Jean Pierre Cimalando for a work!)

ADLMIDI 1.3.2 2018-04-24 * Added ability to disable MUS and XMI converters * Added ability to disable embedded MIDI sequencer to use library as RealTime synthesizer only or use any custom MIDI sequencer plugins. * Fixed blank instruments fallback in multi-bank support. When using non-zero bank, if instrument is blank, then, instrument will be taken from a root (I.e. zero bank). * Added support for real-time switching the emulator * Added support for CC-120 - "All sound off" on the MIDI channel * Changed logic of CC-74 Brightness to affect sound only between 0 and 64 like real XG synthesizers. Ability to turn on a full-ranged brightness (to use full 0...127 range) is kept. * Added support for different output sample formats (PCM8, PCM8U, PCM16, PCM16U, PCM32, PCM32U, Float32, and Float64) (Thanks to Jean Pierre Cimalando for a work!) * Reworked MIDI channels management to avoid any memory reallocations while music processing for a hard real time. (Thanks to Jean Pierre Cimalando for a work!)

OPNMIDI 1.3.0 2018-06-19 * Optimizing the MIDI banks management system for MultiBanks (Thanks to Jean Pierre Cimalando for a work!) * Fixed incorrect initial MIDI tempo when MIDI file doesn't includes the tempo event * Fixed an incorrect processing of auto-flags * MAME YM2612 now results a more accurate sound as internal using of native sample rate makes more correct sound generation * Channel and Note Aftertouch features are now supported correctly! Aftertouch is the tremolo / vibrato, NOT A VOLUME! * Added optional HQ resampler for Nuked OPL3 emulators which does usage of Zita-Resampler library (Thanks to Jean Pierre Cimalando for a work!)

OPNMIDI 1.2.0 2018-04-24 * Added ability to disable MUS and XMI converters * Added ability to disable embedded MIDI sequencer to use library as RealTime synthesizer only or use any custom MIDI sequencer plugins. * Fixed blank instruments fallback in multi-bank support. When using non-zero bank, if instrument is blank, then, instrument will be taken from a root (I.e. zero bank). * Added support for real-time switching the emulator * Added support for MAME YM2612 Emulator * Added support for CC-120 - "All sound off" on the MIDI channel * Changed logic of CC-74 Brightness to affect sound only between 0 and 64 like real XG synthesizers. Ability to turn on a full-ranged brightness (to use full 0...127 range) is kept. * Added support for different output sample formats (PCM8, PCM8U, PCM16, PCM16U, PCM32, PCM32U, Float32, and Float64) (Thanks to Jean Pierre Cimalando for a work!) * Reworked MIDI channels management to avoid any memory reallocations while music processing for a hard real time. (Thanks to Jean Pierre Cimalando for a work!)

22-Jun-2018 (Friday) at 07:40:28 CDT by alexey.lysiuk
Commit 9b4e8efcb
Parents: eddb179e3

  • fixed potential access to freed memory on map loading

MapData could destruct FResourceLump objects before accessing them Loading of map .wad from .pk3 file is example of this case

https://forum.zdoom.org/viewtopic.php?t=60972

21-Jun-2018 (Thursday) at 17:51:58 CDT by Magnus Norddahl
Commit ebf0cef28
Parents: 83f50f580

  • convert colormap shader to postprocess steps

21-Jun-2018 (Thursday) at 17:29:50 CDT by Magnus Norddahl
Commit 83f50f580
Parents: fd2037bd6

  • port bloom, blur and camera exposure to postprocess steps and remove the old implementation

21-Jun-2018 (Thursday) at 14:36:12 CDT by Christoph Oelckers
Commit 948618084
Parents: 196716563

  • simplify the interface.

21-Jun-2018 (Thursday) at 13:54:34 CDT by Christoph Oelckers
Commit 196716563
Parents: b106f7274

  • move view and projection matrices to DrawInfo.

20-Jun-2018 (Wednesday) at 15:18:31 CDT by Christoph Oelckers
Commit b106f7274
Parents: eb277cc10

  • don't route calls to FMaterial::FlushAll through the framebuffer interface.

20-Jun-2018 (Wednesday) at 13:09:37 CDT by Magnus Norddahl
Commit fd2037bd6
Parents: 151ed2296

  • removed the rest of the old lens and fxaa code

20-Jun-2018 (Wednesday) at 12:56:30 CDT by Magnus Norddahl
Commit 151ed2296
Parents: e3997d5f1

  • write OpenGL backend for hw_postprocess (FGLRenderBuffers::RenderEffect)
  • remove old fxaa and lens shader classes
  • render the fxaa and lens effects

20-Jun-2018 (Wednesday) at 06:49:06 CDT by Christoph Oelckers
Commit eb277cc10
Parents: 7f5272c23

  • calculate the normal view matrix at a higher level.

20-Jun-2018 (Wednesday) at 06:14:50 CDT by Christoph Oelckers
Commit 7f5272c23
Parents: f229b0567

Deleted GLSceneDrawer

Since it didn't contain any data anymore it was relatively pointless. Code has been moved to FDrawInfo and GLRenderer, depending on its scope.

20-Jun-2018 (Wednesday) at 05:57:41 CDT by Christoph Oelckers
Commit f229b0567
Parents: 469c9241e

  • Took more functions out of GLSceneDrawer

20-Jun-2018 (Wednesday) at 05:29:52 CDT by Christoph Oelckers
Commit 469c9241e
Parents: 64ce4d507

Moved WriteSavePic implementation to FGLRenderer

20-Jun-2018 (Wednesday) at 04:46:25 CDT by Christoph Oelckers
Commit 64ce4d507
Parents: f7d8f3211

  • The Teardown virtuals aren't implemented anywhere so they can go away

20-Jun-2018 (Wednesday) at 04:43:10 CDT by Christoph Oelckers
Commit f7d8f3211
Parents: 3a80160ca

  • removed some unused code from RenderViewpoint

20-Jun-2018 (Wednesday) at 04:38:45 CDT by Christoph Oelckers
Commit 3a80160ca
Parents: b244fa2c8

More code from GLSceneDrawer to FDrawInfo

20-Jun-2018 (Wednesday) at 04:17:38 CDT by Christoph Oelckers
Commit b244fa2c8
Parents: 677eba339

Took the main render function out of GLSceneDrawer and moved them into FDrawInfo

First step of eliminating the intermediate SceneDrawer class which has become mostly redundant.

20-Jun-2018 (Wednesday) at 03:48:24 CDT by Christoph Oelckers
Commit 677eba339
Parents: 206040267

  • fix the header

Older commits