Commit graph

51 commits

Author SHA1 Message Date
pogokeen
2e75437262 If GL_ARB_clip_control & GL_ARB_depth_clamp are available, reflect that in glinfo
git-svn-id: https://svn.eduke32.com/eduke32@7753 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:18:33 +02:00
pogokeen
8cbdf3a0c4 Use stencil buffer in Polymost to restrict mirrors to only render within the region of the screen occupied by the mirror wall.
Additionally, raise minimum number of stencil buffer bits to accomodate future use of the stencil buffer.

git-svn-id: https://svn.eduke32.com/eduke32@7736 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/include/build.h
#	source/build/src/polymer.cpp
#	source/build/src/polymost.cpp
#	source/kenbuild/src/game.cpp
2019-09-20 14:04:29 +02:00
pogokeen
cdd83905ca Fix TROR & skyboxes to work with mirrors in Software & Polymost
git-svn-id: https://svn.eduke32.com/eduke32@7733 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 13:59:17 +02:00
Christoph Oelckers
8074d8251e - can be compiled again but crashes. 2019-09-19 23:02:57 +02:00
Christoph Oelckers
53335f20ec - Blood merge
# Conflicts:
#	source/build/include/polymost.h
#	source/build/src/build.cpp
#	source/build/src/engine.cpp
#	source/build/src/polymost.cpp
#	source/build/src/voxmodel.cpp
2019-09-19 22:06:49 +02:00
Christoph Oelckers
e0f823a492 - refactored texture setup to use an intermediate layer. 2019-09-18 22:16:15 +02:00
Christoph Oelckers
aecdd9b4c5 - this is the state I want to build. 2019-09-13 21:43:05 +02:00
hendricks266
7414f29348 Add buildvfs, abstraction layer for file I/O.
Currently it passes calls through to the system libraries as before.

Also adds an incomplete implementation on PhysFS.

git-svn-id: https://svn.eduke32.com/eduke32@7359 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-01 08:51:50 +00:00
terminx
a85b9e8259 Change scope of sdlayer lastSwapTime variable
git-svn-id: https://svn.eduke32.com/eduke32@7338 1a8010ca-5511-0410-912e-c29ae57300e0
2019-02-20 21:32:44 +00:00
terminx
0a3b840d4e Add error message for SDL_SetGammaRamp() failures in videoSetGamma()
git-svn-id: https://svn.eduke32.com/eduke32@7316 1a8010ca-5511-0410-912e-c29ae57300e0
2019-01-22 22:51:08 +00:00
terminx
3b7f41e2bb sdlayer: pass SDL_WINDOW_FULLSCREEN_DESKTOP to SDL_SetWindowFullscreen() when setting a windowed mode that matches the desktop resolution
git-svn-id: https://svn.eduke32.com/eduke32@7204 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:11:38 +00:00
terminx
e513e1ceae Cleanup includes
git-svn-id: https://svn.eduke32.com/eduke32@7186 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:09:48 +00:00
terminx
5164ab4a25 More control/input cleanup
git-svn-id: https://svn.eduke32.com/eduke32@7181 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:08:53 +00:00
terminx
6d4b0f7731 The most minor of minor changes
git-svn-id: https://svn.eduke32.com/eduke32@7164 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:07:10 +00:00
terminx
5c1e350d79 sdlayer: don't add windowed modes that are larger than the monitor's actual resolution
git-svn-id: https://svn.eduke32.com/eduke32@7115 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:32:00 +00:00
terminx
75e141ec81 Fix potential buffer overruns in sdlayer
git-svn-id: https://svn.eduke32.com/eduke32@7080 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:29:04 +00:00
terminx
1f8b23152e Replace remaining instances of regular malloc/calloc/realloc/strdup with our memory error handler versions
git-svn-id: https://svn.eduke32.com/eduke32@7079 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:28:56 +00:00
terminx
3689f9c70c Useless yet innocuous sdlayer fixes
git-svn-id: https://svn.eduke32.com/eduke32@7045 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:23:44 +00:00
terminx
d4c9cc28d5 Minor fixups needed to build as a native VS project
git-svn-id: https://svn.eduke32.com/eduke32@6982 1a8010ca-5511-0410-912e-c29ae57300e0
2018-09-28 04:27:42 +00:00
pogokeen
1df7127609 Support software renderer upscaling engine-side in sdlayer and sdlayer12 with various scaling factors (beyond just pixel doubling).
When glsurface is available, use GL to upscale the render buffer.
Additionally, fix build issues with sdlayer12 introduced by GLAD changes (r6656).

