Bill Currie
12e238f806
Add a function to convert quake angles to a quaternion.
...
The test works by comparing the result of AngleVectors with forward,
right, and up vectors rotated by the quaternion resulting from AngleQuat.
2011-09-04 09:58:12 +09:00
Bill Currie
fe3cdbcf5a
fix a snafu in quattomat
2011-09-04 09:58:12 +09:00
Bill Currie
eb205d73fd
Add a function to convert a quaternion to a rotation matrix.
2011-09-04 09:58:12 +09:00
Bill Currie
f75b0a611b
Some compile fixes for OpenBSD
2011-08-25 22:35:20 +09:00
Bill Currie
1402feafd2
Kill some magic numbers and clean up some whitespace.
2011-08-20 16:30:43 +09:00
Bill Currie
cf2845a387
Ensure Sys_Error can not form an infinite loop.
...
I don't remember what propted this change, but it seems like a good idea
anyway, so get it into the repository and clean out my stash :)
2011-08-20 13:13:43 +09:00
Bill Currie
ff857a9c71
Permit control of single character tokens.
2011-08-11 14:22:27 +09:00
Bill Currie
bf58ad9d80
And silence a "set but not used" warning.
2011-07-29 17:21:33 +09:00
Antti Harri
358a844a42
Implement --version-info configure switch to override QuakeForge
...
library versioning. From Lasse Collin, thanks!
2011-07-09 01:23:36 +03:00
Bill Currie
6114156b49
Add Cvar_RemoveAlias.
...
Now aliases can be deleted (needed for menus).
2011-07-05 21:59:47 +09:00
Bill Currie
a7291943f7
Fix up Cvar_MakeAlias's error checking.
2011-07-05 21:51:38 +09:00
Bill Currie
d2894a6f68
Rename Cvar_AliasGet to Cvar_MakeAliase.
2011-07-05 20:28:57 +09:00
Bill Currie
6484dd16c7
Finish cvar alias support.
...
Several functions that manipulate cvars were not checking for aliases.
2011-07-04 21:05:42 +09:00
Bill Currie
607a4be2e2
Fix a "set but not used" warning/error.
...
I'm not sure what I had planned with "list", so I just commented it out
with FIXMEs.
2011-06-13 16:44:30 +09:00
Bill Currie
b18ff4ed3e
Move test-qfs.c into a test directory.
...
Same as before: avoiding -prefic-pic issues.
Also, catch some minor snafus found in the previous commit. With this, make
distcheck passes again :)
2011-06-12 16:34:15 +09:00
Bill Currie
74a7e07dfc
Use AM_CFLAGS instead of CFLAGS.
...
CFLAGS is meant to be reserved for the user.
2011-05-10 12:44:44 +09:00
Bill Currie
d3771dfeba
Resolve some inlining issues in recent gcc.
2011-05-04 09:31:18 +09:00
Bill Currie
bc2174d92b
Remove some dead variables reported by Spirit.
2011-05-04 09:30:38 +09:00
Bill Currie
7c113a12db
Make zone errors a little more useful.
2011-03-20 15:50:09 +09:00
Bill Currie
4432bc0bef
Make the offset in zone dumps more useful.
2011-03-08 22:44:56 +09:00
Bill Currie
33db650161
Add QuatInverse to calculate 1/q.
...
There's still no direct quaternion division because I don't know if the
definition of q1/q2 is (1/q2)*q1 or q1*(1/q2) (it does make a difference).
2011-01-18 22:22:18 +09:00
Bill Currie
13503198e5
Add quat_origin convenience constant.
...
Same as vec3_origin in that all elements are zero.
2011-01-11 08:41:40 +09:00
Bill Currie
3090a64faa
Use the correct param for the full_new path.
...
This fixes the broken downloads.
*taniwha dons a brown paper bag.
2010-12-28 14:44:26 -05:00
Bill Currie
6e18c3df85
Make qfs developer prints a little more controllable.
2010-12-28 09:08:51 +09:00
Bill Currie
1f0851cc61
Fix QFS_FilelistFill for pak files.
...
Forgot to ensure the path separator was included in the fnmatch param. This
fixes the broken *list commands.
2010-12-27 10:31:54 +09:00
Bill Currie
de04e1b602
Lots of win32 (mingw cross) build fixes.
...
HTTP (curl) support is missing, but everything else builds.
2010-12-23 11:40:16 +09:00
Bill Currie
9b9a60aa89
Make the -mem suggestion a little more realistic.
...
16M hasn't been enough for a long time.
2010-12-13 19:11:48 +09:00
Bill Currie
694a405578
Make sure unterminated lump names don't cause propblems when comparing.
2010-11-28 15:31:40 +09:00
Bill Currie
f7412e8866
Ensure the string to be hashed is terminated.
2010-11-28 15:31:40 +09:00
Bill Currie
43a9232787
Add a function for retreiving the parsed token.
...
Saves having to reach into the token's dstring (script->token->str was
getting annoying).
2010-11-28 15:31:30 +09:00
Bill Currie
ac88c86dd3
Scripts now treat {}()': as single character tokens.
2010-11-28 15:31:30 +09:00
Bill Currie
98a5d591d5
Don't read past the end of a sub-file.
...
This fixes a libvobis streaming problem with vorbis files within pak files.
2010-11-28 11:28:44 +09:00
Bill Currie
341726afb9
Reimplement Qgets using Qgetc.
2010-11-28 11:18:07 +09:00
Bill Currie
185e21e4e4
Tweak some developer cvar usage.
2010-11-27 16:53:17 +09:00
Bill Currie
31c13d92a2
Protocol 666/large map support from FitzQuake.
...
Alpha and lerping aren't implemented yet, but things seem to be working. I
can load and play oms2.bsp (Conflagrant Rodent).
2010-11-26 16:20:05 +09:00
Bill Currie
8c4fe2f844
Rename Sys_DPrintf to Sys_MaskPrintf.
...
We now have finer runtime control over what gets printed. Need to do a
SYS_DEV audit, creating new masks as apropriate.
2010-11-26 16:19:26 +09:00
Bill Currie
abc17c1d91
New cvar commands from fitzquake.
2010-11-26 16:19:25 +09:00
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
Brian Koropoff
7eb2e42a3c
Made QFS_NextFilename use Qexpand_squiggle on fs_userpath so screenshots
...
are saved to sequential filenames correctly. This might be temporary if
taniwha has a better way of handling squiggle expansion in QFS in mind.
2003-02-16 22:43:06 +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
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
Bill Currie
aaa6c2a2b0
fix some warnings picked up by ia-64
2003-02-12 23:29:16 +00:00
Bill Currie
137b56892f
move menu.dat to its new home :)
2003-02-07 20:18:59 +00:00
Bill Currie
06dc22af3d
make "wait" work again.
2003-02-03 16:05:53 +00:00
Bill Currie
3e693cbce5
change the default of sys_dead_sleep to 0
2003-01-31 04:51:35 +00:00
Brian Koropoff
15687970b3
Fix a braino that caused COM_execute_sets to work improperly.
2003-01-29 22:46:24 +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
ba12255550
get the qfs variable substitution more-or-less working
2003-01-27 21:56:30 +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
55bec57b18
get -game working again (well enough for "nq-x11 -game slide" to work,
...
anwyay:)
2003-01-22 20:00:46 +00:00
Bill Currie
341b6a1d68
this /should/ fix the windows server input problems. based on Timmmm's fix.
2003-01-16 16:11:28 +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
a4dfef63c3
make all files with rcsid include config.h
2003-01-14 20:18:29 +00:00
Bill Currie
9323f359db
move the default GameCode definitions from qw:* and nq:* to QuakeWorld and
...
Quake as that seems to be a more logical place for them.
2003-01-13 17:32:00 +00:00
Bill Currie
c9204e3237
forgot the path for nq games
2003-01-13 16:46:13 +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
Bill Currie
c85fd3bd56
fix a potential underflow and plug a memory leak
2002-12-18 20:53:49 +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
Brian Koropoff
f03cc28b7d
Fixed dsvprintf to work with different implementations of vsnprintf.
2002-12-17 22:35:14 +00:00
Brian Koropoff
2c643cde47
Reworked _dvsprintf a bit to make it cleaner and fix a segfault when
...
appending to large strings.
2002-12-15 07:01:50 +00:00
Brian Koropoff
19ac57dafc
Fixed a bug with aliases and updated cb.gib a bit.
2002-12-14 20:34:20 +00:00
Brian Koropoff
714f2ced4c
Fixed several GIB bugs, optimized Cbuf_Execute_Stack a bit, changed QW
...
clients to use a separate buffer for stufftext commands.
2002-12-01 07:22:42 +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
Bill Currie
2ad18a404b
don't double print Sys_Error messages when the print function is still
...
the default
2002-11-14 22:17:25 +00:00
Bill Currie
e544c1247f
fix a clobbered by longjump warning
2002-11-14 15:37:09 +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
Brian Koropoff
cef0d957e2
Added useful error messages to the math parser, cleaned up implied
...
multiplication a bit, and added some whitespace to cbuf errors for
readability.
2002-11-13 03:03:37 +00:00
Bill Currie
5f606a2829
\r terminates a line only if followed by \n or the end of the buffer
2002-11-09 07:58:34 +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
a5ead00f8e
small bit of cleanup
2002-11-08 17:13:23 +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
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
1a6a9f177d
make error reporting a little saner (hopefully)
2002-10-31 23:00:13 +00:00
Bill Currie
7a195bb910
revert my fs code subversion (2001/07/17 22:10:20 utc commit) as it's no
...
longer necessary with the new progs loading code
2002-10-30 03:35:20 +00:00
Bill Currie
37e2aa8ad5
remove some dead functions
2002-10-30 02:43:23 +00:00
Bill Currie
912db0336e
clean out the cmdlib crap from quakefs.c and nuke qfcc's last dependency
...
on cmdlib.h (and nuke qfcc's cmdlib.h itself:)
2002-10-30 02:31:29 +00:00
Brian Koropoff
99e18513f0
Added support for escape characters of the form \### where ### is the
...
decimal value of the desired character.
2002-10-26 03:09:38 +00:00
Bill Currie
8b46193e4d
seeking to 1 byte before the beginning of the file doesn't seem to be such
...
a good idea
2002-10-24 22:36:15 +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
Brian Koropoff
9fd055e183
A null ifs now causes every character to be considered a separate field in
...
a for loop. You can now pass a field separator string to a for loop that
will override the value of ifs. Added the field.get command that returns
a single field from a list. It also can take a field separator string that
overrides ifs.
2002-10-22 05:34:59 +00:00
Bill Currie
b345f510fa
provide Hash_Buffer so buffers can be hashed
2002-10-20 03:30:22 +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
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
70c1fee4c9
Fixed some missing commas that resulted in garbled cbuf error messages.
2002-10-13 19:18:10 +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
9f7c669370
various win32 compile fixes for the latest mingw (not fully working due to
...
LPCWAVEFORMATEX)
2002-10-11 20:47:17 +00:00
Brian Koropoff
9c4f2d32ca
Add print and print.center GIB commands and fix a nasty bug with threads
...
that could cause a double free.
2002-10-06 04:40:18 +00:00
Bill Currie
ffb90a510a
win32 compile fixes
2002-09-30 16:40:06 +00:00
Bill Currie
979d885776
get Qseek working properly (d'oh) and Qtell (forgot it needed adjusting)
2002-09-27 05:46:30 +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
c745d2a868
make gzipped oggs explicitly unsupported
2002-09-26 20:57:48 +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
dd5cac488c
fix a few memory access bugs
2002-09-20 22:44:29 +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
e8d74f3a26
round off the offsets/sizes again
2002-09-19 15:28:16 +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
b8829faac4
bspfile.c:
...
start rewriting for saner code starting with making the private
functions static
cmdlib.[ch]:
win32 compile fixes (remove redundant function)
2002-09-13 15:07:48 +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
Ragnvald Maartmann-Moe IV
c4609f5195
Experimentally allow external texture loading. Also prevent loading RGB textures as RGBA, which wastes a lot of texture memory, and looks ugly on 16bpp boards.
2002-09-06 21:37:22 +00:00
Brian Koropoff
b32173db96
GIB: White space at the start of a list in a for loop is ignored. The
...
line where an error occurs in a cbuf is now printed.
2002-08-29 22:12:51 +00:00
Brian Koropoff
85465efb1d
Made for use whitespace as a field separator and nuked list.get until
...
I figure out a standard way to specify a custom field separator.
2002-08-28 23:00:30 +00:00
Brian Koropoff
7cc9f48207
Whoops. I broke looping under some circumstances in GIB. Fixed.
2002-08-28 08:28:05 +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
Brian Koropoff
250a920ae2
Added file access builtins to GIB.
2002-08-27 23:25:52 +00:00
Bill Currie
7adaf456a1
plug a memory leak
2002-08-27 22:13:34 +00:00
Bill Currie
68f607de3c
sanity check the strings to snprintf in open_file as we seem to somehow be
...
getting a stack overflow in there.
2002-08-27 17:53:24 +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
77445fe3c2
Forgot a newline
2002-08-27 06:46:49 +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
Ragnvald Maartmann-Moe IV
cfedb80d1d
Rest of support for qflight/qfvis. bspfile.c and quakefs.c will need cleaning up, compare to previous cvs versions...
2002-08-25 23:10:57 +00:00
Ragnvald Maartmann-Moe IV
46456158e8
Whitespace.
2002-08-25 04:47:57 +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
Brian Koropoff
32f4e53aa5
Fixed the GIB math evaluator to handle unary operators properly, made
...
indexing/clipping more like python, made some cosmetic changes to zoom.gib,
and added the ability for GIB builtins to return values.
2002-08-23 21:18:00 +00:00
Ragnvald Maartmann-Moe IV
d757c10f07
Only need one define for R_Cull*
2002-08-23 20:46:19 +00:00
Brian Koropoff
5e9330ca21
Cleaned up the return builtin and made variable stripping ([foo:bar])
...
more robust.
2002-08-23 07:45:46 +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
Brian Koropoff
06e6c92da8
Fixed some bugs related to comments and global variables. Updated zoom.gib
...
to work with the new GIB parser. It should be fully functional.
2002-08-22 20:50:12 +00:00
Bill Currie
9f1cedf812
don't seg if given a null table (ie, no vars in this context)
2002-08-22 16:20:06 +00:00
Bill Currie
42c03bb9e1
fix an out-by-one error that was causing segfaults for single line commands
...
ending with a // comment
2002-08-21 22:52:29 +00:00
Bill Currie
c12518de26
windows knows only a subset of the signals
2002-08-21 01:51:27 +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
c927b2e834
quakefs.c:
...
allow . and .. in a path so long as the result doesn't escape from the
game directory
cl_menu/Makefile.am:
don't strip source paths
optoins.qc:
use InputLine object
def.c:
use notice to show stray temps
emit.c:
make sure expression args get emitted for function calls
expr.c:
'C' is a cast
rewrite cast_expr to handle casted pointere derefs
2002-08-20 06:11:10 +00:00
Ragnvald Maartmann-Moe IV
c91f1a2aea
Rename Length to VectorLength.
2002-08-20 02:22:40 +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
3431b7ce82
float -> unsigned int needs to pass though int otherwise we lose the negative
...
range on the ps2 (nasal demons:)
2002-08-19 00:05:51 +00:00
Bill Currie
f753dd82ae
put \n on some error messages
2002-08-15 19:06:21 +00:00
Bill Currie
141df55965
zap some FIXMEs
2002-08-14 20:01:23 +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
Bill Currie
ff8ea15c09
solaris compile fixes
2002-08-09 04:06:17 +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
Bill Currie
e171146582
Make Sys_Error repeat it's message to stderr to increase the changes of the
...
error being seen. (Closes : #39 )
2002-08-07 15:31:56 +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
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
bdd0f69f17
Declared variable in the wrong spot. Don't know why gcc 3 accepted it.
2002-08-05 05:58:17 +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
c5192540c8
remove an accidental commit
2002-08-03 01:29:26 +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
4bd940e619
d'oh
2002-08-02 03:26:55 +00:00