Commit graph

210 commits

Author SHA1 Message Date
Ragnvald Maartmann-Moe IV
6d62497934 Typo fix. 2001-11-04 15:31:17 +00:00
Bill Currie
b0e9bd3ddc fix a bogus leak in info strings 2001-11-04 08:18:54 +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
Bill Currie
fa976d4461 cvarlist cfg will now give output suitable for a config file 2001-10-30 23:33:47 +00:00
Ragnvald Maartmann-Moe IV
7ea1051b9a Code cleanups. 2001-10-30 19:55:34 +00:00
Bill Currie
78a3e398d5 * taniwha gets medieval on extern 2001-10-28 04:23:37 +00:00
Brian Koropoff
05f35f9cd4 This adds the ability to access special characters in console commands by proceeding certain characters with $. See libs/util/cmd.c for the conversion table. Preceeding a character by # will shift it up or down by 128, which basically is useful for accessing the brown letters and numbers. All special characters were removed from Team_ParseSay, and variable substitution now takes the form of ${var} to prevent conflicts with special character substitution. Special character access is controlled by cmd_highchars, which defaults to off. 2001-10-27 04:34:53 +00:00
Bill Currie
6bbb9a75a3 remove an unneeded check 2001-10-26 03:12:31 +00:00
Adam Olsen
3bba5398ba - audit malloc usage. now everything checks the return value :) 2001-10-24 22:50:06 +00:00
Bill Currie
9c92634cbf remove an extern 2001-10-24 15:02:18 +00:00
Bill Currie
fedea4a5e1 check for malloc failure 2001-10-23 17:35:46 +00:00
Bill Currie
6c0d760102 msg.h:
give mst_t a buffer to hold unterminated message strings
	kill MSG_ReadStaticString and MSG_ReadStringLine
msg.c:
	kill MSG_ReadStaticString and MSG_ReadStringLine
	MSG_ReadString: implement the buffer for unterminated message strings
	and update readcount on badread
cl_main.c:
	go back to MSG_ReadString and fix up the resulting const char * issues
cl_parse.c:
	rewrite the cl_mofake code all because of an uninitialized variable :)
sv_main.c:
	use MSG_ReadString instead of MSG_ReadStringLine because
	Cmd_TokenizeString really doesn't care about a terminating \n
2001-10-18 06:23:26 +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
Bill Currie
1b1955551a make all the multi-byte MSG_Read* functions update msg->readcount when the
end of the buffer is hit so subsequent MSG_Read* calls for smaller values
error as well. Also add a check for badread in MSG_ReadFloat
2001-10-18 04:14:18 +00:00
Bill Currie
2d068c0745 massive windows.h and WIN32 cleanup. 2001-10-16 21:40:45 +00:00
Bill Currie
4a0194b95c correct the default of cmd_warncmd 2001-10-15 22:41:42 +00:00
Bill Currie
742bb9de91 static plugins now actually work 2001-10-10 16:22:41 +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
Bill Currie
a1d2cf3532 duplicate file name cleanup and make dist works 2001-10-03 17:50:36 +00:00
Ragnvald Maartmann-Moe IV
9c6955f406 Fix missing include. 2001-10-02 23:53:07 +00:00
Bill Currie
40d0490b7c add Hash_GetList to get a list of elements in the hash table (unsorted) 2001-10-02 23:17:25 +00:00
Chris Ison
60107fd19c changes to get cygwin to compile server. still debugging result 2001-09-29 09:39:27 +00:00
Bill Currie
30f6d2f85c fix a case and paste error 2001-09-28 15:29:56 +00:00
Jeff Teunissen
d63243380f Aaaaaaand, it's done!
Special note: I hope to never do this again. :)
2001-09-28 10:31:20 +00:00
Bill Currie
b1f4a778f9 the rcsid commit from hell }:> 2001-09-28 06:26:31 +00:00
Bill Currie
a439170dcf libasm cleanups 2001-09-25 22:12:55 +00:00
Bill Currie
06da30ac89 mingw build fixes again (including mostly working in sid: got some link issues) 2001-09-25 06:18:30 +00:00
Bill Currie
36de3c147e move Sys_Quit and Sys_Error totally into libQFutil. They will call a list
of pre-registered (Sys_RegisterShutdown) function before actually exiting
the program. This should take care of the pain when an ncurses server
crashes.
2001-09-24 21:00:23 +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
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
Ragnvald Maartmann-Moe IV
fb7918d4f8 Optimize DEG2RAD a little, plus some whitespace. 2001-09-10 04:20:27 +00:00
Ragnvald Maartmann-Moe IV
7af79b96ec Lots of whitespace, header cleanups, and a few tiny optimizations. 2001-09-09 21:41:35 +00:00
Adam Olsen
9ab9764b7a - Change QA_alloc to use variable-arguments, allowing for a much more
extensible interface.
2001-09-05 18:23:38 +00:00
Adam Olsen
f1a016c8a5 - Refine the Cache_Get callback, to use a void * instead of a char *
- Switch alias models over to Cache_Get/Cache_Release
2001-08-31 12:22:45 +00:00
Adam Olsen
6cab8cf4e0 - change Cache_Get calls to Cache_TryGet (which I just added), so they
can tollerate failure.
- minor error message tweak (an emptry string is not NULL!)
2001-08-31 03:48:26 +00:00
Bill Currie
e469b934ea get alsa0_9 working with latest cvs, we need to dlopen the plugin with
RTDL_GLOBAL. To use RTDL_GLOBAL, we need to make as much static as possible
 and PluginInfo needs a unique name (%s_%s_PluginInfo, type, name).
