Commit graph

22 commits

Author SHA1 Message Date
Bill Currie
7de0317a22 Avoid a segfault at the end of hipnotic.
This is based on ccr's patch, but a little more thorough (he missed some
potential problems) and probably more readable (the original code wasn't
the greatest (still isn't, but...))..
2013-11-27 16:08:30 +09:00
Bill Currie
ec94a1e459 Update entity origin and angles even when invisible.
This fixes the broken intermissions. There might be a better fix, but this
will do for now because the one alternative solution (getting
V_CalcIntermissionRefdef to poke directly at entity states) is not
something I particularly want to do.
2012-07-21 15:39:11 +09:00
Bill Currie
66ef8e16c1 Fix the ghost entities in demo playback.
Really, when cl_nodelta is in effect (eg, .qwd demo recording and thus
playback). QW now uses the new shared entity state block as I'd intended.
Thanks to the cleanup of ghost entities (ie, entities that have been
removed but continue to be rendered), glsl overkill has gone from 157 to
163 fps :)
2012-07-05 19:06:35 +09:00
Bill Currie
80bc0e9fb8 Make nq and qw use the new entity state struct.
This isn't really the best solution, but it does get things being shared
with the minimum of fuss.
2012-07-05 09:39:16 +09:00
Bill Currie
b65c41efcb Move the colormod lookup table into a new lib.
libQFclient is now here :) The first shared code is the lookup table.
2012-07-05 09:39:16 +09:00
Bill Currie
49f7d1ad6d Fix the bogus entity scales in the gl render.
It seems none of the other renderers support entity scale...
2012-07-03 20:07:18 +09:00
Bill Currie
602cd84e21 FIx some player color issues found by valgrind. 2012-07-02 19:24:39 +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
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
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
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
Bill Currie
23a38738fc Massive whitespace cleanup.
Lots of trailing whitespace and otherwise blank lines.
2012-05-22 08:23:22 +09:00
Bill Currie
bc1b483525 Nuke the rcsid stuff.
It's pretty useless in git.
2012-04-22 10:56:32 +09:00
Bill Currie
a4c280f2b2 Take the first step towards render plugins.
No clients link. Even if they did, nothing would work.
2012-04-11 14:58:53 +09:00
Bill Currie
3eb859a88f Move the entity transform setup into the clients.
This has several benifits:
  o The silly issue with alias model pitches being backwards is kept out
    of the renderer (it's a quakec thing: entites do their pitch
    backwards, but originally, only alias models were rotated. Hipnotic
    did brush entity rotations in the correct direction).
  o Angle to frame vector conversions are done only when the entity's
    angles vector changes, rather than every frame. This avoids a lot of
    unnecessary trig function calls.
  o Once transformed, an entity's frame vectors are always available.
    However, the vectors are left handed rather than right handed (ie,
    forward/left/up instead of forward/right/up): just a matter of
    watching the sign. This avoids even more trig calls (flag models in
    qw).
  o This paves the way for merging brush entity surface rendering with the
    world model surface rendering (the actual goal of this patch).
  o This also paves the way for using quaternions to represent entity
    orientation, as that would be a protocol change.
2011-12-15 17:09:01 +09:00
Bill Currie
4b515a961b Back out the fitzquake lerp changes.
That's not the direction I wish to take the renderer.
2011-12-13 17:01:15 +09:00
Bill Currie
28d9c7234c A bit more diff reduction before attempting to merge client code. 2011-09-04 09:58:12 +09:00
Bill Currie
62b17d3629 Split out the entity linking code.
This should smooth the merge process a little.
2011-09-04 09:58:11 +09:00