]> git.xonotic.org Git - xonotic/darkplaces.git/log
xonotic/darkplaces.git
2 weeks agoCombine IF and GOTO handlers uis/div0-faster
uis [Mon, 13 May 2024 15:10:42 +0000 (18:10 +0300)]
Combine IF and GOTO handlers

2 weeks agoRewrite LT and GT instructions as modified LE and GE
uis [Mon, 13 May 2024 11:32:39 +0000 (14:32 +0300)]
Rewrite LT and GT instructions as modified LE and GE

2 weeks agoMake IFNOT opcode modified IF instruction
uis [Sat, 11 May 2024 23:15:56 +0000 (02:15 +0300)]
Make IFNOT opcode modified IF instruction

2 weeks agoImplement bytecode rewriting
uis [Sat, 11 May 2024 16:59:16 +0000 (19:59 +0300)]
Implement bytecode rewriting

To make cache happier

2 weeks agoSlightly improve banching performance for BIH collision
uis [Sat, 11 May 2024 02:16:42 +0000 (05:16 +0300)]
Slightly improve banching performance for BIH collision

2 weeks agoDo a little precalculaiton when traversing BIH
uis [Fri, 10 May 2024 22:32:57 +0000 (01:32 +0300)]
Do a little precalculaiton when traversing BIH

2 weeks agoApply mathlib changes from master branch
uis [Mon, 29 Apr 2024 00:11:46 +0000 (03:11 +0300)]
Apply mathlib changes from master branch

4 weeks agoMove CRC tables to rodata section
uis [Sun, 21 Apr 2024 16:23:51 +0000 (19:23 +0300)]
Move CRC tables to rodata section

5 weeks agoReduce BIH node size by 32 bytes
uis [Sun, 21 Apr 2024 00:59:09 +0000 (03:59 +0300)]
Reduce BIH node size by 32 bytes

4 months agoMove depth invalidation before swap
uis [Sat, 27 Jan 2024 22:17:00 +0000 (01:17 +0300)]
Move depth invalidation before swap

Still has to figure out how to invalidate on maps without sky even when
sky is disabled.

4 months agoExperimental framebuffer invalidation
uis [Sun, 21 Jan 2024 01:41:53 +0000 (04:41 +0300)]
Experimental framebuffer invalidation

4 months agoUse proper built-in function for getting fraction part
uis [Thu, 18 Jan 2024 18:17:43 +0000 (21:17 +0300)]
Use proper built-in function for getting fraction part

4 months agoFix GLES2
uis [Wed, 17 Jan 2024 23:33:59 +0000 (02:33 +0300)]
Fix GLES2

4 months agoRemove explicit glflush right before buffer swap
uis [Sun, 14 Jan 2024 20:21:29 +0000 (23:21 +0300)]
Remove explicit glflush right before buffer swap

Buffer swap generates implicit flush

4 months agoRemove redundant texture sampling
uis [Thu, 11 Jan 2024 18:26:12 +0000 (21:26 +0300)]
Remove redundant texture sampling

4 months agoMake rendering sky after scene togglable
uis [Fri, 5 Jan 2024 16:03:13 +0000 (19:03 +0300)]
Make rendering sky after scene togglable

4 months agoReplace more of max(0, x) with saturation
uis [Thu, 4 Jan 2024 00:58:47 +0000 (03:58 +0300)]
Replace more of max(0, x) with saturation

Saturated sum of positive values is equal to saturated sum of saturated values

4 months agoMore saturated math
uis [Wed, 3 Jan 2024 23:02:09 +0000 (02:02 +0300)]
More saturated math

4 months agoSmall change to offset mapping
uis [Wed, 3 Jan 2024 21:01:49 +0000 (00:01 +0300)]
Small change to offset mapping

Adds few fps. Function seems to be too complex for my understanding.

4 months agoReplace more stuff with saturation
uis [Wed, 3 Jan 2024 19:47:43 +0000 (22:47 +0300)]
Replace more stuff with saturation

4 months agoUse wider vector for postproc with bloom instead of 2 smaller vectors
uis [Wed, 3 Jan 2024 18:39:27 +0000 (21:39 +0300)]
Use wider vector for postproc with bloom instead of 2 smaller vectors

4 months agoUse saturated math and explicitly replace multiplication with negative value
uis [Wed, 3 Jan 2024 17:50:17 +0000 (20:50 +0300)]
Use saturated math and explicitly replace multiplication with negative value

4 months agoReduce amount of attributes for depth pass
uis [Wed, 3 Jan 2024 15:56:28 +0000 (18:56 +0300)]
Reduce amount of attributes for depth pass

Use fragment depth from built-in gl_FragCoord instead of our own depth attribute

4 months agoDisable dithering for high colordepth
uis [Tue, 2 Jan 2024 18:23:40 +0000 (21:23 +0300)]
Disable dithering for high colordepth

4 months agoEnable depth test for skybox
uis [Tue, 2 Jan 2024 18:21:08 +0000 (21:21 +0300)]
Enable depth test for skybox

