Commit graph

68 commits

Author SHA1 Message Date
Christoph Oelckers
3b53f31da3 - default to fullscreen display. 2018-07-28 10:05:50 +02:00
Christoph Oelckers
1519514dd7 - split Win32GLVideo in two so that the OpenGL independent part can be used for Vulkan as well. 2018-06-24 20:47:00 +02:00
Christoph Oelckers
babe55819e - fullscreen toggle and some cleanup. Not fully working yet. 2018-06-17 22:11:35 +02:00
Christoph Oelckers
b65b83edb3 - removed the hard screen resolution switch that still was present on Windows and cleaned up the entire video backend code from the remaining support code for this.
Like Linux and macOS this will only support borderless fullscreen in the active desktop resolution now, which is what modern systems need.
The list of discrete resolutions has been removed as it makes no sense anymore with a fixed video mode - all the other scaling options remain active, though.
2018-06-17 20:08:35 +02:00
Christoph Oelckers
dc2a5b0cc9 - consolidated the 3 identical versions of I_CheckResolution and I_ClosestResolution. 2018-06-17 12:30:01 +02:00
alexey.lysiuk
2ae8d39441 Removed all superfluous #include's
Automatically optimized by CLion IDE with manual corrections
2018-04-24 14:30:35 +03:00
Christoph Oelckers
df4f435952 - merged vid_renderer, swtruecolor and r_polyrender into one CVAR to reduce menu clutter.
- with renderers freely switchable, some shortcuts in the 3D floor code had to be removed, because now the hardware renderer can get FF_THISINSIDE-flagged 3D floors.
- changed handling of attenuated lights in the legacy renderer to be adjusted when being rendered instead of when being spawned. For the software renderer the light needs to retain its original values.
2018-04-07 23:30:28 +02:00
Christoph Oelckers
5fbc723842 - live switching of the renderer works. 2018-04-07 12:59:04 +02:00
Christoph Oelckers
d474b849a5 - removed the remaining calls from the FRenderer interface from the main game code.
This does not work with a setup where the same backend is driving both renderers.
Most of this is now routed through 'screen', and the decision between renderers has to be made inside the actual render functions.
The software renderer is still driven by a thin opaque interface to keep it mostly an isolated module.
2018-04-04 00:21:25 +02:00
Christoph Oelckers
9ba32cb994 - with the new order of things we need the software renderer to be always available. 2018-04-03 20:14:26 +02:00
Christoph Oelckers
51bf2eb9fa - took GetMaxViewPitch out of renderer interfaces.
With live switching and both renderers on the same backend the old approach will no longer work.
2018-04-03 19:18:16 +02:00
Christoph Oelckers
6cd26dec01 - remove some dead code. 2018-03-31 00:25:15 +02:00
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
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
f2f649bf77 - put all stats related code into one file. 2018-03-12 19:33:48 +01:00
Christoph Oelckers
d2fa4d0ff9 - most stat stuff done. 2018-03-12 19:33:48 +01:00
Rachael Alexanderson
c15e868b0f - implemented anonymous stats collector 2018-03-12 19:33:48 +01:00
Rachael Alexanderson
938cd3cabe - implemented win_borderless for fake fullscreen in Windows 2017-12-07 06:32:51 -05:00
Magnus Norddahl
1a4cf16168 - Fix swtruecolor cvar messing up the chosen video mode 2017-07-23 20:54:03 +02:00
Magnus Norddahl
c3702ae9e7 Add vid_scalemode support to GL framebuffer 2017-07-23 00:33:56 +02:00
Magnus Norddahl
c8e713b067 - Remember maximized window state 2017-07-09 15:12:31 +02:00
Rachael Alexanderson
4545bb2fa1 - rename vid_used3d on windows to vid_glswfb to match Linux. Additionally, the values were reversed to match the Linux variant of this configuration. This CVar now operates exactly the same way it does on Linux, except it defaults to being off and still allows the D3D framebuffer on Windows when it's deactivated. 2017-05-27 04:52:43 -04:00
Rachael Alexanderson
aae9b33198 - fixed: Swapping swtruecolor no longer crashes in OpenGL mode after selecting Software in the menu 2017-04-30 07:39:00 -04:00
Christoph Oelckers
dc5a5419fc - took DCanvas and all its subtypes out of the DObject tree.
I have no idea why they were even in there, as they intentionally circumvented all GC related features - they declared themselves fixed if prone to getting collected, they all used OF_YesReallyDelete when destroying themselves and they never used any of the object creation or RTTI features, aside from a single assert in V_Init2.

