Bill Currie
cc5140e3a1
Move min/max/bound and field_offset into better locations.
...
min/max bound into mathlib.h (they /are/ math functions, after all) and
field_offset into qtypes.h.
2011-12-24 10:04:33 +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
b38cb1e221
Create some nicer docs for AngleVectors.
2011-12-13 14:15:03 +09:00
Bill Currie
3a386293fc
Add Vector3Scale macro.
...
Vector3Scale individually scales the components of one vector by the
components of another vector.
2011-11-28 20:56:19 +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
94362cc010
Add macros to ease printing of vectors and quaternions.
...
I got sick of having to pass all those parameters to printf. Let the
compiler do it for me.
2011-09-07 09:41:06 +09:00
Bill Currie
12e238f806
Add a function to convert quake angles to a quaternion.
...
The test works by comparing the result of AngleVectors with forward,
right, and up vectors rotated by the quaternion resulting from AngleQuat.
2011-09-04 09:58:12 +09:00
Bill Currie
eb205d73fd
Add a function to convert a quaternion to a rotation matrix.
2011-09-04 09:58:12 +09:00
Bill Currie
a59fee5346
Add the QuatSet macro.
...
Same as the VectorSet macro.
2011-09-04 09:58:11 +09:00
Bill Currie
d638fdce83
Add a PlaneFlip macro.
2011-05-07 19:29:03 +09:00
Bill Currie
33db650161
Add QuatInverse to calculate 1/q.
...
There's still no direct quaternion division because I don't know if the
definition of q1/q2 is (1/q2)*q1 or q1*(1/q2) (it does make a difference).
2011-01-18 22:22:18 +09:00
Bill Currie
13503198e5
Add quat_origin convenience constant.
...
Same as vec3_origin in that all elements are zero.
2011-01-11 08:41:40 +09:00
Bill Currie
8808eba3ff
add VectorSet macro
...
VectorSet(a,b,c,d) -> vec3_t d = (a, b, c)
This should be useful.
2010-10-13 20:52:05 +09:00
Brian Koropoff
fc293864dc
Fix visibility of VectorNormalize and other math functions
2007-03-17 21:06:00 +00:00
Bill Currie
99c0954b47
the big dso visibility patch :). Sure, we have to have unique names for static builds, but with controlled visibitly we should get faster program loads (although this isn't C++, so it's not as bad) and complex plugins are cleaner.
2007-03-10 12:00:59 +00:00
Bill Currie
6fbddc3d43
so that's the right way to do groups and subgroups...
2006-12-05 11:40:00 +00:00
Bill Currie
8770df39e5
start documenting things (progs building still borked)
...
This is an imperfect revision of history.
2004-11-08 23:27:00 +00:00
Bill Currie
39685d0c63
more readability and add the quaternion functions
2004-04-07 18:01:45 +00:00
Bill Currie
524c02e97a
make the vector macros more readable
2004-04-07 02:29:41 +00:00
Bill Currie
ff5b215c13
multi statement macro fixes as pointed out by Grievre
2004-03-16 04:15:07 +00:00
Ragnvald Maartmann-Moe IV
29502c8f5a
Lots of optimizations, particularly for GL state changes, and tweak lighting a
...
bit more.
Also a cleanup from Grievre: Use VectorIsZero in two places in gl_mod_alias.c.
2004-03-15 21:32:19 +00:00
Bill Currie
19ef80c555
this should fix static win32 builds
2004-01-21 00:15:35 +00:00
Bill Currie
e154c9add5
be consistent with WIN32 and _WIN32 (now all _WIN32)
2004-01-20 03:47:27 +00:00
Bill Currie
77b2942982
several libs can now get built as dlls in windows: console, gamecode,
...
gamecode_builtins, gib, image, modules, object, ruamoko and util.
2004-01-19 07:47:41 +00:00
Bill Currie
231a1bfb56
bring in many of LordHavoc's changes to qbsp: HalfLife WorldCraft texture
...
alighnment, partial "point of plane" autocorrection (currently disabled: I
want to make it optional), large map support (not sure where that's
hiding), hipnotic entity rotation
2003-09-03 22:00:08 +00:00
Bill Currie
7ead5a91f8
don't let gcc automaticly inline functions but make gcc inline bigger
...
functions when told to. also make gcc warn if it can't inline a function.
Explicitly inline several functions (including moving VectorNormalize to
mathlib.h so it /can/ be) resulting in a 5.5% speedup for spam2 (88 to 92
fps)
2003-08-11 06:05:07 +00:00
Bill Currie
6a94607d9d
rename VectorMA to VectorMultAdd, add VectorMultSub and use it in a few
...
places. Not certain how much speed difference it makes :/
2003-08-08 15:25:53 +00:00
Bill Currie
71196fedf6
make gcc more anal about prototypes, string constants and function
...
visibility (ie, global functions must have a prototype)
2003-01-06 18:28:13 +00:00
Bill Currie
d25ee82838
provide a tighter accuracy (but slower) _VectorNormalize for the tools
2002-09-25 21:35:49 +00:00
Bill Currie
56843557f6
make _VectorCompare use EQUAL_EPSILON (VectorCompare is still the fast
...
macro) and use it instead of VectorCompare in the map tools. This (and, it
seems, RINT) fixes qfbsp on spc. Also, jump /all/ entities that get hit
by the filler in qfbsp
2002-09-20 17:02:53 +00:00
Ragnvald Maartmann-Moe IV
d757c10f07
Only need one define for R_Cull*
2002-08-23 20:46:19 +00:00
Ragnvald Maartmann-Moe IV
6e8bd2aeb0
defines and ifdefs for R_CullSphere, just like R_CullBox.
2002-08-23 07:04:29 +00:00
Ragnvald Maartmann-Moe IV
c91f1a2aea
Rename Length to VectorLength.
2002-08-20 02:22:40 +00:00
Ragnvald Maartmann-Moe IV
32a85e7130
Clipping cleanups.
...
Calculate radius for alias models as well as brush.
Culling is no longer optional on alias models (was only ever disabled for viewmodel, which is a lot of extra effort to avoid clip testing 1 thing out of hundreds).
Clip QSG2 scaled alias models with a scaled bbox.
2002-08-20 00:48:59 +00:00
Ragnvald Maartmann-Moe IV
fd1ded5c4a
Add r_nearclip and r_particles_nearclip. Also put some limits on r_farclip. And fix id's insane max and min float, and some minor improvements in frustum setup in GL.
2002-06-26 22:20:12 +00:00
Bill Currie
013f503738
start getting const-correct on vec3_t params
2002-01-03 05:29:38 +00:00
Bill Currie
ee9ed0c395
minor cleanups
2001-12-21 21:52:03 +00:00
Ragnvald Maartmann-Moe IV
7ea1051b9a
Code cleanups.
2001-10-30 19:55:34 +00:00
Bill Currie
def8bb3cd5
LordHavoc's VectorIsNull changes from 0.3 but as VectorIsZero (no such thing
...
as a `null' vector) plus a couple of other bits from his patch.
2001-09-11 05:18:15 +00:00
Bill Currie
3a9191760f
some minor improvements
2001-09-07 00:11:22 +00:00
Ragnvald Maartmann-Moe IV
419585b6f2
Obvious optimization missed by a certain tired coder. Thanks to LordHavoc for pointing it out.
2001-09-06 01:09:51 +00:00
Ragnvald Maartmann-Moe IV
55f0fed0b6
Replace lhrandom with qfrandom, a different convenience macro with better random number distribution (see man 3 rand).
2001-09-05 06:20:45 +00:00
Bill Currie
0d55476711
make VectorSubtract and VectorCompare macros and clean up the readability
...
of R_DrawParticles
2001-08-29 20:19:54 +00:00
Zephaniah E. Hull
8f011f91ec
Length is now a #define, not a bloody function!
2001-08-15 23:01:56 +00:00
Bill Currie
647d38fa40
Make R_MarkLights use the vis info to speed things up. Oddly, even though
...
R_MarkLights is now about 3% instead of about 15%, I've lost 8 fps on my
null GL speed test. However, R_AddDynamicLights has jumped up a bit, so I'm
wording if maybe more surfaces are being lit.
2001-08-05 04:01:45 +00:00
Bill Currie
cc68e1a12e
qf now links with NO optimisation (not even -O). R_CullBox has been moved from
...
glquake.h to mathlib.h (along with the declaration for frustum) and the
extern inline keyworws protected by an ifndef so that mathlib.c can cause
R_CullBox to be compiled publicly. The definition of frustrum has been moved
from its verious locations into mathlib.c.
2001-05-07 04:08:34 +00:00
Zephaniah E. Hull
a16b2c0070
Borrowed LH's VectorVectors.
...
Changed smoke trails a good bit.
2001-04-06 18:37:23 +00:00
Bill Currie
5a48f987a5
scripted fixups for the QF include move
2001-03-27 23:36:02 +00:00
Bill Currie
f78b973978
move the api headers into include/QF and clean up (most of) the resulting mess.
...
target specific files that I don't build won't compile yet. just put QF/
infront of the offending headers.
Also move ver_check into libqfutils
2001-03-27 20:33:07 +00:00