xonotic/darkplaces.git
3 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

3 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

3 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

3 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

3 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

3 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

3 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

3 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

3 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

3 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

3 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

3 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

3 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

3 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

3 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

3 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

3 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

3 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

3 years agoAdded an implementation of Lehmer random number generator with Lecuyer constant,...
havoc [Sun, 27 Nov 2016 21:45:11 +0000 (21:45 +0000)]
Added an implementation of Lehmer random number generator with Lecuyer constant, this is a simple mul128 based RNG with a period of 2^126.

Use the new RNG for bouncegrid traces to hopefully improve the photon distribution compared to lhcheeserandom.

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

3 years agoFix one trace I missed when adding skipsupercontentsmask, and a couple other ones...
havoc [Sun, 27 Nov 2016 21:42:53 +0000 (21:42 +0000)]
Fix one trace I missed when adding skipsupercontentsmask, and a couple other ones in comments.

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

3 years agoDon't allocate resize buffer for texture upload if the texture does not need to be...
havoc [Sun, 27 Nov 2016 21:36:38 +0000 (21:36 +0000)]
Don't allocate resize buffer for texture upload if the texture does not need to be resized (this helps with memory pressure on the bouncegrid texture which was causing a huge memory alloc every frame in dynamic mode).

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

3 years agoFix infinite loop that occurred in R_FrameData_Alloc if requesting > 256MB (which...
havoc [Sun, 27 Nov 2016 21:35:34 +0000 (21:35 +0000)]
Fix infinite loop that occurred in R_FrameData_Alloc if requesting > 256MB (which the per-chunk size was bounded to).

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

3 years agoAdd skipsupercontentsmask parameter to all the collision implementations, this allows...
havoc [Sun, 27 Nov 2016 21:29:12 +0000 (21:29 +0000)]
Add skipsupercontentsmask parameter to all the collision implementations, this allows you to ignore brushes/surfaces matching the specified contents flags, the primary use is ignoring q1bsp sky surfaces which are SUPERCONTENTS_SKY and SUPERCONTENTS_SOLID, since SUPERCONTENTS_SOLID is in the hitsupercontentsmask it will normally block on sky surfaces, but this way it will not if they also have SUPERCONTENTS_SKY set.

Use the new skipsupercontentsmask feature for bouncegrid traces and certain other light traces.

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

3 years agoAdded a MessageBox call in Sys_Error on Windows, matching the behavior of the wgl...
havoc [Sun, 27 Nov 2016 21:00:37 +0000 (21:00 +0000)]
Added a MessageBox call in Sys_Error on Windows, matching the behavior of the wgl client.  The typical error to desktop will be more informative now.

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

3 years agoAdded developer_memorylargerthanmb cvar which prints (with developer 1) notices about...
havoc [Sun, 27 Nov 2016 20:59:04 +0000 (20:59 +0000)]
Added developer_memorylargerthanmb cvar which prints (with developer 1) notices about very large memory allocations (16MB and larger by default).

Slightly improved the Mem_Alloc out of memory error to include the size of the failed allocation.

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

3 years agoRollback last change which was meant to be many smaller pieces.
havoc [Sun, 27 Nov 2016 20:56:03 +0000 (20:56 +0000)]
Rollback last change which was meant to be many smaller pieces.

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

3 years agoAdded developer_memorylargerthanmb cvar which dprints notices about very large memory...
havoc [Sun, 27 Nov 2016 20:53:09 +0000 (20:53 +0000)]
Added developer_memorylargerthanmb cvar which dprints notices about very large memory allocations (16MB and larger by default).

Slightly improved the Mem_Alloc out of memory error to include the size of the failed allocation.

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

3 years agoEnable /LARGEADDRESSAWARE on win32 builds in MSVS2015, to get 3GB address space rathe...
havoc [Sun, 27 Nov 2016 20:51:15 +0000 (20:51 +0000)]
Enable /LARGEADDRESSAWARE on win32 builds in MSVS2015, to get 3GB address space rather than 2GB.

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

3 years agoFix another bug in R_Shadow_PrepareLights_AddSceneLight - it was not increasing r_sha...
havoc [Tue, 11 Oct 2016 03:03:27 +0000 (03:03 +0000)]
Fix another bug in R_Shadow_PrepareLights_AddSceneLight - it was not increasing r_shadow_scenemaxlights.

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

3 years agoFix bad memory overrun bug in R_Shadow_PrepareLights_AddSceneLight - it was not multi...
havoc [Tue, 11 Oct 2016 02:56:31 +0000 (02:56 +0000)]
Fix bad memory overrun bug in R_Shadow_PrepareLights_AddSceneLight - it was not multiplying the array size by sizeof.

Thanks to Monster for reporting this bug.

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

3 years agoAdded cl_bob_limit cvar which limits the maximum rage of view bobbing in a smooth...
havoc [Tue, 11 Oct 2016 01:05:53 +0000 (01:05 +0000)]
Added cl_bob_limit cvar which limits the maximum rage of view bobbing in a smooth way (rather than limiting the velocity and cl_bob independently, it limits the strength of the bob before the sinewave is applied).  By default this is 7 (inspired by the quake limit of +4 to -7 range).

Added cl_bob_limit_heightcheck cvar (off by default) which uses tracelines to limit the maximum value of cl_bob_limit based on the ceiling and floor height.

Added cl_bob_velocity_limit cvar which replaces the hard-coded 400 in a few places for xyspeed purposes.

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

4 years agoOverhauled quake3 shader loading such that it now produces shader passes that could...
havoc [Wed, 14 Sep 2016 04:53:02 +0000 (04:53 +0000)]
Overhauled quake3 shader loading such that it now produces shader passes that could render the material mostly correctly (rendering not yet implemented for the pre/post passes the logic identifies).

Main visible effect of this is that quake3 maps look more correct, but don't have any fancy effects yet.

This changed the loaders for all other formats that produce texture_t as texture->materialshaderpass-> is the new source of truth for several things.

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

4 years agoFix Q2BSP texture loading, Q2BSP contents issues, and add support for SURF_ALPHATEST...
havoc [Mon, 12 Sep 2016 05:13:44 +0000 (05:13 +0000)]
Fix Q2BSP texture loading, Q2BSP contents issues, and add support for SURF_ALPHATEST for any maps that might use it, force fullbright rendering on SURF_TRANS33/SURF_TRANS66/SURF_WARP textures which fixes the rain in 3v3gloom3.bsp and chainlink fence textures on tkse.bsp and glass transparency on gloom1se.bsp among others.  Also fix the SURF_FLOWING scroll rate when combined with SURF_WARP.

Also fixed the collision issues caused by stomping over Q1BSP data which caused traceline to break on Q1BSP after loading a Q2BSP map, thanks Supa for that bug report and finding other Q2BSP issues.

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

4 years agoChanged naming of glsl/default.glsl and hlsl/default.hlsl to glsl/combined_crc*.glsl...
havoc [Mon, 12 Sep 2016 00:15:56 +0000 (00:15 +0000)]
Changed naming of glsl/default.glsl and hlsl/default.hlsl to glsl/combined_crc*.glsl and hlsl/combined_crc*.hlsl - these are now effectively versioned by the crc of the builtin shader code, so if customization is applied it must match the current crc of the engine shader.

This should prevent any future shader version compatibility issues (at the cost of customization being harder to maintain).

Refactored shadermodeinfo related code to clean it up and make it more maintainable.

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

4 years agoEnable shadowmapping on transparent surfaces.
havoc [Sun, 11 Sep 2016 23:06:22 +0000 (23:06 +0000)]
Enable shadowmapping on transparent surfaces.

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

4 years agoOverhauled shadowmap rendering to use an atlas texture, this is overall a speed loss...
havoc [Sun, 11 Sep 2016 23:05:08 +0000 (23:05 +0000)]
Overhauled shadowmap rendering to use an atlas texture, this is overall a speed loss on default settings (-7.7% fps on timedemo demo1, or -3% with r_shadow_deferred) but a gain on realtime world lighting (+21.1% normal, +1.7% with r_shadow_deferred) on NVIDIA GTX 680.

On video drivers with higher framebuffer switching costs, this should be a framerate gain in all situations.

Feature-wise this brings support (in future) for shadowmapping on transparent lit surfaces, and imposes an upper bound on how many pixels of shadowmaps will be rendered in a frame (shadowmap resolution automatically becomes more coarse on frames where they do not fit).

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

4 years agoAdded MSVC++ 2015 projects.
havoc [Sat, 10 Sep 2016 20:24:15 +0000 (20:24 +0000)]
Added MSVC++ 2015 projects.

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

4 years agoFix MSVC++ 2015 warnings about variable scope and some narrowing conversions without...
havoc [Sat, 10 Sep 2016 19:36:13 +0000 (19:36 +0000)]
Fix MSVC++ 2015 warnings about variable scope and some narrowing conversions without type casts.

Fix some missing type casts in recent r_shadow.c changes that didn't compile as C++ successfully.

Remove r_shadow_shadowmaplod variable which is unused.

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

4 years agoFix a typo in a field name.
havoc [Sun, 28 Aug 2016 07:08:50 +0000 (07:08 +0000)]
Fix a typo in a field name.

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

4 years agoAdded r_shadow_bouncegrid_lightpathsize which is an alternative to blur
havoc [Sun, 28 Aug 2016 05:29:09 +0000 (05:29 +0000)]
Added r_shadow_bouncegrid_lightpathsize which is an alternative to blur
- but in practice this is just slower at a value of 3 than 1 is with
  blur, so blur remains the default approach.

Implemented r_shadow_bouncegrid_floatcolors cvar which uses fp16 and
fp32 float formats to increase dynamic range.

Overhauled the default values of the bouncegrid cvars to look better.

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

4 years agoimplemented r_shadow_bouncegrid_blur, this tremendously improves
havoc [Sat, 27 Aug 2016 22:28:59 +0000 (22:28 +0000)]
implemented r_shadow_bouncegrid_blur, this tremendously improves
quality at a cost of processing time, eliminating many rounding error
problems in all levels.

renamed several r_shadow_bouncegrid_* cvars to have a dynamic prefix,
and split spacing so that it can also be different between
static/dynamic modes (static now uses 32).

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

4 years agoRefactored r_shadow_bouncegrid light splatting code, it now makes an
havoc [Sat, 27 Aug 2016 19:34:06 +0000 (19:34 +0000)]
Refactored r_shadow_bouncegrid light splatting code, it now makes an
array of light paths and then performs their splatting in a separate
step with an optional sort.

Implemented culling of out-of-view light paths in dynamic mode.

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

4 years agoRefactored r_shadow_bouncegrid code into several functions, changed
havoc [Sat, 27 Aug 2016 18:00:00 +0000 (18:00 +0000)]
Refactored r_shadow_bouncegrid code into several functions, changed
photon distribution math to make the photons more stable from frame to
frame (in dynamic mode), the number of photons fired is now based on
r_shadow_bouncegrid_intensityperphoton rather than always going for
maximum photons (accordingly r_shadow_bouncegrid_photons has been
renamed maxphotons and will still apply the old logic if it must).

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

4 years agoFix a serious bug with r_shadow_bouncegrid_static where it used
havoc [Sat, 27 Aug 2016 03:17:49 +0000 (03:17 +0000)]
Fix a serious bug with r_shadow_bouncegrid_static where it used
R_CullBox and other view-dependent performance optimizations when
compiling the static texture - thanks to Vic for finding this bug!

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

4 years agoSupport alpha textures in Quake if the name starts with '{'.
divverent [Thu, 18 Aug 2016 15:28:24 +0000 (15:28 +0000)]
Support alpha textures in Quake if the name starts with '{'.

Note: this is actually a HLBSP feature, though:

Author: ericw on irc.anynet.org

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

4 years agoAdd user defined movetypes extension
divverent [Thu, 18 Aug 2016 15:03:55 +0000 (15:03 +0000)]
Add user defined movetypes extension

From: Mario <mario@smbclan.net>

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

4 years agoDon't run MOVETYPE_NOCLIP physics asynchronously
divverent [Sat, 30 Jul 2016 00:20:55 +0000 (00:20 +0000)]
Don't run MOVETYPE_NOCLIP physics asynchronously

From: Mario <mario@smbclan.net>

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

4 years agoOOPS. Enable USE_RWOPS only on Android.
divverent [Wed, 20 Jul 2016 14:11:45 +0000 (14:11 +0000)]
OOPS. Enable USE_RWOPS only on Android.

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

4 years agoStop using bytes >= 128 in format strings. They break on Android.
divverent [Wed, 20 Jul 2016 13:13:40 +0000 (13:13 +0000)]
Stop using bytes >= 128 in format strings. They break on Android.

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

4 years agoFix the show-keyboard logic for non-Steel Storm by factoring out the Steel Storm...
divverent [Wed, 20 Jul 2016 13:13:30 +0000 (13:13 +0000)]
Fix the show-keyboard logic for non-Steel Storm by factoring out the Steel Storm specific code into generic code.

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

4 years agoMake the touch outline feature actually work.
divverent [Wed, 20 Jul 2016 13:13:20 +0000 (13:13 +0000)]
Make the touch outline feature actually work.

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

4 years agoAdd DP_FS_USERDIR macro consistent to DP_FS_BASEDIR.
divverent [Wed, 20 Jul 2016 13:13:10 +0000 (13:13 +0000)]
Add DP_FS_USERDIR macro consistent to DP_FS_BASEDIR.

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

4 years agoFile system: Android assets support.
divverent [Wed, 20 Jul 2016 13:13:00 +0000 (13:13 +0000)]
File system: Android assets support.

For this, we must use SDL_RWops for accessing packs (and files), so
let's emulate file descriptors using them.

The main catch is that SDL_RWops have no dup() equivalent, so we're
emulating that as well. Not particularly fast, but well...

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

4 years agoAdd another bug entry
havoc [Mon, 18 Jul 2016 03:42:16 +0000 (03:42 +0000)]
Add another bug entry

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

4 years agoRefactor DP_MACHINE logic in makefile and makefile.inc because it was
havoc [Mon, 18 Jul 2016 03:23:15 +0000 (03:23 +0000)]
Refactor DP_MACHINE logic in makefile and makefile.inc because it was
broken on mingw.

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

4 years agoFix an error detected by -Wnarrowing (~0 narrowing to unsigned char,
havoc [Mon, 18 Jul 2016 02:41:07 +0000 (02:41 +0000)]
Fix an error detected by  -Wnarrowing (~0 narrowing to unsigned char,
changed it to 0xFF)

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

4 years agoAdded a couple todo items related to pq_fullpitch
havoc [Sun, 17 Jul 2016 22:32:09 +0000 (22:32 +0000)]
Added a couple todo items related to pq_fullpitch

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

4 years agoAdded a couple bugs
havoc [Sun, 17 Jul 2016 22:31:29 +0000 (22:31 +0000)]
Added a couple bugs

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

4 years agoAdd a cvar net_sourceaddresscheck (default 1) to ignore connect replies from the...
divverent [Mon, 27 Jun 2016 12:49:37 +0000 (12:49 +0000)]
Add a cvar net_sourceaddresscheck (default 1) to ignore connect replies from the wrong host.

This fixes some existing easy connect takeover exploits (which can,
without this check, even attack local matches).

From: Rudolf Polzer <divVerent@xonotic.org>

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

4 years agoFix FTBFS on non-x86 architectures
divverent [Mon, 13 Jun 2016 19:04:37 +0000 (19:04 +0000)]
Fix FTBFS on non-x86 architectures

From: Timothy Pearson <kb9vqf@pearsoncomputing.net>

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

4 years agoSupport darkplaces.opt from local files too.
divverent [Mon, 25 Apr 2016 13:01:25 +0000 (13:01 +0000)]
Support darkplaces.opt from local files too.

If both are present, flags from both get prepended; the execution order is:
[attached darkplaces.opt] [local darkplaces.opt] [command-line flags]

Also added flags -noopt (don't parse darkplaces.opt) and -noselfpack (don't read attached pack).

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

4 years agoAdded darkplaces-osx-sdl launch script, this has been simplified since
havoc [Tue, 5 Apr 2016 03:18:33 +0000 (03:18 +0000)]
Added darkplaces-osx-sdl launch script, this has been simplified since
we don't support OSX 10.5 anymore (and thus do not have to worry about
broken x86_64 binary support).

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

4 years agoChange makefile.inc to use SDL2 by default rather than SDL1.2 - removed
havoc [Mon, 4 Apr 2016 22:18:51 +0000 (22:18 +0000)]
Change makefile.inc to use SDL2 by default rather than SDL1.2 - removed
sdl2-* targets since they are not needed now.

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

4 years agocl_collision: don't hit network entities of players who don't have a network entity...
divverent [Mon, 28 Mar 2016 13:54:51 +0000 (13:54 +0000)]
cl_collision: don't hit network entities of players who don't have a network entity (but rather a shared entity, i.e. a CSQC entity).

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

4 years agoChanged master server IP addresses back to hostnames so they don't go
havoc [Wed, 16 Mar 2016 03:23:18 +0000 (03:23 +0000)]
Changed master server IP addresses back to hostnames so they don't go
stale.

Removed dead master servers.

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

4 years agoSDL2 dropped i386 support, so stop compiling against that.
divverent [Mon, 14 Mar 2016 16:29:02 +0000 (16:29 +0000)]
SDL2 dropped i386 support, so stop compiling against that.

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

4 years agoXonotic's travis script: Build the Linux binaries against SDL 2.0.4.
divverent [Sun, 13 Mar 2016 01:38:00 +0000 (01:38 +0000)]
Xonotic's travis script: Build the Linux binaries against SDL 2.0.4.

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

4 years agoFix warning and MSVC build against SDL2.
divverent [Sat, 12 Mar 2016 15:24:01 +0000 (15:24 +0000)]
Fix warning and MSVC build against SDL2.

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

4 years agov_yshearing: Make the cvar take the max angle to apply the effect to; remove the...
divverent [Mon, 7 Mar 2016 21:36:27 +0000 (21:36 +0000)]
v_yshearing: Make the cvar take the max angle to apply the effect to; remove the in_pitch hack for this as it is no longer needed then.

This makes Y shearing mode actually useful together with higer FOV (less
noticeable distortion).

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

4 years agov_yshearing: Make view and input behave more like Duke Nukem 3D ;)
divverent [Fri, 4 Mar 2016 20:41:09 +0000 (20:41 +0000)]
v_yshearing: Make view and input behave more like Duke Nukem 3D ;)

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

