]> de.git.xonotic.org Git - xonotic/darkplaces.git/log
xonotic/darkplaces.git
5 years agoFix the menu for missing data, it needs to use CACHEPICFLAG_FAILONMISSING or the...
havoc [Sun, 29 Apr 2018 09:32:21 +0000 (09:32 +0000)]
Fix the menu for missing data, it needs to use CACHEPICFLAG_FAILONMISSING or the Draw_IsPicLoaded call will never fail.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12403 d7cf8633-e32d-0410-b094-e92efae38249

5 years agoFix Image_GenerateNoTexture, it was using a wrong stride, resulting in a very bogus...
havoc [Sun, 29 Apr 2018 09:23:09 +0000 (09:23 +0000)]
Fix Image_GenerateNoTexture, it was using a wrong stride, resulting in a very bogus image with the bottom half being black.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12402 d7cf8633-e32d-0410-b094-e92efae38249

6 years agoRemove the last remnants of DPSOFTRAST support in vid_glx.c.
havoc [Fri, 20 Apr 2018 06:06:03 +0000 (06:06 +0000)]
Remove the last remnants of DPSOFTRAST support in vid_glx.c.

Remove some dead files.

Fix some warnings on CL_MeshEntities functions that should have been
static.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12401 d7cf8633-e32d-0410-b094-e92efae38249

6 years agoFix a prvm_int_t variable that was being passed directly to printf.
havoc [Fri, 20 Apr 2018 05:59:25 +0000 (05:59 +0000)]
Fix a prvm_int_t variable that was being passed directly to printf.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12400 d7cf8633-e32d-0410-b094-e92efae38249

6 years agoRemove all render paths except GL20/GLES2. This means no DPSOFTRAST, no DX9 support...
havoc [Fri, 20 Apr 2018 05:36:20 +0000 (05:36 +0000)]
Remove all render paths except GL20/GLES2.  This means no DPSOFTRAST, no DX9 support, no GL1.1/GL1.3 support.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12399 d7cf8633-e32d-0410-b094-e92efae38249

6 years agoReworked v_isometric code significantly, it now defaults to a proper isometric view...
havoc [Sun, 15 Apr 2018 23:23:11 +0000 (23:23 +0000)]
Reworked v_isometric code significantly, it now defaults to a proper isometric view and some maps are actually playable like this.

Added R_Viewport_InitOrtho3D which more correctly implements the VF_PERSPECTIVE=0 case for CSQC, with correct camera orientation and all that.  This may break existing mods that tried to use that feature but I doubt there are any as it was pretty broken before.

Reworked how R_CanSeeBox (and other vis code) determine if the view is able to use vieworigin based culling or not, this is now a separate property (r_refdef.view.usevieworiginculling) and can be turned on or off for reflection views and such.  This is also exposed as v_isometric_usevieworiginculling for the v_isometric case.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12398 d7cf8633-e32d-0410-b094-e92efae38249

6 years agoChanged how polygonbegin guesses if the geometry is 2D or 3D, it now uses a separate...
havoc [Sun, 15 Apr 2018 23:17:19 +0000 (23:17 +0000)]
Changed how polygonbegin guesses if the geometry is 2D or 3D, it now uses a separate variable rather than relying on r_refdef.draw2dstage.

Reworked DrawQ_* and R_RenderView code to make clear distinctions between 2D and 3D code, this removes a lot of unnecessary calls to DrawQ_FlushUI (including ones that happened in R_RenderView).

Added R_DebugLine which takes a line in world coordinates and adds it as a 2D line in CL_Mesh_UI.

Added r_showparticleedges and r_showspriteedges debugging cvars which make use of R_DebugLine.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12397 d7cf8633-e32d-0410-b094-e92efae38249

6 years agoAdded v_isometric cvars, this mode is mostly a curiosity but it's useful for testing...
havoc [Sat, 14 Apr 2018 06:54:35 +0000 (06:54 +0000)]
Added v_isometric cvars, this mode is mostly a curiosity but it's useful for testing engine compatibility with non-perspective rendering.

