Bill Currie
a8e0bcabf9
Call R_SetFrustum in all renderers.
...
It turns out glsl, sw and sw32 weren't getting any benefit from R_CullBox
because the frustum wasn't setup :P. Get another 8% out of bigass1
(174->184fps). bigass1 now runs 2x as fast as it did before I started this
optimisation run :)
2012-07-03 15:57:33 +09:00
Bill Currie
e58cd75660
Bound r_maxdlights properly.
...
QF's implementation doesn't support more than 32 dlights (32 bit int).
2012-07-03 15:27:48 +09:00
Bill Currie
eefefb79b0
Rename char_queue to draw_queue.
2012-07-03 14:45:16 +09:00
Bill Currie
b25de4d995
Rewrite the 2d code to use a scrap.
...
This severely reduces the calles to BindTexture, and more importantly,
glUseProgram, EnableVertexAttribArray etc. The biggest changes are:
o icons and text are all in the one giant texture
o icons and text are mixed in the one queue
This gave ~9% speedup for bigass1 (159->174fps).
2012-07-03 13:38:35 +09:00
Bill Currie
df35b22af4
Parameterize the linear filtering of scrap textures.
2012-07-03 12:10:24 +09:00
Bill Currie
e170f4ee75
Slightly reducde the number of calls to glUniformMatrix4fv.
...
It doesn't make a big difference to bigass1 (yet ?), but it does clean up
apitrace a little.
2012-07-03 10:57:35 +09:00
Bill Currie
1a1b406e5b
Fix timedemo in qw.
...
td_lastframe needs to be a float in qw. It seems the meaning changed from
nq to qw, but that's rather bogus. I need to look further into juat what's
going on, but at least now timedemo works.
2012-07-02 20:59:03 +09:00
Bill Currie
1a6b56b0a2
Call glTexSubImage2D only once per frame.
...
Instead of once per surface... ouch. Gives about 20% speed boost on demo1
(154.7->185.7)
2012-07-02 20:01:28 +09:00
Bill Currie
602cd84e21
FIx some player color issues found by valgrind.
2012-07-02 19:24:39 +09:00
Bill Currie
8fa92bf206
Add 32 button support to sdl and win as well.
...
The world isn't x11 (much as I'd like it to be)
2012-07-02 16:51:14 +09:00
Bill Currie
7cd8806ec0
Add support for up to 32 mouse buttons.
...
My new mouse reports only up to 9 (skipping 6 and 9, it seems), but I
/have/ seen 32 button mice...
2012-07-02 16:33:57 +09:00
Bill Currie
3d56084f59
Fix a memory leak.
...
Entity/Edict leafs weren't being freed when the entity was freed.
2012-07-01 09:05:16 +09:00
Bill Currie
7573c38122
Create qfspritegen based on id's sprgen.
...
No guarantees it works, but it should be able to convert a bunch of pcx
images into a sprite.
2012-06-30 20:20:15 +09:00
Bill Currie
4da3be5cd6
Get a minor speed gain in glsl bsp rendering.
...
About 4% (99.5 to 104.4) from not calling VertexAttrib4fv or BindTexture
when not necessary.
2012-06-29 22:13:20 +09:00
Bill Currie
249eb8e5d2
Bah, more segfaults :P
2012-06-29 20:26:27 +09:00
Bill Currie
cf48d5ab04
Make "playdemo" without args replay the last demo.
2012-06-29 18:44:42 +09:00
Bill Currie
7eaa6b72d6
Spawn a green dlight for chatting players.
...
It's not very big, and shows as green only in gl, but at least there's some
indication until I sort out icons etc.
2012-06-29 18:00:21 +09:00
Bill Currie
891500ac58
Fix yet another segfault.
...
Yet more bugs related to the change to using info key direct access :P
2012-06-29 18:00:21 +09:00
Bill Currie
39241867bb
Pass the chat info key onto clients.
...
The server's info key filtering is "explicit permit".
2012-06-29 18:00:21 +09:00
Bill Currie
baa0948bcb
Set the chat info key to the appropriate value on key_dest change.
2012-06-29 18:00:21 +09:00
Bill Currie
603fe92cba
Add a callback for when key_dest is set.
2012-06-29 18:00:21 +09:00
Bill Currie
52146947c1
First part of chat info support.
...
The idea is to allow other clients know when the player is chatting,
fiddling with the console, etc.
2012-06-29 18:00:21 +09:00
Bill Currie
a3fe8d56b8
Don't broadcast name changes for spectators.
...
At the request of freewill. There might be a better mechanism, though...
2012-06-29 15:13:03 +09:00
Bill Currie
0d9d777086
Fix Win32 package building for recent changes.
2012-06-29 11:15:11 +09:00
Bill Currie
3406cad99a
Many distcheck fixes.
...
Yay, bitrot :P
2012-06-29 10:49:21 +09:00
Bill Currie
edf4ea84a1
Update the doxygen config for 1.8
2012-06-28 18:01:17 +09:00
Bill Currie
bf00009cc8
A touch of whitespace cleanup.
2012-06-28 16:12:06 +09:00
Bill Currie
276b6f9662
Add support for sv_antilag (from fteqw).
...
I'm not 100% certain it actually works, but it doesn't seem to have broken
anything :)
2012-06-28 16:03:56 +09:00
Bill Currie
40da338674
Change SV_ClipToLinks's clip.type to be flags.
...
More feature swiping from fte: the flags are needed for antilag, but I
thought I'd grab the related features (mainly linking) while I was at it.
2012-06-28 15:09:49 +09:00
Bill Currie
64bfde7320
Allow extension builins to override standard builtins.
2012-06-28 15:07:03 +09:00
Bill Currie
3626f34c9a
Add entnum to edict_t for faster edict->num.
...
Swiped from fte :)
2012-06-28 14:43:29 +09:00
Bill Currie
0d8cd72a89
Fix colormap and colormod.
...
Fitzquake doesn't support colormod, so it needs to be copied from baseline
at all times.
colormap was just a thinko/typo.
2012-06-28 14:36:05 +09:00
Bill Currie
e41d269617
Fix the messed up smoke trails.
2012-06-28 07:22:29 +09:00
Bill Currie
d15ec2c95b
Fix the funny angle lerp for grenades etc.
2012-06-28 07:22:29 +09:00
Bill Currie
53212deb61
Fix the funky roll angle glitch.
...
Introduced in the cl_view merging :/
2012-06-28 07:22:28 +09:00
Bill Currie
f962db1820
Nuke cl_entity_state_t.
...
It was a hack to help with cleaning up the renderer, but is now in the way
of merging the clients.
This happens to fix the position/angle lerping, though angles behave a
little oddly.
2012-06-28 07:22:28 +09:00
Bill Currie
6e5bc62f78
More client.h cleanup.
2012-06-28 07:22:28 +09:00
Bill Currie
56f68cf119
Nuke looptrack from nq's client_state_t.
...
It's never actually used. The byte is still read from the network packet,
of course.
2012-06-28 07:22:28 +09:00
Bill Currie
8584021311
More client.h tidyup.
...
Whitespace and shuffling fields around. Now diffing the two headers makes
sense in client_static_t and client_state_t.
2012-06-28 07:22:28 +09:00
Bill Currie
f128aca207
Nuke a FIXME.
...
That was a rather evil hack, but what's worse is when I finally fixed the
problem, I didn't fix the fixme :P
2012-06-28 07:22:28 +09:00
Bill Currie
bcc1de3b84
Fix the missing health pickup sound on aerowalk.
...
Caused by an out-by-one error thanks to the insane way the sound list is
built. Came about when doing the model/sound list sanitation during the
GLSL project, but this one was sneakier as it resulted only in a missing
sound rather than a segfault.
2012-06-26 11:06:59 +09:00
Bill Currie
9b3f3905b5
Make CL_ParseStartSoundPacket easier to read.
...
Really just add a "bits" var from which to extract the info rather than
overloading "channel".
2012-06-26 10:51:11 +09:00
Bill Currie
9cb7e00946
FIx the segfault on changing levels caused by ca_active changes.
...
Host_Reconnect_f only set cls.signon to 0, so finding it as a place to
tweak was not so trivial :P Now it calls CL_SetState to do the job properly
:)
2012-06-24 11:22:37 +09:00
Bill Currie
415decb983
Use memmove instead of strcpy when deleting chars.
...
It seems recent(?) 64-bit strcpy implementations of strcpy don't work
properly for overlapping regions even when moving down. Quite the
surprise, as I thought that would always work. *shrug*
2012-06-23 20:54:55 +09:00
Bill Currie
7b231bc70e
Add support for /*..*/ comments to idparse
2012-06-23 19:43:22 +09:00
Bill Currie
409604ebfd
Fix some build errors that snuck in.
2012-06-23 19:39:24 +09:00
Bill Currie
c7a6293780
Make the logic around the call to CL_ModelEffects more sensible.
2012-06-20 20:41:26 +09:00
Bill Currie
0dbdf6e1ac
Factor out the extra entity effects code.
...
NQ only (not applicable to QW). Makes the entity loop a little easier to
read.
2012-06-20 19:53:14 +09:00
Bill Currie
2295c1e4f7
Remove a dead field.
2012-06-20 08:03:57 +09:00
Bill Currie
608c30942c
Factor out model based particle effects.
...
Moving them into a separate function both cleans up entity linking and
makes things easier for csqc when it comes.
2012-06-20 08:02:29 +09:00