4 years agoFix initial state of autocvars.
divverent [Sun, 7 Feb 2016 01:53:31 +0000 (01:53 +0000)]
Fix initial state of autocvars.

From: Rudolf Polzer <divverent@xonotic.org>

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

4 years agoRemoved leftovers from progid.
divverent [Sun, 7 Feb 2016 01:53:23 +0000 (01:53 +0000)]
Removed leftovers from progid.

Replaced static animatemodel_cache with dynamically allocated per prog
instance.

From: Grigorii Kasymov <kasymovga@xsmail.com>

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

4 years agoRemoved globaldefindex_progid field from cvar struct.
divverent [Sun, 7 Feb 2016 01:53:20 +0000 (01:53 +0000)]
Removed globaldefindex_progid field from cvar struct.

From: Grigorii Kasymov <kasymovga@xsmail.com>

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

4 years agoInitialize globalindex for autocvars with -1 to prevent prog corruption.
divverent [Sun, 7 Feb 2016 01:53:16 +0000 (01:53 +0000)]
Initialize globalindex for autocvars with -1 to prevent prog corruption.

From: Grigorii Kasymov <kasymovga@xsmail.com>

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

4 years agoUnbreak Nexuiz weapon animation.
divverent [Mon, 4 Jan 2016 18:20:35 +0000 (18:20 +0000)]
Unbreak Nexuiz weapon animation.

