havoc [Sat, 14 Jun 2014 18:48:02 +0000 (18:48 +0000)]
raise system requirements to Pentium3 so that we can force the math
pipeline to SSE, this fixes lightmap alignment issues in several
usermade quake maps (where the x87 increased precision was resulting in
different rounding than in the map compiler)
divverent [Sat, 4 Oct 2014 20:20:22 +0000 (20:20 +0000)]
If vid_desktopfullscreen is set, manually initialize window with the current desktop resolution instead of with the default values and then letting sdl correct it automatically when they differ. It caused issues switching from fullscreen to window mode in the first game run
divverent [Sat, 4 Oct 2014 20:15:47 +0000 (20:15 +0000)]
SDL2: Make work numeric keypad keys when numlock is off, K_PRINTSCREEN, K_SCROLLOCK and K_NUMLOCK. Also fix a debug print (event.key.keysym.unicode doesn't exist anymore in SDL2)
divverent [Sat, 4 Oct 2014 20:12:51 +0000 (20:12 +0000)]
Implement GPU-side corona fading
Uses GL_ARB_query_buffer_object to retrieve query results directly into a
buffer. This allows corona fading to be moved into the fragment shader,
preventing a round-trip to the CPU and synchronous rendering. Depending on the
machine's configuration, it can give a dramatic performance boost.
havoc [Sat, 14 Jun 2014 18:48:02 +0000 (18:48 +0000)]
UNMERGE! raise system requirements to Pentium3 so that we can force the math
pipeline to SSE, this fixes lightmap alignment issues in several
usermade quake maps (where the x87 increased precision was resulting in
different rounding than in the map compiler)
havoc [Sat, 14 Jun 2014 18:48:02 +0000 (18:48 +0000)]
raise system requirements to Pentium3 so that we can force the math
pipeline to SSE, this fixes lightmap alignment issues in several
usermade quake maps (where the x87 increased precision was resulting in
different rounding than in the map compiler)
divverent [Wed, 4 Jun 2014 09:08:42 +0000 (09:08 +0000)]
Some fixes to the keyboard handler:
------- WGL -------
* Keyboard handler now returns Unicode chars
* Fix numlock key interpreted as pause key
* Fix numlock, scrollock and capslock binds not working
* When numlock is off numeric keypad keys now return K_END, K_DOWNARROW,
* etc... Previously they always returned K_KP_<num>
regardless of numlock state
------- SDL -------
* Simulate press and release events when numlock and capslock get
* pressed, so that they can work similarly to the other keys
(excluding key repetition, it doesn't and will never work). It's a
workaround for the default SDL behaviour with these keys:
it generate a press event when a key gets enabled, a release event when
the key gets disabled. Scrollock already works as a
normal key.
* When numlock is off numeric keypad keys now return K_END, K_DOWNARROW,
* etc... Previously they always returned K_KP_<num>
regardless of numlock state
------- GLX -------
* Add numlock, scrollock and capslock keys
havoc [Thu, 29 May 2014 20:01:57 +0000 (20:01 +0000)]
Fixed a large number of WIN64 type conversion warnings.
Changed FS_Write to do multiple write calls if the size exceeds 1GB, this is to accommodate WIN64 where write() takes a UINT rather than size_t. We have no use of such large writes at this time, so this is a mostly theoretical feature.
havoc [Tue, 13 May 2014 22:13:15 +0000 (22:13 +0000)]
Changed the collision code used by sv_gameplayfix_nudgeoutofsolid to not consider collision_impactnudge as that is already taken care of by the caller, and the way it was being done would typically reject such collisions anyway.
havoc [Tue, 13 May 2014 17:59:02 +0000 (17:59 +0000)]
Removed collision_enternudge, collision_leavenudge, collision_startnudge, collision_endnudge cvars, all replaced with their current value (0) as other values break collisions too badly to be of practical value.
havoc [Tue, 13 May 2014 17:43:21 +0000 (17:43 +0000)]
Removed collision_prefernudgedfraction cvar and trace.realfraction field, this has been 1 for a very long time and it is time to lock in that value, thus trace.realfraction no longer has any reason to exist.
havoc [Tue, 13 May 2014 17:03:38 +0000 (17:03 +0000)]
Changed collision_enternudge and collision_leavenudge back to 0 because of massive sticking issues in terrain maps such as the Nexuiz 2.5.2 map ons-reborn.
havoc [Thu, 8 May 2014 03:10:57 +0000 (03:10 +0000)]
Overhauled the tracebox extending code, it now lives in collision.c rather than cl_collision.c/sv_phys.c and has 3 cvars controlling it:
collision_extendmovelength - affects ALL engine traces (physics, etc), this has a higher value because of how important it is to not get stuck in things.
collision_extendtraceboxlength - affects only the qc tracebox builtin.
collision_extendtracelinelength - affects only the qc traceline builtin (in particular it is a bad idea to set this to a high value because it can interfere with trace_inwater/trace_inair reporting).
Changed collision_enternudge/collision_leavenudge to behave more like Quake2/Quake3, this means that you can not sink into a brush (assuming the brush is detected - see collision_extendmovelength).
Some beautification on the RecursiveHullCheck and RecursiveLightPoint code.
havoc [Thu, 8 May 2014 03:06:11 +0000 (03:06 +0000)]
Reworked r_useportalculling to use expanded portal bboxes based on r_nearclip, this resolves an issue where a portal could lie entirely behind the nearclip plane of the frustum, but still need to be recursed.
havoc [Thu, 8 May 2014 01:02:39 +0000 (01:02 +0000)]
Fixed LightPoint code to deal better with lightmap bounds checking, this resolves several issues with item pickups in specific maps being lit wrong, thanks to jitspoe for discussion that led to this fix.
patch from graphitemaster that changes r_fxaa use of texture2D in
default.glsl to use dp_texture2D instead (which resolves to the correct
texture function on later GL versions)
havoc [Thu, 30 Jan 2014 02:05:50 +0000 (02:05 +0000)]
allow .rtlights files to have style values outside the range
0...MAX_LIGHTSTYLES - in particular, -1 is used by fte for unstyled
lights and this is a compatible behavior, just that the loader was
getting in the way.
for safety the MAX_LIGHTSTYLES comparison has been added to each use of
light->style in rendering.
divverent [Fri, 24 Jan 2014 16:39:06 +0000 (16:39 +0000)]
Fix some d0_blind_id related bugs:
- Higher numbered CAs should have priority over lower numbered CAs,
making CA 0 the "default" CA.
- Fix the "Authenticated connection to ..." message (no more -@- crap).
divverent [Tue, 7 Jan 2014 19:22:59 +0000 (19:22 +0000)]
Use an explicit jump table for QCVM instruction dispatch.
Also, duplicate the dispatch into the end of each case for additional
speedup (each of these branches gets a separate branch prediction slot
on many CPUs, which pays off quickly).
divverent [Tue, 7 Jan 2014 16:29:25 +0000 (16:29 +0000)]
COVERAGE! Also fixes prvm always running as PRVMSLOWINTERPRETER :(
Very basic implementation. Needs a persistent store later, I suppose, as
well as better output (e.g. for statements and coverage(), also show
function, file and line).