Commit Graph

910 Commits

Author SHA1 Message Date
Bill Currie d6ceaef7d2 Whee, 64bit cpus and sizeof. 2010-11-24 20:42:07 +09:00
Bill Currie 3878b76cc5 Start using autorelease.
Much more testing is required (oh, but for qc-valgrind), but there is now
a ~945kB block of free data in the menu progs heap :).

Also, correct the printed size of the memory block to not include the
block header size.
2010-11-24 17:01:18 +09:00
Bill Currie 4cec187465 zixthree's wav file patch
Wav file were not read correctly when encoutering most chunk type beside the ones used by QuakeForge.

This patch will fix the riff loader code so that unused but defined chunk are skipped. Most wav files should now be loaded correctly fixing some silent sound effect.

Also fixed a typo in wav loader and reordered wav validity check so that format is checked first. The data chunk could be inexistant on some weird format and so an invalid format is a more helpful error text.

! Fix: Skip unsupported chunk in riff loader instead of rejecting riff file.
! Fix: typo in Microsoft name.
! Fix: ordering of wav validity to enable more helpful error text.
2010-11-21 14:18:15 +09:00
Bill Currie 6771e7b8b5 sezero's win32 Sys_ConsoleInput patch. 2010-11-21 13:55:03 +09:00
Bill Currie 204c509a43 sezero's "Bad old_size value in Z_Realloc()" patch. 2010-11-21 10:06:56 +09:00
Bill Currie 824e33c82b Fix a sizeof braino.
Somebody (probably me) got a little over-happy with sizeof.
2010-11-14 19:22:47 +09:00
Bill Currie ff49239500 Fix shared config files.
We've allowed a single level of parent directy access in quake path names
for a long time, but this got broken by qfs_expand_path. Thus, make
qfs_expand_path allow a certain number of parent directory levels (usually
0 or 1).
2010-10-16 14:17:09 +09:00
Bill Currie ef7958d680 Lots of const correctness. 2010-10-13 20:52:08 +09:00
Bill Currie cd159e1cc1 Use LoadBSPMem to load brush models.
Now that Mod_LoadBrushModel uses bspfile.[ch], the engine uses the same
code as the tools to work with bsp files.
2010-10-13 20:52:05 +09:00
Bill Currie db898655d1 make LoadBSPFile own the memory for the bsp data 2010-10-13 20:52:05 +09:00
Bill Currie 719ca15516 make LoadBSPMem work in-place
LoadBSPMem now modifies the passed in buffer rathern than allocating new
memory. One step closer to cleaning up brush model loading.
2010-10-13 20:52:05 +09:00
Bill Currie 56fb4d9a22 allow safe bsp freeing
any memory the bsp thinks it does not own will not be freed
2010-10-13 20:52:05 +09:00
Bill Currie 1d86e71404 make WriteBSPFile take a const bsp_t *
This means that the supplied bsp can now be reused, as it should be.
2010-10-13 20:52:05 +09:00
Bill Currie f4042c5b91 Make the bsp disk data structures type size independent.
However, this assumes float is always 32 bits.

