Commit graph

423 commits

Author SHA1 Message Date
Bill Currie
ee30860cef fix a bunch of ;; typos 2002-11-20 21:44:04 +00:00
Bill Currie
ca4b3acd6c big protototype cleanup. Now, except for a few cases, all non-static
prototypes are in headers files.
2002-11-05 19:12:51 +00:00
Bill Currie
9298204208 support tonik's single player/coop qw port 2002-10-24 02:45:16 +00:00
Bill Currie
ef33b9754b support as many packet entities in demos as qwex does (ie, 196). Makes me
wonder if I should make the server support sending 196 packet entities to
qf clients.
2002-10-17 16:03:18 +00:00
Bill Currie
6e015bba1a d'oh, forgot to fix the FIXME :) fixes the seg on demo record start when
more than 1 player is invovled
2002-10-04 03:36:51 +00:00
Bill Currie
212e40b54a mvd recording :) (thanks to qwex 0.165b and highlander) 2002-10-04 02:29:03 +00:00
Bill Currie
30c8646e70 bring in sv_demo.c from qwex. This is only the beginning of the mvd server
side support.
2002-10-03 21:00:35 +00:00
Bill Currie
2383340031 mvd playback support. seems to work (get some weird entities hanging around
but I suspect that's the mod used in the demo I was testing with), but
probably needs some cleanup.
2002-10-02 21:56:45 +00:00
Bill Currie
a6318a3baf enhanced no_pogo_stick control 2002-09-13 04:30:18 +00:00
Brian Koropoff
7f4cd09e9d Removed the old timecheat protection and added a system that adjusts
time to what the server thinks is correct when too much inaccuracy
builds up.  This nearly eliminates all speed cheating, both normal and
reverse, except for a brief burst before the protection kicks in.  Might
need cleaning up/tweaking.
2002-09-12 04:57:40 +00:00
Bill Currie
f6729e35e5 use MAX_CLIENTS instead of 32 for MAX_PHYSENTS 2002-08-29 17:42:41 +00:00
Bill Currie
d8c1c735a6 up MAX_PHYSENTS from 32 to (32 + MAX_PACKET_ENTITIES) (ie, 96). While this
will potentially slow down both client and server, player collision physics
will be more accurate as more entities will be clipped against (and the
client should never complain about physent overflow again).
2002-08-29 17:32:16 +00:00
Bill Currie
a7380fef66 nuke msg_suppress_1 in favor of Sys_DPrintf 2002-08-27 18:05:59 +00:00
Bill Currie
ec47e08e1c go back to using QFile, quakeio.h and quakefs.h 2002-08-27 07:16:28 +00:00
Bill Currie
ad6e025a91 take cmd.[ch] back to basics. the gib code is temporarily gone pending
renovations. cmd_source handling is a little hacky in nq, but it's working.
2002-07-31 05:19:03 +00:00
Ragnvald Maartmann-Moe IV
587de27849 Another step towards QSG2 compliance. 2002-07-25 14:43:36 +00:00
Bill Currie
cb814165f8 allow progs to register user commands (but not override any of the standard
ones (yet))
2002-07-05 06:43:47 +00:00
Bill Currie
a397ef953a Nuke Netchan_AckPacket because it didn't really achieve its goal ('twas a
server bug anyway), broke qizmo (not that I really care: that's still qizmo's
bug) and (most importantly) broke recording demos across map changes.
(Closes: #14)
2002-06-19 19:58:36 +00:00
Bill Currie
5052e3db1f add qsg support for players and actually send EFFECTS2 and FRAME2 for
packet entities
2002-06-19 02:55:57 +00:00
Ragnvald Maartmann-Moe IV
c8bc5dfb4c QSG2 glows almost working. Plus lots of typos killed. 2002-06-18 21:41:24 +00:00
Bill Currie
1747c07da6 rename cl_demospeed to demo_speed and add demo_gzip (yeah, compressed demos) 2002-06-08 23:22:26 +00:00
Bill Currie
e8026d9c76 touch, think and blocked now support methods
also a little whitespace cleanup
2002-05-31 21:05:58 +00:00
Jeff Teunissen
b2579dca98 WOOHOO! The hardcoded framerate cap is gone! cl_maxfps 0 now allows an
unbounded frame rate (you can still set it to clamp your fps to, for example,
your monitor's refresh rate), and cl_maxnetfps 0 is now based on your network
rate.

The NetQuake-compatible targets now also have an unbounded framerate. This is
OK, because the built-in server uses its own tick rate.
2002-04-25 16:50:56 +00:00
Bill Currie
33513ce67b demo autorecord patch from RvB 2002-03-14 18:48:04 +00:00
Bill Currie
3e4c200430 more evil hacks to get nq's and qw's sv_phys.c similar. 2002-02-25 22:57:17 +00:00
Bill Currie
9ea013888b eliminate GetEdictFieldValue, mostly merge SV_AddGravity, and clean up
some whitespace in sv_phys.c
2002-02-25 07:44:17 +00:00
Bill Currie
96d3a997c9 bring sv_phys.c closer to being mergable. I've temporarily(?) disabled
Maddes' max velocity `fix' (yeah, it's physicly correct, but...). I'll
probably cvar it.
2002-02-22 05:28:17 +00:00
Bill Currie
5a1c0af8ca more cloning :) 2002-02-20 20:53:41 +00:00
Bill Currie
8ee5acb208 redo Sys_Error so it's more usable throughout quake 2002-02-20 19:22:52 +00:00
Bill Currie
013f503738 start getting const-correct on vec3_t params 2002-01-03 05:29:38 +00:00
Ragnvald Maartmann-Moe IV
d4a8224d9b Change hudswap to use a callback, and instead of passing a swap variable to 10 functions, where only 2 use it, use a global variable. Make a few scr functions static inline, too. Got a totally unexpected ~0.45fps speedup. 2001-12-09 14:05:30 +00:00
Bill Currie
d4df29de02 cl_paranoid: setting to 0 will disable printing the server address for
connectionless packets
2001-12-05 21:56:52 +00:00
Bill Currie
44b36e4d6b sadly, I have to revert my low-copy code. it doesn't gain /enough/ to be
worth the bugs it's introduced (it's extremely difficult to do both low-copy
/and/ correct entity updates).
2001-12-03 05:36:39 +00:00
Bill Currie
6a51021f86 low-copy networking code. gives about 3-4% speed boost to overkill (null
renderer).
2001-12-01 22:16:50 +00:00
Bill Currie
06622fa164 -mem now also works as a cvar (and there was much rejoycing:). sv_mem_size
(server) and cl_mem_size (client), in megabytes (ie, same as -mem). I haven't
done nq yet as I'm uncertain what to /call/ it :)
2001-11-14 20:18:37 +00:00
Bill Currie
fe50e4b1e5 cache the cshifts serverinfo value for further reduction of Info_ValueForKey
calls.
2001-11-11 07:02:38 +00:00
Bill Currie
c5aec15569 This prepares for moving the net_svc code to a branch allowing both network
code cleanups and general performance work to be developed in relative peace.
While cleaning up the networking code /is/ important, fixing QF's perfomance
issues is of much higher priority.
2001-11-07 08:24:56 +00:00
Adam Olsen
e0dfa2b453 - convert ALL the remaining svc's on the client. woot, hehe 2001-11-05 20:13:27 +00:00
Adam Olsen
ded1b4c057 - add some missing boundschecking to CDAudio_Play's track remap (in
specific plugins only)
- convert updateping, updatepl, updateentertime, updatestat,
  updatestatlong, cdtrack intermission, finale, muzzleflashchokecount,
  maxspeed, entgravity, and setpause on the client.  Can you say all
  that in one breath? :)
