Bill Currie
4cab5b90e6
new cache allocation scheme. still a couple warts, but at least now there's something to work with, and more importantly, there won't be cache movement anywhere near as often.
2007-03-28 13:09:49 +00:00
Bill Currie
e5b972529b
take a chainsaw to the existing code, cleaning out anything that's obviously unnecessary. preparation for the cache re-write
2007-03-28 09:52:01 +00:00
Bill Currie
fd8f530656
make valgrind stop crying wolf
2007-03-26 09:06:50 +00:00
Bill Currie
58112a6407
fix a couple of missed VISIBLE tags
2007-03-24 12:28:47 +00:00
Bill Currie
02c41feabc
make gamedir change a two phase operation so things can be done both before and after the cache is flushed. (still having problems with cached sounds, though)
2007-03-24 10:13:10 +00:00
Bill Currie
7add93e3ce
forgot to make Cache_ReadLock visible
2007-03-23 14:22:59 +00:00
Bill Currie
818756ace5
add a debug function
2007-03-23 12:36:55 +00:00
Bill Currie
81a57bb3fa
patch from phrosty for vc2005 support. includes fixes for a bunch of gcc-isms that crept in over the years.
2007-03-22 23:20:57 +00:00
Bill Currie
2d6f8c6501
compress // to /
2007-03-21 13:05:23 +00:00
Bill Currie
20b8dced56
cleanup the shutdown list in a manner that won't cause problems in a nested shutdown
2007-03-21 09:33:46 +00:00
Brian Koropoff
0c237ccc08
Allow cbuf interpreter to handle completion finding. Enhance completion logic a bit.
2007-03-20 21:31:07 +00:00
Brian Koropoff
b6e52faea8
Avoid duplicate entries when enumerating a directory
2007-03-20 05:55:29 +00:00
Brian Koropoff
c3e8b5de3d
Add naive QFS_IsDirectory and QFS_FilelistEnumerate until more intelligent pak handling is added
2007-03-19 10:43:29 +00:00
Bill Currie
a3ceb050a2
be a little more verbose
2007-03-18 12:53:59 +00:00
Bill Currie
b320778b92
hmm, how did that happen? ah well
2007-03-18 10:42:16 +00:00
Brian Koropoff
25fdbdab58
More C++ compatibility fixes
2007-03-18 07:12:45 +00:00
Brian Koropoff
39d8a90336
Allow interpreter providers for the console to be registered and allow on-the-fly interpreter switching.
2007-03-18 03:48:09 +00:00
Bill Currie
e74a8a7c62
make the param names agree with the header file
2007-03-18 02:27:33 +00:00
Bill Currie
99c0954b47
the big dso visibility patch :). Sure, we have to have unique names for static builds, but with controlled visibitly we should get faster program loads (although this isn't C++, so it's not as bad) and complex plugins are cleaner.
2007-03-10 12:00:59 +00:00
Bill Currie
99e05d2188
warning cleanup patch from raorn
2007-01-06 21:31:03 +00:00
Bill Currie
70ec9848e7
add PL_RemoveObjectForKey and make PL_D_AddObject take a normal C string for key instead of a pl string.
2006-12-09 06:00:36 +00:00
Bill Currie
9cbac0bbc1
add array item removal
2006-12-09 02:33:08 +00:00
Bill Currie
71841fe109
be a little noisier about plugin load failure
2006-12-01 07:30:44 +00:00
Bill Currie
120bd66ccc
fix a bug found by halakar
2006-07-23 01:33:54 +00:00
Bill Currie
88543d6e86
add Qfopen: basicly wrap a QFile around an existing FILE. gzip is NOT supported
2006-05-24 11:17:18 +00:00
Bill Currie
bb852eba75
fix a braino that causes args to /not/ get saved
2005-10-23 22:00:45 +00:00
Bill Currie
87cc09233c
"long" audit. can't use long when we want 32 bits. May be a few more cases.
2005-10-23 13:19:21 +00:00
Bill Currie
66e203b16b
multi-dir patch for fs_sharepath from "Alexey I.Froloff" <raorn@altlinux.ru>
2005-09-06 11:39:32 +00:00
Bill Currie
3fb03fc2be
hah, should have been using __attribute__((used)) all that time (rather
...
than __attribute__((unused))). fixes the missing console in -x11
2005-08-04 15:27:09 +00:00
Bill Currie
ddae3850e8
qf now, for the first time in history, fully passes "make distcheck"
2005-07-16 03:46:11 +00:00
Bill Currie
501180aaac
gcc-4.0 fixes. even found some bugs :) (names /not/ mangled this time)
2005-06-08 06:35:48 +00:00
Bill Currie
addb57bfb3
plug some memory leaks
2005-05-05 22:50:09 +00:00
Bill Currie
63d787d9e9
add MSG_WriteUTF8 and MSG_ReadUTF8 to handle 31 bit values nicely for
...
future protocol extensions. Equivalent to MSG_*Byte or MSG_*Char. Use
MSG_ReadString and MSG_WriteString with the appropriate libc functions for
utf8 strings.
2005-05-05 00:27:04 +00:00
Bill Currie
925ea16e1d
we get to "spawn". whee. not long now and I'll have to work on the client
...
side :)
2005-05-02 09:00:17 +00:00
Bill Currie
cd2f9434fc
proxy now stays connected :) also gets the server data packet. most changes
...
due to move of pmove.h
2005-05-02 04:09:15 +00:00
Bill Currie
3ff740d4f5
oops, committed debug stuff by mistake
2005-04-26 23:40:19 +00:00
Ragnvald Maartmann-Moe IV
62a0919472
Revert broken gcc4 cleanups.
2005-04-11 20:59:03 +00:00
Bill Currie
76649e674e
Fix a buffer overflow in Cmd_Alias_f caused by weird quoting. Not sure if
...
the resulting alias will work as expected wrt id's command parsing, but
that's another issue :)
2005-03-28 04:35:22 +00:00
Bill Currie
b7def83d19
patch from raorn ("Alexey I. Froloff" <sir_raorn@immo.ru>) to fix
...
interaction between -hipnotic (etc) and -game
2005-02-14 09:08:32 +00:00
Ragnvald Maartmann-Moe IV
b59f366684
First few files of signedness cleanup for GCC 4.0.
2005-02-10 22:03:16 +00:00
Bill Currie
d63e7b609e
net_socket must be "int" for sane systems
2005-01-26 01:19:36 +00:00
Bill Currie
23f71485d1
more tree recovering. This includes Despair's anisotropy support work.
2005-01-02 14:23:20 +00:00
Bill Currie
2488465bc9
resurrect Z_Print.
...
This is an imperfect revision of history.
2004-11-14 00:49:00 +00:00
Bill Currie
aadf6ebf6a
"finish" qfplist
...
This is an imperfect revision of history.
2004-11-11 11:18:00 +00:00
Bill Currie
0bfac8dd88
win32 compile fixes
...
This is an imperfect revision of history.
2004-11-06 02:21:00 +00:00
Bill Currie
9a5cce7c14
hash.h: update the description of FindList quakefs.c: didn't need va there
...
This is an imperfect revision of history.
2004-11-02 07:39:00 +00:00
Bill Currie
6625d38a05
set the disksize of the wad entry
...
This is an imperfect revision of history.
2004-11-02 05:15:00 +00:00
Bill Currie
25484f415b
move the script parser from qfbsp into libQFutil and correct a spelling error
...
This is an imperfect revision of history.
2004-11-02 05:05:00 +00:00
Bill Currie
986dae9ec9
as discussed with fuh, hide the endian dependency of the checksum calcs
...
(evil way of using md4, but oh well).
2004-05-16 23:17:51 +00:00
Bill Currie
d25f2c87ea
path is long dead. oops. thanks, Silh
2004-05-16 23:13:06 +00:00
Bill Currie
67f913289c
move wad_extract into the wad utility and make QFS_CreatePath more
...
generally usable
2004-05-09 22:58:37 +00:00
Bill Currie
2d671955fb
fix an oopsie that broke skyboxlist (early morning paper routes are bad for
...
coding:)
2004-04-23 22:53:39 +00:00
Bill Currie
616be68bdd
strip parameter to QFS_FilelistFill and add rua support
2004-04-20 22:52:09 +00:00
Bill Currie
e8f9761d33
move the filelist building code into quakefs
2004-04-20 22:25:52 +00:00
Bill Currie
31b867a08e
rework contains_updir to allow a specified number of ..s. QFS_FOpenFile now
...
allows one .. in the path (won't be able to find any files in a pak file
and is horribly inefficient, but oh well)
2004-04-14 02:15:14 +00:00
Bill Currie
1bf13a27b9
QFS_Open more secure and simplify contains_updir
2004-04-13 04:42:12 +00:00
Bill Currie
1fb50d2f08
don't create the path in QFS_Open if not writing
2004-04-13 03:38:16 +00:00
Bill Currie
4c4f40f137
fix a few bugs. basics seem to be working
2004-04-08 05:13:24 +00:00
Bill Currie
39685d0c63
more readability and add the quaternion functions
2004-04-07 18:01:45 +00:00
Bill Currie
49f8787450
fix up some accidental asm compilation when it's not wanted
2004-04-04 05:34:20 +00:00
Chris Ison
5dcdd2c194
fixed stalls and mis-placed rocket which was seen only in the cygwin->mingw32 builds, also removed redundant stdin_ready code and forcing of timeout setting for win32 build
2004-03-26 02:52:47 +00:00
Bill Currie
142127f89d
even better, use seta (new command) instead so config.cfg automaticly sets
...
the archive bit
2004-03-18 05:58:06 +00:00
Bill Currie
0c82006bd8
all archived cvars now get written to the config file prefixed with set
2004-03-18 05:45:45 +00:00
Bill Currie
7f3d5164e6
fix Qgets for when zlib isn't available
2004-02-29 07:12:05 +00:00
Bill Currie
e5ae0b4979
needed EXPORT in both ends if the #if/#else/#endif
2004-02-18 03:19:57 +00:00
Bill Currie
d1904fe7c4
hopefully fix nq segging on windows
2004-02-14 08:05:54 +00:00
Bill Currie
893d3ec290
hash.[ch]:
...
add Hash_NumElements to get the number of elements in the hash table
qfplist.[ch]:
add PL_A_NumObjects and PL_D_NumKeys, to get the number of objects or
number of keys in the array or dictionary, respectively
2004-02-07 07:47:23 +00:00
Bill Currie
9784ba5954
Grievre's gamedir callback patch to fix mangled sounds on gamedir change
...
plus a couple minor tweaks I notcied needed doing.
2004-02-03 03:01:06 +00:00
Timothy C. McGrath
74404b229d
Another patch from Grievre, this prevents a bad ogg tracklist.cfg from crashing
...
the game, since that event is already handled correctly.
Timothy C. McGrath
(Hikaru)
2004-01-28 10:25:49 +00:00
Chris Ison
47f16678ab
win32 server console now works
2004-01-22 03:43:09 +00:00
Bill Currie
db32c8394b
export BoxOnPlaneSide properly in windows so it doesn't cause a segfault
2004-01-22 02:26:08 +00:00
Bill Currie
19ef80c555
this should fix static win32 builds
2004-01-21 00:15:35 +00:00
Bill Currie
6d02004ca8
Mike Gorchak's <mike@malva.ua> second (final for now:) QNX patch. renames
...
msg_t to qmsg_t.
2004-01-20 06:11:00 +00:00
Bill Currie
283d49bd8e
first chunk of Mike Gorchak's <mike@malva.ua> QNX patches
2004-01-20 05:57:39 +00:00
Bill Currie
e154c9add5
be consistent with WIN32 and _WIN32 (now all _WIN32)
2004-01-20 03:47:27 +00:00
Bill Currie
77b2942982
several libs can now get built as dlls in windows: console, gamecode,
...
gamecode_builtins, gib, image, modules, object, ruamoko and util.
2004-01-19 07:47:41 +00:00
Bill Currie
629e22aa61
fix a buffer overflow and an underflow
2004-01-17 05:11:34 +00:00
Bill Currie
31d970aca0
can now dump a map's textures to a wad file (name currently based on bsp
...
file name (eg, foo.bsp -> foo.wad)
2004-01-15 07:16:44 +00:00
Bill Currie
2a399cc4b4
Sys_PathType has been unnecessary for a while so nuke it
2004-01-13 21:30:13 +00:00
Bill Currie
28082f30f5
support compressed wads (.wad.gz) and read the lump count correctly
2004-01-13 06:39:50 +00:00
Bill Currie
15870757e4
oops, forgot the ~. fixes wildcode's lockup and should fix rxr's
2004-01-12 06:38:59 +00:00
Chris Ison
0d755a0dd6
dirent.c and dirent.h brought in from cygwin for win32 builds
2004-01-12 02:23:36 +00:00
Bill Currie
44b38c5cb7
add a wad tool along the lines of pak. can't yet be used for wad creation
...
(that's a little more complicated), but it can be used for listing and
extracting the contents of a wad file. watch out for *foo :)
2004-01-10 08:05:25 +00:00
Bill Currie
4371c841ac
more consistency fixes
2004-01-10 06:11:41 +00:00
Bill Currie
03a24be4de
partial work on wad file access cleanup in preparation of making a wad
...
utility
2004-01-09 23:34:32 +00:00
Bill Currie
1e20043bf3
remove some debug prints
2004-01-09 22:28:02 +00:00
Bill Currie
16f0a54a84
fix some inconsistencies pointed out by doxygen
2004-01-07 20:06:15 +00:00
Bill Currie
6c447b4b75
fix more string ownership issues
2004-01-07 08:54:00 +00:00
Jeff Teunissen
be895da8da
oops. :)
2004-01-07 08:02:09 +00:00
Jeff Teunissen
eb6b179add
plist functions that add objects return qboolean, not int. Also doc fixes.
2004-01-07 07:01:31 +00:00
Bill Currie
efd6ccff02
close a nasty hole in the gamedir code
2004-01-07 06:40:10 +00:00
Bill Currie
9c92a916ff
change the dict and array add functions to return true/false and add some
...
more docs
2004-01-07 06:19:11 +00:00
Bill Currie
e8fb5ba83b
remove the FIXMEs. plist takes ownership of the item
2004-01-07 05:35:06 +00:00
Jeff Teunissen
d1b4c5df72
Change PL_D_AddObject() so that it replaces values instead of stacking them.
...
Add PL_D_AllKeys(), which returns a list of all keys in a dictionary.
Rename PL_FreeItem() to PL_Free() -- what was I smoking?
Document some of the property list system for doxygen.
2004-01-06 11:09:40 +00:00
Jeff Teunissen
91fdd90674
one-line whitespace, didn't look too hard at the rest though. :)
2004-01-06 11:05:34 +00:00
Bill Currie
462d726d14
better memory management for hash tables
2004-01-06 08:40:21 +00:00
Bill Currie
ea552ae68e
expand ~ for fs_dirconf
2004-01-06 07:33:19 +00:00
Bill Currie
dfe7f263c7
new internal printf engine for progs, mostly thanks to Deek.
...
also a few cleanup bits
2004-01-04 07:42:43 +00:00
Bill Currie
40b8974c33
better external skin handling from Grievre
2003-12-28 05:25:06 +00:00
Bill Currie
5eff81b005
dstrings now have individual memory management functions
2003-12-22 23:35:22 +00:00
Bill Currie
e53967b346
--disable-static now works (thanks for the heads-up, raorn)
2003-12-22 20:51:08 +00:00
Brian Koropoff
7598ab35fb
Move the QF object system into it's own library, fix up the standard
...
classes.
2003-12-07 04:50:46 +00:00
Brian Koropoff
a0b8566337
Add the instanceOf() macro and supporting function, and try to fix
...
gcc 2.95 support again.
2003-11-29 23:09:50 +00:00
Brian Koropoff
55181621bd
First commit of an experimental low-level object system. At some point
...
GIB will be reworked to use it, and hopefully Rua will also so that the
two languages can share objects, events, etc.
Warning: This uses quite a few hacks and tortured macros, it might cause
breakage.
2003-11-29 04:40:25 +00:00
Bill Currie
cb7ecd9f26
make certain Cmd_ExecuteString calls the command system with an active cbuf
2003-11-25 02:47:05 +00:00
Bill Currie
cd8035319d
PR_GetString should have been returning const char *. now does
2003-11-21 21:34:53 +00:00
Bill Currie
b3c6e763cd
allow cbufs to have a callback for unknown commands. if the callback
...
returns non-zero the unknown command is assumed to have been handled and no
error is reported
2003-11-20 07:02:14 +00:00
Bill Currie
481c9c4e8d
add Sys_TimeOfDay from QWE (HighlandeR)
2003-11-20 07:00:07 +00:00
Brian Koropoff
687a0845b6
Introducing the GIB Object System (TM). This breaks scriptable HUD for now
...
and probably has enough bugs to leave the Orkin man scratching his head,
but it works and allows you to do neat things like write classes in GIB
(amazing!) and subclass builtin classes (which are Object and Thread at the
moment, Hash should be coming soon as a replacement for stem and leaf
variables).
2003-09-11 06:03:13 +00:00
Bill Currie
1ed772a933
convert \ to / while extracting and accecpt file names on the command line
...
to control extraction.
2003-09-10 20:48:59 +00:00
Bill Currie
9cd2d366ed
dstring.h:
...
document the functions (for doxygen)
dstring.c:
fix a bunch of potential buffer overflows
2003-09-04 17:17:38 +00:00
Bill Currie
e0866a5e41
make the escape attempt notification a developer print
2003-09-02 04:57:44 +00:00
Bill Currie
323a6182fd
move pcx.c and tga.c out of libQFutil and into libQFimage with the hopes
...
for more image formats :)
2003-08-15 16:19:10 +00:00
Bill Currie
0a0f8d0cfa
make a LoadBSPMem function so bsp files can be read from already loaded
...
images
2003-08-11 22:40:46 +00:00
Bill Currie
7fe0962bac
we /do/ want full precision from Sys_DoubleTime :P
2003-08-11 22:39:07 +00:00
Bill Currie
7ead5a91f8
don't let gcc automaticly inline functions but make gcc inline bigger
...
functions when told to. also make gcc warn if it can't inline a function.
Explicitly inline several functions (including moving VectorNormalize to
mathlib.h so it /can/ be) resulting in a 5.5% speedup for spam2 (88 to 92
fps)
2003-08-11 06:05:07 +00:00
Bill Currie
6a94607d9d
rename VectorMA to VectorMultAdd, add VectorMultSub and use it in a few
...
places. Not certain how much speed difference it makes :/
2003-08-08 15:25:53 +00:00
Bill Currie
ada828bdc9
remove a whole swath of potential buffer overflows by removing the buffer.
...
Also audit a few of the "FIXME: overflow" tags
2003-08-05 01:45:52 +00:00
Bill Currie
aa4d1f5c90
be sure to clear com_token when end of file is hit
2003-07-27 21:45:53 +00:00
Bill Currie
01594e239e
don't want that QF in the plugin dll name. doesn't get built that way (if
...
dlls got built in the first place:/) and way too much hassle to get it
there
2003-07-23 19:51:32 +00:00
Bill Currie
6ee38af0be
put in a comment about mprotect and getpagesize
2003-07-21 22:24:28 +00:00
Bill Currie
abedda69b6
if a system with mprotect doesn't have getpagesize, the assumption is that
...
mprotect doesn't care about page alignment (eg, QNX)
2003-07-21 20:55:13 +00:00
Bill Currie
ff6e0ab1b3
not all systems have _SC_PAGESIZE
2003-07-21 20:51:03 +00:00
Bill Currie
2d55162a05
implement memcpy version of VA_COPY correctly
2003-07-21 19:26:53 +00:00
Ragnvald Maartmann-Moe IV
810dfb29e6
Use sysconf() by default instead of getpagesize(). getpagesize() still used if
...
sysconf() not present. Since getpagesize is deprecated, it's only used as a
fallback.
2003-07-18 12:18:05 +00:00
Brian Koropoff
9b63402f12
Added llist.[ch], a set of general-purpose linked list routines. Added
...
cl_chat.[ch] to qw to hold advanced chat features, the first of which is
the ability to ignore chat messages from annoying players. Some polishing
in this area still remains, but the current implementation seems to work.
2003-07-18 06:27:26 +00:00
Bill Currie
1f948c4206
magic numbers evil
2003-07-17 21:45:01 +00:00
Bill Currie
b36bd6a98c
not all systems (eg, QNX) that have mprotect have getpagesize
2003-07-17 21:01:25 +00:00
Bill Currie
a06c4e1708
fix an improperly stringed file found by DrSpliff
2003-07-17 18:40:53 +00:00
Bill Currie
dfa16742e2
fix some silly bugs (sizeof (char*) :P)
2003-07-09 15:38:19 +00:00
Bill Currie
855fc53709
handle alloca properly
2003-07-09 06:28:09 +00:00
Bill Currie
84e071d235
fix an incorrect usage of HAVE_* that finally bit my bum
2003-07-09 04:21:45 +00:00
Bill Currie
4f66e1e9da
fix a bunch of the previous FIXMEs. needs a bit more work for win32
...
compiling
2003-07-08 22:39:45 +00:00
Bill Currie
dddf045221
put "FIXME: overflow" on all the char arrays I could find that weren't
...
obviously safe
2003-07-08 20:11:10 +00:00
Bill Currie
011fe7babb
make sure the trimmed info key value gets terminated properly
2003-07-08 17:26:50 +00:00
Bill Currie
1d32ff04e6
fix missing params for VA_COPY pointed out by Dalibor Topic
...
<robilad@yahoo.com>
2003-06-25 15:22:39 +00:00
Bill Currie
f22bdfc23f
d'oh, forgot to update the format
2003-06-06 15:47:12 +00:00
Bill Currie
8d470d2b49
don't use qfs_gamedir->* in QFS_NextFilename as it gets passed that in the
...
template (and shouldn't assume where to put the file anyway:). fixes the
all screenshots saves sas qf0000.tga bug.
2003-06-06 15:44:13 +00:00
Ragnvald Maartmann-Moe IV
c6b6c7926f
Fix one bug, but doesn't fix all screenshots being saved to qf0000.tga...
2003-06-06 12:35:52 +00:00
Bill Currie
191a7f61bc
win32 compile fixes
2003-06-05 17:56:09 +00:00
Bill Currie
ce9ddfd186
win32 fix
2003-06-05 17:51:49 +00:00
Bill Currie
58c9203adc
openbsd compile fix from nano
2003-06-05 16:08:10 +00:00
Bill Currie
f061c47242
make QFS_CreatePath work again and remove some old code from QFS_WriteFile
2003-05-30 01:44:39 +00:00
Bill Currie
00abd17dd4
dstring.[ch]:
...
add dstring_copysubstr and make all the substr functions use strnlen
for the incoming string. also fix the append string functions to append
the present string correctly.
cbuf.c:
use dstring_copystr instead of dstring_clearstr/dstring_appendstr
idparse.c:
use dstring_copysubstr instead of dstring_clearstr/dstring_insert
2003-05-26 19:14:18 +00:00
Brian Koropoff
9602d6c88d
Fixed an interesting crash that occured when a recycled idparse cbuf was
...
given to GIB when it pushed the cbuf stack.
2003-05-26 05:07:21 +00:00
Brian Koropoff
3aecdcf42c
Added a temporary hack to make ~/.quakeforgerc work again.
2003-05-25 05:40:25 +00:00
Bill Currie
c2c3a62956
nuke Qexpand_squiggle. instead, expand ~ to $HOME on qfs initialization and
...
cache the value.
don't call Qopen directly in the engine. instead call QFS_Open (generic) or
QFS_WOpen (write only, zip flag).
rework QFS_NextFilename to use a dstring (avoiding a potential buffer
overflow), support 10000 files and work from the top-level fs_userpath
directory. adjust QFS_WriteFile and QFS_WriteBuffers etc to suit.
make sw32 screenshots actually get written.
hopefully everything gets written to the right places :)
2003-05-23 17:17:01 +00:00
Bill Currie
b5a960c57b
fix nq's gamedir handling for the -hipnotic etc shortcuts
2003-05-09 21:10:59 +00:00
Bill Currie
5f3573143a
the beginnings of a jihad against buffer overflows
2003-05-08 23:24:02 +00:00
Bill Currie
be0b3867c7
add dstring_copy and dstring_copystr to make dstring init easier
2003-05-08 23:05:39 +00:00
Bill Currie
09f3f1ea26
mindHog's plugin global symbol handling patch so his python plugin can work
...
(reloads the plugin with RTLD_GLOBAL if the plugin requests it).
2003-04-30 02:14:44 +00:00
Bill Currie
3418e904a4
mindHog's fix for RemoveCommand being totally borked (oops:)
2003-04-25 03:06:34 +00:00
Bill Currie
b43651685a
fix a buffer overrun issue with -game
2003-04-21 04:49:02 +00:00
Bill Currie
a8d171ec40
replace a warped wheel with a strdup wheel ;)
2003-04-21 04:02:58 +00:00
Bill Currie
64d5e4e053
mindHog's (mindhog@mindhog.net) plugin command patch
2003-04-17 15:18:16 +00:00
Bill Currie
eb099ae0d3
make qf gcc 3.3 clean
2003-04-17 00:01:48 +00:00
Bill Currie
589c3e4e49
get nq-server working properly
2003-04-16 05:06:19 +00:00
Bill Currie
f55bac4c06
fix nq-servers non-curses console input so it actually works
2003-04-16 04:07:55 +00:00
Bill Currie
0421c33b85
make sure the cbuf is usable when text gets added
2003-04-15 19:40:46 +00:00
Brian Koropoff
63c3038ad8
Added the useful dstring_freeze function to convert a dstring to a
...
finalized, plain C string.
2003-04-13 05:48:28 +00:00
Bill Currie
5be73df678
temporary fix to handle wav files in a pak file
2003-04-11 18:28:26 +00:00
Brian Koropoff
f287e78030
Optimized the way resetting buffer states occurs and fixed thread::kill so
...
threads actually die as they are supposed to.
2003-04-11 05:58:58 +00:00
Bill Currie
e5a23c95dc
make riff.c portable
2003-04-10 22:52:58 +00:00
Bill Currie
722c55391e
read fmt chunks properly
2003-04-10 22:03:55 +00:00
Bill Currie
5e98c762ed
riff namespace cleanup (sorta, it's ugly:/)
2003-04-10 21:45:12 +00:00
Bill Currie
c58dac3ccf
don't actually read the main `data' chunks; only refer to them by location.
...
allows support for huge wav files (eg, cdda.wav)
2003-04-10 21:34:51 +00:00
Bill Currie
e1b779502a
but the third castle stood!
2003-04-10 21:18:53 +00:00
Bill Currie
0045ab7c09
implement Qungetc and nuke Qgetpos and Qsetpos
2003-04-10 21:11:40 +00:00
Bill Currie
e937fecdc1
move the riff reading code into libQFutil
2003-04-10 16:52:39 +00:00
Bill Currie
39886ebb18
handle short files more robustly
2003-04-10 16:11:09 +00:00
Bill Currie
b80357afda
change _FOpenFile to take a dstring for foundname plugging a potential
...
buffer overflow.
2003-04-09 05:55:41 +00:00
Bill Currie
d4a4cde83c
fix a buffer overflow (oops, not paying attention)
2003-04-08 02:56:36 +00:00
Bill Currie
d5003f363d
make plist arrays unlimited in size
2003-04-07 19:29:52 +00:00
Bill Currie
bd08b03791
don't assuming 32 bpp in setup_pixrow_span
2003-03-21 22:18:20 +00:00
Ragnvald Maartmann-Moe IV
91bebf1bfa
Don't need LA for greyscale textures, switch to luminance-only.
2003-03-21 22:08:46 +00:00
Bill Currie
16eac174e6
correct the scaling of the 5 bit color map types
2003-03-21 16:18:51 +00:00
Bill Currie
fa775c6e30
oops, missed a case
2003-03-21 06:08:57 +00:00
Bill Currie
7e0ce3d3df
skip over any present colormap for non-colormap types
2003-03-21 06:08:17 +00:00
Bill Currie
3e349ee52c
we now theoreticly support greyscale tga files too :)
2003-03-21 05:03:32 +00:00
Bill Currie
6c850c5528
seriously clean up LoadTGA by using a decoder table and implement colormap
...
support (8 bpp only)
2003-03-21 04:23:16 +00:00
Ragnvald Maartmann-Moe IV
bf18436ad5
Whitespace.
2003-03-21 00:51:57 +00:00
Bill Currie
c525bc4925
call the correct read functions for 32 bit rle expansion
2003-03-20 23:11:58 +00:00
Bill Currie
32257923a5
cleanup unused vars
2003-03-20 23:02:53 +00:00
Bill Currie
b2bc3f13ea
support RLE tga files for all 4 directions
2003-03-20 22:54:44 +00:00
Bill Currie
abdb21eadc
however, don't need read_rgb and read_rgba
2003-03-20 21:25:56 +00:00
Bill Currie
4222c501a0
darn, broke the reverse direction and fixing it produces horrid code
2003-03-20 21:24:04 +00:00
Bill Currie
1a18044b31
merge the forward and reverse blitters/readers using a direction flag which
...
gets optimized out
2003-03-20 21:08:47 +00:00
Bill Currie
a01456f851
allocate space for the texture correctly
2003-03-20 21:08:04 +00:00
Bill Currie
3423ed59d5
expand the plist api to make plist creation easier
2003-03-18 19:15:31 +00:00
Bill Currie
eeb2439eb6
need a specific entry for "qw:qw" since servers set the gamedir to "qw"
...
explicitly
2003-03-13 05:43:45 +00:00
Bill Currie
e105198f48
ensure the path passed to Sys_DebugLog is expanded
2003-03-13 05:41:55 +00:00
Bill Currie
72d1343735
add some comments about the coordinate systems used in AngleVectors
2003-03-10 20:44:50 +00:00
Bill Currie
beecb5580f
use %g instead of %f and the 0s hack
2003-03-03 17:52:11 +00:00
Brian Koropoff
ce80fffe69
Massive bug and memory leak fixing.
2003-02-26 07:44:34 +00:00
Bill Currie
32ed283122
don't need that FIXME
2003-02-25 18:13:56 +00:00
Brian Koropoff
c9fbb334f1
Cleaned up the GIB parser and GIB_Execute() a lot. Made aliases work in
...
GIB. Added some breakpoint GIB builtins for debugging script/intepreter
interactions. Made carne work properly again (local variables don't
disappear in interactive mode)
2003-02-25 06:52:27 +00:00
Ragnvald Maartmann-Moe IV
59c4290563
Fix handling of all non-RLE-compressed tga formats we supposedly support. Now
...
we work even if the first pixel isn't in lower left. ;)
Handling the RLE-compressed oddball cases would require a lot more code
duplication, will brute force that later if nobody beats me to it with a clean
solution.
2003-02-23 17:39:23 +00:00
Bill Currie
c026e61d22
make LittleLong and co defines rather than function pointers
2003-02-22 23:23:16 +00:00
Bill Currie
d93fceea38
fix a snafu in SVC_DirectConnect related to info strings, make
...
Info_ParseString take (and pass on to Info_SetValueForStarKey) a flags arg
and simplify the flags handing in Info_SetValueForStarKey.
2003-02-19 17:39:21 +00:00
Brian Koropoff
7eb2e42a3c
Made QFS_NextFilename use Qexpand_squiggle on fs_userpath so screenshots
...
are saved to sequential filenames correctly. This might be temporary if
taniwha has a better way of handling squiggle expansion in QFS in mind.
2003-02-16 22:43:06 +00:00
Bill Currie
851d203916
work towards a more secure qfs
2003-02-14 22:36:10 +00:00
Bill Currie
6a687f5e45
rename all the globals in quakefs.[ch] to be QFS_* or qfs_*
2003-02-14 19:46:07 +00:00
Brian Koropoff
3c522a83bc
Various cleanups and bugfixes. Added proper line number reporting to
...
errors. A few new builtin functions, such as slice::find and thread::list.
2003-02-14 08:06:01 +00:00
Bill Currie
aaa6c2a2b0
fix some warnings picked up by ia-64
2003-02-12 23:29:16 +00:00
Bill Currie
137b56892f
move menu.dat to its new home :)
2003-02-07 20:18:59 +00:00
Bill Currie
06dc22af3d
make "wait" work again.
2003-02-03 16:05:53 +00:00
Bill Currie
3e693cbce5
change the default of sys_dead_sleep to 0
2003-01-31 04:51:35 +00:00
Brian Koropoff
15687970b3
Fix a braino that caused COM_execute_sets to work improperly.
2003-01-29 22:46:24 +00:00
Brian Koropoff
1f5cabcba9
A few GIB bugfixes, cleanups, and enhancements. Still more to come.
2003-01-29 04:34:23 +00:00
Brian Koropoff
59fbd48a81
Overhauled GIB to parse scripts in advance, among other design and language
...
changes. There still remains some bugs to be squashed, a feature or two to
add, and some polishing to be done. However, it seems to be in a workable
state.
2003-01-28 21:16:21 +00:00
Bill Currie
ba12255550
get the qfs variable substitution more-or-less working
2003-01-27 21:56:30 +00:00
Bill Currie
fd5695eb03
hash.[ch]:
...
add Hash_Free to ease freeing of hash table entries.
quakefs.c:
beginnings of proper variable subtitution in qfs. not yet working but
it compiles.
2003-01-27 18:16:15 +00:00
Bill Currie
55bec57b18
get -game working again (well enough for "nq-x11 -game slide" to work,
...
anwyay:)
2003-01-22 20:00:46 +00:00
Bill Currie
341b6a1d68
this /should/ fix the windows server input problems. based on Timmmm's fix.
2003-01-16 16:11:28 +00:00
Bill Currie
761a7546dd
re-arrange things so __attribute__ and __builtin_expect are properly
...
autoconfiscated so rcsid will continue to work with gcc 3.3
2003-01-15 15:31:36 +00:00
Bill Currie
a4dfef63c3
make all files with rcsid include config.h
2003-01-14 20:18:29 +00:00
Bill Currie
9323f359db
move the default GameCode definitions from qw:* and nq:* to QuakeWorld and
...
Quake as that seems to be a more logical place for them.
2003-01-13 17:32:00 +00:00
Bill Currie
c9204e3237
forgot the path for nq games
2003-01-13 16:46:13 +00:00
Bill Currie
3b9e7db882
fix the skins dowload location issue (not really to my satisfaction, but it
...
will do for now)
2003-01-10 23:07:04 +00:00
Bill Currie
2e0ed3377c
basic (very!) implementation of the new filesystem directory struture code.
...
All the details of game directories will be fully configurable (search
paths and gamecode file name currently supported). Downloading of skins to
qw/skins only currently broken (will download to $gamedir/skins for now).
2003-01-10 22:47:18 +00:00
Bill Currie
71196fedf6
make gcc more anal about prototypes, string constants and function
...
visibility (ie, global functions must have a prototype)
2003-01-06 18:28:13 +00:00
Bill Currie
c85fd3bd56
fix a potential underflow and plug a memory leak
2002-12-18 20:53:49 +00:00
Bill Currie
637de7b687
chage PL_ObjectForKey to take a plitem directly and typecheck the item
2002-12-18 16:09:47 +00:00
Brian Koropoff
f03cc28b7d
Fixed dsvprintf to work with different implementations of vsnprintf.
2002-12-17 22:35:14 +00:00
Brian Koropoff
2c643cde47
Reworked _dvsprintf a bit to make it cleaner and fix a segfault when
...
appending to large strings.
2002-12-15 07:01:50 +00:00
Brian Koropoff
19ac57dafc
Fixed a bug with aliases and updated cb.gib a bit.
2002-12-14 20:34:20 +00:00
Brian Koropoff
714f2ced4c
Fixed several GIB bugs, optimized Cbuf_Execute_Stack a bit, changed QW
...
clients to use a separate buffer for stufftext commands.
2002-12-01 07:22:42 +00:00
Brian Koropoff
d4b1c74866
Added the string::findsub builtin. Added a reset function to the cbuf
...
interpreter struct so that custom cbuf data can be reset after an error.
This fixes a bug where GIB would think it was still waiting for a return
value after an error occurred in an embedded command.
2002-11-16 20:56:04 +00:00
Bill Currie
2ad18a404b
don't double print Sys_Error messages when the print function is still
...
the default
2002-11-14 22:17:25 +00:00
Bill Currie
e544c1247f
fix a clobbered by longjump warning
2002-11-14 15:37:09 +00:00
Brian Koropoff
625e1e36d6
Added Sys_PathType, which reports whether a path is absolute, relative
...
below, or relative above (uses .. to ascend the filesystem). Changed
file functions in GIB to use this. GIB can now be initialized in a
non-sandboxed mode, which at the moment means that GIB scripts run with
carne can access the entire filesystem.
2002-11-14 05:28:54 +00:00
Brian Koropoff
7b0c24a386
Added carne, the stand-alone GIB interpreter. Made a few changes to GIB
...
to accommodate it. Added the strict flag to cbufs, which causes an error
to be generated when a command is not found instead of just warning the
user. GIB buffers have the strict flag set by default.
2002-11-14 02:10:55 +00:00
Bill Currie
836c469737
sys.[ch]:
...
handle SIGFPE and allow the registered signal handler to do recovery
rather than bail
progs.h, pr_exec.c, pr_load.c:
if pr_faultchecks is 1 (0 is default), handle division by 0 gracefully
by loading the maximum representable number into the answer
Closes : #58
the rest:
kill the SIGFPE stuff
2002-11-13 19:26:44 +00:00
Brian Koropoff
cef0d957e2
Added useful error messages to the math parser, cleaned up implied
...
multiplication a bit, and added some whitespace to cbuf errors for
readability.
2002-11-13 03:03:37 +00:00
Bill Currie
5f606a2829
\r terminates a line only if followed by \n or the end of the buffer
2002-11-09 07:58:34 +00:00
Brian Koropoff
b40400d59c
Moved GIB into libs/gib and made util no longer depend on it. Cleaned up
...
some cruft from a previous incarnation of GIB.
2002-11-09 07:13:52 +00:00
Bill Currie
a5ead00f8e
small bit of cleanup
2002-11-08 17:13:23 +00:00
Bill Currie
3d44623b57
change Cmd_Exec_File's api so it can conditionally use normal or quake
...
file system accesses. fixes the map.cfg exec problem
2002-11-08 16:39:28 +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
1a6a9f177d
make error reporting a little saner (hopefully)
2002-10-31 23:00:13 +00:00
Bill Currie
7a195bb910
revert my fs code subversion (2001/07/17 22:10:20 utc commit) as it's no
...
longer necessary with the new progs loading code
2002-10-30 03:35:20 +00:00
Bill Currie
37e2aa8ad5
remove some dead functions
2002-10-30 02:43:23 +00:00
Bill Currie
912db0336e
clean out the cmdlib crap from quakefs.c and nuke qfcc's last dependency
...
on cmdlib.h (and nuke qfcc's cmdlib.h itself:)
2002-10-30 02:31:29 +00:00
Brian Koropoff
99e18513f0
Added support for escape characters of the form \### where ### is the
...
decimal value of the desired character.
2002-10-26 03:09:38 +00:00
Bill Currie
8b46193e4d
seeking to 1 byte before the beginning of the file doesn't seem to be such
...
a good idea
2002-10-24 22:36:15 +00:00
Brian Koropoff
20d47cde2f
Added the global.delete builtin to clean up old global variables. Updated
...
cb.gib to use it.
2002-10-23 03:56:57 +00:00
Brian Koropoff
9fd055e183
A null ifs now causes every character to be considered a separate field in
...
a for loop. You can now pass a field separator string to a for loop that
will override the value of ifs. Added the field.get command that returns
a single field from a list. It also can take a field separator string that
overrides ifs.
2002-10-22 05:34:59 +00:00
Bill Currie
b345f510fa
provide Hash_Buffer so buffers can be hashed
2002-10-20 03:30:22 +00:00
Brian Koropoff
8c2afef44c
Changed GIB_Arg* into macros. Cleaned up GIB file access a bit and added
...
file.move and file.delete builtins. Added Qremove to quakeio.[ch]. Did
a little cleaning and commenting in gib_parse.c. Added support for \t
and \r escape characters.
2002-10-16 04:59:34 +00:00
Bill Currie
68b41f9b44
make dstring_adjust `grow' in increments of 1024. this should speed up
...
multiple appends nicely.
also create davsprintf and dasprintf to /append/ the printed strings to the
dstring rather than overwriting it as is done with dvsprintf and dsprintf.
2002-10-15 19:52:46 +00:00
Brian Koropoff
72e1ab0c57
Added the sleep console command that waits for a specified amount of time.
...
Note that this isn't a GIB-specific command but is very useful in GIB
threads. Fixed the range GIB command to respect the ifs local variable.
2002-10-13 19:46:47 +00:00
Brian Koropoff
70c1fee4c9
Fixed some missing commas that resulted in garbled cbuf error messages.
2002-10-13 19:18:10 +00:00
Brian Koropoff
8b31103e6f
Var substitution is now handled in the same pass as embedded return values.
...
This prevents var substitution from being performed on the return value
of a function. The local variable ifs can now be set to specify a custom
field separator for use in for loops. file.find will also insert ifs
between file names instead of a space if it is set. file.find will also
no longer put . and .. in a list of file names.
2002-10-13 05:52:06 +00:00
Bill Currie
9f7c669370
various win32 compile fixes for the latest mingw (not fully working due to
...
LPCWAVEFORMATEX)
2002-10-11 20:47:17 +00:00
Brian Koropoff
9c4f2d32ca
Add print and print.center GIB commands and fix a nasty bug with threads
...
that could cause a double free.
2002-10-06 04:40:18 +00:00
Bill Currie
ffb90a510a
win32 compile fixes
2002-09-30 16:40:06 +00:00
Bill Currie
979d885776
get Qseek working properly (d'oh) and Qtell (forgot it needed adjusting)
2002-09-27 05:46:30 +00:00
Bill Currie
9d8d570269
using Qseek on a pak sub-file should work better. this should make oggs in
...
paks work.
2002-09-27 04:27:19 +00:00
Bill Currie
c745d2a868
make gzipped oggs explicitly unsupported
2002-09-26 20:57:48 +00:00
Bill Currie
d25ee82838
provide a tighter accuracy (but slower) _VectorNormalize for the tools
2002-09-25 21:35:49 +00:00
Bill Currie
dd5cac488c
fix a few memory access bugs
2002-09-20 22:44:29 +00:00
Bill Currie
56843557f6
make _VectorCompare use EQUAL_EPSILON (VectorCompare is still the fast
...
macro) and use it instead of VectorCompare in the map tools. This (and, it
seems, RINT) fixes qfbsp on spc. Also, jump /all/ entities that get hit
by the filler in qfbsp
2002-09-20 17:02:53 +00:00
Bill Currie
0cd34d155f
qfbsp now mostly works. only known issue is multiple texture wads don't
...
load properly and possibly a "reached occupant" issue (dunno if it's the
map or qfbsp)
2002-09-19 20:39:33 +00:00
Bill Currie
e8d74f3a26
round off the offsets/sizes again
2002-09-19 15:28:16 +00:00
Bill Currie
24a9b48127
rewrite bspfile.[ch] so they work off an object rather than global data.
...
The direct filesystem access is also removed. Fix up qfvis and qflight to
compile with the new bspfile. qfvis seems to work, qflight probably doesn't
2002-09-19 05:35:17 +00:00
Bill Currie
86f542a971
kill the last VFile ref and make the calculate the file size on opening for
...
reading (Qfilesize works only when Qopen is used in read mode).
2002-09-19 05:11:42 +00:00
Bill Currie
599fea0edb
redo bspfile to use dynamic allocation for the arrays to avoid buffer
...
overflows. also fix up the verbosity levels in qfvis.c
2002-09-18 06:07:38 +00:00
Bill Currie
b8829faac4
bspfile.c:
...
start rewriting for saner code starting with making the private
functions static
cmdlib.[ch]:
win32 compile fixes (remove redundant function)
2002-09-13 15:07:48 +00:00
Brian Koropoff
11293819a5
Comments are now stripped out when a script is loaded instead of during
...
execution.
2002-09-10 01:26:02 +00:00
Ragnvald Maartmann-Moe IV
c4609f5195
Experimentally allow external texture loading. Also prevent loading RGB textures as RGBA, which wastes a lot of texture memory, and looks ugly on 16bpp boards.
2002-09-06 21:37:22 +00:00
Brian Koropoff
b32173db96
GIB: White space at the start of a list in a for loop is ignored. The
...
line where an error occurs in a cbuf is now printed.
2002-08-29 22:12:51 +00:00
Brian Koropoff
85465efb1d
Made for use whitespace as a field separator and nuked list.get until
...
I figure out a standard way to specify a custom field separator.
2002-08-28 23:00:30 +00:00
Brian Koropoff
7cc9f48207
Whoops. I broke looping under some circumstances in GIB. Fixed.
2002-08-28 08:28:05 +00:00
Brian Koropoff
33d132fc4e
Added initial support for newline-delimeted lists to GIB, including a for
...
loop that takes a variable through all elements of such a list.
2002-08-28 08:00:35 +00:00
Brian Koropoff
250a920ae2
Added file access builtins to GIB.
2002-08-27 23:25:52 +00:00
Bill Currie
7adaf456a1
plug a memory leak
2002-08-27 22:13:34 +00:00
Bill Currie
68f607de3c
sanity check the strings to snprintf in open_file as we seem to somehow be
...
getting a stack overflow in there.
2002-08-27 17:53:24 +00:00
Bill Currie
ec47e08e1c
go back to using QFile, quakeio.h and quakefs.h
2002-08-27 07:16:28 +00:00
Brian Koropoff
77445fe3c2
Forgot a newline
2002-08-27 06:46:49 +00:00
Brian Koropoff
98fc04e041
Added threads and callbacks to GIB, as well as several QW callbacks dealing
...
with player status.
2002-08-27 04:47:49 +00:00
Ragnvald Maartmann-Moe IV
cfedb80d1d
Rest of support for qflight/qfvis. bspfile.c and quakefs.c will need cleaning up, compare to previous cvs versions...
2002-08-25 23:10:57 +00:00
Ragnvald Maartmann-Moe IV
46456158e8
Whitespace.
2002-08-25 04:47:57 +00:00
Brian Koropoff
876eaa467c
Added a few useful builtins and began adding GIB hooks into quakeworld.
...
The player global branch variable is now updated with useful information
and the location.get builtin is available to return the current location
of the player based on loc files. Fixed a bug with zooming out in zoom.gib.
2002-08-24 05:14:46 +00:00
Brian Koropoff
32f4e53aa5
Fixed the GIB math evaluator to handle unary operators properly, made
...
indexing/clipping more like python, made some cosmetic changes to zoom.gib,
and added the ability for GIB builtins to return values.
2002-08-23 21:18:00 +00:00
Ragnvald Maartmann-Moe IV
d757c10f07
Only need one define for R_Cull*
2002-08-23 20:46:19 +00:00
Brian Koropoff
5e9330ca21
Cleaned up the return builtin and made variable stripping ([foo:bar])
...
more robust.
2002-08-23 07:45:46 +00:00
Ragnvald Maartmann-Moe IV
6e8bd2aeb0
defines and ifdefs for R_CullSphere, just like R_CullBox.
2002-08-23 07:04:29 +00:00
Brian Koropoff
0715464bb1
Yay for escape characters.
2002-08-22 22:43:47 +00:00
Brian Koropoff
06e6c92da8
Fixed some bugs related to comments and global variables. Updated zoom.gib
...
to work with the new GIB parser. It should be fully functional.
2002-08-22 20:50:12 +00:00
Bill Currie
9f1cedf812
don't seg if given a null table (ie, no vars in this context)
2002-08-22 16:20:06 +00:00
Bill Currie
42c03bb9e1
fix an out-by-one error that was causing segfaults for single line commands
...
ending with a // comment
2002-08-21 22:52:29 +00:00
Bill Currie
c12518de26
windows knows only a subset of the signals
2002-08-21 01:51:27 +00:00
Bill Currie
5009213564
Move the signal handling code from video/targets/* to sys.c (I'm leaving
...
the SDL target files for Despair since he's working on the currently). Also
make progs segfault handling much more robust (and general: sigill etc too:)
2002-08-20 23:04:57 +00:00
Bill Currie
c927b2e834
quakefs.c:
...
allow . and .. in a path so long as the result doesn't escape from the
game directory
cl_menu/Makefile.am:
don't strip source paths
optoins.qc:
use InputLine object
def.c:
use notice to show stray temps
emit.c:
make sure expression args get emitted for function calls
expr.c:
'C' is a cast
rewrite cast_expr to handle casted pointere derefs
2002-08-20 06:11:10 +00:00
Ragnvald Maartmann-Moe IV
c91f1a2aea
Rename Length to VectorLength.
2002-08-20 02:22:40 +00:00
Bill Currie
451eaba2e1
change the value type for MSG_Write(Byte|Short|Long) from unsigned int to
...
int to avoid float -> unsigned int conversion problems
2002-08-19 01:58:01 +00:00
Bill Currie
3431b7ce82
float -> unsigned int needs to pass though int otherwise we lose the negative
...
range on the ps2 (nasal demons:)
2002-08-19 00:05:51 +00:00
Bill Currie
f753dd82ae
put \n on some error messages
2002-08-15 19:06:21 +00:00
Bill Currie
141df55965
zap some FIXMEs
2002-08-14 20:01:23 +00:00
Brian Koropoff
513b5737f9
Got indexing into variables working and cleaned up variables a bit.
...
Partially translated zoom.gib into the new language, but it isn't done yet.
2002-08-14 05:28:07 +00:00
Bill Currie
ff8ea15c09
solaris compile fixes
2002-08-09 04:06:17 +00:00
Brian Koropoff
0390fe22ce
Added tree variables (blah.1, blah.2, blah.1.foobar, etc), global variables,
...
made var substitution more robust, and began adding proper comments to
the code.
2002-08-08 09:20:00 +00:00
Bill Currie
c05db51069
add Qputs
2002-08-07 18:43:35 +00:00
Bill Currie
e171146582
Make Sys_Error repeat it's message to stderr to increase the changes of the
...
error being seen. (Closes : #39 )
2002-08-07 15:31:56 +00:00
Brian Koropoff
5c60be3a49
If and while now work, and embedded commands use backticks instead of <> now
...
to prevent conflicts with math expressions. All clients and servers are set
to create buffers with the normal parser. However, scripts ending in .gib
are now executed in a GIB buffer, and the export command can be used to
make specific GIB functions available to normal command buffers (i.e. the
console).
2002-08-07 06:17:50 +00:00
Brian Koropoff
666c3fce07
Embedded commands now work without any bugs I can detect. Next up are
...
loops, branching, and getting the tokenizer to give special treatment
to certain builtin functions. But first I should get some sleep :)
2002-08-06 08:15:20 +00:00
Brian Koropoff
bdd0f69f17
Declared variable in the wrong spot. Don't know why gcc 3 accepted it.
2002-08-05 05:58:17 +00:00
Brian Koropoff
87f0f480e4
Local variables work, preparing to get embedded commands done.
2002-08-05 00:01:06 +00:00
Brian Koropoff
cf48363c6e
More of GIB done: builtins, functions, various cleanups, math, etc.
2002-08-03 06:04:00 +00:00
Bill Currie
c5192540c8
remove an accidental commit
2002-08-03 01:29:26 +00:00
Brian Koropoff
3c3844d2ac
Checked in the beginnings of GIB mark III and modified qw-server to use
...
it for its console.
2002-08-02 04:07:25 +00:00
Bill Currie
4bd940e619
d'oh
2002-08-02 03:26:55 +00:00
Bill Currie
5f4c21d796
casting from (signed) char to int does not one whit of good towards avoiding
...
the problems associated with signed chars being used to index arrays. must
cast to usigned char so the bit expansion is done on an unsigned value to
avoid the sign extension.
2002-08-02 03:22:32 +00:00
Bill Currie
2ce0f2ded2
we now require modern autoconf (2.52+), automake (1.6+) and libtool (1.4+).
...
This gives us a bunch more flexibility. plugins no longer have the "lib"
prefix or the version suffix, they're now installed in
$fs_sharepath/QFplugins,, builds should take much less time (in general,
only one of pic or non-pic versions are build), bins and libs can have
individual CFLAGS
2002-08-01 19:49:10 +00:00
Bill Currie
612f5c2a31
attempt to fix the win32 server input
2002-08-01 04:49:16 +00:00
Brian Koropoff
4e85063b52
Added support for execution stacks, misc. cleanups.
2002-08-01 02:42:19 +00:00
Brian Koropoff
a93b221272
Split off the old console parser into idparse.[ch] and prepared the cbuf
...
struct and support functions for GIB mark III.
Oh yeah, I'm back.
2002-07-31 22:03:53 +00:00
Bill Currie
0bb6769204
fix the non-parsing of quakeforge.conf
2002-07-31 06:06:44 +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
Bill Currie
021decc7bd
start on the cleanup of cmd.c. these aren't used yet, but the parsing is
...
working
2002-07-30 17:08:53 +00:00
Bill Currie
46ee46fdc6
dead code removal
2002-07-30 04:55:33 +00:00
Bill Currie
b9d364d7b7
whitespace clean up
2002-07-30 02:06:37 +00:00
Bill Currie
e0aa405e76
remove some dead code
2002-07-30 01:56:07 +00:00
Bill Currie
d00ed9619f
give dstring_adjust a prototype and fix up some whitespace
2002-07-29 19:52:19 +00:00
Bill Currie
01228a8be0
set the file mode before seeking
2002-07-27 06:42:52 +00:00
Bill Currie
b3d6875e61
_vsnprintf doesn't like a null pointer in windows
2002-07-27 02:00:06 +00:00
Bill Currie
acf9ce392c
move pakfile.[ch] into libQFutil and make quakefs.c use it instead of its
...
own code. This also removes the evil pak file count limit :)
2002-07-21 06:11:28 +00:00
Bill Currie
91dc5b20db
nuke MSG_ReadChar. Other than the sign extention, it's redundant and nothing
...
a suitable typecast can't take care of.
2002-07-02 19:15:29 +00:00
Ragnvald Maartmann-Moe IV
5e5fdb7bc2
Kill MSG_WriteChar.
2002-07-02 19:13:53 +00:00
Ragnvald Maartmann-Moe IV
a6d999dfa4
Speed up most of the MSG_Write* functions by reducing the number of times SZ_GetSpace gets called.
2002-06-28 04:48:07 +00:00
Ragnvald Maartmann-Moe IV
fd1ded5c4a
Add r_nearclip and r_particles_nearclip. Also put some limits on r_farclip. And fix id's insane max and min float, and some minor improvements in frustum setup in GL.
2002-06-26 22:20:12 +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
f2f6041e05
at long last, vorbis support :) load time only, though, so not yet suitable
...
for huge samples.
Also, change the file search order so that .gz is checked before the
requested file.
2002-06-14 20:36:28 +00:00
Bill Currie
e774943f24
va.[ch]:
...
new va function: nva which returns a strduped buffer
expr.c options.c:
use nva instead of strdup (va (...
struct.c type.c:
make type encoding work properly for structs
2002-06-13 16:39:33 +00:00
Brian Koropoff
0d2bd0ca77
Finally added a file_read command.
2002-06-13 05:58:48 +00:00
Brian Koropoff
fe48995a0c
Fixed some error messages and a small bug in list.gib
2002-06-11 06:08:31 +00:00
Brian Koropoff
b70ffbf871
Fixed a warning message. Changed writefile to file_write. Added file_find
...
which searches a directory for files matching a pattern and returns a \n-
separated list.
2002-06-10 22:03:51 +00:00
Bill Currie
3de07df3d2
*sigh*, I'm having a real problem this morning :P
2002-06-07 15:11:59 +00:00
Bill Currie
c0888ae8e4
I really hate the way cvs won't let you undo a poorly thought out removal
2002-06-07 15:09:57 +00:00
Bill Currie
ebfdbd9285
the fpu manipulation stuff seems to be better off in the one place that
...
actually uses it...
2002-06-07 15:09:20 +00:00
Bill Currie
0f9adc182d
win32 compile fixes
2002-06-04 16:17:10 +00:00
Jeff Teunissen
1ba994fd13
This is a test hack, to see if chopping off some of the integer realtime's
...
data helps in lengthening the amount of time a server can be up without Weird
Stuff(tm) happening.
2002-06-03 23:29:34 +00:00
Bill Currie
4039452297
more sys cleanup. server consoles may be broken for non-curses.
2002-06-03 19:11:48 +00:00
Bill Currie
0f94fd64e7
blah, forgot to #ifdef them :P
2002-06-03 17:26:09 +00:00
Bill Currie
54b299a7e2
set the type and size of the fpu control word vars
2002-06-03 17:04:47 +00:00
Bill Currie
ad08ff7492
there, finally got it right. ugh
2002-06-03 06:01:19 +00:00
Bill Currie
3ffec9e8c1
d'oh, forgot to set up my GOT base register in all the functions :P
2002-06-03 04:58:42 +00:00
Bill Currie
07c7c05f64
finish making sys_ia32.S PIC friendly
2002-06-03 04:06:25 +00:00
Bill Currie
f00e892d4e
mingw gcc 3.1 is freaking weird
2002-06-02 05:27:32 +00:00
Bill Currie
321dbc87d2
missed a couple of global accesses
2002-06-02 04:07:18 +00:00
Brian Koropoff
13d6898fe0
Changed aliases to be handled by the command registering system in
...
preparation of separating GIB into its own module. Command-related
functions will stay in util, but the buffer handling code and interpreter
will be moved out of cmd.c.
2002-06-01 22:13:14 +00:00
Bill Currie
9630a23391
more Sys_* cleanup
2002-06-01 03:00:13 +00:00
Bill Currie
fc0bb7e175
move Sys_DebugLog
2002-05-31 22:50:43 +00:00
Brian Koropoff
d85a238af2
Modified cmd.c to prepare for more file access functions and changed
...
the bind system to keep a restricted flag on binds to prevent the
server from executing restricted commands by binding them to keys.
2002-05-31 05:38:06 +00:00
Bill Currie
9134e05aec
return lists of multiple matching elements
2002-05-30 21:56:57 +00:00
Bill Currie
a7b5b56a2c
implement Z_Realloc, PR_Zone_Realloc and pr_obj_realloc
2002-05-29 20:58:53 +00:00
Brian Koropoff
8025dfd2ce
"runLength-- > 0" made runLength negative, even though the test failed.
...
Skins should work again.
2002-05-28 23:34:02 +00:00
Bill Currie
9b7b059d5c
speed up LoadPCX a bit
2002-05-28 06:05:36 +00:00
Bill Currie
6fbf011073
rpm building fixes
2002-05-27 20:28:10 +00:00
Bill Currie
25ebab2e09
only call Cbuf_ExecuteStack when the buffer has anything to execute. this
...
gives an ~1.1% boost to overkill.
2002-05-23 05:42:51 +00:00
Bill Currie
1b550c80b1
finally get Sys_Error `right'
2002-05-21 21:03:46 +00:00
Brian Koropoff
25969dbad7
Added a temporary hack to make quake.rc, config.cfg, and default.cfg work
...
in some mods that would generate mismatched quotes otherwise.
2002-05-21 02:02:20 +00:00
Brian Koropoff
347962cc33
Fixed a bug introduced by my optimizations.
2002-05-19 06:32:57 +00:00
Brian Koropoff
967d39541a
Optimized GIB a bit.
2002-05-17 21:38:37 +00:00
Brian Koropoff
4cb3a5087b
Whoops. Fixed some GIB bugs.
2002-05-15 22:39:37 +00:00
Brian Koropoff
58e8a997f8
GIB: Added the writefile, legacy and eval commands and created the
...
beginnings of a GIB security model for console access by the server.
Fixed a bug in zoom.gib.
2002-05-15 22:14:17 +00:00
Bill Currie
6a5bbf6f0a
memory allocation checking cleanup
2002-05-14 06:37:28 +00:00
Bill Currie
1e0611e156
Sys_Error now makes sure all messages are terminated with a \n
2002-05-14 06:14:53 +00:00
Bill Currie
44dcf74627
strip the \n from all(?) of the Sys_Error calls (Sys_Error itself will be
...
adding \n).
2002-05-14 06:12:29 +00:00
Brian Koropoff
09366866f7
GIB segfault fix
2002-05-12 20:28:19 +00:00
Brian Koropoff
f6697e0ef0
Fixed an oversight in Cmd_FreeBuffer in GIB and made a few misc. fixes
2002-05-11 20:44:59 +00:00
Brian Koropoff
6d37a9e48a
Fixed up zoom.rc, renamed it to zoom.gib. Made alias with only one
...
argument print the contents of that alias. Added the sleep command,
which works like wait but pauses for a certain number of seconds.
2002-05-11 06:09:50 +00:00
Brian Koropoff
56d033efa4
Auditted cmd.h and cmd.c to fix a bug, a few bits of useless code, and to
...
add some preliminary comments about all the functions. I also rearranged
a lot of the functions to be more logically grouped.
2002-05-11 03:00:14 +00:00
Brian Koropoff
3fffa26fb4
Added thread support to GIB and cleaned up escape characters yet again.
...
With any luck it should actually work this time. Added the getimpulse
command so that GIB scripts can check if an impulse command is pending
before sending their own. Fixed all the memory leaks I could find.
QuakeC and GIB seem to be clean except for maybe one or two sneaky leaks
I can't track down.
2002-05-11 00:36:12 +00:00
Brian Koropoff
e4f740bf02
Buffers created for embedded commands are now marked with a special flag.
...
This allows Cmd_Return_f to decide which buffer it should return a value
to. End result: you can put blocks of code with a return statement inside
an embedded command statement. I hope nobody minded me using my
quakeforge.net account to code a bit :P
2002-05-09 20:12:12 +00:00
Brian Koropoff
4074999b9b
Numerous enhancement and fixes to GIB, including index ranges, fixed
...
escape characters, and more.
2002-05-08 23:01:07 +00:00
Bill Currie
93febb90c9
search for .gz first
2002-04-30 04:39:03 +00:00
Brian Koropoff
601736719d
Fixed the use of double quotes in chat messages and removed single quotes
...
as an option to enclose tokens.
2002-04-29 01:04:29 +00:00
Brian Koropoff
ff901a312f
Added argument-list functions to EXP with trig and inverse trig functions
...
to start. More will follow. Switched to doubles from floats and allowed
numbers with exponents to be parsed properly. Also changed the number of
significant digits printed to 10. Changed fov so it is now capped at 1,
not 10. The float value of fov is now used instead of int, so more
precision can be attained at small values.
2002-04-28 08:30:54 +00:00
Brian Koropoff
7121891895
Fixed Cmd_If_f so that embedded commands work again.
2002-04-26 22:09:28 +00:00
Bill Currie
9399b35b02
alpha compile fix
2002-04-26 17:15:00 +00:00
Bill Currie
45e98d80d9
redo the cvar vector reading code to produce more useful results
2002-04-25 20:08:18 +00:00
Bill Currie
ce1c2e0bd1
sort the sources list
2002-04-25 19:39:26 +00:00
Brian Koropoff
bf323c3f0a
Cleaned up Cmd_Args. It is no longer uselessly built up in
...
Cmd_TokenizeString since I realized the code was just pulling it apart and
putting it back together. Added Cmd_Argsu to access the unprocessed
command. Added support for else following if in such a way that
if/else if/else structures work. Added support for unary operators in
EXP and added the ! (not) operator. The ifnot command will be kept
for variety.
2002-04-24 22:33:04 +00:00
Brian Koropoff
7f295d61ee
Added the getserverinfo command to return the value of a server info key
...
to GIB. Fixed a bug in dstring_replace that was causing too much data to
be copied when the incoming string was larger than what was being replaced.
Very minor reorganization in cmd.c (1 function moved around I think).
cmd.c should probably get broken up into separate files soon.
2002-04-23 07:47:24 +00:00
Brian Koropoff
349fbf7150
Fixed a bug with escaped braces and quotes and added the strlen and streq
...
commands to GIB.
2002-04-22 04:23:36 +00:00
Bill Currie
4ccc9d6322
dstring.c dstring.h:
...
add dstring_replace. this replaces a string of lenth rlen at position
pos with data of lenth len, growing, shrinking and shuffling data as
appropriate. At this rate, the dstring `class' will get buffer gap
editing capabilities :)
cmd.c:
Cmd_TokenizeString builds cmd_active_buffer->line again.
Cmd_Process bails out instantly if cmd_active_buffer is a legacy buffer
and uses dstring_replace to modify the parameters in
cmd_active_buffer->line. This last change results in drastic
simplification (and accuracy) of the commandline reconstruction code,
both in Cmd_TokenizeString and Cmd_Process.
2002-04-19 22:54:27 +00:00
Bill Currie
ef81af9245
the "two birds with one stone" commit
...
1) when /not/ building static plugins, the plugin info name is, once again,
PluginInfo, but is still type_name_PluginInfo for static plugins. This
allows plugins to be symlinked (highly desirable for the debian packages,
and likely others). This also requires plugins to /not/ be loaded with
RTLD_GLOBAL.
2) because of 1, snd_alsa_0_9 has to explicitly load libasound itself. This
just happens to fix my segfault on shutdown in RedHat 6.2.
2002-04-19 20:08:54 +00:00
Brian Koropoff
4cb89c69b2
Moved commands from bound keys into a separate buffer, changed the syntax
...
of for loops to be like that of C, changed math expressions to be
enclosed in #{} instead of #().
2002-04-17 07:05:43 +00:00
Brian Koropoff
fafb014bbe
Oops. Fixed a stupid bug that broke having more than one embedded command
...
in a token.
2002-04-17 01:15:10 +00:00
Brian Koropoff
cb79de3584
Completely redid the way embedded functions are subroutines in general are
...
handled, meaning that execution can be paused at any time without a hitch.
Warning: This is a major change to the architecture (or lack thereof) of
GIB. Please test for bugs! Also, there are a few ugly bits of code that
need to be cleaned up, but that work for now.
2002-04-16 23:56:21 +00:00
Bill Currie
55a5c39187
Turns out that on PPC, va_list is an array (effectivly typedef struct
...
__va_list_tag va_list[1];) which causes grief when attempting to reuse
va_list variables (eg, in vsnprintf retry loops). This is the reason for
MisterP's crashes as the pointers in va_list no longer point to valid data.
acinclude.m4:
shamelessly steal the va_list, va_copy and __va_copy macros from
cdda2wav but modified so AC_DEFINE includes the description (so
acconfig.h can remain gone)
configure.ac:
use AC_TYPE_VA_LIST, AC_FUNC_VA_COPY and AC_FUNC_VA__COPY
dstring.c:
stash the incoming va_list args in a temp var before calling vsnprintf
then restore them each time before retrying, but only if va_list is an
array (hopefully this is ok for when va_list is a structure)
2002-04-15 22:17:02 +00:00
Bill Currie
49deaf2661
that wasn't meant to get checked in. it came from an aborted change to
...
how commands get register.
2002-04-14 22:52:52 +00:00
Brian Koropoff
c3da90fce0
You can now assign to local variables with var = value. You can also
...
index into variables in either substitution (i.e. $bob[25]) or assignment
(i.e. bob[25] = 'q') When using assignment into an index of a var, the
current character is removed and replace with the new value. That means
that if the new value is longer than one character, the string will grow.
A feature that may be done in the future is indexing between two values
to get a substring, ie bob[25..30] = newstr.
2002-04-14 22:35:56 +00:00
Brian Koropoff
503dab1aee
The tokenizer will now not break tokens appart within quotes or braces.
...
This means things like echo ~{somefunc arg1 arg2} will get parsed properly
without having to enclose it in quotes. Exported the Cmd_Return function
so that anything can return values to GIB (such as quakec).
2002-04-14 01:12:19 +00:00
Bill Currie
8220ddd83d
and the command api to csqc and use it to bind menu_load and menu_save. F2
...
and F3 now work in nq :)
2002-04-12 17:19:49 +00:00
Bill Currie
a974eb2333
move buildnum.c to util and make nq and qw init more similar
2002-04-11 18:42:55 +00:00
Bill Currie
4f65a313fd
oops :)
2002-04-07 04:57:42 +00:00
Bill Currie
197db0aca7
more signed char indeces
2002-04-07 04:54:19 +00:00
Bill Currie
9885aa5916
fix some signed char index warnings
2002-04-07 03:41:10 +00:00
Brian Koropoff
93c9f96416
Added embedded commands with ~{} and the return command, created a token
...
structure to help tidy the command buffer struct up a bit, fixed a few
bugs and probably created 100 more. A lot of things were changed to
allow embedded commands:
- Old buffers on the stack are left alone for Cbuf_ExecuteStack to
clean up. This is so return values can be extracted from them.
- The imperative flag has been added. An imperative buffer and all buffers
following it can not be paused with the wait command.
- The returning flag and retval dstring have been added. If a buffer
returned something, the flag will be set.
- The return command was added so there was something to use in the
substitution. Return nukes all loop buffers since they don't really count
as independent functions, sets the return value on the top buffer, and
clears it.
- Who knows what else.
2002-03-29 07:43:02 +00:00
Brian Koropoff
676bf39d9d
Beautified GIB, improved looping and backtraces slightly. Old buffers are
...
now recycled, not freed. Fixed some bugs in exp.c. Ready to add embeded
functions (read: function calls with return values) and for loops.
Probably some other misc. fixes, I tend to go on debugging streaks.
2002-03-27 06:24:19 +00:00
Brian Koropoff
807e7de22e
Fixed a bug with comments that don't have a newline after them.
2002-03-24 06:55:52 +00:00
Brian Koropoff
7c4cecd700
Fixed a stupid bug in Cmd_Exec_f that was causing map commands inside
...
executed files to crash the server.
2002-03-23 23:13:15 +00:00
Brian Koropoff
73f32465c5
Fixed a double free in exp.c, and made math error reports slightly more
...
useful.
2002-03-22 07:11:05 +00:00
Brian Koropoff
e1b61d2116
Changed how looping works, fixed echo to work with taniwha's Cmd_Args
...
changes, added the != operator for math evaluation, added break command
to break out of loops early, added ifnot command, and who knows what else.
2002-03-22 00:22:03 +00:00
Bill Currie
961a716942
minor oops
2002-03-21 21:56:59 +00:00
Bill Currie
5a30278e77
whitespace
2002-03-21 21:56:22 +00:00
Bill Currie
d00d6a539a
add dstring_insertsubstr
2002-03-21 21:53:52 +00:00
Bill Currie
619a77b2f7
fix a couple of brainos that broke quotes entirely
2002-03-21 21:45:00 +00:00
Bill Currie
c1deee9955
rework cmd_buffer_t->line and cmd_buffer_t->args building so quotes are
...
preseved
2002-03-21 21:17:31 +00:00
Bill Currie
b7fc784718
add dstring_appendsubstr
2002-03-21 21:16:26 +00:00
Bill Currie
6f1b68aeb4
sys.h:
...
define SYS_CHECKMEM macro to ease memory allocation failure detection
cmd.c:
loads of whitespace
2002-03-21 19:47:31 +00:00
Brian Koropoff
388ff7b597
Some bug fixes and memory leak fixes. Local variables break randomly,
...
probably due to my misuse of hash tables. Anyone have any ideas?
2002-03-20 22:57:26 +00:00
Brian Koropoff
d5fad096c0
Added local variables and replaced %-substitution with local variables.
...
Made variable substitution recursive, so ${${foo}} will be the value of
the variable whose name is contained in foo. Added setl command to
manipulate local variables. The only other place they can be used is in
variable substitution.
2002-03-20 04:24:31 +00:00
Brian Koropoff
1683633042
Changed to an execution stack system for aliases and config files, and
...
added error backtraces.
2002-03-18 23:39:03 +00:00
Brian Koropoff
46cc4ac9dd
Fixed some bugs and generalized the command buffer interface. Allowed for
...
buffers to be linked into execution stacks and changed aliases and script
files to be run in a new stack frame. Cbuf_Execute executes the stack from
the top down, so wait commands are handled properly.
2002-03-18 04:12:09 +00:00
Brian Koropoff
f4180e7ad8
Added math evaluation, the ability for commands to span multiple lines
...
within braces, and put support for comments back in (oops). To use math
evaluation, put a math expression inside $(). If you have spaces in your
expression, you'll need to enclose the entire thing in quotes so it doesn't
get split up into multiple tokens.
2002-03-17 06:57:03 +00:00
Brian Koropoff
aa00b7742c
Changed the token finder to be recursive, added if and while commands, and
...
allow tokens within braces to continue across newlines.
2002-03-17 03:31:03 +00:00
Brian Koropoff
e9ca911e34
Added the ability to use curly braces to enclose tokens. Tokens in braces
...
won't be processed except for escape characters, so that escaped braces
can be used within. If an uneven number of curly braces are within a
token, it will be misparsed, so escaped braces are important if you
don't want them to be considered in the parsing of the token. Ideally,
braces within quotes within braces should not need to be escaped, but this
would require a redesign of the parser to be recursive. Maybe I will do
this later.
2002-03-16 21:17:01 +00:00
Brian Koropoff
2a3e1869ac
Bug fixes! Fixed escape character detection, use of str = dstr->str
...
without considering that realloc could result in dstr->str being
changed. Also made variable substitution of non-existant variables be
replaced with a null string rather than being left alone, to prevent
errors in scripts from causing weirdness as strings get passed through
the parser several times.
2002-03-16 06:31:59 +00:00
Brian Koropoff
0a90ddc51f
Fixed an error in extract line that caused escaped quotes to be parsed as
...
normal quotes and made it so executed files are always inserted into the
console buffer so that class config files in TF can use the new parser
features, even though the exec command is run in the legacy buffer
2002-03-15 01:45:15 +00:00
Bill Currie
6cefb63e2e
get back to work on creating a good command line pak file util. currently
...
only dumps the file names/sizes and segs if it's used incorrectly, but it's
a start.
2002-03-12 23:45:36 +00:00
Bill Currie
5a2538faaf
dstring.[ch]:
...
create dsprintf and dvsprintf to do formated prints to dynamic strings.
rest
Use the new functions :)
2002-03-08 23:11:42 +00:00
Bill Currie
8f7f646d19
white space
2002-03-05 22:36:04 +00:00
Brian Koropoff
e0e9084ad7
Merged in the new command parser. No major bugs or incompatibilities could
...
be found.
2002-03-05 21:51:12 +00:00
Brian Koropoff
066c2c8a02
The final checkin before merging. Hopefully no showstopping bugs remain.
2002-03-05 21:26:37 +00:00
Brian Koropoff
669ca72e4f
Added a bonus feature: %i evaluation in aliases. Just put %i in an alias
...
and it will get replaced with the ith argument to the alias, 0 being the
name of the alias itself. %% will get replaced by %, out of range
numbers will simply be removed, and non-numbers will be ignored.
2002-03-04 02:37:40 +00:00
Brian Koropoff
7241d69036
Fixes to echo, correct use of cmd_source and src_command, and change nq to
...
use cmd_legacybuffer for stufftext.
2002-03-04 01:11:05 +00:00
Brian Koropoff
8d124f9c2b
Implemented variable substitution and did various cleanups to the parser.
...
Changed Cmd_TokenizeString to accept a flag that controls the application
of filters (tags, variables, escape characters) to the tokens and modified
a few places in the source that called it. Added a secondary command
buffer that is parsed without filters for legacy command support.
Currently, it is only used for commands stuffed into the console from the
server. It is hacky, and I hope to eventually generalize the console
interface to support any number of buffers and audit the rest of the code
to recognize it. For now, the legacy buffer at least keeps escape
character parsing from destroying info strings.
2002-03-03 23:28:57 +00:00
Brian Koropoff
f78ec56975
Added escape characters, the <i> tag to ignore tags enclosed within it, and
...
generally cleaned the parser up. If a line begins with |, it will be
stripped off by the tokenizer and no tags or escape characters will be
processed. Commands stuffed into the console from the server are prepended
with | to ensure backward compatibility. This can also be used anywhere
backward compatibility is needed, such as where info strings are stuffed
into the console, or as an alternative to using escape characters in the
entire string.
2002-03-03 08:29:28 +00:00
Bill Currie
26d7463be7
the majority of raptor's sgi build patch. I'll look at the last two bits
...
(server.c and vid_sdl.c) later.
2002-03-03 06:03:51 +00:00
Brian Koropoff
4a7f3b3189
This commit fixes up cmd_args to rebuild a string from the processed
...
tokens and adds support for comments.
2002-03-03 06:00:44 +00:00
Bill Currie
119731e90e
fix a buffer overflow snax found
2002-03-03 04:42:32 +00:00
Brian Koropoff
6936615fdf
HTML-like tags are more or less done. Next up is variable substitution
...
and escape characters.
2002-03-03 04:26:37 +00:00
Brian Koropoff
557846b220
This is the first commit to the newcmd branch, which is a mostly-rewritten
...
console command parser. It will eventually include html-like tags for
modifying text (gold numbers, brown characters, etc) and escaped characters.
The major differences so far are that dynamic strings are now used instead
of static buffers, and single quotes can be used to enclose tokens as
well as double quotes.
2002-03-03 03:36:27 +00:00
Bill Currie
009e6346fe
now, so long as ulimit allows it, we can always get a core dump. Looks a
...
little odd:
Received signal 11, exiting...
IN_Shutdown
IN_LL_Shutdown
VID_Shutdown
Segmentation fault (core dumped)
but the core file does accurately show the error
2002-02-27 06:55:21 +00:00
Bill Currie
9d0d8c49e7
win32 compile fix
2002-02-23 17:43:41 +00:00
Jeff Teunissen
ae2303c18d
Hide the reason for a plugin load failure unless developer is set.
2002-02-22 11:17:20 +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
b6c331736a
give nq host_mem_size so -mem can be a cvar (similar to sv_mem_size and
...
cl_mem_size in qw).
2002-02-19 20:47:45 +00:00
Bill Currie
814e2ddfe9
hopefully a more correct implementation
2002-02-13 00:57:00 +00:00
Bill Currie
b4000200e3
move the getopt files from qfcc/source to libs/util, link qw-master against
...
libQFutil and enable the option parsting in qw-master for win32.
2002-02-12 17:44:41 +00:00
Bill Currie
799cfa58af
fix the recent win32 crash bug
...
Q_vsnprintfz should return -1 when size is 0. also make client.c's C_Print
use vsnprintf correctly
2002-02-12 04:29:44 +00:00
Bill Currie
72bd704d13
BSD compile fixes
2002-01-31 07:37:56 +00:00
Bill Currie
6f29bcb238
break the loop from CRC_Block into CRC_ProcessBlock so that crcs can be
...
caclulated over multiple blocks.
2002-01-28 18:00:48 +00:00
Bill Currie
6767d6bfa0
win32 compile fixes
2002-01-19 20:45:45 +00:00
Bill Currie
f67f021713
don't need those anymore
2002-01-17 02:06:49 +00:00
Bill Currie
630aa80dc4
various cleanups including TODOs and FIXMEs and rewrite va to use a dynamic
...
buffer.
2002-01-12 04:34:53 +00:00
Bill Currie
36bb62c3c5
rewrite CrossProduct so memory is accessed more linearly. should provide
...
a tiny speedup for servers and clipped skyboxes
2002-01-04 06:13:50 +00:00
Bill Currie
3c6f64b26b
_snprintf and _vsnprintf are not guaranteed to write the trailing '\0'
2002-01-03 23:24:47 +00:00
Bill Currie
522f64bce1
remove an extra ;
2002-01-03 23:24:20 +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
daa68ac7ce
Minor pcx loader cleanup.
2001-12-21 21:12:01 +00:00
Bill Currie
858bb55bcc
kill some dead code
2001-12-21 19:38:49 +00:00
Ragnvald Maartmann-Moe IV
b5e93ffd6c
Minor speedup (*foo++, dammit!), some whitespace.
2001-12-21 16:08:56 +00:00
Bill Currie
825b02ad87
minor speedup to skybox loading ;)
2001-12-21 06:07:30 +00:00
Bill Currie
b4de52eb5c
some readability (and speed?) improvments for LoadTGA
2001-12-21 05:29:33 +00:00
Ragnvald Maartmann-Moe IV
010ca032a5
Allow arbitrary power of 2 sizes for tga texture loads, reduce memory footprint needed to load rgb tgas. Speed load of non-RLE tgas.
...
Some slight code sanity improvements.
2001-12-21 01:41:19 +00:00
Bill Currie
aaf9b953a4
make the no shutdown warning developer only (does the user realy need to
...
see it?)
2001-12-20 23:55:49 +00:00
Bill Currie
69e1a9aab5
bah, installed headers made my compile tests fail
2001-12-13 22:56:43 +00:00
Bill Currie
218554d60a
move include/QF/string.h to include/qstring.h and include it automaticly if
...
needed in compat.h
2001-12-13 20:44:32 +00:00
Ragnvald Maartmann-Moe IV
2db08923e8
MSG_(Read|Write)(Coord|Angle|CoordAngle)V. Cleanups, and preparation for use of vector ops in msg.c.
2001-12-12 21:56:09 +00:00
Ragnvald Maartmann-Moe IV
f66b7a93e5
Major particle interface cleanup, several bugfixes, and minor performance improvements. Oh, check out "/help easter_eggs" (gl-only, at the moment).
2001-12-11 22:37:30 +00:00
Bill Currie
b8df7c0e9e
alpha compile fixes (bah, bloody size_t:P)
2001-12-06 20:18:24 +00:00
Bill Currie
37028cbbc8
fix a bit of sillyness pointed out by Dwayne C. Litzenberger
2001-12-05 16:29:09 +00:00
Adam Olsen
7c6765df60
buf[sizeof(buf)] = 0; is bad. buf[sizeof(buf) - 1] = 0; is good.
2001-12-05 09:24:19 +00:00
Bill Currie
e782153743
must make sure \0 doesn't get into the command buffer :P
2001-12-04 03:43:47 +00:00
Bill Currie
8be15a16e6
heh, turned out that didn't hurt overkill as much as I thought, but this
...
gives it a tiny boost (and will help more in the more alias heavy mods).
2001-12-04 03:13:02 +00:00
Bill Currie
3c06cd5620
another jump prediction optimisation
2001-12-03 23:40:22 +00:00
Bill Currie
21686adf10
remove redundant prototype
2001-12-03 23:40:07 +00:00
Bill Currie
68adae46b9
whitespace
2001-12-03 22:56:34 +00:00
Bill Currie
c130d38c6c
fix more bugs caused by the Hunk_TempAlloc changes and do some more jump
...
prediction fixes for msg_t and sizebuf_t
2001-12-03 22:11:21 +00:00
Bill Currie
610feb9fc6
properly terminate the string created by Info_MakeString (this was the source
...
of the absurd connect messages)
2001-12-03 21:24:48 +00:00
Bill Currie
650d682d2c
fix some nasty security holes causes by oversized connection strings. slows
...
down overkill slightly :/
2001-12-03 21:06:57 +00:00
Bill Currie
9bf575d081
several little tweaks that more than make up for the reversion of low-copy
2001-12-03 08:46:56 +00:00
Bill Currie
ce9e2e62e3
whitespace
2001-12-02 17:29:14 +00:00
Bill Currie
72e2e871f8
goodbye PARANOID :P
2001-11-29 06:58:15 +00:00
Bill Currie
4689350283
fix qport
2001-11-27 04:50:41 +00:00
Adam Olsen
82095df9cf
- make Cache_Flush catch errors before Cache_Flush, and hopefully
...
print useful debugging info
2001-11-25 03:16:15 +00:00
Adam Olsen
b7cbc15508
- remove the unused DYNAMIC_SIZE define
2001-11-24 16:32:39 +00:00
Chris Ison
5e05df417d
fix \n order in alias expansion
2001-11-20 20:07:15 +00:00
Bill Currie
9d0320cc89
various portability improvements
2001-11-18 23:40:01 +00:00
Bill Currie
cc66577f1c
fixes for building on alpha (linux)
2001-11-16 01:09:17 +00:00
Bill Currie
288ec4251c
various fractional speedups
2001-11-15 19:37:29 +00:00
Bill Currie
39401592d4
use malloc/free instead of Hunk_TempAlloc in Cmd_Exec_File so it can be called before Memory_Init
2001-11-14 20:16:57 +00:00
Bill Currie
42b5a5d150
reformat the output of "alias" so that capturing it is useful for config
...
scripts
2001-11-13 23:51:21 +00:00
Bill Currie
d168a3daee
this should remove the requirement for gmake on bsd systems
2001-11-12 16:23:41 +00:00
Bill Currie
e71a788509
shink the cmd and alias hash table sback down (that got in by mistake) and
...
disable the cmd_hash_stats command (not needed for general use)
2001-11-12 03:47:30 +00:00
Bill Currie
e4fd746f71
this adds some stats to hash tables and a command to get at them for commands
...
and aliases
2001-11-10 01:13:29 +00:00
Bill Currie
15b381909e
move maplist from quakefs.c to console/maplist.c. Unfortunatly, until the
...
client console plugin is usable, this means the clients link maplist.o
directly.
2001-11-05 22:24:16 +00:00
Bill Currie
460b53e9ee
rework the maplist code to use Con_DisplayList. this results in both
...
prettier code and prettier output.
2001-11-05 21:30:53 +00:00
Brian Koropoff
008b59b777
The beginnings of an f_* reply system have been added. f_version works
...
like normal, f_skins reports the average percent fullbright for all loaded
skins, and f_skins skinname reports the fullbright percent for a signle
skin. cl_freply controls the time in seconds before another query can be
made. Set it to 0 to disable them. More queries will be added later.
The table for accessing special characters from the console has been
tweaked a bit. Expect it to get tweaked more in the future.
2001-11-05 07:23:51 +00:00
Bill Currie
9f4a565523
rename some get_key functions so they're all uniqely named (matters only for
...
profiling purposes thanks to static:)
2001-11-05 03:21:42 +00:00
Bill Currie
c443e2c024
info.c:
...
support unlimited info strings when maxsize is 0
sv_main.c:
make localinfo unlimited
2001-11-05 02:08:20 +00:00
Bill Currie
9829cf3993
do not include \key\value pairs in the output of Info_MakeString for
...
backwards compatability with the old info key system.
2001-11-05 01:29:45 +00:00
Bill Currie
96a2ac9a70
put the info string tolower/highchar handling back in
2001-11-04 22:00:32 +00:00
Bill Currie
23a2760194
change formating for Info_Print
2001-11-04 20:48:12 +00:00
Adam Olsen
3417167e7e
- compile fix for info.c. We can't call any functions until /after/
...
all variables are declared.
2001-11-04 15:42:26 +00:00
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