Commit graph

2094 commits

Author SHA1 Message Date
Bill Currie
595280decb do the builtin function lookup at load time rather than runtime and store
the function address in the progs function descriptor. this will speed up
calls to builtin functions, especially when ranges get introduced.
2004-01-05 08:08:46 +00:00
Bill Currie
dfc83c1f5f add PR_PushFrame and PR_PopFrame so temp strings are easy to use for
parameters to progs functions.

double the progs stack sizes (call depth of 32? eek)

allow one extra call on the progs stack :)

misc minor cleanups
2004-01-05 07:10:32 +00:00
Bill Currie
211908e741 implement a couple more obj functions 2004-01-05 01:41:20 +00:00
Bill Currie
dfe7f263c7 new internal printf engine for progs, mostly thanks to Deek.
also a few cleanup bits
2004-01-04 07:42:43 +00:00
Bill Currie
538d669887 micro-tidy while pondering how to rework this whole mess 2004-01-04 03:24:37 +00:00
Bill Currie
a533761770 Nuke PR_GarbageCollect as it's both redundant with the new temp strings
and wrong anyway (could free strings it wasn't supposed to).

Don't free the string pointed to by a strref since it's already been
implicity freed (whole memory space nuked). Fixes new map crash.
2004-01-04 02:03:30 +00:00
Ragnvald Maartmann-Moe IV
043c1ce466 Check for %s_luma as well as %s_glow. Also a bit of whitespace. 2004-01-04 01:20:20 +00:00
Bill Currie
bd561fafc3 o all progs strings are now stored in progs memory
o  temporary strings automaticly get freed when the function they're
    created in (results of str + str and most strings returned from
	builtins). a way to keep temp strings will be provided later
 o	fix up qwaq to test the temp strings
2004-01-03 08:43:57 +00:00
Bill Currie
40b8974c33 better external skin handling from Grievre 2003-12-28 05:25:06 +00:00
Ragnvald Maartmann-Moe IV
9dbb8335f6 Fix loading of some sky textures. 2003-12-23 22:24:48 +00:00
Ragnvald Maartmann-Moe IV
1be98dcf08 gl_external_textures -> gl_textures_external, plus whitespace & codingstyle. 2003-12-23 20:05:52 +00:00
Bill Currie
4b6b5135ac more texture tweeks from Griever: gl_external_textures 2003-12-23 08:38:33 +00:00
Bill Currie
9f76665963 luma tweak (redundant code removal) from Grievre 2003-12-23 07:22:04 +00:00
Bill Currie
5eff81b005 dstrings now have individual memory management functions 2003-12-22 23:35:22 +00:00
Bill Currie
e53967b346 --disable-static now works (thanks for the heads-up, raorn) 2003-12-22 20:51:08 +00:00
Bill Currie
069ee8657f fix a typo that prevented the asm lib getting the correct flags 2003-12-22 19:59:33 +00:00
Bill Currie
0307618b15 use the passed "size" parameter rather than qfs_filesize: no telling
/where/ the progs really came from :)
2003-12-22 19:58:46 +00:00
Ragnvald Maartmann-Moe IV
5f76017d2a Update ALSA sound target to support 1.0.
Breaks 0.9 support, but 1.0 is in 2.6.0. So either update, or revert to older
snd_alsa.c & alsa_funcs_list.h.
2003-12-22 01:07:49 +00:00
Ragnvald Maartmann-Moe IV
12d3a137a1 Luma texture support for brush models (From Fuh, by way of Grievre). 2003-12-21 08:02:03 +00:00
Bill Currie
9e3f33f318 don't need to see these :) 2003-12-19 04:25:07 +00:00
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
c3e7832d85 correct gamma test thanks to Grievre 2003-12-07 04:21:58 +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
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
cb7ecd9f26 make certain Cmd_ExecuteString calls the command system with an active cbuf 2003-11-25 02:47:05 +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
7ea30f3f87 use the new pr load hook for resolving the globals 2003-11-20 08:02:32 +00:00
Bill Currie
e74cd75a0d d'oh, forgot to relocate the builtins :P 2003-11-20 08:01:27 +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
14c65d48c7 white space and add a {} 2003-11-20 07:03:50 +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
bcf3738c1c Make trails in sw renderers const-friendly. 2003-10-23 03:53:59 +00:00
Ragnvald Maartmann-Moe IV
1269241612 Make particle effects not mess with stuff they shouldn't. Also fix an
improperly declared variable.
2003-10-22 22:21:39 +00:00
Ragnvald Maartmann-Moe IV
2290ed3d3e l = 64, and taniwha is much happier. 2003-10-22 20:20:24 +00:00
Bill Currie
d3e7be755b flush sv_logfile on each print 2003-10-22 09:04:18 +00:00
Ragnvald Maartmann-Moe IV
5686ff51e5 Make R_DarkFieldParticles & R_EntityParticles work in all renderers. 2003-10-22 06:00:36 +00:00
Ragnvald Maartmann-Moe IV
0205a8a999 Optimize and slightly clean up R_DarkFieldParticles & R_EntityParticles. 2003-10-22 01:04:35 +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
Chris Ison
d2d0cb211c proper implementation to prevent the fastforward effect 2003-10-15 20:40:53 +00:00
Ragnvald Maartmann-Moe IV
c8b9f7552a Add support for supplying NULL palettes to LoadPCX() [uses the .pcx's palette].
Change convert in LoadPCX() to use rgb rather than rgba, since it was just
supplying 255 for A anyways.
Also restructure image.c a bit, remove unneeded ifs.
2003-10-09 19:16:14 +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
Ragnvald Maartmann-Moe IV
dc84232079 Whitespace, remove misleading .png extension from external conchars loader. 2003-09-20 04:29:42 +00:00
Bill Currie
d699926e6f external conchars patch from DrSpliff 2003-09-19 06:22:02 +00:00
Bill Currie
aa37db997c check for null function 2003-09-18 22:50:42 +00:00
Bill Currie
fea382d1d9 fix an accounting error 2003-09-15 21:13:13 +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
89833cb4d7 support streams that don't want any resampling 2003-09-09 22:20:10 +00:00
Bill Currie
0e6c56aa92 drop alsa 0.5 support and rename snd_alsa_0_9.c to snd_alsa.c. also rename
the alsa0_9 plugin to alsa.
2003-09-09 18:43:38 +00:00
Bill Currie
4ce44cf9eb PNG write support from DrSpliff 2003-09-09 16:18:13 +00:00
Bill Currie
ba4ca3515d make the default pcm device "default" 2003-09-08 22:56:06 +00:00
Ragnvald Maartmann-Moe IV
387f6a6f64 Clean out silly typedef bloat, clean up whitespace. 2003-09-08 20:07:51 +00:00
Bill Currie
2ea7ca1efd windows has a LoadImage #define, so kill it :) 2003-09-08 15:49:21 +00:00
Bill Currie
61a2840870 autoconfiscate the png support 2003-09-08 14:32:54 +00:00
Bill Currie
89586e0181 don't flush garbage to the screen on the first render frame 2003-09-05 06:55:12 +00:00
Bill Currie
3a8cfb050e fix alpha blending in 2d mode when 3d has never been rendered 2003-09-05 06:48:03 +00:00
Bill Currie
92b6550fe3 correction pointed out by DrSpliff 2003-09-05 04:07:19 +00:00
Bill Currie
6b036d14ed in_mouse_accel patch from qize@gmx.net 2003-09-04 22:29:40 +00:00
Bill Currie
a0875ea909 eliminate the global variables 2003-09-04 21:24:20 +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
ff43d61f81 use the correct bytes per pixel count 2003-09-04 16:26:14 +00:00
Bill Currie
d0aaa5263b since the tex data is rgba, /say/ it's rgba, not rgb :P 2003-09-04 15:14:09 +00:00
Bill Currie
30e0cba25d better formats for load* and store[bp]* 2003-09-04 05:30:55 +00:00
Bill Currie
3305c0f51f PNG reading support, much thanks to DrSpliff 2003-09-04 05:24:05 +00:00
Bill Currie
8db2660a4c make GL_LoadTexture support RGB textures (ie, 24 bit). I'm not happy with
the solution, but at least it works.
2003-09-04 05:22:23 +00:00
Bill Currie
0a8867fde9 replace all VectorSubtract (vec3_origin, ... and
VectorCopy (vec3_origin, ... with VectorNegate (... and VectorZero (...,
respectively. Should be a small speedup.
2003-09-03 22:17:04 +00:00
Bill Currie
e0866a5e41 make the escape attempt notification a developer print 2003-09-02 04:57:44 +00:00
Bill Currie
a1fa0b3feb make sure the pointed to def has a name before attempting to print it 2003-09-02 04:52:54 +00:00
Bill Currie
4d1313d0c1 don't seg when using 1 component lightmaps 2003-08-30 22:39:27 +00:00
Bill Currie
f7b1196b8d fix the gl stack overflow (and make sure all skybrush surfaces get checked
and queued)
2003-08-28 19:50:28 +00:00
Bill Currie
2c30939891 remove some magic numbers (sloppy coder:P) 2003-08-28 02:24:08 +00:00
Bill Currie
93327cb618 try to fix segfault caused by VID_Shutdown getting called before VID_Init
(error conditions).
2003-08-27 22:50:39 +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
da05864313 ports < 1024 are bad, period :) 2003-08-27 17:47:53 +00:00
Bill Currie
415fae8d6b make the two normals arrays consistent 2003-08-26 07:00:13 +00:00
Bill Currie
cf93f5f65e oops, who let C++ into C? :) 2003-08-25 01:47:05 +00:00
Bill Currie
96202a5984 bah, forgot to -1 the instruction pointer for jumpb 2003-08-24 07:23:12 +00:00
Bill Currie
afb42f5ed0 fix the unsigned comparison opcodes 2003-08-24 05:53:15 +00:00
Bill Currie
253d19876c no code to dump for a null function 2003-08-24 05:08:47 +00:00
Bill Currie
5d8bebfff8 implement class_get_class_method and (partially) class_pose_as 2003-08-24 03:44:12 +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
edb716ada0 oops, forgot to remove developer forcing 2003-08-23 06:21:35 +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
98beb38540 implement jumpb correctly 2003-08-22 19:48:36 +00:00
Bill Currie
cb6eba87ca print the value even for unknown defs if the type is known 2003-08-22 17:32:55 +00:00
Bill Currie
a2300387de fix a bunch of segfaults 2003-08-20 22:36:02 +00:00
Ragnvald Maartmann-Moe IV
d8068de4fa Commit experimental particle optimization. Reduces random particles from using
6 15 bit rand() to 2 calls, with 5 bits for each of the 6.
This is up to a 1% speedup for qf particles, and up to 2.1% for id.

It may particularly affect explosions with r_particles_style 0.
Please report any anomolies in any particle effects.
2003-08-15 20:26:09 +00:00
Bill Currie
323a6182fd move pcx.c and tga.c out of libQFutil and into libQFimage with the hopes
for more image formats :)
2003-08-15 16:19:10 +00:00
Bill Currie
33a57c5a14 win32 compile fixes 2003-08-13 18:17:30 +00:00