2001-11-05 16:17:45 +00:00
Adam Olsen
d693bc27ff - merge the svc_strings arrays for cl_parse.c and net_packetlog.c into
net_svc.c, and add add a NET_SVC_GetString function to access it.
  As an added bonus, it actually boundschecks it!
- preexpand that annoying SHOWNET macro, which was only used twice,
  and was quite small and pointless
- whitespace cleanup and a comment typo fix
2001-11-05 07:53:03 +00:00
Adam Olsen
87a0a4d7d6 - a TODO item
- converted svc_packetentities and svc_deltapacketentities
- added some convenience defines for U_foo grouping
- tweaked Host_NetError's "please report this" print, but it still
  doesn't work
2001-11-04 21:23:22 +00:00
Bill Currie
7c5c53774f cache some info strings (team and skin from client user info) and values
(no_pogo_stick and teamplay from server info) to cut down on the calls to
Info_ValueForKey (from over 550k to 23.5k in spam2.qwd).
2001-11-04 19:06:50 +00:00
Bill Currie
dcd9b0040e rewrite the info strings to use hash tables instead of a static string.
This required changes to the api (info_t instead of char *) but should be
a net gain in speed (not a lot, admittedly: it was pretty fast to begin
with, but this paves the way for some other changes I have in mind).
2001-11-04 07:50:39 +00:00
Adam Olsen
c5f4af0109 - convert svc_playerinfo, cvs_nails, svc_modellist, and svc_soundlist 2001-11-03 10:48:55 +00:00
Bill Currie
9209138fac nuke the max message lengths from qdefs.h 2001-11-03 00:27:01 +00:00
Adam Olsen
d7e5f88ee3 - conver svc_spawnstaticsound, svc_updateuserinfo, svc_setinfo,
svc_serverinfo, and svc_download

I havn't tested svc_download, since I don't want to play with having
seperate dirs for the client vs server on one computer.
2001-11-02 14:52:29 +00:00
Adam Olsen
9f088567d1 - convert svc_sound, svc_spawnbaseline, svc_spawnstatic, and
svc_tempentity

there isn't actually anything in the server that uses svc_tempentity,
only the progs do, so it's currently unused.
2001-11-02 10:40:20 +00:00
Adam Olsen
a77619f665 - convert svc_damage and svc_serverdata emitting 2001-11-02 08:10:41 +00:00
Adam Olsen
56f1d6f49b Begin phase 2 :)
- link net_svc.c to the server
- add a NET_SVC_Print_Emit function
- make the server use the above instead of svc_print manually

It's actually kind of ugly, because of how backbuffers are
implimented.  Hopefully I'll be able to clean that up later.
2001-11-02 07:32:19 +00:00
Adam Olsen
1c30d89149 - add a net_status_t enum, containing NET_OK, NET_SHORT, and
NET_ERROR.
- change all the NET_SVC_*_Parse return values from qboolean to
  net_status_t
- make NET_SVC_{,Delta}PacketEntities_Parse return NET_ERROR instead
  of 1 (NET_SHORT now) if the struct size is exceeded
2001-11-02 06:00:21 +00:00
Bill Currie
ddd7989b85 turns out I was wrong about how U_REMOVE gets into an update packet (thanks
Rhamph) but the change from short to int in words does a nice bit to the
speed.
2001-10-29 21:46:00 +00:00
Bill Currie
5819fc200c shrink the packet entities word arrays down to MAX_PACKET_ENTITIES + 1 and
ensure the array is always terminated with a 0. This seems to give -x11 a
0.03 fps (0.06%) boost.
2001-10-29 19:15:29 +00:00
Bill Currie
85c9e0ab1e more externs cleaned up 2001-10-29 17:46:03 +00:00
Adam Olsen
e3c5da4fdd - remove the now unused net_svc_delta_t struct 2001-10-29 00:52:02 +00:00
Adam Olsen
36b8256b3a - fixed net_packetlog to use Con_Printf when there's no logfile open,
rather than a stdout hack (which had problems with buffering)
- actually parse net_deltapacketentities
- print offset within net_{,delta}packetentities blocks for each
  entity
