Commit Graph

1127 Commits

Author SHA1 Message Date
Bill Currie 4c5c711ff5 fix a nasty bug where immediates would get aliased. (eg, 2 and 1073741824). 2003-03-03 21:09:41 +00:00
Bill Currie 90752b33fe make TYPE (void) NAME valid (no args) 2003-02-28 23:36:56 +00:00
Bill Currie a45223da6c d'oh, forgot about "default" 2003-02-28 05:18:49 +00:00
Bill Currie ef762e21eb allow initialized globals (since they're constant) to be used in most places
constants are required (switch, initializing globals, enums)
2003-02-28 04:54:07 +00:00
Brian Koropoff ce80fffe69 Massive bug and memory leak fixing. 2003-02-26 07:44:34 +00:00
Bill Currie 382f13f7ce fix a decl mismatch 2003-02-26 05:01:18 +00:00
Bill Currie 106fb77eb3 need AppKit/NSImage.h now 2003-02-25 20:54:24 +00:00
Bill Currie 05fb5fe08b make syntax errors a little easier to understand 2003-02-25 07:48:12 +00:00
Bill Currie 2ba8e871f3 convert \ to / in paths in windows 2003-02-24 21:51:08 +00:00
Bill Currie b928f94440 produce a warning if both @self and self are used in the same progs 2003-02-24 20:10:33 +00:00
Bill Currie 5a58c58e7a don't initialize external defs. this broke source line/file tracking for
@extern defs in headers.
2003-02-24 19:13:56 +00:00
Bill Currie c145fdb20f make the line number dump more useful 2003-02-24 18:51:12 +00:00
Bill Currie 5f75aa024a don't relocate a null function constant 2003-02-24 15:33:57 +00:00
Bill Currie 44285ba5de speed up qfo writing by about 12.5:1 (for large object files, anyway) by
making compression optional (compressed qfo files will still be handled
transparently)
2003-02-23 23:43:43 +00:00
Bill Currie 599ae15490 give the hash functions more unique names 2003-02-22 22:38:55 +00:00
Bill Currie af44b129d6 don't store pointers to defs in the hash table as the defs can move around
due to realloc. can now link large progs
2003-02-21 22:31:40 +00:00
Bill Currie 132bd4ac8d remove some incorrect comments 2003-02-21 22:30:49 +00:00
Jeff Teunissen 5b79b7512a Updates to the Ruamoko manual, still very much in progress. 2003-02-18 20:08:05 +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 c46b58f4b5 fix an oopsie 2003-02-05 05:16:51 +00:00
Bill Currie c5f7138db8 emit clipnodes in the correct order 2003-02-05 05:06:14 +00:00
Bill Currie 7073afc0a4 port in OQ's detail, hint and skip brush/texture enhancements 2003-02-04 23:26:26 +00:00
Bill Currie 2dd8a6c39d grok quest's "map2" format (as well as the original) 2003-02-04 18:19:57 +00:00
Bill Currie ab2aa3ae92 start merging in "map2" (quest) support 2003-02-03 22:42:13 +00:00
Brian Koropoff 580ca17546 GIB: Added proper reference counting on parse trees, got threads working
again, added a few new builtins and renamed some others, made misc. fixes
and enhancements.
2003-01-30 23:26:43 +00:00
Bill Currie 2d766710b6 detect multiple initializations of globals 2003-01-29 22:29:37 +00:00
Bill Currie 8a9cd78072 fix up a couple of error cases (and catch them!) 2003-01-29 20:32:44 +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 26c06c09a2 s/__attribute/__attribute__/ 2003-01-27 23:14:07 +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 e32dc4cdb7 missed the new headers 2003-01-08 16:07:45 +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 122b0d81e7 values.h doesn't seem to be needed and doesn't exist on darwin anyway 2002-12-20 23:41:24 +00:00
Bill Currie 2a5ac8c42d returning value for void function now a warning for traditional 2002-12-13 23:21:09 +00:00
Bill Currie 64a9a8199c allow if (void expr) (with warning) in traditional mode 2002-12-13 23:16:42 +00:00
Bill Currie aec0c9eea1 make return type missmatch a warning for --traditional 2002-12-13 23:05:24 +00:00
Bill Currie 7c86ec2396 go to newer mingw setup 2002-12-13 17:58:51 +00:00
Bill Currie 8ee1461fff fix a changed url and make binutils compile with recent bison 2002-12-12 05:13:56 +00:00
Bill Currie e5400d4e3d remove some debug code 2002-12-10 18:25:11 +00:00
Bill Currie c158f0028b fix gl_stub so it works again and also get the gl functions being looked up
properly
2002-12-10 15:30:16 +00:00
Bill Currie ee30860cef fix a bunch of ;; typos 2002-11-20 21:44:04 +00:00
Bill Currie 599b51b542 hmm, hadn't noticed "stdint.h" 2002-11-19 05:03:42 +00:00
Bill Currie ac8acaacd7 need limits.h 2002-11-19 05:02:57 +00:00
Bill Currie 63dfd5e523 MAXINT isn't as portable as one would like 2002-11-19 05:01:39 +00:00
Bill Currie 0866f5d35f nuke a bunch of commented out code 2002-11-18 23:22:52 +00:00
Bill Currie b44d61e84b use bspfile for reading the map 2002-11-18 22:46:53 +00:00
Bill Currie b1184fc066 run through indent and do some cleanup 2002-11-18 22:14:31 +00:00
Bill Currie 2a1d8555d2 Import Matthew Wong's bsp2bmp utility using quakeio functions, creating an
image_t type for the line point drawing, ditching the raw and bmp formats
in favor of pcx (for now), and renaming to bsp2img. I plan on working on
getopt, bspfile and other image formats in the future as well as generally
cleaning up the code.
2002-11-18 20:48:29 +00:00
Bill Currie 447984226e remove a duplicate perror call 2002-11-18 15:01:02 +00:00
Brian Koropoff 78785a90f8 Added a primitive interactive mode to carne and modified the file::read
GIB builtin to use Qopen instead of COM_LoadHunkFile.  This makes it work
properly in carne.
2002-11-15 23:27:07 +00:00
Bill Currie cb81f17697 bah, bloody bison inconsistencies 2002-11-15 17:12:16 +00:00
Bill Currie 10e34e6d70 ignorage 2002-11-14 22:02:27 +00:00
Bill Currie bad252cb81 support category dumping 2002-11-14 18:44:01 +00:00
Bill Currie 04867e06bc fix a silly bug that caused object names to get mangled when they had a
super class
2002-11-14 18:29:21 +00:00
Bill Currie 3c215ce13f getting closer to working categories 2002-11-14 18:17:43 +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 8cf5c9a430 don't die on invalid strings 2002-11-13 16:17:00 +00:00
Bill Currie da334413b8 re-write category handling so it has a better chance of working (category
using code now compiles)
2002-11-12 19:52:43 +00:00
Bill Currie 75c91e78c2 qwaq progs now take args :) 2002-11-12 02:56:10 +00:00
Bill Currie 13c5216373 do some cleanup 2002-11-12 02:30:08 +00:00
Bill Currie 498bdcc406 compile fixes for alpha linux 2002-11-10 02:50:42 +00:00
Bill Currie f94eeb55a2 fix some alpha warnings 2002-11-08 17:36:47 +00:00
Bill Currie 749b56aae7 forgot to fix these when I did the copyrights 2002-11-06 16:32: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 43fa6a4002 inherited attributes rock :) (thanks, aho, ulman and sethi:) 2002-11-04 17:54:31 +00:00
Bill Currie 1cba65f6ce fix a gcc 2.95 warning 2002-11-04 02:24:28 +00:00
Bill Currie 7f69f593d3 configure.ac:
define default include and lib paths for qfcc
ruamoko:
	{cl_menu,game}/Makefile.am:
		conform to the new qfcc library linking rules
	lib/Makefile.am:
		install the libs to ${prefix}/lib/ruamoko
