Commit graph

769 commits

Author SHA1 Message Date
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
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
Jeff Teunissen
b60efa59f4 Bunch of changes. Project has been almost completely rewritten, and now
compiles. The rest are just the results of a simple conversion script I
wrote.
2001-06-03 04:52:36 +00:00
Bill Currie
297f7c0567 this shouldn't be here 2001-06-02 05:23:00 +00:00
Bill Currie
25b02984b8 fix nested else statements 2001-06-02 03:37:06 +00:00
Bill Currie
02003cf229 build the progs automaticly 2001-06-01 22:05:36 +00:00
Bill Currie
6c0791e4f4 d'oh 2001-06-01 22:00:35 +00:00
Bill Currie
e3e4915c03 s/qctest/qwaq/ and update .gitignore 2001-06-01 21:59:46 +00:00
Bill Currie
8a23ae0a48 stand alone qc interpreter. So I'm on some serious qwaq :) (actuallly, its
main purpose is language extention testing)
2001-06-01 21:57:59 +00:00
Bill Currie
351e70b3bd replace a missing / when producing files.dat 2001-05-22 18:23:29 +00:00
Jeff Teunissen
ef5fd0ed6d New Preferences class -- it may not seem like it, but this is a Big
Deal. :)
2001-05-08 08:38:34 +00:00
Bill Currie
461ce64685 white space 2001-05-07 21:10:45 +00:00
Bill Currie
1205401b38 Finally, a preqcc with source :) Seems to work ok, but it's far from
complete. It does, however, build customTF without any appearent problems.
2001-05-07 20:53:50 +00:00
Jeff Teunissen
e943e13eb2 Autoconf support for Forge. It's incomplete, but it's mostly working. 2001-05-07 09:44:17 +00:00
Jeff Teunissen
a45dd9b289 Forge: Map and PopScrollView build now. 2001-05-07 09:43:25 +00:00
Bill Currie
fa3851b11f ignore the results of building mingw in here 2001-04-11 03:39:32 +00:00
Bill Currie
659eb45e96 tools to help with cross copiling QF under mingw in linux 2001-04-10 23:31:50 +00:00
Bill Currie
2f2ba28bb7 pr_lex.c:
rewrite PR_LexPunctuation to avoid looping. 6x speedup for that function
	according to gprof on customTF
configure.in:
	--enable-profile
2001-04-03 16:50:31 +00:00
Bill Currie
f896506835 heh, seem to have forgotten this 2001-04-02 21:30:16 +00:00
Bill Currie
b7aba0b643 allow named constants to be checked for immediate constants. qfcc now produces
the same number of globals etc as it used to
2001-04-02 18:43:10 +00:00
Bill Currie
f517dc6ce6 fix a silly bug and an incorrect interpretation of the old code 2001-04-02 18:10:43 +00:00
Bill Currie
02b09f4e5c no more redundant strings. costs ~7ms, though, but HALVING the strofs size
in frikbot seems worth it.
2001-04-01 06:40:51 +00:00
Bill Currie
59e55834ed Another massive speadup caused by using hash tables to lookup already
generated immediate values. frikbot now compiles in just over 1s on my
machine.
2001-04-01 06:01:02 +00:00
Bill Currie
43ea8f4fc0 Rip out I_FloatTime from cmdlib.
Use Sys_DoubleTime instead of I_FloatTime and print out ms for compilation
2001-04-01 03:33:11 +00:00
Bill Currie
ec16ffaa65 move to using hash tables for variable lookups.
WARNING: this fixes a scope bug in qcc and thus you WILL get different (but
now correct) code for the following:

float foo;

void () bar =
{
	local float foo;
	foo = 0;
}

ie, the local foo will, as is correct, now be a separate var to the global
foo.
2001-04-01 02:12:57 +00:00
Bill Currie
f5ae853de8 don't need to worry about zlib any more because that's now taken care of by
libQFutil
2001-03-31 03:54:00 +00:00
Bill Currie
d5345b7db9 add .vimrc 2001-03-31 01:04:38 +00:00
Bill Currie
1d9791553f make qfcc use detect and use the installed libs/headers. currently doesn't work
due to modularity problems in libQFutil
2001-03-29 21:26:56 +00:00
Bill Currie
a23c5e82e0 correct the qf libs path 2001-03-28 23:42:36 +00:00
Bill Currie
8866d86fba rip out the crc code in favour of libqfutil 2001-03-28 23:40:54 +00:00
Bill Currie
cb5c262ffc qtypes.h:
remove includes of qdefs.h and compat.h
pr_comp.h:
	merge pr_comp.h from quake and qfcc, removing the copy in qfcc
cmdlib.[ch]:
	nuke the endian code.
qendian.c:
	initialise the LittleLong etc pointers at compile time rather than run
	time
com.c (both nq and qw):
	nuke the LittleLong etc init code
everything else:
	fix up after the qtypes.h cleanup