git-svn-id: https://svn.eduke32.com/eduke32@6939 1a8010ca-5511-0410-912e-c29ae57300e0
2018-07-14 21:36:44 +00:00
pogokeen
1b932fddaf sdlayer.cpp: Don't destroy window resouces if switching between software rendering on glsurface and Polymost/Polymer
git-svn-id: https://svn.eduke32.com/eduke32@6938 1a8010ca-5511-0410-912e-c29ae57300e0
2018-07-14 21:36:34 +00:00
pogokeen
29c2863750 sdlayer.cpp: fix software renderer crash affecting Mapster32 due to improper handling of lockcount in videoBeginDrawing()/videoEndDrawing() when using glsurface
git-svn-id: https://svn.eduke32.com/eduke32@6933 1a8010ca-5511-0410-912e-c29ae57300e0
2018-06-28 02:00:42 +00:00
pogokeen
9e90b0633b glsurface.h/.cpp: change how the palette is handled and fix tinting/fading
git-svn-id: https://svn.eduke32.com/eduke32@6932 1a8010ca-5511-0410-912e-c29ae57300e0
2018-06-25 14:53:46 +00:00
pogokeen
d5b669ebe5 Don't allow GL modes if GL Major Version is less than 2.
Additionally, fix build issues for RENDERTYPE=WIN introduced in r6827.

git-svn-id: https://svn.eduke32.com/eduke32@6921 1a8010ca-5511-0410-912e-c29ae57300e0
2018-06-13 19:15:22 +00:00
pogokeen
7fd844a795 sdlayer.cpp: don't alter desktop composition using win_setvideomode() if we're creating an SDL window for rendering GL
git-svn-id: https://svn.eduke32.com/eduke32@6920 1a8010ca-5511-0410-912e-c29ae57300e0
2018-06-13 19:15:19 +00:00
pogokeen
9d243606d0 When OpenGL is available, prefer using the new glsurface to blit the classic renderer's 8-bit buffer to the screen.
git-svn-id: https://svn.eduke32.com/eduke32@6919 1a8010ca-5511-0410-912e-c29ae57300e0
2018-06-13 19:15:16 +00:00
terminx
df50dcd897 Change mouseGrabInput()'s parameter to a bool
git-svn-id: https://svn.eduke32.com/eduke32@6851 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-23 06:35:52 +00:00
terminx
1cb6ab9db1 Prevent divide by 0 when SDL_GetCurrentDisplayMode()/SDL_GetClosestDisplayMode() say the refresh rate is 0
git-svn-id: https://svn.eduke32.com/eduke32@6833 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-12 21:04:07 +00:00
terminx
1fd209444f Continuing the quest for clearer function names
git-svn-id: https://svn.eduke32.com/eduke32@6829 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-12 21:03:12 +00:00
terminx
0340e3cc0f Engine function name cleanup round 2
git-svn-id: https://svn.eduke32.com/eduke32@6828 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-12 21:02:51 +00:00
terminx
ee63d2c070 Beginnings of baselayer.cpp/.h refactor. This is 99.9% renames.
git-svn-id: https://svn.eduke32.com/eduke32@6827 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-12 21:02:31 +00:00
terminx
7fc541f0d5 #if guard unncessary mouse position check with SDL2
git-svn-id: https://svn.eduke32.com/eduke32@6797 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-02 22:00:38 +00:00
hendricks266
322f1b46dd Disable the switching of keyboard layout on window focus gain and loss.
git-svn-id: https://svn.eduke32.com/eduke32@6708 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-26 20:27:58 +00:00
hendricks266
e26760b6af Use the user's desktop resolution, fullscreen, as the default, instead of 1024x768 windowed.
git-svn-id: https://svn.eduke32.com/eduke32@6704 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-26 14:46:52 +00:00
hendricks266
6f7313a46a Fix whitespace issues
git-svn-id: https://svn.eduke32.com/eduke32@6700 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-26 14:46:36 +00:00
pogokeen
9f48927ea8 sdlayer.cpp: fix vsync heartbeat issue on some NVidia & Intel drivers
git-svn-id: https://svn.eduke32.com/eduke32@6689 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-22 23:25:56 +00:00
pogokeen
e5c6cc2238 sdlayer.cpp: remove unnecessary call to SDL_WarpMouseInWindow() on SDL2 that was causing issues with mouse movement when vsync was enabled on some hardware
git-svn-id: https://svn.eduke32.com/eduke32@6683 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-22 03:38:54 +00:00
pogokeen
1f133cd049 Polymost: streaming VBO optimizations for polymost_drawpoly()
git-svn-id: https://svn.eduke32.com/eduke32@6662 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-16 06:38:48 +00:00
pogokeen
3ca5f33c73 Moved to GLAD for dynamic GL/WGL and extension loading.
Refactored extension usage that became core in GL2, and adjusted some types for GL2 compatibility.