Nexuiz uses h_*.dpm models that are mostly vertex-less (there are 6 dummy ones)
and merely move bones in order to move around the first-person weapon.

This means that these models (or rather, their surface meshes) will be
considered "non-animated" by the rendering code, given their dummy vertices are
never moved by animations.

However, a function to build animation subframes lists from animation group
numbers - which is called by gettaginfo and similar functions that locate
attachment points - falsely looked at the isanimated flag of the surface mesh
to decide whether to really build the list of subframes or not - and this was
wrong, given that statically displayed models that do move tags/bones do exist!

This commit removes this use of the isanimated flag and treats models with
animated and non-animated surface mesh the same for purposes of animation frame
evaluation.

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

4 years agoUnbreak "make sv-nexuiz" and "make nexuiz".
divverent [Mon, 4 Jan 2016 14:45:52 +0000 (14:45 +0000)]
Unbreak "make sv-nexuiz" and "make nexuiz".

(There was a typo in the Makefile of this target since r11992).

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

4 years agoDocument DP_SV_DISABLECLIENTPREDICTION.
divverent [Mon, 28 Dec 2015 21:20:56 +0000 (21:20 +0000)]
Document DP_SV_DISABLECLIENTPREDICTION.

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

4 years agoNew feature: disableclientprediction == -1.
divverent [Mon, 28 Dec 2015 21:20:53 +0000 (21:20 +0000)]
New feature: disableclientprediction == -1.