Also use size_t for the *size fields in bsp_t and clean up the mess.
2010-10-13 20:52:05 +09:00
Bill Currie 42faad9015 Move expand_squiggle() from quakefs to sys, and rename to Sys_ExpandSquiggle.
Hopefully the final resting place of this function.
2010-08-25 14:00:04 +09:00
Bill Currie e9bd9a4baa Move QFS_CreatePath() to Sys_CreatePath(). 2010-08-25 13:52:24 +09:00
Bill Currie 4f620655be Document quakefs.h 2010-08-25 13:40:22 +09:00
Bill Currie f1943ebaab Fix some path compression bugs. 2010-08-25 13:38:45 +09:00
Bill Currie 550b094b93 Unit testing for QFS_CompressPath 2010-08-25 13:38:30 +09:00
Bill Currie 05c57f219d Nuke a comment. 2010-08-25 13:38:24 +09:00
Bill Currie c6be3c469a Make the names of static functions canonical. 2010-08-25 13:38:24 +09:00
Bill Currie bbf2ac0204 Avoid creating // in path names. 2010-08-25 13:38:18 +09:00
Bill Currie ba8ca132a9 Change QFS_Gamedir()'s parameter from dir to gamedir. 2010-08-25 13:31:24 +09:00
Bill Currie 745bdfafdf Eliminate QFS_LoadHunkFile().
It is unused, and part of the group of functions I wish to remove from QF.
2010-08-25 13:31:23 +09:00
Bill Currie cbee789fe1 Change ProgPath to ModelPath and dir.progs to dir.models.
The default is still $path/progs, as that is what is expected by the
game-code.
2010-08-25 13:31:13 +09:00
Bill Currie cf40f5073d Nuke QFS_WriteBuffers.
This function is too dangerous for my liking, and it's now unnecessary
since qfs has been locked down.
2010-08-25 13:31:13 +09:00
Bill Currie 031055a91f Move the qfs_* cvars out of quakefs.h
The qfs cvars are all private.
2010-08-25 13:31:13 +09:00
Bill Currie 0cc4bc8c69 Move searchpath out of quakefs.h.
It's not needed, nor should it be used, anywhere else.
2010-08-25 13:31:13 +09:00
Bill Currie 478394ef81 Nuke MAX_GAMEDIR_CALLBACKS
The number of gamedir callbacks is now unlimited.
2010-08-25 13:31:08 +09:00
Bill Currie a51e888a1b Nuke MAX_OSPATH and clean up the mess. 2010-08-25 13:31:08 +09:00
Bill Currie baede61f4f New function: dstring_strdup
I got tired of always doing dstring_newstr/dstring_copy, so I thought it
was time to wrap it. dstring_strdup is the dstring equivalent of strdup.
2010-08-25 13:31:00 +09:00
Bill Currie fd24170b32 get the behavior or PL_NewData correct
It taking ownership of the data was the correct behavior, so go back to that.
2010-08-20 13:21:22 +09:00
Bill Currie a744caa421 The public api of qfplist is now fully documented.
Evertyhing that can or should be private now is, and all public functions
are documented.
2010-08-20 13:10:37 +09:00
Bill Currie 1442273a8f more opaque correctness 2010-08-20 12:58:37 +09:00
Bill Currie f55c203c5e use the plist api correctly
don't work directly with the plist data. the structs that enabled that will
go away shortly.
2010-08-20 11:57:47 +09:00
Bill Currie 669771681a split up and modernize configure.ac
Most of the guts of configure.ac have been moved to config.d and are then
brought in by m4_include. This will make maintaining configure.ac much easier.