git-svn-id: https://svn.eduke32.com/eduke32@6656 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-16 06:38:21 +00:00
hendricks266
4978a8f167 Fix some preprocessor logic errors regrading GL ES on ARM devices with desktop operating systems.
git-svn-id: https://svn.eduke32.com/eduke32@6603 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-28 04:30:46 +00:00
terminx
ca308d5879 Happened to be reading a SDL doc and noticed we were creating our surface with the wrong flags
git-svn-id: https://svn.eduke32.com/eduke32@6567 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-17 09:27:32 +00:00
terminx
3ab1c2c722 Fix problem where sometimes fullscreen GL modes display incorrectly. I'm not sure why this fixes it and I believe it to be a SDL bug.
git-svn-id: https://svn.eduke32.com/eduke32@6544 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-09 02:56:17 +00:00
terminx
f97aee59c8 Address issue where timers will no longer update after several hours of runtime
git-svn-id: https://svn.eduke32.com/eduke32@6543 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-09 02:56:12 +00:00
terminx
f203ca78a2 Amend r6439
git-svn-id: https://svn.eduke32.com/eduke32@6444 1a8010ca-5511-0410-912e-c29ae57300e0
2017-09-21 04:32:14 +00:00
terminx
ac3faa5fd4 Force enabling NVIDIA threaded optimizations. Probably only works on Linux, but the extra putenv() call doesn't hurt anyone anywhere else.
git-svn-id: https://svn.eduke32.com/eduke32@6439 1a8010ca-5511-0410-912e-c29ae57300e0
2017-09-19 19:10:27 +00:00
terminx
5cde84e58a Ignore video modes with resolutions less than 640x480 or with aspect ratios taller than around 4:3 when populating the mode lists used in the startup window and menus. Sorry to the two guys still using nasty 5:4 1280x1024 monitors in 2017; you'll have to set your resolution using the console now.
git-svn-id: https://svn.eduke32.com/eduke32@6435 1a8010ca-5511-0410-912e-c29ae57300e0
2017-08-27 10:20:41 +00:00
hendricks266
77875948ba Eliminate more cases of duplication of compat.h's functionality.
git-svn-id: https://svn.eduke32.com/eduke32@6075 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-25 08:15:45 +00:00
hendricks266
aa04307ad1 Route all inclusion of libc headers and most of POSIX headers through compat.h.
git-svn-id: https://svn.eduke32.com/eduke32@6074 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-25 08:15:36 +00:00
hendricks266
d4ee6d00c8 Route inclusion of all Windows headers through a new header, windows_inc.h.
This allows us to make certain guarantees about limits on the extent of namespace pollution these headers introduce.

git-svn-id: https://svn.eduke32.com/eduke32@6065 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-19 22:15:44 +00:00
hendricks266
417b047cf3 Bring the previous commit into effect.
git-svn-id: https://svn.eduke32.com/eduke32@6056 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-01 10:20:54 +00:00