This forces client prediction in cases DP's own client side prediction cannot
handle, in particular, in case of non-WALK movetypes on a player entity.

To be useful, this requires CSQC code to perform player prediction instead.

From: Mario <mario@smbclan.net>

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

4 years agoOops. Add more ifdeffery to the NvOptimus stuff :)
divverent [Thu, 26 Nov 2015 14:48:26 +0000 (14:48 +0000)]
Oops. Add more ifdeffery to the NvOptimus stuff :)

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

4 years agoFix prvm_leaktest - it now really supports references from globals.
divverent [Thu, 26 Nov 2015 14:47:11 +0000 (14:47 +0000)]
Fix prvm_leaktest - it now really supports references from globals.

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

4 years agoSet NvOptimusEnablement.
divverent [Thu, 26 Nov 2015 13:52:27 +0000 (13:52 +0000)]
Set NvOptimusEnablement.

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

4 years agoLeaktest: store longer allocation origins.
divverent [Tue, 24 Nov 2015 14:58:00 +0000 (14:58 +0000)]
Leaktest: store longer allocation origins.

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

4 years agoLeaktest: disable support for following target/targetname by default.
divverent [Tue, 24 Nov 2015 14:57:58 +0000 (14:57 +0000)]
Leaktest: disable support for following target/targetname by default.

