]> git.rm.cloudns.org Git - xonotic/darkplaces.git/log
xonotic/darkplaces.git
4 years agoFix handling of sensitivity.value, and split m_accel into m_accel + m_accel_power_str...
Rudolf Polzer [Thu, 12 Mar 2020 00:12:01 +0000 (20:12 -0400)]
Fix handling of sensitivity.value, and split m_accel into m_accel + m_accel_power_strength.

This eliminates the need for the ability to switch between the two methods of acceleration.

Also, explain a lot more.

4 years agoQuake Live mouse acceleration implemented
Frank [Sun, 8 Mar 2020 16:56:00 +0000 (17:56 +0100)]
Quake Live mouse acceleration implemented

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

4 years agoFix snd_null prototype for a function which broke the dedicated server
havoc [Thu, 6 Feb 2020 15:31:04 +0000 (15:31 +0000)]
Fix snd_null prototype for a function which broke the dedicated server
build.

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

4 years agoImplemented garbage collection of lost references to strzone strings in the PRVM...
havoc [Thu, 6 Feb 2020 14:43:18 +0000 (14:43 +0000)]
Implemented garbage collection of lost references to strzone strings in the PRVM, this is controlled by several prvm_garbagecollection_* cvars, and can notify when this occurs.

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

4 years agoAnother file without svn:eol-style.
divverent [Wed, 29 Jan 2020 22:47:34 +0000 (22:47 +0000)]
Another file without svn:eol-style.

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

4 years agoSet svn:eol-style=native property on taskqueue.[ch]
havoc [Wed, 29 Jan 2020 22:45:31 +0000 (22:45 +0000)]
Set svn:eol-style=native property on taskqueue.[ch]

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

4 years agoFix line endings on taskqueue.[ch]
havoc [Wed, 29 Jan 2020 22:41:19 +0000 (22:41 +0000)]
Fix line endings on taskqueue.[ch]

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

4 years agoAdd the missing cmd_userdefined_all and cmd_userdefined_null needed by the previous...
havoc [Thu, 23 Jan 2020 21:47:02 +0000 (21:47 +0000)]
Add the missing cmd_userdefined_all and cmd_userdefined_null needed by the previous change.

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

4 years agoMove tracking of aliases and csqc function overrides to a separate cmd_userdefined_t...
havoc [Thu, 23 Jan 2020 20:47:27 +0000 (20:47 +0000)]
Move tracking of aliases and csqc function overrides to a separate cmd_userdefined_t structure, this way it can be shared between cmd_client and cmd_clientfromserver.

This restores functionality so that stuffcmd in svqc can create aliases that are usable in the client, and can invoke csqc commands, but still have restrictions on engine commands.

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

4 years agoRemove old decal system, cl_decals_newsystem has been on by default for 10 years...
havoc [Thu, 23 Jan 2020 09:19:18 +0000 (09:19 +0000)]
Remove old decal system, cl_decals_newsystem has been on by default for 10 years now, it was time to remove the old code.

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

4 years agoRedesigned TaskQueue to have a queue and distributor model so that threads can keep...
havoc [Thu, 23 Jan 2020 08:19:11 +0000 (08:19 +0000)]
Redesigned TaskQueue to have a queue and distributor model so that threads can keep their own queues of work to do without locking to check for more work.  Tasks are not executed until TaskQueue_WaitForTaskDone calls TaskQueue_DistributeTasks.

Added a fast path to TaskQueue_DistributeTasks for tasks that are waiting on other tasks to finish first, they are simply dequeued and re-enqueued immediately, and tend to just live on the distributor queue.

TaskQueue thread count is now dynamically adjusted based on tasks being queued per frame, and has a minimum and maximum thread count.

TaskQueue threads now sleep when idle, this may not be ideal, but did substantially lower the cpu usage so that it doesn't make other applications relatively unresponsive like it did before.

Removed taskqueue_task_t->started field and some other unused fields.

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

4 years agoMove the taskqueue_state.numthreads update so that the creation loop works again.
havoc [Thu, 23 Jan 2020 03:03:44 +0000 (03:03 +0000)]
Move the taskqueue_state.numthreads update so that the creation loop works again.

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