2001-03-28 17:17:56 +00:00
Bill Currie
cea45d19d4 bah, another premature commit 2001-03-27 21:47:44 +00:00
Bill Currie
82b533e1ef forgot that .S files don't have dependency info :/ 2001-03-27 21:46:49 +00:00
Bill Currie
c958372f51 enable use of qf libs independent of where they are in relation to the qfcc
source. nothing is actually used yet, but it will be :)
2001-03-27 21:13:18 +00:00
Bill Currie
a3c9af646b back out my premature commit 2001-03-27 20:37:12 +00:00
Bill Currie
f78b973978 move the api headers into include/QF and clean up (most of) the resulting mess.
target specific files that I don't build won't compile yet. just put QF/
infront of the offending headers.

Also move ver_check into libqfutils
2001-03-27 20:33:07 +00:00
Bill Currie
5e993575a4 put a comment in the right place 2001-03-27 00:52:52 +00:00
Bill Currie
c34868c117 attack cmdlib with a chainsaw. All unused functions are gone. 2001-03-26 21:02:18 +00:00
Bill Currie
19b146748a add .vimrc 2001-03-26 16:36:44 +00:00
Bill Currie
135e533e77 raise some limits so customtf will build. this is NOT the right solution :( 2001-03-26 05:33:02 +00:00
Jeff Teunissen
ed2f2ce2ca Forge: InspectorControl and KeypairView compile with no warnings now. 2001-03-16 19:19:24 +00:00
Bill Currie
6247233e0e when checking a token, they type of the token must be taken into account. 2001-03-14 04:14:09 +00:00
Bill Currie
32d14bac22 ignore generated files 2001-03-12 21:16:26 +00:00
Bill Currie
21fa23a747 the crc field in progs.dat is evily generated from the crc of progsdef.h, so
change the header to produce a matching crc. This is an interrim fix until a
better solution can be found.
2001-03-12 20:04:22 +00:00
Jeff Teunissen
ade87c72b3 Woo, one more file builds cleanly...very few actual changes needed. 2001-03-02 09:36:51 +00:00
Jeff Teunissen
14772123d3 Forge.m now builds cleanly. It probably doesn't work, I had to comment out
a lot of PostScript-related code.
2001-03-02 09:13:35 +00:00
Jeff Teunissen
1bd5d98c4d Compile fixes, we're getting a bit closer. 2001-03-02 07:01:51 +00:00
Jeff Teunissen
25f8a50ef4 Okay, that was stupid. ProjectCenter isn't good enough yet, so I'm back to
writing makefiles by hand.

Add a makefile preamble to set up our flags.

Compartmentalize all the headers into a Headers/ dir.
2001-02-27 21:18:27 +00:00
Jeff Teunissen
e21ff3503e Update cmdlib.c to be in sync with qfcc 2001-02-27 20:44:53 +00:00
Jeff Teunissen
01f4df0ad4 Continuing work: Forge.* builds a little further. 2001-02-27 19:48:21 +00:00
Jeff Teunissen
5996198345 NSPoints are not passed by reference. 2001-02-27 19:28:22 +00:00
Jeff Teunissen
acb42de4d5 whitespace. 2001-02-27 19:27:03 +00:00
Jeff Teunissen
2dd03876af QFCC -- the QuakeForge Code Compiler -- an autoconfiscated qcc.
It sucks, but it works, and will form the basis for something that Does
Not Suck.
2001-02-24 06:58:54 +00:00
Ragnvald Maartmann-Moe IV
c6da49206e More typos, spelling corrections, and case fixes fed to the nearest handy fiend. 2001-02-22 00:15:03 +00:00
Bill Currie
8ad4a755a2 more fix up work. Nothing totally right, yet, but getting closer. 2001-02-12 09:20:26 +00:00
Jeff Teunissen
091e4f77b1 Clean up the Forge source tree. Also, I'm starting to use ProjectCenter to
manage the makefile.
2001-02-10 20:07:39 +00:00
Bill Currie
c1e3e1e9e7 Map now compiles (but probably doesn't work: lots of warnings) 2001-02-09 06:50:40 +00:00
Bill Currie
27ed336d44 EntityArray now compiles 2001-02-09 06:08:53 +00:00
Jeff Teunissen
317d3bddb8 New program (incomplete, and horridly broken): Forge.app. It's going to be
a GNUstep port of the original Quake editor for NeXTstep, QuakeEd.app.
2001-02-09 01:52:44 +00:00
Bill Currie
bcd28f5e77 and some more 2001-01-18 00:59:42 +00:00
Bill Currie
4e54c4c5ac a little progress 2001-01-17 22:47:08 +00:00
Bill Currie
e728066e40 forgot this :) 2001-01-11 00:56:48 +00:00
Bill Currie
381eb80872 beginnings of the new pak util 2001-01-11 00:56:31 +00:00
Bill Currie
330a818329 fix usage 2001-01-09 23:51:55 +00:00
Bill Currie
76867b931f add a comment 2001-01-09 22:49:14 +00:00
Bill Currie
ad0eee5dfe bring in the tools from newtree and nuq. the two pythong files are from nuq
and the rest from newtree
2001-01-09 05:58:40 +00:00