Commit Graph

2243 Commits

Author SHA1 Message Date
Jeff Teunissen 950a5b34c4 Updates from ashridah. 2004-02-06 14:59:29 +00:00
Bill Currie 080b973479 make globals without a def a lot easier to read (don't need to print the
address twice:)
2004-02-06 08:03:22 +00:00
Bill Currie 50f83f7701 cleanup patch from ashridah
basically, moves all the tracklist work into a single function, moves a few
functions around, cleans up a few issues with things like reset, and whatnot
2004-02-06 05:44:54 +00:00
Bill Currie a45981bc6a don't look up the gl functions until after the context has been setup, just
incase it affects which functions glGetProcAddress actually returns.
2004-02-06 00:58:35 +00:00
Bill Currie 9784ba5954 Grievre's gamedir callback patch to fix mangled sounds on gamedir change
plus a couple minor tweaks I notcied needed doing.
2004-02-03 03:01:06 +00:00
Bill Currie 4472f943c5 minor cleanups and use escapes when printing strings 2004-01-31 08:34:01 +00:00
Bill Currie 2ac0f40f7a fix an uninitialized variable 2004-01-31 07:29:11 +00:00
Bill Currie 24294c8778 make printing of global contents in PR_PrintStatement optional so
disassembly output is cleaner
2004-01-31 04:26:01 +00:00
Bill Currie 718c708cec make global printing a little more robust 2004-01-30 08:46:14 +00:00
Bill Currie e1afa3221c minor cleanup 2004-01-30 07:55:32 +00:00
Timothy C. McGrath 74404b229d Another patch from Grievre, this prevents a bad ogg tracklist.cfg from crashing
the game, since that event is already handled correctly.

Timothy C. McGrath
(Hikaru)
2004-01-28 10:25:49 +00:00
Timothy C. McGrath 53f8424912 Patch from Grievre to fix cd_file so it does not cause the game to segmentation
fault when snd_output is set to null. Also some debugging stuff added just in
case.

This was tested only with making sure that it works when snd_output is null and
non null. Whoever authored this might want to go test this and make sure it
still works :)

