Commit graph

429 commits

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