- fix indenting in Log_Delta
- fix off-by-one for packet offset printing
- fix a miss-parsing of svc_deltapacketentities
  (MAX_PACKET_ENTITIES does NOT include U_REMOVE entities)
- remove "full update" handling for CL_ParseDeltaPacketEntities, since
  that only happens with svc_packetentities
2001-10-29 00:32:16 +00:00
Bill Currie
78a3e398d5 * taniwha gets medieval on extern 2001-10-28 04:23:37 +00:00
Bill Currie
aa6472da2b cleanup qport usage a little 2001-10-27 08:28:15 +00:00
Adam Olsen
dd19f7b500 - convert svc_deltapacketentities
- add a Host_NetError that dumps a packet log and disconnects, and use
  it instead of Host_EndGame in most cases
- fix a couple multiply-defined vars
2001-10-24 15:23:02 +00:00
Bill Currie
4ae92c8d42 new cvar: sv_hide_version_info. This hides QuakeForge specific info strings
from progs.
2001-10-24 02:50:11 +00:00
Adam Olsen
818f5de658 - rename CL_ParsePacketEntities to CL_ParseDeltaPacketEntities
- fix various spots in the above that called Host_EndGame but didn't
  return
- switched the order of modellist and soundlist in net_svc*, to
  conform with the rest of the files
- create a new CL_ParsePacketEntities, that only handles
  svc_packetentities (so it's much simpler).  it uses net_svc*
2001-10-21 14:21:30 +00:00
Adam Olsen
d69c8013aa - convert svc_spawnbaseline and svc_spawnstatic
Only notable ones left now are packetentities and deltapackentities :)
2001-10-20 11:59:42 +00:00
Adam Olsen
32fbdba399 - move the MAX_PROJECTILES def from cl_ents.c to bothdefs.h
- convert svc_nails
2001-10-20 08:10:25 +00:00
Adam Olsen
a4d9507895 - roast the unnecesary MAX_STYLESTRING def from bothdefs.h
- rename the message argument of NET_SVC_*_Parse to msg
- rename the other argument to block, for brevity
- convert svc_spawnstaticsound
- convert svc_serverinfo
- convert svc_playerinfo
- fix a exploitable buffer overflow with svc_lightstyle
2001-10-19 21:20:49 +00:00
Adam Olsen
c2807a6da1 - and svc_temp_entity too. Probably the last I'll do today. 2001-10-18 18:48:49 +00:00
Adam Olsen
9cef5a1edc - svs_sound too of course 2001-10-18 13:33:12 +00:00
Adam Olsen
eb9c515c2a - yada svc_damage, svc_serverdata
- remove a no longer valid commit from NET_SVC_UpdateUserInfo_Parse,
  and make it always set name/data to 0 if they're unused
2001-10-18 08:57:03 +00:00
Adam Olsen
cf8380b528 - change NET_SVC_*_Parse to return qboolean, indicating if they had a
bad read
2001-10-18 07:34:38 +00:00
Adam Olsen
d2fe052d59 - convert svc_setinfo, bla bla, you know hte drill 2001-10-18 07:23:33 +00:00
Adam Olsen
634c2c6acf - rename CL_UpdateUserinfo to CL_ParseUpdateUserInfo for uniformness
- rework svc_updateuserinfo/CL_ParseUpdateUserInfo like everything
  else
2001-10-18 07:01:40 +00:00
Adam Olsen
7d26e6e2b9 - move the svc_print handling into a seperate function (CL_ParsePrint)
- add NET_SVC_{Print,Download}_Parse functions and assosiated
  net_svc_{print,download}_t structs.
- make CL_Parse{Print,Download} use the above stuff
2001-10-18 06:35:28 +00:00
Adam Olsen
18036b63d9 - change MSG_ReadString to return const char * and return a pointer
directly into the packet data.
- change a bunch of char *'s to const char *'s for the above.  Only
  thing that had trouble was the cl_nofake handler, which I changed to
  use a local buffer.
- add MSG_ReadStaticString which acts like the old MSG_ReadString,
  specifically that it uses a static buffer and tollerates
  unterminated strings.
- add a Q_strnlen function, and make strnlen use it if strnlen is
  undefined.
- Add a net_svc.h and net_svc.c which will preparse svc messages into
  structs, for easier handling.  Currently only soundlist and
  modellist are done.
2001-10-18 04:44:58 +00:00
Adam Olsen
0785610296 - fix a little mistake in SV_PrintToClient that'd cause it to
segfault if your first call was with "".  Probably could cause
  crashes too
- add a string.c file to libQFutil, with a Q_strcasestr function,
  which strcasestr is defined to if it's not already defined.  (we'd
  get that with glibc if we defined __USE_GNU, but we don't)
- make client_t and SV_ExtractFromUserinfo both use NAME_MAX for
  their name arrays, instead of 32 for one and 80 for the other
- rewrite almost all of SV_ExtractFromUserinfo's name handling.
  - \r, \n, and \t are all converted to spaces
  - leading/trailing spaces are stripped
  - consecutive spaces are reduced to a single space
  - empty names are considered bad
  - user-* nicks are considered bad (unless forced to them)
  - a name containing console or admin is considered bad
  - a name that already exists is considered bad
  - if they have a bad name it gets forced to user-%d, where %d is
    their userid
  - netname in the progs is now updated properly
  - name changes are always reported unless it's the initial setting,
    rather than only if they're full connected and not a spectator
  - finally, if the name change fails (info string exceeded), give
    them the boot.  (before this was only done for duplicate names)