6 months agoMerge MR 'Move SDL_GL_GetProcAddress after creating GL context' div0-stable
bones_was_here [Sat, 25 Nov 2023 02:00:54 +0000 (12:00 +1000)]
Merge MR 'Move SDL_GL_GetProcAddress after creating GL context'

On some platforms GL function pointers cannot be obtained before context
creation, on others doing so can invoke undefined behaviour.

See https://gitlab.com/xonotic/darkplaces/-/merge_requests/147

Signed-off-by: bones_was_here <bones_was_here@xonotic.au>
6 months agoMove SDL_GL_GetProcAddress after creating window uis/sdl-fix
uis [Fri, 24 Nov 2023 22:13:44 +0000 (01:13 +0300)]
Move SDL_GL_GetProcAddress after creating window

SDL2 documentation says so. In reality it fixes error for kmsdrm driver.

13 months agoImprove x86 detection to fix compiler errors on other architectures xonotic-v0.8.6
bones_was_here [Sun, 30 Apr 2023 09:22:32 +0000 (19:22 +1000)]
Improve x86 detection to fix compiler errors on other architectures

Also some related minor makefile cleanup.

Closes https://gitlab.com/xonotic/darkplaces/-/issues/382

See also: 1b6dd54f9fdf8b4caa2c2305cd1e2011444353ca

Signed-off-by: bones_was_here <bones_was_here@xonotic.au>
13 months agoUpdate compiler options, fixing obscure bug
bones_was_here [Sun, 2 Apr 2023 16:30:51 +0000 (02:30 +1000)]
Update compiler options, fixing obscure bug

Added -mno-avx to avoid QC bugs on (at least) haswell and skylake targets.

Removed -fno-signaling-nans as clang doesn't support it and spams warns,
and in GCC it's the default.

Removed -fno-rounding-math as this is also the default.

14 months agofs: Use unsigned short for filename size
Cloudwalk [Fri, 24 Mar 2023 13:54:31 +0000 (09:54 -0400)]
fs: Use unsigned short for filename size

Also remove namesize < 0 check as this is no longer possible

14 months agofs: Use unsigned short for extra field and file comment lengths
Cloudwalk [Fri, 24 Mar 2023 12:43:00 +0000 (08:43 -0400)]
fs: Use unsigned short for extra field and file comment lengths

15 months agoAdd cvar sv_legacy_bbox_expand for disabling Quake entity bbox expansion
bones_was_here [Fri, 3 Feb 2023 05:38:17 +0000 (15:38 +1000)]
Add cvar sv_legacy_bbox_expand for disabling Quake entity bbox expansion

This avoids obscure bugs and awkward workarounds especially with CSQC player prediction.

Signed-off-by: bones_was_here <bones_was_here@xonotic.au>
22 months agoIncrease response buffer to allow listing more players
terencehill [Fri, 8 May 2020 22:16:15 +0000 (00:16 +0200)]
Increase response buffer to allow listing more players

Signed-off-by: bones_was_here <bones_was_here@xa.org.au>
23 months agogl_flashblend: don't ignore r_coronas and don't double the corona size xonotic-v0.8.5
bones_was_here [Mon, 27 Jun 2022 18:17:20 +0000 (04:17 +1000)]
gl_flashblend: don't ignore r_coronas and don't double the corona size

Fixes ubercoronas and matches the master branch.

Signed-off-by: bones_was_here <bones_was_here@xa.org.au>
2 years agoSync dpmaster list with master branch
bones_was_here [Sun, 27 Mar 2022 19:18:32 +0000 (05:18 +1000)]
Sync dpmaster list with master branch

Signed-off-by: bones_was_here <bones_was_here@xa.org.au>
2 years agoExplicitly initialize openssl for older curl versions
Gary Moon [Sat, 26 Mar 2022 21:15:31 +0000 (17:15 -0400)]
Explicitly initialize openssl for older curl versions

Signed-off-by: Gary Moon <gary@garymoon.net>
2 years agoSync .gitignore from master branch
bones_was_here [Mon, 21 Mar 2022 22:37:58 +0000 (08:37 +1000)]
Sync .gitignore from master branch

Signed-off-by: bones_was_here <bones_was_here@xa.org.au>
2 years agodpsoftrast: Fix GCC 11 build
Cloudwalk [Thu, 21 Oct 2021 17:02:34 +0000 (13:02 -0400)]
dpsoftrast: Fix GCC 11 build

Patch from https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bc2ba1cd6fdc5a7ad7d161efb21652b73c6b207e

3 years agoUNMERGE! Implement SDL2 AUDIO_F32 format and use it as the default, since it has... 29/merge
havoc [Sun, 26 May 2019 03:04:36 +0000 (03:04 +0000)]
UNMERGE! Implement SDL2 AUDIO_F32 format and use it as the default, since it has become the preferred format of more platforms these days, and SDL2 uses it internally.

