Brian Koropoff
f8baa5be27
Added a finalize method to all Objects and modified the garbage
...
collector to deal with objects that might gain references during
finalization.
2003-12-09 06:57:35 +00:00
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
Ragnvald Maartmann-Moe IV
5686ff51e5
Make R_DarkFieldParticles & R_EntityParticles work in all renderers.
2003-10-22 06:00:36 +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
Chris Ison
392902f5af
added SND_NoResampleStereo so that streams that don't need resampling aren't forced to, also added midi support via libWildMidi, MIDI FILES RULE
2003-09-10 05:20:51 +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
Ragnvald Maartmann-Moe IV
dc8e9422a2
Qize's patches. Add some more backwards-compatibility aliases to ln.gib,
...
remove a dead cvar, and don't display a message about what to do to connect
when use +connect already...
2003-09-01 01:52:20 +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
Ragnvald Maartmann-Moe IV
c2053fbfb1
Prettier particles! Renderer is now informed of sv_gravity changes in qw. Not
...
supportable without protocol changes in nq.
2003-08-27 22:20:03 +00:00
Bill Currie
415fae8d6b
make the two normals arrays consistent
2003-08-26 07:00:13 +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
Brian Koropoff
695fe40e29
Same changes, this time to HEAD.
2003-07-15 21:46:12 +00:00
Brian Koropoff
b7d076feab
Add support for run-time regex options (REG_NOTBOL and REG_NOTEOL),
...
and more text transformation functions.
2003-07-15 21:40:37 +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
f5cf955f21
win32 finally builds again
2003-06-05 18:25:41 +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
Brian Koropoff
bf675e793e
Fixed a few GIB bugs, added the chomp builtin.
2003-05-14 21:13:41 +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
5e56e01790
qw now has centered scoreboard :)
2003-05-07 17:23:18 +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
4a73d5dc45
this seems to fix the "end of file" issues on streams
2003-04-26 04:30:07 +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
52f41f8095
make streams work in chunks of 256 samples (won't work so well for non power
...
of 2 resample rates :/)
2003-04-20 03:42:19 +00:00
Bill Currie
49571b257d
crystal clear playback on resampled streams :) (still borked when shared,
...
though :/)
2003-04-17 17:43:21 +00:00
Bill Currie
64d5e4e053
mindHog's (mindhog@mindhog.net) plugin command patch
2003-04-17 15:18:16 +00:00
Bill Currie
eb099ae0d3
make qf gcc 3.3 clean
2003-04-17 00:01:48 +00:00
Bill Currie
5505aba316
minor cleanups
2003-04-15 04:03:02 +00:00
Bill Currie
da44c783fb
get the new sound system mostly working. just getting a bogus read count
...
in the stream reader at the moment, otherwise it's working wonderfully :)
2003-04-15 02:34:17 +00:00
Bill Currie
9fda72c119
streamed sounds /almost/ work. sound like crap but no crashes
2003-04-14 15:47:08 +00:00
Bill Currie
d5c2c092b1
pre-emptive make dist fixes :)
2003-04-14 06:17:28 +00:00
Bill Currie
aab4dcf931
getting there with streams. just need to get the painters working, I think.
...
(streaming currently disabled for anything < 30s :)
2003-04-14 06:11:53 +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
Bill Currie
1b2d7b79a6
streams getting closer, not working yet, though
2003-04-13 06:46:24 +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
Bill Currie
948c97a6a4
cached wav files almost work (seems cached ogg are borked now :/)
2003-04-11 18:59:14 +00:00
Brian Koropoff
f287e78030
Optimized the way resetting buffer states occurs and fixed thread::kill so
...
threads actually die as they are supposed to.
2003-04-11 05:58:58 +00:00
Bill Currie
8012a408b8
90% there for cache wav support. will likely segfault :)
2003-04-11 04:39:51 +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