That's about it :)
2001-10-04 19:11:39 +00:00
Bill Currie
1929797cc9 get nq-server so it runs. part of this involved renaming cl_warncmd to
cmd_warncmd
2001-10-03 21:25:43 +00:00
Adam Olsen
1f87234aac - change MAX_MASTERS from 8 to 32, since prozac has 9 of them 2001-10-03 03:42:28 +00:00
Bill Currie
7fcdffb42e mirror the chase and watervis serverinfo keys in the cl struct so
Info_ValueForKey doesn't get hit so often.
2001-10-01 01:51:36 +00:00
Bill Currie
e9c420c749 nuke SV_RecursiveHullCheck from cl_cam.c and use PM_RecursiveHullCheck
instead. Also add prototype for PM_RecursiveHullCheck to pmove.h
2001-10-01 00:20:57 +00:00
Bill Currie
c78edb3a36 Apply Seth Galbraith's <sgalbrai@linknet.kitsap.lib.wa.us> chasecam patch 2001-09-28 07:51:15 +00:00
Ragnvald Maartmann-Moe IV
e2f14519fb Merge world.h. Also reduced smoke particle textures from 8 to 1, a considerable speedup through reduced texture thrash... 2001-09-24 17:52:13 +00:00
Bill Currie
49a85718f8 total nukage of Con_*Printf calls from libs (except for video). Sys_*Printf
(Sys_DPrintf is new) is now used exclusively for all lib printing. Con_Init
sets the sys printf recirection to Con_Print (which has been revamped
appropriatly) and the server sets it to SV_Print (which was SV_Printf and
the new SV_Printf calls /it/). This should fix the rcon print redirection
issues.
2001-09-21 04:22:46 +00:00
Bill Currie
e27878e156 bring forward the sv_extentions and stdver changes from 0.3 2001-09-11 03:50:24 +00:00
Bill Currie
74e9f89e8c forward port the client info string filtering from 0.3 and remove info.h from
a couple of c files that no longer need it.
2001-09-11 03:10:29 +00:00
Bill Currie
882adf295a implement KK's ban, mute and cuff 2001-09-09 04:51:08 +00:00
Bill Currie
a9d6bc9a30 total nukage of #ifdef QUAKE2 (R_DarkFieldParticles is present, just unused) 2001-08-27 23:21:09 +00:00
Bill Currie
74dfef5cd1 sort-of merge world.h and (mostly: Sys/Con vs SV) world.c this winds up
bringing rotated bboxes into nq :)
2001-08-27 22:16:11 +00:00
Bill Currie
3edd4550d2 heh, nor do we need PROGHEADER_CRC 2001-08-27 21:13:00 +00:00
Bill Currie
9d27a12df7 progdefs? where we're going we dont need... progdefs 2001-08-27 21:09:13 +00:00
Bill Currie
2a027969d5 various init order fixes and a */[] snafu sorted
also make translations big enough for the 32 bit colors
2001-08-25 05:54:21 +00:00
Adam Olsen
cd99a6a4b6 timeframes patch I made so long ago. use cl_timeframes 1 before
running a demo, and when it stops it'll print out the time spent on
each frame (in microseconds) to timeframes.txt.
2001-08-21 05:35:35 +00:00
Bill Currie
7aa7bb663a centralize client state setting so ancilliary operations can be guaranteed
to happen (eg, key binding table selection for console).
2001-08-19 03:51:52 +00:00
Bill Currie
3d30361595 show_ping and show_pl. pretty much like show_fps. 2001-08-11 04:14:58 +00:00
Bill Currie
fb42199637 change all the SVFIELD calls to SVtype. this should make the code a little
easier to read.
2001-08-08 20:28:53 +00:00
Adam Olsen
ae133d0a90 Modify progs to add builtins at runtime. It should be trivial to
lookup functions by name, and make all our new QC builtins allocate
numbers automatically.
2001-08-03 06:40:28 +00:00
Bill Currie
fe8738b042 make dist works again 2001-08-01 17:49:25 +00:00
Adam Olsen
513347effd Fix that classic "playing without joining a team" TF cheat :) 2001-08-01 00:38:16 +00:00
Bill Currie
fb26d8b18a make Info_Set* take flags indicating wether funchars should be stripped or not 2001-07-31 18:27:49 +00:00
Bill Currie
368468dce0 revert the changes to cl_demo.c as they are a serious (10%) speed hit in qw.
While lost in the noise for nq for the standard demos, it seems like a good
idea to revert it too.
2001-07-31 07:29:44 +00:00
Bill Currie
ceadc2482c erk, forgot to commit this with the wrappers 2001-07-27 23:19:48 +00:00
Bill Currie
6000b06de3 support arbitrary hulls for players, too 2001-07-26 21:37:34 +00:00
Bill Currie
5ebee4a28b rotated bounding box support. this is so totally untested it's not funny
(though it does compile). Keeps things simple and only checks touched.

.integer rotated_bbox;

ent.rotated_bbox = getboxhull ();// be sure to check for failure (0)
rotate_bbox (ent.rotated_bbox, ent.angles, ent.mins, ent.maxs);
...
freeboxhull (ent.rotated_bbox); // when freeing entity. box hulls are limited

integer () getboxhull = #95
void (integer hull) freeboxhull = #96
void (integer hull, vector angles, vector mins, vector maxs) rotate_bbox = #97
2001-07-26 04:26:54 +00:00
Adam Olsen
619b12375c Start of support for rotated bboxes. shouldn't do anything yet 2001-07-26 00:01:13 +00:00
Adam Olsen
2f223924f4 Add a set of "crudefile" file io functions. Reads or writes an
entire C string (including terminating nul).  Read the source for
more details :)
2001-07-22 19:03:26 +00:00
Bill Currie
f3ab764666 bump MAX_BACK_BUFFERS up to 8. 2001-07-22 07:03:32 +00:00
Bill Currie
743fd9cc19 rename SetUserInfo to UserInfoCallback.
set self to the client entity for UserInfoCallback.
add void (entity ent, string key, string value) setinfokey = #102;
	similar usage to infokey.
2001-07-20 05:05:47 +00:00
Bill Currie
d30f1ee0c2 add an /optional/ SetUserInfo qc callback to allout the progs to take over
userinfo setting.

float (string key, string value) SetUserInfo;