Improved the fallback mechanism on SDL2 audio setup - by removing it; SDL2 will tell us what changes it makes for the format, and it will convert the rest automatically.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12476 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::unmerge=925dc3b341a087249ca6fa0be7c227e49d01b213

3 years agoUNMERGE! + Compiling fix
motorsep [Sun, 26 May 2019 22:05:03 +0000 (22:05 +0000)]
UNMERGE! + Compiling fix

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12477 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::unmerge=26e5b80cd0a43345efe839789be857f31db1bdc1

3 years ago+ Compiling fix
motorsep [Sun, 26 May 2019 22:05:03 +0000 (22:05 +0000)]
+ Compiling fix

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12477 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::merge=26e5b80cd0a43345efe839789be857f31db1bdc1

3 years agoImplement SDL2 AUDIO_F32 format and use it as the default, since it has become the...
havoc [Sun, 26 May 2019 03:04:36 +0000 (03:04 +0000)]
Implement SDL2 AUDIO_F32 format and use it as the default, since it has become the preferred format of more platforms these days, and SDL2 uses it internally.

Improved the fallback mechanism on SDL2 audio setup - by removing it; SDL2 will tell us what changes it makes for the format, and it will convert the rest automatically.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12476 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::merge=925dc3b341a087249ca6fa0be7c227e49d01b213

3 years agoFix pure data entities being linked into the area grid, causing performance hit
cloudwalk [Tue, 26 May 2020 13:59:03 +0000 (13:59 +0000)]
Fix pure data entities being linked into the area grid, causing performance hit

From Mario (Xonotic).

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12586 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::merge=b1d6f1dfb96bedba50fbe394ca3f0c710f99381b

3 years agoFix most Q3 & QL glow maps
cloudwalk [Mon, 25 May 2020 13:51:59 +0000 (13:51 +0000)]
Fix most Q3 & QL glow maps

From bones_was_here: "Very few glow maps work in unmodified Q3 maps as they do not use the _glow darkplaces convention, instead Q3 shaders specify the file name to use which is not currently supported.
Fortunately there is a naming convention started in id software's pak0 and continued in QL and most 3rd party maps.  It uses these forms: foo_texture.blend.ext and bar_texture_blend.ext
It's not possible to fix 100% of glow maps without parsing Q3 shaders and using the specified file name, but this is a big improvement.
This also fixes a few glow maps in nexcompat, which are originally Q3 textures that were not renamed to _glow."

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12573 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::merge=9155ce9124c0d6f63a262291a95304e20e911243

3 years agoDon't enable moncontrol if non-glibc on Linux. Fixes linking against musl
cloudwalk [Mon, 15 Jun 2020 00:47:35 +0000 (00:47 +0000)]
Don't enable moncontrol if non-glibc on Linux. Fixes linking against musl

Partially from https://gitlab.com/xonotic/darkplaces/-/merge_requests/86

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12676 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::merge=852599bd359f9b6482f47fc5b9ab7d222119129f

3 years agoFix FS_Seek for compressed file from PK3
cloudwalk [Sun, 24 May 2020 14:18:15 +0000 (14:18 +0000)]
Fix FS_Seek for compressed file from PK3

From Slava: "Currently FS_Seek works incorrectly with compressed files from PK3 but this issue isn't noticed because in most cases engine is using FS_LoadFile which reads file sequentially without seeking."

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12564 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::merge=79fff8c0583c2b27bc216f718332d12d4623ebbc

3 years agokeys: Fix intermittent buffer overflow when pasting text. From malice
cloudwalk [Sun, 24 Jan 2021 02:23:33 +0000 (02:23 +0000)]
keys: Fix intermittent buffer overflow when pasting text. From malice

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@13092 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::merge=6c3cfd667f00484beee8b27d663a55cd6b53b43b

4 years agoFix the corona bug. The render bug only though.
divverent [Mon, 23 Mar 2020 20:37:56 +0000 (20:37 +0000)]
Fix the corona bug. The render bug only though.

This is done by reviving alphamod and colormod arguments of
RSurf_ActiveCustomEntity.

The current implementation is a bit rough and needlessly copies the
worldentity; the struct isn't huge though and it's only done when
actually colormodding (and thus only for coronas, r_editlights, a few
sprites and nomodels).

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12525 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::merge=c1ae70566d016a8f85acb3d4293c5dbc53886a51

4 years agoSimplify R_DrawCustomSurface by calling R_DrawCustomSurface_Texture.
divverent [Mon, 23 Mar 2020 20:37:55 +0000 (20:37 +0000)]
Simplify R_DrawCustomSurface by calling R_DrawCustomSurface_Texture.

Also, removed some stuff that's redundant with R_GetCurrentTexture.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12524 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::merge=c78240adf3aa2928002de7201e7bdfe02ecfe3b5

4 years agoRefactored R_UpdateEntityLighting to CL_UpdateEntityShading, which sets fields like...
havoc [Mon, 9 Apr 2018 04:39:19 +0000 (04:39 +0000)]
Refactored R_UpdateEntityLighting to CL_UpdateEntityShading, which sets fields like ent->render_modellight_ambient.

