Commit Graph

14824 Commits

Author SHA1 Message Date
Christoph Oelckers 3eb4b137f3 - reduced number of references to r_viewpoint in hw_fakeflat.cpp 2018-06-19 10:30:18 +02:00
Christoph Oelckers 18f43dea1e - reduced number of references to r_viewpoint in hw_sprites.cpp 2018-06-19 10:29:09 +02:00
Christoph Oelckers cf1641d0f6 - reduce number of places in weapon code which access r_viewpoint directly. 2018-06-19 10:25:11 +02:00
Christoph Oelckers f857d14e76 -Code shortening 2018-06-19 10:22:27 +02:00
Christoph Oelckers 74d8c929cc Give the clipper a reference to the current viewpoint
This is both for efficiency and encapsulation. At last on MSVC in 64 bit, accessing global variables is very inefficient and the clipper was doing it repeatedly in its worker functions.

It is also one less place where the global viewpoint gets checked.
2018-06-19 09:37:49 +02:00
Christoph Oelckers 46d73e7b4b Pass ticFrac to the model renderer as a parameter
This also removes the rather pointless gl_RenderModel functions because with their two lines of content they can just be placed inline.
2018-06-19 09:18:27 +02:00
Christoph Oelckers 8787905fed Fixed: DBaseStatusBar::Draw did not use its ticFrac parameter when being called from scripts
Instead it directly went to the global viewpoint again which would be inconsistent.
2018-06-19 09:00:50 +02:00
Christoph Oelckers d73d89762d Don't let DEarthquake depend on r_viewpoint.
The ticFrac value should be passed as a parameter, especially since this gets called from code that sets up r_viewpoint.
2018-06-19 08:32:25 +02:00
Christoph Oelckers f2aecd47a5 Merge branch 'master' into modern 2018-06-19 08:16:48 +02:00
Christoph Oelckers c8db149c06 Merge branch 'master' into modern 2018-06-19 00:11:59 +02:00
Magnus Norddahl 01bda6348e - change swrender mapping to use two buffers/textures and glTexSubImage2D for uploads 2018-06-19 00:09:39 +02:00
alexey.lysiuk c6e4d6a333 - implemented fullscreen toggle in SDL backend
Made window resizable but its size and position are not saved yet
2018-06-18 22:53:19 +03:00
alexey.lysiuk 37a0c1d6c1 - implemented fullscreen toggle in Cocoa backend
Window size and position are not saved yet
2018-06-18 22:52:37 +03:00
Magnus Norddahl 67733ed6e6 - change swrender mapping to use two buffers/textures and glTexSubImage2D for uploads 2018-06-18 21:15:52 +02:00
drfrag666 42bb9b7e59 - Fixed zdoom.rc for MinGW. 2018-06-18 20:57:52 +02:00
drfrag666 8afd331275 - Fixed -iwad parameter working only with VS on Windows. 2018-06-18 20:57:52 +02:00
drfrag666 958b3c303a - Fixed missing manifest for MinGW. 2018-06-18 20:57:52 +02:00
drfrag666 aef4003de2 - Restored dependency on dxguid library for MinGW. 2018-06-18 20:57:52 +02:00
drfrag666 b38e67a53d - Applied Blzut3's patch to compile with MinGW. 2018-06-18 20:57:52 +02:00
drfrag666 9a4ae6eb80 - Missing include again due to the VS preprocessor. 2018-06-18 20:57:52 +02:00
drfrag666 d8a1d1b89c - Missing formatting macro definitions for MinGW. 2018-06-18 20:57:52 +02:00
drfrag666 703d2bc0cd - Fixed missing include due to non conformant preprocessor in VS. 2018-06-18 20:57:52 +02:00
drfrag666 720bb485be - Disabled position independent executable for MinGW
This broke MinGW-w64 but was ignored with tdm-gcc.
2018-06-18 20:57:52 +02:00
Christoph Oelckers 6b92b95068 - moved vertex creation for skybox sector to backend independent code. 2018-06-18 18:41:59 +02:00
Christoph Oelckers 34ee04f2ce - moved the matrix math for the sky dome into backend independent code. 2018-06-18 18:18:28 +02:00
Christoph Oelckers 211bd0b1b0 Remove unnecessary check for the ending brace. 2018-06-18 08:51:33 +02:00
Christoph Oelckers 243787d19a Fixed: End of file detection in MAPINFO parser was not correct
It should check for the special "End" flag instead of trusting that if the last token was a closing brace, all was correct. This can fail if the last token in a multiline string is a brace.
2018-06-18 08:26:14 +02:00
Christoph Oelckers bac435333b Merge remote-tracking branch 'remotes/origin/master' into modern 2018-06-18 00:24:49 +02:00
Erick Tenorio c91d4750f3 Save item statistics
Items are now saved into save games and are displayed on the statfile
2018-06-18 00:24:23 +02:00
Christoph Oelckers af0e11f377 - implemented fullscreen toggle for Windows and fixed the window position saver so that it can save and restore the window size as well.
This code was written when the window wasn't resizable and didn't actually manage to restore it before. With today's changes this design flaw caused totally incorrect results.
2018-06-17 23:33:22 +02:00
Christoph Oelckers babe55819e - fullscreen toggle and some cleanup. Not fully working yet. 2018-06-17 22:11:35 +02:00
alexey.lysiuk 89ce74443b - adapted SDL backend to new video mode handling 2018-06-17 22:41:05 +03:00
alexey.lysiuk 42587761c7 - adapted Cocoa backend to new video mode handling 2018-06-17 22:35:50 +03: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 322488d1d1 - fixed: Horizon portals must be drawn in the context of their containing drawinfo.
This data, however, was not passed along to the portal processor and resulted in null pointers when trying to access it.
2018-06-17 18:33:59 +02:00
alexey.lysiuk 33753955ac - initialized view width and height explicitly
It was just a black screen and no menu on startup otherwise
2018-06-17 18:16:04 +02:00
Magnus Norddahl bce49ad7c8 - fix Software models don't display over nonexistent sprites 2018-06-17 14:56:34 +02:00
alexey.lysiuk 5cf3dbfd5b - fixed compilation of SDL backend
src/posix/sdl/sdlglvideo.cpp:200:4: error: use of undeclared identifier 'I_ClosestResolution'
2018-06-17 14:51:04 +03:00
alexey.lysiuk 832de42c24 - prevented crashes caused by inconsistent status bar
Incorrectly initialized or deliberately broken status bar could lead to integer division by zero and null pointer dereference

