Commit Graph

8022 Commits

Author SHA1 Message Date
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 3eb788b3f6 Make qw's SV_Push remove ONGROUND for non-players.
This seems to have been an optimization for QW since standard qw removed
monsters. However, since there are QW mods that brought back monsters,
this should be an improvement.
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 8b78aeb666 Add component-wise vector and quaternion comparison macros.
Also, re-implement VectorCompare and QuatCompare using the new macros.

VectorCompCompare and QuatCompCompare take a parameter specifying the
comparison operator to use. All component-wise comparisons must be true
for the whole comparison to be true.
2011-12-22 16:54:21 +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 74ef056515 Update NEWS for 0.6.0. 2011-12-21 19:25:14 +09:00
Bill Currie 858d95de58 Add a bunch more keys to the X11 clients.
Now, QF does something reasonable for every key on my keyboar for which X
gives us a keycode.
2011-12-19 16:37:48 +09:00
Bill Currie 4115ef5dd3 And now, 0.5.99beta4.1
Just my luck: push the beta4 tag, and I find a patch in our patch tracker.
2011-12-19 09:48:33 +09:00
Bill Currie 87390f53b0 Z_Realloc() should zero-fill the expandded part of the mem
Patch from Ozkan Sezer (sezero). Thank you.
2011-12-19 09:45:46 +09:00
Bill Currie 0238791b49 Update for beta 4 2011-12-19 09:27:15 +09:00
Bill Currie 52d9269867 Merge brush model with world model rendering.
With this, non-mtex global fog now works properly :).
2011-12-18 08:09:55 +09:00
Bill Currie a8e354536a Implement the instance surface allocation/freeing.
Not actually used yet, so it's harmless at this stage.
2011-12-17 19:42:19 +09:00
Bill Currie 87b78e5533 Move the surface chain links out of the surfaces.
The links are now in "instance surfaces". For non-instanced models (world,
doors, plats etc (ie, world and its sub-models)), there will be one
instance surface per model surface. However, for instanced models (ammo
boxes etc), there will be many, dynamically allocated (not yet
implemented). This commit gets the static instance surfaces working.
2011-12-17 19:14:14 +09:00
Bill Currie 497e4b7dfd Update NEWS for 0.5.99beta3. 2011-12-17 13:26:00 +09:00
Bill Currie 9f0bdf7794 Add some comments. 2011-12-17 09:39:57 +09:00
Bill Currie 933120d44f Fake vertex arrays for text and particles.
Getting gl_vaelements_max -1 to work produced a rather nasty surprise :P
2011-12-16 20:09:05 +09:00
Bill Currie 5cd1f6f5cf Fix a GL version check snafu.
Thanks to MH (on inside3d.com) for pointing this out to me.
2011-12-16 09:43:22 +09:00
Bill Currie e67690a1a9 Restore the missing lightmaps in non-mtex mode.
I forgot to blend in the lightmaps in the fogless non-mtex path.
2011-12-16 09:21:39 +09:00
Bill Currie b2aa5ce554 Register the textures of other brush models; 2011-12-15 17:09:02 +09:00
Bill Currie 962451e2fe Create a list of texture chains.
This moves the texture chains out of the world model and into a separate
list, allowing other brush models to registter their textures.
2011-12-15 17:09:02 +09:00
Bill Currie d6a668d517 Split out chain_surface() from visit_node(). 2011-12-15 17:09:02 +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 f6ebb78140 More GL_Init_Common() cleanup.
Move the call to GL_Common_Init_Cvars() out of the block of check calls.
2011-12-15 17:09:01 +09:00
Bill Currie 51aaee5c3b Put that OpenGL error message to rest.
The error was quite valid: setting GL_TEXTURE_MAX_ANISOTROPY_EXT to 0 is
incorrect. The problem was caused by the call to glTexParameterf being
before the gl_anisotropy cvar was initialized. Thus, move all of the setup
code in GL_Init_Common() to after all the checks and, more importantly,
after the call to GL_Common_Init_Cvars().
2011-12-15 17:09:01 +09:00
Jeff Teunissen e9ab230626 Docs: minor cleanups 2011-12-15 00:13:56 -05:00
Jeff Teunissen 69aa6c0e7e Work around an apparent Doxygen 1.7.6 bug.
For some reason, the construct \c " in config.dox makes the custom \QF
command fail to work for the rest of the file, and escaping the quote
doesn't help. Work around for now by using words.
2011-12-14 23:06:36 -05:00
Jeff Teunissen 1c590116af Docs: make sure the nav-tree is black, dammit. 2011-12-14 23:02:21 -05:00
Jeff Teunissen 7d6430edd4 Rua: move the old cvar() and cvar_set() functions
Move the old cvar get/set funcs to cvar.[rh] from system.[rh].
2011-12-14 20:33:33 -05:00
Jeff Teunissen 6ead583195 Ruamoko: Implement infinity.
The special token __INFINITY__, like __FILE__ and friends, will expand to
a floating-point expression containing a value the C compiler considers
infinite. Obviously, this assumes that the system has relatively modern
float hardware -- but if it doesn't, having Ruamoko be able to represent
float infinity is the least of your problems. :)
2011-12-14 12:20:10 -05:00
Bill Currie da552e33e7 Remove execinfo checks.
It seems we no longer need it (if we ever really did).
2011-12-13 21:25:41 +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 b38cb1e221 Create some nicer docs for AngleVectors. 2011-12-13 14:15:03 +09:00
Bill Currie b05be59ea0 Fix alias models in non-mtex fog.
It turns out that due to the way we do fullbrights, nothing special needs
to be done to get the fullbright texture blended with the model even when
fog is enabled.
2011-12-12 17:08:22 +09:00
Bill Currie 8e531a58c2 Get global fog working for multi-pass rendering.
For the world textures, anyway. Entity multi-pass rendering still needs to
be verified.
2011-12-12 17:08:22 +09:00
Bill Currie ab2fe9f6a7 Remove the mvd timeskip code.
After discussing things with Spike of FTE, it seems that not many clients
handle zero length mvd packets particularly well. While it the skip code
might be useful for qtv, getting the packets into one but not the other
seems to be not worth the effort at this stage.
2011-12-12 17:08:22 +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
Bill Currie d32fa834cc Make links to the cvar/cmd lists. 2011-12-11 18:40:02 +09:00
Bill Currie 6ac017860a Pretend to be MVDSV for ktpro. 2011-12-11 17:15:33 +09:00
Bill Currie f7cfd5bed7 Update NEWS. 2011-12-11 11:01:05 +09:00
Bill Currie 0e76e1b9bf Sign extend the size read from the download packet.
This fixes qw-client "hanging" on a missing download file. Hopefully fixes
the OpenBSD crash, too.
2011-12-10 21:38:44 +09:00