Commit graph

1594 commits

Author SHA1 Message Date
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
f1279be1e5 Fixed a segfault with very high resolutions. 2002-11-23 05:47:17 +00:00
Brian Koropoff
a62a92c1be Fixed regex::extract to start at the correct argument when setting the
value of variables.
2002-11-21 00:20:39 +00:00
Bill Currie
ee30860cef fix a bunch of ;; typos 2002-11-20 21:44:04 +00:00
Bill Currie
d78f34e795 fix some spelling errors 2002-11-20 21:21:22 +00:00
Bill Currie
261dcfe2a3 FreeBSD patch from q (see what happens for the other BSDs) 2002-11-20 17:20:52 +00:00
Brian Koropoff
854f6d9054 Created gib_regex.[ch] to manage regular expressions in GIB. Regexs are
now cached and only recompiled when compile flags change.  Changed regex
builtins to take an options string argument after the regular expression.
2002-11-19 06:24:29 +00:00
Bill Currie
1251cbda9e gee, you'ld think gnu would get pointer <-> int portability right :P 2002-11-19 05:40:04 +00:00
Bill Currie
a17673bb69 fix some warnings 2002-11-19 04:34:44 +00:00
Brian Koropoff
0e0d8bd542 Added support for enclosing embedded commands in $() and cleaned up the
parser a bit to accomodate this.  Backslashes in double quotes are now only
removed if they escape a character that can't be written normally, or
another backslash.  Removed start position support from string::findsub
since variable slices can be used instead.  Added support for regular
expressions in the form of regex::match, regex::replace, and
regex::extract.  Checked in regex.c from GNU regex 0.12 for platforms that
do not have regex functions in their standard library. Two minor changes
were made to this file to fix gcc warnings.  Prepared the path transform
function for a change to a filesystem rooted at fs_userpath instead of the
current gamedir, but these changes are commented out pending security
considerations.
2002-11-19 04:15:36 +00:00
Brian Koropoff
acbd838b09 Fixed a format string and added a cast to some pointer arithmetic. This
fix compile problems on non-intel archs.
2002-11-17 00:12:14 +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
Brian Koropoff
ac8169ba54 Changed file::find to take the path and glob as one argument. Made some
miscellaneous file access cleanups.
2002-11-16 03:52:07 +00:00
Bill Currie
f26ec7377c fix an uninitialized variable 2002-11-16 02:03:39 +00:00
Brian Koropoff
78785a90f8 Added a primitive interactive mode to carne and modified the file::read
GIB builtin to use Qopen instead of COM_LoadHunkFile.  This makes it work
properly in carne.
2002-11-15 23:27:07 +00:00
Bill Currie
06df342655 fix a stray ; 2002-11-15 14:56:57 +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
d1199f23da get categories working in the runtime :) 2002-11-14 20:42:48 +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
6ce0abe536 more alpha compile fixes. Closes: #60 because while it started out for
0.1.1 it developed into an alpha compile issue for 0.5.2
2002-11-13 20:20:50 +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
Brian Koropoff
0f71b02fd7 Changed the name of GIB builtins from string.length to string::length, etc.
Made a few miscellaneous cleanups and enhancements to builtins and changed
all the GIB scripts in CVS to reflect the new naming conventions.
2002-11-11 01:57:34 +00:00
Bill Currie
aa5ad0f0f9 don't use glXGetProcAddressARB to look up the glX functions. hopefully fixes
the nvidea segfault
2002-11-10 23:31:19 +00:00
Bill Currie
498bdcc406 compile fixes for alpha linux 2002-11-10 02:50:42 +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
1dfbf4ba7e win32 compile fixes 2002-11-08 23: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
d46b37f940 use COM_CompressPath 2002-11-08 03:35:22 +00:00
Bill Currie
ec0273e3dc do a pre and post pass for maps/mapname.cfg and use maps_default.cfg if
maps/mapname.cfg doesn't exist.
2002-11-08 02:43:04 +00:00
Bill Currie
71e95ee26f stop lying about responding to Delete events 2002-11-06 17:09:01 +00:00
Bill Currie
eeb4e4f9a9 how that got past my compile tests is beyond me 2002-11-06 14:56:39 +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
Bill Currie
98563c15d6 fix vorbis include handling when --with-vorbis is needed 2002-10-30 02:03:24 +00:00
Bill Currie
aa36b85ba6 add PR_StringValid and PR_EdictValid to check the validity of progs string
and entity values without crashing.
2002-10-29 05:07:10 +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
Brian Koropoff
01a7740f1b Added bind.get builtin that returns the command currently bound to a key.
Fixed gib_builtin.h to include another needed header.
2002-10-25 06:33:16 +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
Bill Currie
012cc58eb4 move the debug related stuff from pr_exec.c to pr_debug.c 2002-10-23 20:42:02 +00:00
Bill Currie
3a3da6a1c4 nuke PR_InitEdicts as it's redundant and only used in the tools due to
forgetting to remove it
2002-10-23 15:55:38 +00:00
Bill Currie
a4a5bb2d72 split out the parsing code 2002-10-23 04:57:08 +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
Bill Currie
80e85226b9 pr_xstatement now always reflects the currently executing statement making
debugging easier in the event of a segfault
2002-10-22 15:07:54 +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
1d96156936 make sure files loaded by the progs engine can be freed safely 2002-10-22 04:30:20 +00:00
Bill Currie
6203d450eb resture pr_xstatement on return from PR_ExecuteProgram so recursive calls
don't mangle things with the new semantics of builtin calls
2002-10-22 02:51:57 +00:00
Bill Currie
aad04efe25 move the correct amount of bytes (I keep forgetting the * 4 :P) 2002-10-21 16:38:45 +00:00
Bill Currie
b345f510fa provide Hash_Buffer so buffers can be hashed 2002-10-20 03:30:22 +00:00
Bill Currie
4810046f39 copy the correct number of bytes 2002-10-17 19:33:06 +00:00
Bill Currie
4da662eb47 implement pr_obj_msg_sendv 2002-10-16 22:17:26 +00:00
Bill Currie
be4b8096d4 two new instructions: move and movep: basicly memmove. qfcc support coming
as soon as I get it working :)
2002-10-16 06:44:41 +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
Bill Currie
1f0b6e84a5 change pr_obj_msgSend and pr_obj_msgSend_super so they either call builtin
methods directly or setup the progs struct for a normal function call to
call a progs method rather than recursively calling PR_ExecuteProgram. This
will reduce method call overhead (both cpu and stack usage), fix the loss
of tracing when calling a method and makes it possible to break out of the
progs engine simply if threaded progs are ever implemented.
2002-10-15 18:53:33 +00:00
Bill Currie
99350cf4f1 cleanup some bitrot that caused qf to seg when using the null sound driver 2002-10-15 17:32:47 +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
652907bc58 X overlays crash fix from Vincent Cojot 2002-10-11 21:32:17 +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
Bill Currie
a055269654 workaround for buggy glibc memcpy (Closes: #28) 2002-10-11 03:29:39 +00:00
Bill Currie
d7e7b7de7d cause the model to load into a calloced buffer rather than the hunk temp
region to avoid the data getting corrupted by cache shufflings. This
/should/ fix the bad extents bug (Closes: #37)
2002-10-11 02:54:02 +00:00
Ragnvald Maartmann-Moe IV
00b798c5b6 MORE whitespace. Will it never end? 2002-10-10 20:12:32 +00:00
Ragnvald Maartmann-Moe IV
0b0f9ee371 More whitespace. 2002-10-10 20:03:23 +00:00
Ragnvald Maartmann-Moe IV
ef47bf6e12 gl_skymultipass -> gl_sky_multipass. Much nicer tab completion. 2002-10-10 19:49:36 +00:00
Ragnvald Maartmann-Moe IV
b025a4e9aa Wh17e5p@c3! 2002-10-10 19:44:27 +00:00
Ragnvald Maartmann-Moe IV
0d28f4d63a More whitespace. 2002-10-10 19:32:19 +00:00
Ragnvald Maartmann-Moe IV
9648fbf181 Whitespace. 2002-10-10 19:24:36 +00:00
Jeff Teunissen
575689296a Tidy up progs dump output, and do some whitespace. 2002-10-08 19:46:42 +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
6917d2c1a3 fix a silly pointed out by sixk@ifrance.com 2002-10-05 02:21:44 +00:00
Ragnvald Maartmann-Moe IV
998d68a833 In GL, have r_speeds 1 display particle count. 2002-10-02 04:15:23 +00:00
Bill Currie
9aa84f4ead case i has 7 visits, not 6 :P 2002-10-02 01:58:29 +00:00
Chris Ison
7c9f1a51ec Bug Fix, mouse didn't work in svga client.Fixed by closing the mouse before initing it due to vga_init initing the mouse when called 2002-09-30 23:16:20 +00:00
Bill Currie
3d668334e6 copy that fix for the other renderers 2002-09-30 21:35:13 +00:00
Bill Currie
d7bbe82efd make sure the bottom part of the console gets updated properly if it covers
the status bar.
2002-09-30 21:25:24 +00:00
Bill Currie
ffb90a510a win32 compile fixes 2002-09-30 16:40:06 +00:00
Bill Currie
4a1db5a998 fix the crash on focus loss when using in_snd_block and -nosound 2002-09-30 03:59:55 +00:00
Bill Currie
6a96697080 use int_val instead of value for vid_fullscreen 2002-09-30 03:31:22 +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
5b9d4fb241 close the file if vorbis doesn't like it 2002-09-26 19:37:01 +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
b0629d24fa handle the new case Despair discovered. 2002-09-23 06:18:48 +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
5189ffeae9 fix software model lighting 2002-09-18 14:38:41 +00:00