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