Commit Graph

646 Commits

Author SHA1 Message Date
Bill Currie b03bfa7a6e start working on the code generation for the Obj stuff 2002-05-08 05:55:57 +00:00
Bill Currie b226d24b52 rework the param parsing to make selectors easier to handle 2002-05-08 05:15:19 +00:00
Bill Currie d5b637ae06 first stab at implementing ObjC like features. The parser doesn't generate
any code for the new features yet (I need to learn more about how objc
/works/) but nothing seems to have been broken.
2002-05-07 16:55:54 +00:00
Bill Currie cc0a428e2b traking pak command line changes... 2002-05-07 03:47:01 +00:00
Ragnvald Maartmann-Moe IV c164aa4ba5 Stomp out a warning. 2002-05-06 16:36:07 +00:00
Jeff Teunissen 4ce4869143 A better command-line interface for pak. NOTE: there has been a change in
how pak gets the filename for the archive. Instead of requiring an -f
argument, it now takes the first non-option argument as the filename. If
this is a problem, it can be changed back.

Also, a manual page.
2002-05-03 10:38:04 +00:00
Jeff Teunissen 74990f48ef Testing it again. Closes: #35 2002-05-03 04:42:26 +00:00
Jeff Teunissen 536418a552 Testing my fix... 2002-05-03 04:41:53 +00:00
Jeff Teunissen 527c1bc5d1 testing. Closes: #35 2002-05-03 04:31:32 +00:00
Jeff Teunissen 2e2d2e2aa7 grr. Closes: #35 2002-05-03 04:25:33 +00:00
Jeff Teunissen cd7f26ee0a grr. Closes: #35 2002-05-03 04:14:28 +00:00
Jeff Teunissen 62148023f3 AGAIN. Closes: #35 2002-05-03 04:10:16 +00:00
Jeff Teunissen 9e2995997b again. Closes: Bug#35 2002-05-03 04:07:06 +00:00
Jeff Teunissen a6231fd977 one more time. Closes: Bug#35 2002-05-03 04:06:19 +00:00
Jeff Teunissen 6481b043e2 boo. Closes: 35 2002-05-03 04:00:53 +00:00
Jeff Teunissen 58dcd96966 ?? (Closes: Bug#35) 2002-05-03 03:59:40 +00:00
Bill Currie c854369544 blah blah blah 2002-05-03 03:56:06 +00:00
Jeff Teunissen 4bacf36bf3 grr. Closes: #35 2002-05-03 03:49:44 +00:00
Jeff Teunissen 4423e6fbb7 One more time... Closes: #35 2002-05-03 03:48:28 +00:00
Jeff Teunissen a47997bee7 Okay, this'd better work. Closes: #35 2002-05-03 03:46:38 +00:00
Jeff Teunissen 30f359f5c3 testing AGAIN. Closes: Bug#35 2002-05-03 03:39:49 +00:00
Jeff Teunissen 6d8cb67c18 testing again. Closes: Bug#35 2002-05-03 03:33:54 +00:00
Jeff Teunissen caacd27808 Testing again. Closes: #35 2002-05-03 03:28:21 +00:00
Jeff Teunissen 5a1a2287f6 Doesn't do anything more, just looks a little prettier. Closes: #35 2002-05-03 03:13:12 +00:00
Bill Currie 54fb180fad expr.h:
__attribute__((const)) has rather nasty results when it's not true
expr.c:
	fix up some mis-timed ex_error checks
2002-05-02 05:03:57 +00:00
Bill Currie 05788e55e5 don't generate useless expression warnings when that expression was caused
by an error
2002-05-01 22:08:59 +00:00
Bill Currie a9f3814c86 forgot to remove scope.h 2002-05-01 21:48:23 +00:00
Bill Currie 067359b39d d'oh, missed a ; 2002-05-01 21:42:29 +00:00
Bill Currie 962dc8e46e rewrite the type and def parsing to allow more flexible types 2002-05-01 21:35:39 +00:00
Bill Currie 4725a44098 print out field types correctly 2002-05-01 21:33:59 +00:00
Jeff Teunissen b871c678f4 test commit. 2002-05-01 20:26:47 +00:00
Bill Currie 98fea9ff55 remove some debug code and fix some missing ;s 2002-04-27 02:51:00 +00:00
Bill Currie fc6fb804d7 support all but \b, \< and \> of qccx' character escapes. 2002-04-26 22:23:28 +00:00
Bill Currie 1f468e2508 fix a silly parse snafu 2002-04-26 21:49:35 +00:00
Bill Currie aa006ecf64 qfcc now supports implicit string constant concatentation. 2002-04-26 21:42:50 +00:00
Bill Currie 4f7245d634 allow type (parm, parm, ...) to compile (the parms aren't type checked yet) 2002-04-26 21:28:06 +00:00
Bill Currie 313c82efef use dstring_new instead of dstring_newstr to avoid allocating memory that's
only going to be reallocated immediatly anyway.
2002-04-15 22:24:47 +00:00
Bill Currie 03ab75704f -p N or --strip-path N will strip up to N leading path elements for a
source file's path.
2002-04-10 19:52:48 +00:00
Bill Currie c71ce480ad fix a seg when trying to print a null type 2002-04-09 21:37:46 +00:00
Bill Currie b29c0d70b7 more signed char indeces 2002-04-07 05:44:34 +00:00
Bill Currie 0f198f118e %d and pid_t don't mix on solaris, so use %ld and cast to long 2002-04-07 05:40:27 +00:00
Bill Currie d7487a1344 compile fix for win32 2002-03-18 22:40:52 +00:00
Bill Currie 2338d0c157 make zpak work with the new pak 2002-03-18 22:16:37 +00:00
Bill Currie b4b14b096f fix an oopsie with the verbose output of extract and create 2002-03-18 22:16:14 +00:00
Bill Currie 568e7ecdb2 make pak get built with the rest of the system 2002-03-18 22:01:51 +00:00
Bill Currie 1757030521 extraction works 2002-03-18 21:37:39 +00:00
Bill Currie 311811bd25 start working on file extraction 2002-03-18 20:52:21 +00:00
Bill Currie b0b36d8cd1 can now create pak files 2002-03-18 18:03:26 +00:00
Bill Currie 655fe17e18 fix handling of pointers in function params and local vars for qc functions 2002-03-18 07:30:21 +00:00
Bill Currie 3ad92d30d5 still only tests, but at least now it won't seg :) 2002-03-15 18:52:12 +00:00
Bill Currie 91ca4104a2 remove a bonus TRACE 2002-03-14 19:40:59 +00:00
Bill Currie b97ac96204 fix the win32 side of pre-preocessing 2002-03-14 00:05:04 +00:00
Bill Currie 6cefb63e2e get back to work on creating a good command line pak file util. currently
only dumps the file names/sizes and segs if it's used incorrectly, but it's
a start.
2002-03-12 23:45:36 +00:00
Bill Currie b5ed8a7ddb tracing code can now be selected by setting GLSTUB_TRACE to a non-zero
value (eg, export GLSTUB_TRACE=1)
2002-03-12 00:07:43 +00:00
Bill Currie 1d420edcd0 start work on instrumenting GLstub.so 2002-03-11 23:55:50 +00:00
Bill Currie 5a2538faaf dstring.[ch]:
create dsprintf and dvsprintf to do formated prints to dynamic strings.
rest
	Use the new functions :)
2002-03-08 23:11:42 +00:00
Bill Currie d3870a1ec4 fix a missing dstring_adjust call (I guess I need to make a dsprintf:) 2002-03-08 20:56:22 +00:00
Bill Currie de60a142ef break out the preprocessing code into a function so I can later preprocess
the progs.src file. also use snax's new dynamic strings for the tempname.
2002-03-07 18:36:48 +00:00
Bill Currie 860e3ebb1d make unsigned arrays/pointers more useful by allowing them to be used as
unbounded arrays
2002-02-24 01:11:34 +00:00
Bill Currie 80723fdec7 o don't ice when ex_name or ex_nil expressions show up in emit_expr.
instead, treat as useless epxression.
 o  mark rvalue expressions as such
 o  increment the users of a managed temp def when in an rvalue expr
2002-02-21 20:34:04 +00:00
Bill Currie 0c511d3da5 a couple fixes pointed out by raorn (thanks) 2002-02-21 08:46:22 +00:00
Bill Currie e38259e01f warn when a top-level local shadows a parameter 2002-02-19 00:16:56 +00:00
Bill Currie d1fcfd1939 Implement --traditional so qfcc can be a nicer qcc. This disables several
keywords (quaternion integer function for break continue switch case default
NIL struct enum typedef) and converts some errors to warnings (assignment to
constants, insufficient function arguments, return; from non-void function,
anal function `pointer' type checks)
2002-02-18 06:23:59 +00:00
Bill Currie 49ef391664 make dist fix
----------------------------------------------------------------------
2002-02-16 05:15:24 +00:00
Bill Currie b4000200e3 move the getopt files from qfcc/source to libs/util, link qw-master against
libQFutil and enable the option parsting in qw-master for win32.
2002-02-12 17:44:41 +00:00
Bill Currie 4f6e61d68b win32 compile fix 2002-02-05 22:56:21 +00:00
Bill Currie 16298914f0 default sourcedir to "" rather than "./" and strip leading paths from the
tempname when preserving temps
2002-02-05 22:08:19 +00:00
Bill Currie cb0db8b8d1 disable debug putout and allow the cpp command line to be specified. 2002-02-05 19:35:45 +00:00
Bill Currie f2a8f8ff28 make cpp command line selection more intelligent. This should take care of
the stuck cpp problem on openbsd.
2002-02-05 18:40:47 +00:00
Ragnvald Maartmann-Moe IV a3c699a921 Fix three gitignores. 2002-01-31 07:49:29 +00:00
Bill Currie ad6d847728 fix qfcc's incorrect allocation/initialization for pointers (eg, float [] foo) 2002-01-30 22:57:48 +00:00
Bill Currie 3d9c8a9a60 get nil conversions working fully and things like !pointer 2002-01-30 22:17:55 +00:00
Bill Currie b7cfb95a64 update for new progs loader api and the makefile for the option of static
linking
2002-01-30 17:41:16 +00:00
Bill Currie e5e157a804 update for new progs loader api 2002-01-30 17:20:10 +00:00
Jeff Teunissen 98f8642081 Oops. Well, I fscked that one up. It's fixed now. 2002-01-28 21:22:21 +00:00
Jeff Teunissen 418f922f0f Minor Forge updates, clearing out the backlog so I can do some more
development.
2002-01-28 15:23:13 +00:00
Jeff Teunissen 7ea87aa47a oops. Actually commit the new document icon this time. 2002-01-28 03:39:15 +00:00
Jeff Teunissen 29c68732c0 More Forge stuff.
Forge now loads the bundles in its resources first, and then loads the
bundles from the User, Local, Network, and System library directories,
in that order -- if it is told to by the defaults system.

Also, the MainPrefs class has some new options, to control what
directories Forge loads bundles from.
2002-01-26 22:09:15 +00:00
Jeff Teunissen 8ef321e2e8 Forge updates -- an icon for .forge files, some app info updates, and a
nib-loading fix for MainPrefs.
2002-01-26 05:13:25 +00:00
Jeff Teunissen 9585b6af92 Forge updates. Preferences is no more, since each bundle will have its
own prefs anyway. The "sample" bundle MainPrefs is more complete, and is
now loading its interface from a .gorm file -- this would be a .nib on
NeXTstep or Mac OS X, and it should be ready to run on those OSes
already -- since it doesn't do much. :)
2002-01-25 08:45:28 +00:00
Jeff Teunissen 4c8154a224 commit mods before I nuke the file. 2002-01-25 08:38:17 +00:00
Bill Currie 85588c8fcb start implementing the api for input lines and clean up a couple csqc
prototype issues.
2002-01-23 22:37:44 +00:00
Bill Currie 6a393d175e implement typedef 2002-01-23 20:50:25 +00:00
Bill Currie 3f958ae29b more make dist fixes 2002-01-22 18:04:03 +00:00
Bill Currie ecd539cbd3 some make dist fixes 2002-01-22 17:17:18 +00:00
Bill Currie c8ef2d8b55 subdirs must come /after/ their parent in the AC_OUTPUT list 2002-01-22 07:42:35 +00:00
Bill Currie 8a24b28d97 scary, but the only changes qfcc needed to build as part of quakeforge was
to auto-substitued the libs and headers.

 o  unconditionally build qfcc (for now, anyway) when building quakeforge
    (needed for cs-code compilation)
 o  when built as part of quakeforge (qfcc should still be buildable
    independently) always enable cpp
 o  autoconfiscate the client-side code
 o  build the client-side code using the built qfcc
 o  install the client-side code in $(datadir)/quakeforge/id1
2002-01-22 05:48:03 +00:00
Bill Currie f1f2dd713d generate progdefs.h only for v6only
generate files.dat only if -F or --files is given on the command line
2002-01-21 23:30:54 +00:00
Bill Currie 7775dab7bb remove debug 2002-01-21 19:19:07 +00:00
Bill Currie f2d097c013 resolve the case value before checking its type 2002-01-21 19:18:41 +00:00
Bill Currie 2ce5a91373 allow enum {...} name; but ignore name (eases C <-> QC header compat) 2002-01-21 19:09:23 +00:00
Bill Currie 64c5983742 enum support 2002-01-21 19:03:29 +00:00
Bill Currie cef918df83 get array initialisation worrking 2002-01-18 08:26:37 +00:00
Bill Currie d69762facd integer() and float() casts seem to work 2002-01-17 19:32:04 +00:00
Bill Currie 08c1d57c53 fix a param scoping error 2002-01-17 16:59:00 +00:00
Bill Currie 7227ab4363 qfcc.c:
add -P,--progs-src so you can specify the name of the progs.src file
rest:
	add/use print_type
2002-01-17 08:19:53 +00:00
Jeff Teunissen 2e3c1a55c6 some minor Forge updates. 2002-01-14 15:06:00 +00:00
Jeff Teunissen 8c2d3f65c3 Add a couple symbols to qfcc's preprocessor lines 2002-01-05 19:18:27 +00:00
Jeff Teunissen 9f6dcec9dd --save-temps support for qfcc. It'll leave files with the same filenames
they're generated from, with the exception that they will have an
extension of .p. Obviously, depends on cpp support.
2002-01-05 19:13:20 +00:00
Jeff Teunissen a0370e52d2 Manpage should be both distributed and installed now. 2002-01-05 18:46:59 +00:00
Jeff Teunissen 33b6429aa7 Makefiles for docs. 2002-01-05 18:46:05 +00:00
Jeff Teunissen abf73ea80a Support nibs in MainPrefs. 2002-01-04 20:31:53 +00:00
Bill Currie f591b27532 set the result of the block used for self.maxs = obj.origin; type expressions 2002-01-04 18:43:55 +00:00
Bill Currie 718a64343b more old-code cleanup. move PR_LexString into make_string 2002-01-04 18:27:01 +00:00
Bill Currie 12d2338d1b handle dos line endings a little better 2002-01-04 17:13:13 +00:00
Forest Hale 184ff4a216 made qfcc compile again, by renaming com_token to qfcc_com_token so it does not conflict with QFutil 2002-01-04 11:12:52 +00:00
Bill Currie 9d2739598a character constants 2002-01-04 08:45:24 +00:00
Jeff Teunissen c0e2639701 Add quaketoascii program, from Dwayne C. Litzenberger <dlitz@dlitz.net> 2001-12-31 18:10:20 +00:00
Bill Currie 375ada11bc update to current version 2001-12-18 06:53:49 +00:00
Bill Currie 3dafbebf10 fix up #0 builtin functions at runtime. not done automaticly (need to call
PR_RelocateBuiltins) and fix a bug with profiling and unlimited execution
counts
2001-12-14 08:15:04 +00:00
Jeff Teunissen 2185e0a92e Update qfcc man page. 2001-12-14 05:33:00 +00:00
Bill Currie f392c395df fix some uninitialized warnings my gcc missed, but misty's got 2001-12-13 16:40:46 +00:00
Bill Currie d95bf0ada8 blah 2001-12-12 22:04:34 +00:00
Bill Currie 112f74a357 make integer constant division warnings optional 2001-12-12 22:00:42 +00:00
Bill Currie 195dd1032e clean up some dead code 2001-12-12 21:52:07 +00:00
Bill Currie 2b458dd13d clean up line/file management 2001-12-12 21:50:11 +00:00
Bill Currie 6d65fe853d spontaneous temp defs need to have their users incremented when an
assignment is part of a sub expression
2001-12-12 21:29:04 +00:00
Bill Currie 7e38a8d9a0 clean up the return def selection for emit_assign_expr 2001-12-12 20:55:55 +00:00
Bill Currie 8ddce20949 pr_*: add storep.p so pointers can be stored into entities
emit.c: convert & (address) to . in unary .
        rewrite emit_assign_expr
expr.c: remove debug code and make unary . less agressive on address calcs
        also convert & (address) to . for lvals
2001-12-12 20:35:58 +00:00
Bill Currie b56d7f3248 emit.c:
fix a missing else (should convert to switch)
expr.c:
	fix address_expr for binary expressions
	fix unary .
2001-12-12 18:34:41 +00:00
Bill Currie f9149a0d6c finally get around to renaming type_name to pr_type_name 2001-12-12 17:15:09 +00:00
Bill Currie cc34e5954f lots of work on better array/pointer/struct handline. doesn't quite work yet 2001-12-12 08:39:47 +00:00
Bill Currie 835468bcfb beginnings of breaking out the type code 2001-12-11 19:58:12 +00:00
Bill Currie 0bb01f310f don't crash when there are too many entities for update messages. just ignore
the excess.
2001-12-10 03:17:21 +00:00
Adam Olsen e3508a5c64 - oops, count the command line properly 2001-12-09 16:52:43 +00:00
Adam Olsen dfb405f4ae A script that produces a PNG from the timeframes.txt produced by doing
"cl_timeframes 1" and running a timedemo.  It uses grace to do the
work, so you need that installed.
2001-12-09 16:32:28 +00:00
Bill Currie e976211faf header block fixes 2001-12-08 20:40:50 +00:00
Bill Currie 00b2a45ecd change the operator for "address" from "." to "&" so load.p can be implement.
this makes it so pointers in entities work.
2001-12-08 20:17:20 +00:00
Bill Currie a184199146 get arrays of structures working 2001-12-08 17:36:58 +00:00
Bill Currie b03a1bee42 ok, structures seem to generate correct code now 2001-12-08 08:19:48 +00:00
Bill Currie 3293c5e85f beginnings of structure code. committed because cvs diff doesn't work on
new files
2001-12-08 00:09:11 +00:00
Bill Currie 1767ad435f use the new immediate indeces to make small array indeces not use a global 2001-12-07 20:10:30 +00:00
Bill Currie 0c2f36f9a3 some dead code cleanup 2001-12-06 20:05:49 +00:00
Bill Currie 3c2c4aa9e6 indent whitespace cleanup. not perfect, but a bit more consistent now 2001-12-06 19:49:40 +00:00
Bill Currie 61786182d2 whitespace 2001-12-06 18:14:44 +00:00
Bill Currie 12a0a10d33 more alpha portability fixes 2001-11-29 19:35:25 +00:00
Jeff Teunissen d16ab6eed0 Forge: stuff I did only partially. 2001-11-29 01:02:39 +00:00
Jeff Teunissen a7dfe849fd Forge updates. The app controller now has methods for bundles to call,
to register functionality with the app.
2001-11-28 23:46:37 +00:00
Jeff Teunissen 74e2f63188 *** empty log message *** 2001-11-28 23:44:26 +00:00
Bill Currie 4912f3083d My gl stubs code for the null-renderer tests. Builds GLstub.so which should
then be used for the gl_driver cvar (you will generally need to give the full
path).
2001-11-27 23:56:10 +00:00
Jeff Teunissen 83a778467c Preferences.m: function scoping fixes (static is your friend).
rest: bundle loading. It's alive! Alive, I tell you! Mwahahahaha!
...
uhh...

* Deek hides the bodies
2001-11-22 07:28:01 +00:00
Jeff Teunissen 84bb78abe4 Nuke some stuff from .gitignore 2001-11-21 22:30:32 +00:00
Jeff Teunissen acddb949e3 Nuking the configure stuff. There's no need for it yet, maybe not ever.
Add some flags (-Wall -Werror) to GNUmakefile.preamble.
Fix some stuff -Wall found.
2001-11-21 22:22:14 +00:00
Jeff Teunissen 9c92717c15 The beginnings of bundle-loading support Scary, but it seems to work! 2001-11-21 18:47:08 +00:00
Bill Currie 3f7c4f146e allocate space for field arrays and report entity size 2001-11-15 05:31:15 +00:00
Bill Currie e45bb62f23 ok, correct code seems to be getting generated for both array access and
entity field access
2001-11-15 04:32:50 +00:00
Bill Currie 40d47e91cb win32 portability fixes 2001-11-15 03:54:35 +00:00
Bill Currie 7d9266a3f0 beginnings of array support. no array initialization yet and foo[i] = bar is
broken.
2001-11-15 00:46:36 +00:00
Bill Currie 8aa83d04f3 oops, that's not how that works :) 2001-11-15 00:25:15 +00:00
Bill Currie cf37275def add -g option (shortcut for --code=debug) 2001-11-14 23:17:20 +00:00