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
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
Joseph Carter
4a0d453b48
The gfx.wad error is now idiotproof!
2001-06-05 08:39:27 +00:00
Bill Currie
e339e82c01
hash.h is now const correct as is a lot of qfcc
2001-06-04 04:52:14 +00:00
Bill Currie
06064ec390
compat.h:
...
create a field_offset macro that takes a structure type and a field and
returns the offset of the field within the structure
everything else:
use field_offset to calculate the size of variable sized structs
2001-05-31 18:11:05 +00:00
Bill Currie
323015b11a
include/QF header cleanup. including config.h (or any file from include) is
...
a nono because headers in include/QF get installed, but include don't and thus
would break quakeforge-dev.
2001-05-31 05:33:13 +00:00
Bill Currie
6bf58ab1af
no header includes cvar.h now
2001-05-31 03:41:35 +00:00
Bill Currie
940598f240
merge pcx.c, tga.c and wad.c. util seemed the most logical place, but LoadPCX
...
had to be modified to get away from vid.h (better designe now IMO anyway)
2001-05-30 20:56:53 +00:00
Joseph Carter
05adfd0e53
quakefs.h -> vfs.h
...
quakeio.h -> vfile.h
More diff reduction between trunk and my VFS code. Also took the time to
put some headers in order and fix a few #include's pointed out by moving
things around a bit.
2001-05-30 04:34:06 +00:00
Joseph Carter
186d577818
s/QFile/VFile/g - makes my diffs much smaller and more manageable for the
...
VFS work.
2001-05-30 03:21:19 +00:00
Bill Currie
47d95d245a
protect the cvar callback and description fields from being modified once
...
they have been set to non-defaults.
2001-05-30 02:41:30 +00:00
Bill Currie
fa6dd2a9f3
now works with autoconf 2.50
2001-05-23 03:01:03 +00:00
Zephaniah E. Hull
b264cdd28b
Make it actually work?
2001-05-22 12:44:53 +00:00
Zephaniah E. Hull
5245f56012
Validate userinfo strings on connect. (Part of a nasty DOS fix.)
2001-05-22 12:00:45 +00:00
Jeff Teunissen
5569f04a88
whitespace
2001-05-19 23:24:57 +00:00
Adam Olsen
9cc30959e4
Sound now uses runtime plugins. Much thanks to Deek for doing all the
...
thinking :)
set fs_pluginpath to point to the right dir, and set snd_plugin to pick a sound
plugin.
Current issues:
- alsa 0.5 won't build properly, dunno why
- segfault on exit. I think I know the cause of this, and how to fix it
- alsa 0.9, gus, sgi, sun, and win32 havn't been tested
2001-05-19 00:05:35 +00:00
Bill Currie
306d6db39b
if ... if -> if ... else if
2001-05-17 20:05:36 +00:00
Bill Currie
e118a9136a
forgot these :P
2001-05-08 20:57:07 +00:00
Bill Currie
b5df1c816a
move fnmatch.c and dirent.c to libQFutil
2001-05-08 20:53:25 +00:00
Bill Currie
cc68e1a12e
qf now links with NO optimisation (not even -O). R_CullBox has been moved from
...
glquake.h to mathlib.h (along with the declaration for frustum) and the
extern inline keyworws protected by an ifndef so that mathlib.c can cause
R_CullBox to be compiled publicly. The definition of frustrum has been moved
from its verious locations into mathlib.c.
2001-05-07 04:08:34 +00:00
Bill Currie
58afc88122
link libQFutil.so against libdl
2001-04-25 20:53:09 +00:00
Jeff Teunissen
c364e1c3cf
The first version of the QF Plugin API. Version 1.0 supports input and
...
sound (digital audio, that is, not CD) plugins right now, more to come
later.
2001-04-24 22:19:42 +00:00
Adam Olsen
853fbb4242
Change commented out Con_Printf statements in Cache_Move into
...
Con_DPrintf statements, so they can be used in debugging without
recompiling. And no, there's no performance issue.
2001-04-17 08:39:44 +00:00
Bill Currie
f37b007da2
nuke the memset in Hunk_HighAllocName
2001-04-12 23:39:23 +00:00
Bill Currie
12c14bd71f
split up console like sys was
2001-04-11 05:10:04 +00:00
Bill Currie
9cd83e178f
various fixes for out-of-srcdir building
...
configure.in:
foo/Makefile MUST come before foo/bar/Makefile or foo/bar will NOT be
created.
libs/*...*/Mkaefile.am: add INCLUDES so $(top_scrdir)/include gets searched
{qw,nq}/source/Makefile.am: fix fbset compiling (and cleaning for nq)
2001-04-11 03:09:24 +00:00
Joseph Carter
75aa40276f
A few more. Also removed a couple inaccurate comments.
2001-04-11 00:10:19 +00:00
Joseph Carter
2bc55b7828
Cvar cleanups.. NULL is now used in place of 0 for callbacks, this should
...
make Cvar_Get's a lot easier to read.
2001-04-10 23:39:30 +00:00
Bill Currie
082c5ccae4
get qw-server to link in mingw
2001-04-10 21:43:57 +00:00
Bill Currie
e9fb7576da
oops, missed with the #ifdef
2001-04-10 20:15:52 +00:00
Bill Currie
334b528a40
forgot some bits
2001-04-10 20:11:50 +00:00
Bill Currie
dfbfd9463c
mingw cross compile fixes. qw-server (only, so far) compiles but does not
...
yet link due to Sys_Error :/
2001-04-10 20:07:11 +00:00
Adam Olsen
ed0b391dfb
Tweaked some comment indentation that made me itch ;)
2001-04-10 02:36:50 +00:00
Zephaniah E. Hull
a16b2c0070
Borrowed LH's VectorVectors.
...
Changed smoke trails a good bit.
2001-04-06 18:37:23 +00:00
Bill Currie
67368ffc5d
make the start calculation a little more accurate
2001-04-01 03:30:17 +00:00
Bill Currie
ccbae9bd5c
do Sys_Error the same way Con_Printf was done
2001-04-01 02:08:38 +00:00
Zephaniah E. Hull
8ef747124c
Fixed the weak Con_Print issue.
...
(Still need to thwap taniwha for doing an incomplete merge.)
2001-03-31 14:41:13 +00:00
Bill Currie
7cb6245efa
link libQFutil.so against libz so the clients (and tools) don't need to worry
...
about it
2001-03-31 03:51:25 +00:00
Bill Currie
e939ccc40a
cvars now sport a callback function that gets called whenever the cvar changes
...
or on initial get.
2001-03-31 01:02:52 +00:00
Bill Currie
4162243287
eliminate Cmd_ForwardToServer from cmd.c. Cmd_ForwardToServer still needs to
...
be removed from cmd.h, but that can wait a bit.
2001-03-31 00:35:08 +00:00
Bill Currie
ad9142ff3c
move Con_Printf, Con_DPrintf and Con_Print (weak) into libs/util/console.c.
...
Except for the cmd and cvar callbacks, libQFutil.so is now standalone.
2001-03-31 00:08:21 +00:00
Bill Currie
1e2e2f44c3
move the developer cvar into cvar.c
2001-03-30 23:35:48 +00:00
Bill Currie
99535102d7
bare bones sys stuff moved into libQFutil. unix stuff seems to work just fine,
...
but win32 is probably borked atm
2001-03-30 23:24:57 +00:00
Bill Currie
4f2e22bfb8
merge and move quakefs.c into libQFutil where it belongs. at long last
2001-03-30 00:44:35 +00:00
Bill Currie
80ee9eb8d1
merge and move quakeio.c into libQFutil
2001-03-29 21:16:16 +00:00
Bill Currie
95d116eac0
make makt.S pic friendly. The ELF abi is bent slightly as ebx was already used
...
and I didn't feel like subbing it for something else, so esi is the GOT access
register.
2001-03-29 09:10:35 +00:00
Jeff Teunissen
277c17cfd8
Shared library support. The util and gamecode libraries are now shared,
...
and this clears the way for an external API for utilities and
such. And yes, this means libtool is now used.
2001-03-29 09:07:44 +00:00
Bill Currie
cb5c262ffc
qtypes.h:
...
remove includes of qdefs.h and compat.h
pr_comp.h:
merge pr_comp.h from quake and qfcc, removing the copy in qfcc
cmdlib.[ch]:
nuke the endian code.
qendian.c:
initialise the LittleLong etc pointers at compile time rather than run
time
com.c (both nq and qw):
nuke the LittleLong etc init code
everything else:
fix up after the qtypes.h cleanup
2001-03-28 17:17:56 +00:00
Bill Currie
82b533e1ef
forgot that .S files don't have dependency info :/
2001-03-27 21:46:49 +00:00
Bill Currie
f78b973978
move the api headers into include/QF and clean up (most of) the resulting mess.
...
target specific files that I don't build won't compile yet. just put QF/
infront of the offending headers.
Also move ver_check into libqfutils
2001-03-27 20:33:07 +00:00
Bill Currie
4489319298
first step towards garbage collected dynamic strings in qc. All strings
...
external to the progs file are now malloced and then freed at progs reload.
All that needs to be implementd for gc to work is the scanner and deallocator.
2001-03-06 04:22:33 +00:00
Bill Currie
c4616346a1
dx_hack_hash stolen from Daniel Phillips <phillips@innominate.de> in the lkml.
...
This might or might not give hash tables a better spread. We'll see :)
2001-03-05 16:19:10 +00:00
Bill Currie
f40b361fb3
hash.[ch]:
...
slight api change: the getkey and free functions now take a user data
parameter (which is an aditional parameter to Hash_New.
cmd.c, cvar.c, quakefs.c:
clean up the resulting errors.
pr_edict.c:
use hash tables for lookups of function, global and field definitions.
should speed things up a bit, ESPECIALLY when type checking is enabled.
2001-03-05 05:11:26 +00:00
Bill Currie
09b58f7e5f
merge math code into utils
2001-03-05 02:06:05 +00:00
Bill Currie
4b1f10d10d
fix the problem with getting kicked from tf/megatf servers for changing teams.
...
Got the `changed' test backwards.
2001-02-24 04:25:27 +00:00
Bill Currie
2bfeed6820
looks like utils is more or less complete for now, except for some fixes in
...
nq for abyss etc (ie, the magical -<mod> args).
The interface to the message subsystem got a revamp and all the mods to the .c
files reflect this. currently a little ugly, but I plan on abstracting msg
further to clean it up and make it more oo.
2001-02-23 23:16:13 +00:00
Bill Currie
981d067000
merge qw's net_com.c and checksum.c (net_com.c was identitcle to nq's
...
checksum.c) and then move the resutlting checksum.c into libs/utils
ditching nq's. Due to net_com.c, qw's libqfnet.a will need to be deleted or
you will get duplicate symbol link errors. Also merge crc.[ch] and move
qfplits.[ch] to their final homes. Also, remove a slightly overzealous use
of "static" in qfplist.[ch].
2001-02-23 18:31:48 +00:00
Bill Currie
42e52a7093
%s/libutil.a/libqfutil.a/g due to name space clash found when linking SDL.
...
New naming convention, all libs will be libqf<subsys>.a (should we instead
use libQF<subsys>.a?). The .so libs, when we get to them, will have to be
sorted out then.
2001-02-22 16:53:15 +00:00
Bill Currie
7516666084
libutil.a is now used by both qw and nq
2001-02-22 08:12:13 +00:00
Bill Currie
9aa50a847c
clean up the mess caused by attempting to merge cmd.[ch]. When taken further,
...
this might give us nice controlability of when cvars can be changed.
2001-02-22 04:46:59 +00:00
Ragnvald Maartmann-Moe IV
c6da49206e
More typos, spelling corrections, and case fixes fed to the nearest handy fiend.
2001-02-22 00:15:03 +00:00
Bill Currie
95f6db7775
start merging stuff into libs/util and fix the concequences in nq. nq doesn't
...
build yet though (keys.c, *screen.c and *view.c) due to console fun.
2001-02-21 19:35:06 +00:00