Commit graph

8645 commits

Author SHA1 Message Date
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
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
b0b07d09b9 Support demos recorded by qizmo.
I guess it's just part of how qizmo works, but a few extra packets get into
the demo before the packet with the serverdata svc :/ More checking needs
to be done (only the initial connect packet is checked), but this works for
now.
2012-06-16 13:15:48 +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
1a9fca531e Factor out the demotime get/rewind code.
One step towards a tidier CL_GetDemoMessage :)
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
d37b85f73f Split out the rss code into its own file. 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
Bill Currie
81dc750857 Pretend to allow screen offsets.
Because qw's maxclients is always > 1, they'll never work, though :)
2012-06-15 22:02:16 +09:00
Bill Currie
e6ce44fde7 Change qw's punchangle to a vector.
Consistency with nq :) (however, only pitch works in qw).
2012-06-15 22:02:16 +09:00
Bill Currie
d561d5587d Move the simangles hack out of cl_view.
The places that will need to be fixed are now three, but cl_view.c now
doesn't mess with values it shouldn't alter.
2012-06-15 22:02:16 +09:00
Bill Currie
42256021fc Fix nq's idle swaying to match qw's.
In nq, the gun would sway strangly relative to the player's view, but in
qw, the gun is fixed. Now it is in both.
2012-06-15 22:02:15 +09:00
Bill Currie
a49c123d84 Shuffle some fields around in cient_state_t. 2012-06-15 22:02:15 +09:00
Bill Currie
83d6dd7262 Fix idealpitch and viewheight in qw.
For certain values of "fix" ;). Both are brought back to life but
idealpitch is never set (always 0) and veiwheight is set in V_RenderView().
However, this brings the rest of the code in cl_view.c just that little bit
closer to merged :)
2012-06-15 22:02:15 +09:00
Bill Currie
3fd279ea6c Use info strings for scoreboard names in nq.
Nukes a strcpy and a buffer, and is one step closer to merged client data.
2012-06-15 22:02:15 +09:00
Bill Currie
bf751cafe0 Split nq's colors into topcolor/bottomcolor.
The protocol is not affected: the incoming colors byte is split into the
two fields when read from the packet. This simplifies a lot of code
elsewhere.
2012-06-15 22:02:15 +09:00
Bill Currie
afec630d1a Nuke some obsolete fields.
scoreboard_t and player_info_t haven't used the
_color/_topcolor/_bottomcolor fields for a while (since glsl).
2012-06-15 22:02:15 +09:00
Bill Currie
fd78d900e9 Complete all stuff commands when getting server info/data.
When the stufftext buffering was implemented, we forgot about
svc_serverdata...

While nq might normally not have the issue, I thought it best to implement
in nq, too.
2012-06-15 22:02:15 +09:00
Bill Currie
28d16b6f57 Implement qw's safe stufftext buffering in nq.
Avoid stuffing incomplete commands.
2012-06-15 22:02:14 +09:00
Bill Currie
17b43ba736 Clean up svc_disconnect differences.
Now that nq has distinct ca_active and ca_connected, this will work :)
2012-06-15 22:02:14 +09:00
Bill Currie
e730608dd7 Implement r_flatlightstyles from fitzquake. 2012-06-15 22:02:14 +09:00
Bill Currie
7299ca7bec More cl_parse tidyup.
svcs are now in order: makes it even easier to see what's different between
nq and qw.
2012-06-15 22:02:14 +09:00
Bill Currie
476ad75724 Add a fixme to remove skin from qw's entity_state_t. 2012-06-15 22:02:14 +09:00
Bill Currie
9c440ad9e2 Rename entity_state_t's skln to skinnum in nq.
Also some whitespace and comment corrections.
2012-06-15 22:02:14 +09:00
Bill Currie
25cb618e4d Clean up client_static_t a little more. 2012-06-15 22:02:13 +09:00
Bill Currie
b20daaf611 Nuke mapstring and spawnparms from client_static_t.
They're completely useless. Even though spawnparms was sent over the
network, the server ignored it. mapstring was never read anywhere.
2012-06-15 22:02:13 +09:00
Bill Currie
1aa2c22169 Nuke MAX_SCOREBOARDNAME from qw.
It was different from nq's MAX_SCOREBOARDNAME, and not really necessary,
what with being able to uuse info_key_t caches.
2012-06-15 22:02:13 +09:00