Commit Graph

1126 Commits

Author SHA1 Message Date
Bill Currie 28b1598e7e break the emit_* functions out of expr.c into emit.c 2001-07-26 05:15:34 +00:00
Bill Currie 7718ca4c96 various little cleanups 2001-07-26 05:08:27 +00:00
Bill Currie 95ad5aa329 integer type done 2001-07-26 04:34:10 +00:00
Bill Currie 5ebee4a28b rotated bounding box support. this is so totally untested it's not funny
(though it does compile). Keeps things simple and only checks touched.

.integer rotated_bbox;

ent.rotated_bbox = getboxhull ();// be sure to check for failure (0)
rotate_bbox (ent.rotated_bbox, ent.angles, ent.mins, ent.maxs);
...
freeboxhull (ent.rotated_bbox); // when freeing entity. box hulls are limited

integer () getboxhull = #95
void (integer hull) freeboxhull = #96
void (integer hull, vector angles, vector mins, vector maxs) rotate_bbox = #97
2001-07-26 04:26:54 +00:00
Bill Currie 22219fdeb0 fix a slight oopsie in Rhamph's checkin:) 2001-07-26 00:08:42 +00:00
Adam Olsen 619b12375c Start of support for rotated bboxes. shouldn't do anything yet 2001-07-26 00:01:13 +00:00
Adam Olsen 8fc5e5e372 replace strncmp (name, "maps/", 6) with strncmp (name, "maps/", 5) 2001-07-25 23:59:56 +00:00
Bill Currie 64a2f8d277 rearrange the comments for the builtins table, and put a comment with the
builtin number (and prototype where appropriate) on every element
2001-07-25 23:33:06 +00:00
Zephaniah E. Hull 08bc0e987b New PF_checkmove! A direct interface to SV_Move, but named better.
(This is #98.)
2001-07-25 22:14:42 +00:00
Bill Currie c553917c53 various tests 2001-07-25 21:48:20 +00:00
Bill Currie d44f60f17c drasticly simplify emit_assign_expr now that I have a much better
understanding of when an explicit assigment is needed. seems to work for
everything I throw at it.
Also, fix ! unary ops (caused by the - unary op fix:/)
2001-07-25 21:47:05 +00:00
Bill Currie 0c2cd8633c fix -expr handling. generates sucky code atm, but at least it's generating
code now:P
2001-07-25 18:36:36 +00:00
Bill Currie 638cd005b0 return type testing 2001-07-25 02:28:04 +00:00
Bill Currie 620063628c typecheck values for [frame, think] on thost functions and fix some misplaced
immediate defs
2001-07-24 23:53:35 +00:00
Bill Currie 9ad075b02e make if/while/for use test_expr, make test_expr fix the new exp line/file,
fix some string const issues
2001-07-24 22:30:31 +00:00
Bill Currie 07fbe47294 tests for if (simple expression) 2001-07-24 22:29:16 +00:00
Bill Currie d12a0a930d return of UserInfoCallback is now ignored and SV_Userinfo_f just returns as
PR_setuserinfo now does the extract from userinfo.
2001-07-24 22:11:44 +00:00
Bill Currie 576123060a warn on passing integer constants into ... functions. Again, this will need
an option later
2001-07-24 20:43:18 +00:00
Bill Currie d9cde786b3 use ev_type_count instead of ev_void for bad types so things like void
functions being used in expressions don't cause ICEs
2001-07-24 19:51:44 +00:00
Bill Currie 06b9f44741 prepend a 0ed header to the overflowed packet being dumped 2001-07-24 17:51:07 +00:00
Bill Currie 6d1671950a expr.c:
warn for int const / int const. this will probably want an option for newer
	games
qfcc.c:
	clean up temp files when errors have occured
2001-07-24 04:45:53 +00:00
Bill Currie 75f3f27a22 fix a silly mistake that caused configs not to be written 2001-07-24 03:22:54 +00:00
Bill Currie c7390e4d53 diff_snr-- :) 2001-07-23 18:36:36 +00:00
Jeff Teunissen 1b32a43764 Debian package updates. They won't work completely yet, but I think they
need to be committed.
2001-07-23 07:21:44 +00:00
Bill Currie a47a4d8038 make print_expr's output readable by mere mortals 2001-07-23 06:15:33 +00:00
Bill Currie d2c266775c fix a seg on return type mismatch 2001-07-23 05:46:00 +00:00
Bill Currie 4b744b6be5 fix numberous integer <-> float errors
type check function args in the correct order
2001-07-23 05:31:49 +00:00
Bill Currie b8874cab1c function return checking 2001-07-23 02:27:46 +00:00
Bill Currie 50fadb6866 function arg type checking with int->float /constant/ cooecion. 2001-07-23 01:56:49 +00:00
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