Commit graph

364 commits

Author SHA1 Message Date
Christoph Oelckers
ae1e090716 - all non-shader related GL calls are gone from the main code base. 2019-10-04 21:13:04 +02:00
Christoph Oelckers
f992aebf33 - two more 2019-10-04 19:17:55 +02:00
Christoph Oelckers
cb80e877ff - refactored fog and depth func setting into GLInterface. 2019-10-04 18:44:16 +02:00
Christoph Oelckers
204abab724 glColor calls refactored. 2019-10-04 18:25:18 +02:00
Christoph Oelckers
96c0c3197c - abstracted away more OpenGL calls, in particular all matrix access. 2019-10-04 18:12:03 +02:00
Christoph Oelckers
ad4527c8be - initialize the GL backend in the proper place.
As long as there are still video mode switches this needs to be in the video mode switching function.
2019-09-23 23:33:59 +02:00
Christoph Oelckers
2cbe211e7c - transitioned project to CMake and deleted most of the old build system.
The EDuke32 and RedNukem frontends are working, Blood isn't yet.

Notes:

many of the CMake variables and its output still refer to zdoom. Before changing that I wanted to make sure to be able to commit something that works.
support code for Windows XP has been entirely removed. On Windows this will only target Vista and up.
the crc32.h header had to be renamed to deconflict from zlib.
several Windows API calls were changed to call the A-versions directly. Weirdly enough there were places that defined their parameters as T types but in a non-working way.
removed some remaining editor files and support for the native software rendering only Windows backend.
in a few simple cases, replaced 'char' with 'uint8_t'. The code as-is depends on chars being unsigned which is non-portable. This needs to be carefully reviewed.
2019-09-22 23:15:46 +02:00
Christoph Oelckers
998ac01157 - manual merge of all NBlood changes that couldn't get cherry picked. 2019-09-21 13:02:17 +02:00
nukeykt
78a3240c3e Fix flat sky y offset 2019-09-21 10:51:47 +02:00
nukeykt
d3994b0801 Revise polymost HOM issue workaround in Duke's E1L1. Add code to remove very thin spans.
This commit does not gain noticeable rendering performance, but at least should prevent weird polygon leakages
2019-09-21 10:31:34 +02:00
terminx
062207b2e9 Fix polymost_dorotatesprite() clipping
git-svn-id: https://svn.eduke32.com/eduke32@8108 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 23:23:17 +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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
terminx
ccdba037b5 Added Xfree() function to accompany the Xmalloc() family of functions and change all uses of Bfree() to Xfree()
This was necessary because everything is already allocated with the Xmalloc() functions, but a future commit will make blocks allocated with those functions no longer compatible with the system implementation of free(), which Bfree() wraps.

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

