Commit Graph

1009 Commits

Author SHA1 Message Date
Bill Currie 130494f774 Bail out if the saved game data has too many entities. 2012-07-22 12:08:09 +09:00
Bill Currie 3042c2bb1a Create backups of quick.sav.
F6 is fantastic, until you hit it by mistake after dieing when you meant
to hit F9 (I've done that way too often). quick.sav is still the last file
written via F6 (so F9 is unaffected), but now the previous quick.sav
becomes quick1.sav. Up to 5 (currently) backups will be kept: quick1 is
the newest, quick5 the oldest. A menu for accessing the backups has been
added as a sub-menu of the load menu.
2012-07-21 22:41:57 +09:00
Bill Currie 068bc7a627 Potential client state fix ala Baker.
I'm not sure it's really relevant to QF, but applying it doesn't hurt.
2012-07-21 17:53:49 +09:00
Bill Currie 543c4b2442 Don't force the console for ca_connected.
It's valid not to draw the console in ca_connected when changing levels.
2012-07-21 16:37:14 +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 1bc2080bd3 Make noclipping players not touch triggers. 2012-07-18 14:51:53 +09:00
Bill Currie b1a0086dae Fix the "missing" grenades in nq demos (gl).
Actually, they were microscoping (scale 0!)
2012-07-13 19:26:27 +09:00
Bill Currie d4f4e450e6 Fix the bogus loading plaque when disconnected (nq). 2012-07-06 10:44:29 +09:00
Bill Currie 3519931b78 Limit beams to one per entity.
Note that this is only a soft-limit and prevents excessive beams when only
one is expected. If more beams are desirned, just use 0 for the entity
number.
2012-07-06 08:29:21 +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 dea2f48477 Move entity_state_t into client/entities.h
Also, start working on the shared entity manager.
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 cf48d5ab04 Make "playdemo" without args replay the last demo. 2012-06-29 18:44:42 +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 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 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
Bill Currie 8612696816 Clean up entity_state_t diffs. 2012-06-20 08:01:32 +09:00
Bill Currie ca1a5dfe8f Fix the missing console prompt on demo stop.
CL_StopPlayback was incorrectly calling Key_SetKeyDest with key_game. As
CL_SetState calls Key_SetKeyDest with the appropriate parameter,
CL_StopPlayback calling Key_SetKeyDest is actually redundate, so just
change key_game_target back to IMT_0.
2012-06-16 16:05:24 +09:00
Bill Currie 2897dc5a16 Frame-rate independent cshift fades.
As per mh's post on inside3d.com. I don't see any difference, but it still
fades well, so... :)
http://forums.inside3d.com/viewtopic.php?f=12&t=4899
2012-06-15 22:02:18 +09:00
Bill Currie fc67f8ce93 Fix up some comments.
Lowsy grammar and inaccurate info...
2012-06-15 22:02:18 +09:00
Bill Currie 3a1e065a57 Use Sys_DoubleTime instead of realtime for timedemos.
Currently, realtime is not really real time thanks to demo_speed.
2012-06-15 22:02:18 +09:00
Bill Currie 01466e4e43 Factor out the next packet check code. 2012-06-15 22:02:18 +09:00
Bill Currie e04777571d Factor out the demo packet reading. 2012-06-15 22:02:18 +09:00
Bill Currie cc1bf68d1f Dead code nukage.
Commented out even in q1source :P
2012-06-15 22:02:18 +09:00
Bill Currie aa2a8e8909 Mostly "merge" cl_screen.c.
Down to protocol/networking differences.
2012-06-15 22:02:17 +09:00
Bill Currie b2290d92c9 Nuke UNALIGNED_OK.
It's not really necessary (and was effectively dead anyway).
2012-06-15 22:02:17 +09:00
Bill Currie 8dc1961e8c Yet more diff noise reduction. 2012-06-15 22:02:17 +09:00
Bill Currie c8e3cf05d0 Finish the "merge" of V_CalcBob.
qw now uses cl.onground instead of pmove's onground (d'oh). nq now has a
dummy spectator flag.
2012-06-15 22:02:17 +09:00
Bill Currie 84b5869b30 Make the view offsets make sense.
Now the gun doesn't move around strangely when looking up and down with
view offsets set.
2012-06-15 22:02:17 +09:00
Bill Currie c4d7b65a05 Much diff noise reduction in V_CalcRefdef.
NQ's client-side onground now works similarly to QW's: -1 = not on ground,
0+ = on ground (plane num?) but only 0 is used in NQ as the necessary
information is not sent over the network.
2012-06-15 22:02:17 +09:00
Bill Currie 86ecab4ff7 "Merge" V_ParseDamage 2012-06-15 22:02:16 +09:00
Bill Currie 7dd400d04a "Merge" V_CalcRoll. 2012-06-15 22:02:16 +09:00
Bill Currie 301a6431c6 Correct a comment, and more diff reduction.
It turns out NQ "never" sent coordinats at 1/16 resolution: even q1source
sends coords at 1/8 resolution. This gets rid of an annoying difference.
2012-06-15 22:02:16 +09:00
Bill Currie 5bae5b3740 Much diff noise reduction. 2012-06-15 22:02:16 +09:00