Commit graph

1147 commits

Author SHA1 Message Date
Bill Currie
c248372e20 Initial integer type support. qfcc /is/ partially broken when it comes to
integer constants and float function args/return values.

pr_comp.h:
	o  add the integer opcodes to pr_opcode_e
pr_edict.c:
	o  add "quaternion" and "integer" to type_name[]
	o  support quatnernion and integers types when printing values
	o  support the integer opcodes when bounds checking
pr_exec.c
	o  enable the integer opcodes
pr_opcode:
	o  add the integer opcodes to the opcode table
	o  logical operators all result in an integer rather than a value
expr.h:
	o  rename int_val to integer_val
qfcc.h:
	o  kill another magic number
expr.c:
	o  move the opcode to string conversion out of type_mismatch and into
	   get_op_string
	o  rename int_val to integer_val
	o  general integer type support.
	o  generate an internal comipiler error for null opcodes rather than
	   segging.
pr_imm.c:
	o  rename int_val to integer_val
	o  support integer constants, converting to float when needed.
pr_lex.c:
	o  magic number death and support quaternions and integers in type_size[]
qc-lex.l
	o  rename int_val to integer_val
	o  support quaternion and integer type keywords
qc-parse.y:
	o  rename int_val to integer_val
	o  use binary_expr instead of new_binary_expr for local initialized
	   variables
builtins.c:
	o  rename int_val to integer_val
	o  fix most (all?) of the INT related FIXMEs
defs.qc:
	o  use integer instead of float where it makes sense
main.c:
	o  read_result is now integer rather than float
main.qc:
	o  float -> integer where appropriate
	o  new test for int const to float arg
