Commit graph

1615 commits

Author SHA1 Message Date
Bill Currie
6716b2e8ab Add some disabled test code for interface access.
As part of the work on getting nq to work on multi-homed nodes, I used the
existing recvmsg code in qw-master to check how things work. I figured it
might be worth keeping.
2011-08-06 17:25:31 +09: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
2035e65bad Make the qport flags a little more doc friendly. 2011-07-23 17:51:07 +09:00
Bill Currie
efa0105748 Rename some headers to fix doxygen warnings. 2011-07-23 15:58:45 +09:00
Bill Currie
15a5f98439 Mintor improvment to the QWE newstr(). 2011-07-10 21:29:10 +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
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
37b0648ec7 Undo the func field as selector patch.
The support code for the patch is left intact (it will be needed later),
but idea is too cumbersome for working with existing progs.
2011-04-08 15:01:56 +09:00
Bill Currie
2bacfdabf2 Interpret func fields as selectors for entities with objects. 2011-03-30 20:19:31 +09:00
Bill Currie
01144d23cf Add a new gcc warning option and fix the two bugs it found. 2011-03-17 19:58:56 +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
9f596df607 QW skybox handling
Since we clip the world properly even with skyboxes active, and the
'skybox' serverinfo doesn't do anything in any other engine I know of,
nuke the 'skybox' serverinfo entirely and use a nice short semi-standard
name ("sky") for the serverinfo containing the map's preferred skybox
(as potentially modified by the .ent file on the server).
2010-12-28 15:02:56 -05:00
Bill Currie
dc99bc19c5 Make sure the r_skyname serverinfo key gets cleared on map change.
This ensures that the map's sky is always used unless the client itself has
set its r_skyname cvar.  The server's r_skyname cvar is now the default
name for the skybox for when the map does not specify one. The map's sky
worldspawn field overrides this. The r_skyname cvar is no longer a
serverinfo cvar.
2010-12-27 23:12:46 +09:00
Bill Currie
fd96376b43 Forget skybox, it's r_skyname we want.
skybox has been irrelevent since I did that zclip hack for
skyboxes/skydome.
2010-12-27 10:03:37 +09:00
Bill Currie
90fcbefaff Don't use entity_t's next for linking static enitities. 2010-12-25 19:59:34 +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
75f2102adc Do the incoming/outgoing sequence checks before doing anything.
This fixes the bogus ping times found while checking out klik with qqshka.
2010-12-22 13:10:27 +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
0e677ce0f0 Give nw qw's timedemo statistics. 2010-12-14 08:59:15 +09:00
Bill Currie
e3f6e74814 And do the same fix in qw (oops). 2010-12-14 00:19:52 +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
87acf89404 lots of whitespace 2010-12-09 18:32: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
1291766298 Remove all "cosmetic" differences between nq and qw sv_phys.c 2010-12-09 08:52:40 +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
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
cd660f6804 Fix smoke trails that were broken by the efrags commit.
The efrags system's usage of ent->visframe clashes with that of
CL_LinkPacketEntities. As the latter is rather bogus, and potentially
visible entities are always inserted into the map (causing ent->efrag to be
non-null), a null ent->efrag is a good indication that the entity is newly
visible.
2010-12-03 21:01:52 +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
3b08ac89d0 Unlink the entity's efrags when removing the entity. 2010-12-03 17:15:11 +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
abe0c50a2a Use efrags with packet entities.
This fixes brush models in the software renderers.
2010-12-03 14:10:53 +09:00
Bill Currie
79796c1b16 Split out the MVD Playerinfo parsing into its own function. 2010-12-02 17:11:33 +09:00
Bill Currie
d24837af4a Make nails use temp entities.
While reading the code, I noticed the comment stating that qw projectiles
(nails) are really temp entities, so I decided to make that true. The
client now supports unlimited projectiles.
2010-12-01 17:15:28 +09:00
Bill Currie
532e79bca6 Limit the amount of time that MVDs can skip.
Trying to cover very long times will probably cause more problems than it
fixes, so limit the length of time. Two seconds aught to be enough for
now. Need to look into proper handling of prevtime.
2010-12-01 08:11:45 +09:00
Bill Currie
c416e15cd7 Get the format of the time hack packet correct.
dem_read has a length word, which I had failed to see at the time. It
seems that mvd's don't mind a zero length packets.
2010-12-01 08:04:24 +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
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
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
a51e888a1b Nuke MAX_OSPATH and clean up the mess. 2010-08-25 13:31:08 +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
e9a1e5552e send multiple almost empty packets when a server frame is too long 2010-08-05 03:57:48 +00:00
Bill Currie
81e3a63791 check for a bad read when reading the command byte of a connectionless packet 2010-04-26 12:41:04 +00:00
Bill Currie
2822b47c3f we don't need any evil hacks around here :)
It seems the cursor hack hasn't been needed for a while. Also get rid of some
crazy function redirection and bogus comments
2010-01-13 06:53:10 +00:00
Bill Currie
70cc48826c I think I finally got the protocol side of map changes right
"pause" qtv recorders while changing maps
send changing/reconnect via the qtv extensions
2010-01-13 06:50:44 +00:00
Bill Currie
8ac7a71e10 don't create a new recorder when we already have one
this seems to fix the weird behaviour when changing maps
2010-01-13 06:49:28 +00:00
Bill Currie
bb6619d332 docs and a bit of cleanup
delete core files with boostrap clean
fix the placement of a comment
simple docs for the standard client connection process (no mention of
downloads)
2010-01-13 06:48:54 +00:00
Bill Currie
b05e9ea293 add a recorder count to the status bar
... and this found the problem with the weird qtv behaviour on map change:
changing maps causes the server to add a new connection for the proxy. oops
2010-01-13 06:48:20 +00:00
Bill Currie
701652b8aa progress on getting map changing to work with qtv
subsequent map changes are still behaving strangely, but signon buffer
handling is now much better.
2010-01-13 06:46:26 +00:00
Bill Currie
53cd9be90a Progress on map changing with qtv clients
Rename SV_DemoSendMessages to SVR_SendMessages, and make sure SVR_SendMessages
and SV_qtvSendMessages get called when SV_SendMessagesToAll is called.
2010-01-13 06:45:43 +00:00
Bill Currie
465d5572dd Don't lose sv.recorders on map change
This fixes the "reconnect" (or anything else, for that matter) not being sent
to qtv proxies after loading a level while the procies are connected.
2010-01-13 06:44:57 +00:00
Bill Currie
b61a336d8a Don't spew "not recording a demo" when changing maps with a qtv
Just because recorders exist doesn't mean a demo is being recorded: add a flag
for such.
2010-01-13 06:44:29 +00:00
Bill Currie
907efe03a4 use "must" instead of "should" 2010-01-13 06:43:54 +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
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
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
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
d66934942d nuke Con_Printf and Con_DPrintf and use Sys_* instead 2007-11-06 10:17:14 +00:00
Bill Currie
296894252d unlimited beams and explosions, and fix a few bugs missed due to testing the wrong version :P 2007-11-05 22:33:49 +00:00
Bill Currie
87248b9086 beams can now be any length, and first step to unlimited beams and explosions 2007-11-05 11:25:38 +00:00
Bill Currie
3b906fa5f1 must remember to nuke MAX_STATIC_ENTITIES 2007-10-09 10:29:40 +00:00
Bill Currie
0177971620 spelling error :P 2007-09-16 02:03:53 +00:00
Bill Currie
3f1479c204 make UserInfoChanged used in cpqw (should this be global?) 2007-09-16 01:52:57 +00:00
Bill Currie
7c542dd8e8 make sv_maxvelocity spherical rather than cubical 2007-09-16 01:21:47 +00:00
Bill Currie
acbc95549e restart command 2007-09-15 10:09:08 +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
755820d8b2 don't segfault when trying to use the loc command without a map loaded 2007-09-15 02:55:16 +00:00
Bill Currie
ce2ba56c47 gcc 4.2 clean 2007-05-31 05:58:33 +00:00
Bill Currie
4d1a927be6 thought I tested this... 2007-05-16 21:21:30 +00:00
Bill Currie
8911a79901 check return code for UserInfoChanged too. 0: normal processing (server sends changes to clients) 1: server doesn't send changes to clients 2007-05-16 10:00:19 +00:00
Bill Currie
85c5594148 allow the progs to signal whether they handled the info change or not 2007-05-15 10:58:19 +00:00
Bill Currie
3528e803c1 a little more info on bad models/solid settings 2007-05-08 11:21:56 +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
c2894dcfce make backbuf max size tunable (for the big packets) 2007-05-07 12:09:10 +00:00
Bill Currie
32733ef3d9 set time and self when calling ClientCommand 2007-05-07 11:16:29 +00:00
Bill Currie
52f7bd4bb4 MAX_ENTITIES patch from phrosty 2007-04-19 07:36:12 +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