# Conflicts:
#	source/build/src/build.cpp
#	source/build/src/mdsprite.cpp
#	source/build/src/polymer.cpp
#	source/build/src/polymost.cpp
#	source/build/src/texcache.cpp
#	source/build/src/voxmodel.cpp
2019-09-20 12:07:10 +02:00
terminx
02ef02872a Replace manual casts of sprite and wall pointers to vec2/3_t with use of the anonymous union
git-svn-id: https://svn.eduke32.com/eduke32@7697 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/src/build.cpp
#	source/build/src/polymost.cpp
2019-09-20 12:02:26 +02:00
terminx
9d7e5d9970 Rename vec2s_t to vec2_16_t
git-svn-id: https://svn.eduke32.com/eduke32@7694 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/src/polymost.cpp
2019-09-20 11:28:57 +02:00
hendricks266
ecf990253b Fix OOB access in polymost_spriteHasTranslucency
git-svn-id: https://svn.eduke32.com/eduke32@7686 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 10:14:37 +02:00
pogokeen
f92ec7bb89 polymost.cpp: fix issue where GL_ALPHA_TEST could be enabled in certain instances when executing polymost_drawrooms() and better handle when we are drawing without a texture in polymost_drawpoly()
git-svn-id: https://svn.eduke32.com/eduke32@7682 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/src/polymost.cpp
2019-09-20 10:14:28 +02:00
pogokeen
9b621c0ef2 Add GL debugging event annotations for Polymost functions
git-svn-id: https://svn.eduke32.com/eduke32@7681 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/include/polymost.h
#	source/build/src/mdsprite.cpp
#	source/build/src/polymost.cpp
2019-09-20 10:14:12 +02:00
terminx
91b9a605fa "horizon offset should not be affected by projection hack"
git-svn-id: https://svn.eduke32.com/eduke32@7675 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/src/polymost.cpp
2019-09-20 10:05:22 +02:00
Christoph Oelckers
61d2e31610 - fixed another bad merge 2019-09-20 09:44:58 +02:00
terminx
5e470e8a5b Neat Polymost y-shearing patch from Nuke.YKT
git-svn-id: https://svn.eduke32.com/eduke32@7656 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/src/polymost.cpp
2019-09-20 09:43:17 +02:00
Christoph Oelckers
dcc3e2b94e - removed code duplication from last cherry-pick 2019-09-20 09:35:09 +02:00
terminx
410da8a085 Polymost shade table interpolation patch from Nuke.YKT
git-svn-id: https://svn.eduke32.com/eduke32@7650 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/src/polymost.cpp
2019-09-20 09:32:22 +02:00
pogokeen
fc636b53ca polymost.cpp: Fix issue where state would not be reset properly in polymost_drawmaskwall() when rendering translucent maskwalls with no texture
git-svn-id: https://svn.eduke32.com/eduke32@7626 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 09:19:29 +02:00
pogokeen
40737f44cc polymost.cpp: fix polymost_dorotatesprite() alpha test/blend issue introduced in r7619
git-svn-id: https://svn.eduke32.com/eduke32@7625 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 09:19:27 +02:00
pogokeen
775a0de6c1 polymost.cpp: fix issue where floors & ceilings with DAMETH_MASKPROPS were not being blended
git-svn-id: https://svn.eduke32.com/eduke32@7624 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 09:19:25 +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
pogokeen
d2ebc8a29c Reduce state changes and fix translucent maskwall depth buffer issue
git-svn-id: https://svn.eduke32.com/eduke32@7619 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/src/polymost.cpp
2019-09-19 15:01:13 +02:00
pogokeen
2228af8658 Fix maskwall array indirection bug and two if conditional oversights from r7612
git-svn-id: https://svn.eduke32.com/eduke32@7615 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:58:14 +02:00
pogokeen
9534bb1578 polymost.cpp: switch from writing gl_FragColor to writing gl_FragData[0] in order to reduce VGPR usage on AMD cards
git-svn-id: https://svn.eduke32.com/eduke32@7613 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/src/polymost.cpp
2019-09-19 14:58:09 +02:00
pogokeen
2765ebec87 Fix depth buffer issue causing translucent sprites to not render properly in Polymost.
Use polymost_spriteHasTranslucency() and polymost_maskWallHasTranslucency() to determine if a sprite has translucency.
Optimize sprite rendering when in Polymost by only sorting sprites with translucency.

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

# Conflicts:
#	source/build/src/polymost.cpp
2019-09-19 14:56:47 +02:00
terminx
ea826fb117 Move NEXTWALL and POINT2 macros into build.h
git-svn-id: https://svn.eduke32.com/eduke32@7590 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:30:26 +02:00
terminx
e5bd221746 auto/const/constexpr bullshit
git-svn-id: https://svn.eduke32.com/eduke32@7587 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:26:49 +02:00
pogokeen
71847ec0f1 polymost.cpp: fix fragment shader issue where fullbrights in a texture could affect rendering when u_useColorOnly was enabled
git-svn-id: https://svn.eduke32.com/eduke32@7552 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:23:23 +02:00
hendricks266
2081eff083 Patch from Nuke.YKT to fix TROR rendering in mirrors in Polymost
Includes "Fix screen tilt regression on mirror rendering"

git-svn-id: https://svn.eduke32.com/eduke32@7493 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 13:56:42 +02:00
hendricks266
eb5a90b1ef Patch from Nuke.YKT to fix a TROR in Polymost issue
Report by oasiz: It only occurs when you try to sandwich surfaces and kind of punch through. It seems similar to the kind of behavior that the pre-TROR fixes did (where you had to stand on the TROR sector for things to work). This seems to work if the weird wall is punching IN on your sector but not OUT to another.