Timothy C. McGrath
(Hikaru)
2004-01-28 10:07:31 +00:00
Ragnvald Maartmann-Moe IV 0e6681a069 Add QFGL_WANT, and ability to handle non-required extensions. 2004-01-28 02:49:57 +00:00
Bill Currie 7ff1534e9d bah, fix one, create another... 2004-01-27 05:23:36 +00:00
Ragnvald Maartmann-Moe IV 31aca31d17 Warn users if their system doesn't support GL_ATI_pn_triangles. 2004-01-26 03:58:19 +00:00
Bill Currie e763507c71 segfault fix from ashridah 2004-01-26 01:21:06 +00:00
Ragnvald Maartmann-Moe IV 767b0c61db Fix help for gl_tessellate cvar. 2004-01-26 00:40:31 +00:00
Ragnvald Maartmann-Moe IV e1146a541c TruForm support. Controlled by gl_tessellate 2004-01-26 00:13:47 +00:00
Bill Currie c376982588 this should fix thuglife's segfault 2004-01-25 19:59:49 +00:00
Bill Currie 43f68ba10c d'oh 2004-01-22 06:27:56 +00:00
Bill Currie 4843d0adde implement the invers hyper trig functions locally because they're not
available everywhere.
2004-01-22 06:26:55 +00:00
Bill Currie bb31308953 ruamoko math functions from Grievre 2004-01-22 05:43:18 +00:00
Bill Currie 3a85dbda18 d'oh 2004-01-22 04:42:06 +00:00
Bill Currie d9a582a741 fix the print mangling of scrolled back screens (thought of this about 10s
after committing:P)
2004-01-22 04:28:24 +00:00
Bill Currie 62ef6f9549 scrollback 90% working. prints will mangle things, but ^L will clean it up 2004-01-22 04:07:39 +00:00
Chris Ison 47f16678ab win32 server console now works 2004-01-22 03:43:09 +00:00
Bill Currie db32c8394b export BoxOnPlaneSide properly in windows so it doesn't cause a segfault 2004-01-22 02:26:08 +00:00
Bill Currie f1ae56a8a7 make "file" the default cd plugin 2004-01-21 21:06:13 +00:00
Bill Currie e379238126 used the function I'd created for loading sounds :P (fixes cd_file plugin
loading)
2004-01-21 19:35:17 +00:00
Bill Currie 390ca99a92 first step to making qfdefs redundant. "standard" progs now get resolved
staticly rather than looking up the defs. "broken" progs should now work.
2004-01-21 08:09:47 +00:00
Bill Currie 08b9a328fb don't know why I thought gib depended on console... 2004-01-21 04:49:28 +00:00
Bill Currie 62c3d7cefb oops, uninitialized variable 2004-01-21 03:16:16 +00:00
Bill Currie 93b01bdf25 make some prints developer 2004-01-21 02:59:09 +00:00
Bill Currie d5a33c9545 extend the sound api slightly to ease things like cd_file and make cd_file
work as intended :)
2004-01-21 02:52:12 +00:00
Bill Currie 19ef80c555 this should fix static win32 builds 2004-01-21 00:15:35 +00:00
Bill Currie 9aa9d4e3dc whitespace 2004-01-20 22:20:38 +00:00
Bill Currie 9f79e620c8 snd_alsa.c doesn't work for 0.9.x so don't mention it :) 2004-01-20 22:14:11 +00:00
Bill Currie 1583961b36 fix a couple of compile issues with older gcc 2004-01-20 08:47:19 +00:00
Bill Currie f7fe0a4a8c remove two redundant functions from cd_funcs_t and convert all the cd
plugins to using pre-initialized structs
2004-01-20 08:34:57 +00:00
Bill Currie 52968be46d ashridah's file based cd plugin (ie, it will play any sound file QF can
load as background music).
2004-01-20 06:58:42 +00:00
Bill Currie 6d02004ca8 Mike Gorchak's <mike@malva.ua> second (final for now:) QNX patch. renames
msg_t to qmsg_t.
2004-01-20 06:11:00 +00:00
Bill Currie 283d49bd8e first chunk of Mike Gorchak's <mike@malva.ua> QNX patches 2004-01-20 05:57:39 +00:00
Bill Currie e154c9add5 be consistent with WIN32 and _WIN32 (now all _WIN32) 2004-01-20 03:47:27 +00:00
Ragnvald Maartmann-Moe IV 459503e61b Argh. 2004-01-19 21:48:45 +00:00
Bill Currie 77b2942982 several libs can now get built as dlls in windows: console, gamecode,
gamecode_builtins, gib, image, modules, object, ruamoko and util.
2004-01-19 07:47:41 +00:00
Chris Ison 1d8cb8614c add snd_bits/rate/stereo cvars to win and dx sound targets 2004-01-18 09:18:45 +00:00
Bill Currie ba8e959cf2 when clearing the return strings, it's a good idea to clear them completely 2004-01-18 07:50:50 +00:00
Ragnvald Maartmann-Moe IV 25a8748dc9 Bring back alsa 0.9 support as a separate module. 2004-01-17 22:41:53 +00:00
Ragnvald Maartmann-Moe IV a42a0aa974 Check return conditions during ALSA setup.
Error checking during setup is a good thing...
2004-01-17 22:03:58 +00:00
Bill Currie 7ba6756810 temporary hack to avoid crashing when s_explod.mdl isn't precached but
explosions are requested
2004-01-17 07:14:42 +00:00
Bill Currie 629e22aa61 fix a buffer overflow and an underflow 2004-01-17 05:11:34 +00:00
Bill Currie 249aee2e9f move the OO runtime support code from libQFgamecode to libQFruamoko where
it really belongs :)
2004-01-16 08:02:31 +00:00
Bill Currie e7ffad8772 more rua cleanups: now just one init function to call (it calls the rest) 2004-01-16 07:03:58 +00:00
Bill Currie 01392c78bb move the bulk of what whas libQFcsqc to libQFruamoko. 2004-01-16 05:46:19 +00:00
Bill Currie 17db1f42f2 don't block if the sound device is busy (from Grievre) 2004-01-16 02:50:26 +00:00
Bill Currie 31d970aca0 can now dump a map's textures to a wad file (name currently based on bsp
file name (eg, foo.bsp -> foo.wad)
2004-01-15 07:16:44 +00:00
Bill Currie 2a399cc4b4 Sys_PathType has been unnecessary for a while so nuke it 2004-01-13 21:30:13 +00:00
Bill Currie 28082f30f5 support compressed wads (.wad.gz) and read the lump count correctly 2004-01-13 06:39:50 +00:00
Bill Currie 15870757e4 oops, forgot the ~. fixes wildcode's lockup and should fix rxr's 2004-01-12 06:38:59 +00:00
Chris Ison 9113ea6fd4 fix dereferencing type-punned pointer errors 2004-01-12 05:34:46 +00:00
Chris Ison 0d755a0dd6 dirent.c and dirent.h brought in from cygwin for win32 builds 2004-01-12 02:23:36 +00:00
Bill Currie 44b38c5cb7 add a wad tool along the lines of pak. can't yet be used for wad creation
(that's a little more complicated), but it can be used for listing and
extracting the contents of a wad file. watch out for *foo :)
2004-01-10 08:05:25 +00:00
Bill Currie 4371c841ac more consistency fixes 2004-01-10 06:11:41 +00:00
Bill Currie e0567f75cc it seems ATI's libGL needs to be loaded with global symbols in order to
work properly.
2004-01-09 23:37:04 +00:00
Bill Currie 03a24be4de partial work on wad file access cleanup in preparation of making a wad
utility
2004-01-09 23:34:32 +00:00
Bill Currie 45f542d293 use calloc instead of malloc when creating objects. clears up some
uninitialized memory usages pointed out by valgrind.
2004-01-09 23:04:08 +00:00
Bill Currie 1e20043bf3 remove some debug prints 2004-01-09 22:28:02 +00:00
Bill Currie 1bfef95a29 name changes to make figuring out what's private and what's not easier 2004-01-09 03:48:00 +00:00
Bill Currie 3ad2eaf3cd allocate the aux function map properly 2004-01-08 04:04:55 +00:00
Bill Currie c5c5c33e7d I had forgotten the free string refs list /had/ to be in the progs vm 2004-01-08 04:03:47 +00:00
Bill Currie ccfa9081b0 fix shm properly :) 2004-01-08 03:46:11 +00:00
Ragnvald Maartmann-Moe IV 4597b44334 /, not // in paths. textures//foo.png is ugly. ;) 2004-01-08 03:33:45 +00:00
Bill Currie deb8137db7 more sound static cleanup 2004-01-08 01:48:02 +00:00
Bill Currie e639e5efc3 clean up snd.c a little 2004-01-08 00:25:52 +00:00
Bill Currie 16f0a54a84 fix some inconsistencies pointed out by doxygen 2004-01-07 20:06:15 +00:00
Bill Currie 6c447b4b75 fix more string ownership issues 2004-01-07 08:54:00 +00:00
Ragnvald Maartmann-Moe IV 2485bed45a Codestyle. Grr! 2004-01-07 08:45:18 +00:00
Bill Currie e4416c1f66 fix some weird whitespace 2004-01-07 08:16:59 +00:00
Jeff Teunissen be895da8da oops. :) 2004-01-07 08:02:09 +00:00
Bill Currie b3f76e1e48 add some string builtins (only the basics for now, but enough to deal with
temporary strings) and fix the game load/save menus.
2004-01-07 07:36:17 +00:00
Jeff Teunissen eb6b179add plist functions that add objects return qboolean, not int. Also doc fixes. 2004-01-07 07:01:31 +00:00
Bill Currie efd6ccff02 close a nasty hole in the gamedir code 2004-01-07 06:40:10 +00:00
Bill Currie 9c92a916ff change the dict and array add functions to return true/false and add some
more docs
2004-01-07 06:19:11 +00:00
Bill Currie e8fb5ba83b remove the FIXMEs. plist takes ownership of the item 2004-01-07 05:35:06 +00:00
Bill Currie e455b760ca use a cycled pool of "return strings". I'd love to come up with something
better, but this will do (similar to what qwe does, but qf style:)
2004-01-07 05:22:57 +00:00
Bill Currie 7885d9ce25 make a local copy of the builtins table being register as it might need to
be modified
2004-01-07 02:48:11 +00:00
Jeff Teunissen d1b4c5df72 Change PL_D_AddObject() so that it replaces values instead of stacking them.
Add PL_D_AllKeys(), which returns a list of all keys in a dictionary.
Rename PL_FreeItem() to PL_Free() -- what was I smoking?
Document some of the property list system for doxygen.
2004-01-06 11:09:40 +00:00
Jeff Teunissen 91fdd90674 one-line whitespace, didn't look too hard at the rest though. :) 2004-01-06 11:05:34 +00:00
Bill Currie 462d726d14 better memory management for hash tables 2004-01-06 08:40:21 +00:00
Bill Currie cbe006a2fb print an address if the def name is blank 2004-01-06 08:09:41 +00:00
Bill Currie ea552ae68e expand ~ for fs_dirconf 2004-01-06 07:33:19 +00:00
Bill Currie 133879f8fa provide builtin mappings for id (none, really), qf and ktpro/qwe (qw only),
add qwe builtin extensions to qw-server. provide sv_progs_ext to control
the builtin mapping. valid values are "id", "qf" (our old static builtins),
"qwe"/"ktpro" (either works. for ktpro mod support) and "none" (no
mapping). any other value is equivalent to "none".
2004-01-06 07:00:39 +00:00
Bill Currie d7592781d7 add builtin mapping support (not used yet) and fix an uninitialized
variable
2004-01-06 06:08:59 +00:00
Bill Currie acd54afff7 move to using a hash table for builtin number -> builtin lookup so sparse
ranges can be used efficiently. move the auto-allocated builtins to
0x10000000-0x7fffffff. should be more than enough :)

use static builtin tables ("nul" terminated) instead of a series of
function calls to add builtins to a vm. should be more memory efficient.
2004-01-06 05:51:09 +00:00
Ragnvald Maartmann-Moe IV a87fc16d12 Whitespace. 2004-01-06 03:38:48 +00:00
Ragnvald Maartmann-Moe IV 067080296c Futureproofing. 2004-01-06 03:38:16 +00:00
Ragnvald Maartmann-Moe IV 3d14b29b38 Whitespace 2004-01-06 03:24:46 +00:00
Bill Currie fbe6c2f631 make the bad builtin number a warning and provide a suitable function in
case the function is called: allows progs with bad (but unused) builtins
to run anyway
2004-01-06 03:18:44 +00:00
Bill Currie 0ddb5eb822 report all bad builtins rather than just the first 2004-01-05 08:52:20 +00:00
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