Commit graph

3339 commits

Author SHA1 Message Date
Bill Currie
7ef4c2776e Immidiate sharing now /works/ (shaved off two pr_globals from CustomTF, too:).
Detect assignments to initialized globals and give an error, unless the --cow
(copy on write) option is given, and then allocate a new global for the var,
clear its initialized flag.
Relocate all globals.
2001-06-08 06:32:15 +00:00
Bill Currie
5ffc8e5349 fix the incorrectly displaying net plug 2001-06-08 04:38:00 +00:00
Bill Currie
b9f35283f4 make dist fixes + a --disable-asmopt fix for mingw 2001-06-08 02:47:30 +00:00
Bill Currie
c24a6f7d6a make make changelog work in an external buildtree 2001-06-08 00:27:41 +00:00
Bill Currie
8656eb998a add ChangeLog 2001-06-08 00:18:53 +00:00
Bill Currie
ef99ad24b0 const merge testing. qfcc is currently borked in that dept. 2001-06-08 00:14:11 +00:00
Bill Currie
62c783f47a eval_t is no more: too many evil casts involved in using it (which can result
it bad code being generated by gcc).
2001-06-08 00:13:06 +00:00
Bill Currie
05cf89dd5d make progs type checking optional at configure time. still defaults to on. 2001-06-08 00:11:54 +00:00
Bill Currie
b2cd7c6c36 refine the test for compiling outb 2001-06-07 23:03:10 +00:00
Bill Currie
3009d0e0c8 fix up some overzelous s/// 2001-06-07 22:15:37 +00:00
Bill Currie
521b86f56a Massive clean up of progs accessors. Just the cleanup of the casts fixed the
CustomTF doors issue.
2001-06-07 21:59:24 +00:00
Bill Currie
2fa5437303 correct a comment 2001-06-07 17:11:34 +00:00
Bill Currie
3b2cf03b99 mingw compile fixes (vid_wgl.c isn't the right thing) 2001-06-07 16:44:22 +00:00
Bill Currie
e9c01870b3 provide outb for when not optimising 2001-06-07 16:12:21 +00:00
Bill Currie
8cbf3b2b62 --disable-sdl 2001-06-07 06:55:03 +00:00
Bill Currie
ab9e025078 don't build cd or sound libs/plugins when not building clients 2001-06-07 03:37:05 +00:00
Bill Currie
6abc7e77ad don't build cd and sound libs when not building clients 2001-06-07 01:28:27 +00:00
Bill Currie
bddf7069a2 might as well return the result of the main in the progs 2001-06-06 21:30:58 +00:00
Bill Currie
e349ed3013 implement file io for qwaq (and cat in qc }:> ) 2001-06-06 20:05:08 +00:00
Bill Currie
2bc94ea66f progs.h:
add no_exec_limit field. Set to 1 to disable the runaway loop check
	for unlimited runs (eg, in qwaq)
pr_exec.c:
	don't bother checking the profile counter if pr->no_exec_limit is set
pr_strings.c:
	free unreferenced dynamic strings rather than referenced.
2001-06-06 18:10:47 +00:00
Bill Currie
22f465dabe use field_offset to hide the nastyness 2001-06-06 16:10:28 +00:00
Joseph Carter
b130da8e12 It's 2001 now ;) 2001-06-06 15:18:52 +00:00
Bill Currie
3d566d47e3 more testing 2001-06-06 00:38:24 +00:00
Bill Currie
37661f3cce allow NUM_FOR_EDICT to work with a null edict no matter what (hopefully not a
bad thing)
2001-06-06 00:38:05 +00:00
Bill Currie
867260d27d report the size of the locals pool 2001-06-06 00:34:35 +00:00
Bill Currie
c3cdfce12b don't bother writing out local defs as they mess up progs dumping now that
they overlap
2001-06-06 00:12:10 +00:00
Bill Currie
ce014fc5c7 use memcpy instead of ugly casts to transfer locals 2001-06-05 23:57:51 +00:00
Bill Currie
1e6d69e2be main.c:
allow dumping to work with entities
main.qc:
	more tests