2001-08-31 00:05:58 +00:00
Adam Olsen
e149094bd2 - rename Qalloc and friends to QA_alloc
- add a QA_strdup
- add Cache_{Add,Remove,Get,Release}, for the locking version of the
  cache
- Convert libs/audio/* over to locking cache functions
2001-08-30 11:37:50 +00:00
Bill Currie
0d55476711 make VectorSubtract and VectorCompare macros and clean up the readability
of R_DrawParticles
2001-08-29 20:19:54 +00:00
Bill Currie
3656d6fd59 compile fixes for win32 and take the pruning shears to *sys*.c in qw and nq
(they're not done yet, though)
2001-08-29 17:45:53 +00:00
Adam Olsen
5aceb0435e - add a cache_print command
- rename flush to cache_flush
- split off freeing of cache into a seperate function, as well as
  making it aware of read locks.
2001-08-29 15:29:17 +00:00
Adam Olsen
4deed9245a - Add CACHE_WRITE_{,UN}LOCK macros, and calls to them in Cache_*. No
effect until other things are done.
- Make Qalloc treat no callback as a failed callback
- Add a Qstrdup
- Fix a memory leak in cl_slists.c
2001-08-29 09:14:18 +00:00
Adam Olsen
f423b8a8e0 Preliminary Qalloc implimentation. Not yet used. 2001-08-29 04:52:03 +00:00
Bill Currie
aa3442f8b0 rearange the % calc to avoid float (and an ICE in gcc 3) 2001-08-29 01:20:30 +00:00
Ragnvald Maartmann-Moe IV
dbae10f979 whitespace. grr. 2001-08-28 23:58:22 +00:00
Adam Olsen
ff0cffde48 - my proof-of-concept mmapped cache code, currently disabled via ifdef
- also added a cache_profile command, which sorts allocations into
  power-of-2 sizes, then prints out how many are of that size, the
  average amount they use, and the percent of total memory is used.
  Also prints out totally allocated size, number of allocations, and
  average per allocation.
2001-08-28 23:26:58 +00:00
Bill Currie
ff2b08b2fd make the Z_Malloc zone checking depend on developer 2001-08-28 06:15:58 +00:00
Bill Currie
13ecebd6a0 make Z_Malloc and friends more useful by allowing multiple zones 2001-08-28 05:21:30 +00:00
Bill Currie
2f9fd74a31 zone.c gets its name back 2001-08-28 04:24:40 +00:00
Adam Olsen
cad42cbc78 Put the sound renderer in it's proper place: as a full-fledged plugin.
Bugs expected.  Please report them :)
2001-08-23 04:01:46 +00:00
Ragnvald Maartmann-Moe IV
edcf092b05 Whitespace, dammit. Oh, and removal of several orphaned comments. Comments in front of functions suck. 2001-08-22 22:03:16 +00:00
Bill Currie
9c43a43bb3 must make sure *gzfile gets nulled on error 2001-08-21 02:44:45 +00:00
Adam Olsen
d430cdcbff My updir patch from long ago. Prevents opening any files with an
updir in their filename.
2001-08-21 00:06:22 +00:00
Bill Currie
9ee3450265 extend the hash api to more easily support general cases 2001-08-16 02:51:53 +00:00
Zephaniah E. Hull
8f011f91ec Length is now a #define, not a bloody function! 2001-08-15 23:01:56 +00:00
Jeff Teunissen
2d84e89432 whitespace. 2001-08-15 22:38:11 +00:00
Bill Currie
9ecce9becd remove a magic number 2001-08-15 15:32:24 +00:00
Bill Currie
5dc827ccf8 comment brein damage 2001-08-15 07:50:21 +00:00
Ragnvald Maartmann-Moe IV
637bdea058 Fix indent comment dementia. 2001-08-12 17:45:55 +00:00
Bill Currie
647d38fa40 Make R_MarkLights use the vis info to speed things up. Oddly, even though
R_MarkLights is now about 3% instead of about 15%, I've lost 8 fps on my
null GL speed test. However, R_AddDynamicLights has jumped up a bit, so I'm
wording if maybe more surfaces are being lit.
2001-08-05 04:01:45 +00:00
Bill Currie
874a2c6716 don't include malloc.h 2001-08-05 03:13:08 +00:00
Bill Currie
4c23641759 print line and char number for the error 2001-08-02 02:49:14 +00:00
Bill Currie
8fa4bff0c4 _ is legal in an unquoted string and make PL_ObjectForKey return the correct
value
2001-08-01 16:07:39 +00:00
Bill Currie
2a96ffb19b fix a couple of warnings 2001-08-01 07:05:28 +00:00
Jeff Teunissen
76385372f3 plist updates; PL_GetPropertyList now calls Sys_Error() on plist errors. 2001-08-01 07:03:46 +00:00
Bill Currie
22339b712d create fs_userdir if it's not "." rather than not FS_USERPATH 2001-07-31 21:52:52 +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
Adam Olsen
0219bcb4c8 Make the help command work with commands too. (moved to cmd.c while I
was at it)
2001-07-30 01:01:39 +00:00
Bill Currie
75f3f27a22 fix a silly mistake that caused configs not to be written 2001-07-24 03:22:54 +00:00
Bill Currie
d6f82b6370 make Qwrite's buffer pointer const. 2001-07-22 18:38:59 +00:00
Bill Currie
46176e1094 azerty kb patch from Filip Van Raemdonck <mechanix@digibel.org>. includes some
misc fixes, too
2001-07-19 21:46:34 +00:00
Bill Currie
ffd459c931 allow for total subversion of the fs code by utilities (or crazy users).
About the only thing that remains in effect is gzip support (not even paks
are searched).
2001-07-17 22:10:20 +00:00
Bill Currie
1c9e1b176f fear the mighty const correct patch 2001-07-15 07:04:17 +00:00
Bill Currie
f4976e8133 more const correctness 2001-07-14 23:50:18 +00:00
Bill Currie
ecff96258f cmd.[ch]:
api change: Cmd_Args () now takes a parameter inidcating which arg to
	start at for grabbing the un-parsed command line
qw/source/sv_ccmds.c:
	implement kk's tell command and user name matching (though # is used for
	the wildcard and it's still case sensitive)
everything else:
	adjust for the new Cmd_Args protype
2001-07-10 18:25:54 +00:00
Bill Currie
9aeef3f3d6 rename qfont_table to sys_char_map and make it global (and constant) 2001-07-10 15:59:25 +00:00
Bill Currie
0242c0352d break the endian neutral file io out from qendian.c so qfcc can remain
independent of libz
2001-07-09 20:56:05 +00:00
Bill Currie
124dff1bd6 rework alias creation/deletion. Aliases are now sorted (like cvars and
commands), and the alias name length limit has been removed.
2001-07-06 17:45:32 +00:00
Bill Currie
6cda415f06 slight api change: Hash_Del now returns a pointer to the element deleted, or
null if the element was not found, rather than 0 and -1 respectively.
2001-07-06 17:43:47 +00:00
Bill Currie
6f022f5d9f well, that was interesting: turns out mingw provides mprotect and
getpagesize :/
2001-07-05 18:47:19 +00:00
Bill Currie
c38ca8e2f1 qfplist.h:
remove include of glob.h. not needed and causes win32 build to fail
plugin.c:
	include compat.h and cast the return of GetProcAddress
gl_funcs.c:
	fix parse error and type mismatch
qfgl_ext.c:
	half re-write QFGL_ExtensionAddress to use QFGL_ProcAddress
vid_wgl.c:
	fix for the new gl linking
2001-07-05 17:28:19 +00:00
Bill Currie
2e5b3b4a83 damn 2001-07-05 06:31:05 +00:00
Bill Currie
0862c8facd I'ld love to know how that got though my testing :/ 2001-07-05 06:29:53 +00:00
Bill Currie
e5e289e994 this brings back knghtbrd's Sys_Printf redirection, but in such a way that
Sys_Printf still has the format attribute. To redirect Sys_Printf, declare the
redrecting function as void (const char *, va_list) and call Sys_SetPrintf
with this function as its parameter.
2001-07-05 04:59:43 +00:00
Bill Currie
b4ac2446a1 Put knghtbrd's sys cleanup changes back in, but with Sys_MakeCodeWriteable
in sys/util.c rather than limbo (the crux of the problem that caused the
previous reversal). I'll look into his Sys_Printf changes next.
2001-07-05 03:28:40 +00:00
Bill Currie
e659c2a44f revert kntbrds recent sys changes as they break sw static builds 2001-07-05 00:12:43 +00:00
Joseph Carter
eb71edb5d4 taniwha, please have a look at this to make sure I'm doing it the "right"
way..  Sys_Printf is now Sys_StdPrintf for now.  Sys_Printf is a function
pointer and will end up replacing Con_Printf as well.  Names will change
to something intelligent when I'm done.  Win32 is not yet touched, but I
haven't forgotten it.

The reason for this is the assumption that Con_Printf and Sys_Printf do
not overlap.  The new server console WILL change that, requiring that we
change how we handle both functions.  The plan:  Default to using stubs
and swap them for full-featured functions on Console init which do all
the things we expect.  Will also do a stderr version later.
2001-07-02 18:11:34 +00:00
Bill Currie
c350bb2b1b a slight oopsie on the location of WriteFloat and friends :P plus nq is now
endian/size clean.
2001-06-29 06:50:29 +00:00
Bill Currie
443196e66b very nice command line tab completeion from Shawn Walker
<eviltypeguy@qeradiant.com>
2001-06-28 04:05:14 +00:00
Jeff Teunissen
76e28aeaaa Portability fixes. plugin.c will, in all likelihood, work on Windows now. 2001-06-27 08:34:48 +00:00
Zephaniah E. Hull
908d265212 Clean up and repair of the run time linking, does NOT work until deek
commits his gl_funcs.c.
2001-06-26 02:26:46 +00:00
Jeff Teunissen
c0915106e3 Even more correctness fixes. 2001-06-19 02:29:41 +00:00
Jeff Teunissen
5111376b46 Correctness fixes, some whitespace. 2001-06-19 02:26:19 +00:00
Jeff Teunissen
118645fd51 Property list updates. Objects of type QFDictionary are now hash tables
(and thus have a new simpler PL_ObjectForKey() function to get a value for
a key). Also, you can now call PL_FreeItem() on a plitem_t to free a
property list item and all of its descendants (if it has any).

Binary plist values are still not supported.
2001-06-19 02:10:47 +00:00
Bill Currie
3a94567913 Make Hash_FlushTable loop safe and correct the copyright notices 2001-06-19 02:01:18 +00:00
Bill Currie
8c13809e9c don't process .S files when not using asm (either --disable-asmopt or non-x86
platforms). Done by moving the asm objects into libasm.la (yes, there's one in
each dir that needs it) so that the Makefiles don't explode.
2001-06-14 19:52:38 +00:00
Bill Currie
f4969d5d67 add some docs for the hash table api and move the include of stdlib.h to
hash.c (no longer needed in hash.h).
2001-06-11 19:37:25 +00:00
Bill Currie
75fbb80b96 make the hash table types opaque 2001-06-11 19:17:40 +00:00
Bill Currie
2fa5437303 correct a comment 2001-06-07 17:11:34 +00:00
Bill Currie
22f465dabe use field_offset to hide the nastyness 2001-06-06 16:10:28 +00:00