Bill Currie
d743c6c55f
Make a clean break heading for GLES compatibility.
...
Add GLSL directory to QF and use it for all gsls based code (instead of
GL). defines.h, types.h and funcs.h are derived from gl2.h from khronos.
Text drawing now uses triangles instead of quads.
2011-12-26 16:08:55 +09:00
Bill Currie
4131a5998c
Yet more functions.
...
I really need to go through this properly.
2011-12-26 10:12:30 +09:00
Bill Currie
9f5eacd1fb
Try to get text rendering.
...
Still a black screen :(
2011-12-26 08:12:05 +09:00
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
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
3c9991364b
Add a "void return" instruction.
...
I got fed up with always having to explicty return something.
2011-01-13 00:29:56 +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
cb0bc7229a
Resurect the debugging messages in rua_obj.c
...
Yet another debug flag: SYS_RUA_OBJ
2011-01-10 12:26:10 +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
2b539ee4ae
Add include for stdlib.h
...
This is needed for size_t when hash.h is the first file included.
2011-01-10 12:25:30 +09:00
Jeff Teunissen
d764ef80d0
write "color" PCX files (stupid bug)
2011-01-09 04:34:35 -05:00
Jeff Teunissen
68b5db87b2
Document PCX read/write functions & struct
2011-01-09 04:06:50 -05:00
Jeff Teunissen
4090674fa5
LoadPCX(): Turn convert argument into a qboolean.
2011-01-09 04:05:57 -05:00
Jeff Teunissen
9e0575313e
Net debugging
...
Add a SYS_NET developer mask for debugging network, and use it.
2010-12-30 05:01:58 -05:00
Bill Currie
6e18c3df85
Make qfs developer prints a little more controllable.
2010-12-28 09:08:51 +09:00
Bill Currie
90fcbefaff
Don't use entity_t's next for linking static enitities.
2010-12-25 19:59:34 +09:00
Jeff Teunissen
bbc8154ec7
joystick fixes
...
Make /dev/input/js0 the default joy_device, and temporarily bump max
buttons to 18 (until I kill the maximums entirely)
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
0173ba07b4
Prefer int over long for (u)int32_t.
...
WHen int and long are the same size, it feels better to use int. More
importantly, it keeps things simple for linux builds vs mingw builds.
2010-12-23 09:47:05 +09:00
Bill Currie
4ab92c03e3
fix a bogus parameter name
2010-12-13 18:01:21 +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
8e557e81b6
Break out the guts of Ed_LoadFromFile into ED_Parse.
...
ED_Parse does not support progs privided parsing (at this stage, anyway),
but this will allow clients to easily get at the entities in a map.
2010-12-10 17:17:29 +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
9deb178e21
Some documentation fixups.
2010-12-09 13:35:11 +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
a0828ddd06
Clean up bsp limits.
...
Delete all bogus bsp limits, fixing the code that depended on them.
Document those limits that are dictated by the format.
2010-12-07 17:58:09 +09:00
Bill Currie
0bd960d6cc
Move IDPAKHEADER to where it belongs.
...
It's not used anywhere, but it doesn't belong with the bsp types.
2010-12-07 13:54:54 +09:00
Bill Currie
3b0dbd29ca
make distcheck fixes
2010-12-06 21:24:49 +09:00
Bill Currie
c2af7896bd
Revert "make droptofloor continue the trace if it starts solid"
...
This reverts commit 10232acdfe
.
The problem was really in the trace code, but it got fixed by "accident"
when I had similar problems in hipnotic a couple of years later. Now to
figure out just what the trace could really should be doing.
2010-12-05 14:56:32 +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
a6941e27ef
Eliminate MAX_VISEDICTS. Unlimited visible entities.
...
The renderer can now render as many entities as can be crammed into the
currently visible set of nodes.
2010-12-03 14:59:02 +09:00
Bill Currie
f98b002f9e
Make R_StoreEfrags const-correct.
...
R_StoreEfrags does not need to modify its parameter or anything to which
it directly refers, so make the pointer single-level and constant.
2010-12-03 13:30:49 +09:00
Bill Currie
085b0f4448
Remove R_SplitEntityOnNode2
...
When R_AddEfrags is used (as is the case in nq), this function is
redundant. Brush models in qw are currently broken (invisible), but that's
just a matter of getting qw to use R_AddEfrags instead of R_NewEntity.
This removal should speed up the software renderers a little bit.
2010-12-02 08:31:48 +09:00
Bill Currie
0e737cae15
Fix some "a" -> "an".
2010-11-29 12:54:26 +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
85c693d2b8
whitespace
2010-11-29 09:34:11 +09:00
Bill Currie
763ae71335
Remove the hull_t defines.
...
Nothing uses them...
2010-11-29 09:05:20 +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
Jeff Teunissen
b0217bf0cf
Merge branch 'master' into forge
2010-11-28 03:05:30 -05:00
Bill Currie
f31595781c
Add and used SYS_VID for video/targets masked prints.
2010-11-27 08:48:00 +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
abc17c1d91
New cvar commands from fitzquake.
2010-11-26 16:19:25 +09:00
Bill Currie
defc2a264b
Add QFile_GetHandle()
...
This allows other rua builtins to make use of ruamoko files.
2010-11-24 17:01:19 +09:00
Bill Currie
763cec3838
Some spelling/grammar corrections.
2010-11-24 17:01:18 +09:00
Bill Currie
d0370f7cf5
zixthree's Microsoft Visual C++ 2005 Express Support
...
+ Support for VC++ 2005 Express.
- MFC dependency for quakeforge.rc.
+ VC++ 2005 compatible icon, choose Vista or XP icon depending on SDK target OS.
! Renamed E_POINTER macro to E_PTR (was in conflict with Windows macro).
! Fixed HAVE_SNPRINTF and HAVE__SNPRINTF macros.
! Fixed HAVE_VSNPRINTF and HAVE__VSNPRINTF config macros.
+ Added explicit dependency to gdi32.lib and user32.lib when using Express.
! Changed -0x80000000 to INT_MIN
! Added return value when running *_Error for Visual C++ compiler.
! Function method_free wasn't freeing _meth parameter.
+ Added a Visual Studio solution specific to Express to remedy unsupported features.
! Renamed solution files to reflect their associated Visual Studio flavor.
! Updated vc2005/readme.txt to reflect changes and notify incompatibility with Wave preprocessor.
2010-11-21 15:29:57 +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
ef7958d680
Lots of const correctness.
2010-10-13 20:52:08 +09:00
Bill Currie
cd159e1cc1
Use LoadBSPMem to load brush models.
...
Now that Mod_LoadBrushModel uses bspfile.[ch], the engine uses the same
code as the tools to work with bsp files.
2010-10-13 20:52:05 +09:00
Bill Currie
56fb4d9a22
allow safe bsp freeing
...
any memory the bsp thinks it does not own will not be freed
2010-10-13 20:52:05 +09:00
Bill Currie
cec8e09f07
white space cleanup
2010-10-13 20:52:05 +09:00
Bill Currie
1d86e71404
make WriteBSPFile take a const bsp_t *
...
This means that the supplied bsp can now be reused, as it should be.
2010-10-13 20:52:05 +09:00
Bill Currie
f4042c5b91
Make the bsp disk data structures type size independent.
...
However, this assumes float is always 32 bits.
Also use size_t for the *size fields in bsp_t and clean up the mess.
2010-10-13 20:52:05 +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
Bill Currie
faf63e60c2
Make wad files type size-safe.
2010-10-09 16:10:49 +09:00
Bill Currie
fe9fdd7b83
add VectorSet macro
...
VectorSet(a,b,c,d) -> vec3_t d = (a, b, c)
This should be useful.
2010-09-26 14:54:42 +09:00
Bill Currie
7dc1ccdbea
Add a function for retreiving the parsed token.
...
Saves having to reach into the token's dstring (script->token->str was
getting annoying).
2010-09-26 13:50:17 +09:00
Bill Currie
19a558a2db
Fix a doxygen warning
2010-08-31 22:07:49 +09:00
Bill Currie
fcd9c3e115
Fix a stray doxygen control comment.
2010-08-31 21:15:40 +09:00
Bill Currie
42faad9015
Move expand_squiggle() from quakefs to sys, and rename to Sys_ExpandSquiggle.
...
Hopefully the final resting place of this function.
2010-08-25 14:00:04 +09:00
Bill Currie
e9bd9a4baa
Move QFS_CreatePath() to Sys_CreatePath().
2010-08-25 13:52:24 +09:00
Bill Currie
4f620655be
Document quakefs.h
2010-08-25 13:40:22 +09:00
Bill Currie
ba8ca132a9
Change QFS_Gamedir()'s parameter from dir to gamedir.
2010-08-25 13:31:24 +09:00
Bill Currie
745bdfafdf
Eliminate QFS_LoadHunkFile().
...
It is unused, and part of the group of functions I wish to remove from QF.
2010-08-25 13:31:23 +09:00
Bill Currie
cbee789fe1
Change ProgPath to ModelPath and dir.progs to dir.models.
...
The default is still $path/progs, as that is what is expected by the
game-code.
2010-08-25 13:31:13 +09:00
Bill Currie
cf40f5073d
Nuke QFS_WriteBuffers.
...
This function is too dangerous for my liking, and it's now unnecessary
since qfs has been locked down.
2010-08-25 13:31:13 +09:00
Bill Currie
031055a91f
Move the qfs_* cvars out of quakefs.h
...
The qfs cvars are all private.
2010-08-25 13:31:13 +09:00
Bill Currie
0cc4bc8c69
Move searchpath out of quakefs.h.
...
It's not needed, nor should it be used, anywhere else.
2010-08-25 13:31:13 +09:00
Bill Currie
478394ef81
Nuke MAX_GAMEDIR_CALLBACKS
...
The number of gamedir callbacks is now unlimited.
2010-08-25 13:31:08 +09:00
Bill Currie
a51e888a1b
Nuke MAX_OSPATH and clean up the mess.
2010-08-25 13:31:08 +09:00
Bill Currie
baede61f4f
New function: dstring_strdup
...
I got tired of always doing dstring_newstr/dstring_copy, so I thought it
was time to wrap it. dstring_strdup is the dstring equivalent of strdup.
2010-08-25 13:31:00 +09:00
Bill Currie
fcdd046333
Add some docs for expand_squiggle.
2010-08-25 13:30:53 +09:00
Bill Currie
fd24170b32
get the behavior or PL_NewData correct
...
It taking ownership of the data was the correct behavior, so go back to that.
2010-08-20 13:21:22 +09:00
Bill Currie
a744caa421
The public api of qfplist is now fully documented.
...
Evertyhing that can or should be private now is, and all public functions
are documented.
2010-08-20 13:10:37 +09:00
Bill Currie
a703956553
split up most of bsp5.h and get things compiling again
2010-08-18 17:52:13 +09:00
Bill Currie
54fc922f6c
better error checking while reading streamed data
2010-08-13 01:48:20 +00:00
Bill Currie
ce5658416d
add support for up to 8 channels in sound effect files
...
The sounds are down-mixed to 2 channels (qf does not (yet) support more than
2 channel output), but this allows pretty much anything to be used for a
source of music. Only 5.1 (6 channel), stereo and mono have been tested, but
the others should work (any issues would be mis-interpretation/implementation
of the channel layout).
2010-08-12 02:28:27 +00:00
Bill Currie
b1620616b9
reset the "resampler" when seeking
2010-08-11 23:47:31 +00:00
Bill Currie
22e8698827
resampling now works
...
However, no fallback for when libsamplerate is missing.
2010-08-11 23:47:03 +00:00
Bill Currie
1c985bc925
bah, forgot these
2010-08-11 23:46:28 +00:00
Bill Currie
7502cd9ec5
making slow progress on sound quality
...
streamed oggs playback cleaning when not resampling, but flacs are still crap
2010-08-11 23:45:09 +00:00
Bill Currie
65a748fc3c
floating point mixer now working
...
the resampler is being badly abused for streams, and it's not yet properly
autoconfiscated, but things are working. Better yet, at the correct pitch and
speed.
2010-08-11 23:44:34 +00:00
Bill Currie
de35661d5d
hopefully correct comment
2010-08-11 23:43:54 +00:00
Bill Currie
2bb2d14b89
make "sample counts" frame based rather than mono sample based
...
that was always horribly confusing
2010-08-11 23:43:35 +00:00
Bill Currie
46a067b2f6
Do proper error handling when loading sound files.
...
This fixes the segfault grg got when trying to play a 5.1 channel file.
2010-08-08 03:02:55 +00:00
Bill Currie
0dfff8fd58
ignore stuff
2010-08-07 10:42:09 +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
0a203c0ab5
qccx (etc) "integer" autodetection.
...
Check for usage of denormal floats and if found, either bail with a
descriptive error message or give a mild warning that things will probably
break. This avoids the possibility of things like RuneQuake getting "lucky"
and doing real harm, and certainly avoids the segfaults.
2010-01-13 06:36:54 +00:00
Bill Currie
00e590f5f5
Really nail down the args param in rua_obj_msg_sendv().
2010-01-13 06:36:16 +00:00
Bill Currie
dc3fc291f6
fix a bunch of comments
2010-01-13 06:30: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
36fe939ea5
don't hang when processing \{N} escape sequences and fix a comment
2010-01-13 06:21:29 +00:00
Bill Currie
58c167eaed
correct a bogus comment
2009-12-23 11:21:34 +00:00
Bill Currie
4b0320f341
glx, gly, glwidth and glheight are now gone too. also GL_BeginRendering
2009-12-23 08:20:29 +00:00
Bill Currie
f2004abecc
nuke scr_width and scr_height
2009-12-23 07:00:42 +00:00
Bill Currie
a2fa2d425b
fix viewsize interaction with the cleaned up screen size handling
2009-12-23 06:29:11 +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
0b1cc3d21f
Support Japanese keyoards (yay, I can finally toggle the console :P)
2009-03-18 00:26:34 +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
0af43cf016
make the resampling state a little more self-contained. this should make
2009-01-08 07:48:08 +00:00
Bill Currie
9ac15436d9
More docs.
...
Enhance qfprogs qfo debugging.
Make sure functions marked as extern don't emit anything. Fixes the segfault
when building klik.
2008-08-01 13:54:24 +00:00
Bill Currie
23e3fc0cb8
document most of obj_file.h (and a few other doc tweaks)
2008-08-01 00:47:38 +00:00
Bill Currie
e3b47c9c6d
This should make stdint stuff work better in general (can't test properly due to my mingw setup being borked)
2007-11-25 04:44:53 +00:00
Bill Currie
1a307e306f
Con_Printf actually has a use after all: it prints to the console /only/ (no redirects, etc)
2007-11-07 08:19:17 +00:00
Bill Currie
2b81eaea6c
console.h include cleanup
2007-11-06 12:40:38 +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
5c73d81e00
Python style long strings ("""...""") now supported for parsing. Any such strings will be written out as standard strings with escaped quotes when writing the plist.
2007-10-13 07:55:58 +00:00
Bill Currie
37ad41ecb7
MOD_TraceLine doesn't need to return anything...
2007-09-17 11:24:42 +00:00
Bill Currie
3e50aae01f
"print" command for dumping values in the progs and add return type info to the debugging information
2007-09-15 07:47:31 +00:00
Bill Currie
d1e2b6b7d2
make the raw particle creation functions available and use them for creating the location marker effect rather than WizSpikeEffect
2007-09-15 04:20:45 +00:00
Bill Currie
ca0bbd909c
correctly save and restore the parameters when calling +initialize. fixes the segfault in the qwaq test.
2007-06-09 13:44:06 +00:00
Bill Currie
d93670df3b
cleanup some cruft
2007-06-09 07:48:44 +00:00
Bill Currie
ce2ba56c47
gcc 4.2 clean
2007-05-31 05:58:33 +00:00
Bill Currie
201f01b66c
hopefully speed up byte swaps
2007-05-26 23:18:46 +00:00
Bill Currie
a72f2046f5
speed up PL_WritePropertyList by ~3x.
2007-05-13 03:13:01 +00:00
Bill Currie
57bd43fc52
make the watchpoint (optionally) conditional
2007-05-08 02:25:01 +00:00
Bill Currie
fe4a4a9e55
"hardware" (haha) watch points (one!) in progs. only catches changes done by progs, and the expression parser is as flaky as anything, but it's better than nothing :)
2007-05-08 02:04:47 +00:00
Bill Currie
839c00b97b
back out the large packet/entity related patches. they've provent to be troublesome and it seems FTE has a better solution.
2007-05-07 14:58:53 +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
72daa2fd2b
add some sounds to the menus (not yet finished)
2007-05-07 12:17:12 +00:00
Bill Currie
c2894dcfce
make backbuf max size tunable (for the big packets)
2007-05-07 12:09:10 +00:00
Bill Currie
7af2378e03
turn on graph generation in the doxygen output. very slow, but the diagrams are worth it. Also make the data member of sfx_t a union rather than void so doxygen can see the relationships (and gets rid of a bunch of casts that I never liked anyway).
2007-05-07 05:20:24 +00:00
Bill Currie
52f7bd4bb4
MAX_ENTITIES patch from phrosty
2007-04-19 07:36:12 +00:00
Bill Currie
59498cd5e7
make the edict macros consistent in return type
2007-04-09 08:55:05 +00:00
Bill Currie
b5e6aa4519
for pr_debug 1, don't dump disassembly when tracing, just source lines. pr_debug >= 2 forces disassembly. detailed disassembly now on pr_debug >= 3 figure out the types of arguments in a function call
2007-04-09 06:16:03 +00:00
Bill Currie
7925e16d73
audit the usage of view_draw. It is really meant for draw callbacks, not direct usage by the application.
2007-04-09 00:22:17 +00:00
Bill Currie
2894182ec5
The status bar in the quakeworld server curses console finally does something. Currently only cpu usage, but as a proof-of-concept, it more than does its job.
2007-04-09 00:10:10 +00:00
Bill Currie
1d2a7e2eff
add z order comments
2007-04-08 09:01:07 +00:00
Bill Currie
ab01262675
document the view api
2007-04-08 08:48:13 +00:00
Bill Currie
323052bd2b
survive across gamedir changes
2007-04-07 07:44:07 +00:00
Bill Currie
c6ea999d4d
whee, finally. stateful console mode :) nukes cl_chatmode.
2007-04-07 05:50:29 +00:00
Bill Currie
124506fda2
Fix the access alignment bug on 64 bit archs.
2007-04-07 01:41:23 +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
38254186da
other than floats, progs should now be int size safe
2007-04-04 12:30:49 +00:00
Bill Currie
6ca2a6da05
fix a missed param in the docs
2007-04-04 12:11:41 +00:00
Bill Currie
fcf464ef99
make riff int-size safe
2007-04-04 09:23:10 +00:00
Bill Currie
ac02c36aaf
interim linux compile fixes for the in64 fixes (hah)
2007-04-04 08:27:49 +00:00
Bill Currie
d8b91afa4b
and the icon that was supposed to be in the patch
2007-04-04 07:53:46 +00:00
Bill Currie
ff132bb536
64bit windows patch from phrosty
2007-04-04 07:48:14 +00:00
Bill Currie
4cab5b90e6
new cache allocation scheme. still a couple warts, but at least now there's something to work with, and more importantly, there won't be cache movement anywhere near as often.
2007-03-28 13:09:49 +00:00
Bill Currie
e5b972529b
take a chainsaw to the existing code, cleaning out anything that's obviously unnecessary. preparation for the cache re-write
2007-03-28 09:52:01 +00:00
Bill Currie
8d5b5fdf04
cleanup of channel stopping and fix cd_file's pause/resume
2007-03-27 06:15:57 +00:00
Bill Currie
f2e524491d
reduce a lot of duplicated code. should have done it this way in the first place. anyway, now I can get on with fixing the cut-off bug (I hope).
2007-03-26 11:44:52 +00:00
Bill Currie
1d1982fddf
more improvements to the sound offsetting
2007-03-25 08:12:43 +00:00
Bill Currie
02c41feabc
make gamedir change a two phase operation so things can be done both before and after the cache is flushed. (still having problems with cached sounds, though)
2007-03-24 10:13:10 +00:00
Bill Currie
818756ace5
add a debug function
2007-03-23 12:36:55 +00:00
Bill Currie
81a57bb3fa
patch from phrosty for vc2005 support. includes fixes for a bunch of gcc-isms that crept in over the years.
2007-03-22 23:20:57 +00:00