git-svn-id: https://svn.eduke32.com/eduke32@7492 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 13:56:40 +02:00
terminx
c8bd436cf8 Additional TROR patch from Nuke
git-svn-id: https://svn.eduke32.com/eduke32@7452 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 12:25:52 +02:00
terminx
5986dbf6e1 Fix crash in situations where rendering a scene would overrun all of the MAXBUNCHES sized arrays in both classic and polymost
git-svn-id: https://svn.eduke32.com/eduke32@7447 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 12:24:11 +02:00
terminx
37a8c98c2c Replace some individual assignments of structure members with whole structure assignments
git-svn-id: https://svn.eduke32.com/eduke32@7434 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/src/polymost.cpp
2019-09-19 12:12:41 +02:00
terminx
dba335c7dd Adjust projection matrix depending on SCISDIST
git-svn-id: https://svn.eduke32.com/eduke32@7432 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 12:09:13 +02:00
Christoph Oelckers
95c9dba9df - deactivated the no-fog-calculation checks again.
The high level code should have no business deciding that - this must later be done in the backend.
Performance-wise this is really a non-issue so in the end this constitutes an optimization that only creates mess but np gain.
The commit was only cherry-picked for the remaining changes.
2019-09-19 12:04:06 +02:00
terminx
8a6ce26b57 Don't bother with fog calculations for things without hightile replacements
git-svn-id: https://svn.eduke32.com/eduke32@7424 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/src/polymer.cpp
2019-09-19 11:56:04 +02:00
terminx
35efbccfa3 Fix r_polygonmode cvar
git-svn-id: https://svn.eduke32.com/eduke32@7422 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 11:48:58 +02:00
terminx
bf7ee94a2d Clean up polymost.cpp includes
git-svn-id: https://svn.eduke32.com/eduke32@7421 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/src/polymost.cpp
2019-09-19 11:48:56 +02:00
Christoph Oelckers
e1e8b835db - make it compile again. 2019-09-19 11:43:11 +02:00
Christoph Oelckers
8f6f979fa5 - do not force the tile shades mode for now without re_adding the removed variable.
Much of this needs to be abstracted out but until that part is done this still needs to work properly.
2019-09-19 11:02:05 +02:00
terminx
a5965e2562 Remove r_usetileshades--GLOBAL_NO_GL_TILESHADES flag for DN64 not affected
This also locks the texture filtering options in the menu behind ifdef guards until they're fixed.

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

# Conflicts:
#	source/build/src/polymost.cpp
#	source/duke3d/src/menus.cpp
2019-09-19 10:50:18 +02:00
Christoph Oelckers
412f3a0b32 - proper npot checks for RedNukem's sky calculations. 2019-09-19 00:37:12 +02:00
Christoph Oelckers
51dc82b6a6 - merged in the changes RedNukem made to the Build code. 2019-09-19 00:19:02 +02:00
Christoph Oelckers
3a90d21661 - consolidated the redundant texture coordinates.
They were all the same, so no point recalculating them, the copies weren't even correct.
2019-09-19 00:06:12 +02:00
Christoph Oelckers
e0f823a492 - refactored texture setup to use an intermediate layer. 2019-09-18 22:16:15 +02:00
Christoph Oelckers
155f093bd5 - stuff 2019-09-17 20:57:45 +02:00
Christoph Oelckers
d63cf04e06 - removed the compressed texture cache.
This is a pointless relic from the past and makes zero sense with modern graphics hardware.
2019-09-17 20:18:18 +02:00
Christoph Oelckers
b1763a8f4a - hooked up the texture management.
Not in active use yet!
2019-09-17 19:03:42 +02:00
Christoph Oelckers
0359602159 - some missed parts. 2019-09-16 21:27:07 +02:00
Christoph Oelckers
6536d910b3 - all drawing is being routed through the interface layer, all vertex buffers are gone.
No big loss here, none of them made much sense performance wise.
2019-09-16 21:08:42 +02:00
Christoph Oelckers
318009fd69 - added a centralized drawer and converted the main geometry drawer to use it. 2019-09-16 19:35:04 +02:00
Christoph Oelckers
2a20eb9287 - deleted vertex buffer drawing and used immediate mode instead.
This served no benefit and made cleanup harder than necessary.
2019-09-16 18:12:16 +02:00
Christoph Oelckers
20ab1289fd - deletion of unused code. 2019-09-16 18:10:28 +02:00
Christoph Oelckers
d2e34ef18e - this time the texture upload is working. 2019-09-16 18:00:19 +02:00
Christoph Oelckers
a85f9f4848 - this is good enough. 2019-09-13 22:27:20 +02:00
Christoph Oelckers
aecdd9b4c5 - this is the state I want to build. 2019-09-13 21:43:05 +02:00
terminx
4506b8490f Minor cleanup of some Polymost shader program support functions
git-svn-id: https://svn.eduke32.com/eduke32@7419 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-19 17:09:06 +00:00
terminx
483fbe4cd6 Polymost sky Z buffer hack from Nuke.YKT
git-svn-id: https://svn.eduke32.com/eduke32@7415 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-19 17:08:51 +00:00
terminx
4522a8902b Limit Polymost tile sheet size to 8192 when building with MSVC
git-svn-id: https://svn.eduke32.com/eduke32@7414 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-19 17:08:47 +00:00
terminx
5e97fc5f51 Polymost NPOT texture patch from Nuke.YKT
git-svn-id: https://svn.eduke32.com/eduke32@7413 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-19 17:08:43 +00:00
terminx
25cd73d99a Patch from Nuke.YKT to use the shade tables for distance shading in Polymost
This makes the shading in Polymost more or less 1:1 with classic mode.