qfcc:
	linker.[ch]:
		support path searching for -llib and make linker_add_lib search for
		libfoo.a for -lfoo in the paths, or just a single dir search for the
		libname otherwise.
	options.c:
		support -L libpath and setup the default include and lib paths
		also change most strdup calls to save_string
	qfcc.c:
		check for foo.a as well as -lfoo when deciding whether the file is
		an object file or lib file.
2002-11-01 18:05:12 +00:00
Bill Currie 7af99f422f expr.c:
fix a braino that caused only sizeof expr to work
linker.c:
	print an error message if unable to open the lib
qc-parse.y:
	revamp expression parsing so casting is done via (type)expr rather than
	type(expr)
	make it so pointers to pointers don't need ()s
2002-10-31 22:58:59 +00:00
Bill Currie b3671874bf make dist fix 2002-10-30 15:54:17 +00:00
Bill Currie 9a1223cae2 need 14, not 4 for precache_sound 2002-10-30 05:06:03 +00:00
Bill Currie 14ec35176a spelling corrections 2002-10-30 04:11:35 +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 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
Bill Currie d2cedecfb0 make -t shortcut for --traditional work as pointed out by Dmitry Antipov
(dmitry.antipov@mail.ru)
2002-10-29 15:24:17 +00:00
Bill Currie 4ad8ed1fc2 *sigh* twice now forgot to remove that test code :P 2002-10-26 03:41:34 +00:00
Bill Currie 2679ade8cd forgot 0X0 was just as valid as 0x0 2002-10-26 03:41:10 +00:00
Bill Currie 99cdcc9bd7 support hex numbers 2002-10-26 03:23:19 +00:00
Bill Currie 3a3da6a1c4 nuke PR_InitEdicts as it's redundant and only used in the tools due to
forgetting to remove it
2002-10-23 15:55:38 +00:00
Bill Currie 567b905590 copyright block work 2002-10-22 14:53:18 +00:00
Bill Currie 8fc17d27a8 update 2002-10-21 03:08:54 +00:00
Bill Currie 4ee013c5ba don't seg on null strings 2002-10-20 03:43:14 +00:00
Bill Currie 9f8d7fbca7 re-write the hashing so pointers get merged only if they point to the same
def
2002-10-20 03:31:49 +00:00
Bill Currie 262baccd0e remove debug code :P 2002-10-20 03:31:08 +00:00
Bill Currie 7bb6dd7197 make chained structure assignments (mostly) work. found a bug in the
handling of pointer immediates which needs fixing before this will work in
general
2002-10-20 02:35:12 +00:00
Bill Currie 6ece3bc481 don't use move for non-structs. it wasn't an optimisation anyway. this
fixes the internal error when compiling the quake1 progs
2002-10-20 01:25:15 +00:00
Bill Currie 378931412d make the debug level controlable 2002-10-16 17:31:15 +00:00
Bill Currie 54564a4726 structure copies now seem to work 2002-10-16 17:07:01 +00:00
Bill Currie 0c0e4b23de d'oh, temps are never global 2002-10-16 06:39:49 +00:00
Bill Currie 5a182b7cd4 turns out that flags == 0 is quite valid (d'oh) 2002-10-16 06:33:14 +00:00
Bill Currie 5eeb8bbda2 bah, bison decided to re-arange my tokens! 2002-10-16 06:31:00 +00:00
Bill Currie 7542a2457f replace @argc and @argv with @args.count and @args.list. @args is of type
@va_list making it possible (though not yet: need to implement structure
copy) to pass ... params around.
2002-10-16 02:28:08 +00:00
Bill Currie 27effb5075 make struct_t and enum_t globally visible, re-do how enum info is stored
and make it possible to create a structure using a pre-existing type
2002-10-16 02:05:39 +00:00
Bill Currie 6af57049d5 make pointers work a bit better 2002-10-16 02:04:06 +00:00
Bill Currie 3b3b90ef4a fix for new bison 2002-10-16 01:53:56 +00:00
Bill Currie f95510bd46 make vector.x work for structure fields (which actually makes vectors more
useful in structures:)
2002-10-09 20:35:25 +00:00
Bill Currie df1fdca828 add some notes about the threading of qfvis 2002-10-09 19:33:47 +00:00
Bill Currie 7e4e1a1f96 partial support for accessing vector components as .x .y and .z rather than
_x _y and _z
2002-10-09 19:30:43 +00:00
Bill Currie 22d3cf9664 rename the def_void and dev_function defs 2002-10-09 19:17:45 +00:00
Bill Currie 823822301f support emitting bind sub-expressions 2002-10-09 19:16:55 +00:00
Bill Currie a20bb946f6 type.[ch]:
provide a vector structure def so vector.[xyz] can be implemented
def.c:
	record the return address in get_temp to aid debugging
2002-10-08 22:35:37 +00:00
Bill Currie bca275944c record the type of the result of a bind expr 2002-10-08 18:20:09 +00:00
Bill Currie f992090b18 don't do extra manipulations for unnamed defs 2002-10-08 18:03:23 +00:00
Bill Currie a2cf42c8fd smarter gzipping thanks to alphageek (whew, slipped in at last moment:) 2002-10-01 02:37:53 +00:00
Jeff Teunissen 86d0093237 Add a paragraph to the Rua doc's introduction. 2002-09-30 16:45:51 +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 2a56b8f15f go back to the `long way' for the cross product as qfvis was no longer
getting the same results as vis (that may be acceptable, but not yet:)
2002-09-26 03:58:22 +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 43d8cf9640 fix program name printing 2002-09-25 17:48:43 +00:00
Bill Currie e81a0e2095 qfvis and qflight are still copyright Id 2002-09-25 01:51:58 +00:00
Bill Currie 324172414a use the vector math macros from mathlib.h to make the math in
ClipToSeparators clearer and comment on how --level effects the vis
calculations
2002-09-24 21:48:47 +00:00
Bill Currie 554347b97c forgot qflight was threaded too 2002-09-24 04:50:28 +00:00
Bill Currie 6cdf8e083e qfbsp shouldn't be linking with -pthread 2002-09-24 03:01:23 +00:00
Bill Currie 5904859cca split the base vis functions out of flow.c, add -D_REENTRANT to the compile
for qfvis and a bunch of whitespace
2002-09-24 02:46:03 +00:00
Bill Currie ded572b31f various var cleanups 2002-09-23 22:54:28 +00:00
Bill Currie 4bf8ac58f1 whitespace cleanup and add rcsid tags 2002-09-23 16:27:17 +00:00
Bill Currie ee61eaebbb don't do threading if only 1 thread is used and add another state to
vstatus_t for better portal state checking
2002-09-22 21:54:41 +00:00
Bill Currie 528eec1e12 go back to bailing out on errors 2002-09-22 21:32:36 +00:00
Bill Currie a751e39674 re-enable the break to speed up vis 2002-09-22 04:17:30 +00:00
Bill Currie c57b395a0f correct a spelling error and make a comment a little clearer 2002-09-22 03:48:16 +00:00
Bill Currie b6edd778e7 more malloc/memset to calloc 2002-09-21 22:15:57 +00:00
Bill Currie 90b4f5c0ee correct the spelling of FindPassages 2002-09-21 21:42:30 +00:00
Bill Currie fca84341de more grey space and replace malloc/memset 0 with calloc 2002-09-21 21:35:04 +00:00
Bill Currie 7d7e578b71 white and grey space cleanup 2002-09-21 21:27:38 +00:00
Bill Currie c1c36f79f5 remove a dead var from flow.c and make the mutex use defaults (not sure if
the thing even works:( )
2002-09-21 21:17:32 +00:00
Bill Currie 35a14572be report on the non-reliability of c_chains when threads are used 2002-09-21 03:51:50 +00:00
Bill Currie dd5cac488c fix a few memory access bugs 2002-09-20 22:44:29 +00:00
Bill Currie 00294f7ae0 hopefully make everything happy with the new bsp struct 2002-09-20 22:31:44 +00:00
Bill Currie c1c68830c5 get qflight (maybe:) working with threads 2002-09-20 21:58:40 +00:00
Bill Currie 4d9fb73b29 use getopt and add wad search paths 2002-09-20 21:48:34 +00:00
Bill Currie 8fba02bf2f zap some debug :/ 2002-09-20 19:30:56 +00:00
Bill Currie 544d4d6ff8 fix the missing LOCK and UNLOCK defs (found by accident:) and use a dstring
for building the compressed vis data
2002-09-20 19:03:06 +00:00
Bill Currie b59a945566 write the texdata correctly and actually write the leaf info 2002-09-20 18:17:36 +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 fa63d28acf correctly report the location of the hit entity 2002-09-19 22:48:30 +00:00
Bill Currie 8aa08dec28 multiple wad files seem to work now 2002-09-19 20:58:29 +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
Ragnvald Maartmann-Moe IV 54fa6ebae2 Fix lack of compat.h/string.h includes. 2002-09-19 19:12:16 +00:00
Ragnvald Maartmann-Moe IV 8ae5a8ed2e Gobs of whitespace. 2002-09-19 18:51:19 +00:00
Bill Currie 4d520d588d enough whitespace to crush a shambler 2002-09-19 17:14:23 +00:00
Bill Currie afa0b21336 Whee, now we have qfbsp. It compiles, but won't work as it hasn't been
`ported' to the new bspfile stuff when it comes to creating/editing a bsp.
2002-09-19 16:58:48 +00:00
Bill Currie d8a38ae648 don't fuss with function defs that aren't initialized 2002-09-19 06:01:06 +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
Ragnvald Maartmann-Moe IV e5582a9f2d typo fix 2002-09-19 02:45:57 +00:00
Ragnvald Maartmann-Moe IV 6376ebb253 Whitespace. 2002-09-19 02:37:52 +00:00
Ragnvald Maartmann-Moe IV b3f842ba65 Whitespace, and one typo fix in an error message. 2002-09-18 23:09:09 +00:00
Bill Currie ab421330a9 forgot to update a pointer 2002-09-18 21:35:00 +00:00
Bill Currie b94fc0bf55 avoid a buffer overflow when the new visdata is bigger than the old 2002-09-18 21:14:24 +00:00