Added texture->render_modellight_ambient and similar fields which concretely define how the material is to be rendered, so all of the various tweaks and modifiers are no longer buried in R_SetupShader_Surface which has now been refactored heavily.

Removed R_LightPoint as it's really not necessary - this change will make lit particles a little bit slower as R_CompleteLightPoint is a slightly more expensive function.

Refactored R_CompleteLightPoint to have more consistent code, changed the final color math so that it passes q1bsp/q2bsp lighting through unmodified.

Changed shading of tag_entity attachments - they now use the root entity's origin for shading, this fixes r_shadows where the shadows could go in different directions on CSQC entities (r_shadows code already contained a hack to work around this problem for network entities).

Renamed r_refdef.lightmapintensity and ambient to r_refdef.scene.lightmapintensity and ambientintensity.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12376 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::merge=4e1f3f76d5fe7befe20034a730630c314d45956b

4 years agoUNMERGE! Refactored R_UpdateEntityLighting to CL_UpdateEntityShading, which sets...
havoc [Mon, 9 Apr 2018 04:39:19 +0000 (04:39 +0000)]
UNMERGE! Refactored R_UpdateEntityLighting to CL_UpdateEntityShading, which sets fields like ent->render_modellight_ambient.

Added texture->render_modellight_ambient and similar fields which concretely define how the material is to be rendered, so all of the various tweaks and modifiers are no longer buried in R_SetupShader_Surface which has now been refactored heavily.

Removed R_LightPoint as it's really not necessary - this change will make lit particles a little bit slower as R_CompleteLightPoint is a slightly more expensive function.

Refactored R_CompleteLightPoint to have more consistent code, changed the final color math so that it passes q1bsp/q2bsp lighting through unmodified.

Changed shading of tag_entity attachments - they now use the root entity's origin for shading, this fixes r_shadows where the shadows could go in different directions on CSQC entities (r_shadows code already contained a hack to work around this problem for network entities).

Renamed r_refdef.lightmapintensity and ambient to r_refdef.scene.lightmapintensity and ambientintensity.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12376 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::unmerge=4e1f3f76d5fe7befe20034a730630c314d45956b

4 years agoAdd a Quake Live-style mouse acceleration mode.
divverent [Sun, 15 Mar 2020 01:45:25 +0000 (01:45 +0000)]
Add a Quake Live-style mouse acceleration mode.

Its cvars are m_accel_power*, and the cvar meanings are as close as possible
to the ezQuake implementation (as its source is available). Names differ though
due to conflicts with the current linear acceleration mode.

Original code by Frank <franparpe@franparpe.org>, cleanups by Rudolf Polzer <divVerent@xonotic.org>.

From: Frank <franparpe@franparpe.org>

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12523 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::merge=c86f199b83d6e60a28de0ad2509319db7408ba60

4 years agoChange default value of r_shadows_shadowmapscale from 1 to 0.25, so that
havoc [Mon, 9 Apr 2018 02:52:08 +0000 (02:52 +0000)]
Change default value of r_shadows_shadowmapscale from 1 to 0.25, so that
shadows cover a larger part of the level around the eye.

Change the way r_shadows 2 size is calculated so that it uses 1/4th of
the texture atlas size (at default this would be 2048 of 8192) rather
than 2*r_shadow_shadowmapping_maxsize (at default that was 2*512 = 1024
of 8192).

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12375 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::merge=18196a9701fcdcd17096f8ec03e5bc615e99ca12

4 years agoRemove the model parameter from NativeContentsFromSuperContents/SuperContentsFromNati...
havoc [Tue, 10 Apr 2018 06:59:02 +0000 (06:59 +0000)]
Remove the model parameter from NativeContentsFromSuperContents/SuperContentsFromNativeContents functions, none of the current formats need it.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12384 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::merge=3d604171a34bc172c17a00109fb71b322c3f9d14

4 years agoEnable GL_OES_framebuffer_object on Android - it was broken in Android 2.1 but that...
havoc [Tue, 10 Apr 2018 05:11:30 +0000 (05:11 +0000)]
Enable GL_OES_framebuffer_object on Android - it was broken in Android 2.1 but that's been irrelevant for years.

Remove prototype for R_Init, it doesn't exist.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12383 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::merge=17499dfe2bee8ebecbcb0f6ba3093a1ff2ea5070

4 years agoDon't bother setting anisotropy on textures twice during startup.
havoc [Tue, 10 Apr 2018 05:10:08 +0000 (05:10 +0000)]
Don't bother setting anisotropy on textures twice during startup.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12382 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::merge=4ae7fe612c11a83d43b3720b6ca870bbcce31399

4 years agoRemove v_glslgamma cvar (now assumed to be 1) and corresponding code like R_DrawGamma.
havoc [Tue, 10 Apr 2018 05:09:08 +0000 (05:09 +0000)]
Remove v_glslgamma cvar (now assumed to be 1) and corresponding code like R_DrawGamma.