git-svn-id: https://svn.eduke32.com/eduke32@7412 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-19 17:08:39 +00:00
terminx
1a0ee0f4c3 Polymost relative texture alignment patch from Nuke
This "fixes" relative texture alignment for floors and ceilings in Polymost to match classic mode. "Fix" is in quotes because this actually means the alignment is less correct in terms of proper scaling than before, but more correct in terms of accuracy to classic mode.

git-svn-id: https://svn.eduke32.com/eduke32@7411 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-19 17:08:35 +00:00
terminx
b61027086c Fix Polymost HOM
git-svn-id: https://svn.eduke32.com/eduke32@7408 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-19 17:08:23 +00:00
terminx
770b255bff Calculate texture coordinates as double since we're storing them that way anyway
This isn't really intended to fix any specific issue, but to shut up Visual Studio whining about arithmetic overflows.

git-svn-id: https://svn.eduke32.com/eduke32@7403 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-19 17:08:05 +00:00
terminx
c8b161704b Patch from Nuke.YKT to work around a Polymost glitch with slopes
git-svn-id: https://svn.eduke32.com/eduke32@7401 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-19 17:07:57 +00:00
terminx
f1ea04e7da Another Polymost TROR patch from Nuke.YKT
This one should bring Polymost TROR into parity with classic mode.

git-svn-id: https://svn.eduke32.com/eduke32@7400 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-19 17:07:53 +00:00
terminx
0e01b45227 Revert r7388 because it just wasn't working out
git-svn-id: https://svn.eduke32.com/eduke32@7396 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-19 17:07:37 +00:00
hendricks266
5258e10271 Fix some GL ES compilation issues in polymost.cpp
git-svn-id: https://svn.eduke32.com/eduke32@7395 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-11 06:06:51 +00:00
terminx
f54f35a067 Polymost TROR patch from Nuke.YKT--nice!
git-svn-id: https://svn.eduke32.com/eduke32@7392 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-04 23:49:11 +00:00
terminx
c6261b9f45 It looks like this is OK to remove now!
git-svn-id: https://svn.eduke32.com/eduke32@7391 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-04 23:49:07 +00:00
terminx
0e6dd28573 Patch from Nuke.YKT to clip Polymost spans to screen borders
git-svn-id: https://svn.eduke32.com/eduke32@7390 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-04 23:49:03 +00:00
terminx
a206a83020 This seems to help with some polygon drawing issues in Polymost for now
git-svn-id: https://svn.eduke32.com/eduke32@7388 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-04 23:48:55 +00:00
terminx
ea66c0a682 Well, that didn't take long :D
git-svn-id: https://svn.eduke32.com/eduke32@7386 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-03 11:15:20 +00:00
terminx
a050281006 A curious Polymost optimization from Nuke.YKT
This bails out of drawing any domost spans that seem to be entirely outside of the range of the screen coordinates. Since this seems so obvious, I have to wonder if Polymost is supposed to be doing this elsewhere already...

git-svn-id: https://svn.eduke32.com/eduke32@7379 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-02 23:22:12 +00:00
terminx
23e53c17fc This might not be needed anymore after the previous commit
git-svn-id: https://svn.eduke32.com/eduke32@7375 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-02 23:21:56 +00:00
terminx
0e107acd39 Work around floating point precision issues in Polymost causing problems when rendering certain geometry from particular angles
git-svn-id: https://svn.eduke32.com/eduke32@7374 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-02 23:21:52 +00: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
8433d133b4 Patch from Fox:
Add a FOV option in the menu. Range from 75 to 120 degrees (at 4:3 resolution), default is 90.

New userdef "fov". Equals the FOV in 360 degrees.

Update Polymost projection hack, so it compensates for the FOV or height of the game view.

Fix FOV in Polymer when the full status bar is visible. Now the FOV depends of the width of the game view instead of the height.

