Commit Graph

1580 Commits

Author SHA1 Message Date
Bill Currie ae8e7553ce fix struct parsing and printing 2003-07-31 06:17:49 +00:00
Bill Currie 9f0d4cc746 must use save_string when source of string is unknown :P 2003-07-31 06:14:26 +00:00
Bill Currie cc0d8b364d fix a couple "value computed is not used" not used warnings 2003-07-31 02:16:26 +00:00
Bill Currie ab94498503 heh, that was a symptom. forget &void :) 2003-07-30 21:55:32 +00:00
Bill Currie 8099f0d8f2 handle addresses of void defs 2003-07-30 20:57:50 +00:00
Bill Currie e957dc798f oops, initialize type_param properly (D'OH:) 2003-07-30 17:59:34 +00:00
Bill Currie 6ecb707257 revamp the struct system so "struct foo;" does the right thing (ala C) 2003-07-30 04:11:45 +00:00
Jeff Teunissen 5c1875ba28 Update the interface-check warning to be more descriptive. 2003-07-29 18:53:13 +00:00
Bill Currie 5e6b25c917 add interface-check warning option. defaults off 2003-07-29 18:31:12 +00:00
Bill Currie 5b9b11241b make method lookup work with id 2003-07-29 17:38:29 +00:00
Bill Currie be6a7ae715 d'oh 2003-07-27 21:33:05 +00:00
Bill Currie 8966b0a533 get -/+ into selector name for "does not respond to" warning. 2003-07-27 19:47:14 +00:00
Bill Currie f0c5a374d2 get selector naming (and method name mangline) right 2003-07-27 19:13:13 +00:00
Bill Currie 411bddb0d8 whitespace 2003-07-27 18:50:17 +00:00
Jeff Teunissen c9858f4f65 Preliminary "unsigned" support for qfcc and the gamecode engine. Should still
be compatible.
2003-07-26 21:07:51 +00:00
Bill Currie 1366ad4661 fix <protocol_list> 2003-07-25 20:34:24 +00:00
Bill Currie 34df024e34 make sure protocol_hash exists 2003-07-24 19:41:59 +00:00
Bill Currie 5962900e25 allow rel_def_op relocs to point just past the end of the code. needed for
jump tables.
2003-07-24 17:51:24 +00:00
Bill Currie 378c477b8e setup vector fields properly 2003-07-23 18:40:09 +00:00
Bill Currie 778cd78c35 fix some namespace issues with names both being a field and an ivar 2003-07-23 18:28:31 +00:00
Bill Currie 37f660801b QNX's printf doesn't like null pointers 2003-07-17 20:04:07 +00:00
Bill Currie 454aa5c603 more mailing list corrections 2003-07-12 21:50:22 +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 371e57e0a4 make the /* */ comment look right (and test lists:) 2003-06-03 14:46:10 +00:00
Bill Currie 07e9ee5bde make a little more useful 2003-05-23 20:21:43 +00:00
Bill Currie abe657ea12 handle file openning issues a little more gracefully 2003-05-21 15:00:23 +00:00
Bill Currie 19559fb679 fix misplaced bold 2003-05-16 00:19:24 +00:00
Bill Currie c79c4f816e alpha sort the options 2003-05-16 00:08:20 +00:00
Bill Currie 2c5933fb27 fix some errors pointed out by colin (thanks:) 2003-05-15 21:18:51 +00:00
Bill Currie 9bd839e309 correct a couple of typos 2003-05-15 18:55:57 +00:00
Bill Currie 7fb58c63d4 update the qfcc man page 2003-05-15 18:53:45 +00:00
Bill Currie a2243e8936 update the --help docs with all the options 2003-05-15 17:48:59 +00:00
Bill Currie dedb2fa6bf get [super ...] working correctly 2003-05-15 05:58:31 +00:00
Bill Currie bfaa07c726 better type mismatch error reporting 2003-05-15 05:19:05 +00:00
Bill Currie 5fac3e6f3a fix a buffer underflow 2003-05-15 05:10:28 +00:00
Bill Currie 094c9c5cdb make derefencing a pointer without an offset more efficient 2003-05-13 19:49:23 +00:00
Bill Currie f59f766af1 use the correct type when taking the address of a pointer derefernece 2003-05-13 19:42:14 +00:00
Bill Currie 1ea1a2f529 don't bother checking access restrictions in class_ivar_expr as
class_find_ivar will catch them when the generated self.ivar is `parsed'.
2003-05-13 01:30:01 +00:00
Bill Currie 5bd0280d1b more inlining of varargs function avoidance 2003-05-07 21:20:00 +00:00
Bill Currie 0ebf9d6afc more inline avoidance 2003-05-07 15:00:17 +00:00
Bill Currie 9cab099383 more inline stuff 2003-05-07 07:18:36 +00:00
Bill Currie 6fb5acc868 more auto-inline avoidance 2003-05-07 02:45:17 +00:00
Bill Currie 4dcc29a136 bloody gcc deciding #import isn't good enough :P 2003-05-06 21:52:58 +00:00
Bill Currie b6b5089ccc add a "nosave" flag to defs making it easier to make defs that don't get
saved automaticly
2003-04-25 17:00:22 +00:00
Bill Currie 2a127dd702 allow sorting defs by address 2003-04-23 20:10:51 +00:00
Bill Currie 19980964d7 don't create defs for the components of vector or quaternion defs 2003-04-23 19:50:16 +00:00
Bill Currie 8f4308c86a get .param_size and .debug_file linked in properly 2003-04-23 18:25:09 +00:00
Bill Currie 57254e5d33 fix a double ; 2003-04-23 06:17:36 +00:00
Bill Currie 8b24578547 print the operator for the precedence notice properly 2003-04-23 01:56:44 +00:00
Bill Currie f7d806e8d5 can now handle > vector sized parameters 2003-04-22 20:11:16 +00:00
Bill Currie e732cf591d remove all references to OFS_* from the C code. only the macros in progs.h
use them now
2003-04-22 18:20:15 +00:00
Bill Currie a21054fdfc handle def aliases properly in emit_move_expr 2003-04-22 17:26:49 +00:00
Bill Currie 6a0b74ca10 detect type mismatches in method declarations and definitions 2003-04-22 15:48:39 +00:00
Bill Currie 2f6fc5d80c general revamp so params and the return value use proper defs rather than
hardcoded locations. this will allow use of quaternions in the future.
2003-04-22 15:29:32 +00:00
Bill Currie 47d4fec5ec allow a named def with 0 offset to be printed 2003-04-22 05:39:12 +00:00
Bill Currie 9a40bf2956 get the fix right 2003-04-17 00:25:55 +00:00
Bill Currie 5cb8429f04 bah, cleanup for flex versions :P 2003-04-17 00:14:13 +00:00
Bill Currie eb099ae0d3 make qf gcc 3.3 clean 2003-04-17 00:01:48 +00:00
Bill Currie 7ca2aae6f0 fixes for latest flex 2003-04-16 19:41:52 +00:00
Brian Koropoff e707e9bb89 Moved gib_*.h into include/ and moved the necessary declarations and struct
definitions to QF/gib.h to interface with libQFgib.
2003-04-13 22:07:58 +00:00
Bill Currie 105ef11e0e return a version for GL_VERSION 2003-04-13 05:58:22 +00:00
Bill Currie dccff75f98 don't want to lose this 2003-04-11 23:30:26 +00:00
Brian Koropoff d8c0f50c11 The ultimate GIB bugfix commit, including reworked semantic processing,
a fix for arguments passed to a GIB function run via rcon, and various
other fixes.
2003-04-11 02:57:11 +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 8c13014ad9 kill the debug info 2003-04-10 21:33:43 +00:00
Bill Currie e937fecdc1 move the riff reading code into libQFutil 2003-04-10 16:52:39 +00:00
Bill Currie 7052a6f20b work toward making the riff reader more generally useful by pluggin all the
memory leaks. next step is to get it so the data chunk isn't actually read
but rather its location and size stored.
2003-04-10 05:20:59 +00:00
Bill Currie a9fb183d19 fix another struct type parsing bug 2003-04-07 22:24:15 +00:00
Bill Currie b7d7e7e87f allow assignment from void pointer to any pointer type 2003-04-07 21:57:26 +00:00
Bill Currie 55eb6c3ab1 plug a memory leak 2003-04-07 18:30:47 +00:00
Bill Currie 66ff0cfd4d fix some type parsing errors for structs and arrays 2003-04-07 18:17:43 +00:00
Bill Currie ee821705cc implement nested (and struct) block initializers 2003-04-07 17:44:18 +00:00
Bill Currie 3c58b712d9 don't subdivide hint or skip brushes 2003-04-04 21:48:47 +00:00
Bill Currie 87e73b6e26 portability fixes from freebsd (MrFixit? q@uni.de) 2003-03-31 16:30:23 +00:00
Bill Currie 87a31439e4 don't warn for ! precedence 2003-03-25 17:47:52 +00:00
Bill Currie 0550741fb9 catch ! == bogosity 2003-03-25 17:18:58 +00:00
Bill Currie 81cf1cc99d don't seg on hint and skip brushs. hint and clip brushes are now known to
work (what is a skip brush?)
2003-03-25 16:34:07 +00:00
Bill Currie eb5f2137b4 don't create temp files when only preprocessing 2003-03-24 17:40:27 +00:00
Bill Currie fc553cefbc don't seg if there's no texture data 2003-03-22 04:33:52 +00:00
Bill Currie 29ab911ad4 this might come in handy 2003-03-18 19:49:23 +00:00
Bill Currie 48a5ad0d36 my WIP on porting QuakeEd to GNUstep/QuakeForge 2003-03-18 19:48:24 +00:00
Bill Currie d7a3608943 can now convert v3 models to v6 2003-03-17 19:54:57 +00:00
Bill Currie 067405b461 finally have v3 mdl figured out 2003-03-17 18:41:07 +00:00
Bill Currie 27a02de1cc fix a double fclose 2003-03-17 04:36:06 +00:00
Bill Currie 3a85d98f83 fix an out-by-one error 2003-03-17 00:52:16 +00:00
Bill Currie dc74519205 no flags for mdl v3, but yes to skin type 2003-03-14 01:00:53 +00:00
Bill Currie f604a84363 attempting to reverse engineer mdl ver 3 2003-03-14 00:43:33 +00:00
Bill Currie 1e423b9645 make certain classes get referenced when inheriting from them 2003-03-13 19:16:45 +00:00
Bill Currie 5cb79f423c fix missing break 2003-03-13 17:31:01 +00:00
Bill Currie 6a79ee57c4 the correct fix for overzealous linking: preemptively turf unused externs 2003-03-13 03:18:34 +00:00
Bill Currie bb1b7c481c don't pull in a lib object file due to an /unused/ undefined def. 2003-03-13 01:50:49 +00:00
Bill Currie 71a60717d9 make pr_source_path a ; separated list of dirs and make it controllable in
qfprogs
2003-03-12 22:31:44 +00:00
Bill Currie 15781b2f19 make vector.x work in classes work and don't give an uninitialized warning
for vec.x = 0;
2003-03-12 21:58:24 +00:00
Bill Currie 664e121444 make the output a little more readable 2003-03-12 02:22:06 +00:00
Bill Currie 63edd414d6 use the command line for the file name rather than hardcoding it 2003-03-11 02:55:22 +00:00
Bill Currie 2d796e09f4 ignore dvi files 2003-03-10 21:26:57 +00:00
Bill Currie 627c6f70f5 allow casting between function types 2003-03-10 21:23:05 +00:00
Bill Currie e3ad60f142 add WildCode's error checking for win32 cpp handling 2003-03-10 21:00:48 +00:00
Bill Currie 6b20862865 disable some debug 2003-03-04 21:13:10 +00:00
Bill Currie 4de6a20856 fix a bug with \\ handling just before the end of a string constant 2003-03-04 17:03:49 +00:00
Bill Currie 1c774bc10c remove some debug code :P 2003-03-03 21:10:29 +00:00
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
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 91a6dd5272 bah, EXTRA_MANS doesn't work, even though automake doesn't complain :/ 2002-09-17 22:37:32 +00:00
Bill Currie 317c02539b macro-ize --with-{clients,servers} and implement --with-tools using the new
macro
2002-09-17 22:19:14 +00:00
Bill Currie ece9660099 get @system working (Closes: #52). I'm not happy with the name of this
operator and I'm very open to suggestions, but it seems to work. What
@system does is to mark a def in such a way that the linker will allow it
to be redefined /once/ giving the programmer control over where and when
a def is defined, but initializing it elsewhere. This is most useful when
working with v6 progs and separate compliation as the `system' defs need to
be in a certain order in certain locations or the resuting progs.dat file
will be incompatable with non-qf 0.5 servers.
2002-09-17 18:42:35 +00:00
Bill Currie b94077200f make it so id can be assigned to any class or object pointer 2002-09-16 20:32:32 +00:00
Bill Currie 4a34960d95 a bit of code cleanup 2002-09-16 17:37:22 +00:00
Bill Currie 412db7e27d "for example" is more appropriate than "that is" 2002-09-16 15:42:11 +00:00
Chris Ison 3b09f34532 fix up package names in license 2002-09-16 07:17:24 +00:00
Bill Currie eb4aa7ccec produce better code for v6 % 2002-09-13 17:38:19 +00:00
Bill Currie 308ff7163f emit.c:
implement % for v6 code. hacky, but it works :) (Closes: #29)
expr.c:
	emit the body of a block expresion before emitting its result (needed
	for v6 %)
2002-09-13 17:12:26 +00:00
Bill Currie 1e5402a30a Closes: #50
idstuff.c:
	don't write the defs at offset 0 to progdefs.h
qfcc.c:
	generate progdefs.h and the crc for v6 code when linking object files
	to the progs.dat
2002-09-13 15:42:07 +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
Bill Currie beb6219072 bring in rvis' speedup. I won't pretend to understand what's going on, so
it's tagged :)
2002-09-12 21:11:52 +00:00
Bill Currie cd05f96ac6 forgot to uncomment the code that initialized uncompressed when I got
portal loading working
2002-09-12 19:33:17 +00:00
Bill Currie 090e65bc09 mark allocated fields constant 2002-09-12 18:34:17 +00:00
Bill Currie d7eea11c91 static defs are initialized too 2002-09-12 18:30:24 +00:00
Bill Currie 842a9d2eb0 linker.c:
don't seg on uninitialized fields
qc-parse.y:
	support @extern and @static blocks (eg, @extern { ... };)
2002-09-12 17:13:19 +00:00
Bill Currie 774b0adc2b get qfvis working, including pthreads 2002-09-12 06:48:05 +00:00
Bill Currie 2f98af35b8 implement non-asm versions of the bit plane mungers 2002-09-11 21:33:58 +00:00
Bill Currie c784b4375a bring in modelgel, quakeforgeized :) (more work needs to be done, though) 2002-09-11 20:22:17 +00:00
Bill Currie fc5daabb05 silly little python script for dumping models 2002-09-11 19:03:51 +00:00
Bill Currie aae378c0a2 delete temporary .qfo files for (eg) qfcc -o test.dat test.qc 2002-09-11 18:17:45 +00:00
Bill Currie 324b89696a create new_*_expr functions for all basic expression types except ex_poitner
and use them instead of new_expr and setting the fields each time. Serious
code cleanup :)
2002-09-11 16:21:26 +00:00
Bill Currie e5227076e0 put in some error checking on the Qopen calls 2002-09-10 15:46:50 +00:00
Bill Currie 867f964740 * taniwha salutes while taps is played 2002-09-10 15:36:32 +00:00
Bill Currie 05d437a3c1 make @extern and @static available to v6 progs 2002-09-10 04:07:34 +00:00
Bill Currie 656b0e3bb2 add line-number dumping 2002-09-07 06:47:16 +00:00
Bill Currie f6cdbdf63c make sure an initialized def has the correct source file and line info 2002-09-07 06:45:51 +00:00
Bill Currie 2ba3585d06 fix a braino with ~float const 2002-09-05 17:40:14 +00:00
Bill Currie 27b0314e2e don't do the ObjQC types if --traditional is used 2002-09-04 21:47:27 +00:00
Bill Currie 1d35f4dd9e make ~ work for v6 progs by implementing ~x as -1 - x (will give bogus
results if x has fractional bits, but it's better than it was:)
2002-09-04 16:18:52 +00:00
Bill Currie 882d0f25ce the code memory block can move around so take the address of a statement
after statments have been emitted, not before.
2002-08-30 05:33:34 +00:00
Bill Currie 5da6fbe59c check for uninitialized variables used in function args 2002-08-29 03:06:00 +00:00
Bill Currie ec47e08e1c go back to using QFile, quakeio.h and quakefs.h 2002-08-27 07:16:28 +00:00
Ragnvald Maartmann-Moe IV d855b5199d Whitespace 2002-08-26 23:08:04 +00:00
Ragnvald Maartmann-Moe IV 9b9a68db9e Updated manpages. 2002-08-26 23:02:17 +00:00
Chris Ison 0ff949fdef return empty string for glGetString by default .. was returning 0 but efence complained 2002-08-26 19:51:39 +00:00
Bill Currie 52f183a9a5 more getopt fixes. correct : and - for qflight and fix up the help screens 2002-08-26 16:24:46 +00:00
Bill Currie 4a69ce1877 fix some getopt misconfigurations: missed args markers and "-" isn't needed
because we don't care about option interleave
2002-08-26 16:15:19 +00:00
Bill Currie df96985118 whitespace 2002-08-26 15:12:05 +00:00
Bill Currie 5108c3c976 more (believable:) whitespace 2002-08-26 15:05:23 +00:00
Bill Currie 84f04f158e whitespace like you wouldn't believe. s/^M/^J/g 2002-08-26 14:57:42 +00:00
Bill Currie 2658c3098f use the LoadFile in libQFutil 2002-08-26 00:31:07 +00:00
Ragnvald Maartmann-Moe IV 8c3e8cf083 Add manpage for qfvis. 2002-08-25 23:59:11 +00:00
Ragnvald Maartmann-Moe IV 3d9c0b00bb Failed escapee! 2002-08-25 23:18:20 +00:00
Ragnvald Maartmann-Moe IV fed01ddd3e .gitignores for qf map tools 2002-08-25 23:16:48 +00:00
Bill Currie aaab480676 fix a bunch of potential malloc (0) calls 2002-08-25 23:16:07 +00:00
Ragnvald Maartmann-Moe IV a3af2d9fa9 Add Hideo's WIP qflight & qfvis. 2002-08-25 23:06:23 +00:00
Bill Currie 502898a6b5 install zpak when doing make install 2002-08-22 16:14:15 +00:00
Bill Currie 5d51e0151e bah, forgot the header changes :P 2002-08-20 21:16:50 +00:00
Bill Currie 3e87e3ecdf allow ';' after @class ... 2002-08-20 21:13:18 +00:00
Bill Currie 094cf08a67 bah, bloody string builtins in gcc 2.95 2002-08-20 19:31:56 +00:00
Bill Currie 099e2739b5 various msvc fixes thanks to muzzy (hope he doesn't give up:) 2002-08-20 19:16:11 +00:00
Bill Currie 371e92c448 finally fix chained function calls /properly/. need to make sure /all/ args
get their user count incremented, not just the head of the chain
2002-08-20 17:21:32 +00:00
Bill Currie 76a7637b5e provide a way to dump module information 2002-08-20 14:31:47 +00:00
Bill Currie e429195f91 allow qfdefs to build standalone again (thanks, raorn) 2002-08-20 07:10:16 +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
Bill Currie 5d7135600e gah, that /did/ work, dunno what happend. must have done a tweak before
committing again :/ This currently produces some pseudo warnings about
dangling temps, but that's better than producing broken code
2002-08-20 02:52:04 +00:00
Bill Currie b99a72e876 pr_obj.c:
call obj_find_message with super instead of class when doing a super
	lookup
client_menu.[ch]:
	use the InputLine object instead of directly using the api
InputLine.r:
	builint functions are = #0, not = 0 :P
function.[ch]:
	provide copy_params
method.[ch]
	provide copy_keywordargs
expr.c:
	call inc_users for the parm temp if it's a bind expression
	revers a copy of the selector when building the selector name so the
	selector doesn't get mangled
qc-parse.y:
	catch erronous func = const inintializers (should be func = #const)
2002-08-20 02:09:34 +00:00
Bill Currie e8a834d6a4 print the function number when dumping functions 2002-08-20 01:51:27 +00:00
Bill Currie 450acbdc91 fix for current pak 2002-08-19 04:00:02 +00:00
Bill Currie b6e311d4ce varous make dist fixes 2002-08-19 03:58:55 +00:00
Bill Currie 797dcc49e2 hide .libs 2002-08-19 02:01:36 +00:00
Bill Currie d850f0a529 build qfdefs by default now. remember to bootstrap and configure 2002-08-18 04:35:31 +00:00
Bill Currie a94bdb199f @sizeof (foo) should work now 2002-08-18 04:08:02 +00:00
Jeff Teunissen 01e74328c2 Fix qwaq build. 2002-08-17 23:03:26 +00:00
Bill Currie c1c6c05cf5 pr_obj.c:
delay class fixups so order doesn't matter
class.c:
	write out the class and category diffs properly
2002-08-16 22:53:37 +00:00
Bill Currie 932ac624bd more error checking fixes 2002-08-16 20:49:32 +00:00
Bill Currie 8a431570b8 generate the selector name in the correct order for selector expressions 2002-08-16 19:50:16 +00:00
Bill Currie a4fa9da4f1 ingore some autotools files 2002-08-16 17:54:12 +00:00
Bill Currie dc10116fc3 clean up some bitrot 2002-08-16 17:52:17 +00:00
Bill Currie cab813c559 check the scope when checking for duplicate vector sub-defs 2002-08-16 16:51:00 +00:00
Bill Currie 45a1ef2140 allow assignment of any pointer type to void pointers 2002-08-15 20:13:18 +00:00
Bill Currie 36ca7b55bd fix several problems caused by insufficient error checking and some double
Qclose calls
2002-08-15 18:53:03 +00:00
Bill Currie 00c6d011e7 forgot qwaq relied on cs-code's object.r 2002-08-15 18:51:58 +00:00
Bill Currie 01c375c7db update test verbosity checks for the new default verbosity 2002-08-14 22:38:24 +00:00
Bill Currie 09ce2b0662 make sure a class' super class gets referenced when the class is implemented
to ensure the super class' object file gets linked in when it's in a library
2002-08-14 03:55:23 +00:00
Bill Currie fabaf84745 fix a missing reloc ref for .this 2002-08-14 03:44:41 +00:00
Bill Currie 53b257c918 preprocessising fixes, including detecting when to stop at the preprocessing
stage.
2002-08-13 22:02:07 +00:00
Bill Currie 8474f145d1 remove debug print 2002-08-13 21:54:10 +00:00
Bill Currie 0840678465 handle extern -> defined transition properly for vectors 2002-08-13 21:19:30 +00:00
Bill Currie 2f4094344b don't change the hidden parm type for protocol methods until they're used in a class 2002-08-13 21:18:17 +00:00
Bill Currie fa6f3cb09d loop over the method list correctly 2002-08-13 21:17:20 +00:00
Bill Currie 3971786ee1 clean up a follow on error for calling an undefined function 2002-08-13 21:16:42 +00:00
Bill Currie aa76f81073 change the default verbosity to 0 2002-08-13 19:32:06 +00:00
Bill Currie cd6f82c2c9 fix Class mangling when compiling multipe source files to objects 2002-08-13 17:03:26 +00:00
Bill Currie a431a2783c byteswap the reloc def field too (fixes the qfcc seg on big-endian systems) 2002-08-09 04:06:50 +00:00
Bill Currie ff8ea15c09 solaris compile fixes 2002-08-09 04:06:17 +00:00
Bill Currie 8de4d28238 print cpp invocation for win32 too 2002-08-02 19:09:02 +00:00
Brian Koropoff 439f9838d3 Whoops, missed some stuff that needed to be in idparse.h 2002-07-31 22:13:15 +00:00
Bill Currie c86d7f2009 forgot this 2002-07-31 17:00:19 +00:00
Bill Currie 7c26fa28dc another cmdlib function dies 2002-07-31 16:42:21 +00:00
Bill Currie ad6e025a91 take cmd.[ch] back to basics. the gib code is temporarily gone pending
renovations. cmd_source handling is a little hacky in nq, but it's working.
2002-07-31 05:19:03 +00:00
Bill Currie bd42e5158d rename wav to qfwavinfo (thanks for the suggestion, Despair) 2002-07-29 22:32:19 +00:00
Bill Currie 5d14e327aa don't print the filename and only print the CUEPOINT if there is one 2002-07-29 21:39:42 +00:00
Bill Currie fc9b734d6b parse out the cuepoint info 2002-07-29 21:38:43 +00:00
Bill Currie b900b60334 gcc 3.1 win32 compile fix 2002-07-28 03:30:13 +00:00
Bill Currie de22355371 use P_* for params and R_* for return values in builtins code 2002-07-24 21:42:33 +00:00
Bill Currie 267ba0aa85 s/pak/wav/ 2002-07-23 20:17:10 +00:00
Bill Currie 5f65a53e81 fix a bug with obj_msgSend and obj_msgSend_super when more than one file is
compiled
2002-07-23 18:51:47 +00:00
Bill Currie 1e49f0d0c3 fix a segfault (what was I thinking when I wrote that line?) 2002-07-23 05:44:45 +00:00
Bill Currie 25c869324d start working on a tool to sxtract the loop info from wav files 2002-07-22 16:17:58 +00:00
Bill Currie c2a7564d55 implement -l, but -L isn't supported yet and the full lib name must be given 2002-07-21 07:12:17 +00:00
Bill Currie acf9ce392c move pakfile.[ch] into libQFutil and make quakefs.c use it instead of its
own code. This also removes the evil pak file count limit :)
2002-07-21 06:11:28 +00:00
Bill Currie f1423cb0b3 print the cpp command line if verbosity is high enough 2002-07-20 05:20:40 +00:00
Bill Currie 3a14891266 remove the file count restriction 2002-07-20 02:01:38 +00:00
Ragnvald Maartmann-Moe IV e6ea44a9ad ? tools/qfcc/source/qfodump
Not anymore.
2002-07-19 14:13:37 +00:00
Bill Currie dee87f331e add .vimrc 2002-07-18 18:00:46 +00:00
Bill Currie 60520e7981 allow things like pointer == pointer for different pointer types that are in
the same heirarchy
2002-07-18 05:16:12 +00:00
Bill Currie 95bbb6803d be a little clearer about cpp errors 2002-07-17 19:56:30 +00:00
Bill Currie fb4ef47af6 make the filename output high verbosity 2002-07-17 19:00:16 +00:00
Bill Currie e72b25144e relocate the strings in an initialized array/struct 2002-07-17 18:49:58 +00:00
Bill Currie 8d6c491390 fix branches (been broken for a while :/) 2002-07-17 18:45:17 +00:00
Bill Currie 90fa657a5f fix array type string parsing 2002-07-17 17:59:42 +00:00
Bill Currie 2c94688e87 default options.outputfile to "progs.dat" if not specified when linking 2002-07-17 17:49:17 +00:00
Bill Currie 5ea3042eec fix -c -o ... 2002-07-17 17:43:51 +00:00
Bill Currie 7fcdef1943 make sure current_type is set properly for struct fields 2002-07-17 17:17:05 +00:00
Bill Currie b0d568d85f local defs for debug info now work 2002-07-17 15:40:08 +00:00
Bill Currie 17cd41883e get the source line for the function from a more reliable location 2002-07-17 14:39:54 +00:00
Bill Currie 980be66c0e bah, missed this file 2002-07-17 14:21:52 +00:00
Bill Currie 34da93f251 get line numbers working on link and fix a bug in the creation of aux
functions
2002-07-17 14:19:30 +00:00
Bill Currie 8a96b5bbbc oops, forgot to remove the debug print :) 2002-07-16 22:00:55 +00:00
Bill Currie 678a45cfe2 entity fields seem to work. I guess this means separate compilation is now
useful :)
2002-07-16 21:59:47 +00:00
Bill Currie c36b7e36d2 fix external vectors and only complain about undefined externals that are
actually used
2002-07-16 20:09:14 +00:00
Bill Currie ac1392eb74 object.r:
define __obj_exec_class, obj_msgSend and obj_msgSend_super for the way
	qfcc now handles these defs
