Commit graph

1758 commits

Author SHA1 Message Date
Bill Currie
f48d41848a *sigh* 2007-04-10 13:11:42 +00:00
Bill Currie
15dc16ff64 put in stubs for help for -C, -W and -N 2007-04-10 13:10:53 +00:00
Bill Currie
2e6ecd97c8 d'oh 2007-04-10 13:01:45 +00:00
Bill Currie
52d178b3be Add a code generation option, "local-merging", to control qfcc's merging of local variable blocks into one block. Defaults to on for advanced mode and off for traditional. 2007-04-10 13:00:21 +00:00
Bill Currie
4c4281c512 because builtin functions now get their params dumped to the debug symbols, @va_list needs to be initialized. 2007-04-10 09:10:09 +00:00
Bill Currie
30744a555e find the other place def_func relocs get emitted. I keep forgetting about the .y file when grepping source :P 2007-04-10 07:40:03 +00:00
Bill Currie
3b7c83a96f uncomment some lines that shouldn't have been commented (doesn't fix the bug, though) 2007-04-09 14:32:47 +00:00
Bill Currie
845b5ab2e2 don't write alias defs to the qfo 2007-04-09 14:25:44 +00:00
Bill Currie
642bb0f810 don't create a reloc for an external function 2007-04-09 14:06:12 +00:00
Bill Currie
e53e9944b6 spew a lot of guff about relocs 2007-04-09 13:33:59 +00:00
Bill Currie
3cd01223dd don't try to fix up function refs too early. fixes klik's segfault on firing 2007-04-09 08:56:23 +00:00
Bill Currie
a9678f1c06 dump globals direct from qfo 2007-04-09 07:47:51 +00:00
Bill Currie
48fdd0cb26 record the params for builtins, too. 2007-04-09 06:16:34 +00:00
Bill Currie
9509d0fd5e make qfo files typesize safe 2007-04-07 12:35:03 +00:00
Bill Currie
2399e79ca0 open all files in binary mode. ^Z is evil :P 2007-04-07 10:24:34 +00:00
Bill Currie
a6104bc0fc open input and output files in binary mode so ^Z doesn't bite us on windows 2007-04-07 10:15:17 +00:00
Bill Currie
cbcd2030cf add a few more tests to break 2007-04-07 05:02:09 +00:00
Bill Currie
25bf40a71a finish the break overloading and add some more tests (really need to get these automated) 2007-04-07 04:58:27 +00:00
Bill Currie
124506fda2 Fix the access alignment bug on 64 bit archs. 2007-04-07 01:41:23 +00:00
Bill Currie
c4d81cda19 use a proper charset instead of \w (too iffy on what it is) 2007-04-06 23:13:29 +00:00
Bill Currie
5baa6057cb give windows spawn*p* :P 2007-04-06 22:25:16 +00:00
Bill Currie
9e9318a3f1 use spawn instead of fork/exec/wait 2007-04-06 22:03:28 +00:00
Bill Currie
3f3450df2c fix a wrong name 2007-04-06 14:13:25 +00:00
Bill Currie
f6924f35e5 report the line of the previous declaration of the function 2007-04-06 12:02:34 +00:00
Bill Currie
a6388ee680 overload "break" and allow break to be used in --traditional 2007-04-06 11:46:21 +00:00
Bill Currie
6d21c50dee handle #line (hopefully) 2007-04-06 11:27:03 +00:00
Bill Currie
966c337bf5 use the def's declaration line rather than the function's when reporting auto-initialization 2007-04-06 11:05:52 +00:00
Bill Currie
c560744270 "use" parent defs 2007-04-06 11:01:34 +00:00
Bill Currie
240eab4b09 cleanup the tempfile from a failed preprocessor run on progs.src 2007-04-06 09:44:08 +00:00
Bill Currie
26e15db4ba handle comments and conditionals in preprogs.src 2007-04-06 09:27:56 +00:00
Bill Currie
04765083aa really warn only once for each uninitialized variable 2007-04-06 08:56:37 +00:00
Bill Currie
e7f478b197 by default, don't use cpp when compiling the output of qfpreqcc 2007-04-06 08:41:33 +00:00
Bill Currie
5a8143a9c7 support float = vector and vector = float for traditional 2007-04-06 08:23:07 +00:00
Bill Currie
eb9943973b handle . in frame macro names 2007-04-06 08:19:58 +00:00
Bill Currie
bff92d9d32 properly handle strings in comments and comments in strings 2007-04-06 08:19:20 +00:00
Bill Currie
6bbf54c7cd handle /* */ comments better 2007-04-06 07:12:47 +00:00
Bill Currie
0e4fb6c01a no-cpp implies no-single-cpp 2007-04-06 07:11:38 +00:00
Bill Currie
8079c9951c catch nested /* in comments 2007-04-06 06:31:47 +00:00
Bill Currie
ff0144f870 bring in the cleanups from my start at preqcc stuff (I don't know if that will ever go in, though, I'm thinking maybe it should be external) 2007-04-06 05:52:20 +00:00
Bill Currie
df2bebde7e more vc build patches from phrosy 2007-04-06 01:09:58 +00:00
Bill Currie
acc5e87619 missed this one 2007-04-04 11:40:00 +00:00
Bill Currie
0382b05780 various unsigned long -> uintptr_t conversions 2007-04-04 11:22:48 +00:00
Bill Currie
ff132bb536 64bit windows patch from phrosty 2007-04-04 07:48:14 +00:00
Bill Currie
72af804b31 nested include reporting 2007-03-31 15:27:36 +00:00
Bill Currie
5e98c49188 chase down a runaway else 2007-03-31 15:26:58 +00:00
Bill Currie
90129fc4ec add $frame_reset grab command to reset the frame macro counter and sneak the command in before each file in the single-cpp script. This fixes the bogus animations in nq (and anything else, for that matter) 2007-03-31 13:54:09 +00:00
Bill Currie
03e1d6c3bf re-implement the comment lexer using states to re-learn how things work prior to implementing preqcc support 2007-03-30 09:02:36 +00:00
Bill Currie
81a57bb3fa patch from phrosty for vc2005 support. includes fixes for a bunch of gcc-isms that crept in over the years. 2007-03-22 23:20:57 +00:00
Bill Currie
2b0c82c898 update for svn and debian mingw 2007-03-08 13:54:56 +00:00
Bill Currie
3a178c3a2f update for debian mingw packages 2007-03-08 13:44:03 +00:00
Bill Currie
b0c1294f8a remove some ancient build flags 2007-03-08 11:31:59 +00:00
Bill Currie
48ba407984 my old build scripts (handy test for checking into sf, too:) 2007-03-07 14:28:51 +00:00
Bill Currie
476dbce456 seems MIPTEX means mipable textures, not the format 2007-01-07 01:19:33 +00:00
Bill Currie
99e05d2188 warning cleanup patch from raorn 2007-01-06 21:31:03 +00:00
Bill Currie
45d467d748 box tracing (instead of point). Currently disabled because it doesn't work right just yet. However, when it is working, it will let us do things like crouching, crawling, arbitrary sized objects (including players), etc. 2006-12-24 03:13:29 +00:00
Bill Currie
e52633c492 make protocol dump info more readable 2006-12-19 11:53:18 +00:00
Bill Currie
0bd92e439a fix an interal error caused by losing the error state 2006-12-16 11:45:47 +00:00
Bill Currie
48d9d96005 don't try to create multiple objects for the same protocol 2006-12-16 08:09:10 +00:00
Bill Currie
904197c70e allow assignment of arrays to poitners 2006-12-11 09:26:45 +00:00
Bill Currie
e9f49ca816 allow static local vars 2006-12-11 09:26:07 +00:00
Bill Currie
70ec9848e7 add PL_RemoveObjectForKey and make PL_D_AddObject take a normal C string for key instead of a pl string. 2006-12-09 06:00:36 +00:00
Bill Currie
48f8bbd12e group the struct rules together 2006-12-02 06:49:55 +00:00
Bill Currie
b6a4a520d5 silence bison's new warnings 2006-12-01 08:17:55 +00:00
Bill Currie
d28952dfcc fix a bunch of gcc-4.1 warnings (thanks for the heads up, jordi) 2006-11-30 22:52:36 +00:00
Bill Currie
538f0ee51f allow more hull points (don't remember why, now, but...) 2006-11-10 13:51:02 +00:00
Bill Currie
69e7b8a820 don't loop on a bad file name 2006-08-20 06:23:24 +00:00
Bill Currie
1925bef0c1 fix a bunch of bugs with single-cpp processing when not keeping temps 2006-08-20 06:20:30 +00:00
Bill Currie
130e6c1a3f fix some intermediate file issues 2006-05-24 14:50:24 +00:00
Bill Currie
f7df6fea17 instead of having cpp args in progs.src, potentially breaking some mods, generate progs.i as a series of #includes and then compile everything in one pass 2006-05-24 14:35:39 +00:00
Bill Currie
8f097ce3dd fix a couple of typoes 2006-05-24 12:58:31 +00:00
Bill Currie
ff28197da6 pass progs.src through cpp too 2006-05-24 11:19:48 +00:00
Bill Currie
ada9797009 why r+t? we don't need to write. 2006-05-24 11:18:18 +00:00
Bill Currie
87cc09233c "long" audit. can't use long when we want 32 bits. May be a few more cases. 2005-10-23 13:19:21 +00:00
Bill Currie
c90fa213d6 fix some warnings 2005-10-22 04:55:41 +00:00
Bill Currie
728dde167d explicity state errors are errors rather than leaving it implicit (tracking
gcc's messages again;)
2005-08-17 23:05:10 +00:00
Bill Currie
3fb03fc2be hah, should have been using __attribute__((used)) all that time (rather
than __attribute__((unused))). fixes the missing console in -x11
2005-08-04 15:27:09 +00:00
Bill Currie
d25a5de0df make a little more robust. seems not all cvs servers use the same datestamp
format
2005-07-16 03:59:20 +00:00
Bill Currie
0c974c0530 more tests 2005-06-14 11:29:42 +00:00
Bill Currie
3f58823fed vector-calls now works with rcall :) 2005-06-12 11:37:28 +00:00
Bill Currie
aa6265859a allow -Cno-v6only to work when defaulting to traditional 2005-06-12 11:36:30 +00:00
Bill Currie
762aefc9b1 implement Raven's calling convention (rcall: first 2 params in opb and
opc). should give a general speedup to most progs.
2005-06-12 09:54:01 +00:00
Bill Currie
66cabb587f add the vector-calls "optimisation" from fteqcc. makes it possible to
compile the version of frogbot with waypoints for almost 300 maps.
2005-06-10 07:31:25 +00:00
Bill Currie
116860bb66 don't segfault when running out of globals 2005-06-10 05:16:20 +00:00
Bill Currie
9f662787e0 get struct copy to/from struct fields via pointers. fixes a bug found by
snax
2005-06-09 10:34:03 +00:00
Bill Currie
d261b42b95 fix a header error pointed out by Kaylea Hascall (thanks) 2005-06-08 07:24:29 +00:00
Bill Currie
501180aaac gcc-4.0 fixes. even found some bugs :) (names /not/ mangled this time) 2005-06-08 06:35:48 +00:00
Bill Currie
9c59d2e14e add a missing function 2005-05-07 09:52:57 +00:00
Brian Koropoff
2b666bd1ca Tweak qwaq a bit so it can be used to run Ruamoko Scheme 2005-05-01 11:46:20 +00:00
Bill Currie
dff55040bc noticed a potential unused warning issue if that version of flex gets hit
again
2005-03-31 09:55:41 +00:00
Bill Currie
0edd694bac fix a default action type clash in some versions of bison 2005-03-31 08:23:11 +00:00
Bill Currie
71678e1859 don't loop infinitely when failing to read a riff file 2005-02-06 07:41:22 +00:00
Bill Currie
114843d7b8 do some cleanup on modelgen before getting into some hacking 2005-01-24 12:39:16 +00:00
Bill Currie
b71f12a616 warning message cleanup
This is an imperfect revision of history.
2004-11-18 06:08:20 +00:00
Bill Currie
ae456dc3a4 `secret' .c support so automake's dependency style autodetection works
This is an imperfect revision of history.
2004-11-14 23:15:00 +00:00
Bill Currie
554f4d071a get the type right when accessing arrays in a struct (in a pointer?)
This is an imperfect revision of history.
2004-11-13 13:22:30 +00:00
Bill Currie
56838844d2 add support for -E and still compile when -MD is used
This is an imperfect revision of history.
2004-11-13 13:22:00 +00:00
Bill Currie
66257e3a88 run in fear, function overloading is here
This is an imperfect revision of history.
2004-11-13 11:50:00 +00:00
Bill Currie
9b81bc5ea6 allow access to the parameter type via @param and variable initializers for local arrays/structs.
This is an imperfect revision of history.
2004-11-13 04:02:00 +00:00
Bill Currie
5f34f87b58 ivar access control seems to work now :)
This is an imperfect revision of history.
2004-11-13 01:37:00 +00:00
Bill Currie
7237087e71 update
This is an imperfect revision of history.
2004-11-12 21:20:00 +00:00
Bill Currie
4d044bfea4 make entity.vector.x work properly by making relative field offset work. also don't emit a field def for the resulting immediate
This is an imperfect revision of history.
2004-11-12 10:49:00 +00:00
Bill Currie
abf25e0e1c real fix for uninitialized functions
This is an imperfect revision of history.
2004-11-12 05:04:00 +00:00
Bill Currie
0d14a8f9f3 minor cleanup
This is an imperfect revision of history.
2004-11-12 03:21:00 +00:00
Bill Currie
9d956b2979 more script usage
This is an imperfect revision of history.
2004-11-12 02:54:00 +00:00
Bill Currie
634dcbba95 forgot to allow struct move (for struct assigment)
This is an imperfect revision of history.
2004-11-11 22:41:00 +00:00
Bill Currie
5ef382d2a7 Add a rua wrapper for scripts (seems, to work, too:). Also added generic resource handle support based on strref handling in pr_strings.c.
This is an imperfect revision of history.
2004-11-11 04:06:00 +00:00
Bill Currie
64cc8c60d2 compile time protocol support seems to be complete now. fortunatly, protocols had never been written out so the corrections to the protocol related stuctures do not need a progs version bump. runtime protocol support hasn't been fully tested yet.
+load runtime support seems to be working.

This is an imperfect revision of history.
2004-11-11 00:34:00 +00:00
Bill Currie
7dfd9ab502 Use the script api to parse progs.src instead of idparse. Now any additional tokens on the first line of progs.src are ignored and any additional tokens on subsequent lines get cumulatively added to the cpp command line. See progs.src[.in] in tools/qwaq for a simple example.
This is an imperfect revision of history.
2004-11-11 00:24:00 +00:00
Bill Currie
a97f74a6ac that particular error case is a type mismatch rather than an internal error. found when trying to compare a SEL with a string... oops :)
This is an imperfect revision of history.
2004-11-11 00:20:00 +00:00
Bill Currie
b35561504c do proper selector registration. unfortunatly, I discovered I'd created pr_method_t incorrectly and so had to bump the progs version again
This is an imperfect revision of history.
2004-11-10 05:37:00 +00:00
Bill Currie
8770df39e5 start documenting things (progs building still borked)
This is an imperfect revision of history.
2004-11-08 23:27:00 +00:00
Bill Currie
780fb41858 make a common call function and fix pr_trace such that it autoclears only when the execution session it's set in is exited
This is an imperfect revision of history.
2004-11-07 03:00:00 +00:00
Bill Currie
201252c1c0 FIXME cleanup and a missed win32 compile fix
This is an imperfect revision of history.
2004-11-06 02:21:00 +00:00
Bill Currie
e7ab6b65bf fix an uninitialized variable
This is an imperfect revision of history.
2004-11-06 02:17:00 +00:00
Bill Currie
f5bc90a53a clean up some redundant progs functions (may be broken for a while)
This is an imperfect revision of history.
2004-11-05 11:49:00 +00:00
Bill Currie
b46cff08aa handle param name changes between prototype and declaration gracefully
This is an imperfect revision of history.
2004-11-02 23:54:00 +00:00
Bill Currie
9f52181e34 fixes for methods in categories or not in an interface
This is an imperfect revision of history.
2004-11-02 11:56:00 +00:00
Bill Currie
9768568eeb get the number of points for the clipped winding correct
This is an imperfect revision of history.
2004-11-02 07:29:00 +00:00
Bill Currie
181df01add initialize the function tables properly when "converting" a qfo, fix a buffer overflow in file loading and remove the now unnecessary hunk initialization.
This is an imperfect revision of history.
2004-11-02 07:15:00 +00:00
Bill Currie
a3a2dd62e3 fix type of "self"
This is an imperfect revision of history.
2004-11-02 07:13:00 +00:00
Bill Currie
a4dbdb4d06 whitespace
This is an imperfect revision of history.
2004-11-02 07:08:00 +00:00
Bill Currie
fff41d664a detect re-declaring identifiers as different types (typedef, enum, var, etc)
This is an imperfect revision of history.
2004-11-02 07:02:00 +00:00
Bill Currie
a2e05dbe83 make bison output a state file
This is an imperfect revision of history.
2004-11-02 05:19:00 +00:00
Bill Currie
1e1734f6b4 remove some redundant code
This is an imperfect revision of history.
2004-11-02 05:17:00 +00:00
Bill Currie
8e2f392d2d pr_obj.h: add the structure for static instances rua_obj.c: add support for +initialize test.r: add some test code for +initialize main.c: don't need to initialize the hunk any more and fix a buffer overflow
This is an imperfect revision of history.
2004-11-02 05:12:00 +00:00
Bill Currie
96b65ba63c get wad creation mostly working (known to work for map textures)
This is an imperfect revision of history.
2004-11-02 05:07:00 +00:00
Bill Currie
25484f415b move the script parser from qfbsp into libQFutil and correct a spelling error
This is an imperfect revision of history.
2004-11-02 05:05:00 +00:00
Bill Currie
ca46503607 add -Wsign-compare (default for -Wall only in C++) and fix up the warnings 2004-07-13 19:14:01 +00:00
Thad Ward
0d6af140b8 correct the date format to match the new format used by the new CVS. the
offset from GMT is also parsed out, but is not currently used. Also, there
is no need to subtract 1900 from the year when passing to timegm(), as it
assumes values over 999 are the actual year.
2004-06-16 07:36:57 +00:00
Bill Currie
8c10e2e355 this should fix the string case errors on sparc64 2004-05-15 01:00:47 +00:00
Bill Currie
ec97775e3c plug another leak 2004-05-11 07:27:05 +00:00
Bill Currie
f10f59bb42 don't try to write non-existant textures 2004-05-11 07:26:33 +00:00
Bill Currie
3e16e3dc40 ookii itai... forgot to free the malloced memory for qpic and mip 2004-05-11 06:17:34 +00:00
Bill Currie
ccfaeaf999 make wad extraction a little more useful by writing the known image formats
as pcx. (palette is written as pcx too, to make it easy to view)
2004-05-10 00:33:48 +00:00
Bill Currie
67f913289c move wad_extract into the wad utility and make QFS_CreatePath more
generally usable
2004-05-09 22:58:37 +00:00
Bill Currie
3483b3b2b6 handle #pragma gracefully (ie, ignore it) 2004-05-09 02:12:49 +00:00
Bill Currie
2ccff86089 ignore unknown stuff 2004-05-09 00:57:57 +00:00
Bill Currie
4d2300ff11 finally support png 2004-05-01 04:14:59 +00:00
Bill Currie
1a9ca12bcf can't use None due to the math 2004-05-01 03:41:51 +00:00
Bill Currie
3f6b2fd87b has some issues, but support writting to stdout 2004-05-01 03:39:33 +00:00
Bill Currie
7205e10f94 fun tool to display item info in a map (using an already extracted entity
file). use as a filter
2004-05-01 03:21:42 +00:00
Bill Currie
42c88b23fc correct the help output 2004-04-30 21:52:17 +00:00
Bill Currie
a12074c1a6 can now extract entities from foo.bsp to foo.ent 2004-04-30 21:51:00 +00:00
Jeff Teunissen
fe654959ee qfcc man page updates. 2004-04-28 04:49:15 +00:00
Jeff Teunissen
31f5bb5d96 Small changes to the QFCC book. 2004-04-28 00:43:03 +00:00
Jeff Teunissen
b057b6cb26 Some signed/unsigned formatting stuff found by lint. 2004-04-27 23:17:41 +00:00
Bill Currie
14900bb82e fast-float code option (defaults to on). kills almost 3000 statements from
prozac
2004-04-27 20:24:37 +00:00
Bill Currie
8a7bb9c4a0 fix a silly that messed up type mismatch errors 2004-04-12 23:46:21 +00:00
Bill Currie
9a3acc8035 get the field offset correctly 2004-04-09 04:30:19 +00:00
Bill Currie
7b28c555ba quaternion field access now works 2004-04-09 04:12:44 +00:00
Bill Currie
332ec82495 update the scope of local defs to the parent scope when the creation scope
goes away (doesn't get updated to the global scope). fixes a bug where
local defs would be miscounted (and sometimes lost)
2004-04-09 03:47:41 +00:00
Bill Currie
0b61dae402 allow .imm fields (need a better test, I think) 2004-04-09 03:45:55 +00:00
Bill Currie
50dc955652 fix a couple out-by-one errors highlighted by quaternions 2004-04-09 02:20:47 +00:00
Bill Currie
0e47ee96f8 spelling fixes 2004-04-08 18:53:46 +00:00
Bill Currie
4c4f40f137 fix a few bugs. basics seem to be working 2004-04-08 05:13:24 +00:00
Bill Currie
5869cb693e oops 2004-04-08 05:04:50 +00:00
Bill Currie
a7103c6732 quaternion conjugate 2004-04-08 04:59:10 +00:00
Bill Currie
fc2413ff72 more quaternion work (should be working, haven't come up with tests yet) 2004-04-08 03:32:14 +00:00
Bill Currie
4882005a49 compile fixes (oops) and start working on quaternion support in qfcc 2004-04-08 02:33:20 +00:00
Bill Currie
8220d6d3c9 for loop tests 2004-03-30 02:31:50 +00:00
Bill Currie
25ac9cb07b fix "for (;;)" etc 2004-03-30 02:31:02 +00:00
Bill Currie
1d40013e5e get the spotlight working 2004-03-25 05:41:33 +00:00
Ragnvald Maartmann-Moe IV
e27db9f6b2 More compile fixes for current gcc. 2004-03-21 18:53:41 +00:00
Bill Currie
38c5b92086 fix a really stupid error (missing {}s) that caused vis data to basicly get
lost when reading the new portal file format
2004-03-19 02:20:47 +00:00
Bill Currie
9e6be1e029 hopefully handle \r\n endings 2004-03-19 00:41:14 +00:00
Bill Currie
2b26072c8f open output file in binary mode 2004-03-19 00:38:35 +00:00
Bill Currie
199455d38f fix a silly bug that caused all parsed keys to be "" 2004-03-17 20:22:19 +00:00
Bill Currie
5bd524cd8b add a note about memory consuption 2004-02-24 02:56:32 +00:00
Bill Currie
f1c9a8d24b remove a mostly unused field 2004-02-21 05:58:01 +00:00
Bill Currie
14e8bfe94b auto-init for uninitialized locals in traditional mode as requested by
Grievre
2004-02-21 05:52:05 +00:00
Bill Currie
e021afd141 remove some more arbitrary limits: tokens and keys can now be any size 2004-02-21 01:34:59 +00:00
Bill Currie
0360859a0f all warnings (except for @self and self) are now fully controllable 2004-02-17 00:39:21 +00:00
Bill Currie
efb52dc9f9 don't seg on null field names 2004-02-13 23:08:22 +00:00
Bill Currie
865b31caac make sure messages generated by issues within a function don't get
"At top level"
2004-02-13 04:57:15 +00:00
Bill Currie
b6c2320d5d change --include FILE to pre-include a file rather than add a directory search
path. Maps to -include FILE on the cpp command line.
2004-02-13 04:46:50 +00:00
Bill Currie
7ed77fd18b ignore pdf files 2004-02-12 21:58:52 +00:00
Bill Currie
69730cae8b fix some type classes in older bison 2004-02-12 01:37:27 +00:00
Bill Currie
02d89ee7d5 allow computed functions for "think" in state expressions 2004-02-11 08:09:10 +00:00
Bill Currie
1c090c38a3 allow non-const expressions for the frame number and make sure the time
step is a float (for state expressions)
2004-02-11 04:00:11 +00:00
Bill Currie
afdbd90bc1 some tests I've accumulated over time. don't want to lose them accidently
:)
2004-02-11 02:23:40 +00:00
Bill Currie
0fe4c2a600 catch redefined functions 2004-02-11 01:53:17 +00:00
Bill Currie
c3f41e3e69 new opcode: state.f. same as state, but takes a 3rd float operand to
specify the step for calculating nextthink. accessed using
[frame, think, step] (state is [frame, think])
2004-02-11 01:43:33 +00:00
Bill Currie
1fc517f7db C style functions can now (optionally) be used (void foo ();) 2004-02-11 00:36:34 +00:00
Bill Currie
e2602bc9d5 fix misparse of void () foo; 2004-02-10 23:49:45 +00:00
Bill Currie
7af8f8a6f6 ; at the end of a function is no longer required. void () foo = {} and
void () foo = {}; are both valid now.
2004-02-10 23:20:44 +00:00
Bill Currie
6e4c6478a1 getting closer to optional ; at the end of functions. also gets rid of the
need for the context-sensitivity hack used for distinquishing frunction
inits from struct/array inits
2004-02-10 03:25:24 +00:00
Ragnvald Maartmann-Moe IV
2b8fc38a2c Fix an ypo. ;) 2004-02-09 16:51:06 +00:00
Bill Currie
ddc44f33da compress the 4 method building rules into 2 2004-02-09 07:35:19 +00:00
Bill Currie
3f27042e8d forgot to look after current_storage with methods 2004-02-09 07:17:44 +00:00
Bill Currie
1181fb267b don't seg when constants are involved in && or || expressions 2004-02-09 02:23:37 +00:00
Bill Currie
499dac6bb1 step one towards more flexible function declarations 2004-02-08 23:46:40 +00:00
Bill Currie
f70605f5f7 ensure a op= b treats b as if it was (b) 2004-02-08 05:28:30 +00:00
Ragnvald Maartmann-Moe IV
527342d80d Whitespace, codingstyle, pouncing shalraths. 2004-02-08 02:53:58 +00:00
Ragnvald Maartmann-Moe IV
c4402e07bd Working towards merging q2 model, sprite, and map support. Check back in a few
years, might be finished. ;)
2004-02-08 02:49:38 +00:00
Bill Currie
bf592412f8 give temp defs a name, making it easier to read disassembly output (.tmpN) 2004-02-06 08:58:19 +00:00
Bill Currie
1d800caab7 make autoconvertion work for return 2004-02-06 08:40:28 +00:00
Bill Currie
3f91157b26 a little easier to read 2004-02-05 23:46:21 +00:00
Bill Currie
3764497143 various impovements from Vic via hqbsp (lordhavoc) 2004-02-05 04:11:39 +00:00
Chris Ison
6ec1cfe389 win32 fix for over-compliant getopt 2004-02-05 03:27:35 +00:00
Bill Currie
22fe9de3f9 terminate buf properly (\r\n -> \n translation can cause the bytes read to
be /much/ smaller than expected)
2004-02-05 00:13:42 +00:00
Bill Currie
8a14e30896 cast block expressions 2004-02-04 06:41:07 +00:00
Bill Currie
d02b0686b1 don't seg if the method can't be found 2004-02-04 06:31:12 +00:00
Bill Currie
61da478188 these changes from earlier seem to be ok 2004-02-04 06:00:45 +00:00
Bill Currie
c43950abd8 autoconvert for function parameters now works :) 2004-02-04 05:49:54 +00:00
Bill Currie
892e80938b that made a royal mess :( 2004-02-04 04:49:46 +00:00
Bill Currie
b2474a2b97 better auto-conversion of function parameters (ugh, this is getting messy
:( )
2004-02-04 04:33:08 +00:00
Bill Currie
f79e34628b broke returning NIL 2004-02-04 02:30:18 +00:00
Bill Currie
ab4f0e7ca9 warn on return foo (); where foo returns void 2004-02-04 01:30:12 +00:00
Bill Currie
f748b6582a need to do relocs separately from ddef creation due to pr_globals needing
to be allocated first
2004-02-04 00:36:15 +00:00
Bill Currie
e8a9060219 oops, messed up things like float = int 2004-02-04 00:30:42 +00:00
Bill Currie
3cd806fdcc fix some over-conversions 2004-02-04 00:27:42 +00:00
Bill Currie
1068032f1b make implementation methods not in the interface work properly when
-Winterface-check isn't specified and make sure classes don't clash with
defs or enums
2004-02-03 07:48:23 +00:00
Bill Currie
0f94dd95d2 make @class foo work when foo is already defined 2004-02-03 07:29:20 +00:00
Bill Currie
389ff5be1c finally found the correct way to handle generated source 2004-02-03 05:30:11 +00:00
Bill Currie
4f9a24d94d and another one 2004-02-03 03:38:51 +00:00
Bill Currie
9df4a7948e make dist fixes 2004-02-03 03:22:48 +00:00
Bill Currie
c16fc91328 update with qfprogs 2004-02-03 02:40:00 +00:00
Bill Currie
371a0b8e75 support old-style portal files again 2004-02-02 05:44:46 +00:00
Bill Currie
24294c8778 make printing of global contents in PR_PrintStatement optional so
disassembly output is cleaner
2004-01-31 04:26:01 +00:00
Bill Currie
f05be31cae fix for perc = itof (perc_val) / (100 / itof (size));
ie, better detection of function calls in binary expressions
2004-01-31 04:11:45 +00:00
Bill Currie
fb49b06c2c remove debug info 2004-01-30 07:29:04 +00:00
Bill Currie
394e83e419 perform relocations so disassembly dumps of qfo files make sense 2004-01-30 07:17:28 +00:00
Bill Currie
16e4964a31 fix a couple struct forward ref issues 2004-01-30 07:16:48 +00:00
Bill Currie
f87a5d14e2 convert the debug info, too. seems to work 2004-01-30 05:35:30 +00:00
Bill Currie
a2e8080a03 init entity info 2004-01-29 08:22:59 +00:00
Bill Currie
2e87490f3b pr_stringsize hasn't reflected static strings size for a while... 2004-01-29 08:11:04 +00:00
Bill Currie
206a15ef14 while not yet perfect, qfprogs now works with qfo files 2004-01-29 07:43:05 +00:00
Bill Currie
7beee0fa47 bah, dust hiding under the rug... 2004-01-28 05:36:35 +00:00
Bill Currie
b2ccb50b81 move qfpreqcc in with qfcc for relationship reasons 2004-01-28 05:34:23 +00:00
Bill Currie
518143bec3 move graph-timeframes and qfgl_gen.pl into misc. general tidy up 2004-01-28 05:31:03 +00:00
Bill Currie
77122c7802 move zpak in with pak since they're intimately related 2004-01-28 05:29:47 +00:00
Bill Currie
d3018dd79b move qfprogs in with qfcc (it's going to need to share code) 2004-01-28 05:23:43 +00:00
Ragnvald Maartmann-Moe IV
0e6681a069 Add QFGL_WANT, and ability to handle non-required extensions. 2004-01-28 02:49:57 +00:00
Bill Currie
9abe3b29e0 start of my properties work. doesn't seem to have broken anything :) 2004-01-27 08:31:34 +00:00
Bill Currie
2ea155dc53 make "havoc" map to the correct attenuation type 2004-01-27 08:12:59 +00:00
Bill Currie
080f6779d4 correct a couple of falsehoods 2004-01-27 05:08:21 +00:00
Bill Currie
ba901863d2 fix a missing ; 2004-01-27 04:41:20 +00:00
Ragnvald Maartmann-Moe IV
09bdd3487b Compile fixes, plus a couple of minor optimizations. 2004-01-26 20:07:04 +00:00
Bill Currie
5ee1b1d9ca bring in OpenQuartz's extentions (except -ikmap: got tired:)
go back to id's lighting model being default. LordHavoc's is selectable
via --attentuation havoc. Also selectable on a per-light basis.
2004-01-26 07:39:29 +00:00
Bill Currie
897b49140a initialized locals are a little trickier... 2004-01-25 22:08:08 +00:00
Bill Currie
f8ed454547 warn on if (a = b) 2004-01-25 21:45:07 +00:00
Bill Currie
7423ee389d better timing for constant folding 2004-01-25 21:36:44 +00:00
Bill Currie
39c7ff1e90 disable debug output 2004-01-25 08:59:55 +00:00
Bill Currie
51b0a66ac7 better constant folding with auto-conversion between scalar types (might
make that optional for non-constants)
2004-01-25 08:55:03 +00:00
Bill Currie
3e5a103e55 proper error checking when openning progs.src 2004-01-22 04:16:19 +00:00
Bill Currie
8f440c7911 linker.c:
I think I found the real reason doxygen gets confused
expr.c:
	add a check for x & y == 2 (or similar) doesn't work for constant y at
	the moment.
2004-01-22 01:04:48 +00:00
Bill Currie
2f21926568 more constant folding 2004-01-21 21:58:34 +00:00
Bill Currie
e63b205fd2 don't seg when in traditional mode and @ is seen 2004-01-21 21:43:31 +00:00
Bill Currie
7446967f97 don't need qfdefs any more since the servers now do its job themselves 2004-01-21 20:55:03 +00:00
Bill Currie
283d49bd8e first chunk of Mike Gorchak's <mike@malva.ua> QNX patches 2004-01-20 05:57:39 +00:00
Bill Currie
e154c9add5 be consistent with WIN32 and _WIN32 (now all _WIN32) 2004-01-20 03:47:27 +00:00
Bill Currie
0abe875ca0 refer to the correct program 2004-01-18 06:55:47 +00:00
Bill Currie
249aee2e9f move the OO runtime support code from libQFgamecode to libQFruamoko where
it really belongs :)
2004-01-16 08:02:31 +00:00
Bill Currie
31d970aca0 can now dump a map's textures to a wad file (name currently based on bsp
file name (eg, foo.bsp -> foo.wad)
2004-01-15 07:16:44 +00:00
Bill Currie
7135ff9139 update for latest mingw and flex 2004-01-15 04:04:55 +00:00
Bill Currie
74d8c3e379 use the wadfile support in libQFutil instead of a local version 2004-01-13 06:47:08 +00:00
Bill Currie
1ddd7da5ec remove redundant cast 2004-01-13 03:07:36 +00:00
Bill Currie
c31c97a6d9 minor cleanup: LoadBSP really shouldn't be doing the bsp2prt stuff :) 2004-01-13 03:02:25 +00:00
Chris Ison
34f98e5a88 fix incompatable pointer type 2004-01-12 05:36:23 +00:00
Bill Currie
d0a95aba9d t-juctions don't affect portals so don't mess with the loaded faces 2004-01-12 02:09:42 +00:00
Bill Currie
dd3f9b2265 qfbsp --portal foo.bsp now works :) produces identical results for simple
maps.
2004-01-12 01:52:08 +00:00
Bill Currie
33e80fb595 whitespace 2004-01-12 01:49:27 +00:00
Bill Currie
440e03374e first stab at getting bsp to portal working. produces a portal file that
looks ok at first glance but the numbers are a tad bogus. More loading
errors, I guess.
2004-01-11 08:48:58 +00:00
Bill Currie
41106a1f01 hopefully shut doxygen up about a "const char" function 2004-01-11 05:52:19 +00:00
Bill Currie
44b38c5cb7 add a wad tool along the lines of pak. can't yet be used for wad creation
(that's a little more complicated), but it can be used for listing and
extracting the contents of a wad file. watch out for *foo :)
2004-01-10 08:05:25 +00:00
Bill Currie
03a24be4de partial work on wad file access cleanup in preparation of making a wad
utility
2004-01-09 23:34:32 +00:00
Bill Currie
802aacfaf4 allow constant expressions to be used for builtin numbers 2004-01-07 00:03:05 +00:00
Bill Currie
acd54afff7 move to using a hash table for builtin number -> builtin lookup so sparse
ranges can be used efficiently. move the auto-allocated builtins to
0x10000000-0x7fffffff. should be more than enough :)

use static builtin tables ("nul" terminated) instead of a series of
function calls to add builtins to a vm. should be more memory efficient.
2004-01-06 05:51:09 +00:00
Bill Currie
dfc83c1f5f add PR_PushFrame and PR_PopFrame so temp strings are easy to use for
parameters to progs functions.

double the progs stack sizes (call depth of 32? eek)

allow one extra call on the progs stack :)

misc minor cleanups
2004-01-05 07:10:32 +00:00
Bill Currie
dfe7f263c7 new internal printf engine for progs, mostly thanks to Deek.
also a few cleanup bits
2004-01-04 07:42:43 +00:00
Bill Currie
a533761770 Nuke PR_GarbageCollect as it's both redundant with the new temp strings
and wrong anyway (could free strings it wasn't supposed to).

Don't free the string pointed to by a strref since it's already been
implicity freed (whole memory space nuked). Fixes new map crash.
2004-01-04 02:03:30 +00:00
Bill Currie
bd561fafc3 o all progs strings are now stored in progs memory
o  temporary strings automaticly get freed when the function they're
    created in (results of str + str and most strings returned from
	builtins). a way to keep temp strings will be provided later
 o	fix up qwaq to test the temp strings
2004-01-03 08:43:57 +00:00
Bill Currie
35d690c701 give an error message instead of segging for the following code:
@class foo;
@interface bar : foo
@end
2003-12-19 04:59:34 +00:00
Bill Currie
cd8035319d PR_GetString should have been returning const char *. now does 2003-11-21 21:34:53 +00:00
Bill Currie
bb4e9de0db fix a real oopsie with if (const) 2003-11-16 07:17:18 +00:00
Bill Currie
834ab26be5 remove some buggy debug code :P 2003-10-27 21:48:13 +00:00
Bill Currie
63414ea836 more gccisms in the error reporting (In function ...) 2003-10-25 04:35:47 +00:00
Bill Currie
58d0f188f1 recover from errors in bool expressions (ie, don't segfault) 2003-10-24 22:23:56 +00:00
Bill Currie
8e030089a7 only one define/undefine/include per option 2003-10-24 21:23:03 +00:00
Bill Currie
2469c36302 yay, short circuit logic done :) 2003-10-23 06:21:07 +00:00
Bill Currie
7ef80d1da2 mske sure .self and .this are defined in progs.src mode (ie, @self and
@this)
2003-10-22 21:49:47 +00:00
Bill Currie
c76282c668 fix bools in function calls 2003-10-22 16:49:57 +00:00
Bill Currie
5f97de56d1 fix a few bugs 2003-10-22 09:14:53 +00:00
Bill Currie
969dad87eb fix a secfault in return_expr 2003-10-22 08:30:54 +00:00
Bill Currie
72ae59f882 short circuit logic can now be controlled (see man page) 2003-10-22 08:27:38 +00:00
Bill Currie
945006494f short circuit logic for && and || (as per C). forces standard precedence
(ie, breaks --traditional) when enabled (no choice at the moment, next fix)
2003-10-22 08:05:17 +00:00
Brian Koropoff
f4c174184d Add support for named arguments in GIB functions and methods, fix a few
bugs, allow subclasses of classes written in GIB to access the same set
of instance variables.
2003-10-19 00:51:47 +00:00
Bill Currie
99034fef27 initialized locals aren't constant 2003-09-25 02:05:43 +00:00
Bill Currie
39c0a0f08d make cluster recursion a warning rather than an error (see how this goes) 2003-09-24 00:59:53 +00:00
Bill Currie
4ce81b28d7 remove nested scopes for traditional mode 2003-09-23 17:59:46 +00:00
Bill Currie
91207c0180 make void functions actually return float in traditional mode (qcc allowed
things like foo = void_function)
2003-09-23 16:57:53 +00:00
Bill Currie
387464a27c mangle precedence of = relative to && and || for --traditional (bletch).
also make noise when assigning to bad lvalues (eg !x = y)
2003-09-23 16:42:03 +00:00
Bill Currie
ba26628b80 --traditional now "fixes" (ie, breaks) operator precedence to match qcc
except for the relationship between "=" and "&&" and "||": not sure I want
to go that far towards bug compatability.
2003-09-22 22:15:31 +00:00
Bill Currie
52417dceb3 oops, forgot about this 2003-09-20 05:24:57 +00:00
Bill Currie
9027648721 kill -t for --traditional, add --advanced, default to --traditional for
progs.src mode and --advanced otherwise
2003-09-20 04:13:32 +00:00
Bill Currie
651fa8ca12 correct the operator precendece to match C. hopefully won't cause any
problems :)
2003-09-19 20:50:05 +00:00
Bill Currie
9e861128ec world is supposed to be portalized using the "detail" portals 2003-09-17 22:46:37 +00:00
Bill Currie
4f33663c8c brush.c:
quieten point off plane warning
qfbsp.c:
	allocate less memory for clipped winding
2003-09-17 21:03:52 +00:00
Bill Currie
83ba424ffc force axis aligned planes to truely be axis aligned (fixes degenerate
polygons being generated by ClipWinding) and use LordHavoc's point off
plane correction code
2003-09-17 20:26:57 +00:00
Bill Currie
03d67f6177 ignore some more files 2003-09-15 16:33:16 +00:00