RENDERPATH_GL1* paths no longer support bloom.

Fix a bug in D3D9 renderpath where SHADERPERMUTATION_GAMMARAMPS would crash due to using the wrong variable for the texture unit.

Enable GL_ARB_texture_non_power_of_two on OSX again - the old OSX versions and corresponding hardware that had issues are long gone.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12381 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::merge=477b95bb0bd3ee638ceefd2fc3251a43ff4212d0

4 years agoImproved r_sky_scissor - scissor box is tighter as it now computes scissor box for...
havoc [Mon, 9 Apr 2018 05:58:15 +0000 (05:58 +0000)]
Improved r_sky_scissor - scissor box is tighter as it now computes scissor box for each surface and combines them.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12380 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::merge=f20adec008541b59e0000bdabf6cc262d6c92a80

4 years agoImplemented r_sky_scissor feature (on by default) - this limits rendering of sky...
havoc [Mon, 9 Apr 2018 05:29:12 +0000 (05:29 +0000)]
Implemented r_sky_scissor feature (on by default) - this limits rendering of sky to approximately the area of the surfaces.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12379 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::merge=d6eabf6e35a6bda7d47b2acb87e3c5d2f5bde567

4 years agoAdded R_SkinFrame_PurgeSkinFrame to de-duplicate some repeated code.
havoc [Mon, 9 Apr 2018 05:01:24 +0000 (05:01 +0000)]
Added R_SkinFrame_PurgeSkinFrame to de-duplicate some repeated code.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12378 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::merge=fc2ec8a05d6ced30a4f3840752566f9460227247

4 years agoAdd prvm_offsets.h to VS2017 projects, so it can be searched easily.
havoc [Mon, 9 Apr 2018 04:40:24 +0000 (04:40 +0000)]
Add prvm_offsets.h to VS2017 projects, so it can be searched easily.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12377 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::merge=488a6f1ca3dcfac44522dcf6307d330d0d4f460c

4 years agoRefactored R_UpdateEntityLighting to CL_UpdateEntityShading, which sets fields like...
havoc [Mon, 9 Apr 2018 04:39:19 +0000 (04:39 +0000)]
Refactored R_UpdateEntityLighting to CL_UpdateEntityShading, which sets fields like ent->render_modellight_ambient.

Added texture->render_modellight_ambient and similar fields which concretely define how the material is to be rendered, so all of the various tweaks and modifiers are no longer buried in R_SetupShader_Surface which has now been refactored heavily.

Removed R_LightPoint as it's really not necessary - this change will make lit particles a little bit slower as R_CompleteLightPoint is a slightly more expensive function.

Refactored R_CompleteLightPoint to have more consistent code, changed the final color math so that it passes q1bsp/q2bsp lighting through unmodified.

Changed shading of tag_entity attachments - they now use the root entity's origin for shading, this fixes r_shadows where the shadows could go in different directions on CSQC entities (r_shadows code already contained a hack to work around this problem for network entities).

Renamed r_refdef.lightmapintensity and ambient to r_refdef.scene.lightmapintensity and ambientintensity.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12376 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::merge=4e1f3f76d5fe7befe20034a730630c314d45956b

4 years agoIncrease shadowmap bordersize from 4 to 5, thanks Vic for debugging this
havoc [Mon, 9 Apr 2018 02:39:42 +0000 (02:39 +0000)]
Increase shadowmap bordersize from 4 to 5, thanks Vic for debugging this
- the shadowmap filters need one more pixel than originally thought.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12374 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::merge=6d60da43c7b511ebafb25e110c8636e026a2280e

4 years agoFix a bug with height fog which was revealed by removing
havoc [Sun, 8 Apr 2018 23:59:22 +0000 (23:59 +0000)]
Fix a bug with height fog which was revealed by removing
RSurf_ActiveWorldEntity.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12373 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::merge=008d8756aa494164956200272bda3ba7d1b8f2d7

4 years agoMissed the cl_particles.c edits to remove RSurf_ActiveWorldEntity. I blame VS2017...
havoc [Sat, 7 Apr 2018 20:46:54 +0000 (20:46 +0000)]
Missed the cl_particles.c edits to remove RSurf_ActiveWorldEntity.  I blame VS2017, just because.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12372 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::merge=7407bbbcf97cc0f105b00c1affdadc84febdf245

4 years agoAdd a Quake Live-style mouse acceleration mode.
Frank [Sun, 15 Mar 2020 01:43:41 +0000 (21:43 -0400)]
Add a Quake Live-style mouse acceleration mode.

Its cvars are m_accel_power*, and the cvar meanings are as close as possible
to the ezQuake implementation (as its source is available). Names differ though
due to conflicts with the current linear acceleration mode.

Original code by Frank <franparpe@franparpe.org>, cleanups by Rudolf Polzer <divVerent@xonotic.org>.
::stable-branch::merge=67692f92e177d44231df0d59833cee069e71eb9a

