Commit graph

2523 commits

Author SHA1 Message Date
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
Bill Currie
0db01f41fb progress "meter" 2003-09-12 23:13:11 +00:00
Bill Currie
31112bfc42 it's gimp-paintbrush rather than gimp_paintbrush 2003-09-12 22:03:30 +00:00
Jeff Teunissen
0cd6fb397a Minor cleanups. 2003-09-12 20:52:23 +00:00
Bill Currie
ccea0d5d5d seems printf isn't threadsafe 2003-09-12 20:40:14 +00:00
Jeff Teunissen
773eda1929 Okay, all. This is the TexturePaint 1.1 GIMP plugin, modified by me long ago
to work under GIMP 1.2.x -- at taniwha's urging, I am checking this into CVS.

You need libgtk+ v1.2, libgtkglarea v5, libgimp v1.2 (or thereabouts) to get
this to work.
2003-09-12 18:41:29 +00:00
Bill Currie
c8d405dbcb oops, else in wrong spot 2003-09-12 18:35:10 +00:00
Bill Currie
9d8569584e fix a typo 2003-09-12 17:14:39 +00:00
Bill Currie
deb6b2e3a7 all numeric args now check the validity of their arg (that it's a number) 2003-09-12 16:43:44 +00:00
Bill Currie
bf89a486a8 error checking 2003-09-11 18:52:37 +00:00
Bill Currie
84f58bdd5d allow reading of gzipped bsps 2003-09-11 18:21:26 +00:00
Bill Currie
9297732f86 fix a typo pointed out by IrcMonkey 2003-09-11 18:11:20 +00:00
Brian Koropoff
687a0845b6 Introducing the GIB Object System (TM). This breaks scriptable HUD for now
and probably has enough bugs to leave the Orkin man scratching his head,
but it works and allows you to do neat things like write classes in GIB
(amazing!) and subclass builtin classes (which are Object and Thread at the
moment, Hash should be coming soon as a replacement for stem and leaf
variables).
2003-09-11 06:03:13 +00:00
Bill Currie
0c1655ac00 some serious speedups. that memset was fiendishly expensive (oops:) and
redundant anyway (d'oh, paranoia bit me in the bum).
2003-09-10 21:09:23 +00:00
Bill Currie
1ed772a933 convert \ to / while extracting and accecpt file names on the command line
to control extraction.
2003-09-10 20:48:59 +00:00
Bill Currie
6eef62cff8 LordHavoc's colored lighting support (not his relight stuff (yet?) though) 2003-09-10 15:48:46 +00:00
Bill Currie
9607b8f5f2 parse the vis data properly 2003-09-09 15:29:14 +00:00
Bill Currie
26f3839276 bring in lordhavoc's vis data optimisations (doesn't work properly yet) and
parsing of his extra fields.
2003-09-09 08:13:33 +00:00
Bill Currie
94f00bbefe it seems wine doesn't like %i in *scanf 2003-09-08 21:57:34 +00:00
Bill Currie
f93cc0d5d5 make the reached entity warning display even without verbose 2003-09-08 19:50:19 +00:00
Bill Currie
cb5f57fb51 oops, forgot to edit the checks for specified fields 2003-09-08 03:46:56 +00:00
Bill Currie
cabe8d6c02 remove some arbitrary limits and add some of the fields from hlight 2003-09-08 03:39:44 +00:00
Bill Currie
50d83a7c56 same with MAX_POINTS_ON_WINDING 2003-09-08 03:25:01 +00:00
Bill Currie
ca91f7b727 MAXEDGES? What MAXEDGES? :) 2003-09-08 03:00:53 +00:00
Bill Currie
1a250f0ef7 error checking in LoadLump and handle muptiple wad files better (ie,
properly:P)
2003-09-05 03:47:19 +00:00
Bill Currie
04a1ff51b1 D'OH!!! fixes totally borked vis data :) 2003-09-05 02:27:34 +00:00
Bill Currie
194ea081eb hopefully add watervis support 2003-09-03 23:04:30 +00:00
Bill Currie
4cb6c062ec use the right plane when calculating the texture normals 2003-09-03 22:54:14 +00:00
Bill Currie
a30fbfc917 tighten up hl texture alignment parsing and don't print
"adding 0 texture frames".
2003-09-03 22:32:40 +00:00
Bill Currie
0a8867fde9 replace all VectorSubtract (vec3_origin, ... and
VectorCopy (vec3_origin, ... with VectorNegate (... and VectorZero (...,
respectively. Should be a small speedup.
2003-09-03 22:17:04 +00:00
Bill Currie
231a1bfb56 bring in many of LordHavoc's changes to qbsp: HalfLife WorldCraft texture
alighnment, partial "point of plane" autocorrection (currently disabled: I
want to make it optional), large map support (not sure where that's
hiding), hipnotic entity rotation
2003-09-03 22:00:08 +00:00
Bill Currie
996de18cc6 good line number reporting for errors and treat ^Z and ^D as whitespace 2003-09-03 18:27:27 +00:00
Bill Currie
36f8dbf75a fix a buffer overflow (ouch) 2003-09-02 20:20:54 +00:00
Bill Currie
11538d4745 access arrays in structs more efficiently (especially when using constant
indeces)
2003-09-02 17:41:16 +00:00
Bill Currie
f10829206a use a cast expression rather than and bind expression to do the unsigned
comparison for switches. clears the notice (bind seems to be correct in
general) and is more correct conceptually anyway.
2003-09-02 16:53:45 +00:00
Bill Currie
23b525059f cast between integer and unsigned just by changing access method
effectively deprecating conv.ui and conv.iu (they'll die eventually:)
2003-09-02 16:45:36 +00:00
Bill Currie
3a6c8b8b16 wrong place to decrement uses. now have a problem in switch :/ 2003-09-02 06:23:57 +00:00
Bill Currie
ef4ca0c798 some doxygen tweaks 2003-08-31 05:24:24 +00:00
Bill Currie
cc41875968 make the bbox output easier to read 2003-08-29 00:50:39 +00:00
Bill Currie
4c52975584 make FindPlane much pickier about matching planes 2003-08-27 01:12:03 +00:00
Bill Currie
b01d4d4589 get the type for the destination from the right place (hope that wasn't
a bugfix for something else:)
2003-08-24 20:38:32 +00:00
Bill Currie
7cffeb27bf correct the temp def counting when casting 2003-08-24 08:17:31 +00:00
Bill Currie
6086aa2b99 allow casts between pointers and integers 2003-08-24 08:03:25 +00:00
Bill Currie
a08efafb7a make sure __VERSION6__ is defined when it should be 2003-08-24 07:26:02 +00:00
Bill Currie
b50d283b28 make sel_get_uid and class_get_instance_method work 2003-08-23 22:16:42 +00:00
Bill Currie
385a90e8fb correct pr_symtab_t to include the pointer to the array of selectors used
in the module. Unfortunatly, this requires a version bump on both qfo and
progs files due to the changes structure layout.
2003-08-23 06:15:19 +00:00
Bill Currie
b38486d405 make rel_def_op work properly 2003-08-22 19:48:14 +00:00
Bill Currie
e9ca03416a create the temp def for bound defs properly 2003-08-22 18:16:30 +00:00
Bill Currie
d20b8bf0c1 pass NIL though ... safely 2003-08-22 06:04:31 +00:00
Bill Currie
303287dc11 don't seg on undefined vars 2003-08-22 05:48:19 +00:00
Bill Currie
204243fe95 better message type checking 2003-08-22 05:26:47 +00:00
Bill Currie
febc57e71b typecheck message params when possible 2003-08-22 04:08:33 +00:00
Bill Currie
7d09105740 remove debug code 2003-08-21 02:24:11 +00:00
Bill Currie
11c7c27f70 better relocations: pointers to structure members now work 2003-08-21 02:21:30 +00:00
Bill Currie
a2300387de fix a bunch of segfaults 2003-08-20 22:36:02 +00:00
Bill Currie
93cafe878a convert NIL properly in function calls 2003-08-20 20:28:28 +00:00
Bill Currie
7d830ffc1f make @defs work properly and don't do uninitialized checks on structs 2003-08-20 19:58:41 +00:00
Bill Currie
aa712c0169 make [super foo] work in category methods 2003-08-18 06:11:41 +00:00
Bill Currie
aa4f81b6da class.c:
whitespace
switch.c:
	set up the relocations for the switch jump table properly
2003-08-18 02:57:21 +00:00
Bill Currie
ff627bfb0d update for mingw 3.0 (thanks, Dabb:) 2003-08-15 21:26:44 +00:00
Bill Currie
53448a483e handle multiple files better and auto-scale 2003-08-13 22:42:52 +00:00
Bill Currie
c9346e806c now sporting multiple runs (currently 3) and blending 2003-08-12 22:18:51 +00:00
Bill Currie
515dbaccc0 make qc-lex.c and qc-parse.[ch] part of the distribution (two less
requirements for the average user)
2003-08-12 18:22:11 +00:00
Bill Currie
c73d57e9ee put the axes behind the graphs and don't skip the first couple frames 2003-08-12 16:24:50 +00:00
Bill Currie
f7fd1d70a2 correct white and add axes with ms and 100 frame ticks 2003-08-12 16:04:00 +00:00
Bill Currie
b3f99a70be rename cl_timeframes to demo_timeframes and make it /not/ archive.
move call to CL_TimeFrames_AddTimestamp from cl_main.c to cl_demo.c.

add a hacky little python script to create a pnm (portable anymap file
format) graph from timeframes.txt
2003-08-12 06:33:13 +00:00
Bill Currie
19cf019ed2 barf when given a bsp file instead of a map file (and don't zap the bsp file
in the process!!!)
2003-08-11 20:43:26 +00:00
Bill Currie
fa31cb73b5 don't seg if files can't be opened 2003-08-11 17:11:44 +00:00
Bill Currie
6a94607d9d rename VectorMA to VectorMultAdd, add VectorMultSub and use it in a few
places. Not certain how much speed difference it makes :/
2003-08-08 15:25:53 +00:00
Bill Currie
4a680bf981 grovel around for the source file and line of an undefined def to give
better diagnostics
2003-08-06 21:36:07 +00:00
Bill Currie
56e79e32b5 configure fixes from MrFixit (+ a buch of "x..." for test) and make
qwaq.dat depend on qfcc
2003-08-06 18:20:48 +00:00
Bill Currie
448b6f24be make the useless expression warning more interesting 2003-08-05 21:41:48 +00:00
Bill Currie
329c91fce4 expr.c:
qcc actually had the precedence of "!x && y" correct, so don't invert
	the logic for it in traditional code.
qfcc.c:
	allow the .debug_file def to be emitted in traditional mode.
2003-08-05 17:48:16 +00:00
Bill Currie
3e3b316891 blah, double ; 2003-08-01 21:26:36 +00:00
Bill Currie
dd9ab1e050 get unsigned mostly working 2003-08-01 21:20:04 +00:00
Bill Currie
8e21ecd4d9 make private methods work properly and put overided methods into the
correct class
2003-08-01 16:24:44 +00:00
Bill Currie
1b5bf9d176 make methods showing up only in the implementation work when overiding an
inherited method
2003-08-01 05:08:15 +00:00
Bill Currie
24f4bcfebf initialize the new field properly 2003-08-01 02:43:51 +00:00
Bill Currie
0361cb261f fix an incorrect inherited attribute access caused by my "no ivars" fix
(part of the struct re-work)
2003-08-01 02:43:11 +00:00
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
Bill Currie
e17604f9c2 remove all arbitrary limits except for globals. they'll need a little more
work. Once they're done, it should take quite a big mod to crash qfcc due
to too many strings/statements/etc :)
2002-06-05 17:12:55 +00:00
Bill Currie
32215b1296 prepare functions and pr_globals for relocatability 2002-06-05 05:39:20 +00:00
Bill Currie
935f1e8c5e prepare the string hash table for relocatable strings space and fix a bug
causing more string space to be allocated than necessary
2002-06-05 05:24:42 +00:00
Bill Currie
c58a4c59b7 forgot to move the prototypes 2002-06-04 21:54:47 +00:00
Bill Currie
69605d0b19 even more cleanup 2002-06-04 21:23:39 +00:00
Bill Currie
080a46469f fix CPP_NAME for independently built qfcc 2002-06-04 20:43:11 +00:00
Bill Currie
2d21e0e2fb idstuff is a better name for precache 2002-06-04 18:45:45 +00:00
Bill Currie
06bddd3ee6 more cleanup 2002-06-04 18:44:03 +00:00
Bill Currie
77d244220b more qfcc cleanup. split out some functions and kill some dead code 2002-06-04 05:25:37 +00:00
Bill Currie
be28957dff kill USE_CPP (and --enable-cpp) it's not needed any more 2002-06-04 04:48:21 +00:00
Bill Currie
328b591aa0 some qfcc.c cleanup 2002-06-04 04:36:57 +00:00
Bill Currie
e1d66fdfb8 make sure qc-parse.h gets built before files that depend on it 2002-06-03 03:45:24 +00:00
Bill Currie
f00e892d4e mingw gcc 3.1 is freaking weird 2002-06-02 05:27:32 +00:00
Bill Currie
c13e94db78 must be more careful with the return value of va 2002-06-02 01:10:31 +00:00
Bill Currie
84b46d720e slowly killing cmdlib 2002-06-01 06:59:02 +00:00
Bill Currie
8e479c5549 don't need that any more :) 2002-06-01 05:57:55 +00:00
Bill Currie
12cfe6190b do some file renaming 2002-06-01 05:37:18 +00:00
Bill Currie
7b993f97d2 more cleanups 2002-06-01 05:30:16 +00:00
Bill Currie
c4d0c574ee clean up qfcc.h a bit 2002-06-01 05:06:19 +00:00
Bill Currie
8f2d1fa2d9 more cmdlib cleanup 2002-06-01 04:41:25 +00:00
Bill Currie
9e5f8c3bd9 win32 compile fixes 2002-05-31 19:24:56 +00:00
Bill Currie
b3adadc347 @this will provide an id field named ".this" (ie, .id .this (if .this would
parse in the first place:))
also kill build_type now that a field_type function is available in type.c
2002-05-31 16:58:42 +00:00
Bill Currie
4d267abd2a make things a little quieter 2002-05-31 07:24:54 +00:00
Bill Currie
3af96782da make qwaq build as part of the main tree (but /not/ install) 2002-05-31 06:55:35 +00:00
Jeff Teunissen
96fe150ff4 Add a clean target to quaketoascii's makefile. 2002-05-31 06:44:48 +00:00
Jeff Teunissen
dd47617c57 Update some gitignore files. 2002-05-31 06:40:52 +00:00
Bill Currie
c4811ccb52 seriously clean up qwaq. most of that stuff isn't needed any more 2002-05-31 06:16:10 +00:00
Bill Currie
ce6854ad05 not everybody /has/ d.o :) 2002-05-31 06:09:08 +00:00
Bill Currie
191232a383 get qwaq working with the objective stuff and do a simple messaging test 2002-05-31 06:02:26 +00:00
Bill Currie
24e7a88719 fix some method list emission bugs 2002-05-31 06:00:11 +00:00
Bill Currie
ccf2a0b34a allocate defs using the correct size from the type 2002-05-31 05:04:16 +00:00
Bill Currie
3c7fb6a312 fix some missing ;s 2002-05-30 21:18:58 +00:00
Jeff Teunissen
26cda3214a Forge: partial support for projects. Very (VERY!) incomplete. 2002-05-29 11:21:25 +00:00
Jeff Teunissen
6c9c62139a Forge updates: Windows are now remembered and stuff is in general a bit
cleaner. Committing this so that the stuff I'm about to write won't totally
fubar everything. :)
2002-05-29 07:13:42 +00:00
Bill Currie
6fbf011073 rpm building fixes 2002-05-27 20:28:10 +00:00
Jeff Teunissen
3edc57ef93 Forge updates. Compiles with latest GNUstep CVS, may not work with current
release (but should).

The interface is no longer defined in code -- it loads it from a .gorm file.

The code is a lot cleaner, and I'm working on project management again.
Generally, I'm having a lot of fun. :)
2002-05-26 11:24:00 +00:00
Jeff Teunissen
a116529db1 pak tool: Re-add the -f option and clean up the man page. 2002-05-25 02:47:53 +00:00
Bill Currie
34ec521198 vararg functions can now be imlemented in qc using @argc (number of params
passed through ...) and @argv (array of vectors, one for each ... param)
2002-05-22 20:43:29 +00:00
Bill Currie
60457ee7b8 clean up some expr creaion 2002-05-22 17:18:48 +00:00
Bill Currie
5b590c9301 that seems to have got the type parsing right. (void []) () foo will work
and .float () foo works too
2002-05-22 17:13:52 +00:00
Bill Currie
ddcaef5b0b that didn't work so well :/
back it out for now till I figure out how to get it parsing .float () foo
correctly
2002-05-22 16:38:29 +00:00
Bill Currie
51fbbb7c5c qc-parse.y:
allow complex types for function return values
type.c:
	fix a missing break and an unneeded printout
2002-05-22 16:29:24 +00:00
Bill Currie
3967f5cf95 type.h:
*type_method to type_Method
emit.c:
	support casting between pointers
expr.c:
	support casting between pointers
method.c:
	correct the type for _cmd
	type_method to type_Method.aux_type
qc-lex.l:
	Method type is a poniter to a method
qc-parse.y:
	support , args to messages (not fully implemented yet)
type.c:
	*type_method to type_Method and make type_Method a pointer to a method
2002-05-22 05:03:36 +00:00
Bill Currie
a1fe5efd27 initialize class_Class.super_class iff @keywords are seen (ie, compiling
obj code).
2002-05-22 01:39:07 +00:00
Bill Currie
4697ce281e define Protocol type correctly 2002-05-21 23:38:40 +00:00
Bill Currie
4315707008 class.c:
avoid possible segfault
expr.c:
	correct the return value type checking to handle super classes
2002-05-21 23:29:21 +00:00
Bill Currie
3a99ab8cea trim off the trailing _ from method def names 2002-05-21 23:02:56 +00:00
Bill Currie
2a73235d35 fix some method bugs 2002-05-21 22:51:46 +00:00
Bill Currie
9f06f89d57 write out the module data needed for the obj runtime 2002-05-21 21:28:40 +00:00
Bill Currie
e11e2f3718 SELF -> @self (looks better (IMO:)) and make sure the .self def gets
generatoed and used when @self is seen
2002-05-18 00:30:14 +00:00
Bill Currie
5be384da63 create a `SELF' keyword so the global self entity can be handled sanely.
Not fully implemented yet.
2002-05-17 20:25:46 +00:00
Bill Currie
2c0de5cb3e print out some extra info for function defs 2002-05-17 20:03:59 +00:00
Bill Currie
dc5cd8460e `super' is now a keyword 2002-05-17 19:47:15 +00:00
Bill Currie
451bfbddfe fix a snafu with current_class and get ivar access working properly (cross
fingers:)
2002-05-17 19:35:26 +00:00
Bill Currie
d8c66aef76 don't seg if strct is null 2002-05-17 19:34:40 +00:00
Bill Currie
2e8c18f8b6 handle unimplemented classes a little better (will do for now till I sort
out some sort of resolution for them)
2002-05-17 18:46:11 +00:00
Bill Currie
b1d1159ae2 allow methods to be builtins 2002-05-17 18:35:54 +00:00
Bill Currie
97170e97b5 setup the default visibility properly 2002-05-17 17:58:57 +00:00
Bill Currie
ef9f9cda2f pr_obj.h:
define the class info stuff
expr.h pr_def.c:
	fix a FIXME
class.c expr.c type.c:
	make id ev_pointer.ev_object rather than ev_pointer.ev_class
2002-05-17 17:37:44 +00:00
Bill Currie
6965642030 get ivars working better (need to get rid of self.) and [super ...] now
works.
2002-05-17 06:20:27 +00:00
Bill Currie
91c4039495 add some functionality to qfprogs (globals and strings dumping) 2002-05-16 23:44:53 +00:00
Bill Currie
372c391737 initialize the string hash table with "" 2002-05-16 23:32:25 +00:00
Bill Currie
04d76ce1cf build the method_list struct with the correct type 2002-05-16 23:32:03 +00:00
Bill Currie
7cdbef2b11 make class_def return a correct def 2002-05-16 22:33:11 +00:00
Bill Currie
4908b3cf10 `initialize' the defs for the obj constructs 2002-05-16 21:57:03 +00:00
Bill Currie
eba5e68726 check whether the method is an instance or class method when comparing 2002-05-16 20:48:41 +00:00
Bill Currie
779174cb33 get object pointer assignmets working and some static typing as well 2002-05-16 20:20:23 +00:00
Bill Currie
73f4cb4c03 it seems object info emition works (needs more testing) 2002-05-15 23:24:19 +00:00
Bill Currie
308fa78fc6 lots of obj work 2002-05-15 19:10:23 +00:00
Bill Currie
6a5bbf6f0a memory allocation checking cleanup 2002-05-14 06:37:28 +00:00
Bill Currie
44dcf74627 strip the \n from all(?) of the Sys_Error calls (Sys_Error itself will be
adding \n).
2002-05-14 06:12:29 +00:00
Bill Currie
2c0a20a887 fix the mis-generation of code for state-functions 2002-05-13 20:11:33 +00:00
Bill Currie
91779b04f7 new tool: qfprogs. currently only disassembles progs, but the idea is for it
to become a progs oriented nm, objdump etc
2002-05-13 19:37:36 +00:00
Bill Currie
9b516ff84f mild namespace cleanup 2002-05-11 03:37:36 +00:00
Bill Currie
73e6cf062c implement type encoding 2002-05-10 23:19:57 +00:00
Bill Currie
b418701637 missing ; 2002-05-10 02:11:23 +00:00
Bill Currie
2cd716176a more progress 2002-05-10 00:00:23 +00:00
Bill Currie
f2b8dc7e7e more progress 2002-05-09 20:12:28 +00:00
Bill Currie
55e54bd9f9 move the type and def externs to type.h 2002-05-09 17:11:14 +00:00
Bill Currie
f4fee3d7b2 add id as a type 2002-05-09 06:37:40 +00:00
Bill Currie
961d84e569 clean up of qfcc.h and shuffle around the predefined types 2002-05-09 06:34:48 +00:00
Bill Currie
1b875c8b06 work on getting obj expressions going 2002-05-08 23:12:49 +00:00
Bill Currie
7f47447492 getting closer to emiting ObjQC code 2002-05-08 21:24:24 +00:00
Bill Currie
de86019d4b reverse the param order before building the function type and type check
varargs functions with specified params.
2002-05-08 17:33:28 +00:00
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
Bill Currie
ed331517b3 more grammar re-work preparing for arrays and structs 2001-11-14 22:31:57 +00:00
Bill Currie
a2bfff5dc4 simplify the type rule 2001-11-14 07:16:58 +00:00
Bill Currie
3fe67eecd2 expr.c:
it helps if one understands /why/ something is done. I think this
	might be it for the reference count tweeks
switch.c:
	o	better control over whether case ranges are built
	o	/always/ append the temp = test expression and use temp instead of
		test for the != check
	o	only ever build case ranges if the switch expression is integer
2001-11-14 06:45:31 +00:00
Bill Currie
dc80f51d89 fix a missed immediate type missmatch case 2001-11-14 05:08:37 +00:00
Bill Currie
da36feff7f oops, failed to notice that relocs on temp defs weren't being done correctly
memset wasn't such a good idea :P
2001-11-13 23:21:23 +00:00
Bill Currie
cfa47717c6 expr.c:
once again, temp def ref counts seem to be correct
pr_def.c:
	reset recycled temp defs
2001-11-13 23:17:32 +00:00
Bill Currie
ad5deea582 missed this in the cleanup 2001-11-13 23:14:59 +00:00
Bill Currie
3874d78697 slightly better code, but the temp isn't getting ref-counted correctly 2001-11-13 22:11:45 +00:00
Bill Currie
68fb0a1147 clean out a bunch of unneeded code. this should take care of static linking 2001-11-13 20:34:21 +00:00
Bill Currie
645c400802 rearrange default jump for slightly better code generation 2001-11-13 20:27:05 +00:00
Bill Currie
4291f9c711 create new_bind_expr and more tweeks to temp def ref counting 2001-11-13 18:49:27 +00:00
Bill Currie
f2f8e096f3 qfcc.h:
o	add a "freed" marker to def_t to prevent double freeing of
		temp def offsets
emit.c:
	o	break out the bind code into emit_bind_expr (doesn't /really/
		emit code, but still:)
	o	make bind work with disparate types (forces def_t->freed 1)
pr_def.c:
	o	mark array pointers as initialized and constant.
	o	don't free the offset for already freed temp defs
pr_imm.c
	o	fix a bug in uinteger support
	o	support disparate types for immediates
switch:
	o	fix a bug where gt.i was being used instead of gt.ui
	o	remove some debug code
2001-11-13 18:11:19 +00:00
Bill Currie
3d5447c71f seems gcc3 drops the missed enum in switch warning :/ 2001-11-13 16:08:50 +00:00
Bill Currie
07b59d2f07 pr_comp.h:
o	add OP_JUMPB
	o	OP_JUMPB renumberd some opcodes, so up PROG_VERSION
pr_edict.c:
	o	make the version error reporting more informative
pr_exec.c:
	o	implement OP_JUMPB (goto *(ptr + index))
pr_opcode.c: (libs/gamecode/engine)
	o	add OP_JUMPB to the table
expr.h:
	o	ex_uinteger support
	o	some const correctness
	o	prototype new_label_expr
qfcc.h:
	o	uinteger ussport
	o	add pointers for op_jump and op_jumpb
	o	prototype PR_GetArray
emit.c:
	o	general uinteger support
	o	new reference/reloc type 3: absolute statement address
	o	jumpb support (binary goto)
expr.c:
	o	uinteger support
	o	break the label name creation out of new_label_expr into
		new_label_name
	o	some const correctness
pr_def.c:
	o	add PR_GetArray to allocate an array in global space
	o	factor out some code common to PR_GetDef and PR_GetArray that would
		otherwise be duplicated
pr_imm.c:
	o	some const correctness
	o	uinteger support
pr_lex.c:
	o	uinteger support
pr_opcode.c: (tools/qfcc/source)
	o	support jump and jumpb
switch.c:
	o	rewrite the binary search code to support ranges.
2001-11-13 08:58:54 +00:00
Bill Currie
d27cd9cc21 s/type_size/pr_type_size/
remove the redundant type_size from qfcc
2001-11-12 23:56:46 +00:00
Timothy C. McGrath
eb7d41b95c Fix for configure to give it a zlib check, just like qfcc. qfdefs now compiles
again statically.

Tim McGrath
(Misty-chan)
2001-11-12 23:52:14 +00:00
Timothy C. McGrath
0a18c1256a Fix configure for zlib and static compiling. static compiling is still broken
But I'm sure taniwha is going to fix that shortly anyway :)

Tim McGrath
(Misty-chan)
2001-11-12 23:49:08 +00:00
Bill Currie
dcfea9796e strings now work in switch statements 2001-11-12 21:13:55 +00:00
Bill Currie
d168a3daee this should remove the requirement for gmake on bsd systems 2001-11-12 16:23:41 +00:00
Jeff Teunissen
9f1f89f8f1 Forge: New -- a preferences panel. Doesn't do anything yet, but that's
only because I haven't created the main prefs view class yet. Trust me,
it's going to work. I think. :)

Anyway, what code there is works, and is linked into the menu -- just
hit Info -> Preferences... to see it.
2001-11-12 14:15:20 +00:00
Jeff Teunissen
150128f158 Localization for Forge. 2001-11-11 20:56:27 +00:00
Jeff Teunissen
316004e793 Forge updates. Preferences seems to be debugged now. 2001-11-11 20:54:59 +00:00
Bill Currie
928d343295 pr_comp.h:
o	add ev_uniteger to the types enum
	o	add opcodes for ifbe, ifb, ifae, ifa, jump, lt.ui, gt.ui, le.ui, ge.ui
progs.h:
	o	add uinteger accessors
pr_exec.c:
	o	implement ifbe, ifb, ifae, ifa, jump, lt.ui, gt.ui, le.ui, ge.ui
pr_opcode.c:
	o	add opcodes for ifbe, ifb, ifae, ifa, jump, lt.ui, gt.ui, le.ui, ge.ui
expr.h:
	o	prototype inc_users
qfcc.h:
	o	add externs for op_ifbe, op_ifb, op_ifae and op_ifa
emit.c:
	o	don't bother emiting an assignment to a temp def that's only used once
		(ie, it's never read, only written to)
	o	support the new if* instructions
expr.c:
	o	support the new if* insructions
	o	dectect expression loops in append_expr
	o	support unsigned integers
	o	re-work temp def usage counting
pr_def.c
	o	debugging for temp def usage counts
pr_opcode.c:
	o	support the new if* instructions
qc-parse.y:
	o	provide defines for IFBE IFB IFAE IFA
switch.c:
	o	do binary searches for strings, floats and ints if there are more than
		8 cases in a switch. Strings need more testing.
2001-11-09 00:58:16 +00:00