Instead, mark any entities created during initialization as non-leaky.
This should solve everything that the targetname support was meant to
solve (namely info_notnull entities), but is more general (e.g. would
also work with Xonotic's killtarget/target2/target3/target4 and
target0/name of Doom 3).

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

4 years agoMake the number of frames used for initial settling configurable.
divverent [Tue, 24 Nov 2015 13:39:23 +0000 (13:39 +0000)]
Make the number of frames used for initial settling configurable.

Quake uses two frames, which should normally be good enough anyway. This
is mainly for mods that use more than 2 frames for initialization to
avoid some minor odd effects to clients that connect that early.

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

4 years agoFix a recent typo-fix :)
divverent [Tue, 24 Nov 2015 13:33:03 +0000 (13:33 +0000)]
Fix a recent typo-fix :)

This fixes the centering of the window on Windows by default.

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

4 years agoFix several warnings with gcc-5 and an error with mingw (where
havoc [Sun, 8 Nov 2015 19:33:00 +0000 (19:33 +0000)]
Fix several warnings with gcc-5 and an error with mingw (where
HAVE_CLOCKGETTIME was somehow being defined)

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

4 years agoFix a type issue where SDL_GLContext * was being used instead of
havoc [Sun, 8 Nov 2015 19:18:33 +0000 (19:18 +0000)]
Fix a type issue where SDL_GLContext * was being used instead of
SDL_GLContext, this did no harm as the variable is never used...

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

4 years agoSDL2: add clipboard support for all platforms.
divverent [Sat, 17 Oct 2015 22:36:06 +0000 (22:36 +0000)]
SDL2: add clipboard support for all platforms.

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

4 years agoFix SolutionDir)) typo in Debug builds using VS2012 and VS2013 projects, thanks to...
havoc [Sat, 3 Oct 2015 22:34:59 +0000 (22:34 +0000)]
Fix SolutionDir)) typo in Debug builds using VS2012 and VS2013 projects, thanks to Willis for repotting this.

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