4 years agoAnother flag bites the dust. This time: -ffinite-math-only.
divverent [Sat, 22 Feb 2020 03:47:48 +0000 (03:47 +0000)]
Another flag bites the dust. This time: -ffinite-math-only.

Since GCC 5, with this flag set, NaN compares equal to zero in some cases but
not others. Causes e.g. "attempted division by zero" error spam from this QC
code:

float x = nan("");
if (x == 0) {
  return 0;
}
return 1.0 / x;

Yes, those NaNs should not be happening in the first place, but suddenly
passing some but not all equality checks to zero seems rather dangerous.

Reference: issue #2412 (not a fix for it; the QC code has a problem too but
this change helps track it down properly).

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12522 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::merge=f96918f02808e35a2cd94885003c24a145be5bb9

4 years agoFixed compile warnings - Corrected formatting of 'if' statements
divverent [Tue, 31 Dec 2019 01:22:55 +0000 (01:22 +0000)]
Fixed compile warnings - Corrected formatting of 'if' statements

From: David Knapp <mazecraze96@gmail.com>

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12481 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::merge=852587f1186bd4b811d27338622f244fd36ecd60

4 years agoFix issue with noise during startup
divverent [Fri, 20 Sep 2019 15:27:46 +0000 (15:27 +0000)]
Fix issue with noise during startup

After migrating to SDL2 interfaces there is noise during startup fix
this by initializng buffer as specification requires.

Per SDL_AudioCallback spec:
The callback must completely initialize the buffer; as of SDL 2.0, this buffer is not initialized before the callback is called. If there is nothing to play, the callback should fill the buffer with silence.

Signed-off-by: Amadeusz Sławiński <amade@asmblr.net>
git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12480 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::merge=83f8124af58307eae378846c9746b5d769673474

4 years agoTravis: Force XInput and XRandR support.
divverent [Fri, 13 Sep 2019 00:46:52 +0000 (00:46 +0000)]
Travis: Force XInput and XRandR support.

May fix "window gets withdrawn on startup on Linux fullscreen".

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12479 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::merge=3da25d864d1ffaefd67b464ae0f015107caa3d5e

4 years agoUpdate Xonotic's SDL version to 2.0.10
divverent [Fri, 23 Aug 2019 23:58:55 +0000 (23:58 +0000)]
Update Xonotic's SDL version to 2.0.10

From: Mario <mario@smbclan.net>

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12478 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::merge=26e11a76c1f5cfbe0b7b8987c79ee3ff318979df

5 years agoFix engine not starting on Windows if linked against SDL > 2.0.5
divverent [Sat, 2 Feb 2019 02:48:15 +0000 (02:48 +0000)]
Fix engine not starting on Windows if linked against SDL > 2.0.5

This migrates SDL_OpenAudio -> SDL_OpenAudioDevice et cetera, i.e. with explicit
device handles now.

Changes from DarkplacesRM

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12471 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::merge=2075ae43356d724bae305ce8fd36ea570718b14a

5 years agoFix setinfo.
divverent [Wed, 9 Jan 2019 21:00:36 +0000 (21:00 +0000)]
Fix setinfo.

Repro:

]setinfo
]setinfo tea "earl grey, hot"
]setinfo

This kills the "team=none" info variable.

Also, fix some memory accesses beyond end of string; probably can be
reproduced somehow to cause mayhem.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12470 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::merge=1ff3bc8e953680793a28ea923f2d1e58cdf2c9f0

5 years agoUncomment the texture binding check in R_Mesh_TexBind so that the engine makes less...
havoc [Sat, 7 Apr 2018 19:27:07 +0000 (19:27 +0000)]
Uncomment the texture binding check in R_Mesh_TexBind so that the engine makes less calls.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12371 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::merge=58e0683b70d9bc05503ecb9dd6d993f2d4817543

5 years agoDelete unused Debug_PolygonBegin and associated code.
havoc [Sat, 7 Apr 2018 19:25:34 +0000 (19:25 +0000)]
Delete unused Debug_PolygonBegin and associated code.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12370 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::merge=4a6fac9f373f532d7d634b73af48e584571cffb4

5 years agoConfigure all of the CL_MeshEntities* meshes the same, the material flags decide...
havoc [Sat, 7 Apr 2018 19:20:05 +0000 (19:20 +0000)]
Configure all of the CL_MeshEntities* meshes the same, the material flags decide whether each thing should cast a shadow.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12368 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::merge=eb155f171d675b2c36f09f0bdf348776d2ec2fab

5 years agoFix a mistake made when merging R_RenderView call in #12367.
havoc [Sat, 7 Apr 2018 19:25:02 +0000 (19:25 +0000)]
Fix a mistake made when merging R_RenderView call in #12367.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12369 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::merge=fd0467e87509873f19257652c7bddf37db0e172b