pr_edict.c:
	PR_ValueString now checks that the function is valid before trying to
	print its name.
class.c:
	__obj_exec_class is now extern
linker.c:
	fix more mangled relocs
method.c:
	obj_msgSend and obj_msgSend_super are now extern
qfcc.c:
	fixes so obj_module_t doesn't get zapped
type.c:
	fixes so obj_module_t doesn't get zapped
2002-07-16 19:03:56 +00:00
Bill Currie 3b1825b692 fix the mangled relocs. oo hello world works again 2002-07-16 17:35:40 +00:00
Bill Currie 17c2def821 def merging seems to mostly work (have some problems with method lists) 2002-07-16 06:40:34 +00:00
Bill Currie 4d214bfea1 more hacks 2002-07-16 04:38:17 +00:00
Bill Currie 4d69deb205 class.c:
use the correct type when creating the class def
struct.c:
	save the name
2002-07-16 04:37:51 +00:00
Bill Currie bf858856b8 fix a /really/ silly error that broke def relocations 2002-07-15 22:10:03 +00:00
Bill Currie a4ad662b63 make a little more robust 2002-07-15 21:58:39 +00:00
Bill Currie 295a9c1115 move external defs from the external table to the global table when they
get defined
2002-07-15 21:49:46 +00:00
Bill Currie 463c5724db clean up some duplicated code by using some template macros 2002-07-15 21:45:32 +00:00
Bill Currie b9a237b13d rename qfo_function_t to qfo_func_t and similar for other qfo *function* in
obj_file.[ch]
2002-07-15 21:37:52 +00:00
Bill Currie 8539d7987f make @self and @this work for separate compilation 2002-07-14 05:40:38 +00:00
Bill Currie 06390e10e6 more relocs fixups. my little OO hello world progs works now :) 2002-07-14 03:41:13 +00:00
Bill Currie e550ad670a more linking fixes, including seting up relocations. not quite working yet 2002-07-13 06:09:03 +00:00
Bill Currie 9b6980ac7b fix an off by one error that was mangling functions 2002-07-13 03:21:27 +00:00
Bill Currie 58ecbd1171 new_struct doesn't like "" names 2002-07-13 03:20:45 +00:00
Bill Currie c0880a94a9 print the name of the duplicate struct 2002-07-13 03:20:17 +00:00
Bill Currie c6ad0ff819 fixup_relocs doesn't need qfo any more 2002-07-13 02:24:06 +00:00
Bill Currie b48d71fdcc make qfo functions 0 based. now having weird def problems :/ 2002-07-12 22:27:40 +00:00
Bill Currie e6fc66aaa9 grr, and another one :P 2002-07-12 21:44:04 +00:00
Bill Currie b1b3c148e7 fix a bug in the parsing of structures 2002-07-12 21:43:27 +00:00
Bill Currie d80b448281 select the correct function when fixing its def 2002-07-12 21:14:46 +00:00
Bill Currie 2a121d000f fix a couple of dumb bugs and update the function number calculation 2002-07-12 20:43:11 +00:00
Bill Currie 06c03dd074 make local defs always come after global defs in linked qfo files and make
function relocations work better
2002-07-12 20:26:51 +00:00
Bill Currie 5a6907d969 some minor improvements 2002-07-12 20:22:06 +00:00
Bill Currie b9b9f03e82 keep short defs out too 2002-07-12 16:01:40 +00:00
Bill Currie 3cf754db30 keep the return def out of .qfo files (for now, anyway) 2002-07-12 15:54:46 +00:00
Bill Currie ddd7d82bcf quick and dirty util to dump the defs in a .qfo file 2002-07-12 06:19:02 +00:00
Bill Currie 24d473c386 more linking fixes 2002-07-12 06:17:24 +00:00
Bill Currie ce8f071b7c implement partial linking (doesn't work any better than full, though :P) 2002-07-12 04:50:31 +00:00
Bill Currie 33b3fd1887 fix some misc linking bugs 2002-07-12 03:26:47 +00:00
Bill Currie 0f5f68623f it's as broken as all-get-out, but object files can now be linked 2002-07-11 22:38:23 +00:00
Bill Currie a9899087d3 fix a bunch of silly bugs and get the linked output written (hangs, though) 2002-07-11 21:04:09 +00:00
Bill Currie 4d1dbc8cc1 re-write qfo writing from progs, make qfo creation easier, (mostly) finish
the linker. now for testing :)
2002-07-11 20:17:26 +00:00
Bill Currie 4b83c6592c fix RUP so it actually works. only works with powers of two now, though 2002-07-11 20:16:03 +00:00
Bill Currie de89733c5b fix a missing & that was causing problems with writing function refs 2002-07-11 20:14:45 +00:00
Bill Currie bc5beea311 getting closer to being able to link 2002-07-11 17:06:15 +00:00
Bill Currie 2df43ef941 make data handling a little easier 2002-07-11 15:42:20 +00:00
Bill Currie 1db26eea86 can't call pointer_type untill after the types are chained 2002-07-09 19:00:52 +00:00
Bill Currie 2cb6138f2b fix a silly segfault and make statement allocation saner 2002-07-08 20:31:59 +00:00
Bill Currie c1894db59f split the emit stuf out of expr.h into emit.h 2002-07-08 18:53:07 +00:00
Bill Currie e815669b7a finish (for now:/) qfo_to_progs 2002-07-08 16:13:06 +00:00
Bill Currie 24e242ed35 move the type strings into their own string pool so the progs strings don't
get cluttered
2002-07-08 05:26:50 +00:00
Bill Currie 598edb26fd parse a type back from its encoding (some info will be lost) 2002-07-08 05:10:05 +00:00
Bill Currie c50923fa6f expr_t forward declaration fix 2002-07-08 05:07:18 +00:00
Bill Currie 4c8e157db2 nuke pr.statement_linenums as it was redundant and the info never used anyway 2002-07-08 03:05:44 +00:00
Jeff Teunissen caf9d820c1 Forge updates. Forge now saves, but does not load (heh) projects. 2002-07-06 03:00:28 +00:00
Bill Currie 5f54a1931b fix an unused enum warning missed by gcc 3.0 2002-07-06 02:22:15 +00:00
Bill Currie 5b98893003 bah, getting my "last changes vs last compile" backwards again :/ 2002-07-05 20:19:13 +00:00
Bill Currie 8a402381e6 redo how progs strings are stored so multiple pools can exist 2002-07-05 20:02:10 +00:00
Bill Currie 576feacbf0 correct copyright year 2002-07-05 17:02:39 +00:00
Bill Currie 7132e67f60 type encoding improvements 2002-07-05 16:59:25 +00:00
Bill Currie 0ef4a7513d d'oh, I thought I tested with those lines in :/ 2002-07-03 21:38:14 +00:00
Bill Currie 46bad45c7a move s_file, pr_source_line and pr_error_count into pr, make the linker
errors more meaningful, and fix a blasted string.h issue (damn old gcc;P)
2002-07-03 21:32:03 +00:00
Bill Currie 102eab0d84 linker.[ch]:
start working on the linker.
class.[ch]:
	redo class defs so the pointer works (needs relocs still)