5 years agoFix an annoying bug in the d0_blind_id protocol handling:
divverent [Tue, 25 Aug 2015 01:27:49 +0000 (01:27 +0000)]
Fix an annoying bug in the d0_blind_id protocol handling:

If a server uses the protocol but is not signed, the code previously did
not let a client connect to the server more than once per instance.

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

5 years agoAdd darkplaces.rc to the vcxproj files for sdl, sdl2 and dedicated targets.
havoc [Sun, 9 Aug 2015 20:54:26 +0000 (20:54 +0000)]
Add darkplaces.rc to the vcxproj files for sdl, sdl2 and dedicated targets.

Changed the CompanyName in the darkplaces.rc to "DarkPlaces Contributors", also changed the icon line to better match the standard ICON line in new VS2013 projects in case that matters.

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

5 years agoFixed two compile issues with vid_sdl.c.
havoc [Sun, 9 Aug 2015 18:30:47 +0000 (18:30 +0000)]
Fixed two compile issues with vid_sdl.c.

Added support for SDL2 compilation in vs2010, vs2012, vs2013.

Changed the build directories for all vs2010, vs2012, vs2013 projects - they are now more consistent (output binaries go into SolutionDir, intermediate files have a fully qualified directory so they don't conflict between builds).

Audited and reduced differences between vs2010, vs2012, vs2013 projects.

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

5 years agoRevert motorsep's change r12222.
havoc [Sat, 8 Aug 2015 04:32:55 +0000 (04:32 +0000)]
Revert motorsep's change r12222.

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

5 years ago+ Added support for Doom 3 entity spawnargs ("name" and "target0") to allow smoother...
motorsep [Thu, 6 Aug 2015 02:34:11 +0000 (02:34 +0000)]
+ Added support for Doom 3 entity spawnargs ("name" and "target0") to allow smoother mapping experience using DarkRadiant level editor

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

5 years agoOops, should also have fixed the uses inside AdjustWindowBounds.
divverent [Mon, 3 Aug 2015 17:57:03 +0000 (17:57 +0000)]
Oops, should also have fixed the uses inside AdjustWindowBounds.

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

5 years agoAlso, rect shouldn't be a reference in AdjustWindowBounds but a pointer. Grr...
divverent [Mon, 3 Aug 2015 17:50:43 +0000 (17:50 +0000)]
Also, rect shouldn't be a reference in AdjustWindowBounds but a pointer. Grr...

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

5 years agoFix type of AdjustWindowBounds - this is C, not C++.
divverent [Mon, 3 Aug 2015 17:14:47 +0000 (17:14 +0000)]
Fix type of AdjustWindowBounds - this is C, not C++.

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

5 years agoOnly abort the move of a MOVETYPE_TOSS entity if it is actually supposed to
divverent [Mon, 3 Aug 2015 16:48:44 +0000 (16:48 +0000)]
Only abort the move of a MOVETYPE_TOSS entity if it is actually supposed to
stop moving.

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

5 years agoCompile with IPv6 support by default
divverent [Mon, 3 Aug 2015 16:25:36 +0000 (16:25 +0000)]
Compile with IPv6 support by default

Invert logic of SUPPORTIPV6 define by changing to NOSUPPORTIPV6.

Include commented-out entry in makefile to allow for disabling IPv6
support should the user be burdened by their operating system.

From: Jeremy Visser <jeremy@visser.name>

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

5 years agoColor code editing
divverent [Mon, 3 Aug 2015 16:24:24 +0000 (16:24 +0000)]
Color code editing

Console edit line: make the color code visible when the cursor is inside it and r_font_disable_freetype is 0

From: terencehill <piuntn@gmail.com>

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