Brian Koropoff
61d315755a
Fix a braino that most likely broke concatenation.
2003-02-26 02:51:40 +00:00
Ragnvald Maartmann-Moe IV
5fc069753a
Warning fix (c might be used before initialization).
...
Too tired to check if there's an actual bug there. Goodnight...
2003-02-25 08:35:31 +00:00
Brian Koropoff
020a9262f7
Made the parser anal about concatenation usage and fixed several bugs by
...
running /dev/urandom through carne to catch problems.
2003-02-25 08:04:48 +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
Brian Koropoff
71a4ff6379
Use floor() or ceil() based on sign for 'trunc' GIB math function.
2003-02-23 22:53:36 +00:00
Brian Koropoff
6141bc35d0
Removed the 'random' GIB builtin and replaced it with the rand() math
...
function in the math evaluator. Added the trunc() math function as well.
2003-02-23 22:14:07 +00:00
Brian Koropoff
36774a612d
Use atof when checking truth values.
2003-02-23 21:14:33 +00:00
Brian Koropoff
5acf0bbeda
Fixed a bug in the 'contains' GIB builtin and added more to the GIB docs.
2003-02-22 07:19:51 +00:00
Brian Koropoff
a9fa6c06d5
Remove some stupid hacks so that negation works again.
2003-02-17 20:33:56 +00:00
Brian Koropoff
00d71f13f6
Make %var expansion actually work.
2003-02-17 08:55:40 +00:00
Brian Koropoff
f6da3baa1e
Temporarily fixed GIB filesystem access until I can work out a system that
...
better meshes with the new QFS. Fixed up some GIB scripts a bit.
2003-02-16 21:27:18 +00:00
Brian Koropoff
760210dc7b
GIB: Many bugfixes and cleanups. Added bitwise math operations, expansion
...
of leaf names in a stem variable via %var, the builtin functions 'count'
and 'contains', and an initial interface between qw-server and GIB to allow
querying of clients and their info strings. Also cleaned up the chat event
interface a bit. Renamed a few builtins.
2003-02-16 19:46:34 +00:00
Brian Koropoff
af520a373a
More cleanups and bug fixes. Added stem-and-leaf variables back in and
...
added the global::delete builtin.
2003-02-16 02:44:24 +00:00
Brian Koropoff
fc37941ca5
Tidied up some Sys_Printf()s that indent mangled.
2003-02-15 02:27:25 +00:00
Bill Currie
c91137e4db
run gib through indent
2003-02-14 22:42:11 +00:00
Bill Currie
851d203916
work towards a more secure qfs
2003-02-14 22:36:10 +00:00
Bill Currie
68d2167c9e
fix a sequence point issue that could cause index to be put on the stack
...
before being initialized
2003-02-14 20:36:15 +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
Brian Koropoff
5870c2cbce
Nuked some code obsoleted by reference counting.
2003-01-31 21:47:16 +00:00
Brian Koropoff
48c3e5a6c3
Fixed a stupid, stupid bug.
2003-01-31 20:36:39 +00:00
Brian Koropoff
b0e6f46b7e
GIB: Even more bugfixes.
2003-01-31 05:22:20 +00:00
Bill Currie
fdb74e1aba
win32 doesn't like random
2003-01-31 04:40:40 +00:00
Brian Koropoff
47d35f3e2d
GIB: Added ifnot, fixed several bugs, updated zoom.gib yet again.
2003-01-31 03:43:56 +00:00
Brian Koropoff
580ca17546
GIB: Added proper reference counting on parse trees, got threads working
...
again, added a few new builtins and renamed some others, made misc. fixes
and enhancements.
2003-01-30 23:26:43 +00:00
Brian Koropoff
4ee0c42dcc
Made GIB var substitution use cvars as a last resort.
2003-01-30 20:43:57 +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
06cd013fc6
Fix for older compilers that only allow variables to be declared at the top
...
of a program block.
2003-01-28 23:55:21 +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
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
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
Brian Koropoff
c522970a88
Added a GIB event system for registering GIB callback functions to be
...
started when a named event occurs. Added a few test events to the qw
client and server. Cleaned up the range GIB builtin a bit.
2003-01-03 04:30:38 +00:00
Brian Koropoff
79a638198d
Fix a memory leak.
2003-01-03 04:15:32 +00:00
Brian Koropoff
091e9d3f3d
A few cleanups, and made assignment/incremement/decrement operations
...
return a value.
2003-01-03 04:10:50 +00:00
Bill Currie
b8216807fe
fix a warning
2002-12-14 01:56:37 +00:00
Brian Koropoff
32e5e6ef0b
Numerous GIB bug fixes and optimizations. Fixed/updated some GIB scripts
...
as well.
2002-12-13 23:36:05 +00:00
Brian Koropoff
74ee0cfd0e
Changed the behavior of field::get with a null field separator to match
...
that of for loops. Added support for var++, var--, var += foo, var -= foo,
var *= foo, and var /= foo.
2002-12-10 00:04:15 +00:00
Brian Koropoff
91266619f3
Added the sqrt and abs math functions and the continue GIB builtin. I
...
changed where a loop program gets copied back into its buffer so that the
continue builtin would work.
2002-12-08 20:55:40 +00:00
Brian Koropoff
0a8ff6a8cf
In addition to .gib files, anything exec'ed from within a GIB buffer is now
...
put in a new buffer on the stack and stripped of comments. Fixed an
instance of a function name that I forgot to change in cb.gib.
2002-12-03 05:54:13 +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
a62a92c1be
Fixed regex::extract to start at the correct argument when setting the
...
value of variables.
2002-11-21 00:20:39 +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