4 years agoLower the default value of taskqueue_maxthreads from 32 to 4, as the threads are...
havoc [Thu, 23 Jan 2020 03:02:09 +0000 (03:02 +0000)]
Lower the default value of taskqueue_maxthreads from 32 to 4, as the threads are just spinning - better solution coming.

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

4 years agoFix one typo on rcon_secure_maxdiff - added CVAR_SAVE accidentally during the massive...
havoc [Wed, 22 Jan 2020 10:58:02 +0000 (10:58 +0000)]
Fix one typo on rcon_secure_maxdiff - added CVAR_SAVE accidentally during the massive manual edits.

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

4 years agoChanged loading screen to continue during a connection attempt if the console or...
havoc [Wed, 22 Jan 2020 10:33:30 +0000 (10:33 +0000)]
Changed loading screen to continue during a connection attempt if the console or menu is not forced.

Changed scr_conforcewhiledisconnected 1 to not force the console during a connection attempt, kept the old behavior as scr_conforcewhiledisconnected 2.

If console is already open, the loading screen while connecting is not forced.

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

4 years agoChange default value of scr_loadingscreen_background to 0. It's not clear to me...
havoc [Wed, 22 Jan 2020 09:39:43 +0000 (09:39 +0000)]
Change default value of scr_loadingscreen_background to 0.  It's not clear to me if anyone wants this to be 1, some of the bigger games using the engine set it to 0 already.

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

