Commit Graph

219 Commits

Author SHA1 Message Date
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