obj_file.h:
	add prototype for read_obj_file, QFO_* data access macros and include
	pr_debug.h
type.[ch]:
	separate type system initialisation and recording of the standard types
	so find_type works properly in multiple compilation
def.c:
	don't mark static defs as initialized
expr.c:
	proper class pointer def stuff
immediate.c:
	clean out dead vars/code
obj_file.c:
	allocate space for the line info and bail if the file can't be opened.
qfcc.c:
	register the standard types for each compile pass and start linking the
	files
2002-07-03 20:16:32 +00:00
Bill Currie 9332ea30bc oops, forgot to copy the string again when I went from strdup to save_string 2002-07-03 19:12:29 +00:00
Bill Currie b81f77803c make extern more of a no-op when the def alread exists 2002-07-03 06:42:54 +00:00
Ragnvald Maartmann-Moe IV 4bd03bfff3 Hack to make error-on-warnings happy. *pokes taniwha* 2002-07-03 00:36:44 +00:00
Bill Currie 211b11c8ae some storage and obj file fixes 2002-07-02 23:08:44 +00:00
Bill Currie e6c4e0b576 some more storage class work 2002-07-02 21:34:40 +00:00
Bill Currie 66aa36b73f start implementing storage classes (extern, static, etc) 2002-06-28 17:59:32 +00:00
Bill Currie 8e2dbc1947 gzwrite doesn't like 0 bytes 2002-06-28 16:52:41 +00:00
Bill Currie 1a0b69e1d9 "qfcc *.qc" can now get through the prozac source withtout crashing (oodles
of compile errors, though:)
2002-06-28 16:38:05 +00:00
Bill Currie 8415db2d84 clear out the hash tables for compiling multiple object files 2002-06-28 16:00:01 +00:00
Bill Currie 536937b2e6 print out function param info 2002-06-27 22:51:42 +00:00
Bill Currie 001571e25a various memory saving tricks. seems to have not broken anything 2002-06-27 22:48:28 +00:00
Bill Currie be50d0e15a sometimes, gcc 2.95 can be such a pain 2002-06-27 15:13:43 +00:00
Chris Ison 0997d24dfd the long time needed 3dfxstub.so 2002-06-27 05:42:58 +00:00
Ragnvald Maartmann-Moe IV c963f300e6 Add include for string.h. Needs to be done more portably, but I'm too tired. 2002-06-26 23:01:25 +00:00
Bill Currie 26dce371d9 clean up type allocation a little and also reloc allocation 2002-06-26 22:10:59 +00:00
Bill Currie 362ec2a23a do some freeing 2002-06-26 16:27:23 +00:00
Bill Currie 78a626066e get command line parsing working in an appropriate manner for separate
compilation
2002-06-25 21:36:10 +00:00
Bill Currie ecdb5a5cb4 allow the output file to be specified on the command line 2002-06-24 22:53:21 +00:00
Bill Currie 4d496a2cd6 more endianess corrections and read/write line numbers 2002-06-24 22:36:04 +00:00
Bill Currie 29d679154f forgot to byteswap the code and data 2002-06-24 21:41:05 +00:00
Bill Currie f77bb44df3 load a qfo back into memory. next step is to figure out linking 2002-06-22 05:10:34 +00:00
Bill Currie 9fee1d07dd initial work on actually writing .qfo files. seems to work, but only test.qfo
is ever writtin :)
2002-06-21 20:46:56 +00:00
Bill Currie f8dee80355 add unions 2002-06-20 20:28:01 +00:00
Bill Currie f8e4215ba9 implement compiler "notices": potentially important information that isn't
really a warning (unless requested) and can be silenced.
2002-06-20 19:29:06 +00:00
Bill Currie 3476138988 make --tradiontial cause "!foo & bar" evaluate as "!(foo & bar)" as per
qfcc's broken behaviour.
2002-06-20 18:51:46 +00:00
Ragnvald Maartmann-Moe IV c8bc5dfb4c QSG2 glows almost working. Plus lots of typos killed. 2002-06-18 21:41:24 +00:00
Bill Currie f90f78990a ok, I'm happy with this now (bit fields anent' so great for portable file
formats:/)
2002-06-18 21:00:41 +00:00
Bill Currie 8263d3bd85 start working on the format for the object files 2002-06-17 05:29:20 +00:00
Bill Currie 37d3fecd5d remove an unneeded field 2002-06-17 05:28:43 +00:00
Bill Currie cbffb4b140 clean up the vector def setup 2002-06-17 02:43:38 +00:00
Bill Currie b519c0b7cd fix a silly typo that was causing the _y of vectors to get pointed to the
wrong place
2002-06-17 01:22:45 +00:00
Bill Currie 2264c28310 pr_strings:
remove a bogus 0x which caused confusion in an error message
def.c:
	vector fields still need an extra 3 globals for their component fields