2001-07-23 01:31:22 +00:00
Bill Currie
22c9716b56 rename int_var to integer_var 2001-07-22 20:20:46 +00:00
Bill Currie
bad184b11b change the results of the test instructions from float to int. 2001-07-22 19:58:17 +00:00
Bill Currie
67d20e0b70 remove all the _IF, _FI, _IV and _VI instructions (none yet enabled) as I don't
want to implement implicit integer <-> float `conversions'
2001-07-22 19:27:17 +00:00
Adam Olsen
2f223924f4 Add a set of "crudefile" file io functions. Reads or writes an
entire C string (including terminating nul).  Read the source for
more details :)
2001-07-22 19:03:26 +00:00
Bill Currie
77694855e7 fix some off-by one errors I induced last night 2001-07-22 18:44:55 +00:00
Bill Currie
d6f82b6370 make Qwrite's buffer pointer const. 2001-07-22 18:38:59 +00:00
Bill Currie
f3ab764666 bump MAX_BACK_BUFFERS up to 8. 2001-07-22 07:03:32 +00:00
Bill Currie
55ac55c7ac rename ev_int and ex_int to ev_integer and ex_integer. create type_integer
and def_integer (do I need that?), clean up and or coment on XXX and FIXME
2001-07-22 06:59:12 +00:00
Bill Currie
735cd909c0 make SV_Prespawn use the backbuffers if needed to help prevent overflows 2001-07-22 06:55:09 +00:00
Bill Currie
e010356e8f break out the two chunks of almost identical backbuffer code into
PushBackbuffer()
2001-07-22 06:27:05 +00:00
Ragnvald Maartmann-Moe IV
111dc205d5 whitespace and comment cleanups. 2001-07-22 05:40:34 +00:00
Adam Olsen
1422163099 Minor typo fix ("(%d0" to "(%d)") 2001-07-22 04:53:19 +00:00
Bill Currie
7e8c75f7c9 forgot to commit this 2001-07-22 03:23:15 +00:00
Bill Currie
56bb92a7f9 make gl_sky_clip 3 do as originally promises 2001-07-22 02:06:02 +00:00
Ragnvald Maartmann-Moe IV
54cda68878 Just a bit of whitespace and comment cleanup. 2001-07-21 23:18:59 +00:00
Ragnvald Maartmann-Moe IV
1461143371 Spiffed up scrag and hellknight missile particle trails. (Partly inspired by darkplaces, though not identical to LordHavoc's) 2001-07-21 20:32:45 +00:00
Bill Currie
1fca85ee0a kill some unneeded tests 2001-07-20 23:18:03 +00:00
Bill Currie
c9626b42f0 Makefile.am:
build the client and server plugins
client.c:
	get to build, though it's very crippled
server.c:
	re-print the message to the buffer after re-sizing the buffer
2001-07-20 18:51:00 +00:00
Adam Olsen
43c8763de0 change host_client to sv_player. I *hope* this is the right thing. 2001-07-20 08:08:46 +00:00
Bill Currie
cf10da8120 fix the double "foo changed name to bar" messages for foo 2001-07-20 05:35:55 +00:00
Bill Currie
abf34ac2d3 send the right one 2001-07-20 05:30:51 +00:00
Bill Currie
a09705953f forgot to send the updates to the clients 2001-07-20 05:29:45 +00:00
Bill Currie
7c16afe7e9 add a --no-cpp command line option so that cpp enabled qfcc can still compile
qfpreqcc progs
2001-07-20 05:22:44 +00:00
Bill Currie
22dbc62c71 damn magic numbers. sdl didn't like the key num shift either 2001-07-20 05:18:46 +00:00
Bill Currie
743fd9cc19 rename SetUserInfo to UserInfoCallback.
set self to the client entity for UserInfoCallback.
add void (entity ent, string key, string value) setinfokey = #102;
	similar usage to infokey.
2001-07-20 05:05:47 +00:00
Bill Currie
d30f1ee0c2 add an /optional/ SetUserInfo qc callback to allout the progs to take over
userinfo setting.

float (string key, string value) SetUserInfo;

key = infostring key
value = new value
returs: 0 for key not changed, non-0 to broadcast the change
2001-07-20 04:30:33 +00:00
Bill Currie
9f09a6aa32 assigning > 255 into an unsigned char isn't too good 2001-07-20 01:45:19 +00:00
Bill Currie
aa7500cac7 add the DOUBLEQUOTE key name as per mechanix' request 2001-07-19 21:54:12 +00:00
Bill Currie
bcbd1b953a heh. close, so close. one mised const 2001-07-19 21:51:18 +00:00
Bill Currie
46176e1094 azerty kb patch from Filip Van Raemdonck <mechanix@digibel.org>. includes some
misc fixes, too
2001-07-19 21:46:34 +00:00
Bill Currie
edcc313501 debug info for local variables is now used. only works when tracing atm:/ 2001-07-19 07:27:14 +00:00
Bill Currie
b23786880a check for hitting the maximum number of masters and print a message if so. 2001-07-19 07:07:32 +00:00
Bill Currie
5e81d80d8c optionally disable the curses server console, bringing back the old behaviour 2001-07-19 05:13:32 +00:00
Adam Olsen
a771b5bd6c Make edicts command support a search string, so it only prints edicts
with matching classnames.  Makes it easy to print out the type you want
for debugging :)
2001-07-19 03:18:11 +00:00
Bill Currie
00d409e80c fix constant folding for | 2001-07-19 03:00:35 +00:00
Bill Currie
09ae07f64e make --enable-cpp work when new-parser is left to default (which is on) 2001-07-19 03:00:08 +00:00
Bill Currie
086084c1fa fix a sign extention error 2001-07-19 00:24:24 +00:00
Bill Currie
40dfde55a1 don't try to use curses before things have been initialized 2001-07-19 00:07:20 +00:00
Bill Currie
2732797574 fix the undefined symbol error 2001-07-18 22:18:36 +00:00
Bill Currie
52b4daafb3 need svgalib for 3dfx 2001-07-18 21:42:53 +00:00
Bill Currie
47a6f2c9b5 pr_debug.c:
capitolise CRC and add a \n to the message
sv_progs.c (both nq and qw):
	don't bother checking the progdefs.h crc: it's just not needed any more
pr_imm.c:
	use r instead of rep when checking the hash tables.
main.c (quaq):
	make developer work and set com_filesize (otherwise, progs crc doesn't
	get set properly (com_filesize, not developer:))
2001-07-18 21:28:41 +00:00
Bill Currie
33e506e943 make PR_RunError back up to the preceding source line if debug is availalbe 2001-07-18 20:52:12 +00:00
Bill Currie
5a86b66054 fix a typo 2001-07-18 20:49:57 +00:00
Bill Currie
5c31fbf366 fix debug crc generation 2001-07-18 20:31:55 +00:00
Bill Currie
3eedd3d8fc more tests 2001-07-18 19:04:47 +00:00
Bill Currie
882de10388 rename Con_CompleteCommandLine to Con_BasicCompleteCommandLine and make it
use inputline_t rather than the key_lines junk.
2001-07-18 18:29:38 +00:00
Bill Currie
f70e2e8296 cleanup 2001-07-18 18:22:13 +00:00
Bill Currie
e5de359877 requiring quake2 fields ain't such a good idea (but why are they in q1 progs?
oh well)
2001-07-18 18:16:11 +00:00
Bill Currie
144eba8b3c it seems that the qcc variants that strip global defs only strip the name, so
don't bother fixing missing defs (but /do/ complain if any are missing). I
suspect full def striping would have seriously broken things.
2001-07-18 18:03:53 +00:00