git-svn-id: https://svn.eduke32.com/eduke32@7329 1a8010ca-5511-0410-912e-c29ae57300e0
2019-02-18 22:02:33 +00:00
terminx
975126edf4 Fix a couple minor issues with 90 degree wall texture rotation
git-svn-id: https://svn.eduke32.com/eduke32@7325 1a8010ca-5511-0410-912e-c29ae57300e0
2019-02-02 23:24:32 +00:00
hendricks266
450244e258 Fix missing/invalid palswaps and shades in automap with Polymost
Patch from Nuke.YKT.

git-svn-id: https://svn.eduke32.com/eduke32@7314 1a8010ca-5511-0410-912e-c29ae57300e0
2019-01-22 17:56:37 +00:00
terminx
4861d1fc3d WIP wall texture rotation bit
git-svn-id: https://svn.eduke32.com/eduke32@7226 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:13:48 +00:00
terminx
f7fac7d9e0 "using osdcmdptr_t = osdfuncparm_t const * const" because I'm tired of seeing it everywhere
git-svn-id: https://svn.eduke32.com/eduke32@7154 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:06:15 +00:00
terminx
14f1ea1c05 Use "int" for OSD command return values and a few trivial globals. Our current usage of the return values would have even worked with bool, but we might want to add error conditions or something later.
git-svn-id: https://svn.eduke32.com/eduke32@7149 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-18 18:05:45 +00:00
terminx
59196c42ea This commit is useless
git-svn-id: https://svn.eduke32.com/eduke32@7109 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:31:30 +00:00
terminx
385562d143 Fix bounds checks occurring after array access in tessectrap() and polymost_precache() with very minor cleanup of surrounding lines.
git-svn-id: https://svn.eduke32.com/eduke32@7104 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:31:05 +00:00
terminx
ad8a65d154 Small cleanups to fogcalc() and fogcalc_old()
git-svn-id: https://svn.eduke32.com/eduke32@7103 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:31:01 +00:00
terminx
9079beadb4 Remove some dead statements, useless assigments, etc
git-svn-id: https://svn.eduke32.com/eduke32@7086 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:29:38 +00:00
terminx
1d71ea3fc0 polymost_setTexturePosSize() and polymost_setHalfTexelSize(): pass vec4f_t and vec2f_t by const reference instead of by value
git-svn-id: https://svn.eduke32.com/eduke32@7085 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:29:30 +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
9613bbac33 Use std::min and std::max instead of min and max macros.
git-svn-id: https://svn.eduke32.com/eduke32@7078 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-16 06:09:54 +00:00
terminx
2e2731c119 Same sort of thing as the previous commits, but for the engine. Forward declaration cleanup and constification.
git-svn-id: https://svn.eduke32.com/eduke32@7072 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-16 06:09:09 +00:00
pogokeen
f876e8ad0c polymost.cpp: temporarily disable experimental r_enablepolymost2 cvar
git-svn-id: https://svn.eduke32.com/eduke32@7050 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-10 15:08:08 +00:00
pogokeen
d291a81ccd polymost.cpp: fix lockup bug that would occur with polymost_waitForSubBuffer() when glClientWaitSync consistently returned GL_WAIT_FAILED on certain hardware/drivers.
Additionally, fix conditional check for r_persistentStreamBuffer requirements in polymost_glinit().

git-svn-id: https://svn.eduke32.com/eduke32@7048 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-10 14:37:03 +00:00
terminx
f7c8eab261 Further revise a couple of null pointer checks in Polymost
git-svn-id: https://svn.eduke32.com/eduke32@7041 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:23:25 +00:00
terminx
2f3e78a4b8 Fix potential dereference of null pointer when calling polymost_bindPth()
git-svn-id: https://svn.eduke32.com/eduke32@7000 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-07 05:20:09 +00:00
hendricks266
e38dc3f674 Remove redundant code from Polymost fog
Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6961 1a8010ca-5511-0410-912e-c29ae57300e0
2018-08-02 01:21:16 +00:00
pogokeen
eb964f15d8 polymost.cpp/glsurface.cpp: Don't print shader compile status to the console on success.
git-svn-id: https://svn.eduke32.com/eduke32@6960 1a8010ca-5511-0410-912e-c29ae57300e0
2018-07-30 23:01:48 +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
a13a8bf579 polymost.cpp: make c_wrapThreshold consistent between POLYMOST1_BASIC_FRAGMENT_SHADER_CODE and POLYMOST1_EXTENDED_FRAGMENT_SHADER_CODE
git-svn-id: https://svn.eduke32.com/eduke32@6937 1a8010ca-5511-0410-912e-c29ae57300e0
2018-07-03 04:29:23 +00:00
pogokeen
facc69f142 polymost.cpp: fix rendering for indexed colour textures to match original behaviour when !r_usetileshades or globalflags & GLOBAL_NO_GL_TILESHADES
Additionally, fix issue in polymost_setShade() where shade calculation was happening after a check for whether or not the shade needed to be updated.

