Commit Graph

1061 Commits

Author SHA1 Message Date
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 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 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 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 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 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