4 years agoFix drawflag handling in Mod_Mesh_GetTexture by duplicating texture_t when drawflag...
havoc [Wed, 22 Jan 2020 09:25:29 +0000 (09:25 +0000)]
Fix drawflag handling in Mod_Mesh_GetTexture by duplicating texture_t when drawflag overrides differ (it still uses the same skinframe_t so it's not duplicating the actual texture).

This fixes a menu issue in Steel Storm: Burning Retribution where the black text over a hover button was being rendered as MATERIALFLAG_ADD due to DRAWFLAG_ADD being used earlier in the frame on the same font image, which made the text invisible.

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

4 years agoGet rid of texture_t->currentlayers, this is a legacy piece of data that isn't actual...
havoc [Wed, 22 Jan 2020 09:24:19 +0000 (09:24 +0000)]
Get rid of texture_t->currentlayers, this is a legacy piece of data that isn't actually needed - derive the depthmask and blendfunc in other ways.

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

4 years agoSet RENDER_NOSELFSHADOW on the MESH_UI entity to avoid applying the 3D scene's shadow...
havoc [Wed, 22 Jan 2020 09:16:48 +0000 (09:16 +0000)]
Set RENDER_NOSELFSHADOW on the MESH_UI entity to avoid applying the 3D scene's shadows to the UI.

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

4 years agoDisable combining of surfaces in R_PolygonBegin, it makes assumptions that break...
havoc [Wed, 22 Jan 2020 07:21:11 +0000 (07:21 +0000)]
Disable combining of surfaces in R_PolygonBegin, it makes assumptions that break things, and the underlying surface draw will still combine these for us (albeit more slowly).

Thanks to Cloudwalk for the tip, and divVerent and others for debugging in depth.

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

4 years agocvars are now instanced in &cvars_all as a tracking mechanism, there is also &cvars_n...
havoc [Wed, 22 Jan 2020 04:15:01 +0000 (04:15 +0000)]
cvars are now instanced in &cvars_all as a tracking mechanism, there is also &cvars_null if one wishes for no expansion to occur (e.g. client commands received on the server are very untrusted).

cvars now have CVAR_CLIENT and CVAR_SERVER flags, dedicated server can only see CVAR_SERVER variables whereas client can see both because it could start a server.

cvars created via VMs will have the corresponding flag set (client vm and menu vm can see both CVAR_CLIENT and CVAR_SERVER, server vm can only see CVAR_SERVER - may cause issues with singleplayer mods, we'll see).

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

4 years agoSplit the global cmd interpreter into 4 separate ones for specific uses (client conso...
havoc [Tue, 21 Jan 2020 08:36:34 +0000 (08:36 +0000)]
Split the global cmd interpreter into 4 separate ones for specific uses (client console, server console, client commands received from server, server commands received from clients), this is intended to make clients more robust against malicious servers by restricting which commands make sense.

This also hides some network protocol implementation details from the console command interpreter, and makes the command list a lot shorter in dedicated servers.

Changed Cbuf_LockThreadMutex/Cbuf_UnlockThreadMutex to Cbuf_Lock/Cbuf_Unlock and they now use a spinlock internally.

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

4 years agoAdd the needed functions for TaskQueue in thread_null.c and add taskqueue.c
havoc [Sat, 18 Jan 2020 17:05:06 +0000 (17:05 +0000)]
Add the needed functions for TaskQueue in thread_null.c and add taskqueue.c
to makefile.

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

4 years agoAdded appropriate prototypes to taskqueue.h, added call to TaskQueue_Shutdown in...
havoc [Sat, 18 Jan 2020 05:29:46 +0000 (05:29 +0000)]
Added appropriate prototypes to taskqueue.h, added call to TaskQueue_Shutdown in host.c.

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

4 years agoForgot to call TaskQueue_Init during startup, woops.
havoc [Sat, 18 Jan 2020 05:26:11 +0000 (05:26 +0000)]
Forgot to call TaskQueue_Init during startup, woops.

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

4 years agoAdded taskqueue.[ch].
havoc [Sat, 18 Jan 2020 05:14:06 +0000 (05:14 +0000)]
Added taskqueue.[ch].

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

4 years agoSplit out TaskQueue into its own taskqueue.[ch] module, it doesn't depend on SDL2...
havoc [Sat, 18 Jan 2020 04:55:42 +0000 (04:55 +0000)]
Split out TaskQueue into its own taskqueue.[ch] module, it doesn't depend on SDL2 itself.

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

4 years agoR_CanSeeBox no longer uses collision_cache for the random traces, only the fixed...
havoc [Fri, 17 Jan 2020 06:24:40 +0000 (06:24 +0000)]
R_CanSeeBox no longer uses collision_cache for the random traces, only the fixed positions (corners, etc), random rays were simply wasting resources in the collision_cache.

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

4 years agoOverhauled r_shadow_bouncegrid, it performs much faster, makes use of as many threads...
havoc [Fri, 17 Jan 2020 06:22:09 +0000 (06:22 +0000)]
Overhauled r_shadow_bouncegrid, it performs much faster, makes use of as many threads as you wish, and has a nicer calculation for light path accumulation.

r_shadow_bouncegrid now does refractive index calculations on water surfaces, it's not very obvious yet because the traceline doesn't return texture information (if it did, there would be cool caustics effects in dynamic mode).

Implemented TaskQueue system for simple threaded tasks (fibers but less featureful), this is used by r_shadow_bouncegrid but will be used by other parts of the engine in future, also added Thread_Atomic* functions.

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

4 years agoRemoved r_shadow_bouncegrid_bounceanglediffuse functionality, this was annoying to...
havoc [Wed, 15 Jan 2020 12:55:32 +0000 (12:55 +0000)]
Removed r_shadow_bouncegrid_bounceanglediffuse functionality, this was annoying to support and did not actually look good.

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

4 years agoOverhauled bouncegrid light splatting for performance reasons - instead of a series...
havoc [Wed, 15 Jan 2020 12:53:04 +0000 (12:53 +0000)]
Overhauled bouncegrid light splatting for performance reasons - instead of a series of radial dots being accumulated in the texture, it is spherical distance from line segment calculations performed at each pixel, optimized to process pixels in order (filtering down the list of splat paths in each loop).  This is a big framerate increase (as raytracing was not the bottleneck at all), and could be threaded in theory.

This required rebalancing the way that spacing interacts with quality, and the conespread parameter has been eliminated (as measuring distance to a non-uniform capsule seems especially challenging, but maybe that could be added back someday), so all parameters have changed a bit.

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

4 years agoFix UI rendering to not use the bouncegrid texture; it looked interesting on the...
havoc [Wed, 15 Jan 2020 09:01:10 +0000 (09:01 +0000)]
Fix UI rendering to not use the bouncegrid texture; it looked interesting on the console text but was definitely a bug - now tracks a ui parameter on several surface drawing functions, and triggers the notrippy path in the material rendering as one wouldn't want r_trippy affecting UI either.

Fix a bug that caused bouncegrid to render black if any light was culled by traces (return that was supposed to be a continue).

Changed default values for these cvars to make bouncegrid emphasize the bounced light more, but also reduce the intensity:
r_shadow_bouncegrid_dynamic_directionalshading : 0 -> 1
r_shadow_bouncegrid_dynamic_lightradiusscale : 2 -> 5
r_shadow_bouncegrid_dynamic_maxbounce : 2 -> 5
r_shadow_bouncegrid_static_lightradiusscale 2 -> 5
r_shadow_bouncegrid_intensity 4 -> 1

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

4 years agoFix texture binding issues that were breaking r_shadow_bouncegrid.
havoc [Wed, 15 Jan 2020 08:53:10 +0000 (08:53 +0000)]
Fix texture binding issues that were breaking r_shadow_bouncegrid.

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

4 years agoFix a few warnings.
havoc [Wed, 15 Jan 2020 08:52:21 +0000 (08:52 +0000)]
Fix a few warnings.

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

4 years agoCorrect names in credits and make them more consistent.
havoc [Thu, 9 Jan 2020 05:55:06 +0000 (05:55 +0000)]
Correct names in credits and make them more consistent.
Remove ghdigital from dpmaster servers as it hasn't been running for a long time.

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

4 years agoCorrect names in credits and make them more consistent.
havoc [Thu, 9 Jan 2020 05:52:57 +0000 (05:52 +0000)]
Correct names in credits and make them more consistent.
Remove ghdigital master server as it has not been running for a long
time.

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

4 years agoCorrected names in credits to be more accurate and consistent.
havoc [Thu, 9 Jan 2020 05:37:52 +0000 (05:37 +0000)]
Corrected names in credits to be more accurate and consistent.

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

4 years agoFix PRVM_ValueString and PRVM_UglyValueString to check for out of bounds
havoc [Tue, 7 Jan 2020 10:25:49 +0000 (10:25 +0000)]
Fix PRVM_ValueString and PRVM_UglyValueString to check for out of bounds
dereference on a value provided by VM code, and also a NULL pointer
check for another field type.

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

4 years agoExplicitly request the desired GL profile type.
divverent [Tue, 31 Dec 2019 03:44:08 +0000 (03:44 +0000)]
Explicitly request the desired GL profile type.

Might make GLES2 mode work on desktop Linux with GLES2 supporting drivers.

Also make the debug mode work in GLES2 too (if supported, that is; if not SDL is documented to ignore it anyway).

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

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

5 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

5 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

5 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

5 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

5 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

5 years agoRemove a few unused locals.
havoc [Sun, 26 May 2019 03:01:54 +0000 (03:01 +0000)]
Remove a few unused locals.

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

5 years agoRemove code for r_equalize_entities*.
divverent [Mon, 4 Feb 2019 15:09:01 +0000 (15:09 +0000)]
Remove code for r_equalize_entities*.

r_fullbright_directed and slapping EF_FULLBRIGHT on these entities works a lot
better. I believe other than Xonotic nobody uses this, and Xonotic used it only
to make some fullbright stuff prettier and that's been removed for a few months
now.

After this change, older Xonotic versions will complain about nonexisting flag
at startup, but I bet no player will even notice the difference - all it changes
is that EF_FULLBRIGHT entities will appear less directionally, and
r_fullbright_directed 1 will fix this in a better way (already set in current
Xonotic).

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

5 years agoRemove code for r_fakelight.
divverent [Mon, 4 Feb 2019 15:08:59 +0000 (15:08 +0000)]
Remove code for r_fakelight.

We have r_fullbright_directed now, which uses no shader permutation bit and has
a very similar effect.

Yay, less shaders!

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

5 years agoAvoid passing NULLs to glBufferSubData.
divverent [Sun, 3 Feb 2019 02:53:32 +0000 (02:53 +0000)]
Avoid passing NULLs to glBufferSubData.

Fixes crash at startup with Linux intel drivers. Can't tell why it doesn't crash
llvmpipe too.

Sorry, I'm not sure if skipping the entire logic of R_BufferData_Store in this
case is right. It does seem to be though.

If this change is a bad idea, please revert.

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

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

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

6 years agoDo not build VBOs on a dedicated server.
divverent [Fri, 19 Oct 2018 07:38:00 +0000 (07:38 +0000)]
Do not build VBOs on a dedicated server.

Fixes crash at startup of dedicated server in Quake and Xonotic
(probably in everything).

The only reason why this ever worked before was that Mod_BuildVBOs's
main callee R_Mesh_CreateMeshBuffer did a GL2 feature test before
calling into anything VBO related (and on a dedicated server, which does
not initialize GL, the test always returns false); however now that we
require GL32, the feature test is gone and thus the crash happened. An
explicit check for being a dedicated server fixes that.

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

6 years agoRemove unused APIs from cdaudio.h.
divverent [Fri, 19 Oct 2018 07:02:39 +0000 (07:02 +0000)]
Remove unused APIs from cdaudio.h.

These included an internal function of the playlist system which I could
make static as well.

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

6 years agoMake CDAudio_Play_byName static.
divverent [Fri, 19 Oct 2018 07:02:35 +0000 (07:02 +0000)]
Make CDAudio_Play_byName static.

It isn't called by any other compilation units, but only internally by
other cd_shared.c functions; more importantly, it does not check for
music_playlist being active like CDAudio_Play does, which would at the
very least be confusing if someone were to add a string version of
qw_svc_cdtrack (WHY WOULD ONE).

Thus: no functional change here.

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

6 years agoRemove the CONFIG_CD macro, and enable faketracks unconditionally.
divverent [Fri, 19 Oct 2018 06:40:49 +0000 (06:40 +0000)]
Remove the CONFIG_CD macro, and enable faketracks unconditionally.

All support for playing back CD-DA has been removed by leaving only the
SDL2 clients, and it is rather unlikely for CD-DA support to come back.
However while doing so, the CONFIG_CD macro was disabled in the makefile
but not the MSVC project, which broke faketracks (i.e. background music
via track003.ogg files) on Linux.

This change removes all #ifdefs for CONFIG_CD as well as its enablement
in the MSVC project, which is basically equivalent to having the feature
always being enabled.

Fixes background music in Quake with ripped music, Nexuiz, Xonotic, and
probably many other DP-based games. Also fixes Xonotic log spam about
gettime(GETTIME_CDTRACK).

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

6 years agoRemove GLX build from the travis build script.
divverent [Wed, 17 Oct 2018 16:26:52 +0000 (16:26 +0000)]
Remove GLX build from the travis build script.

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

6 years agoRemove a duplicate definition of GLDEBUGPROCARB.
havoc [Sun, 9 Sep 2018 01:55:59 +0000 (01:55 +0000)]
Remove a duplicate definition of GLDEBUGPROCARB.

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

6 years agoRemove a duplicate definition of qglGetPointerv.
havoc [Sun, 9 Sep 2018 01:50:51 +0000 (01:50 +0000)]
Remove a duplicate definition of qglGetPointerv.

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

6 years agoAdd CONFIG_CAPTURE_VIDEO in VS projects, this was somehow missed by the author of...
havoc [Sun, 9 Sep 2018 01:41:47 +0000 (01:41 +0000)]
Add CONFIG_CAPTURE_VIDEO in VS projects, this was somehow missed by the author of that define.

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

6 years agoAdded vid_conwidthauto cvar which updates vid_conwidth based on vid_conheight and...
havoc [Sun, 9 Sep 2018 01:39:08 +0000 (01:39 +0000)]
Added vid_conwidthauto cvar which updates vid_conwidth based on vid_conheight and aspect ratio (honoring vid_pixelheight), this defaults on for better usability.

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

6 years agoAdd GL_ExtensionSupported in vid_null.c because vid_shared.c relies on
havoc [Sun, 9 Sep 2018 00:51:33 +0000 (00:51 +0000)]
Add GL_ExtensionSupported in vid_null.c because vid_shared.c relies on
it.

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

6 years agoGo back to defining GL enums ourselves rather than relying on SDL_opengl.h on desktop.
havoc [Sun, 9 Sep 2018 00:38:26 +0000 (00:38 +0000)]
Go back to defining GL enums ourselves rather than relying on SDL_opengl.h on desktop.

Relying on SDL_opengl.h broke the dedicated server build which does not rely on SDL - having better code isolation of the OpenGL code would make this hack unnecessary.

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

6 years agoDon't apply r_showtris and such to the HUD and other UI elements, now that they are...
havoc [Sat, 8 Sep 2018 20:21:44 +0000 (20:21 +0000)]
Don't apply r_showtris and such to the HUD and other UI elements, now that they are rendered as a model this was happening.

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

6 years agoUse GL3.2 Core Profile context.
havoc [Sun, 12 Aug 2018 22:11:32 +0000 (22:11 +0000)]
Use GL3.2 Core Profile context.

Create and bind a vertex array object at start, since Core Profile requires it, but gains no benefit in performance from using multiple.

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

6 years agoA bit more cleanup.
havoc [Sun, 12 Aug 2018 21:35:57 +0000 (21:35 +0000)]
A bit more cleanup.

Add back some GLES2 support - it probably doesn't work but it will eventually.

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

6 years agoRefactored VID_CheckExtensions and GL_Init to GL_Setup.
havoc [Sun, 12 Aug 2018 21:19:01 +0000 (21:19 +0000)]
Refactored VID_CheckExtensions and GL_Init to GL_Setup.

GL_Setup now fetches all GL functions at the start and then verifies extensions after that, and it uses SDL_GL_ExtensionSupported as it should.

Removed a bunch of commandline flags like -noshadow that no longer do anything since we assume GL3.2 features.

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

6 years agoUse SDL_opengl.h and SDL_opengl_ext.h headers instead of doing our own defines -...
havoc [Sun, 12 Aug 2018 21:02:05 +0000 (21:02 +0000)]
Use SDL_opengl.h and SDL_opengl_ext.h headers instead of doing our own defines - still have to have the qgl function pointers though.

Removed some GLES2 debugging stuff.

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

6 years agoRemove a lot of OpenGL extension checks.
havoc [Sun, 5 Aug 2018 23:17:18 +0000 (23:17 +0000)]
Remove a lot of OpenGL extension checks.

Rename OpenGL extension functions and defines to core names.

Require the functions for all of the OpenGL3.2 Core Profile functionality - we're not asking for a Core Profile context yet, that will be later.

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

6 years agoChange a comment and a description to remove mentions of GL_ARB_occlusion_query becau...
havoc [Sun, 5 Aug 2018 22:09:56 +0000 (22:09 +0000)]
Change a comment and a description to remove mentions of GL_ARB_occlusion_query because it is standard in GL3.2.

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

6 years agoUpload the VBOs for Mod_Mesh models (such as the UI) during Mod_Mesh_Finalize.
havoc [Sun, 5 Aug 2018 21:39:11 +0000 (21:39 +0000)]
Upload the VBOs for Mod_Mesh models (such as the UI) during Mod_Mesh_Finalize.

Refactored the vbooffset handling in models to allow different vertex buffers for each array (this would only happen in the dynamic case when a buffer is recycled - so some code makes that assumption about dynamic buffers when freeing these).

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

6 years agoFix UI corruption caused by poor handling of missing VBO with firstvertex > 0.
havoc [Sun, 5 Aug 2018 21:29:44 +0000 (21:29 +0000)]
Fix UI corruption caused by poor handling of missing VBO with firstvertex > 0.

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

6 years agoFix gl_debug code which was broken as I didn't copy enough of the headers over from...
havoc [Tue, 31 Jul 2018 02:05:57 +0000 (02:05 +0000)]
Fix gl_debug code which was broken as I didn't copy enough of the headers over from another checkout.

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

6 years agoRemove some unused stuff related to glDrawRangeElements.
havoc [Tue, 31 Jul 2018 01:35:10 +0000 (01:35 +0000)]
Remove some unused stuff related to glDrawRangeElements.

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

6 years agoMake the VBO handling in RSurf_PrepareVerticesForBatch much more consistent by refact...
havoc [Sun, 29 Jul 2018 23:35:29 +0000 (23:35 +0000)]
Make the VBO handling in RSurf_PrepareVerticesForBatch much more consistent by refactoring it into RSurf_UploadBuffersForBatch.

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

6 years agoFix a console dprint about shader compilation that was trying to print a 64bit permut...
havoc [Sun, 29 Jul 2018 23:23:36 +0000 (23:23 +0000)]
Fix a console dprint about shader compilation that was trying to print a 64bit permutation number as 32bit.

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

6 years agoDisable the code path that compiles geometry shaders - we don't currently use any...
havoc [Sun, 29 Jul 2018 23:22:01 +0000 (23:22 +0000)]
Disable the code path that compiles geometry shaders - we don't currently use any of these and the code path is broken.

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

6 years agoRemove some old fixed-function state tracking that wasn't needed.
havoc [Sun, 29 Jul 2018 23:20:37 +0000 (23:20 +0000)]
Remove some old fixed-function state tracking that wasn't needed.

Add gl_debug implementation which was forgotten in previous change.

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

6 years agoAssume that GL_EXT_blend_subtract is supported.
havoc [Sun, 29 Jul 2018 23:18:44 +0000 (23:18 +0000)]
Assume that GL_EXT_blend_subtract is supported.

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

6 years agoAssume that GL_ARB_texture_compression is supported.
havoc [Sun, 29 Jul 2018 23:15:59 +0000 (23:15 +0000)]
Assume that GL_ARB_texture_compression is supported.

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

6 years agoAdd gl_debug cvar, if enabled the GL context will have GL_ARB_debug_output enabled...
havoc [Sun, 29 Jul 2018 23:12:41 +0000 (23:12 +0000)]
Add gl_debug cvar, if enabled the GL context will have GL_ARB_debug_output enabled, which will print in the console.

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

6 years agoRemove gl_dither cvar, it isn't supported in GL3.2 Core Profile.
havoc [Sun, 29 Jul 2018 23:04:41 +0000 (23:04 +0000)]
Remove gl_dither cvar, it isn't supported in GL3.2 Core Profile.

Remove unused gl_fbo cvar.

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

6 years agoOne last edit for the UI rendering with materials change.
havoc [Sun, 1 Jul 2018 08:45:55 +0000 (08:45 +0000)]
One last edit for the UI rendering with materials change.

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

6 years agoUse the model renderer on the UI - this means q3shaders and other material features...
havoc [Sun, 1 Jul 2018 08:22:40 +0000 (08:22 +0000)]
Use the model renderer on the UI - this means q3shaders and other material features now work.

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

6 years agoChange MAX_TEXTUREUNITS from 16 to 32 - this fixes a memory corruption that was causi...
havoc [Sat, 30 Jun 2018 21:59:21 +0000 (21:59 +0000)]
Change MAX_TEXTUREUNITS from 16 to 32 - this fixes a memory corruption that was causing all kinds of problems (e.g. cachepic issues).

Get rid of vid.texarrayunits, vid.teximageunits, vid.texunits variables as they are meaningless, assume 32 (because that is how many GL enums exist).

Don't clear texture units on reset, we don't know how many texture units really exist and it's largely pointless.

Do a more thorough unbind of textures on deletion, just for good measure.

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

6 years agoFix a printf bug in Draw_CachePic so it passes path rather than pic
havoc [Sun, 17 Jun 2018 17:32:36 +0000 (17:32 +0000)]
Fix a printf bug in Draw_CachePic so it passes path rather than pic

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

6 years agoRemove cl-release and similar targets from makefile as they no longer exist.
havoc [Sat, 16 Jun 2018 17:46:08 +0000 (17:46 +0000)]
Remove cl-release and similar targets from makefile as they no longer exist.

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

6 years agoAdd more debugging prints in Draw_CachePic, most of these are for edge cases.
havoc [Tue, 22 May 2018 02:11:13 +0000 (02:11 +0000)]
Add more debugging prints in Draw_CachePic, most of these are for edge cases.

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

6 years agoClean up GL extensions a bit to only have the stuff the engine actually uses.
havoc [Tue, 22 May 2018 02:09:42 +0000 (02:09 +0000)]
Clean up GL extensions a bit to only have the stuff the engine actually uses.

Remove a few things that offend GL3.2 Core Profile.

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

6 years agoRename RENDERPATH_GL20 to RENDERPATH_GL32.
havoc [Tue, 22 May 2018 01:43:35 +0000 (01:43 +0000)]
Rename RENDERPATH_GL20 to RENDERPATH_GL32.

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

6 years agoAdd more CHECKGLERROR calls, and clean up a few obsolete code scraps.
havoc [Tue, 22 May 2018 01:40:17 +0000 (01:40 +0000)]
Add more CHECKGLERROR calls, and clean up a few obsolete code scraps.

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

6 years agoRemove unused gl20_texunit enum since all of the non-GL paths have been removed and...
havoc [Tue, 22 May 2018 01:33:35 +0000 (01:33 +0000)]
Remove unused gl20_texunit enum since all of the non-GL paths have been removed and the GL path allocates texture units according to usage.

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

6 years agoRemove use of glPolygonStipple - it will need to be reimplemented in the shader using...
havoc [Tue, 22 May 2018 01:31:16 +0000 (01:31 +0000)]
Remove use of glPolygonStipple - it will need to be reimplemented in the shader using discard, or drawn as an overlay over the area.

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

6 years agoJust assume GL_ARB_texture_non_power_of_two and a number of other extensions are...
havoc [Sun, 20 May 2018 23:59:04 +0000 (23:59 +0000)]
Just assume GL_ARB_texture_non_power_of_two and a number of other extensions are supported, this simplifies a lot of conditions.

Always use GL_ARB_vertex_buffer_object.

Remove use of glDrawRangeElements as it doesn't exist in GL3.2 Core Profile, and is less necessary with GL_ARB_vertex_buffer_object.

Merge a number of extensions into the core opengl functions.

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

6 years agoRemove unused light attention textures (2D and 3D) since the GL1 path was removed.
havoc [Sun, 20 May 2018 23:44:22 +0000 (23:44 +0000)]
Remove unused light attention textures (2D and 3D) since the GL1 path was removed.

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

6 years agoBugfix: Don't use OpenGL 3.2 core context just yet - more fixes needed first.
havoc [Sun, 20 May 2018 23:38:27 +0000 (23:38 +0000)]
Bugfix: Don't use OpenGL 3.2 core context just yet - more fixes needed first.

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

6 years agoRemove support for libSDL1.2 which has been deprecated for years.
havoc [Sun, 20 May 2018 20:57:46 +0000 (20:57 +0000)]
Remove support for libSDL1.2 which has been deprecated for years.

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

6 years agoRemove some unused parameters on R_SetupShader_Generic.
havoc [Sun, 20 May 2018 20:43:24 +0000 (20:43 +0000)]
Remove some unused parameters on R_SetupShader_Generic.

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

6 years agovid_bitsperpixel is now locked to 32.
havoc [Sun, 20 May 2018 20:39:22 +0000 (20:39 +0000)]
vid_bitsperpixel is now locked to 32.

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

6 years agoRemoved per-platform clients (wgl/glx/agl) - now only SDL2 client
havoc [Sun, 13 May 2018 05:06:07 +0000 (05:06 +0000)]
Removed per-platform clients (wgl/glx/agl) - now only SDL2 client
exists.

Removed dedicated server from VS2017 projects - it's not really needed.

Removed cd_sdl.c since SDL1.2 support is not maintained, and the SDL2
code path in it is equivalent to cd_null.c as SDL2 does not support
controlling cd audio playback - also removed cd_null.c and the
corresponding code in cd_shared.c, which now only uses faketrack mode.

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