git-svn-id: https://svn.eduke32.com/eduke32@6936 1a8010ca-5511-0410-912e-c29ae57300e0
2018-07-03 04:29:19 +00:00
pogokeen
5ee2bbc771 polymost_drawpoly(): fix issue where mirrors wouldn't update the depth buffer
git-svn-id: https://svn.eduke32.com/eduke32@6888 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-17 22:33:13 +00:00
pogokeen
a4736f6bf7 polymost_bindPth(): Fix issue where non-indexed colour, non-hightile textures (including those with polytintflags HICTINT_USEONART or HICTINT_ALWAYSUSEART) would not render correctly while r_useindexedcolortextures is set.
git-svn-id: https://svn.eduke32.com/eduke32@6885 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-08 22:47:55 +00:00
pogokeen
dcdffb73d0 Dynamic tilepacking for indexed colour textures
git-svn-id: https://svn.eduke32.com/eduke32@6883 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-08 17:32:16 +00:00
pogokeen
fdaf5a8ac7 polymost_resetVertexPointers(): remove erroneous glBindBuffer call
git-svn-id: https://svn.eduke32.com/eduke32@6881 1a8010ca-5511-0410-912e-c29ae57300e0
2018-05-08 17:32:07 +00:00
terminx
f903aac29f Fix warning
git-svn-id: https://svn.eduke32.com/eduke32@6852 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-23 06:35:57 +00:00
terminx
87d19d5cde More function name shit
git-svn-id: https://svn.eduke32.com/eduke32@6832 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-12 21:04:00 +00:00
terminx
19c43b84b3 Function names
git-svn-id: https://svn.eduke32.com/eduke32@6831 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-12 21:03:47 +00:00
terminx
e5bcc1cf81 More function name cleanup
git-svn-id: https://svn.eduke32.com/eduke32@6830 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-12 21:03:30 +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
pogokeen
ab07afad76 polymost.cpp: fix shadeFactor not being set properly for non-indexed colour textures
git-svn-id: https://svn.eduke32.com/eduke32@6784 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-22 07:13:25 +00:00
pogokeen
7b2c468f04 Polymost: center texel fetches for palette lookups and add various optimizations related to indexed texture changes
git-svn-id: https://svn.eduke32.com/eduke32@6777 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-21 20:41:32 +00:00
pogokeen
a364b7bbfd Polymost palette-indexed texture rendering
git-svn-id: https://svn.eduke32.com/eduke32@6776 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-21 20:41:26 +00:00
terminx
ee37c04623 Remove attempt at being compatible with the original ranges of ang and horiz values, and introduce a q16 version of drawrooms (and showroom)
git-svn-id: https://svn.eduke32.com/eduke32@6735 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-07 12:02:03 +00:00
terminx
a76750df55 Q16.16 for player angle, too
git-svn-id: https://svn.eduke32.com/eduke32@6725 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-07 04:21:18 +00:00
terminx
4d8bb170a3 Use Q16.16 fixed point for player horiz
git-svn-id: https://svn.eduke32.com/eduke32@6724 1a8010ca-5511-0410-912e-c29ae57300e0
2018-03-07 04:21:05 +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
c0b0ed2240 polymost.cpp: fix polymost_dorotatesprite() issue where sprites could be rendered with fractional positions and sizes leading to GL filtering imperfections.
git-svn-id: https://svn.eduke32.com/eduke32@6698 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-26 11:26:40 +00:00
pogokeen
9001ec60a0 Polymost: workaround for texcache expecting all mipmap levels to be available
git-svn-id: https://svn.eduke32.com/eduke32@6675 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-19 06:11:44 +00:00
pogokeen
d6926cb7d3 Fix building on Visual Studio after GLAD & Polymost changes
git-svn-id: https://svn.eduke32.com/eduke32@6671 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-17 06:38:15 +00:00
pogokeen
59b01d9d67 Polymost: fix typo causing bug where persistentStreamBuffer was being reset to the config value when it should be disabled
git-svn-id: https://svn.eduke32.com/eduke32@6669 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-16 08:35:45 +00:00
pogokeen
451bdb4601 Polymost: fix bug where polymost2_drawVBO() wouldn't reset the bound buffer state properly for polymost1
git-svn-id: https://svn.eduke32.com/eduke32@6664 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-16 06:38:54 +00:00
pogokeen
7b2ac67e9d Polymost: adjust parenthesis to cease compiler warnings
git-svn-id: https://svn.eduke32.com/eduke32@6663 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-16 06:38:51 +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
8ebb8083a5 polymost_dorotatesprite(): fix for Polymer bug introduced by Polymost drawarrays optimization
git-svn-id: https://svn.eduke32.com/eduke32@6659 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-16 06:38:37 +00:00
pogokeen
ff1d948d44 In-progress POLYMOST2 work
git-svn-id: https://svn.eduke32.com/eduke32@6658 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-16 06:38:34 +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
pogokeen
037289a812 polymost_drawpoly(): only change the blend mode if blending is enabled
git-svn-id: https://svn.eduke32.com/eduke32@6655 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-16 06:38:07 +00:00
pogokeen
28f9fcebb4 Polymost: Avoid generation of mipmaps if filter mode isn't set to use them
git-svn-id: https://svn.eduke32.com/eduke32@6654 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-16 06:38:05 +00:00
pogokeen
a1c88b740f Polymost: texture format optimizations
git-svn-id: https://svn.eduke32.com/eduke32@6653 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-16 06:38:02 +00:00
pogokeen
464e65541c polymost_drawpoly(): drawarrays optimization
git-svn-id: https://svn.eduke32.com/eduke32@6652 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-16 06:37:58 +00:00
hendricks266
ff0768eaa9 Fix build issues with ARM and USE_OPENGL=0. DONT_BUILD.
git-svn-id: https://svn.eduke32.com/eduke32@6651 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-15 03:49:23 +00:00
hendricks266
27d93ac698 Satisfy -Wmaybe-uninitialized warnings exposed by -Og.
git-svn-id: https://svn.eduke32.com/eduke32@6632 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-30 16:02:29 +00:00
hendricks266
67438d0cd2 New userdef structure: "global_r", "global_g", "global_b"
Set the tinting RGB values of textures being rendered. Can be used in DISPLAYROOMS or before rotatesprite (similar to setaspect). Remember to reset the values afterwards.

Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6591 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-26 04:35:11 +00:00
hendricks266
392d5fc942 Fix visibility in Polymer with r_usenewshading 4 and palette emulation off.
Move some visibility-related constants from Polymer "core" code elsewhere.

Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6590 1a8010ca-5511-0410-912e-c29ae57300e0
2018-01-26 04:35:06 +00:00
terminx
09c03151db Uncomment extra check in COMBINE_STRIPS
git-svn-id: https://svn.eduke32.com/eduke32@6573 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-20 08:35:49 +00:00
terminx
c728176352 Revert a tweak made for HTTKC
git-svn-id: https://svn.eduke32.com/eduke32@6566 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-17 09:27:27 +00:00
hendricks266
583dc0f47a Polymost: Account for yscale when deciding if the sky is tall enough to repeat or not. Comment out code that is not working as expected.
Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6560 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-12 05:14:09 +00:00
hendricks266
b6d7de7d27 Add def "globalflags" bit 4, and for individual palettes the "tint" flag bit 512. This makes fog the same for all shades. Make fog behave normally with sector structure .fogpal.
Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6559 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-12 05:14:06 +00:00
hendricks266
2f98d759f6 Fix visibility in Polymer with r_usenewshading 4.
Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6558 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-12 05:14:02 +00:00
hendricks266
ae47d2f11d New def tokens for "tint": "shadered" or "sr", "shadeblue" or "sb", "shadegreen" or "sg"
tint { pal <pal> shadered <0-255> shadegreen <0-255> shadeblue <0-255> }