2002-06-16 05:24:58 +00:00
Bill Currie e774943f24 va.[ch]:
new va function: nva which returns a strduped buffer
expr.c options.c:
	use nva instead of strdup (va (...
struct.c type.c:
	make type encoding work properly for structs
2002-06-13 16:39:33 +00:00
Bill Currie fb0318621d and for my next amazing feat, I'll remove the debug code :P 2002-06-13 07:22:53 +00:00
Bill Currie 5bbcbe0185 arrays seem to be working nicely now (menus work:) 2002-06-13 07:20:15 +00:00
Bill Currie 71c9cdcc08 create pointer types correctly 2002-06-13 04:40:09 +00:00
Bill Currie 88fc0be127 arrays are /almost/ working again 2002-06-12 22:37:18 +00:00
Bill Currie 067c2dd6b2 globals.c:
don't crash on bad function numbers
qfprogs.c:
	if the file doesn't load first try, thy appending .gz
2002-06-12 03:01:30 +00:00
Bill Currie 0b1d1ade73 qfprogs can now read the debug data 2002-06-11 17:24:37 +00:00
Jeff Teunissen afcda85a63 qfcc doc updates. lots more stuff. 2002-06-11 14:22:42 +00:00
Bill Currie 331df31f6a get the function number early so things don't get mixed up when new functions
get created while parsing a function
2002-06-11 06:54:32 +00:00
Bill Currie 4932d0db3c print the function number when printing the def 2002-06-11 06:51:29 +00:00
Bill Currie f7d8c2968f better global (and other space) def re-use 2002-06-10 23:14:32 +00:00
Bill Currie 1f67ea412d add a global flag to def_t to make checking easier
rename pr.globals to pr.near_data and add pr.far_data
2002-06-10 20:54:22 +00:00
Bill Currie 7a13e6b362 find the rest (I hope!) of the mis-tested scopes 2002-06-10 19:26:54 +00:00
Bill Currie a771beed74 qfcc.c:
def->scope is always non-0
qc-parse.y:
	link defs from child scopes correctly
2002-06-10 19:07:32 +00:00
Bill Currie 0747bcb099 set the debug function number correctly 2002-06-10 18:39:06 +00:00
Bill Currie 98b601b91c add the Objective-QC expressions 2002-06-10 16:10:44 +00:00
Bill Currie 374d229a0e more stuff 2002-06-10 06:18:59 +00:00
Bill Currie 38c7505fe6 get a little further 2002-06-10 05:09:29 +00:00
Bill Currie a4142114ee oh, no, not documentation!!! :) 2002-06-10 04:28:24 +00:00
Bill Currie 42b1756e5e rename qfcc.txt to qcc.txt as it's really more relevant to the old qcc
compiler, but still a good reference until the new docs are more advanced
2002-06-10 04:27:53 +00:00
Bill Currie e47570db69 must remember to test compile in the optimising tree :P 2002-06-09 16:34:50 +00:00
Bill Currie d0f76dfa13 dump function and field defs 2002-06-09 16:28:19 +00:00
Bill Currie 58782333a9 give scopes types (static, params, locals for now) 2002-06-09 05:19:13 +00:00
Bill Currie 1e57351be1 there, no more PR_* functions or pr_* files :) 2002-06-09 04:30:02 +00:00
Bill Currie 943c2eefb3 redo def allocation to come from configurable `spaces' (locals, globals, far
globals, etc).
2002-06-09 03:57:20 +00:00
Bill Currie 426dc07e53 fix a goof with the number of global defs 2002-06-09 03:41:11 +00:00
Bill Currie 1cc91e9f10 add reloc.h 2002-06-08 21:12:14 +00:00
Bill Currie 541f7ed1b8 some def stuff shuffling 2002-06-07 21:17:51 +00:00
Bill Currie 0477b43f80 get rid of PR_GetArray: it's redundant 2002-06-07 18:14:39 +00:00
Bill Currie 93169e1b91 rename two PR_* functions 2002-06-07 17:46:58 +00:00
Bill Currie dc0e31916f fix a minor oopsie with the relocations 2002-06-07 17:39:57 +00:00
Bill Currie 00a54ad918 redo relocations 2002-06-07 17:29:30 +00:00
Bill Currie 8aa98c0d20 fix several silly mistakes 2002-06-06 21:51:47 +00:00
Bill Currie f31705380f call malloc a little less often 2002-06-05 21:13:29 +00:00
Bill Currie 38d3a15413 d'oh, forgot to compile test :P 2002-06-05 19:31:43 +00:00
Bill Currie cb395c5469 misc def improvments 2002-06-05 19:03:51 +00:00
Bill Currie 9474765e75 remove some direct usages of pr.globals 2002-06-05 17:45:44 +00:00