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
Bill Currie
b4ad695e16
Make info_t opaque.
...
I didn't like the way client/server code was poking around at the
implementation. Instead, provide a couple of accessor functions for the
same information.
2012-06-14 22:46:23 +09:00