Essentially they were a drag on the system and OF_YesReallyDelete was effectively added just to deal with the canvases which were DObjects but not supposed to behave like them in the first place.
2017-04-14 10:48:18 +02:00
Christoph Oelckers
fec958cc0a - finally managed to get rid of the DWORD type.
This one was particularly nasty because Windows also defines a DWORD, but in Windows it is an unsigned long, not an unsigned int so changing types caused type conflicts and not all could be removed.
Those referring to the Windows type have to be kept, fortunately they are mostly in the Win32 directory, with a handful of exceptions elsewhere.
2017-03-10 19:46:22 +01:00
Rachael Alexanderson
536e8fad19 - Make QZDoom GZDoom again! 2017-03-09 11:51:42 -05:00
Rachael Alexanderson
4ebd25171c - Implemented a simple graphics switch. This currently affects NVidia Optimus-enabled notebooks only. 2017-03-01 09:58:56 -05:00
Magnus Norddahl
2659090e1c Move renders into folders 2016-12-27 06:31:55 +01:00
Rachael Alexanderson
383a59259a Revert "Merge commit 'refs/pull/122/head' of https://github.com/coelckers/gzdoom"
This reverts commit 71b4f57058, reversing
changes made to 449d4963ae.
2016-11-25 21:02:18 -05:00
Rachael Alexanderson
71b4f57058 Merge commit 'refs/pull/122/head' of https://github.com/coelckers/gzdoom
# Conflicts:
#	src/posix/cocoa/i_video.mm
#	src/posix/sdl/hardware.cpp
#	src/win32/hardware.cpp
2016-11-16 01:03:32 -05:00
Rachael Alexanderson
813030efef - Fully implemented CVAR_OVERRIDEGET for vid_renderer from the ZDoom code submission. 2016-11-15 20:03:50 -05:00
Rachael Alexanderson
11a98bec7e - fixed: Compiler error in hardware.cpp (vid_forceddraw) 2016-10-21 18:18:48 -04:00
Rachael Alexanderson
16fded31e1 - Show current renderer on startup. This is for diagnostic purposes when we ask people for their startup logs so we know what key settings are being used when there is a problem. 2016-10-21 17:53:21 -04:00
Magnus Norddahl
c9a9e93c66 Fix warning C4805: '!=': unsafe mix of type 'bool' and type 'int' in operation 2016-10-17 11:54:03 +02:00
raa-eruanna
931d241056 - Change "vid_used3d" to true by default, in Windows. 2016-10-17 01:13:58 -04:00
raa-eruanna
5e458866bc - Added CVAR handling for vid_used3d - allows to switch software mode canvas between OpenGL and Direct3D upon restart. 2016-10-11 17:10:54 -04:00
Magnus Norddahl
f5c069c759 Merge remote-tracking branch 'origin/gl_swframebuffer' into qzdoom 2016-10-11 14:54:18 +02:00
Magnus Norddahl
7911302ad8 Hook in gamma shader 2016-10-11 13:09:32 +02:00
Magnus Norddahl
01dc9de8d1 Misc bug fixes and performance improvements 2016-10-11 10:27:18 +02:00
Magnus Norddahl
f4308b3184 Add glsl shader version of the d3d9 shaders and get enough of it working for it to boot without errors 2016-10-10 21:03:55 +02:00
raa-eruanna
b0029fcd1e Set version to 0.0 (prerelease), set render defaults for true-color software renderer since that is the focus of this project 2016-09-14 06:38:08 -04:00
raa-eruanna
dede94b7e2 Merge branch 'master' of https://github.com/coelckers/gzdoom
# Conflicts:
#	src/posix/cocoa/i_video.mm
#	src/win32/hardware.cpp
#	wadsrc/static/menudef.txt
2016-09-08 03:26:11 -04:00
Magnus Norddahl
aeb7df09de Added hardware gamma option and improved window handling on Windows 2016-07-27 11:15:19 +02:00
Magnus Norddahl
b9d7a98aec Change swtruecolor cvar to take effect immediately 2016-06-01 06:02:37 +02:00
Magnus Norddahl
05220a7133 Added IsBgra() to DCanvas
Changed SWRender output format to be decided by IsBgra()
2016-05-31 09:36:18 +02:00
Christoph Oelckers
0bcbacea53 Merge branch 'master' of https://github.com/rheit/zdoom
# Conflicts:
#	src/posix/sdl/hardware.cpp
2016-03-04 01:21:59 +01:00
Michael Labbe
a4705c8404 vid_listmodes crash fix 2016-03-03 17:31:12 -06:00
Michael Labbe
97821a3036 21:9 aspect ratio support
- vid_aspect 6 forces 21:9
2016-03-03 17:31:12 -06:00
Christoph Oelckers
a96d6ab072 Merge remote-tracking branch 'remotes/zdoom/master'
# Conflicts:
#	src/g_level.cpp
#	src/p_3dfloors.cpp
#	src/p_lnspec.cpp
#	src/p_saveg.cpp
#	src/p_spec.cpp
#	src/r_bsp.cpp
#	src/r_data/r_interpolate.cpp
#	src/r_data/r_translate.cpp
#	src/r_data/sprites.cpp
#	src/r_defs.h
#	src/r_sky.h
#	src/stats.h
#	src/textures/texturemanager.cpp
#	src/textures/textures.h
#	src/version.h
#	src/win32/fb_d3d9.cpp
#	src/win32/hardware.cpp
#	src/win32/i_system.cpp
#	wadsrc/static/actors/doom/doomarmor.txt
#	wadsrc/static/compatibility.txt
#	wadsrc/static/language.enu
#	wadsrc/static/mapinfo/common.txt
#	wadsrc/static/menudef.txt
#	wadsrc/static/xlat/eternity.txt
2016-03-01 18:50:45 +01:00
Randy Heit
55142078d8 Normalize line endings 2016-03-01 09:47:10 -06:00