Fixed a few bugs where distance culling was misbehaving with non-perspective rendering.

Make r_refdef.view.ismain more useful - it's now cleared after R_RenderView rather than before, so R_RenderView can make use of it (for r_motionblur ghost texture updates and anything else that wants to happen just on the main view).

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12396 d7cf8633-e32d-0410-b094-e92efae38249

6 years agoAdded r_cullentities_trace_expand and pad cvars, these configure additional ways...
havoc [Sat, 14 Apr 2018 05:20:44 +0000 (05:20 +0000)]
Added r_cullentities_trace_expand and pad cvars, these configure additional ways to expand entity boxes when culling by traceline.

Added r_vis_trace feature which allows you to turn on traceline-based culling of portals, and r_vis_trace_surfaces lets you cull surfaces by traceline (slow and probably pointless, but a curious feature).

Added r_shadow_culllights_trace_expand and pad cvars.

Added sv_cullentities_trace_expand to make SV_CanSeeBox be at feature parity with R_CanSeeBox.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12395 d7cf8633-e32d-0410-b094-e92efae38249

6 years agoFix two pieces of code that did not compile with PRVM_64.
havoc [Sat, 14 Apr 2018 05:11:44 +0000 (05:11 +0000)]
Fix two pieces of code that did not compile with PRVM_64.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12394 d7cf8633-e32d-0410-b094-e92efae38249