5 years agoMake the semantics of CL_VM_UpdateView more clear - if CSQC is loaded, it is required...
havoc [Sat, 7 Apr 2018 19:18:49 +0000 (19:18 +0000)]
Make the semantics of CL_VM_UpdateView more clear - if CSQC is loaded, it is required to provide the CSQC_UpdateView function, and won't render a view if it does not call that, so we don't need to check its return value.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12367 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::merge=11279e294fa4b5759195d32b2afa2172b55e1f6d

5 years agoDon't duplicate the entity relinking when using CSQC.
havoc [Sat, 7 Apr 2018 19:14:39 +0000 (19:14 +0000)]
Don't duplicate the entity relinking when using CSQC.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12366 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::merge=85b3fedf1e968fb413bac5730e8f9627de987acb

5 years agoMark r_fakelight and r_equalize_entities_fullbright DEPRECATED.
divverent [Thu, 5 Apr 2018 20:43:05 +0000 (20:43 +0000)]
Mark r_fakelight and r_equalize_entities_fullbright DEPRECATED.

Users of these features should migrate to r_fullbright_directed 1, which
is simpler but achieves a similar effect.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12365 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::merge=a7c9a3c360206d8c02edab293ac4d9a0fdd825a7

5 years agoNew alternative to fullbright: r_fullbright_directed.
divverent [Thu, 5 Apr 2018 20:43:02 +0000 (20:43 +0000)]
New alternative to fullbright: r_fullbright_directed.

Set this to 1, and anything EF_FULLBRIGHT or fullbright due to
r_fullbright or unlit map (but specifically not sprites and surfaces
with surfaceparm nolightmap) will have a directional effect applied to
them.

This mode is intended for testing maps in early development, and should
not be used for normal gameplay (although it should be rather harmless
there).

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12364 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::merge=a79257eab1a7bf88d4403dc6da01063f813f9e71

5 years agoAdd an in_releaseall command for debugging/working around stuck keys.
divverent [Thu, 5 Apr 2018 20:42:33 +0000 (20:42 +0000)]
Add an in_releaseall command for debugging/working around stuck keys.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12363 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::merge=f4fad9dbeda77dc25174c242f04c5abe88fafaf9

5 years agoManage resetting the key event state on video reinitialization centrally.
divverent [Thu, 5 Apr 2018 20:42:29 +0000 (20:42 +0000)]
Manage resetting the key event state on video reinitialization centrally.

Fixes:
- No key state clear when SDL gets restarted.
- Key state clear was the wrong action - it allows all keys to get pressed
  again, but does not actually release anything in cl_input.c, so e.g. +jump
  binds stay pressed on vid_restart.

Only vid_wgl.c retains some vid-specific handling (reset of key state when
alt-tabbing out and back in) - there's a chance that we may need similar logic
in the other vid drivers; if so, it may be possible to do this in a shared
place too by watching for changes to vid_activewindow.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12362 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::merge=23fba558a074bc8f7b32f9dceae4a2eb96f1789a

6 years agoFix "Cully McCullface" bug found by terencehill.
divverent [Thu, 5 Apr 2018 00:32:02 +0000 (00:32 +0000)]
Fix "Cully McCullface" bug found by terencehill.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12361 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::merge=a8b156d66e65793406f0039985f62307d153126e

6 years agoFix compile of vid_glx.c after the update on hwgamma.
divverent [Thu, 5 Apr 2018 00:31:59 +0000 (00:31 +0000)]
Fix compile of vid_glx.c after the update on hwgamma.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12360 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::merge=45ba6dd4ce52ddd96c8706b335a7b15c57d457a3

6 years agoRemove v_hwgamma feature as it is not worth maintaining and has severe restrictions...
havoc [Tue, 3 Apr 2018 05:33:43 +0000 (05:33 +0000)]
Remove v_hwgamma feature as it is not worth maintaining and has severe restrictions on Windows that are unintuitive.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12359 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::merge=77af8a073b9006fbdf7aa2e7bc92dba2f22b25af

6 years agoVarious cleanup.
havoc [Sun, 25 Mar 2018 19:51:29 +0000 (19:51 +0000)]
Various cleanup.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12354 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::merge=21d5a2cb164f12c5a56fbf1a4953306b7988071c

6 years agoUNMERGE! Various cleanup.
havoc [Sun, 25 Mar 2018 19:51:29 +0000 (19:51 +0000)]
UNMERGE! Various cleanup.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12354 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::unmerge=21d5a2cb164f12c5a56fbf1a4953306b7988071c

6 years agoUNMERGE! Remove v_hwgamma feature as it is not worth maintaining and has severe restr...
havoc [Tue, 3 Apr 2018 05:33:43 +0000 (05:33 +0000)]
UNMERGE! Remove v_hwgamma feature as it is not worth maintaining and has severe restrictions on Windows that are unintuitive.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12359 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::unmerge=77af8a073b9006fbdf7aa2e7bc92dba2f22b25af