Make shade apply a tint based on the RGB.
Default values for shade are zero (black).

Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6557 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-12 05:13:58 +00:00
terminx
3c8f050565 Fix memory leak with .ANM playback in Polymost
git-svn-id: https://svn.eduke32.com/eduke32@6541 1a8010ca-5511-0410-912e-c29ae57300e0
2017-12-02 12:42:40 +00:00
terminx
7acf811eae Re-comment out part of COMBINE_STRIPS in polymost.cpp
git-svn-id: https://svn.eduke32.com/eduke32@6525 1a8010ca-5511-0410-912e-c29ae57300e0
2017-11-30 23:54:23 +00:00
terminx
845abb435a Drop VSPMAX back to 2048 from 4096
git-svn-id: https://svn.eduke32.com/eduke32@6524 1a8010ca-5511-0410-912e-c29ae57300e0
2017-11-30 23:54:18 +00:00
hendricks266
90045e4ce3 Revert r6496
git-svn-id: https://svn.eduke32.com/eduke32@6523 1a8010ca-5511-0410-912e-c29ae57300e0
2017-11-30 02:57:23 +00:00
hendricks266
12c4d033f1 Polymost: Set r_parallaxskypanning to 1 by default.
This enables sky panning, which allows the effect of CLOUDYSKIES to work properly.

Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6521 1a8010ca-5511-0410-912e-c29ae57300e0
2017-11-29 07:29:54 +00:00
hendricks266
ad83ca0188 Polymost: Display paper-skies correctly when looking up or down.
Show a solid color for skies taller than 256 px, otherwise repeat.

Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6520 1a8010ca-5511-0410-912e-c29ae57300e0
2017-11-29 07:29:51 +00:00
hendricks266
5fbe1b89be New def token for "multipsky": "yscale".
multipsky <tile> { yscale <yscale> }