6 years agoEnable PRVM_64 - the QuakeC VM will run as 64bit (using int64/double rather than...
havoc [Sat, 14 Apr 2018 04:34:54 +0000 (04:34 +0000)]
Enable PRVM_64 - the QuakeC VM will run as 64bit (using int64/double rather than int/float).

This means that levels can run for > 10 hours without time precision issues, and float flags values can have flags ranging up to 54 bits rather than 24 bits.

There may be bugs, and physics is still using 32bit floats in a bunch of places so this does not enable huge worlds currently.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12393 d7cf8633-e32d-0410-b094-e92efae38249

6 years agoCheck r_showtris cvar as a float rather than integer - can now use fractional brightness.
havoc [Sat, 14 Apr 2018 04:26:28 +0000 (04:26 +0000)]
Check r_showtris cvar as a float rather than integer - can now use fractional brightness.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12392 d7cf8633-e32d-0410-b094-e92efae38249

6 years agoFix incorrect layer color values that caused models to be completely black in RENDERP...
havoc [Fri, 13 Apr 2018 05:31:46 +0000 (05:31 +0000)]
Fix incorrect layer color values that caused models to be completely black in RENDERPATH_GL1*.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12391 d7cf8633-e32d-0410-b094-e92efae38249

6 years agoMade RENDERPATH_GL20 require fbo support and always use it.
havoc [Fri, 13 Apr 2018 05:20:44 +0000 (05:20 +0000)]
Made RENDERPATH_GL20 require fbo support and always use it.

Implemented R_RenderTarget system for managing fbo and texture requests dynamically, reusing the same ones across frames - this means that the textures are now allocated much smaller and there is better handling of multiple CSQC viewports.

In the short-term this means that vid_samples antialiasing doesn't do anything, it will need to be reimplemented using fbo.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12390 d7cf8633-e32d-0410-b094-e92efae38249

6 years agoFix some viewport issues with r_viewfbo and r_bloom by passing view size information...
havoc [Fri, 13 Apr 2018 05:00:22 +0000 (05:00 +0000)]
Fix some viewport issues with r_viewfbo and r_bloom by passing view size information when calling the various rendering subsystems - there are still a bunch of bugs but this is a temporary measure before rendertargets are put in.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12389 d7cf8633-e32d-0410-b094-e92efae38249

6 years agoCSQC polygonbegin functionality now uses the CL_MeshEntities system, this finally...
havoc [Fri, 13 Apr 2018 02:23:34 +0000 (02:23 +0000)]
CSQC polygonbegin functionality now uses the CL_MeshEntities system, this finally makes it possible to use shaders on those polygons.

UI elements (DrawQ_ system) now use the CL_MeshEntities system, but still renders the mesh the old way, shader support is planned.

DrawQ_Line no longer uses GL_LINES, it now produces a polygon in the CL_MeshEntities system, so shownetgraph and r_speeds_graph features now work on D3D9/DPSOFTRAST/GLES2 render paths.

Added MATERIALFLAG_VERTEXCOLOR as a special case for rgbgen vertex shaders that are being used by CL_MeshEntities meshes, currently this is an unlit type of material but lighting support for it is planned.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12388 d7cf8633-e32d-0410-b094-e92efae38249

6 years agoDefault scr_loadingscreen_background to 1, and also a fix for sRGB issues with the...
havoc [Thu, 12 Apr 2018 22:08:34 +0000 (22:08 +0000)]
Default scr_loadingscreen_background to 1, and also a fix for sRGB issues with the loadingscreen background.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12387 d7cf8633-e32d-0410-b094-e92efae38249

6 years agoFix a bug where R_GetTexture could return 0 rather than a white texture.
havoc [Thu, 12 Apr 2018 21:44:41 +0000 (21:44 +0000)]
Fix a bug where R_GetTexture could return 0 rather than a white texture.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12386 d7cf8633-e32d-0410-b094-e92efae38249

6 years agoAdded Draw_GetPicWidth, Draw_GetPicHeight, Draw_IsPicLoaded functions and moved cache...
havoc [Wed, 11 Apr 2018 05:28:24 +0000 (05:28 +0000)]
Added Draw_GetPicWidth, Draw_GetPicHeight, Draw_IsPicLoaded functions and moved cachepic_t to live in gl_draw.c (no longer visible to other modules).

Changed Draw_CachePic to use the R_SkinFrame_LoadExternal system, and reworked font loading to use Draw_CachePic rather than keeping track of textures itself.  R_SkinFrame_LoadExternal can now load gfx.wad lumps and gfx/*.lmp files, and the embedded images have been moved to image.c as they are now returned as raw images, suitable for R_SkinFrame_LoadExternal to use.

Reworked cl_video code to not need the cl_dyntexture system (which has been removed); it still uses dynamic texture callbacks (which is a feature of rtexture_t).

Changed the parameters to Mod_LoadCustomMaterial and a few other model_shared.c functions to not assume loadmodel is the owner of memory and textures; this was necessary for Draw_CachePic to be able to use R_SkinFrame_LoadExternal.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12385 d7cf8633-e32d-0410-b094-e92efae38249

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

6 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

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

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

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

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

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

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

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

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

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

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

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

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

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

6 years agoRework R_CanSeeBox a bit to support an eyejitter feature, and make it available throu...
havoc [Sun, 11 Mar 2018 19:24:42 +0000 (19:24 +0000)]
Rework R_CanSeeBox a bit to support an eyejitter feature, and make it available throughout the renderer.

Make TraceLineOfSight check if the trace endpos is within a box, not just if fraction is 1 - this makes it much more likely to say an object is visible when the object overlaps walls and other obstacles as the rays only need to reach the box, it doesn't matter much where it goes inside the box.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12348 d7cf8633-e32d-0410-b094-e92efae38249

6 years agoChange shadowless rtlights so that they are not occluded by anything - no pvs checks...
havoc [Sun, 11 Mar 2018 19:08:41 +0000 (19:08 +0000)]
Change shadowless rtlights so that they are not occluded by anything - no pvs checks or portal culling.

This makes r_shadow_deferred 0 look the same as r_shadow_deferred 1 - lights fill their whole area if there are no shadows to block them.

This also fixes a popping issue with r_shadow_deferred 1 where the eye was not in a leaf the light considered to be visible, and thus the light was not drawn (which made quite a difference when you move back and forth between leafs that were and were not lit), since when it was drawn it lit everything in the area.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12347 d7cf8633-e32d-0410-b094-e92efae38249

6 years agoDon't set MATERIALFLAG_NOSHADOW on SKY materials. They need to cast shadows to preve...
havoc [Sun, 11 Mar 2018 19:04:22 +0000 (19:04 +0000)]
Don't set MATERIALFLAG_NOSHADOW on SKY materials.  They need to cast shadows to prevent issues in e1m7 and other cases where sky occludes light bleed into other areas.

But when loading Q1BSP, set MATERIALFLAG_NOSHADOW on SKY if it has non-SOLID contents behind it, this supports the e1m5 logo shadow trick.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12346 d7cf8633-e32d-0410-b094-e92efae38249

6 years agoFix a couple warnings for unused variables in listdirectory on WIN32.
havoc [Sun, 11 Mar 2018 18:53:55 +0000 (18:53 +0000)]
Fix a couple warnings for unused variables in listdirectory on WIN32.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12345 d7cf8633-e32d-0410-b094-e92efae38249

6 years agoGrant access to the FULLVOLUME flag from the QC VM (allows custom background music...
divverent [Tue, 6 Mar 2018 01:21:11 +0000 (01:21 +0000)]
Grant access to the FULLVOLUME flag from the QC VM (allows custom background music mods that aren't affected by the volume cvar)

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12344 d7cf8633-e32d-0410-b094-e92efae38249

6 years agoRemove the forced lower-casing in listdirectory on Windows, as it breaks
havoc [Wed, 29 Nov 2017 02:50:40 +0000 (02:50 +0000)]
Remove the forced lower-casing in listdirectory on Windows, as it breaks
the caseinsensitive=false case.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12343 d7cf8633-e32d-0410-b094-e92efae38249

6 years agoFix initialization of gunorg/vieworg when cl_followmodel/cl_leanmodel are disabled.
divverent [Tue, 31 Oct 2017 18:50:09 +0000 (18:50 +0000)]
Fix initialization of gunorg/vieworg when cl_followmodel/cl_leanmodel are disabled.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12342 d7cf8633-e32d-0410-b094-e92efae38249

6 years agoTravis/Xonotic: use Ubuntu's mingw-w64 and fix linux32 dependency hell.
divverent [Thu, 28 Sep 2017 16:57:52 +0000 (16:57 +0000)]
Travis/Xonotic: use Ubuntu's mingw-w64 and fix linux32 dependency hell.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12341 d7cf8633-e32d-0410-b094-e92efae38249

6 years agoFix bug with demo time
divverent [Fri, 22 Sep 2017 17:09:30 +0000 (17:09 +0000)]
Fix bug with demo time

Some demos may freeze at beginning, this fix this problem.

From: Slava Bacherikov <slava@bacher09.org>

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12340 d7cf8633-e32d-0410-b094-e92efae38249

6 years agoMake work DrawQ_SetClipArea in stereo view modes or when viewsize is lower than 100
divverent [Fri, 22 Sep 2017 17:09:27 +0000 (17:09 +0000)]
Make work DrawQ_SetClipArea in stereo view modes or when viewsize is lower than 100

NOTE from divVerent: the previous followmodel-related commit was mistakenly attributed to me, but was actually by terencehill too.

Signed-off-by: terencehill <piuntn@gmail.com>
git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12339 d7cf8633-e32d-0410-b094-e92efae38249

6 years agoAvoid running cl_followmodel and cl_leanmodel code if the relative cvars are turned off
divverent [Fri, 22 Sep 2017 16:46:56 +0000 (16:46 +0000)]
Avoid running cl_followmodel and cl_leanmodel code if the relative cvars are turned off

From: Rudolf Polzer <divVerent@xonotic.org>

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12338 d7cf8633-e32d-0410-b094-e92efae38249

6 years agoFix GLSL shader to only specify invariant gl_Position on the vertex shader, not the...
havoc [Wed, 30 Aug 2017 04:29:14 +0000 (04:29 +0000)]
Fix GLSL shader to only specify invariant gl_Position on the vertex shader, not the fragment shader - woops, this is what I get for not testing that change.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12337 d7cf8633-e32d-0410-b094-e92efae38249

6 years agoUse the invariant keyword on gl_Position on GLSL 1.20 or higher and GLSL ES
havoc [Sun, 6 Aug 2017 15:33:55 +0000 (15:33 +0000)]
Use the invariant keyword on gl_Position on GLSL 1.20 or higher and GLSL ES
1.00 or higher, this should resolve zfighting between light polygons and
base surfaces.

A long long time ago this was using ftransform() which ensured invariance but use of the invariant keyword was not added when we switched away from that.

Thanks for the bug report:
https://www.reddit.com/r/quake/comments/6rwwm5/need_some_help_getting_quake_running_with/

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12336 d7cf8633-e32d-0410-b094-e92efae38249

6 years agoSDL2: combine SDL_KEYDOWN events directly with following SDL_TEXTINPUT events when...
divverent [Mon, 10 Jul 2017 12:43:27 +0000 (12:43 +0000)]
SDL2: combine SDL_KEYDOWN events directly with following SDL_TEXTINPUT events when possible.

This solves ` keypresses that open/close the console also typing in a character
"once and for all". The ability to type the ` character into the console is not
impaired by this as con_closeontoggleconsole's logic to by default ignore the
toggleconsole key when in the console but not at the beginning of the line
still applies.

From: terencehill <piuntn@gmail.com>

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12335 d7cf8633-e32d-0410-b094-e92efae38249

6 years agorcon server: add an explicit check against empty password, instead of assuming the...
divverent [Wed, 26 Apr 2017 02:33:43 +0000 (02:33 +0000)]
rcon server: add an explicit check against empty password, instead of assuming the calling code is correct.

This logic had a bug in the past that had been introduced by r8886 and
accidentally fixed when introducing multi-account support in r9420. The bug was
that rcon_password being empty led to the empty password being accepted in some
cases, as there was never any explicit logic to handle that in rcon - it was
more "accidentally" rejected by a packet formatting check which does not apply
to srcon as the empty password wouldn't be empty over the wire.

In other words: DP builds from [r8886, r9419] had a serious vulnerability and
the only workaround is to always have rcon_password set.

The check added here will complain and reject in case the calling code for some
reason no longer prevents empty passwords from being accepted.

Also adding comments to the new logic explaining how it prevents the empty
password from being accepted.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12334 d7cf8633-e32d-0410-b094-e92efae38249

6 years agoMark a bug as done.
havoc [Sun, 23 Apr 2017 22:54:26 +0000 (22:54 +0000)]
Mark a bug as done.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12333 d7cf8633-e32d-0410-b094-e92efae38249

6 years agoFix bug where r_showbboxes broke bloom texture updates by setting GL_CullFace in...
havoc [Sun, 23 Apr 2017 22:53:08 +0000 (22:53 +0000)]
Fix bug where r_showbboxes broke bloom texture updates by setting GL_CullFace in R_Bloom_MakeTexture.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12332 d7cf8633-e32d-0410-b094-e92efae38249

6 years agoFix a bug in collisions between brushes and brushes when the plane is rotating -...
havoc [Sun, 23 Apr 2017 22:20:45 +0000 (22:20 +0000)]
Fix a bug in collisions between brushes and brushes when the plane is rotating - this case is never used currently but it's definitely a bug worth fixing.

Thanks to Eduard Elin for the bug report.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12331 d7cf8633-e32d-0410-b094-e92efae38249

6 years agoRemoved the gray-out behavior on the gamma settings in the color control menu when...
havoc [Sun, 23 Apr 2017 22:05:47 +0000 (22:05 +0000)]
Removed the gray-out behavior on the gamma settings in the color control menu when hwgamma is unsupported or disabled.

Apply gamma correction to the color boxes in the color control menu when hwgamma is off so that they are an accurate preview.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12330 d7cf8633-e32d-0410-b094-e92efae38249

6 years agoFix bugs in ModList_RebuildList such that it no longer lists files in the quake direc...
havoc [Sun, 23 Apr 2017 20:25:39 +0000 (20:25 +0000)]
Fix bugs in ModList_RebuildList such that it no longer lists files in the quake directory as gamedirs.

These bugs were previously hidden by a different behavior in FS_CheckNastyPath until 20140716 where directories with a period in their name were skipped, but that was not a complete solution.

Thanks to klichka for bug report.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12329 d7cf8633-e32d-0410-b094-e92efae38249

6 years agoAdd VS2017 projects.
havoc [Sun, 23 Apr 2017 19:40:24 +0000 (19:40 +0000)]
Add VS2017 projects.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12328 d7cf8633-e32d-0410-b094-e92efae38249

7 years agoTravis build script: bump the min OS X version.
divverent [Fri, 31 Mar 2017 21:47:12 +0000 (21:47 +0000)]
Travis build script: bump the min OS X version.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12327 d7cf8633-e32d-0410-b094-e92efae38249

7 years agoAdded a bug reported by kristus (tcmod rotate breaking normalmapping)
havoc [Sat, 18 Mar 2017 15:37:30 +0000 (15:37 +0000)]
Added a bug reported by kristus (tcmod rotate breaking normalmapping)

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12326 d7cf8633-e32d-0410-b094-e92efae38249

7 years agoUse SDL 2.0.5 for Xonotic builds.
divverent [Wed, 8 Mar 2017 21:27:37 +0000 (21:27 +0000)]
Use SDL 2.0.5 for Xonotic builds.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12325 d7cf8633-e32d-0410-b094-e92efae38249

7 years agor_coronas_occlusionquery: don't try using a GL20-requiring feature in the GL11/GL13...
divverent [Tue, 7 Mar 2017 19:12:17 +0000 (19:12 +0000)]
r_coronas_occlusionquery: don't try using a GL20-requiring feature in the GL11/GL13 render paths

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12324 d7cf8633-e32d-0410-b094-e92efae38249

7 years agoChat: accept K_KP_ENTER to end chat entry too.
divverent [Tue, 7 Mar 2017 18:33:54 +0000 (18:33 +0000)]
Chat: accept K_KP_ENTER to end chat entry too.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12323 d7cf8633-e32d-0410-b094-e92efae38249

7 years agoadded separate cl_nopred cvar to use when playing on qw servers since
havoc [Sat, 14 Jan 2017 19:33:33 +0000 (19:33 +0000)]
added separate cl_nopred cvar to use when playing on qw servers since
players expect prediction in quakeworld, now cl_movement is only used on
dp6/dp7 servers.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12322 d7cf8633-e32d-0410-b094-e92efae38249

7 years agoTravis changes for Xonotic:
divverent [Wed, 11 Jan 2017 21:50:45 +0000 (21:50 +0000)]
Travis changes for Xonotic:

- Do not require root any more.
- Change the i386 build to build on Ubuntu directly, not in a chroot created using debootstrap.
- Remove the -isysroot option for OS X as the path broke after some Travis change.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12321 d7cf8633-e32d-0410-b094-e92efae38249

7 years agoincrease MAX_CHANNELS to support quakemash
havoc [Sat, 7 Jan 2017 18:55:51 +0000 (18:55 +0000)]
increase MAX_CHANNELS to support quakemash

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12319 d7cf8633-e32d-0410-b094-e92efae38249

7 years agoFix some crashes affecting dedicated quake servers where texture->materialshaderpass...
havoc [Tue, 3 Jan 2017 03:25:39 +0000 (03:25 +0000)]
Fix some crashes affecting dedicated quake servers where texture->materialshaderpass is NULL.  A few other tweaks to ca_dedicated checks that were redundant.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12318 d7cf8633-e32d-0410-b094-e92efae38249

7 years agoRemove a confusing part of the description of r_shadow_shadowmapping
havoc [Mon, 2 Jan 2017 03:06:22 +0000 (03:06 +0000)]
Remove a confusing part of the description of r_shadow_shadowmapping
cvar.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12317 d7cf8633-e32d-0410-b094-e92efae38249

7 years agoFix rogue mission pack (Dissolution of Eternity) plasma launcher which
havoc [Mon, 2 Jan 2017 01:12:46 +0000 (01:12 +0000)]
Fix rogue mission pack (Dissolution of Eternity) plasma launcher which
uses velocity so small initially that SV_CheckVelocity was zeroing it in
the denormal check - the threshold has been lowered by 3 digits since
this was really only meant to detect denormals, not mess with real
numbers

thanks to Roman for this bug report

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12316 d7cf8633-e32d-0410-b094-e92efae38249

7 years agochange shadowmapping atlas from 4096x4096 to 8192x8192 because it looks
havoc [Mon, 2 Jan 2017 00:26:06 +0000 (00:26 +0000)]
change shadowmapping atlas from 4096x4096 to 8192x8192 because it looks
bad when it has to degrade shadowmap resolution to fit into 4096x4096
some of the time in start.bsp

this texture size is 256MB and should fit on most video cards...

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12315 d7cf8633-e32d-0410-b094-e92efae38249

7 years agoChange darkplaces email address to darkplacesengine (on gmail) since
havoc [Mon, 2 Jan 2017 00:14:36 +0000 (00:14 +0000)]
Change darkplaces email address to darkplacesengine (on gmail) since
gmail has better spam filtering than the old host

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12314 d7cf8633-e32d-0410-b094-e92efae38249

7 years agoDisable the __int128 code path for lehmer 128bit RNG because it doesn't
havoc [Sat, 10 Dec 2016 20:57:04 +0000 (20:57 +0000)]
Disable the __int128 code path for lehmer 128bit RNG because it doesn't
compile on an old XCode version I use.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12309 d7cf8633-e32d-0410-b094-e92efae38249

7 years agoonly use __int128 math on x86_64
havoc [Sat, 10 Dec 2016 20:17:30 +0000 (20:17 +0000)]
only use __int128 math on x86_64

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12308 d7cf8633-e32d-0410-b094-e92efae38249

7 years agoFix bug in loading additional skins after the ones that exist in the model in mdl...
havoc [Sat, 10 Dec 2016 19:50:51 +0000 (19:50 +0000)]
Fix bug in loading additional skins after the ones that exist in the model in mdl loader, which resulted in the missing texture being shown because the skin referenced a texture beyond num_textures.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12307 d7cf8633-e32d-0410-b094-e92efae38249

7 years agoUse tighter bounds for bouncegrid texture
vic [Fri, 2 Dec 2016 20:19:47 +0000 (20:19 +0000)]
Use tighter bounds for bouncegrid texture

Calculate bounds enclosing all lights instead of using the world bounds.
Maps with unlit monster containers such as e1m7 benefit from reduced RAM usage.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12306 d7cf8633-e32d-0410-b094-e92efae38249

7 years agokeys: do not send the text event of the toggleconsole bind to the console.
divverent [Tue, 29 Nov 2016 18:20:07 +0000 (18:20 +0000)]
keys: do not send the text event of the toggleconsole bind to the console.

This only affects SDL2's event handling, which sends events in the following order:

(keycode, 0, true)
(0, charcode, true)
(0, charcode, false)
(keycode, 0, false)

The input destination is toggled on the first event, and the console then would
receive the charcode events. Binds work differently though - their action is
queued into the console buffer, and executed at the end of the frame!

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12305 d7cf8633-e32d-0410-b094-e92efae38249

7 years agoRewrote bouncegrid path splatting, it now has a cone shape which grows with distance...
havoc [Tue, 29 Nov 2016 03:24:12 +0000 (03:24 +0000)]
Rewrote bouncegrid path splatting, it now has a cone shape which grows with distance, which reduces the splotchy look (cvars r_shadow_bouncegrid_lightpathsize_initial and r_shadow_bouncegrid_lightpathsize_conespread control this).

Replaced r_shadow_bouncegrid_(static|dynamic)_energyperphoton with r_shadow_bouncegrid_(static|dynamic)_quality cvar which works opposite the old one and is automatically multiplied by spacing^2 so you no longer have to hand-tune it when changing spacing.

Turned off r_shadow_bouncegrid_blur by default - it's still useful but no longer completely necessary.

Replaced r_shadow_bouncegrid_dynamic_stablerandom with r_shadow_bouncegrid_rng_type (which defaults to Lehmer 128bit RNG) and added r_shadow_bouncegrid_rng_seed (which can be set to -1 for the time-based random that stablerandom <= 0 used to trigger).

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12304 d7cf8633-e32d-0410-b094-e92efae38249

7 years agoRemove redundant call to R_MakeResizeBufferBigger, which was also breaking C89 by...
havoc [Mon, 28 Nov 2016 04:00:44 +0000 (04:00 +0000)]
Remove redundant call to R_MakeResizeBufferBigger, which was also breaking C89 by having mixed variables and code.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12303 d7cf8633-e32d-0410-b094-e92efae38249

7 years agoFix __int128 based implementation of mul128, needed more casts.
havoc [Mon, 28 Nov 2016 03:59:54 +0000 (03:59 +0000)]
Fix __int128 based implementation of mul128, needed more casts.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12302 d7cf8633-e32d-0410-b094-e92efae38249

7 years agoFix severe bugs in mul128 implementation which was breaking the Lehmer RNG.
havoc [Mon, 28 Nov 2016 03:56:16 +0000 (03:56 +0000)]
Fix severe bugs in mul128 implementation which was breaking the Lehmer RNG.

Added gcc specific implementation of mul128 using __int128 intrinsic type.

Added unit tests for mul128 implementation.

Added r_shadow_bouncegrid_normalizevectors cvar, default on, this slightly brightens typical scenes, some more affected than others.

Changed the behavior of r_shadow_bouncegrid_dynamic_stablerandom to also affect static mode, changed it to use the light position as the RNG seed, and changed the meaning of stablerandom 1 to be lhcheeserandom again as it is fast and of sufficient quality, the Lehmer RNG is available as stablerandom 2 but it has a framerate hit in dynamic mode that I can't ignore.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12301 d7cf8633-e32d-0410-b094-e92efae38249

7 years agoSignificant rework of bouncegrid photon distribution and coloring.
havoc [Sun, 27 Nov 2016 22:20:28 +0000 (22:20 +0000)]
Significant rework of bouncegrid photon distribution and coloring.

r_editlights mode now shows render stats in the overlay.

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12300 d7cf8633-e32d-0410-b094-e92efae38249

7 years agoChanged bouncegrid to use its own buffers (Mem_Alloc) instead of R_FrameData_Alloc...
havoc [Sun, 27 Nov 2016 21:52:57 +0000 (21:52 +0000)]
Changed bouncegrid to use its own buffers (Mem_Alloc) instead of R_FrameData_Alloc because bouncegrid can be > 500MB per allocation which is unreasonable pressure on R_FrameData_Alloc.

Reduce memory when using r_shadow_bouncegrid_blur by ping-ponging between two buffers rather than three.

Reduce memory when using small values of r_shadow_bouncegrid_(static|dynamic)_spacing by disabling blur and instead effectively increasing r_shadow_bouncegrid_lightpathsize by 2 (the result is identical, just slower).

git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@12299 d7cf8633-e32d-0410-b094-e92efae38249