Commit Graph

102 Commits

Author SHA1 Message Date
Adam Olsen 376f05d357 - add some conversion builtins, now we have ftoi, ftos, itof, itos,
stof, stoi, stov, and vtos.
- fix PF_sprintf
- add FFnameFF support, where it tacks <userid> after the nick on the
  console.
2001-09-26 22:26:31 +00:00
Adam Olsen 07b0d91900 - add a NUM_FOR_BAD_EDICT function, which doesn't care if it's a bad
value
- switch some prints over NUM_FOR_BAD_EDICT
- change NUM_FOR_EDICT to call PR_RunError on error, instead of
  PR_Error.  That was it prints out a backtrace.

(I did it in reverse order ;)
2001-09-23 01:29:52 +00:00
Adam Olsen a159e852e6 - add some comments to libs/console/inputline.c
- rename pr_deadbeef to pr_deadbeef_ents
- add pr_deadbeef_locals, which does uninited locals.  (crashes from
  it are undeniably buggy code, unlike pr_deadeef_ents)
- add a missing break to packetlog printing's switch
- add sv_kickfake, which kicks people for attempting to fake messages,
  or replaces the ^Ms with # if disabled.
2001-09-23 00:36:21 +00:00
Adam Olsen 9448063c67 - use etype_T instead of int (just so it's clearer in debugging) 2001-09-21 19:28:08 +00:00
Bill Currie 49a85718f8 total nukage of Con_*Printf calls from libs (except for video). Sys_*Printf
(Sys_DPrintf is new) is now used exclusively for all lib printing. Con_Init
sets the sys printf recirection to Con_Print (which has been revamped
appropriatly) and the server sets it to SV_Print (which was SV_Printf and
the new SV_Printf calls /it/). This should fix the rcon print redirection
issues.
2001-09-21 04:22:46 +00:00
Adam Olsen f59c2a2a0b - build fix for without curses
- add a "zombie" line to edictcount, which is the number of ents that
  are "free" but not long enough to be reused.
2001-09-20 19:34:02 +00:00
Bill Currie def8bb3cd5 LordHavoc's VectorIsNull changes from 0.3 but as VectorIsZero (no such thing
as a `null' vector) plus a couple of other bits from his patch.
2001-09-11 05:18:15 +00:00
Ragnvald Maartmann-Moe IV 55dfead066 Typos (really ought to remember to test compile *before* committing, rather than immediately after). 2001-09-10 13:05:13 +00:00
Ragnvald Maartmann-Moe IV dc947ce8f5 Whitespace. 2001-09-10 12:56:23 +00:00
Bill Currie 3656d6fd59 compile fixes for win32 and take the pruning shears to *sys*.c in qw and nq
(they're not done yet, though)
2001-08-29 17:45:53 +00:00
Bill Currie abb1469364 fix a minor but important thinko that caused a nasty seg 2001-08-27 05:15:39 +00:00
Adam Olsen 5e4d7e4376 Add a sprintf builtin 2001-08-27 03:17:59 +00:00
Ragnvald Maartmann-Moe IV 707c4aa44b I like it better when quakeforge compiles.
-Werror feels otherwise.
*grmbl*
2001-08-26 13:24:38 +00:00
Adam Olsen 74e9786cd1 Extend PF_Find to support searching for different field types 2001-08-26 06:35:03 +00:00
Ragnvald Maartmann-Moe IV 6e73ba0e7a Whitespace, plus comment out unused code. 2001-08-26 01:08:09 +00:00
Adam Olsen 72f91dc9bc comment cleanups, and a little harmless (?) bugglet fix in the
charcount builtin's error handling code.
2001-08-26 00:05:31 +00:00
Adam Olsen 2bf0fa910f Rework ED_Print to be type-aware, instead of blindly assuming
everything is an integer.
2001-08-22 21:07:06 +00:00
Adam Olsen e9ec5f867f A few tweaks and cleanups 2001-08-22 05:37:50 +00:00
Adam Olsen 17ba7ef92f - move alot of the builtins to libQFgamecode_builtins
- move the init into qw and nq
2001-08-22 03:24:25 +00:00
Adam Olsen 1314c89b6c - add libs/gamecode/builtins subdir, with libQFgamecode_builtins.la
- add .gitignore files
- fix building :)
2001-08-21 22:34:20 +00:00
Adam Olsen 9ea52e8239 Move the gamecode engine into a subdir. 2001-08-21 21:05:26 +00:00
Bill Currie 8059265181 pr_strings.c:
fix some off-by-one bugs
gl_mesh.c:
	make the messing... message developer mode
2001-08-15 06:01:38 +00:00
Bill Currie 07a09e0812 statement printing now infers the type of a def from the instruction where
possible, thus allowing anonymous defs to print their contents.
2001-08-13 23:49:04 +00:00
Bill Currie d55199bece re-arrange the types of store and storep so things make a little more sense 2001-08-13 23:00:17 +00:00
Bill Currie 283b0e1a21 change the types of the statement operands to unsigned short to clean up
most of the uses
2001-08-13 21:09:00 +00:00
Bill Currie 45fd3e084d rhamph's deadbeaf locals patch as-is :) 2001-08-13 20:29:33 +00:00
Bill Currie 31a560cc3f d'oh 2001-08-13 20:23:41 +00:00
Bill Currie da7e8568a4 fix a couple of issues with garbage collection 2001-08-13 20:22:36 +00:00
Bill Currie 2a6830d2d8 revised dynamic string handling. allows for `bounds checking' 2001-08-13 20:01:37 +00:00
Bill Currie bbef4b0b6f ugh, I hate the need for this, but it's needed. sv_old_entity_free is my
compromise :) set it to 1 to allow progs like MegaTF to work (reload crash).
2001-08-12 04:14:25 +00:00
Adam Olsen 6414897dae got a few new operators for qc :)
<< >> % which all act like their C counterparts
+= -= *= /= &= ^= |= <<= >>= %= which just expand into the obvious,
also like the C versions.
2001-08-10 16:17:00 +00:00
Bill Currie 081d8f3c47 ^ and ~ operators for qc (^ from Rhamphoryncus) and clean up the punctuation
line in qc-lex.l (why didn't I think to do that in the first place?!?)
2001-08-09 16:34:46 +00:00
Adam Olsen dc98a63098 Add a getfunction, which gives an error if it's not found 2001-08-04 23:44:50 +00:00
Adam Olsen c218ede288 Add support for checkfunction, which is a builtin that searches for
another builtin by name, and returns it.

Soon I'll change all our new builtins to by allocated dynamically, as
well as changing the number checkfunction uses, and happily break
everything that uses them :D
2001-08-04 09:11:50 +00:00
Adam Olsen ae133d0a90 Modify progs to add builtins at runtime. It should be trivial to
lookup functions by name, and make all our new QC builtins allocate
numbers automatically.
2001-08-03 06:40:28 +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
Bill Currie edcc313501 debug info for local variables is now used. only works when tracing atm:/ 2001-07-19 07:27:14 +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 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 02e021a958 get the progs /loader/ name and prototype sorted out properly 2001-07-18 02:21:57 +00:00
Bill Currie 0576dec1e2 split up PR_LoadProgs a bit 2001-07-16 07:13:10 +00:00
Bill Currie 1c9e1b176f fear the mighty const correct patch 2001-07-15 07:04:17 +00:00
Bill Currie 0cbb0bf396 add pr_source_path to specify where to look for the source files 2001-07-15 02:57:36 +00:00
Bill Currie 2771e6385c oops, used the wrong function to look up .debug_file 2001-07-15 02:05:29 +00:00
Bill Currie 66c8f00dc7 print out source line numbers when available 2001-07-14 23:53:59 +00:00