Commit graph

969 commits

Author SHA1 Message Date
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