Also drop use of PROGRAM and VERSION, using PACKAGE_NAME, PACKAGE_VERSION, and
on occasion, PACKAGE_STRING instead, and clean out some old files we no longer
need.
2010-08-19 15:01:43 +09:00
Bill Currie 0dfff8fd58 ignore stuff 2010-08-07 10:42:09 +00:00
Bill Currie 997102fea8 audit the usage of "only"
There are still a few iffy places (notably around certain prepositions), but
the relevant sentences are now much easier to read.
2010-01-13 06:42:26 +00:00
Bill Currie d66934942d nuke Con_Printf and Con_DPrintf and use Sys_* instead 2007-11-06 10:17:14 +00:00
Bill Currie 5c73d81e00 Python style long strings ("""...""") now supported for parsing. Any such strings will be written out as standard strings with escaped quotes when writing the plist. 2007-10-13 07:55:58 +00:00
Bill Currie 5294a97d6a make sure the \ gets written for all escapes, not just octals 2007-10-13 07:14:47 +00:00
Bill Currie 7ceea13e10 fix an overflow bug 2007-09-21 10:43:27 +00:00
Bill Currie 1a601ee0f8 make the command/cvar searching case sensitive 2007-06-09 06:55:15 +00:00
Bill Currie 201f01b66c hopefully speed up byte swaps 2007-05-26 23:18:46 +00:00
Bill Currie ece4df298e make that a factor of ~400. 2007-05-13 03:27:54 +00:00
Bill Currie a72f2046f5 speed up PL_WritePropertyList by ~3x. 2007-05-13 03:13:01 +00:00
Bill Currie ce0e0d421e don't try to open the dirconf file if it hasn't been specified 2007-04-07 12:17:01 +00:00
Bill Currie fcf464ef99 make riff int-size safe 2007-04-04 09:23:10 +00:00
Bill Currie de265f236c bail on unkown chunks so crap at the end of a wav does cause us to go nuts 2007-04-04 09:12:41 +00:00
Bill Currie ff132bb536 64bit windows patch from phrosty 2007-04-04 07:48:14 +00:00
Bill Currie 542c1bb0d9 new cache scheme now works properly. next step: shuffle blocks to the top of the heap before locking them 2007-03-30 07:41:17 +00:00
Bill Currie 4cab5b90e6 new cache allocation scheme. still a couple warts, but at least now there's something to work with, and more importantly, there won't be cache movement anywhere near as often. 2007-03-28 13:09:49 +00:00
Bill Currie e5b972529b take a chainsaw to the existing code, cleaning out anything that's obviously unnecessary. preparation for the cache re-write 2007-03-28 09:52:01 +00:00
Bill Currie fd8f530656 make valgrind stop crying wolf 2007-03-26 09:06:50 +00:00
Bill Currie 58112a6407 fix a couple of missed VISIBLE tags 2007-03-24 12:28:47 +00:00
Bill Currie 02c41feabc make gamedir change a two phase operation so things can be done both before and after the cache is flushed. (still having problems with cached sounds, though) 2007-03-24 10:13:10 +00:00
Bill Currie 7add93e3ce forgot to make Cache_ReadLock visible 2007-03-23 14:22:59 +00:00
Bill Currie 818756ace5 add a debug function 2007-03-23 12:36:55 +00:00
Bill Currie 81a57bb3fa patch from phrosty for vc2005 support. includes fixes for a bunch of gcc-isms that crept in over the years. 2007-03-22 23:20:57 +00:00
Bill Currie 2d6f8c6501 compress // to / 2007-03-21 13:05:23 +00:00
Bill Currie 20b8dced56 cleanup the shutdown list in a manner that won't cause problems in a nested shutdown 2007-03-21 09:33:46 +00:00
Brian Koropoff 0c237ccc08 Allow cbuf interpreter to handle completion finding. Enhance completion logic a bit. 2007-03-20 21:31:07 +00:00
Brian Koropoff b6e52faea8 Avoid duplicate entries when enumerating a directory 2007-03-20 05:55:29 +00:00
Brian Koropoff c3e8b5de3d Add naive QFS_IsDirectory and QFS_FilelistEnumerate until more intelligent pak handling is added 2007-03-19 10:43:29 +00:00
Bill Currie a3ceb050a2 be a little more verbose 2007-03-18 12:53:59 +00:00
Bill Currie b320778b92 hmm, how did that happen? ah well 2007-03-18 10:42:16 +00:00
Brian Koropoff 25fdbdab58 More C++ compatibility fixes 2007-03-18 07:12:45 +00:00
Brian Koropoff 39d8a90336 Allow interpreter providers for the console to be registered and allow on-the-fly interpreter switching. 2007-03-18 03:48:09 +00:00
Bill Currie e74a8a7c62 make the param names agree with the header file 2007-03-18 02:27:33 +00:00
Bill Currie 99c0954b47 the big dso visibility patch :). Sure, we have to have unique names for static builds, but with controlled visibitly we should get faster program loads (although this isn't C++, so it's not as bad) and complex plugins are cleaner. 2007-03-10 12:00:59 +00:00
Bill Currie 99e05d2188 warning cleanup patch from raorn 2007-01-06 21:31:03 +00:00
Bill Currie 70ec9848e7 add PL_RemoveObjectForKey and make PL_D_AddObject take a normal C string for key instead of a pl string. 2006-12-09 06:00:36 +00:00
Bill Currie 9cbac0bbc1 add array item removal 2006-12-09 02:33:08 +00:00
Bill Currie 71841fe109 be a little noisier about plugin load failure 2006-12-01 07:30:44 +00:00
Bill Currie 120bd66ccc fix a bug found by halakar 2006-07-23 01:33:54 +00:00
Bill Currie 88543d6e86 add Qfopen: basicly wrap a QFile around an existing FILE. gzip is NOT supported 2006-05-24 11:17:18 +00:00
Bill Currie bb852eba75 fix a braino that causes args to /not/ get saved 2005-10-23 22:00:45 +00:00
Bill Currie 87cc09233c "long" audit. can't use long when we want 32 bits. May be a few more cases. 2005-10-23 13:19:21 +00:00
Bill Currie 66e203b16b multi-dir patch for fs_sharepath from "Alexey I.Froloff" <raorn@altlinux.ru> 2005-09-06 11:39:32 +00:00
Bill Currie 3fb03fc2be hah, should have been using __attribute__((used)) all that time (rather
than __attribute__((unused))). fixes the missing console in -x11
2005-08-04 15:27:09 +00:00
Bill Currie ddae3850e8 qf now, for the first time in history, fully passes "make distcheck" 2005-07-16 03:46:11 +00:00
Bill Currie 501180aaac gcc-4.0 fixes. even found some bugs :) (names /not/ mangled this time) 2005-06-08 06:35:48 +00:00
Bill Currie addb57bfb3 plug some memory leaks 2005-05-05 22:50:09 +00:00
Bill Currie 63d787d9e9 add MSG_WriteUTF8 and MSG_ReadUTF8 to handle 31 bit values nicely for
future protocol extensions. Equivalent to MSG_*Byte or MSG_*Char. Use
MSG_ReadString and MSG_WriteString with the appropriate libc functions for
utf8 strings.
2005-05-05 00:27:04 +00:00
Bill Currie 925ea16e1d we get to "spawn". whee. not long now and I'll have to work on the client
side :)
2005-05-02 09:00:17 +00:00
Bill Currie cd2f9434fc proxy now stays connected :) also gets the server data packet. most changes
due to move of pmove.h
2005-05-02 04:09:15 +00:00
Bill Currie 3ff740d4f5 oops, committed debug stuff by mistake 2005-04-26 23:40:19 +00:00
Ragnvald Maartmann-Moe IV 62a0919472 Revert broken gcc4 cleanups. 2005-04-11 20:59:03 +00:00
Bill Currie 76649e674e Fix a buffer overflow in Cmd_Alias_f caused by weird quoting. Not sure if
the resulting alias will work as expected wrt id's command parsing, but
that's another issue :)
2005-03-28 04:35:22 +00:00
Bill Currie b7def83d19 patch from raorn ("Alexey I. Froloff" <sir_raorn@immo.ru>) to fix
interaction between -hipnotic (etc) and -game
2005-02-14 09:08:32 +00:00
Ragnvald Maartmann-Moe IV b59f366684 First few files of signedness cleanup for GCC 4.0. 2005-02-10 22:03:16 +00:00
Bill Currie d63e7b609e net_socket must be "int" for sane systems 2005-01-26 01:19:36 +00:00
Bill Currie 23f71485d1 more tree recovering. This includes Despair's anisotropy support work. 2005-01-02 14:23:20 +00:00
Bill Currie 2488465bc9 resurrect Z_Print.
This is an imperfect revision of history.
2004-11-14 00:49:00 +00:00
Bill Currie aadf6ebf6a "finish" qfplist
This is an imperfect revision of history.
2004-11-11 11:18:00 +00:00
Bill Currie 0bfac8dd88 win32 compile fixes
This is an imperfect revision of history.
2004-11-06 02:21:00 +00:00
Bill Currie 9a5cce7c14 hash.h: update the description of FindList quakefs.c: didn't need va there
This is an imperfect revision of history.
2004-11-02 07:39:00 +00:00
Bill Currie 6625d38a05 set the disksize of the wad entry
This is an imperfect revision of history.
2004-11-02 05:15:00 +00:00
Bill Currie 25484f415b move the script parser from qfbsp into libQFutil and correct a spelling error
This is an imperfect revision of history.
2004-11-02 05:05:00 +00:00
Bill Currie 986dae9ec9 as discussed with fuh, hide the endian dependency of the checksum calcs
(evil way of using md4, but oh well).
2004-05-16 23:17:51 +00:00
Bill Currie d25f2c87ea path is long dead. oops. thanks, Silh 2004-05-16 23:13:06 +00:00
Bill Currie 67f913289c move wad_extract into the wad utility and make QFS_CreatePath more
generally usable
2004-05-09 22:58:37 +00:00
Bill Currie 2d671955fb fix an oopsie that broke skyboxlist (early morning paper routes are bad for
coding:)
2004-04-23 22:53:39 +00:00
Bill Currie 616be68bdd strip parameter to QFS_FilelistFill and add rua support 2004-04-20 22:52:09 +00:00
Bill Currie e8f9761d33 move the filelist building code into quakefs 2004-04-20 22:25:52 +00:00
Bill Currie 31b867a08e rework contains_updir to allow a specified number of ..s. QFS_FOpenFile now
allows one .. in the path (won't be able to find any files in a pak file
and is horribly inefficient, but oh well)
2004-04-14 02:15:14 +00:00
Bill Currie 1bf13a27b9 QFS_Open more secure and simplify contains_updir 2004-04-13 04:42:12 +00:00
Bill Currie 1fb50d2f08 don't create the path in QFS_Open if not writing 2004-04-13 03:38:16 +00:00
Bill Currie 4c4f40f137 fix a few bugs. basics seem to be working 2004-04-08 05:13:24 +00:00
Bill Currie 39685d0c63 more readability and add the quaternion functions 2004-04-07 18:01:45 +00:00
Bill Currie 49f8787450 fix up some accidental asm compilation when it's not wanted 2004-04-04 05:34:20 +00:00
Chris Ison 5dcdd2c194 fixed stalls and mis-placed rocket which was seen only in the cygwin->mingw32 builds, also removed redundant stdin_ready code and forcing of timeout setting for win32 build 2004-03-26 02:52:47 +00:00
Bill Currie 142127f89d even better, use seta (new command) instead so config.cfg automaticly sets
the archive bit
2004-03-18 05:58:06 +00:00
Bill Currie 0c82006bd8 all archived cvars now get written to the config file prefixed with set 2004-03-18 05:45:45 +00:00
Bill Currie 7f3d5164e6 fix Qgets for when zlib isn't available 2004-02-29 07:12:05 +00:00
Bill Currie e5ae0b4979 needed EXPORT in both ends if the #if/#else/#endif 2004-02-18 03:19:57 +00:00
Bill Currie d1904fe7c4 hopefully fix nq segging on windows 2004-02-14 08:05:54 +00:00
Bill Currie 893d3ec290 hash.[ch]:
add Hash_NumElements to get the number of elements in the hash table
qfplist.[ch]:
	add PL_A_NumObjects and PL_D_NumKeys, to get the number of objects or
	number of keys in the array or dictionary, respectively