key = infostring key
value = new value
returs: 0 for key not changed, non-0 to broadcast the change
2001-07-20 04:30:33 +00:00
Bill Currie
1c9e1b176f fear the mighty const correct patch 2001-07-15 07:04:17 +00:00
Adam Olsen
dcaa0b205f Make coop play possible in qw. Create a progs variable called 'current_skill'
and you'll get the nq edict pruning behavior.
2001-07-13 22:47:11 +00:00
Bill Currie
7a06a2254a rename the Con_Printf in sv_send.c to SV_Printf and change all the calls to
Con_Printf in the server code to SV_Printf.
nuke Con_DPrintf from sv_send.c
2001-07-11 23:11:29 +00:00
Bill Currie
001f178e86 rcon and say improvements from kkqwsv
server.h:
	add rcon_from_user
sv_ccmds.c:
	add SV_ConSay_Info_f (sayinfo) for quiet info messages and revamp the
	rest of SV_ConSay_f accordingly. Also include deactivated commands for
	cuff, mute, tell and ban (coming soon).
sv_main.c:
	revamp the rcon system to support both `root' rcon and admin rcon and
	provide better logging. admin_password is the cvar holding the password
	for admin access (used the same way as rcon_password)
2001-07-09 23:33:35 +00:00
Chris Ison
3456b5f479 part 1 of slist fixup, added ping and game filtering, also fixed some potential bugs. flame me later 2001-06-17 08:14:22 +00:00
Chris Ison
12ae6750af moved slist stuff out of cl_main.c and into cl_slist.c, enabled getting server list from master servers. to switch between servers.txt list (default) and list of servers from master servers use slist switch 2001-06-09 09:12:24 +00:00
Bill Currie
05cf89dd5d make progs type checking optional at configure time. still defaults to on. 2001-06-08 00:11:54 +00:00
Bill Currie
652069d3f2 This one's for Mercury :) (cvar control of pmodel and emodel) 2001-06-02 23:29:41 +00:00
Bill Currie
d2a4faae6e oops :) (packet log fixes: segs aren't nice) 2001-05-31 15:38:08 +00:00
Bill Currie
6bf58ab1af no header includes cvar.h now 2001-05-31 03:41:35 +00:00
Bill Currie
4babd979d6 nuke --enable-packetlog in favor of a net_packetlog cvar so packetlogging is
always available. also change the packet log open mode from truncate to append.
2001-05-31 02:43:48 +00:00
Adam Olsen
de4ab28d38 re-add support for changing client port (use +set cl_port foo) 2001-05-30 18:50:17 +00:00
Joseph Carter
05adfd0e53 quakefs.h -> vfs.h
quakeio.h -> vfile.h

More diff reduction between trunk and my VFS code.  Also took the time to
put some headers in order and fix a few #include's pointed out by moving
things around a bit.
2001-05-30 04:34:06 +00:00
Joseph Carter
186d577818 s/QFile/VFile/g - makes my diffs much smaller and more manageable for the
VFS work.
2001-05-30 03:21:19 +00:00
Bill Currie
d441a61bf3 make sure that the reliable packets from soundlist, modellist and the skins
info get acked. This is done by sending a no-op packet (0 byte didn't work
because the runt packet detector throws them out before the ack is seen).
2001-05-29 03:29:51 +00:00
Bill Currie
3c66182588 fix the sound precache lookup code in net_packetlog.c 2001-05-28 22:16:27 +00:00
Bill Currie
1a25bc9349 gl_screen.c and screen.c are now client clean (and merged :) 2001-05-23 06:33:23 +00:00
Bill Currie
c500fd7479 make dist fixups 2001-05-22 17:09:03 +00:00
Bill Currie
4a80639556 sw and gl rmisc are now client clean. the graphing functions ahve been pulled
out into r_graph.c (Time and Z graph), cl_ngraph.c (Net graph), and
{gl,sw}_graph.c (R_LineGraph). gl_ngraph.c is gone. Unfortunatly, something
is rather wrong with NetGraph in gl (probably R_LineGraph).
2001-05-22 06:00:38 +00:00
Bill Currie
da8715f27d sw_ralias.c and gl_rmain.c are now client clean. this involved a bit of a
revamp of skins. keep an eye out for broken skins (especially in nq)
2001-05-21 22:25:35 +00:00
Ragnvald Maartmann-Moe IV
a9c9a46c37 client.h gone from gl_rlight.c and sw_rlight.c.
cl_lightstyle -> r_lightstyle
2001-05-21 03:08:07 +00:00
Bill Currie
337430a113 sw_rmain.c is now client and chase clean. 2001-05-20 20:38:51 +00:00
Bill Currie
d360b01827 move dlight stuff out of cl_* into r_main.c. nq dlights seem to be broken,
but that seems to have been from before this work
2001-05-20 05:42:52 +00:00
Bill Currie
d1c2b0ec52 r_efrag.c no longer relies on cl*.h 2001-05-20 02:39:56 +00:00
Bill Currie
e0512e4af3 r_efrag.c is almost client.h free 2001-05-20 01:58:59 +00:00
Bill Currie
ec5daaa764 finally merge render.h. nq will NOT currently compile. I'll fix that when I
get back onto my computer at home
2001-05-19 00:23:21 +00:00
Bill Currie
378adbf8f6 diff noise reduction 2001-05-18 23:57:38 +00:00
Bill Currie
18e6b43168 diff noise reduction in render.h and its fallout 2001-05-18 22:07:10 +00:00
Ragnvald Maartmann-Moe IV
1dbfea351a console.c mergable. Little bit of cleanup of client.h 2001-05-18 18:33:37 +00:00
Bill Currie
a735b92bab kill the allowskybox varible. it wasn't ever checked anyway 2001-05-18 18:04:55 +00:00
Bill Currie
e61c33c9d9 merge of cl_tents and r_efrag. 2001-05-15 21:34:54 +00:00
Ragnvald Maartmann-Moe IV
4206b93721 diff noise reduction 2001-05-15 19:00:53 +00:00
Bill Currie
c7ee39acbb rename the qw c declaration of the client name cvar from name to cl_name 2001-05-13 04:01:06 +00:00
Bill Currie
559aa4485b split out the qw client specific skin code from skin.c 2001-05-11 22:47:15 +00:00
Bill Currie
105d1ee7d9 well, that didn't last long, did it?
merge r_cvar.h
2001-05-11 19:33:17 +00:00
Bill Currie
4ff86056db pull all rendering cvar declarations and initialisations out of the misc
files and put them into r_cvar.[ch] getting ready for the renderer merge
2001-05-11 19:21:48 +00:00
Ragnvald Maartmann-Moe IV
ab29863c04 Grok Goofs Grumble. 2001-05-10 17:49:35 +00:00
Ragnvald Maartmann-Moe IV
a5d3e614a0 More Merge Madness. 2001-05-10 17:45:05 +00:00
Ragnvald Maartmann-Moe IV
7aa70de483 *meld* 2001-05-10 17:26:03 +00:00
Bill Currie
2c07108c65 model loading code merge. dragged in smoe merges and cleanups of d_iface.h,
r_local.h, r_shared.h, client.h and render.h at the same time (couldn't get
away from that:/) verly likely to be lots of breakage (eg, player and eye
models are NOT checksummed atm), but everything builds
2001-05-10 06:01:11 +00:00
Ragnvald Maartmann-Moe IV
5cd8ddb1aa *shuffle* 2001-05-10 04:16:39 +00:00
Ragnvald Maartmann-Moe IV
f5f3260dec Taniwha apparently lost interest after doing the hard part, so I'll just merge this... 2001-05-10 03:36:31 +00:00
Bill Currie
00f6e26419 clean up some nasty dependencies 2001-05-10 03:16:29 +00:00
Ragnvald Maartmann-Moe IV
5864e85048 Clean up after aforementioned shoggoth. 2001-05-10 02:42:19 +00:00
Ragnvald Maartmann-Moe IV
9529f12f5b Mister Spock was here. 2001-05-10 02:37:55 +00:00
Ragnvald Maartmann-Moe IV
2fe98e9fa4 More merging. Become one with the shoggoth. Poor hungry shoggoth... 2001-05-10 02:29:38 +00:00
Ragnvald Maartmann-Moe IV
37a93b3e91 Merge draw.h. 2001-05-09 22:40:51 +00:00
Bill Currie
3ba56286ac more missed removals 2001-05-09 22:08:21 +00:00
Bill Currie
271803a568 commdef.h is dead
good riddance
2001-05-09 20:34:39 +00:00
Ragnvald Maartmann-Moe IV
5afd16bea9 More header cleanups. 2001-05-09 18:34:46 +00:00
Ragnvald Maartmann-Moe IV
7fa4b01208 More header merges. 2001-05-09 18:28:08 +00:00
Ragnvald Maartmann-Moe IV
7567098bc0 More header merges. 2001-05-09 17:57:57 +00:00
Ragnvald Maartmann-Moe IV
85de55a05c More header merging. 2001-05-09 17:29:07 +00:00
Ragnvald Maartmann-Moe IV
a454719fc7 Merge adivtab.h while I'm at it. 2001-05-09 17:24:41 +00:00
Ragnvald Maartmann-Moe IV
e0d43f4a7f Merge anorms.h and anorm_dots.h. 2001-05-09 17:22:27 +00:00
Ragnvald Maartmann-Moe IV
f6374b48ce First pass at updating nq particles. Compiles. Crashes. Taniwha wanted a look. Flee in terror.
Also has bunches of cleanups, including string.h/strings.h ifdefs, whitespace, and removal of pointless comments.
2001-05-09 05:41:34 +00:00
Bill Currie
b4b27ee13b move the make dist stuff to the top level Makefile.am and get make dist to
work in that make doesn't barf. probably missing lots of files
2001-04-18 07:18:54 +00:00
Chris Ison
ba1408d56d fixed seg cause of uninitialized cvar in_freelook. Also remove double initialization of sensitivity and lookstrafe 2001-04-17 03:08:52 +00:00
Bill Currie
6fcf8395ca FBDEV GLX SVGAlib X11 all build, but nq-glx doesn't link yet due to some
changes between nq and qw (gl_mtexable, texture_mode and GL_CheckBrightness)
2001-04-15 21:11:41 +00:00
Bill Currie
36cbe70826 vid libs build but probably don't work yet (I KNOW x11 doesn't) lots of
build failures in the main source still
2001-04-15 08:04:15 +00:00
Bill Currie
a0ab26ff6b merge screen.h 2001-04-15 07:47:49 +00:00
Bill Currie
7e67fd56f3 getting closer to building the vid libs.
in_common.c is the main input interface. in_x11 has been modified suitably
2001-04-15 07:18:04 +00:00
Ragnvald Maartmann-Moe IV
dbf0e3130e Quash more cvs add/remove oddities. 2001-04-15 05:18:23 +00:00
Ragnvald Maartmann-Moe IV
66fafd3e0e First stage of video and input system merge. The city has collapsed, wreckage sifting ensues... 2001-04-15 04:18:22 +00:00
Bill Currie
5859b3dd1f merge glquake.h. Rather messily done, but it works and all clashes were
sorted out on the nq side assuming that qw did it right (which it does:)
2001-04-14 21:22:08 +00:00
Ragnvald Maartmann-Moe IV
f789b61c56 Merged joystick code. Great deal of cleanup in input, reduced bizarre overuse of protocol.h...
Maimed joy_win.c, very likely to get odd behavior there, even if it compiles.
2001-04-11 07:57:08 +00:00
Jeff Teunissen
5cd24de097 Hardware gamma support in QW. Currently, only -x11 and -glx will
build. Look at their vid files, as well as vid_common_{gl,sw}.c to find
out what will need to be added to the rest of the video targets.
2001-04-11 07:16:34 +00:00
Ragnvald Maartmann-Moe IV
cbb4af711c Remove duplicate sound.h, move some things down from include/QF to include.
Prepare for joystick merge...
2001-04-10 20:15:18 +00:00
Bill Currie
334b528a40 forgot some bits 2001-04-10 20:11:50 +00:00
Adam Olsen
69022c7ffb Move sound targets into a library. Still doesn't pick one at runtime though. 2001-04-10 09:40:09 +00:00
Bill Currie
a96536c896 nuke commdef.h and clean up the results by putting its contents where they
belong.
also, merge model.h and friends (MINUS render.h). this needed moving efrags_t
from render.h to model.h.
2001-04-10 06:55:28 +00:00
Bill Currie
e236ac4bb2 move mplane_t to qtypes.h so non-asm builds will build (so long as you're not
trying to build -svga)
2001-04-10 02:36:44 +00:00
Ragnvald Maartmann-Moe IV
d7eb585502 Merge cd. Doesn't dlopen different cd drivers or anything exciting... Yet. 2001-04-09 21:15:09 +00:00
Zephaniah E. Hull
b7ee9ba07d gl_draw.c: gl_lightmode now uses a callback.
gl_dyn_part.c:
  Now uses a (non-locked) vertex array to reduce GL calls.
  Gives a slight speed gain, I'll optimize it a bit more soon.
gl_rlight.c:
  Fixed much of the dlightframecount issues.
  (This gives cleaner code and a speed up.)
gl_rmain.c: A slight reorg of the dlight call order.
gl_rmisc.c: Enable some of the vertex arrays. (vertex, texcoord, color.)
gl_rsurf.c:
  Reworked R_BuildLightMap, smaller now code wise, also more optimized,
  and it builds a 0-2 lightmap in more cases now.

  Playing with GL_UploadLightmap.

  For non-lighthalf non-mtex lightmaps use a 0-2 range.
  (Makes gl_lightmode look a /lot/ better.)

gl_screen.c: More stuff with the gl_lightmode callback.
r_view.c: R_PushDlights is called elsewhere now.
sw_rmain.c:
  Moved the R_PushDlights call.
  Also killed the unused PASSAGES define.
2001-04-06 02:57:26 +00:00
Joseph Carter
9ea0605558 reverting this for Mercury 2001-04-06 02:12:19 +00:00
Joseph Carter
c9ecc7a9d2 The lighthalf qboolean is no more - replaced with a gl_lightmode callback
to do the job much more simply.  Also replaced lighthalf_v with white_v on
the QW side.
2001-04-05 17:28:28 +00:00
Ragnvald Maartmann-Moe IV
f4632ccd8b Merge fractalnoise into noisetextures.c, which will eventually add a few more fractal noise types. Current smoke is a blend of diamond-square and plasma noise.
Also make smoke less dense, in an attempt to fix Jin^eLD's problem with hwguy smoke.
2001-04-04 05:39:44 +00:00
Chris Ison
2ece48c535 alpha code for master server queries 2001-04-03 05:48:24 +00:00
Bill Currie
e939ccc40a cvars now sport a callback function that gets called whenever the cvar changes
or on initial get.
2001-03-31 01:02:52 +00:00
Bill Currie
4f2e22bfb8 merge and move quakefs.c into libQFutil where it belongs. at long last 2001-03-30 00:44:35 +00:00
Bill Currie
b432d0ea17 pull the game specific stuff out of quakefs.c in preparation for merging it 2001-03-30 00:30:38 +00:00
Bill Currie
dd3d2a073d make -fbdev build again AND make nq-fbdev a new target.
moved fbset.h from qw/include to include so it can be shared by nq. it's in
include instead of include/QF because I don't see any need to isntall it.
2001-03-29 17:31:15 +00:00
Bill Currie
cb5c262ffc qtypes.h:
remove includes of qdefs.h and compat.h
pr_comp.h:
	merge pr_comp.h from quake and qfcc, removing the copy in qfcc
cmdlib.[ch]:
	nuke the endian code.
qendian.c:
	initialise the LittleLong etc pointers at compile time rather than run
	time
com.c (both nq and qw):
	nuke the LittleLong etc init code
everything else:
	fix up after the qtypes.h cleanup
2001-03-28 17:17:56 +00:00
Bill Currie
5a48f987a5 scripted fixups for the QF include move 2001-03-27 23:36:02 +00:00
Adam Olsen
31295c1f63 Bring qw and nq snd_*.c files into sync. Should be able to move them
into a common dir now.
Also fix some #include path changes.
2001-03-27 22:30:25 +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
Bill Currie
f6073d756f better progs access error checking and cleanups resulting from it. Fixes
mega2k and nq.
2001-03-27 03:57:17 +00:00
Chris Ison
69fd58944e moved slist loading into cl_slist.c 2001-03-08 23:53:03 +00:00
Bill Currie
09b58f7e5f merge math code into utils 2001-03-05 02:06:05 +00:00
Bill Currie
cf3629b3b3 merge in my progs work off the `taniwha' branch. This prigs us a few nice
thinks:
  o Full progs modularity
  o CSQC should now be just a matter of creating the builtin functions and
    loading the code.
  o total independence from progs globals, functions and entity field layouts
    on the conditoin that their definitions have not been stripped from the
    progs file.
  o optional (though currently forced on) type checking on access to progs
    entity fields from C
  o the progs engine is fully shared between nq and qw.
