Brian Koropoff
991fc06360
Garbage collection:
...
Moved from reference counting over to a mark and sweep method. Objects
are now required to implement an allRefs method which returns a pointer
to a list of all other referenced objects. How the list is maintained
is up to each object. The retain/release mechanism still works; objects
with any references will not be garbage collected, even if the collector
thinks they should be.
2003-12-09 02:01:05 +00:00
Brian Koropoff
e498b196fe
Fix a bug with ArrayList_Deinit_f (tried too hard to be clever), and add
...
an incremental, reference counting garbage collector for QFobjects. A
different kind of collector will eventually be needed to run once in a
while to sweep up cyclic structures.
2003-12-07 22:45:32 +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
Bill Currie
09143b7fb1
more whitespace
2003-12-06 22:49:18 +00:00
Bill Currie
4d3ca27227
white space
2003-12-05 22:33:11 +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
dfe1dbe4bf
This should fix object.h on gcc 2.95.
2003-11-29 22:51:16 +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
Brian Koropoff
37a64e59ab
Change some error names, mark a few things static that should be. Instead
...
of using a colon to specify a parent class in a GIB class definition,
"extends" is now used. If no parent class is specified, it now defaults to
Object.
2003-11-29 02:01:31 +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
5f5662a063
PF_VarString return a plain char * and make it easier to add "at load" init
...
functions
2003-11-20 07:46:56 +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
f4c174184d
Add support for named arguments in GIB functions and methods, fix a few
...
bugs, allow subclasses of classes written in GIB to access the same set
of instance variables.
2003-10-19 00:51:47 +00:00
Brian Koropoff
ad61e0684c
Make GIB_Reply an actual function, store object handles as a string, add
...
the ObjectHash class.
2003-09-21 00:30:47 +00:00
Bill Currie
84ea81a770
fix E_POINTER and E_FUNCTION
2003-09-12 23:12:21 +00:00
Brian Koropoff
362d58fd95
Made reference counting of objects more sane. If a message is sent by an
...
object, the sending object is included in the message. This is available
in GIB-scripted methods as the local variable "sender", which will be 0
if the sender was not an object.
2003-09-11 08:51:44 +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
4ce44cf9eb
PNG write support from DrSpliff
2003-09-09 16:18:13 +00:00
Bill Currie
2ea7ca1efd
windows has a LoadImage #define, so kill it :)
2003-09-08 15:49:21 +00:00
Bill Currie
6b036d14ed
in_mouse_accel patch from qize@gmx.net
2003-09-04 22:29:40 +00:00
Bill Currie
2b5a3753ca
nuke QF/texture.h moving it's contents into QF/image.h (yay, finally, a
...
real home for tex_t:)
2003-09-04 18:59:39 +00:00
Bill Currie
39ed540979
LoadImage is now used for all external textures giving almost transparent
...
.png and .tga support.
2003-09-04 18:46:59 +00:00
Bill Currie
753dc02deb
use dtrings to do the filename manipulation
2003-09-04 18:09:02 +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
d186f242b7
DrSpliff's LoadImage code (thanks:)
2003-09-04 16:32:39 +00:00
Bill Currie
3305c0f51f
PNG reading support, much thanks to DrSpliff
2003-09-04 05:24:05 +00:00
Bill Currie
231a1bfb56
bring in many of LordHavoc's changes to qbsp: HalfLife WorldCraft texture
...
alighnment, partial "point of plane" autocorrection (currently disabled: I
want to make it optional), large map support (not sure where that's
hiding), hipnotic entity rotation
2003-09-03 22:00:08 +00:00
Bill Currie
ef4ca0c798
some doxygen tweaks
2003-08-31 05:24:24 +00:00
Bill Currie
8868a9d0bd
get rid of some unneeded defines and ifdefs
2003-08-28 23:26:59 +00:00
Bill Currie
b50d283b28
make sel_get_uid and class_get_instance_method work
2003-08-23 22:16:42 +00:00
Bill Currie
385a90e8fb
correct pr_symtab_t to include the pointer to the array of selectors used
...
in the module. Unfortunatly, this requires a version bump on both qfo and
progs files due to the changes structure layout.
2003-08-23 06:15:19 +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
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
9210829573
PLUGIN_INFO decl cleanup
2003-08-01 19:53:46 +00:00
Bill Currie
0806fc33dd
debugging improvements. opcodes now sport an optional format specifier for
...
printing their args (default is "%Ga, %Gb, %gc") and PR_ValueString will
try to print what a pointer points to
2003-07-30 22:24:16 +00:00
Ragnvald Maartmann-Moe IV
5838cfb565
Missed one. And fixed duplicate declaration of scr_viewsize Deek noticed.
2003-07-28 00:32:41 +00:00
Ragnvald Maartmann-Moe IV
0a7b56f003
show_fps -> hud_fps, show_ping -> hud_ping, show_pl -> hud_pl,
...
show_time -> hud_time, show_scoresuid -> hud_scoreboard_uid
2003-07-27 23:20:11 +00:00
Jeff Teunissen
c9858f4f65
Preliminary "unsigned" support for qfcc and the gamecode engine. Should still
...
be compatible.
2003-07-26 21:07:51 +00:00
Bill Currie
6063fb75d9
make the console run at full speed no matter what demo_speed is at. what a
...
lot of work for such a simple concept :P
2003-07-25 22:21:47 +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
9367a62e0a
turned out not to be the right solution
2003-07-17 19:16:20 +00:00
Bill Currie
043ec906c4
qnx patch from DrSpliff
2003-07-17 15:17:41 +00:00
Bill Currie
cb6bf2e2ae
minor house-keeping
2003-07-15 16:34:43 +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
d42e011760
make dist fix
2003-06-04 18:26:19 +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
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
6a8469df14
start working on VA support for borked GL libs
2003-05-21 21:53:21 +00:00
Bill Currie
dedb2fa6bf
get [super ...] working correctly
2003-05-15 05:58:31 +00:00
Brian Koropoff
e160ead563
Added the scriptable HUD interface between the engine, Rua, and GIB.
2003-05-14 21:17:32 +00:00
Bill Currie
b5a960c57b
fix nq's gamedir handling for the -hipnotic etc shortcuts
2003-05-09 21:10:59 +00:00
Ragnvald Maartmann-Moe IV
09fa88e637
Don't export R_TestErrors.
2003-05-09 01:30:22 +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
f12f4a8898
add view_insert to provide greater control over view order
2003-05-06 02:41:37 +00:00
Bill Currie
56bfc6dc45
fix the input line location bug and change enabled to visible due to
...
enabled meaning something else in UIs
2003-05-06 02:25:46 +00:00
Bill Currie
508fb4fb5c
new view stuff mostly working. just a few visual bugs to iron out
2003-05-06 02:19:13 +00:00
Bill Currie
1bdcd879be
initial work on dynamic view support for the console. I'm aware that
...
QF/view.h vs view.h may cause some confusion, but I'm hoping to eleminate
view.h.
Also put the sample hud.txt into docs so it doesn't get lost.
2003-05-05 18:50:14 +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
0985c90ce9
hash.h:
...
write some docs on mixing (eg) Hash_Add and Hash_DelElement
sv_user.c:
fix a warning
2003-04-28 16:04:22 +00:00
Bill Currie
f7d806e8d5
can now handle > vector sized parameters
2003-04-22 20:11:16 +00:00
Bill Currie
e732cf591d
remove all references to OFS_* from the C code. only the macros in progs.h
...
use them now
2003-04-22 18:20:15 +00:00
Bill Currie
714bd341fc
'copy' streams on openning. fixes the shared stream issues, though other
...
problems might arrise (eg, running out of file handles or memory)
2003-04-20 07:19:51 +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
Brian Koropoff
11e2f0d16a
Added a generic interface for using handles in GIB and made GIB threads
...
use it.
2003-04-14 01:17:55 +00:00
Brian Koropoff
e707e9bb89
Moved gib_*.h into include/ and moved the necessary declarations and struct
...
definitions to QF/gib.h to interface with libQFgib.
2003-04-13 22:07:58 +00:00
Brian Koropoff
3b703db4d4
Added the beginnings of an interface between Ruamoko and GIB. Although the
...
API is by no means finalized, it's now possible to write GIB builtins in
Ruamoko that can take arguments and return values to GIB.
2003-04-13 20:43:52 +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
e3f8c833ad
getting closer. wav's successfully load, but playback is always looped (?).
...
oggs hang
2003-04-11 21:14:38 +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
Brian Koropoff
af114732ef
Oops, forgot these.
2003-04-11 04:37:41 +00:00
Brian Koropoff
d8c0f50c11
The ultimate GIB bugfix commit, including reworked semantic processing,
...
a fix for arguments passed to a GIB function run via rcon, and various
other fixes.
2003-04-11 02:57:11 +00:00
Bill Currie
ccb56eea39
half way though the sfx loader re-write. nothing works :)
2003-04-11 01:17:48 +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
0045ab7c09
implement Qungetc and nuke Qgetpos and Qsetpos
2003-04-10 21:11:40 +00:00
Bill Currie
022cac6082
oops, forgot this
2003-04-10 16:53:54 +00:00
Bill Currie
e937fecdc1
move the riff reading code into libQFutil
2003-04-10 16:52:39 +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
d3b6fcbd61
revert the inappropriately complicated event code for the simpler version.
...
even that's not likely to be final
2003-04-08 19:20:48 +00:00
Bill Currie
255a7522bd
merge IN_SendKeyEvents and IN_Commands into IN_ProcessEvents
2003-04-08 18:45:12 +00:00
Bill Currie
35eb866603
kill VID_HandlePause and IN_HandlePause as they never did anything and
...
IN_ModeChanged as it's a dead prototype
2003-04-08 17:55:32 +00:00
Bill Currie
01bff9c79e
WildCode's alias model VA prepatory patch
2003-04-08 04:13:49 +00:00
Bill Currie
0b0dfcc38e
nuke the string api (never really liked it)
2003-04-08 02:35:09 +00:00
Bill Currie
13fd0b8533
nuke the string hash api as it's been obsoleted
2003-04-07 22:34:39 +00:00
Bill Currie
7001f1d851
plist api (hope it works:)
2003-04-07 20:02:06 +00:00
Bill Currie
d5003f363d
make plist arrays unlimited in size
2003-04-07 19:29:52 +00:00
Bill Currie
33c9ce0f7b
add hash table api
2003-04-07 16:38:34 +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
Ragnvald Maartmann-Moe IV
3bfdf0aea3
Test for gl errors every frame.
2003-03-21 21:28:09 +00:00
Bill Currie
00c61fe07c
add a luminance/alpha tex def
2003-03-20 23:30:24 +00:00
Ragnvald Maartmann-Moe IV
88c2735d9c
Make sprite rendering use vertex arrays, as a test for detection of vertex array support (tests only for OpenGL 1.1 or better, at the moment, no driver blacklist yet).
2003-03-20 19:58:18 +00:00
Bill Currie
3423ed59d5
expand the plist api to make plist creation easier
2003-03-18 19:15:31 +00:00
Bill Currie
71a60717d9
make pr_source_path a ; separated list of dirs and make it controllable in
...
qfprogs
2003-03-12 22:31:44 +00:00
Bill Currie
c731afa957
hopefully fix the input grabbing (and evem more hopefully, without driving
...
Despair to ... um... ;)
2003-03-07 03:55:51 +00:00
Brian Koropoff
2be8a851d5
Oops, make 'return' GIB builtin actually end the current function.
2003-03-01 02:44:58 +00:00
Bill Currie
a9a169e820
make the more relevant parts of qfs available to progs. bi_file.c will
...
eventually be moving into bi_qfs.c
2003-02-28 05:35:27 +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
0fd0bd5d96
Replace removed bigendian declaration.
2003-02-23 22:53:03 +00:00
Bill Currie
c026e61d22
make LittleLong and co defines rather than function pointers
2003-02-22 23:23:16 +00:00
Bill Currie
6805d479f3
improve Hash_Free's docs
2003-02-21 02:37:44 +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
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
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
Bill Currie
fd7636137d
implement a proper (and optionally secure) QFile interace for ruamoko.
2003-02-14 18:17:17 +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
Ragnvald Maartmann-Moe IV
2cb4c7836d
Remove dead cvar.
2003-02-14 02:21:31 +00:00
Ragnvald Maartmann-Moe IV
911933c8fd
*punts cvs*
2003-02-13 19:04:08 +00:00
Bill Currie
53d3252792
don't adjust the system gamma unless the window has focus. also quench an
...
internal warning (the event system can't handle shm events (doesn't seem to
need to anyway)).
2003-02-13 18:24:30 +00:00
Bill Currie
4bd1718475
re-arrange viewsize handling to fix the hud bug in glx
2003-02-11 21:24:27 +00:00
Bill Currie
2dc7cbaef0
remove a redundant prototype
2003-02-10 21:04:50 +00:00
Bill Currie
3ab4eb6545
Arkadi's mach64 patch
2003-02-06 21:47:33 +00:00
Brian Koropoff
5870c2cbce
Nuked some code obsoleted by reference counting.
2003-01-31 21:47:16 +00:00
Bill Currie
05fb5f9fb2
partial cleanup. more to come later :)
2003-01-31 20:51:04 +00:00
Bill Currie
c103d77157
make SND_ClearBuffer get called directly by Block/UnblockSound and remove
...
S_ClearBuffer from the api
2003-01-31 19:55:21 +00:00
Bill Currie
881e7918c2
cut some overhead on sound rendering
2003-01-31 19:14:12 +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
Bill Currie
1f16e95564
add gib_tree.h
2003-01-30 04:43:40 +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
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
d63cde4103
import the GL_ARB_texture_cube_map defines
2003-01-15 18:26:58 +00:00
Bill Currie
0ea15c3f82
sw and gl fisheye patches from Arkadi Shishlov (arkadi@it.lv). I don't
...
think /I/ can play that way (dizzy:)
2003-01-15 16:53:34 +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
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
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
86d73f1577
Include protection.
2003-01-03 04:12:27 +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
Bill Currie
a84b6bba5d
make stuff static that can be and nuke some useless stuff
2002-12-16 23:26:14 +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
Bill Currie
92ea1de504
apply Kaare Slettnes' key name extention patch ( Closes : #62 )
2002-12-02 16:26:18 +00:00
Bill Currie
ee30860cef
fix a bunch of ;; typos
2002-11-20 21:44:04 +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
Brian Koropoff
860306e324
Oops, forgot these.
2002-11-19 04:24:09 +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
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
Bill Currie
77288fe90b
make dist fix
2002-11-09 21:56:13 +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
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
62bbd0228a
prototype Com_CollapsePath
2002-11-08 03:12:22 +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
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
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
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
Bill Currie
b345f510fa
provide Hash_Buffer so buffers can be hashed
2002-10-20 03:30:22 +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
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
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
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
d25ee82838
provide a tighter accuracy (but slower) _VectorNormalize for the tools
2002-09-25 21:35:49 +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
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
eec3b7d8bc
fix missed header commit
2002-09-14 07:51:53 +00:00
Bill Currie
f7b4dffcc0
get larger player skins working in gl
2002-09-13 05:32:28 +00:00
Bill Currie
ecdd537183
beat sw gamma handling till GL works. after a fasion. it /looks/ like it was
...
beaten on.
2002-09-10 06:35:32 +00:00
Bill Currie
9f6f50699d
remove vid_basepal, creating vid.palette (current palette) and host_basepal
2002-09-10 03:51:10 +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
Bill Currie
5597dc2408
make maplist work over rcon
2002-09-04 18:56:53 +00:00
Bill Currie
246ab0009c
Change Con_ClearTyping to take a save flag that will cause the current line
...
(if not empty) to be saved in the inputline history.
Clear the input (but put in history) of say or say team when pressing escape.
Don't say or say_team if the text is empty.
2002-08-28 16:02:43 +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
Bill Currie
ec47e08e1c
go back to using QFile, quakeio.h and quakefs.h
2002-08-27 07:16:28 +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
Bill Currie
7f5c99efdc
fix -sdl32 crashing on startup (vid_bitdepth init got lost)
2002-08-26 22:43:34 +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
Ragnvald Maartmann-Moe IV
d757c10f07
Only need one define for R_Cull*
2002-08-23 20:46:19 +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
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
d328e18de2
implement the "new" inputline api making it possible to pull the Draw_*
...
functions out of bi_inputline.c. now somebody can be insane enough to
implement a qc controled console for the server ;) (more importantly, one
step closer to being able to have the server link with libQFcsqc (hah!))
2002-08-20 21:19:53 +00:00
Bill Currie
099e2739b5
various msvc fixes thanks to muzzy (hope he doesn't give up:)
2002-08-20 19:16:11 +00:00
Ragnvald Maartmann-Moe IV
c91f1a2aea
Rename Length to VectorLength.
2002-08-20 02:22:40 +00:00
Ragnvald Maartmann-Moe IV
32a85e7130
Clipping cleanups.
...
Calculate radius for alias models as well as brush.
Culling is no longer optional on alias models (was only ever disabled for viewmodel, which is a lot of extra effort to avoid clip testing 1 thing out of hundreds).
Clip QSG2 scaled alias models with a scaled bbox.
2002-08-20 00:48:59 +00:00
Bill Currie
2b1fd8e8c0
fix the menu keybinding not working bug
2002-08-19 02:48:38 +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
4b1ceb9795
hopefully take care of glGetProcAddress type once and for all :)
2002-08-16 18:29:21 +00:00
Bill Currie
8adad57941
Make the cbuf api use a supplied cbuf rather than allocating its own. Kills
...
a FIXME and (Closes : #32 )
2002-08-14 18:45:09 +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
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
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
Bill Currie
ff14989edf
whitespace
2002-08-06 15:10:46 +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
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
175be2e397
when adding new headers, be sure to update include_HEADERS or EXTRA_DIST as
...
appropriate
2002-08-02 15:35:11 +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
69bf19b6e7
when adding new header files, they MUST be included in include_HEADERS or
...
EXTRA_DIST, as appropriate.
2002-08-01 17:13:58 +00:00
Brian Koropoff
4e85063b52
Added support for execution stacks, misc. cleanups.
2002-08-01 02:42:19 +00:00
Brian Koropoff
439f9838d3
Whoops, missed some stuff that needed to be in idparse.h
2002-07-31 22:13:15 +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
d3ae1b5078
make dist fix
2002-07-31 15:08:56 +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
d00ed9619f
give dstring_adjust a prototype and fix up some whitespace
2002-07-29 19:52:19 +00:00
Bill Currie
edf55349b3
fix dependencies on dstring.h
2002-07-29 19:48:23 +00:00
Bill Currie
d04eeb3ba2
get -wgl working again
2002-07-27 06:43:28 +00:00
Ragnvald Maartmann-Moe IV
587de27849
Another step towards QSG2 compliance.
2002-07-25 14:43:36 +00:00
Bill Currie
de22355371
use P_* for params and R_* for return values in builtins code
2002-07-24 21:42:33 +00:00
Bill Currie
f14815a57f
change msurface_t's extents from short to unsigned short so >> expressions
...
involving it go faster
2002-07-24 15:58:52 +00:00
Ragnvald Maartmann-Moe IV
85c7e43aef
Split lightmaps off from surface drawing.
2002-07-23 19:57:47 +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
Ragnvald Maartmann-Moe IV
e1854315ac
Clean out DDActive, except from -mgl, which isn't supported ATM. Clean up vid_mgl.c comments and dead code a bit.
2002-07-02 20:34:51 +00:00
Bill Currie
104013ae21
heh, we both forgot to nuke the prototypes :)
2002-07-02 19:18:33 +00:00
Ragnvald Maartmann-Moe IV
8c2aa8f840
typo fix and whitespace.
2002-07-02 18:57:38 +00:00
Bill Currie
1828cbff5a
get the type for getProcAddress right
2002-06-28 17:15:49 +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
Bill Currie
c6d83ab9ff
correct the type of getProcAddress for windows
2002-06-26 14:57:40 +00:00
Bill Currie
50af936a29
whitespace
2002-06-26 14:45:00 +00:00
Ragnvald Maartmann-Moe IV
e6e11af426
Move the contents of gl_funcs.c out of the renderer, and into targets where they belong. Also some cleanups. -sgl target is temporarily broken, all others should work.
2002-06-24 21:35:37 +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
5ff7941805
rename sfxcache_t size to bytes
2002-06-16 04:21:25 +00:00
Bill Currie
930ba48862
other than sounds that are ment to loop not looping (due to losing that info
...
when converting to ogg (I've got some ideas on that)), ogg/vorbis support is
working. Doesn't seem to be too much of a load-time hit.
2002-06-15 05:43:56 +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
Ragnvald Maartmann-Moe IV
df55030fa8
Fix alias bounding box sizes, so that large critters don't disappear when at edge of view frustrum...
...
(Taken and debugged from tutorial on quakesrc.org)
2002-06-14 09:33:37 +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
Ragnvald Maartmann-Moe IV
10d7d17fcc
Use vertex arrays for text. Another 1-3% speedup.
2002-06-13 05:24:52 +00:00
Bill Currie
88fc0be127
arrays are /almost/ working again
2002-06-12 22:37:18 +00:00
Bill Currie
0b1d1ade73
qfprogs can now read the debug data
2002-06-11 17:24:37 +00:00
Bill Currie
e3055837fa
make the opcode a 16 bit enum to help with debugging (I hope this doesn't
...
cause problems on weird archs).
2002-06-09 16:27:31 +00:00
Bill Currie
ef57625355
move pr_type_t
2002-06-07 20:56:54 +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
Ragnvald Maartmann-Moe IV
ceb73449bb
Order of operations cleanup, QSG2 alpha is now colormod[3] in entities.
2002-06-07 11:25:47 +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
81b49f3815
d'oh
2002-06-03 06:26:08 +00:00
Bill Currie
5f3f4b6f69
make sure exceptions are masked
2002-06-03 06:15:59 +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
94035acbd2
whitespace
2002-06-01 06:58:32 +00:00
Bill Currie
55fcead77c
look for the .this field but don't complain if not found
2002-05-31 17:21:38 +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
Bill Currie
7a3b63418b
`adequate' temporary fix for r_lightmap_components 1
2002-05-28 04:11:40 +00:00
Bill Currie
6fbf011073
rpm building fixes
2002-05-27 20:28:10 +00:00
Ragnvald Maartmann-Moe IV
f1f942dfd1
Hacking my way towards working r_lightmap_components 1.
...
Users of r_lightmap_components 1, should set `int mod_lightmap_bytes = 1` at the start of `quakeforge/libs/models/brush/gl_model_brush.c`.
2002-05-25 15:29:22 +00:00
Bill Currie
33e055209e
Semi-major (more than minor:) progs convenience macro cleanup. There will
...
be more to come.
2002-05-22 22:35:37 +00:00
Bill Currie
dc3f106faf
define G_POINTER convenince macro. null progs pointers will be null in C
...
redefine G_STRUCT to use G_POINTER
2002-05-22 21:50:24 +00:00
Bill Currie
9820c5d45a
start working in the obj runtime. any and all functions named ".ctor" will
...
be run in the order found.
2002-05-21 21:29:49 +00:00
Bill Currie
9f06f89d57
write out the module data needed for the obj runtime
2002-05-21 21:28:40 +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
967d39541a
Optimized GIB a bit.
2002-05-17 21:38:37 +00:00
Bill Currie
ef9f9cda2f
pr_obj.h:
...
define the class info stuff
expr.h pr_def.c:
fix a FIXME
class.c expr.c type.c:
make id ev_pointer.ev_object rather than ev_pointer.ev_class
2002-05-17 17:37:44 +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
539d0ac10e
correct a bunch of syntax errors
2002-05-15 19:27:23 +00:00
Bill Currie
6a5bbf6f0a
memory allocation checking cleanup
2002-05-14 06:37:28 +00:00
Bill Currie
91779b04f7
new tool: qfprogs. currently only disassembles progs, but the idea is for it
...
to become a progs oriented nm, objdump etc
2002-05-13 19:37:36 +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
Bill Currie
69894d96c4
define the obj structs needed for the runtime
2002-05-11 04:04:30 +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
Bill Currie
73e6cf062c
implement type encoding
2002-05-10 23:19:57 +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
Bill Currie
594d81b6f0
add dstring.h to include_HEADERS
2002-05-01 20:12:48 +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
cd6217bd21
bah, __builtin_expect is new in gcc 3
2002-04-25 04:51:04 +00:00
Bill Currie
da994c16e5
rewrite R_SplitEntityOnNode to be itterative rather than recursive (using
...
a static `stack') to avoid the function call overhead. this cuts about 40%
of the execution time from this function.
No matter what I tried, best results were obtained using __builtin_expect,
so make sure non-gcc compilers do the right thing when they encounter it.
2002-04-25 04:32:55 +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
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
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
Jeff Teunissen
a4f3973ef1
Add multitexture support for Alias models, and disable the multitexture
...
support for BSP models, until they can be fixed. gl_multitexture should now
actually be a speedup!
NOTE: Some OpenGL implementations have trouble with the texture function
used. 3Dfx Voodoo 1/2 are known to have this trouble. I don't know how to fix
this, or even if it can be fixed. :/
2002-04-16 16:51:35 +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
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
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
d00d6a539a
add dstring_insertsubstr
2002-03-21 21:53:52 +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
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
Bill Currie
5f2dea43f6
break the dependency between cmd.h and dstring.h
2002-03-18 16:47:04 +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
Robin Redeker
757556022b
1. general menu code cleanup
...
2. added lots of comments to my menu code
3. wrote a string hash api (key -> value assignment list)
Hm, nothing else afaik. ;)
2002-03-16 15:52:17 +00:00
Bill Currie
180c517771
signal handling improvements
2002-03-13 19:20:57 +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
1d420edcd0
start work on instrumenting GLstub.so
2002-03-11 23:55:50 +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
Bill Currie
544ca8118a
"gib" never got all that useful, and with the new command parser coming in
...
and csqc, it's pretty obsolete, too.
2002-03-05 21:47:03 +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
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
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
Robin Redeker
f8452e5d26
Added declarations for QC-Keys-API.
2002-01-31 21:09:36 +00:00
Bill Currie
d1460f6166
rename the width parameter to lsize as it's the size of the input line, not
...
the drawn width
2002-01-30 21:23:46 +00:00
Bill Currie
6d63d1d55b
implement comparisons and not for pointers
2002-01-30 21:20:12 +00:00
Bill Currie
c76f7d88ce
fix an API snafu (oops:)
2002-01-30 08:09:53 +00:00
Bill Currie
c66bc5a6eb
whitespace
2002-01-30 06:29:32 +00:00
Bill Currie
8561dfa93a
basic resource management system for the VM
2002-01-30 06:21:20 +00:00
Bill Currie
0ea713eda4
redo the progs loader to allocate all the memory needed for progs in one
...
shot, allowing for caller specified alloc and edicts and zone memory sizes.
(progs + edicts + zone).
2002-01-29 20:53:44 +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
21b6e68a8c
break out the non-edict code into sensible locations
2002-01-28 17:15:36 +00:00
Bill Currie
750100b3e3
obsolete declaration cleanup and const correctness for Key_GetBinding
2002-01-25 00:01:05 +00:00
Bill Currie
85588c8fcb
start implementing the api for input lines and clean up a couple csqc
...
prototype issues.
2002-01-23 22:37:44 +00:00
Bill Currie
68637eea9e
start implementing dynamic memory for progs
2002-01-23 22:35:48 +00:00
Bill Currie
ad8b5670e2
prototype Z_ClearZone
2002-01-23 22:34:46 +00:00
Bill Currie
00b1ea4340
remove obsolete function
2002-01-23 22:34:08 +00:00
Bill Currie
52aa1c311b
qfcc now supports typedef
2002-01-23 21:16:43 +00:00
Bill Currie
3f958ae29b
more make dist fixes
2002-01-22 18:04:03 +00:00
Bill Currie
d936d5d1d5
fix a missing ;
2002-01-22 03:05:48 +00:00
Bill Currie
3ae15803fa
protect against gcc 2.94.4's stdbool.h
2002-01-21 20:00:38 +00:00
Bill Currie
20eec42a93
allow keys.h to be used in QC
2002-01-21 19:10:01 +00:00
Bill Currie
5b0e6dc342
add file and string modules to csqc. the file nodule is rather parnoid
...
about the path it's handed (need to get even more paranoid, though). the
string module just has char replacement so far. Add Draw_CenterPic to
r_progs.c, but this will only last till qpic_t is supported in qc.
the load menu almost works: just need to add key handling and fix a bug in
PF_sprintf
2002-01-21 07:24:51 +00:00
Bill Currie
e8f6fced0b
call BI_Init in the clients
2002-01-20 04:10:36 +00:00
Bill Currie
1168f1aa86
libQFcsqc (I'm not adverse to renaming it) is born. so far, only provides
...
Cbuf builtins.
2002-01-20 04:09:36 +00:00
Bill Currie
14ac3acc17
add a builtin (gametype) for detecting the, well, game type (ie, netquake
...
or quakeworld) which just returns the apprproate string. the single player
menu is now acessable in nq but not qw :)
2002-01-20 03:09:03 +00:00
Bill Currie
35de51ee31
the quit menu works now. however, quit from the console doesn't
2002-01-20 00:06:08 +00:00
Bill Currie
6af9a5d8e6
make the builtins an array of pointers so the hash table doesn't get royally
...
screwed up
2002-01-19 03:31:51 +00:00
Bill Currie
fcc9cbf3b7
the main menu page now displays and can be entered/left. K_ESCAPE is now
...
handled exclusively by the console.
2002-01-18 23:45:28 +00:00
Bill Currie
10acad1ee4
first tie-in for the renderer (Draw_Pic: the interface will likely change
...
to better match the real interface, but this will do for now)
2002-01-18 22:35:46 +00:00
Bill Currie
ac71d101d2
menu code now gets initialized (menu_init in the progs).
2002-01-18 22:02:59 +00:00
Bill Currie
bb96a5b736
first use of client side QuakeC :) (and having more than one progs instance
...
seems to work, too). The menu code gets loaded, but is currently otherwise
unused as of yet.
2002-01-18 19:19:33 +00:00
Chris Ison
e3b2bfb81a
clear key states on game start
2002-01-17 22:04:58 +00:00
Bill Currie
c86c5a78bf
finally, the client console is merged
2002-01-16 21:53:42 +00:00
Seth Galbraith
778af4276e
external tga skin loading, doesn't work for players (teamcolor stuff)
2002-01-16 20:32:39 +00:00
Bill Currie
9dedd21158
start getting the shared console code working
2002-01-16 16:27:56 +00:00
Seth Galbraith
93116bc827
external mip texture loading
2002-01-16 01:02:50 +00:00
Chris Ison
6073ff8d58
added Draw_nString for displaying a non \0 terminated string
2002-01-09 21:20:22 +00:00
Bill Currie
72d6f34dc8
first step to using a saner internal represnetation for the high precietion
...
models.
2002-01-07 06:32:46 +00:00