2004-02-07 07:47:23 +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
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
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 19ef80c555 this should fix static win32 builds 2004-01-21 00:15:35 +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
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
Bill Currie 629e22aa61 fix a buffer overflow and an underflow 2004-01-17 05:11:34 +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 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 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 1e20043bf3 remove some debug prints 2004-01-09 22:28:02 +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
Jeff Teunissen be895da8da oops. :) 2004-01-07 08:02:09 +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
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 ea552ae68e expand ~ for fs_dirconf 2004-01-06 07:33:19 +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 40b8974c33 better external skin handling from Grievre 2003-12-28 05:25:06 +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
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
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
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 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 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 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 e0866a5e41 make the escape attempt notification a developer print 2003-09-02 04:57:44 +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 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 7fe0962bac we /do/ want full precision from Sys_DoubleTime :P 2003-08-11 22:39:07 +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 aa4d1f5c90 be sure to clear com_token when end of file is hit 2003-07-27 21:45:53 +00:00
Bill Currie 01594e239e don't want that QF in the plugin dll name. doesn't get built that way (if
dlls got built in the first place:/) and way too much hassle to get it
there
2003-07-23 19:51:32 +00:00
Bill Currie 6ee38af0be put in a comment about mprotect and getpagesize 2003-07-21 22:24:28 +00:00
Bill Currie abedda69b6 if a system with mprotect doesn't have getpagesize, the assumption is that
mprotect doesn't care about page alignment (eg, QNX)
2003-07-21 20:55:13 +00:00
Bill Currie ff6e0ab1b3 not all systems have _SC_PAGESIZE 2003-07-21 20:51:03 +00:00
Bill Currie 2d55162a05 implement memcpy version of VA_COPY correctly 2003-07-21 19:26:53 +00:00
Ragnvald Maartmann-Moe IV 810dfb29e6 Use sysconf() by default instead of getpagesize(). getpagesize() still used if
sysconf() not present. Since getpagesize is deprecated, it's only used as a
fallback.
2003-07-18 12:18:05 +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 1f948c4206 magic numbers evil 2003-07-17 21:45:01 +00:00
Bill Currie b36bd6a98c not all systems (eg, QNX) that have mprotect have getpagesize 2003-07-17 21:01:25 +00:00
Bill Currie a06c4e1708 fix an improperly stringed file found by DrSpliff 2003-07-17 18:40:53 +00:00
Bill Currie dfa16742e2 fix some silly bugs (sizeof (char*) :P) 2003-07-09 15:38:19 +00:00
Bill Currie 855fc53709 handle alloca properly 2003-07-09 06:28:09 +00:00
Bill Currie 84e071d235 fix an incorrect usage of HAVE_* that finally bit my bum 2003-07-09 04:21:45 +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 dddf045221 put "FIXME: overflow" on all the char arrays I could find that weren't
obviously safe
2003-07-08 20:11:10 +00:00
Bill Currie 011fe7babb make sure the trimmed info key value gets terminated properly 2003-07-08 17:26:50 +00:00
Bill Currie 1d32ff04e6 fix missing params for VA_COPY pointed out by Dalibor Topic
<robilad@yahoo.com>
2003-06-25 15:22:39 +00:00
Bill Currie f22bdfc23f d'oh, forgot to update the format 2003-06-06 15:47:12 +00:00
Bill Currie 8d470d2b49 don't use qfs_gamedir->* in QFS_NextFilename as it gets passed that in the
template (and shouldn't assume where to put the file anyway:). fixes the
all screenshots saves sas qf0000.tga bug.
2003-06-06 15:44:13 +00:00
Ragnvald Maartmann-Moe IV c6b6c7926f Fix one bug, but doesn't fix all screenshots being saved to qf0000.tga... 2003-06-06 12:35:52 +00:00
Bill Currie 191a7f61bc win32 compile fixes 2003-06-05 17:56:09 +00:00
Bill Currie ce9ddfd186 win32 fix 2003-06-05 17:51:49 +00:00
Bill Currie 58c9203adc openbsd compile fix from nano 2003-06-05 16:08:10 +00:00
Bill Currie f061c47242 make QFS_CreatePath work again and remove some old code from QFS_WriteFile 2003-05-30 01:44:39 +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 9602d6c88d Fixed an interesting crash that occured when a recycled idparse cbuf was
given to GIB when it pushed the cbuf stack.
2003-05-26 05:07:21 +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 b5a960c57b fix nq's gamedir handling for the -hipnotic etc shortcuts 2003-05-09 21:10:59 +00:00
Bill Currie 5f3573143a the beginnings of a jihad against buffer overflows 2003-05-08 23:24:02 +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 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 3418e904a4 mindHog's fix for RemoveCommand being totally borked (oops:) 2003-04-25 03:06:34 +00:00
Bill Currie b43651685a fix a buffer overrun issue with -game 2003-04-21 04:49:02 +00:00
Bill Currie a8d171ec40 replace a warped wheel with a strdup wheel ;) 2003-04-21 04:02:58 +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 589c3e4e49 get nq-server working properly 2003-04-16 05:06:19 +00:00
Bill Currie f55bac4c06 fix nq-servers non-curses console input so it actually works 2003-04-16 04:07:55 +00:00
Bill Currie 0421c33b85 make sure the cbuf is usable when text gets added 2003-04-15 19:40:46 +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 5be73df678 temporary fix to handle wav files in a pak file 2003-04-11 18:28:26 +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 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 c58dac3ccf don't actually read the main `data' chunks; only refer to them by location.
allows support for huge wav files (eg, cdda.wav)
2003-04-10 21:34:51 +00:00
Bill Currie e1b779502a but the third castle stood! 2003-04-10 21:18:53 +00:00
Bill Currie 0045ab7c09 implement Qungetc and nuke Qgetpos and Qsetpos 2003-04-10 21:11:40 +00:00
Bill Currie e937fecdc1 move the riff reading code into libQFutil 2003-04-10 16:52:39 +00:00
Bill Currie 39886ebb18 handle short files more robustly 2003-04-10 16:11:09 +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 d4a4cde83c fix a buffer overflow (oops, not paying attention) 2003-04-08 02:56:36 +00:00
Bill Currie d5003f363d make plist arrays unlimited in size 2003-04-07 19:29:52 +00:00
Bill Currie bd08b03791 don't assuming 32 bpp in setup_pixrow_span 2003-03-21 22:18:20 +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
Bill Currie 16eac174e6 correct the scaling of the 5 bit color map types 2003-03-21 16:18:51 +00:00
Bill Currie fa775c6e30 oops, missed a case 2003-03-21 06:08:57 +00:00
Bill Currie 7e0ce3d3df skip over any present colormap for non-colormap types 2003-03-21 06:08:17 +00:00
Bill Currie 3e349ee52c we now theoreticly support greyscale tga files too :) 2003-03-21 05:03:32 +00:00
Bill Currie 6c850c5528 seriously clean up LoadTGA by using a decoder table and implement colormap
support (8 bpp only)
2003-03-21 04:23:16 +00:00
Ragnvald Maartmann-Moe IV bf18436ad5 Whitespace. 2003-03-21 00:51:57 +00:00
Bill Currie c525bc4925 call the correct read functions for 32 bit rle expansion 2003-03-20 23:11:58 +00:00
Bill Currie 32257923a5 cleanup unused vars 2003-03-20 23:02:53 +00:00
Bill Currie b2bc3f13ea support RLE tga files for all 4 directions 2003-03-20 22:54:44 +00:00
Bill Currie abdb21eadc however, don't need read_rgb and read_rgba 2003-03-20 21:25:56 +00:00
Bill Currie 4222c501a0 darn, broke the reverse direction and fixing it produces horrid code 2003-03-20 21:24:04 +00:00
Bill Currie 1a18044b31 merge the forward and reverse blitters/readers using a direction flag which
gets optimized out
2003-03-20 21:08:47 +00:00
Bill Currie a01456f851 allocate space for the texture correctly 2003-03-20 21:08:04 +00:00
Bill Currie 3423ed59d5 expand the plist api to make plist creation easier 2003-03-18 19:15:31 +00:00
Bill Currie eeb2439eb6 need a specific entry for "qw:qw" since servers set the gamedir to "qw"
explicitly
2003-03-13 05:43:45 +00:00
Bill Currie e105198f48 ensure the path passed to Sys_DebugLog is expanded 2003-03-13 05:41:55 +00:00
Bill Currie 72d1343735 add some comments about the coordinate systems used in AngleVectors 2003-03-10 20:44:50 +00:00
Bill Currie beecb5580f use %g instead of %f and the 0s hack 2003-03-03 17:52:11 +00:00
Brian Koropoff ce80fffe69 Massive bug and memory leak fixing. 2003-02-26 07:44:34 +00:00
Bill Currie 32ed283122 don't need that FIXME 2003-02-25 18:13:56 +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 59c4290563 Fix handling of all non-RLE-compressed tga formats we supposedly support. Now
we work even if the first pixel isn't in lower left. ;)
Handling the RLE-compressed oddball cases would require a lot more code
duplication, will brute force that later if nobody beats me to it with a clean
solution.
2003-02-23 17:39:23 +00:00
Bill Currie c026e61d22 make LittleLong and co defines rather than function pointers 2003-02-22 23:23:16 +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