Bill Currie
34d26a72cc
More gl functions.
2011-12-26 07:48:27 +09:00
Bill Currie
70abd33a25
Add GL 2.0 stuff.
2011-12-25 19:40:04 +09:00
Bill Currie
a7ad6c03f5
Add some defines and functions I need for glsl.
...
There will be more coming as I need them.
2011-12-25 11:24:57 +09:00
Bill Currie
ce8c2e717a
Add some more vector/quat component macros.
2011-12-24 20:10:37 +09:00
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
59ef1eae9d
Split out the floodfile code into its own file.
2011-12-23 19:01:31 +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
33c5320c0e
Create stubs for most of the required render functions.
...
nq-glslx almost links. Just some suspicious references in host.c I want to
check before doing anything more.
2011-12-23 12:19:50 +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
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
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
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
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
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
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
b38cb1e221
Create some nicer docs for AngleVectors.
2011-12-13 14:15:03 +09: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
81a16c925b
Add IMT_DEMO for demo playback bindings.
...
This will allow special key bindings for use during demo playback without
interfering with normal keys.
2011-12-10 14:21:12 +09:00
Bill Currie
14d8e8669f
Rework the legacy bind/unbind commands.
...
in_bind_imt is now gone. I guess mercury was right in that it was a poor
design. However, it was (and still is necessary) to support "bind" and
"unbind". Now, instead, they work only with the IMT_MOD table. IMT_MOD sits
below IMT_0 in the imt hierarchy. If the key is not bound in IMT_0+, then
IMT_MOD will be checked. This way, "bind" and "unbind" can never mess with
a user's more sophisticated binding setup.
2011-12-10 13:56:02 +09:00
Bill Currie
d9d56760e1
Add cvars to control the keys for menus and console.
...
The backquote is not always usable for toggling the console, and the new
bind system doesn't automatically bind a key to both game and console imts
(by design). Thus create a cvar that allows the "always works" console
toggle to be specified in eg $fs_globalcfg. While I'm at it, do one for the
menus, too.
2011-12-10 13:24:32 +09:00
Bill Currie
f9877ce0e0
Add a function to free a hull's portal information.
2011-12-08 14:58:08 +09:00
Bill Currie
27642a080a
Avoid infinite recursion.
2011-12-01 12:57:06 +09:00
Bill Currie
f9d56f2941
Add MOD_HullContents().
...
If trace is null or point type, or the hull doesn't have portals, or the
first node is a leaf, MOD_HullContents operates in point mode (exactly the
same way as SV_HullPointContents()). However, in box mode, all leafs
touched by the trace are checked for their contents. The contents field of
trace (a bit field) will indicate the contents type of all touched leafs.
The returned contents value indicates the most important contents:
solid > lava > slime > water > empty
The one's complement value of the contents type is the bit number of the
contents bit field. I'm not sure how useful this will be as getting the
amount of overlap is currently not supported.
2011-12-01 12:26:33 +09:00
Bill Currie
5ee552ea5b
Don't normalize the portal edge vectors.
...
This simplifies the collision handling code.
2011-11-28 20:56:20 +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
4044f9d8e2
Shrink the default winding size.
...
The minimum number of points on a valid winding is 3, and the most common
will be 4 (especially useful for static structures).
2011-11-28 20:56:19 +09:00
Bill Currie
297275e3de
Create edge information for the portals.
2011-11-28 20:54:35 +09:00
Bill Currie
662c04dfdc
Add a function to obtain the unit vectors of a winding's edges.
2011-11-28 20:54:35 +09:00
Bill Currie
d61cb25a44
Add code to rebuild the bsp brushes.
...
Names and locations of declarations are still up in the air, but things
seem to be working assuming my test code is correct.
2011-11-28 20:54:35 +09:00
Bill Currie
853bf13d9e
Move the winding code into libQFmodels.
2011-11-28 20:54:35 +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
268e732b90
Add a Quat_t union.
...
It isn't used yet, but it might make messing with quaternions a little
easier.
2011-11-28 09:36:09 +09:00
Bill Currie
683adf1850
Print the name and texture number for model skins.
...
Use SYS_GLT (1024) for gl texture debugging.
2011-09-26 13:03:53 +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
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
5914bb6208
QFS doc update and cleanup.
2011-09-09 17:40:15 +09:00
Bill Currie
881d4babce
Fix some undefined symbols in snd_alsa.c.
...
Serves me right for testing with only my debug build :P
2011-09-08 18:10:09 +09:00
Bill Currie
1e827485ef
Do some work on the user documentation.
...
Also document part of the cvar api.
2011-09-07 21:08:37 +09:00
Bill Currie
a8ea3aaad9
Allow dma sound targets to specify an xfer function.
2011-09-07 17:00:18 +09:00
Bill Currie
e6e1b10c58
Add support for rotating entities to QW.
...
Same as the rotating entities in NQ. Unfortunately, I have some problems
with certain entities doing really weird things during collisions. I'll
sort that out later.
2011-09-07 09:41:06 +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
f0a145a537
Compress entity_state_t a little.
...
Use byte and short instead of int.
2011-09-07 09:41:05 +09:00
Bill Currie
db8eee502f
Eliminate the is_server global.
...
More ugliness gone :)
2011-09-04 09:58:13 +09:00
Bill Currie
6b5b2a1622
Specified the endianess of the reads.
2011-09-04 09:58:13 +09:00
Bill Currie
deddb5cb6a
Partially document the message api.
2011-09-04 09:58:12 +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
5c9ab2832f
Fix win32 cross-building.
...
No idea if the code actually works :(
2011-09-04 09:48:16 +09:00
Bill Currie
e50f0e18ba
Make netmain use netadr_t, same as netchan.
...
Having sockaddr and friends in a header file was bad news for portability
(especially windows).
2011-09-04 09:45:19 +09:00
Bill Currie
265ff06e8d
Work around OpenBSD's overzealousness.
...
Requiring exactly the right size (ie, no bigger) for the address buffer
is going a little too far.
2011-08-26 11:14:51 +03:00
Bill Currie
f75b0a611b
Some compile fixes for OpenBSD
2011-08-25 22:35:20 +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
Jeff Teunissen
a56f6b2e37
Docs: switch to SVG for the .fig files, add borders around imgs
...
Self-explanatory, really.
2011-08-23 01:39:40 -04:00
Bill Currie
ce07000054
Make the address comparison a little more informative.
...
Still hunting the openbsd connection issues. It seems the address
comparision isn't working.
2011-08-22 10:30:35 +09:00
Bill Currie
6268bd2965
Tweak the property list docs a little.
2011-08-20 19:23:31 +09:00
Bill Currie
a759a5a376
Make the property-list documentation useful for users.
2011-08-20 16:29:59 +09:00
Bill Currie
5feb0454ca
Add and use SYS_SND for both sound and cd debug prints.
2011-08-11 17:20:33 +09:00
Bill Currie
ff857a9c71
Permit control of single character tokens.
2011-08-11 14:22:27 +09:00
Bill Currie
eba66b1dde
Doc tweaks and some whitespace.
2011-08-02 17:32:36 +09:00
Bill Currie
e5876752f3
Document the datagram net driver interface.
2011-08-02 15:22:33 +09:00
Bill Currie
77dcd07b37
Remove a dead function.
2011-07-29 14:30:54 +09:00
Bill Currie
bc62988524
Document the NQ udp driver code.
2011-07-29 13:52:42 +09:00
Bill Currie
b529bae048
Some more netmain documentation.
...
I think I now understand enough to be able to start merging the low-level
networking code.
2011-07-29 12:41:46 +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
1e3f321070
Do some doc work on progs.
2011-07-29 09:04:09 +09:00
Bill Currie
7d07b31408
Document the connection protocol defines.
...
Well, really re-use the existing documentation, but make doxygen do
something with it. I'm not fully satisfied with the result, but it will do
for now, and getting more information on what the messages really mean will
help.
2011-07-26 20:58:19 +09:00
Bill Currie
1d57477101
Document the "public" functions of NQ's networking code.
2011-07-26 14:15:41 +09:00
Bill Currie
ca817fafc2
Fix a typo.
2011-07-26 11:34:17 +09:00
Bill Currie
64881d2eca
Finish the docs for netchan.
...
Also clean out some unnecessary declarations.
2011-07-26 11:30:02 +09:00
Jeff Teunissen
6fad9bc777
Misc. doc sanitation
...
Slightly document some of the vector types, and fix some typos.
2011-07-25 17:22:44 -04:00
Jeff Teunissen
49b5940cd5
VM doc cleanups
...
Clarify that the "return value" macros all access the same location in
memory, and are just casting it (after a fashion) to the desired type.
2011-07-25 17:22:44 -04:00
Bill Currie
688e5c7e24
Use ncqport_e on the right field.
...
Well, now, that was incredibly silly, wasn't it? :P
2011-07-23 21:39:13 +09:00
Bill Currie
3678b610eb
Make a start on documenting netchan.
2011-07-23 17:53:06 +09:00
Bill Currie
2035e65bad
Make the qport flags a little more doc friendly.
2011-07-23 17:51:07 +09:00
Bill Currie
adce93a2de
Change a note to a warning.
2011-07-23 16:02:10 +09:00
Bill Currie
24a50982ac
Document the public interface to QW's net_udp
2011-07-23 15:58:46 +09:00
Bill Currie
e15771f4a4
Nuke a dead function.
2011-07-23 15:58:45 +09:00
Bill Currie
b0c93aa24f
Remove an annoying comment.
2011-07-23 15:58:45 +09:00
Bill Currie
efa0105748
Rename some headers to fix doxygen warnings.
2011-07-23 15:58:45 +09:00
Bill Currie
8ac5079ada
Get inputlines mostly working.
...
It should be only behind-the-scenes updates that are still a problem.
2011-07-09 21:16:38 +09:00
Bill Currie
c30e2956f2
Correct the pointer declarations in the docs.
2011-07-09 09:41:30 +09:00
Bill Currie
6114156b49
Add Cvar_RemoveAlias.
...
Now aliases can be deleted (needed for menus).
2011-07-05 21:59:47 +09:00
Bill Currie
a7291943f7
Fix up Cvar_MakeAlias's error checking.
2011-07-05 21:51:38 +09:00
Bill Currie
d2894a6f68
Rename Cvar_AliasGet to Cvar_MakeAliase.
2011-07-05 20:28:57 +09:00
Jeff Teunissen
85617586af
PCX: display some information on bad PCX files
...
also, minor whitespace on <QF/image.h>
2011-06-14 13:31:30 -04:00
Bill Currie
d638fdce83
Add a PlaneFlip macro.
2011-05-07 19:29:03 +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
2bacfdabf2
Interpret func fields as selectors for entities with objects.
2011-03-30 20:19:31 +09:00
Bill Currie
c8e1d7b45a
Fix the API for inputline->enter().
...
Pass the inputline object rather than the input text, allowing access to
both user_data and the input text.
2011-03-27 08:03:39 +09:00
Bill Currie
84afc458fa
Allow the menus to overide the Escape key.
2011-03-25 18:02:59 +09:00
Bill Currie
bce3935ea6
Add a void address instruction.
2011-03-10 19:28:03 +09:00
Bill Currie
90de6b0499
Add a movepi instruction to support indirect moves of fixed size.
2011-03-09 10:29:24 +09:00
Bill Currie
18005cc80d
Rename move to movei.
2011-03-09 10:28:40 +09:00
Bill Currie
4432bc0bef
Make the offset in zone dumps more useful.
2011-03-08 22:44:56 +09:00
Bill Currie
ca6dd204b3
Use the right type for VM pointers.
...
Probably more of these hiding in the code.
2011-02-18 09:03:04 +09:00
Bill Currie
f54ce02725
Macros for quaterion access in progs memory.
2011-02-12 22:57:37 +09:00
Bill Currie
cac2e04b18
Avoid namespace issues with dstatements.
2011-01-19 11:35:34 +09:00