6 years agoFix mouse spinning bug in wgl client when the game window is moved left or above...
havoc [Tue, 3 Apr 2018 05:14:29 +0000 (05:14 +0000)]
Fix mouse spinning bug in wgl client when the game window is moved left or above the default monitor (negative window position).

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12358 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::merge=2ea805bf4ac39b362fe4a725e80d9687d5807a34

6 years agoRemove v_hwgamma feature as it is not worth maintaining and has severe restrictions...
havoc [Tue, 3 Apr 2018 05:33:43 +0000 (05:33 +0000)]
Remove v_hwgamma feature as it is not worth maintaining and has severe restrictions on Windows that are unintuitive.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12359 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::merge=77af8a073b9006fbdf7aa2e7bc92dba2f22b25af

6 years agoChange shader permutation flags to 64bit.
havoc [Sun, 25 Mar 2018 21:29:52 +0000 (21:29 +0000)]
Change shader permutation flags to 64bit.

Added dpuint64 and dpint64 types.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12357 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::merge=ff4d2345f3b3fd427852095c77fedc616bfdab5d

6 years agoRewrote most of r_lightning.c, it now uses CL_MeshEntities in MESH_PARTICLES rather...
havoc [Sun, 25 Mar 2018 20:04:14 +0000 (20:04 +0000)]
Rewrote most of r_lightning.c, it now uses CL_MeshEntities in MESH_PARTICLES rather than its own rendering code.

Changed the texture generation so it is in the same orientation as the external texture to reduce some code duplication, and changed the look of it to more closely mimic the model-based lightning.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12356 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::merge=149a19636b5fcea9d572d56267005d94747a1690

6 years agoAdd CL_MeshEntities_*, every frame in the client all MESH_ entities are added to...
havoc [Sun, 25 Mar 2018 19:58:39 +0000 (19:58 +0000)]
Add CL_MeshEntities_*, every frame in the client all MESH_ entities are added to the frame if they have any surfaces - surfaces can be created with Mod_Mesh_AddSurface and friends.  These entities have full material rendering support, which should allow reducing the number of special case renderable objects in the scene in future.

Add Mod_Mesh functions - these allow creation of dynamic mesh models.

Add Mod_LoadCustomMaterial which initializes a texture_t using a skinframe and some parameters, useful with Mod_Mesh and CL_MeshEntities.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12355 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::merge=2bac60709c4346c472301edf43d1723a72369450

6 years agoVarious cleanup.
havoc [Sun, 25 Mar 2018 19:51:29 +0000 (19:51 +0000)]
Various cleanup.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12354 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::merge=21d5a2cb164f12c5a56fbf1a4953306b7988071c

6 years agoChange r_showbboxes to have outlined edges of the box, and the box is now rendered...
havoc [Sat, 24 Mar 2018 21:35:50 +0000 (21:35 +0000)]
Change r_showbboxes to have outlined edges of the box, and the box is now rendered as doublesided which feels more consistent when moving in/out of large trigger boxes and similar.

Added r_showbboxes_client which shows bboxes of clientside qc entities.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12353 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::merge=d1c38cc18b4f614d13108c9ee0d36883e5aab220

6 years agoAdd entity number to showtex overlay.
havoc [Sat, 24 Mar 2018 21:34:21 +0000 (21:34 +0000)]
Add entity number to showtex overlay.
Add clientside qc entity support to showtex - trace is performed on client and server and the shorter one will be shown.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12352 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::merge=206a912be5bcbcb32f38f3878d717afeddd8a39f

6 years agoAdd skipmaterialflagsmask feature to TraceLine and friends - this allows more sensibl...
havoc [Sat, 24 Mar 2018 17:47:32 +0000 (17:47 +0000)]
Add skipmaterialflagsmask feature to TraceLine and friends - this allows more sensible skipping of non-occluders by material (MATERIALFLAGMASK_TRANSLUCENT is now useful).

Recreated TracePoint code from TraceLine code to make it set depth variables properly.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12351 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::merge=f7750d34bc095248efb2aec0cefb2e3db367ab3b

6 years agoFix a bug with PRVM_64 where CSQC float stats were sent by aliasing to int64 and...
havoc [Sat, 17 Mar 2018 07:35:38 +0000 (07:35 +0000)]
Fix a bug with PRVM_64 where CSQC float stats were sent by aliasing to int64 and returning as int32, now correctly converts to float and then uses a union to get the int32 representation.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12350 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::merge=af6dae7f1b49b8269f6d8371d67ebc731ad0d0e1

6 years agoAdd r_shadow_culllights_trace feature, this culls rtlights by traceline checks simila...
havoc [Sun, 11 Mar 2018 19:26:55 +0000 (19:26 +0000)]
Add r_shadow_culllights_trace feature, this culls rtlights by traceline checks similar to entities.

Add r_shadow_culllights_pvs cvar so that the pvs checks can be turned off, for debugging or otherwise.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12349 d7cf8633-e32d-0410-b094-e92efae38249
::stable-branch::merge=05dbb25f75f5aeff3822a7feccad0e53a1d3c5be