class BuggyStatusBar : DoomStatusBar
{
    override void Init()
    {
        // No super.Init()
    }
}
2018-06-17 14:39:42 +03:00
alexey.lysiuk f2918b748f - deleted leftover declaration in Cocoa backend 2018-06-17 14:39:05 +03:00
Christoph Oelckers dc2a5b0cc9 - consolidated the 3 identical versions of I_CheckResolution and I_ClosestResolution. 2018-06-17 12:30:01 +02:00
Christoph Oelckers e9e1911fa5 - made the scene scale and offset calculations inline functions of DFrameBuffer.
These got repeated quite often.
2018-06-17 12:23:29 +02:00
Christoph Oelckers 1fdf6a20d1 - fixed incomplete null pointer check. 2018-06-17 10:53:55 +02:00
Christoph Oelckers acdb7e391f - fixed bad pointer use in stereo3d code. 2018-06-17 10:53:33 +02:00
Christoph Oelckers 684dd8f716 - moved the palette tester to its own file. 2018-06-17 09:55:30 +02:00
Christoph Oelckers 6adff55b5d - fixed typo in screen blend rendering. 2018-06-17 07:57:29 +02:00
Magnus Norddahl b4351e538f - fix weapon missing when bloom was off (scene was already copied to post processing, but nothing had bound the PP frame buffer) 2018-06-17 01:45:20 +02:00
Christoph Oelckers 523104b2a8 - simplify some code. 2018-06-16 23:35:12 +02:00
Christoph Oelckers 4937848123 - refactoring of fixed colormap stuff to have it better organized and to reduce the number of uniforms in the main shader.
This removes 3 uniforms, consisting of 9 floats. Those were merged into other values that never get used at the same time.
It also moves the costly setup of the fixed colormap out of the render state into the 2D processing code.
Since 3D forces use of render buffers now, it is no longer necessary to draw the entire scene with the colormap active, meaning it can be handled more efficiently.
2018-06-16 22:40:44 +02:00
Christoph Oelckers 9ff7e5a4ef - force render buffers to be active.
For modern hardware the fallback path really makes no sense and this allows to simplify some things quite a bit.
2018-06-16 09:37:01 +02:00