Default value is 65536.

Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6519 1a8010ca-5511-0410-912e-c29ae57300e0
2017-11-29 07:29:48 +00:00
hendricks266
66162032a0 Add r_usenewshading 4.
Uses a constant determined from the shade tables.

Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6515 1a8010ca-5511-0410-912e-c29ae57300e0
2017-11-29 07:29:33 +00:00
hendricks266
9d0e76b2e3 Fox's projection patch 2.0
git-svn-id: https://svn.eduke32.com/eduke32@6496 1a8010ca-5511-0410-912e-c29ae57300e0
2017-11-06 05:56:48 +00:00
hendricks266
7033d83d26 Fox's maskwall fix 2.0
git-svn-id: https://svn.eduke32.com/eduke32@6495 1a8010ca-5511-0410-912e-c29ae57300e0
2017-11-02 04:25:59 +00:00
terminx
7fd86d09ad If Fox's patch to fix flickering masked walls is correct, this change should improve FPS in some areas.
git-svn-id: https://svn.eduke32.com/eduke32@6494 1a8010ca-5511-0410-912e-c29ae57300e0
2017-10-31 02:09:44 +00:00
hendricks266
366d823894 Revert r6490.
git-svn-id: https://svn.eduke32.com/eduke32@6491 1a8010ca-5511-0410-912e-c29ae57300e0
2017-10-31 00:35:23 +00:00
hendricks266
e12b63c3bd A potential fix for the disappearing maskwall problem.
Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6490 1a8010ca-5511-0410-912e-c29ae57300e0
2017-10-30 03:48:31 +00:00
hendricks266
c746b486b7 Polymost: New projection hack algorithm: Keep zoom equivalent to Classic when looking straight ahead.
Patch from Fox.

git-svn-id: https://svn.eduke32.com/eduke32@6486 1a8010ca-5511-0410-912e-c29ae57300e0
2017-10-16 03:32:37 +00:00
terminx
60d06d8757 useless change
git-svn-id: https://svn.eduke32.com/eduke32@6440 1a8010ca-5511-0410-912e-c29ae57300e0
2017-09-19 19:10:33 +00:00
terminx
6889b64da8 Tweak Polymost z-fighting avoidance code
git-svn-id: https://svn.eduke32.com/eduke32@6434 1a8010ca-5511-0410-912e-c29ae57300e0
2017-08-27 10:20:35 +00:00
terminx
dad337add8 Fix gcc 7.1.0 warnings
git-svn-id: https://svn.eduke32.com/eduke32@6370 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-18 20:53:41 +00:00
terminx
3706ac1b43 Allow scripts to change MAXSPRITESONSCREEN before calls to drawrooms() and friends
git-svn-id: https://svn.eduke32.com/eduke32@6347 1a8010ca-5511-0410-912e-c29ae57300e0
2017-07-08 19:42:11 +00:00
terminx
c25aa4a790 OSD (console) cleanup
git-svn-id: https://svn.eduke32.com/eduke32@6297 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-27 02:24:14 +00:00
hendricks266
cb12f25cda Add a wallext structure for non-Lunatic builds so they can have a blend member too.
git-svn-id: https://svn.eduke32.com/eduke32@6276 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-25 11:23:53 +00:00
hendricks266
610d2e3b46 Connect wall.blend to Polymost in Lunatic builds with it enabled.
git-svn-id: https://svn.eduke32.com/eduke32@6275 1a8010ca-5511-0410-912e-c29ae57300e0
2017-06-25 11:23:47 +00:00