Commit graph

2290 commits

Author SHA1 Message Date
Bill Currie
ecc71c4a60 local var = expr; now works (globals must still be consants) 2001-07-27 20:55:14 +00:00
Bill Currie
0b576e42a1 fix a small bug 2001-07-27 19:48:46 +00:00
Bill Currie
65475fbd6e make a rotated_bbox override the model hulls 2001-07-27 19:48:15 +00:00
Bill Currie
a3368d0f82 move the rotated_bbox hull checks into SV_HullForEntity and move the
check == ent test in SV_TestPlayerPosition to before the abs bbox check.
2001-07-27 16:06:42 +00:00
Bill Currie
27dde8cefe sv_pr_cmds.c:
find the full bounding box for the rotated bounding box and put this
	into hull's clip_mins and clip_maxs. Also, provide:
		vector (integer hull, integer max) getboxbounds = #94
	to retrieve these values (max != 0 for clip_maxs, max == 0 for clip_mins)
world.c:
	SV_TestPlayerPosition now checks for a rotated_bbox hull
2001-07-27 06:39:06 +00:00
Bill Currie
6b43d4543d the C side of the fix for the field gen weird spot for a standing player 2001-07-27 04:50:53 +00:00
Bill Currie
c834185fbb forgot to clear pe->hull if rotated_bbox is non-existant or 0 2001-07-27 02:45:01 +00:00
Bill Currie
6000b06de3 support arbitrary hulls for players, too 2001-07-26 21:37:34 +00:00
Bill Currie
44daa25fe6 force the software clients to use the static renderer so asm is used 2001-07-26 20:55:42 +00:00
Bill Currie
df2f517146 put in a couple of comments 2001-07-26 17:36:57 +00:00
Bill Currie
517be0adbb change rotate_bbox's `prototype'
void (integer hull, vector right, vector forward, vector up,
      vector mins, vector maxs) rotate_bbox = #97
2001-07-26 16:32:01 +00:00
Bill Currie
a44da38e04 rotate the bounding box points, not just the planes
fix a really nasty bug with allocating a hull
2001-07-26 16:24:47 +00:00
Adam Olsen
725653ce2a Delete the check in download file names for a leading slash, since
it's harmless and some maps (such as engwar1) use it.  (the map may
be considered broken because of it, but everything ELSE works fine
with a leading slash, since it's relative anyway)
2001-07-26 15:50:54 +00:00
Bill Currie
88eb9e118a forgot to subtract 1 from the incoming hull `handle' 2001-07-26 15:33:55 +00:00
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