2001-03-04 06:30:30 +00:00
Bill Currie
6bb1f172d0 THOU SHALT NOT SCREW UP THY DOT-PRODUCT MACRO!!! :P 2001-03-04 06:08:28 +00:00
Bill Currie
4137fbabb5 nq seems to like the new progs setup (got to e2m2 in medium without problems) 2001-03-04 05:27:29 +00:00
Joseph Carter
c057c27d9a Menu has been killed completely from qw. It's dead. I doubt anybody will
even notice, given that QW's menu was crippled to the point that it was
completely useless anyway.
2001-03-03 09:42:35 +00:00
Bill Currie
baa5ce01a1 more independence cleanups and nq is closer to running 2001-03-03 08:59:55 +00:00
Bill Currie
26e2d545e4 macro parameter usage must have () around them :P
This seems to fix the aim bug
2001-03-03 05:34:50 +00:00
Bill Currie
6c9de8061b fix the silly OP_STATE bug. also erradicate pr_offs.c and its contents (the
source of the bug)
2001-03-02 19:18:04 +00:00
Bill Currie
10e6b7af84 edict field access type checking :) Currently forced on, but it will become a
configure option in the future
2001-03-01 21:11:35 +00:00
Bill Currie
4fcf7704d3 clean out unused fields 2001-03-01 19:05:40 +00:00
Bill Currie
ef38fd2e79 progsdef.h is now used only for the PROGHEADER_CRC def. Much of the protocol
still seems to be broken :(
2001-03-01 18:44:19 +00:00
Bill Currie
ad18afaa3c really clean up global and function access. Unfortunatly, frames are still
borked, at least for the view entity.
2001-03-01 08:34:30 +00:00
Bill Currie
63b990cd30 qw-server builds, but dies a sad death. I REALLY REALLY NEED to clean up my
progs globals and edict fields accessors, but I'm not so sure that's the cause
of the run-time error:

SV_Error: SV_ModelIndex: model progs/player.mdl not precached
Fatal error: SV_Error: SV_ModelIndex: model progs/player.mdl not precached

I suspect I failed to find the spawn function.
2001-02-28 22:44:38 +00:00
Bill Currie
9f2dacd2e1 re-think edict_t. this is going to massivly break things for a while, but
tough, progs should never have known about entity_state_t in the first place.
Nor should it have been mod spefic.
2001-02-28 01:59:31 +00:00
Bill Currie
e5543eb0a6 next step of the progs merge done. just need to sort out interdependencies,
fix PR_SetString, and a few other things.
2001-02-28 00:56:03 +00:00
Bill Currie
f6d047712d all -snd* params and environment checking have been removed from the sound
subsystem in favor of Cvars*. These new cvars are:
 o  snd_device  defaults to "" which selects the default device of the system
    (eg, plug:0,0 for ALSA 0.9 or /dev/dsp for OSS)
 o  snd_rate    defaults to 0 which selects the system default rate.
 o  snd_bits    defaults to 0 which selects the system default bit depth.
 o  snd_stereo  defaults to 1 (0 is mono)

* actually, not that thorough: alsa and oss only. The rest have just ws :/
2001-02-26 17:39:32 +00:00
Bill Currie
2bfeed6820 looks like utils is more or less complete for now, except for some fixes in
nq for abyss etc (ie, the magical -<mod> args).
The interface to the message subsystem got a revamp and all the mods to the .c
files reflect this. currently a little ugly, but I plan on abstracting msg
further to clean it up and make it more oo.
2001-02-23 23:16:13 +00:00
Bill Currie
981d067000 merge qw's net_com.c and checksum.c (net_com.c was identitcle to nq's
checksum.c) and then move the resutlting checksum.c into libs/utils
ditching nq's. Due to net_com.c, qw's libqfnet.a will need to be deleted or
you will get duplicate symbol link errors. Also merge crc.[ch] and move
qfplits.[ch] to their final homes. Also, remove a slightly overzealous use
of "static" in qfplist.[ch].
2001-02-23 18:31:48 +00:00
Ragnvald Maartmann-Moe IV
efad87a4b7 Fiend is getting full, but I force fed it some more typos anyways. 2001-02-23 05:44:57 +00:00
Bill Currie
07ae0ed92c fix broken ipv6 address field 2001-02-22 19:00:34 +00:00
Bill Currie
be075686bf move the win32 includes to the top level using qw's stuff 2001-02-22 04:10:24 +00:00
Bill Currie
9f69abff14 remove redundant fields 2001-02-22 03:48:39 +00:00
Bill Currie
10b8c5e8ad ok, nq compiles again 2001-02-21 21:44:57 +00:00
Jeff Teunissen
de96c6c3b8 Configure updates. QSG_VERSION has completed its change to
{QW,NQ}_QSG_VERSION, because NQ and QW support differing versions.
2001-02-21 21:38:07 +00:00
Bill Currie
a3ec4ac781 fix a #define clash I missed earlier 2001-02-21 19:53:41 +00:00
Bill Currie
95f6db7775 start merging stuff into libs/util and fix the concequences in nq. nq doesn't
build yet though (keys.c, *screen.c and *view.c) due to console fun.
2001-02-21 19:35:06 +00:00
Joseph Carter
c2cea45217 NEWSTYLE is gone, sortof. The Cvar defaults for NEWSTYLE are now just the
defaults in non-win32 targets.  BASEDIR/SKINBASE are gone and the Cvars
which use them in the code are just given the oldstyle defaults now.  Use
of "base" is gone.  It was a half-assed solution to a problem that doesn't
exist yet.  When it finally does exist, we'll fix it right.
2001-02-20 23:06:48 +00:00
Joseph Carter
2ae91bbbc6 Finished cleaning out the unused Cvar flags. The only ones we actually
ever used were CVAR_NONE, CVAR_ARCHIVE, CVAR_USERINFO, CVAR_SERVERINFO,
CVAR_ROM, and CVAR_USER_CREATED.  I kept CVAR_NOTIFY and CVAR_LATCH as
well since the latter was supposed to actually be implemented at some
point and the former would make a useful debug feature.
2001-02-20 15:31:49 +00:00
Joseph Carter
089fb150db CVAR_INIT was unused, we have always used CVAR_ROM for that. Removed the
cruft.
2001-02-20 11:25:46 +00:00
Zephaniah E. Hull
75618f96c9 Working on one common configure which lets nq and qw compile.
There, needs a little clean up though.
2001-02-20 03:10:06 +00:00
Bill Currie
87854e1a0c initial checkin of most recent newtree and nuq(?) source 2001-02-19 21:15:25 +00:00