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
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
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
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
da8355a5f6
Remove some commented code.
2012-06-14 22:45:59 +09:00
Bill Currie
65bb35509f
Rearrange the offset cheat prevention.
...
Rather than (expensively) setting the cvars to 0 every frame, just ignore
their values in multiplayer mode.
2012-06-14 22:45:40 +09:00
Bill Currie
e7c3ae911f
Clean up some diff noise.
2012-06-14 22:45:24 +09:00
Bill Currie
96785ccec7
Clean up chase/spectator camera stuff.
...
o Rename nq's cl_cam.c to cl_chase.c.
o Split out the chase cam stuff from qw's cl_cam.c to cl_chase.c
2012-06-14 22:45:05 +09:00
Bill Currie
cf2377e76f
Fix view angles when loading saved games.
...
As per mh's post on inside3d.com.
2012-06-10 16:50:35 +09:00
Bill Currie
93e35d7ec0
Add demo format auto-detection.
...
nq now rejects anything that doesn't look like a .dem, and qw not only
rejects anything that looks like neither a .qwd nor a .mvd, but even
detects which one is being played by the contents rather than the file name
(foo.mvd.gz would be mis-detected as a qwd!!).
2012-06-03 20:04:02 +09:00
Bill Currie
dfc8f8bb20
Minor cleanup of CL_Record() and give nq default demo names.
2012-06-03 20:03:43 +09:00
Bill Currie
82a41017ec
Create a proper ca_active state.
...
Yay, no more ugly "SIGNONS" hack for whether to render :)
2012-06-03 20:01:42 +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
01773c7cd3
Fix the infinite think loop when playing honey.
...
The change to nq SV_RunThink to match that in qw finally bit my bum. I
suspect it's really a bug in the honey progs (using ltime on a non-pusher),
but QF locking up is not very friendly. I want to keep the option of having
a think loop in the same frame for progs that expect it (using
self.nextthink = time), but also NQ's original method of running think
every frame. Hopefully no progs expect "self.nextthink = time" to run
every frame rather than loop within the current frame.
2012-05-20 22:45:30 +09:00
Bill Currie
f9a384ffd4
Make simple gravity acceleration framerate independent.
...
Now it doesn't matter if you get 22 fps or 72, you jump the same height,
which actually happens to be slightly higher than the previous 72fps jump.
Effectively, you jump the height you would if you got infinite fps ;)
2012-04-28 14:54:58 +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
878764f79d
Fix some segfaults in nq-server.
2012-04-15 15:11:16 +09:00
Bill Currie
a16ff08240
Make nq-x11 work for sw.
...
Same state as qw-client-x11.
2012-04-11 14:58:56 +09:00
Bill Currie
a0e143e601
Check for fog functions before calling them.
...
Not all renderers support fog.
2012-04-11 14:58:55 +09:00
Bill Currie
4d9c3408a1
Start putting the pieces back together.
...
The renderer now gets initialized and things sort of work (qw-client will
idle, though nothing is displayed). However, as the viddef stuff is broken,
it segs on trying to run the overkill demo.
2012-04-11 14:58:55 +09:00
Bill Currie
7ed33f6345
Hide D_FlushCaches.
...
There'd been a way to do so all along :/ There might be some issues with
this, but those will be easy to fix :)
2012-04-11 14:58:55 +09:00
Bill Currie
e991c1fed3
Make a bit of progress cleaning up vid for plugins.
2012-04-11 14:58:54 +09:00
Bill Currie
ad61c7a30c
Start working on creating the render plugins.
...
Things blow up quite nicely. :)
2012-04-11 14:58:53 +09:00
Bill Currie
8530959752
Link the model libs to the render plugins.
2012-04-11 14:58:53 +09:00
Bill Currie
8e91fb7bc1
Get the basics linking.
...
Still, nothing will work: no plugins are loaded and they're all broken
anyway.
glx, sgl, glslx etc are going away, just the basics will be built: fbdev
(probably go away eventually), sdl, x11 and hopefully someday win. That's
actually the only reason anything links.
2012-04-11 14:58:53 +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
ce6ab908a5
Don't include the specific plugin headers in plugin.h.
...
This lets files that use plugins not depend on plugins they don't use.
2012-02-13 22:02:07 +09:00
Bill Currie
3cb4cb59b5
Link QFgamecode directly into QFruamoko.
...
First step in the library "merge down".
QFgamecode is now a convenience library. The only things that mention it
directly now are ruamoko and qfcc.
2012-02-13 15:05:31 +09:00
Bill Currie
9a91aff93c
Move the ambient level check out of the sound renderer.
...
Instead, the client gets the current leaf and passes ambient_sound_level
from the leaf to S_Update.
2012-02-13 13:44:29 +09:00
Bill Currie
02d24189ef
Use QF_NEED for plugins.
...
At the moment, the selection of the default sound driver etc is broken.
2012-02-12 11:37:25 +09:00
Bill Currie
e34f0178b6
Build GLSL clients for SDL.
...
Just about to do a release, and I realized windows users wouldn't have any
way of checking out the new renderer. I'll add wglsl when I get a chance to
do some testing.
2012-02-08 22:05:58 +09:00
Bill Currie
b5019c8e33
Nuke the engine dicrectory from gamecode.
...
Not the contents, of course :) Anyway, finally, that totally useless
directory is gone.
2012-02-06 23:44:52 +09:00
Bill Currie
f800e79a38
Make the init process more dependency based.
...
Most subsystems that depend on other subsystems now call the init functions
themselves. This makes for much cleaner client initialization (more work
needs to be done for the server).
2012-02-01 21:52:47 +09:00
Bill Currie
5efc78b920
Move the call to R_Particles_Init_Cvars into R_Init_Cvars.
2012-02-01 20:05:11 +09:00
Bill Currie
4b390909f2
Move r_gravity to it's rightful home.
...
r_part.c makes much more sense.
2012-02-01 20:03:16 +09:00
Bill Currie
fa0ff96533
Clean up the mess with host_basepal and vid_colormap.
...
Libs should not be reaching into the exe :P
2012-02-01 19:52:13 +09:00
Bill Currie
57f920b9e9
Fix some inverted logic.
...
Oops.
2012-01-28 21:01:19 +09:00
Bill Currie
7e078c7f9c
Revamp cshifts and implement in glsl.
...
The renderer should now be free of any direct access to client code. Even
3d rendering is now done via a function pointer.
The cshift code is done as a 2d screen function.
2012-01-28 20:45:14 +09:00
Bill Currie
ca2c861671
Fix team colors in GL NQ.
2012-01-26 13:53:52 +09:00
Bill Currie
ae4a30089e
Remove skin.c from nq.
...
I forgot to zap it earlier.
2012-01-26 13:48:20 +09:00
Bill Currie
8448a8f332
Minimize the skin calls in nq.
2012-01-24 11:59:49 +09:00
Bill Currie
fb2568e681
Fix team colors in glsl for nq.
...
I forgot to ensure Skin_Init was called in nq. Doing things with texture 0
doesn't work too well.
2012-01-24 11:49:42 +09:00
Bill Currie
7bfddd7ffe
Gut most of the old skin code.
...
Custom skins are smashed on most targets. Player colors don't work, etc.
However, this will let me do a much cleaner implementation.
2012-01-23 16:16:30 +09:00
Bill Currie
6fe557b407
Ensure the beam entitys' angles get set.
...
This fixes the incorrectly oriented beam entities.
2012-01-21 16:18:20 +09:00
Bill Currie
ffa79eed01
Don't lie about the number of models.
...
The renderer being told there were 2048 models when there were only ~160
was a bit of an unpleasant surprise :P
2012-01-09 16:22:39 +09:00
Bill Currie
423e08ce21
Add demo to "movie" conversion.
...
It currently writes a series of png files (QF/qfmvNNNNNN.png), at a fixed
rate of 30fps, with no sound recording.
2012-01-05 19:19:37 +09:00
Bill Currie
297a4e2756
Put the D_FlushCaches mess back.
...
It turns out that when it is called is highly timing sensitive :(
However, the rest of R_ClearState remains.
2012-01-05 15:50:20 +09:00
Bill Currie
53d89bf85a
Clean up the mess around D_FlushCaches.
...
Create an R_ClearState and call that from the clients. It calls any
necessary functions itself.
2011-12-23 12:51:47 +09:00
Bill Currie
497461b4c2
Make a start on making a pure GLSL renderer.
...
For now, only nq-glslx will be built, but as there is no actual code, it
doesn't link. However, this gets the glsl stuff into the build system.
2011-12-23 12:19:13 +09:00
Bill Currie
890963423b
Big cleanup of Host_Init.
...
Eventually, all init functions will chain to their dependencies.
2011-12-22 16:54:22 +09:00
Bill Currie
0086fee233
Rename host_skin.c to cl_skin.c.
...
I don't know why I thost host was a good idea.
2011-12-22 16:54:22 +09:00
Bill Currie
29306f7799
Merge nq and qw sv_phys.c
...
sv_move and world are now identical between the two directories.
2011-12-22 16:54:22 +09:00
Bill Currie
2bec1ae1d9
Make qw's push/block handing the same as nq's.
...
NQ's handling seems to be more correct. The only likely problems are if
something is pushed into (eg) a button, and things will be a little slower.
2011-12-22 16:54:22 +09:00
Bill Currie
d1be716031
Tidy up the corpse related code in SV_Push.
2011-12-22 16:54:22 +09:00
Bill Currie
4ade879674
Make SV_PushEntity easier to read.
2011-12-22 16:54:22 +09:00
Bill Currie
b54f0587d1
Bring qw's entity-in-solid check into nq's SV_Push.
2011-12-22 16:54:22 +09:00
Bill Currie
7243de0d90
Remove entorg from nq's SV_Push ().
...
It's been redundant since the moved_* arrays came in.
2011-12-22 16:54:22 +09:00
Bill Currie
64115d3331
Clean up sv_phys.c a little before merging.
...
Add some comments and make the code a little more readable so I know
what's going on.
2011-12-22 16:54:22 +09:00
Bill Currie
d441dc9027
Sort the cvar declarations.
...
The diff is still messy, but now it includes only new/old cvars, not moved
cvars.
2011-12-22 16:54:21 +09:00
Bill Currie
cba27bc745
Allow NQ's SV_RunThink to loop.
...
This brings NQ's physics a little closer to QW's. After studying both the
original WinQuake source and the progs source, this change should be
harmless, making very little difference. However, it does allow an
entity's think function to be called multiple times in the same frame (for
when the entity needs more time to think, but it would cause runaway loop
errors). Maybe need a "runaway think" check.
2011-12-22 16:54:21 +09:00
Bill Currie
c598ce4b50
Remove more of the fitzquake lerp code.
...
Missed this bit ealier.
2011-12-22 16:54:21 +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
60c9d05d47
Hipnotic/Rogue weapon mask comments and cleanup.
...
This too has been sitting around for a while. Taken from fitzquake.
2011-12-12 17:08:22 +09:00
Antti Harri
cc937828b8
Propagate flags set in pthread.m4 to nq and qw sources. Removes the need
...
to have -pthread in CFLAGS on OpenBSD.
2011-12-10 13:33:20 +02:00
Bill Currie
c3d41326b3
Do key dest changing properly.
...
key_demo wasn't so well thought out. This seems to be much better (and nq
is known to be working nicely).
2011-12-10 16:14:25 +09:00
Bill Currie
16c8b2a18d
Use the new demo imt.
...
There are some problems with menus and the console messing up the key_dest
state (they assume console/menu or game, nothing else), but otherwise
things seem to work.
2011-12-10 15:18:50 +09:00
Bill Currie
054e52528e
Revive the loading plaque.
...
At the request of scar3crow.
2011-12-09 18:41:52 +09:00
Bill Currie
91e65b6c80
Rename mplane_t to plane_t and clean up the mess.
...
I got rather tired of there being multiple definitions of mostly compatible
plane types (and I need a common type anyway). dplane_t still exists for
now because I want to be careful when messing with the actual bsp format.
2011-11-28 20:54:34 +09:00
Bill Currie
03abb3b27d
Add support for ellipsoids.
...
Not that boxes work yet, but the fix is the same.
2011-11-28 20:54:33 +09:00
Bill Currie
5029fde3e1
Fix the bogus frags on death.
...
I'd missed some casts in the MSG_ReadShort change.
2011-09-11 17:49:24 +09:00
Bill Currie
e7f845ece1
Fix the accidentally broken model precaching.
...
This fixes the explodebox bug reported by scar3crow (thanks!), caused by a
subtle difference between nq and qw precaching (nasty).
2011-09-11 17:07:41 +09:00
Bill Currie
cb9a30e949
Fix registered game detection.
...
registered detection needs qfs to be initted, but qfs needs game to be
inited... so move the qfs init into game init before the registered check.
2011-09-11 15:40:36 +09:00
Bill Currie
d9ab3a1f54
Move the config file/command line parsing into qargs.c
...
I don't like the COM prefix, but it will do for now.
2011-09-11 14:57:05 +09:00
Bill Currie
a71acc9ae5
Move the essential init code into Sys_Init().
2011-09-11 14:56:47 +09:00
Bill Currie
f921005a5d
Nuke com.c.
...
It's contents have been moved into game.c and massaged appropriately.
2011-09-11 14:55:13 +09:00
Bill Currie
8bab548d16
Make the hud type configurable via dirconf.
...
Currently only "id", "hipnotic" and "rogue" are supported (anything else is
treated as "id"). Has no effect in quakeworld (good thing too: changing
gamedirs is a little broken).
2011-09-11 08:13:26 +09:00
Bill Currie
1f4a6daafb
Fixes for win32.
...
I'd forgotten why SDL_main had such a lame prototype.
It turns out my previous mingw testing wasing testing SDL :(
2011-09-10 17:47:38 +09:00
Bill Currie
89ec14e0fc
Make very tiny movements no-ops.
...
This affects pushers in their think code. This makes NQ a little more like
QW, but doesn't really seem to change much.
2011-09-07 09:41:05 +09:00
Bill Currie
9bd4bbee52
Make sure tossed entities with upward velocity can always move.
...
If a tossed entity has ONGROUND set, it won't move, but if it has an upward
velocity, it can't possibly be ONGROUND, so clear the flag if the entity is
moving upwards.
2011-09-07 09:41:05 +09:00
Bill Currie
e1b6f50345
Clean up the diffs a bit between qw and nq sv_pr_cmds
...
Add some missing functions to nq.
In qw, Sys_Printf is mapped to SV_Printf, so no harm there.
2011-09-07 09:41:05 +09:00
Bill Currie
dcbe23b3d3
Abandon the runequake stuff for now.
2011-09-04 20:32:57 +09:00
Bill Currie
cca9983a48
Clean up the startup file diffs.
...
This also makes functionality consistent across the platforms, such as
adding support for -dedicated to sdl based nq, and various timing
calculations are now consistent.
2011-09-04 12:04:03 +09:00
Bill Currie
be8277c8c4
Sanitize some of the differences in cl_parse.c.
...
Most of the differences in CL_ParseServerMessage are now protocol specific.
2011-09-04 09:58:12 +09:00
Bill Currie
9afb691dd9
Change MSG_ReadShort to return an unsigned short.
...
Avoiding the sign extension by default seems to be more useful.
2011-09-04 09:58:12 +09:00
Bill Currie
9ace9f2bfa
Fix some bad timing with a dstring_delete.
...
Opps :P, double free.
2011-09-04 09:58:12 +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
514f085e88
Reduce the diffs in cl_demo.c.
...
Starting to look like a change in protocol rather than a complete rewrite.
2011-09-04 09:58:12 +09:00
Bill Currie
d508da3cf0
Reduce cl_cmd.c diffs down to protocol specifics.
2011-09-04 09:58:11 +09:00
Bill Currie
85bcac3c8d
Reduce cl_cam diffs to spectator specifics.
2011-09-04 09:58:11 +09:00
Bill Currie
73d11aedca
Do a lot of diff reduction.
2011-09-04 09:58:11 +09:00
Bill Currie
fb9a095586
Fix include style mixup.
...
"" for local, <> for system
2011-09-04 09:58:11 +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
Bill Currie
62f7d14ed2
White space cleanups.
2011-09-04 09:58:11 +09:00
Bill Currie
245cfb0b6f
Much diff reduction.
...
In the process, found a bug where the yaw speed was not being limited as
desired.
2011-09-04 09:58:11 +09:00
Bill Currie
88005f6710
Diff reduction.
2011-09-04 09:58:11 +09:00
Bill Currie
0d5bebabe2
Replace qsockaddr with AF_address_t.
...
It seems qsockaddr's assumptions aren't necessarily portable, as OpenBSD
seems to be doing weird things with qsa_family. Even if that's not the
case, this is cleaner.
2011-08-24 09:14:02 +09:00
Bill Currie
5d52810b9c
Disable single character tokens when parsing old save games.
2011-08-11 14:23:25 +09:00
Bill Currie
6f0ab844ea
Some more nq networking debug prints.
2011-08-06 16:54:01 +09:00
Bill Currie
07d5b114bc
Clean out some dead code and variables.
...
We haven't had serial or ipx support for a long time.
2011-07-29 10:11:14 +09:00
Bill Currie
efa0105748
Rename some headers to fix doxygen warnings.
2011-07-23 15:58:45 +09:00
Bill Currie
d2894a6f68
Rename Cvar_AliasGet to Cvar_MakeAliase.
2011-07-05 20:28:57 +09:00
Bill Currie
0f7390dd60
Clean up all the "set but not used" warnings.
...
gcc on my system is failing to treat this specific warning as an error :/
2011-06-19 10:48:02 +09:00
Bill Currie
3061270d3a
Support jumping off pretty much anything.
...
See http://forums.inside3d.com/viewtopic.php?t=1675 for inspiration.
As this might break the gameplay of certain maps, the new sv_jump_any
cvar can be used to disable this feature (bringing back the old behavior).
2011-06-11 13:19:31 +09:00
Bill Currie
628bd1367e
Fix some warnings in recent gcc.
...
gcc seems to be getting ever more picky (which is good, really)
2011-06-11 13:17:22 +09:00
Bill Currie
d88c09a033
Fix the crash on timedemo interrupting a timedemo.
2011-06-04 18:14:30 +09:00
Bill Currie
2ecdec91a8
Clean up the demo api a little.
...
This way, I can be more assured of what might be called from outside
cl_demo.c.
2011-06-03 22:47:32 +09:00
Bill Currie
82038bb504
Remove another stack character buffer.
...
While it was probably safe (snprintf was being used correctly) I prefer to
avoid the issue completely and centralize any potential problems.
2011-06-03 22:18:08 +09:00
Bill Currie
55cc0f9206
Bring back the unsigned type (PROGS version bump)
...
This is only low-level support (the unsigned keyword still does not work),
but sufficient to make switch statements using jump tables work.
2011-04-09 10:07:47 +09:00
Bill Currie
75ec6bf244
Clean out some unnecessary types from the progs engine and clean up the mess.
...
This is a nasty commit, sorry, but 99% of the commit is interdependent.
2011-01-10 12:25:31 +09:00
Bill Currie
a85c0713aa
Nuke libQFbuiltins.
...
The gib and "common" builtins are now part of libQFruamoko.
2011-01-04 21:21:19 +09:00
Jeff Teunissen
ec11282a33
fix worldspawn sky keys in NQ.
...
sky/skyname/qlsky rather than sky/skyname/skyname :)
2010-12-28 15:03:58 -05:00
Bill Currie
fdd59b9851
Support entity files in the client too.
...
I'd forgotten about .ent files when I wrote the client side map parsing
(fog/sky) support.
2010-12-27 09:34:24 +09:00
Bill Currie
14480fd1b4
Move the call to R_ClearEnts to the renderer.
...
This fixes the hang on certain maps in qw-client.
2010-12-25 19:59:34 +09:00
Jeff Teunissen
493466a8ec
X targets don't need X_PRE_LIBS
2010-12-24 05:03:32 -05:00
Bill Currie
de04e1b602
Lots of win32 (mingw cross) build fixes.
...
HTTP (curl) support is missing, but everything else builds.
2010-12-23 11:40:16 +09:00
Bill Currie
8bb507f220
Alias "show_fps" to "hud_fps".
...
"show_fps" is the quakeworld standard, so that's what most people expect to
use.
2010-12-16 11:46:25 +09:00
Bill Currie
23d3407622
Change a few defaults as suggested by bigfoot.
...
in_dga -> 0 (until X is fixed)
gl_multitexture -> 1 (why was this 0? not enough support back then?)
cl_usleep -> 1 (seems to be ok)
host_mem_size -> 40 (even 32 isn't enough these days)
rate -> 10000 (we're not in the modem era any more)
cl_mem_size -> 32 (16 is not enough, 32 sounds better than 24)
2010-12-16 11:34:39 +09:00
Bill Currie
12da412871
Get entity alpha (mostly) working.
...
I'm not sure if bsp model rendering is correct (backside issues), but
enities now sport transparency. Good test map:
http://www.celephais.net/board/view_thread.php?id=60157&
2010-12-16 09:34:29 +09:00
Bill Currie
52eb6a6b08
"realtime" is a client var, not a server var.
...
The correct var in the server is sv.time.
2010-12-15 18:47:17 +09:00
Bill Currie
64f801f546
whitespace
2010-12-15 08:51:43 +09:00
Bill Currie
775f8e959b
Rotating bsp model support.
...
This is based on the code presented on
http://forums.inside3d.com/viewtopic.php?t=2376 (and updates linked from
that thread), but with modifications for hopefully supporting rotating
trains (and not duplicating big fuctions).
For now, only nq. qw will come after some more testing.
2010-12-15 08:36:53 +09:00
Bill Currie
0e677ce0f0
Give nw qw's timedemo statistics.
2010-12-14 08:59:15 +09:00
Bill Currie
05be74510f
Free the explosion objects when clearing tents.
...
This fixes the hang after a few (3 or 4) play/timedemo runs of bigass1. Now
23 runs (and counting) seems to work well, though there seems to be a
memory leak somewhere.
2010-12-14 00:13:13 +09:00
Bill Currie
ce96e6b055
The beginnings of fog support.
...
gl_fog.c is taken from fitzquake with only minor modifications to get it
into QF. Other than worldspawn/network parsing, it's not used yet.
2010-12-10 17:17:30 +09:00
Bill Currie
aad204e80c
Set the skybox from the map's worldspawn sky field.
2010-12-10 17:17:30 +09:00
Bill Currie
4af6c8c108
Catch and ignore sky and fog fields.
...
This way, we won't get spammed with "not a field" messages on map load.
2010-12-10 17:17:30 +09:00
Bill Currie
51009cdc4b
Clear the server progs data when loading progs.
...
The baseline data doesn't matter so much, but the pointer fields relied on
the progs engine clearing them. I forgot about this :/
2010-12-09 21:35:21 +09:00
Bill Currie
bc91faf51e
Change back to storing the leafnum.
...
Still unlimited, of course :)
2010-12-09 17:24:38 +09:00
Bill Currie
3ae2ef8d11
Remove non-progs data from edict_t.
...
All data that is irrelevant to the progs engine itself has been removed
from edict_t and moved into the sv_progs code.
2010-12-09 17:24:37 +09:00
Bill Currie
a062c758fd
white space
2010-12-09 13:34:37 +09:00
Bill Currie
1291766298
Remove all "cosmetic" differences between nq and qw sv_phys.c
2010-12-09 08:52:40 +09:00
Bill Currie
6e87c4cea6
Make sure the level name does not over write the secrets count.
2010-12-08 21:59:23 +09:00
Bill Currie
9b9fde244b
Move the EndFrame function "pointer" into the sv_funcs struct.
2010-12-08 21:20:35 +09:00
Bill Currie
33d768ba73
Get nq and qw sv_phys.c mostly into sync.
...
nq's SV_CheckVelocity will be a little different (spherical rather than
cubical), but sv_maxvelocity defaults high enough for it to not matter to
most players. It might even improve play.
The remaining differences need some careful thought before the physics
merge is done.
2010-12-08 18:14:40 +09:00
Bill Currie
a893d8ead3
Get nq and qw world.c into sync (again:P)
2010-12-08 12:55:07 +09:00
Bill Currie
e46b52a81c
Plug the edict_leaf memory leak.
2010-12-08 09:20:43 +09:00
Bill Currie
31cf4b0d78
Use a linked list for the leafs in which the entity is positioned.
...
This allows the pvs to be used on an antity no matter how many leafs the
entity is touching. Seems to work nicely, but it will leak memory every
time a map is loaded.
2010-12-08 08:44:52 +09:00
Bill Currie
9bce1630a6
Revert "Tidy up CL_RelinkEntities a little bit."
...
This reverts commit ad7e7e45fe
.
The cleanup broke entity linking, but fixing it would just duplicate the
previous tests, so might as well revert. Cleaning up the interpolation code
is probably a better approach.
2010-12-04 22:41:44 +09:00
Bill Currie
a4b97e9e2e
Dynamic entity allocation. Unlimited static entities.
...
Entities can now be allocated dynamically. They are freed whenever a new
map is loaded.
Use the dynamic entities for static entities.
2010-12-03 21:01:52 +09:00
Bill Currie
ad7e7e45fe
Tidy up CL_RelinkEntities a little bit.
2010-12-02 15:12:17 +09:00
Bill Currie
e32e8f3cd3
Give nq cl_usleep.
...
Cuts nq-glx' cpu usage to about 25% on my system. However, the default is
off.
2010-11-29 19:50:59 +09:00
Bill Currie
d8eb3aab36
Move the desktop files into their own directory.
2010-11-29 14:26:33 +09:00
Bill Currie
8831a109a4
Create and use mclipnode_t.
...
I didn't realize this was a critical part of fitzquake's large map
support. This should fix the non-solid brush entities in Conflagrant
Rodent.
2010-11-29 09:36:21 +09:00
Bill Currie
995a8d3e4e
Don't use assembly code for SV_HullPointContents.
...
This is the only assembly code dependent on the size of dclipnode_t.
Removing it paves the way for fixing clipnodes in large maps.
2010-11-29 08:51:29 +09:00
Bill Currie
c526b615b1
Tweak server connection handling.
...
Add some \n to the strings and do a Host_Error when the server is using a
"bad" protocol version.
2010-11-27 07:27:59 +09:00
Bill Currie
cacd2fb895
FiztQuake's lerping system.
...
Seems to be mostly working. I get some funny results for zombies, but that
might be moving and turning at the same time causing issues.
2010-11-26 16:20:05 +09:00
Bill Currie
31c13d92a2
Protocol 666/large map support from FitzQuake.
...
Alpha and lerping aren't implemented yet, but things seem to be working. I
can load and play oms2.bsp (Conflagrant Rodent).
2010-11-26 16:20:05 +09:00
Bill Currie
8c4fe2f844
Rename Sys_DPrintf to Sys_MaskPrintf.
...
We now have finer runtime control over what gets printed. Need to do a
SYS_DEV audit, creating new masks as apropriate.
2010-11-26 16:19:26 +09:00
Bill Currie
525e20e3e2
Bring QW's unlimited beams/explosions into NQ.
2010-11-26 16:19:25 +09:00
Bill Currie
d4ae231f34
sezero's NET_SendToAll fix
...
Here's a patch to NET_SendToAll() which was always
broken: it never skipped non-connected clients.
Depending on the compiler, it would wait the whole
5 seconds of its blocktime before it gave up.
While there, changed its blocktime argument to
double (the comparison is against a double.)
2010-11-21 14:27:43 +09:00
Bill Currie
a51e888a1b
Nuke MAX_OSPATH and clean up the mess.
2010-08-25 13:31:08 +09:00
Bill Currie
2185a3dcd0
Remove almost all of my boxclip developement.
...
This is to prevent others accidently getting headaches from my code.
2010-08-20 14:13:23 +09:00
Bill Currie
669771681a
split up and modernize configure.ac
...
Most of the guts of configure.ac have been moved to config.d and are then
brought in by m4_include. This will make maintaining configure.ac much easier.
Also drop use of PROGRAM and VERSION, using PACKAGE_NAME, PACKAGE_VERSION, and
on occasion, PACKAGE_STRING instead, and clean out some old files we no longer
need.
2010-08-19 15:01:43 +09:00
Bill Currie
a9511cb69e
print the "message" of the map when displying the map name and time
2010-08-13 05:17:18 +00:00
Bill Currie
0dfff8fd58
ignore stuff
2010-08-07 10:42:09 +00:00
Bill Currie
98cf61dfd6
get the boxclipping debug code in semi-permanently (conditional, of course)
2010-08-05 02:52:56 +00:00
Bill Currie
997102fea8
audit the usage of "only"
...
There are still a few iffy places (notably around certain prepositions), but
the relevant sentences are now much easier to read.
2010-01-13 06:42:26 +00:00
Bill Currie
916aa6fe8b
give nq debugging abilities and minimize the differences between nq and qw
2010-01-13 06:29:36 +00:00
Bill Currie
6eae016d3e
minor cleanups
...
fix some comments, cleanup some whitespace, and don't explicitly call
PR_RelocateBuiltins as it is called (indirectly) by PR_LoadProgs.
2010-01-13 06:28:28 +00:00
Bill Currie
06a46c2dfe
change the return types of the new functions from float to integer
2010-01-13 06:23:59 +00:00
Bill Currie
15c46c3b27
Add some functions that runequake "needs".
...
These replace the CL_* related groveling.
2010-01-13 06:20:52 +00:00
Bill Currie
0647a156e3
Apply witukind's XDG support patch
2009-12-22 12:28:55 +00:00
Bill Currie
5d15c70a0d
progress in cleaning up the screen size mess
2009-12-22 06:02:53 +00:00
Bill Currie
4ff2cb88cf
bigscreen patch from Philippe Troin
2009-12-20 05:34:41 +00:00
Bill Currie
b14fcccd8f
get qf compiling with gcc 4.4
2009-12-19 10:54:23 +00:00
Bill Currie
5df7fe5512
printf bogosity fixes from Dabb
2009-04-10 23:59:48 +00:00
Bill Currie
59c077638a
Fix the annoying "Unknown interpreter 'id'" error. It was both bogus and a symptom of other problems (also fixed).
2009-03-16 11:49:52 +00:00
Bill Currie
d66934942d
nuke Con_Printf and Con_DPrintf and use Sys_* instead
2007-11-06 10:17:14 +00:00
Bill Currie
2881b4b284
make MOD_TraceLine recursive again so I can work on box clipping without losing so much hair
2007-09-16 07:55:44 +00:00
Bill Currie
e8cce4f626
make sv_progs changeable
2007-09-15 01:50:29 +00:00
Bill Currie
b1b7c49b11
plug a memory leak when saving games
2007-05-13 03:34:49 +00:00
Bill Currie
dd1adc0431
remove S_TouchSound: it doesn't seem to be necessary
2007-05-07 12:20:38 +00:00
Bill Currie
0aaab839c6
seems nobody tried to run nq-server on a 64 bit system...
2007-04-08 10:06:49 +00:00
Bill Currie
124506fda2
Fix the access alignment bug on 64 bit archs.
2007-04-07 01:41:23 +00:00
Bill Currie
b203512eb7
don't complain about _fields not being found
2007-04-07 01:02:14 +00:00
Bill Currie
df2bebde7e
more vc build patches from phrosy
2007-04-06 01:09:58 +00:00
Bill Currie
5b761bac83
make progs related code a little more consistent with its int type usage
2007-04-06 00:47:41 +00:00
Bill Currie
51a7392730
fix both the black skins and phrosty's overzealous memcpy bugs
2007-04-03 22:47:42 +00:00
Bill Currie
ab11912f93
fix the scrag = fiend bug
2007-03-25 05:47:53 +00:00
Bill Currie
d5f886c334
forgot to read lightstyles
2007-03-25 03:50:18 +00:00
Bill Currie
cde6e60848
most of the hacking needed to break out the common code from snd_dma.c
2007-03-17 03:10:45 +00:00
Bill Currie
0105754f6f
clean out some no-op functions
2007-03-10 14:17:52 +00:00
Bill Currie
d4719db021
a bunch of docs for snd_render.h and a some cleanup of namepace and old cruft
2007-03-10 04:21:32 +00:00
Bill Currie
7624f2eb87
still disabled, but put the box tracing code in the shared code
2006-12-24 03:46:12 +00:00
Bill Currie
45d467d748
box tracing (instead of point). Currently disabled because it doesn't work right just yet. However, when it is working, it will let us do things like crouching, crawling, arbitrary sized objects (including players), etc.
2006-12-24 03:13:29 +00:00
Bill Currie
70ec9848e7
add PL_RemoveObjectForKey and make PL_D_AddObject take a normal C string for key instead of a pl string.
2006-12-09 06:00:36 +00:00
Bill Currie
c290e9a988
use plists for save-games. old save-games can still be read, but new ones will always be in the new format. might be a good idea to back up any old saves until more testing has been done.
2006-12-09 02:35:44 +00:00
Bill Currie
2a79f42eb5
progs now internally uses plists for entity/global initialization, with support for direct conversion from id's format. This means that the entity string in a map (or the external ent file) can be a plist.
2006-12-09 00:02:57 +00:00
Bill Currie
c2b9d8d549
fix some bugs found by figuring out why PR_RESET_PARAMS exists
2006-12-05 09:55:37 +00:00
Bill Currie
3fb03fc2be
hah, should have been using __attribute__((used)) all that time (rather
...
than __attribute__((unused))). fixes the missing console in -x11
2005-08-04 15:27:09 +00:00
Bill Currie
501180aaac
gcc-4.0 fixes. even found some bugs :) (names /not/ mangled this time)
2005-06-08 06:35:48 +00:00
Bill Currie
2cc2da4d90
various little cleanups that should very fractionally speed up Host_Frame
2005-04-25 01:28:37 +00:00