terminx
aa8ce8d42a
Fix USE_OPENGL=0 builds
...
git-svn-id: https://svn.eduke32.com/eduke32@8082 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 23:17:57 +02:00
terminx
7849693aef
Bump BMAXPAGESIZE to 16384
...
x86 stuff will only ever return 4096, but 64-bit ARM supports 16K.
git-svn-id: https://svn.eduke32.com/eduke32@8077 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 23:17:21 +02:00
terminx
c17db80734
Fix npot sky rendering in Polymost
...
Patch from Nuke.YKT.
git-svn-id: https://svn.eduke32.com/eduke32@8076 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/polymost.cpp
2019-09-20 23:16:01 +02:00
Christoph Oelckers
d0a49c3278
- moved 4 more.
2019-09-20 23:12:07 +02:00
Christoph Oelckers
b34c48962a
- removed some unused files.
2019-09-20 22:55:44 +02:00
Christoph Oelckers
3b8b2b1fe0
- it compiles again.
2019-09-20 22:44:42 +02:00
Christoph Oelckers
be29d3a2df
- removed the remains of the polymer renderer.
...
This cannot be reused in its current form, maybe it can help later.
2019-09-20 22:37:24 +02:00
Christoph Oelckers
1b20e5d4da
- 3 more files moved out of 'build' folder.
...
# Conflicts:
# platform/Windows/build.vcxproj
2019-09-20 22:34:34 +02:00
Christoph Oelckers
0c6af775ad
- got rid of editor.h.
...
# Conflicts:
# source/build/include/editor.h
# source/build/src/2d.cpp
# source/build/src/softwarerenderer/engine_swr.cpp
2019-09-20 22:24:53 +02:00
Christoph Oelckers
46b4b6ffd4
- removed all editor related code from 2D.cpp.
...
# Conflicts:
# source/build/include/build.h
# source/build/src/2d.cpp
# source/build/src/softwarerenderer/engine_swr.cpp
2019-09-20 22:24:03 +02:00
Christoph Oelckers
a3b6485b5e
- removed some more inline assembly.
2019-09-20 22:21:43 +02:00
Christoph Oelckers
ce260526cb
- moved fix16 to thirdparty as well and removed the now unused assembly files.
...
# Conflicts:
# platform/Windows/build.vcxproj
2019-09-20 22:21:31 +02:00
Christoph Oelckers
f3d01e8244
- moved compression utilities to a 'thirdparty' folder to get them out of the way.
...
# Conflicts:
# platform/Windows/build.vcxproj
# platform/Windows/props/build_common.props
2019-09-20 22:20:53 +02:00
Christoph Oelckers
ba73268470
- removed GLES support and most related files.
...
My future plans do not include mobile support due tp poor support of modern APIs so this is essentially just baggage.
# Conflicts:
# source/build/src/2d.cpp
# source/build/src/dxtfilter.cpp
# source/build/src/mdsprite.cpp
# source/build/src/polymost.cpp
# source/build/src/sdlayer.cpp
# source/build/src/texcache.cpp
2019-09-20 22:16:21 +02:00
Christoph Oelckers
19bcfecc67
- get rid of the non-inlined assembly as well.
2019-09-20 22:11:01 +02:00
Christoph Oelckers
b389c99bf5
- removed some SDL 1 parts.
2019-09-20 22:09:56 +02:00
Christoph Oelckers
5503ee98a0
- fixed bad merge
2019-09-20 22:06:15 +02:00
terminx
c8d42af954
Flat parallax skies in Polymost
...
Patch from Nuke.YKT.
git-svn-id: https://svn.eduke32.com/eduke32@8074 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/polymost.cpp
# source/build/src/voxmodel.cpp
2019-09-20 21:15:14 +02:00
terminx
4b6123f303
Change a couple of memcpys to just clear the whole size of the array instead of computing the size at runtime
...
git-svn-id: https://svn.eduke32.com/eduke32@8073 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 21:10:43 +02:00
terminx
c835219de0
Align cache1d memory blocks to system page size
...
git-svn-id: https://svn.eduke32.com/eduke32@8072 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 21:10:43 +02:00
terminx
4d20afa9ed
Use integer math for Polymost rotatesprite
...
Patch from Nuke.YKT.
git-svn-id: https://svn.eduke32.com/eduke32@8069 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 21:10:41 +02:00
terminx
de170848af
Move r_borderless and r_displayindex definitions out of polymost.cpp and into baselayer
...
git-svn-id: https://svn.eduke32.com/eduke32@8065 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/polymost.cpp
2019-09-20 21:10:39 +02:00
terminx
d0223fd744
Support fullscreening to the correct display in multiple monitor configurations
...
git-svn-id: https://svn.eduke32.com/eduke32@8063 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/include/baselayer.h
# source/build/src/polymost.cpp
2019-09-20 21:10:22 +02:00
terminx
f0ea646560
Fix SDL borderless windowed mode for real this time
...
Introduces r_borderless cvar. 0: never borderless, 1: always borderless, 2: borderless if resolution matches desktop resolution (default).
git-svn-id: https://svn.eduke32.com/eduke32@8060 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/include/baselayer.h
# source/build/src/baselayer.cpp
# source/build/src/polymost.cpp
2019-09-20 21:09:56 +02:00
pogokeen
222e593437
Change some clocks to support sub-tick precision using a new class, ClockTicks.
...
Using that higher precision, interpolate at a higher granularity.
Further, truncate the target interpolation time to vertical blank boundaries to avoid producing temporal artifacts.
Fix issues caused by interpolation calculations being handled differently in multiple places (and fix cases where smoothratios were being thrown away only to be redone without checking all proper conditions).
Ensure ClockTicks changes do not break other targets (EKenBuild, VoidSW), but note any interpolation there is not similarly updated.
git-svn-id: https://svn.eduke32.com/eduke32@8050 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/build.cpp
# source/build/src/sdlayer.cpp
2019-09-20 21:09:14 +02:00
terminx
ec7fce9ff2
Ultra minor clipping stuff
...
git-svn-id: https://svn.eduke32.com/eduke32@8048 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 20:19:11 +02:00
terminx
8a01335c26
Don't consider CLIPCURBHEIGHT for ceiling clipping
...
git-svn-id: https://svn.eduke32.com/eduke32@8047 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 20:19:10 +02:00
terminx
1f5866295c
This should be MAXSECTORS
...
git-svn-id: https://svn.eduke32.com/eduke32@8046 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 20:19:10 +02:00
terminx
6acf3a958e
Remove EDUKE32_PREDICT_ macro usage in clip.cpp so the game doesn't stall if a weird clipping malfunction occurs
...
git-svn-id: https://svn.eduke32.com/eduke32@8045 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 20:19:09 +02:00
hendricks266
3b419e9d04
Fix mouse buttons 4 and 5 on Linux with SDL2, at least for 2.0.9 and up
...
git-svn-id: https://svn.eduke32.com/eduke32@8043 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 20:19:08 +02:00
terminx
cbec65be68
Reduce stencil buffer size
...
Revert if it causes issues in anything.
git-svn-id: https://svn.eduke32.com/eduke32@8035 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 20:15:54 +02:00
terminx
78004b17de
Ignore cstat 32768 sprites in map view
...
git-svn-id: https://svn.eduke32.com/eduke32@8034 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 20:15:53 +02:00
terminx
12cb46d94e
Fix borderless windowed fullscreen mode
...
git-svn-id: https://svn.eduke32.com/eduke32@8020 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 20:14:07 +02:00
pogokeen
fd41554ad7
timer.cpp: fix order of operations issue with timerUpdate()
...
git-svn-id: https://svn.eduke32.com/eduke32@8018 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 20:12:22 +02:00
pogokeen
0855428a0c
timer.cpp: avoid using floating point arithmetic in timerUpdate()
...
git-svn-id: https://svn.eduke32.com/eduke32@8011 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 20:12:18 +02:00
Christoph Oelckers
20f5972b9b
- fixed everything to compile again.
2019-09-20 19:37:29 +02:00
pogokeen
021e1358c7
timer.cpp: improve cross-platform & cross-compiler issues relating to precision & period.
...
Handle timerlastsample such that we don't throw away time & run slow in certain cases.
Ensure when calculating n, we do the double division first before multiplying for sake of floating point precision.
git-svn-id: https://svn.eduke32.com/eduke32@8009 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:12:31 +02:00
hendricks266
108a71cadb
Update md3_vox_calcmat_common to solve a sporadic voxel flickering issue
...
Patch by Nuke.YKT.
git-svn-id: https://svn.eduke32.com/eduke32@8007 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:12:27 +02:00
terminx
7ea2e4de54
Revert "This should be enough for SDL controller hotplug support but I haven't tested it"
...
git-svn-id: https://svn.eduke32.com/eduke32@8005 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:12:23 +02:00
terminx
7ec6a6beca
This should be enough for SDL controller hotplug support but I haven't tested it
...
git-svn-id: https://svn.eduke32.com/eduke32@8003 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:12:19 +02:00
terminx
c72a69ff6f
This timing stuff actually works
...
It doesn't help when it turns out the compiler is broken and implementing std::chrono::high_resolution_clock as something that only counts in ms instead of properly aliasing it to std::chrono::steady_clock!
git-svn-id: https://svn.eduke32.com/eduke32@8002 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/sdlayer.cpp
2019-09-20 16:12:16 +02:00
hendricks266
25bdd9f6d5
Apply the BUILDART patch at long last.
...
git-svn-id: https://svn.eduke32.com/eduke32@8000 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:11:07 +02:00
hendricks266
1bbd251bff
Rescan for controllers when toggling gamepads back on
...
git-svn-id: https://svn.eduke32.com/eduke32@7985 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:10:37 +02:00
terminx
04811f21f4
Replace separate timer implementations in SDL and Winlayer with a shared implementation based on std::chrono
...
git-svn-id: https://svn.eduke32.com/eduke32@7976 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# platform/Windows/build.vcxproj
# platform/Windows/build.vcxproj.filters
# source/build/src/mdsprite.cpp
2019-09-20 16:09:24 +02:00
terminx
55e3188afb
There's no way this is correct.
...
git-svn-id: https://svn.eduke32.com/eduke32@7975 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/sdlayer.cpp
2019-09-20 16:08:12 +02:00
terminx
f76ca0a361
Fix remaining casts to vec2_t/vec3_t
...
git-svn-id: https://svn.eduke32.com/eduke32@7973 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/build.cpp
2019-09-20 16:07:36 +02:00
hendricks266
b4362aa6a9
Implement controller defaults
...
git-svn-id: https://svn.eduke32.com/eduke32@7968 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:07:14 +02:00
hendricks266
3bfed33608
Add voxels option to menu, if at least one has been defined
...
git-svn-id: https://svn.eduke32.com/eduke32@7961 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/engine.cpp
2019-09-20 16:04:57 +02:00
hendricks266
284af9f5d9
Fix RENDERTYPE=WIN build
...
git-svn-id: https://svn.eduke32.com/eduke32@7960 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:04:43 +02:00
hendricks266
01fa02e1c0
Make use of SDL2's Game Controller API.
...
Thanks to JonoF for his take on this.
git-svn-id: https://svn.eduke32.com/eduke32@7958 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:03:49 +02:00
hendricks266
56998c4840
Report 16-bit analog axis precision to the game instead of arbitrarily truncating it to ~14.3 bits.
...
git-svn-id: https://svn.eduke32.com/eduke32@7956 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:03:45 +02:00
terminx
2ef83e4a71
This can overflow
...
git-svn-id: https://svn.eduke32.com/eduke32@7949 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:03:31 +02:00
hendricks266
e7723efcf4
Fix skipping to the end of def blocks
...
git-svn-id: https://svn.eduke32.com/eduke32@7938 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:03:06 +02:00
terminx
41ff733fcd
Happier try_facespr_intersect()
...
I'm prejudiced against 30-line functions with statements nested 5 levels deep.
git-svn-id: https://svn.eduke32.com/eduke32@7933 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:02:56 +02:00
hendricks266
67b7d2408b
newgamechoices
...
git-svn-id: https://svn.eduke32.com/eduke32@7930 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/defs.cpp
2019-09-20 16:02:49 +02:00
pogokeen
284adb6ac6
Fix issue with indexed colour textures where in the case that tiles entered the texcache while !waloff[picnum] & were later (re)loaded, the earlier pth pointing to the tilesheet containing the blank tile would never be properly replaced with an updated gl texture.
...
git-svn-id: https://svn.eduke32.com/eduke32@7929 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/polymost.cpp
2019-09-20 16:01:54 +02:00
hendricks266
ea79d74953
Revert r7908 because it introduces a race on dabuf
...
git-svn-id: https://svn.eduke32.com/eduke32@7928 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:01:27 +02:00
terminx
0d431a390f
Reverse the order video modes are sorted in
...
git-svn-id: https://svn.eduke32.com/eduke32@7922 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:01:14 +02:00
terminx
32cd1ae4dd
Tweak the fatal engine initialization error and game already running dialog boxes a bit
...
git-svn-id: https://svn.eduke32.com/eduke32@7921 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/build.cpp
2019-09-20 16:01:11 +02:00
terminx
b8f668aa9b
Polymost projection changes to correct the perspective in widescreen and ultrawide resolutions.
...
Patch from Nuke.YKT and Fox.
git-svn-id: https://svn.eduke32.com/eduke32@7916 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/include/polymost.h
# source/build/src/polymost.cpp
2019-09-20 15:48:55 +02:00
terminx
40e54fdbbb
Tweak how the semaphore used to detect multiple running copies of the game is utilized
...
git-svn-id: https://svn.eduke32.com/eduke32@7912 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:46:43 +02:00
terminx
c1aff49e4c
Improve usage of initprintf mutex
...
git-svn-id: https://svn.eduke32.com/eduke32@7908 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:46:35 +02:00
terminx
064516c050
Re-implement our mutex_lock() family of functions using SDL's atomic spinlocks
...
git-svn-id: https://svn.eduke32.com/eduke32@7907 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:46:32 +02:00
terminx
9021b885d6
Eliminate pos_as_vec2 from anything that had it
...
git-svn-id: https://svn.eduke32.com/eduke32@7905 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/build.cpp
# source/build/src/polymost.cpp
2019-09-20 15:46:28 +02:00
terminx
81882aa1a3
Fix issue clipping against sloped ceilings
...
git-svn-id: https://svn.eduke32.com/eduke32@7903 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:44:21 +02:00
pogokeen
4d22a44a5d
tiles.cpp: backup & restore picsiz, walock, & waloff alongside other per tile arrays in artClearMapArt() and artSetupMapArt()
...
This fixes an issue with viewscreens as tiles that are setup game-side after a map is loaded could have their sizes reset to 0 while not being properly cleared from walock/waloff
git-svn-id: https://svn.eduke32.com/eduke32@7892 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:43:58 +02:00
pogokeen
5fad944ed1
engine.cpp: make renderSetTarget() more robust so that passing an xsiz or ysiz <= 0 is not accepted and can't cause a segmentation fault
...
git-svn-id: https://svn.eduke32.com/eduke32@7890 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:43:55 +02:00
pogokeen
a844fd4b13
polymost.cpp: Fix issue where tiles whose dimensions had grown would not have their sizes updated in GL and could fail to update their texture data
...
git-svn-id: https://svn.eduke32.com/eduke32@7888 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/polymost.cpp
2019-09-20 15:42:29 +02:00
terminx
6931d448ff
Oops
...
git-svn-id: https://svn.eduke32.com/eduke32@7884 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:34:30 +02:00
terminx
7553bb043f
Skip drawing invalid polygons in polymost_drawpoly()
...
git-svn-id: https://svn.eduke32.com/eduke32@7880 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:34:18 +02:00
terminx
95598e08f9
getwalldist() tweak
...
git-svn-id: https://svn.eduke32.com/eduke32@7878 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:34:14 +02:00
terminx
9f9a158946
Replace runtime pow2 calculations with pow2char LUT usage
...
I don't know that this is any faster, but there's something to be said for standardization and consistency. I will be making most of this stuff use bitmap_set/test/clear() soon.
git-svn-id: https://svn.eduke32.com/eduke32@7876 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/build.cpp
# source/build/src/polymost.cpp
2019-09-20 15:34:08 +02:00
terminx
2a3c80f95d
Fix issue with sounds being expired from cache
...
git-svn-id: https://svn.eduke32.com/eduke32@7874 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:33:05 +02:00
terminx
1a0c56f0f1
This adds back in the engine's old automapping feature
...
This was removed a long time ago because Duke3D and Shadow Warrior don't use it.
git-svn-id: https://svn.eduke32.com/eduke32@7873 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/polymer.cpp
# source/build/src/polymost.cpp
2019-09-20 15:32:13 +02:00
terminx
1a83ec15e4
Fix silly branching logic in engineLoadBoard()
...
git-svn-id: https://svn.eduke32.com/eduke32@7871 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:29:38 +02:00
terminx
c7e403619b
Don't blow away wall cstat bit 14 for use as a temp flag in the editor
...
Patch from Nuke.YKT.
git-svn-id: https://svn.eduke32.com/eduke32@7870 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/build.cpp
2019-09-20 15:29:35 +02:00
terminx
a949665f26
Work around an issue with far plane clipping with voxels without mipmaps in software mode
...
Patch from Nuke.YKT.
git-svn-id: https://svn.eduke32.com/eduke32@7869 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:29:20 +02:00
terminx
9335b339b0
Emulate slope overflow in Polymost in order to match the rest of the engine's slope algorithms
...
Patch from Nuke.YKT.
git-svn-id: https://svn.eduke32.com/eduke32@7868 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:29:19 +02:00
terminx
0f4ccaf970
Hopefully work around more Polymost polygon leakages
...
Patch from Nuke.YKT.
git-svn-id: https://svn.eduke32.com/eduke32@7867 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:29:17 +02:00
terminx
acc0b527a9
Cache the distrecip[] table
...
Patch from Nuke.YKT.
git-svn-id: https://svn.eduke32.com/eduke32@7866 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:29:15 +02:00
terminx
0091acc858
"Another dumb polymost optimization. Probably worth few fps in heavy scenes"
...
Patch from Nuke.YKT
git-svn-id: https://svn.eduke32.com/eduke32@7865 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:29:12 +02:00
terminx
f84e161e52
Wahhh, I'm MSVC and I cry about applying unary negation to a boolean
...
git-svn-id: https://svn.eduke32.com/eduke32@7859 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:28:59 +02:00
terminx
751b734795
Fix issue rendering TROR when the camera's z coordinate is right on the portal
...
git-svn-id: https://svn.eduke32.com/eduke32@7858 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:28:57 +02:00
terminx
6e4951bdb6
Another clipping fix
...
git-svn-id: https://svn.eduke32.com/eduke32@7857 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:28:53 +02:00
pogokeen
a0231cf90c
polymost_scansector(): avoid using a culling method not designed for voxels when handling 1-sided wall aligned sprites that have voxel replacements
...
git-svn-id: https://svn.eduke32.com/eduke32@7854 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:28:45 +02:00
pogokeen
83e863422a
Fix mixing offscreenrendering (render targets) and mirrors. Don't allow recursing beyond 1 level of mirroring through multiple levels of render targets.
...
git-svn-id: https://svn.eduke32.com/eduke32@7853 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:28:42 +02:00
pogokeen
5377b128a9
Fix rendering skyboxes to a tile by altering renderSetTarget() & renderRestoreTarget() to set & reset xdim & ydim so that G_ShowView() can render while a render target is set,
...
and additionally modifying G_SetupCamTile() to call EVENT_DISPLAYROOMSCAMERATILE after calling renderSetTarget()
git-svn-id: https://svn.eduke32.com/eduke32@7852 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:28:41 +02:00
terminx
e0e517aaed
Revise r7838 again
...
git-svn-id: https://svn.eduke32.com/eduke32@7847 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:26:22 +02:00
terminx
f3e4dd4463
Patch from Nuke.YKT to work around precision-based inaccuracy problems in Polymost TROR
...
git-svn-id: https://svn.eduke32.com/eduke32@7846 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:25:31 +02:00
terminx
1d14991acc
Add MERGE_NODES macro for Polymost... this will be used in the following commit
...
git-svn-id: https://svn.eduke32.com/eduke32@7845 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:25:28 +02:00
terminx
ee92304087
Patch from Nuke.YKT to clip bunches to screen boundaries in Polymost
...
git-svn-id: https://svn.eduke32.com/eduke32@7844 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:25:24 +02:00
terminx
47fa1eccd4
Patch from Nuke.YKT to fix sloped floor and ceiling textures wiggling around in Polymost
...
git-svn-id: https://svn.eduke32.com/eduke32@7843 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/polymost.cpp
2019-09-20 15:24:54 +02:00
terminx
a3b6d0e70b
Revise r7838: one less dumbass typo
...
git-svn-id: https://svn.eduke32.com/eduke32@7842 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:23:57 +02:00
terminx
565383e1d2
Revise r7835: instead of not testing wall sprites, we'll just ignore the side blockers
...
git-svn-id: https://svn.eduke32.com/eduke32@7838 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:23:47 +02:00
terminx
4beaeb5426
Don't check clip objects for sprites in the keepaway() loop in clipmove()
...
This prevents some hilarious issues with deadly wall decorations. The "side blocker" clip lines that already exist for these sprites should already prevent the kinds of clipping issues this loop is intended to address, anyway.
git-svn-id: https://svn.eduke32.com/eduke32@7835 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:23:40 +02:00
terminx
dad28df269
OK, this is just a bit too restrictive
...
git-svn-id: https://svn.eduke32.com/eduke32@7834 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:23:38 +02:00
terminx
dc7ec3b2fe
Fix additional clipmove() issue
...
git-svn-id: https://svn.eduke32.com/eduke32@7832 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:23:33 +02:00
terminx
1da1331299
Clean up raytrace() and rename it to cliptrace()
...
git-svn-id: https://svn.eduke32.com/eduke32@7831 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:23:31 +02:00
terminx
52db0e37f7
Additional clipmove() reworks
...
This fixes a LOT of clipping errors but needs thorough testing.
git-svn-id: https://svn.eduke32.com/eduke32@7829 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:23:25 +02:00
terminx
17d3c302a3
Switch a few iterators in clipmove() from int to native_t
...
git-svn-id: https://svn.eduke32.com/eduke32@7828 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:23:23 +02:00
terminx
417318c271
clipmove() patch from Nuke.YKT:
...
"In some edge cases posx/y might be 'inside' of neighbor sector. I've added double check for this case"
git-svn-id: https://svn.eduke32.com/eduke32@7827 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:23:20 +02:00
terminx
dc0130625a
Minor pushmove() cleanup
...
git-svn-id: https://svn.eduke32.com/eduke32@7825 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:23:15 +02:00
terminx
ed457895f1
Replace check_floor_curb() with cliptestsector()
...
git-svn-id: https://svn.eduke32.com/eduke32@7824 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:23:12 +02:00
terminx
0fb77f8af3
Use corrected slope heights in getzrange() and pushmove()
...
git-svn-id: https://svn.eduke32.com/eduke32@7823 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:23:10 +02:00
terminx
e6b700cf9b
Promote divisor argument to tabledivide64 to int64_t and replace a couple of 64-bit divides in rintersect() and inflineintersect()
...
git-svn-id: https://svn.eduke32.com/eduke32@7820 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/build.cpp
2019-09-20 15:23:03 +02:00
terminx
165b320f64
Amend r7805
...
'Murica.
git-svn-id: https://svn.eduke32.com/eduke32@7811 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:17:40 +02:00
terminx
67dc0cb5f8
Fix mirrors in Polymer
...
git-svn-id: https://svn.eduke32.com/eduke32@7809 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:17:34 +02:00
terminx
43f263fc65
Try walldist + 8 instead of walldist << 1 in clipupdatesector()
...
git-svn-id: https://svn.eduke32.com/eduke32@7807 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:17:28 +02:00
terminx
97390c1ff4
Fix another bunch of improperly sized bitmap arrays
...
git-svn-id: https://svn.eduke32.com/eduke32@7806 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/build.cpp
2019-09-20 15:17:25 +02:00
pogokeen
3d63d1b720
Add updatesectorneighbour() and updatesectorneighbourz() and make them accessible to CON to allow searching for nearby neighbouring sectors from a known sector.
...
These updatesector counterparts are more performant for tasks that require determining whether nearby sectors exist at a point as they will not exhaustively search the map.
This also leads to more correct behaviour when sectors are disjoint, as queries will breadth-first search neighbouring sectors rather than risk accidentally stumbling first across accomodating disjoint sectors.
git-svn-id: https://svn.eduke32.com/eduke32@7805 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/include/build.h
2019-09-20 15:16:47 +02:00
hendricks266
d1b43acc06
Use std::numeric_limits instead of float.h
...
git-svn-id: https://svn.eduke32.com/eduke32@7799 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:14:23 +02:00
pogokeen
12ce6a78fe
Fix parallel build by switching to generating .obj files from .glsl files and treat the shader source as an externed global resolved at link time.
...
Additionally, remove the no longer necessary shader generated headers folder from .gitignore
git-svn-id: https://svn.eduke32.com/eduke32@7793 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# .gitignore
# source/build/src/polymost.cpp
2019-09-20 15:10:56 +02:00
terminx
9fde5434f8
Fix translucent masked wall sorting issue in Polymost
...
git-svn-id: https://svn.eduke32.com/eduke32@7792 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:10:23 +02:00
terminx
fe4245dfc3
Voxel fix
...
git-svn-id: https://svn.eduke32.com/eduke32@7791 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:10:21 +02:00
terminx
f46db45970
Voxel fixes from Nuke
...
git-svn-id: https://svn.eduke32.com/eduke32@7788 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:10:14 +02:00
hendricks266
4e04e4a096
Fix issue with shader compilation
...
git-svn-id: https://svn.eduke32.com/eduke32@7787 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:10:12 +02:00
hendricks266
616b0c2347
Fix sequential GNUmakefile build
...
git-svn-id: https://svn.eduke32.com/eduke32@7786 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:10:09 +02:00
pogokeen
1664310159
Support clamping in polymost1Frag.glsl and use it for sprites
...
git-svn-id: https://svn.eduke32.com/eduke32@7783 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/include/polymost.h
# source/build/src/polymost1Frag.glsl
# source/build/src/voxmodel.cpp
2019-09-20 15:10:02 +02:00
Christoph Oelckers
a55e19ed83
- fixed the shader.
2019-09-20 15:02:49 +02:00
pogokeen
f6993940e5
Separate out polymost1Frag and polymost1Vert shaders from polymost.cpp and add rules for building in the GNUmakefile.
...
Additionally, git ignore the shader's generated headers folder.
git-svn-id: https://svn.eduke32.com/eduke32@7782 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# .gitignore
# source/build/src/polymost.cpp
2019-09-20 14:57:42 +02:00
pogokeen
fe36034e43
polymost.cpp: Adjust shaders to use texture2DGradARB() if available
...
git-svn-id: https://svn.eduke32.com/eduke32@7781 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:53:22 +02:00
terminx
a075a89304
Voxel fixes from Nuke.YKT
...
git-svn-id: https://svn.eduke32.com/eduke32@7778 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:39:40 +02:00
terminx
2882609822
Don't attempt to animate sprites drawn as voxels by picnum
...
git-svn-id: https://svn.eduke32.com/eduke32@7777 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:39:10 +02:00
terminx
c96ec9d440
This is just syntax and formatting
...
No functional changes.
git-svn-id: https://svn.eduke32.com/eduke32@7776 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:39:09 +02:00
terminx
dc9c7bc7b0
Make shadows on voxels in Polymost look like they do in classic
...
git-svn-id: https://svn.eduke32.com/eduke32@7770 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:36:47 +02:00
terminx
940df04eb6
Make cache1d try a little harder to find a suitable block before bailing with "CACHE SPACE ALL LOCKED UP!"
...
git-svn-id: https://svn.eduke32.com/eduke32@7764 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:36:34 +02:00
terminx
53000d1f31
Make cacheAgeEntries() do a more consistent amount of work per frame
...
git-svn-id: https://svn.eduke32.com/eduke32@7763 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:36:32 +02:00
terminx
6f54235b7a
Fix edge case in clipupdatesector()
...
git-svn-id: https://svn.eduke32.com/eduke32@7760 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:36:26 +02:00
terminx
82c37b78cc
Prevent uninitialized access to hitwalls[] in clipmove()
...
git-svn-id: https://svn.eduke32.com/eduke32@7759 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:36:24 +02:00
terminx
38fe40abf2
Bump MAXCACHEOBJECTS from 9216 to 16384
...
This is actually the first time we've increased this limit in the entire time the engine source has been available.
git-svn-id: https://svn.eduke32.com/eduke32@7757 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:36:19 +02:00
terminx
24b994d952
One of those stupid optimizations you notice the potential for when scrolling through code looking for something
...
git-svn-id: https://svn.eduke32.com/eduke32@7756 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:36:17 +02:00
terminx
7a6293ff42
Floating point grouscan() patch from Nuke.YKT, worth a couple of fps in classic mode in slope-heavy scenes
...
git-svn-id: https://svn.eduke32.com/eduke32@7755 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:36:08 +02:00
pogokeen
c9014870e3
Improve depth fighting by pushing out the near plane and improve near plane clipping by depth clamping.
...
Suggest reducing SCISDIST when there's time to debug SCISDIST issues.
git-svn-id: https://svn.eduke32.com/eduke32@7754 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:36:06 +02:00
Christoph Oelckers
8de0fd35a1
- fixed compilation
2019-09-20 14:32:28 +02:00
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
terminx
72821e7de1
Patch from Nuke.YKT to improve mouse selection in the editor in Polymost
...
git-svn-id: https://svn.eduke32.com/eduke32@7740 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/polymost.cpp
2019-09-20 14:12:27 +02:00
pogokeen
d621023807
polymost.cpp: Fix polymost_domost() issue with COMBINE_STRIPS where in certain cases, merging with the viewport nodes caused accidental reading of sentinel node values.
...
Additional debug code is included for visualizing the state of the vsp data structure.
Further, fix issue in drawpoly where it would access out of bounds of dpxy if fewer than 3 vertices were passed in and fix issue where multiple calls to polymost_setVisibility() were repeatedly setting the visibility factor to the same value.
git-svn-id: https://svn.eduke32.com/eduke32@7737 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:04:32 +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
1426b3fb4f
winlayer.cpp: fix videoBeginDrawing() to return an intptr_t to mirrorBuffer when inpreparemirror
...
git-svn-id: https://svn.eduke32.com/eduke32@7735 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 13:59:22 +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
pogokeen
281ee3358b
Add benchmarkmode cvar which allows putting demo cameras in the map which can be used for automatic benchmarking of performance & correctness testing
...
git-svn-id: https://svn.eduke32.com/eduke32@7729 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 13:32:24 +02:00
Christoph Oelckers
86dcab958d
- make it compile again.
2019-09-20 13:30:25 +02:00
terminx
2ce96f67be
Patch from Nuke.YKT to add support for the cstat flip bits to voxels in both software and Polymost
...
git-svn-id: https://svn.eduke32.com/eduke32@7723 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 13:17:29 +02:00
terminx
c122aa2178
Replace DO_TILE_ANIM() macro with tileUpdatePicnum() function
...
git-svn-id: https://svn.eduke32.com/eduke32@7722 1a8010ca-5511-0410-912e-c29ae57300e0
# Conflicts:
# source/build/src/engine_priv.h
# source/build/src/polymer.cpp
# source/build/src/polymost.cpp
2019-09-20 13:15:07 +02:00
terminx
3130b51a96
Add SLOPTABLESIZ preprocessor definition
...
git-svn-id: https://svn.eduke32.com/eduke32@7718 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 12:07:42 +02:00
terminx
3cdc20cac1
Patch from Nuke.YKT to increase the size of sloptable[]
...
git-svn-id: https://svn.eduke32.com/eduke32@7717 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 12:07:40 +02:00
terminx
db7a2bd0db
Update libdivide from git
...
git-svn-id: https://svn.eduke32.com/eduke32@7715 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 12:07:36 +02:00
terminx
4a09e2a183
Patch from Nuke.YKT to improve the appearance of slopes in software mode
...
git-svn-id: https://svn.eduke32.com/eduke32@7714 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 12:07:34 +02:00
terminx
d5d1f0a0ea
Patch from Nuke.YKT to implement q16 angle and horiz in software mode
...
git-svn-id: https://svn.eduke32.com/eduke32@7713 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 12:07:32 +02:00
terminx
fe2fe0c2cf
Patch from Fox:
...
Polymost visibility: compensate for the classic mode "truncating" the lookup shades by moving the fog ramp by the equivalent of 1/2 shade
Fix some issues with negative shade in GL fog.
git-svn-id: https://svn.eduke32.com/eduke32@7712 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 12:07:29 +02:00