2001-06-05 23:53:55 +00:00
Bill Currie
d86ed9a3b9 relocate the locals defs as well as their references 2001-06-05 23:52:34 +00:00
Bill Currie
735a35b2f9 compile fixes from Artur Frysiak <wiget@pld.org.pl> 2001-06-05 17:23:03 +00:00
Joseph Carter
4a0d453b48 The gfx.wad error is now idiotproof! 2001-06-05 08:39:27 +00:00
Bill Currie
bbb37d0080 customTF is now down to 4989 pr_globals. all parameters, local veriables and
termporary variables sit in one pool of memory (at the end of the globals)
thus drasticly reducing globals requirements. This works because the whole
lot is declared to be in the function's local variable space which is copied
to the locals stack in the progs engine.
2001-06-05 08:09:12 +00:00
Bill Currie
a26f799de4 allocate temps based on size rather than type (get better re-usage this way)
put temps onto the local scope.
2001-06-05 05:22:11 +00:00
Bill Currie
17e19f3892 regain about 5000 globals for customTF, but this fixes possible breakage with
premature temp var re-usage (ie, it puts the temps back into the locals space).
2001-06-04 22:35:54 +00:00
Bill Currie
55d58f8d46 ignore .vimrc 2001-06-04 18:33:50 +00:00
Bill Currie
42c880ab8a formatting cleanup 2001-06-04 18:33:32 +00:00
Bill Currie
1b930b73d1 execute qfcc on completion for that one stop shopping experience 2001-06-04 18:20:14 +00:00
Bill Currie
e090f3c9e3 do proper temp def handling so we don'e use any where near as many defs for
temporary variables (customTF went from 35941 to 12587 pr_globals).
2001-06-04 17:52:50 +00:00
Bill Currie
8c92504fd1 add a sentinal `type' for type counting purposes 2001-06-04 17:51:39 +00:00
Bill Currie
53e9fb65d1 prepare PR_Statement for proper temporary usage 2001-06-04 05:45:51 +00:00
Bill Currie
e339e82c01 hash.h is now const correct as is a lot of qfcc 2001-06-04 04:52:14 +00:00
Bill Currie
4aa47d728a use the correct STORE_ op for function arges, rather than STORE_V. Should
speed up progs in general.
2001-06-04 03:57:15 +00:00
Bill Currie
275e74161b string comparison operators 2001-06-04 03:36:35 +00:00
Bill Currie
7178824ee6 put ADD_S up where it belongs :) 2001-06-04 02:49:59 +00:00
Bill Currie
ddcd172a03 re-write the opcode selection to be a hash table lookup and statment generation
to get the opcode from the table record rather than the location within the
table (ewww). gives a nice speed boost /and/ makes the opcode table easier to
maintain.
2001-06-04 02:41:45 +00:00
Bill Currie
bd4abbab06 give the opcodes a type 2001-06-03 19:32:50 +00:00
Bill Currie
09118bc01e pr_comp.h:
add OP_ADD_S. WARNING!!! this /will/ move.
progs.h:
	add prototype for PR_PrintStatement
pr_edict.c:
	add OP_ADD_S support in the progs checker
pr_exec.c:
	implement OP_ADD_S
tools/qfcc/include/.gitignore:
	add config.h.in
qfcc.h:
	nuke PR_NameImmediate and change PR_ParseImmediate's prototype (see
	pr_imm.c)
pr_comp.c:
	add ADD_S, adjust for PR_ParseImmediate's prototype, make
	PR_ParseExpression work with non-sequential opcodes (slow, will work on
	that next). Fix up initialised global parsing.
pr_imm.c:
	nuke PR_NameImmediate. didn't work well and wasn't such a good idea anyway.
	PR_ParseImmediate now accepts a def_t * arg. if null, will allocate a
	new global def, otherwise it will initialize the def passed in.
qwaq/main.c:
	sports some debugging code (dumps info about the progs it's running)
qwaq/main.qc:
	better ADD_S testing
2001-06-03 17:36:49 +00:00
Chris Ison
0ca5fc0c67 just some tidy up, thanx Deek 2001-06-03 12:15:06 +00:00
Adam Olsen
f7f6c460ce change void to static void, so it compiles for me 2001-06-03 05:58:01 +00:00
Adam Olsen
d4df66570f Add ED_FreeRefs, which searches for references to an entity. Not used yet. 2001-06-03 05:54:43 +00:00