Commit graph

245 commits

Author SHA1 Message Date
Bill Currie
6cb2cb5bdc start making the rotated bounding box (really dynamic clipping huls) more
generice, and also more in line with the rest of quake's clipping system
(ie, support the entity size selected hulls). I'm not /entirly happy with
what's here, but it's a start, and the force fields in customtf work /much/
better :)
2001-07-30 04:33:59 +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
d6f82b6370 make Qwrite's buffer pointer const. 2001-07-22 18:38:59 +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
7e8c75f7c9 forgot to commit this 2001-07-22 03:23:15 +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
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
e9ed59ec27 add an integer type. not yet properly supported 2001-07-18 15:40:32 +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
159bc6147c create an "input line" object for the console so Con_ProcessInput can be used
in verious contexts
2001-07-17 16:46:51 +00:00
Bill Currie
bab80a0648 move the special keys out of the way of ascii codes (unless they represent
ascii codes (eg, K_ENTER)) and remove the magic number for the number of keys.
2001-07-17 15:51:56 +00:00
Bill Currie
fcaa687d56 plugin.h:
enable the cd_data_t entry so func and data structures are consistent.
cd.h:
	create cd_data_t (empty)
console.h:
	better understanding of how these things work :)
2001-07-16 23:17:52 +00:00
Bill Currie
104701a8c5 the beginnings of the console lib (using plugins for the client/server type
consoles). Currently, doesn't affect anybody other than the need to
re-bootstrap.
2001-07-16 20:41:10 +00:00
Bill Currie
1c9e1b176f fear the mighty const correct patch 2001-07-15 07:04:17 +00:00
Bill Currie
66c8f00dc7 print out source line numbers when available 2001-07-14 23:53:59 +00:00
Bill Currie
f4976e8133 more const correctness 2001-07-14 23:50:18 +00:00
Bill Currie
2818d720c2 move the full info opcocde table from qfcc to gamecode (<KURGON>There can be
only one!</KURGON>:) and use the table in PR_PrintStatement. This means that
qfcc now links against libQFgamecode as well as libQFutil
2001-07-14 02:34:16 +00:00
Bill Currie
eae97539c2 beginnings of debug info for progs 2001-07-13 06:08:50 +00:00
Bill Currie
7ca4383790 move a Key function out of console and into keys.
replace a Con_Print call with Con_Printf ("%s", ...) (I want to make Con_Print
private)
2001-07-11 19:17:58 +00:00
Bill Currie
f9f31ad4b3 ncurses console for the server. input handling is currently a nasty bit of
code duplication, but it seems to work nicely (except for cursor movement
keys) and even gives tab completion to the server :)
2001-07-10 22:36:22 +00:00
Bill Currie
ecff96258f cmd.[ch]:
api change: Cmd_Args () now takes a parameter inidcating which arg to
	start at for grabbing the un-parsed command line
qw/source/sv_ccmds.c:
	implement kk's tell command and user name matching (though # is used for
	the wildcard and it's still case sensitive)
everything else:
	adjust for the new Cmd_Args protype
2001-07-10 18:25:54 +00:00
Bill Currie
9aeef3f3d6 rename qfont_table to sys_char_map and make it global (and constant) 2001-07-10 15:59:25 +00:00
Bill Currie
6cda415f06 slight api change: Hash_Del now returns a pointer to the element deleted, or
null if the element was not found, rather than 0 and -1 respectively.
2001-07-06 17:43:47 +00:00
Bill Currie
fc09d2b00f port Bruce Momjian's patches from newtree with a less incestuous
implementation of his sound/focus patch. NOTE: only alsa 0.9 is tested
(Rhamph, can you test 0.5, please?) and only the alsa drivers stop the
hardware right ow.

WARNING!!! you /will/ have to re-install your plugins, or you will get
segfaults when the window gains/loses focus.

How do you tell if a window has focus on first mapping in X11?
2001-07-05 20:18:23 +00:00
Bill Currie
c38ca8e2f1 qfplist.h:
remove include of glob.h. not needed and causes win32 build to fail
plugin.c:
	include compat.h and cast the return of GetProcAddress
gl_funcs.c:
	fix parse error and type mismatch
qfgl_ext.c:
	half re-write QFGL_ExtensionAddress to use QFGL_ProcAddress
vid_wgl.c:
	fix for the new gl linking
2001-07-05 17:28:19 +00:00
Bill Currie
8f2f99fae6 forgot to add stamp-h.in to .gitignore 2001-07-05 15:18:36 +00:00
Bill Currie
715c74de7a this never should have been in cvs in the first place: it is created by
bootstrap (I suspect autoheader)
2001-07-05 05:02:26 +00:00
Bill Currie
e5e289e994 this brings back knghtbrd's Sys_Printf redirection, but in such a way that
Sys_Printf still has the format attribute. To redirect Sys_Printf, declare the
redrecting function as void (const char *, va_list) and call Sys_SetPrintf
with this function as its parameter.
2001-07-05 04:59:43 +00:00
Bill Currie
e659c2a44f revert kntbrds recent sys changes as they break sw static builds 2001-07-05 00:12:43 +00:00
Joseph Carter
eb71edb5d4 taniwha, please have a look at this to make sure I'm doing it the "right"
way..  Sys_Printf is now Sys_StdPrintf for now.  Sys_Printf is a function
pointer and will end up replacing Con_Printf as well.  Names will change
to something intelligent when I'm done.  Win32 is not yet touched, but I
haven't forgotten it.

The reason for this is the assumption that Con_Printf and Sys_Printf do
not overlap.  The new server console WILL change that, requiring that we
change how we handle both functions.  The plan:  Default to using stubs
and swap them for full-featured functions on Console init which do all
the things we expect.  Will also do a stderr version later.
2001-07-02 18:11:34 +00:00
Joseph Carter
11257134c0 dos is dead, really. This has never worked, and would need a full rewrite
from scratch before it would anyway.  That's not likely, so say goodbye!
2001-06-29 07:56:36 +00:00
Bill Currie
c350bb2b1b a slight oopsie on the location of WriteFloat and friends :P plus nq is now
endian/size clean.
2001-06-29 06:50:29 +00:00
Bill Currie
f61ca0e321 fix the persistent fires. For sanity's sake, the non-renderer specific parts
of gl_dyn_fires.c have been moved to r_main.c (for now).
2001-06-29 02:43:04 +00:00
Bill Currie
443196e66b very nice command line tab completeion from Shawn Walker
<eviltypeguy@qeradiant.com>
2001-06-28 04:05:14 +00:00
Bill Currie
66a524d7bf correct the prototype for QFGL_ProcAddress 2001-06-27 17:55:41 +00:00
Bill Currie
3268fcbe02 add quaternion type (not yet supported in the code). Forgot to commit this
last night.
2001-06-26 14:14:47 +00:00
Zephaniah E. Hull
908d265212 Clean up and repair of the run time linking, does NOT work until deek
commits his gl_funcs.c.
2001-06-26 02:26:46 +00:00
Jeff Teunissen
59ae0114df Whoops! Let's try commiting the headers this time. :) 2001-06-25 06:29:07 +00:00
Jeff Teunissen
3fbfa27fcd Woohoo. The QFGL_* function prefixes are gone again from the tree. It
might even work under Windows now, but don't get your hopes too high. :)
2001-06-25 06:17:07 +00:00
Zephaniah E. Hull
3715430479 This is changing more then I wanted to at once, however.
The major change is that we no longer require libGL to even exist on the
system at compile time for the GL targets, we dynamicly link to the
libGL of choice at run time. (This probably breaks most non-linux
systems, and all GL targets except -glx, some fixup will be needed.)
(This also kills glquake, dead dead DEAD! GONE FOREVER! WHEE!)

Some gl_draw cleanup.

Commented out equake alias model occlusion test stuff, very experimental.

Added the .lo and .la patterns to the .gitignore files.

Some minor sbar cleanup. (We don't use the disc in use symbol for
anything.)
2001-06-24 09:25:55 +00:00
Jeff Teunissen
2eefacd6f9 Rev for 0.5.1, disable -fbdev by default (use --with-fbdev to enable) 2001-06-20 19:52:13 +00:00
Jeff Teunissen
118645fd51 Property list updates. Objects of type QFDictionary are now hash tables
(and thus have a new simpler PL_ObjectForKey() function to get a value for
a key). Also, you can now call PL_FreeItem() on a plitem_t to free a
property list item and all of its descendants (if it has any).

Binary plist values are still not supported.
2001-06-19 02:10:47 +00:00
Bill Currie
3a94567913 Make Hash_FlushTable loop safe and correct the copyright notices 2001-06-19 02:01:18 +00:00
Bill Currie
f4969d5d67 add some docs for the hash table api and move the include of stdlib.h to
hash.c (no longer needed in hash.h).
2001-06-11 19:37:25 +00:00
Bill Currie
75fbb80b96 make the hash table types opaque 2001-06-11 19:17:40 +00:00
Chris Ison
f600e7c9f9 raised console buffer size 2001-06-09 16:34:13 +00:00
Bill Currie
bbc97079e0 pr_comp.h:
define PROG_ID_VERSION as 6 and redefine PROG_VERSION as 0x00fff001
	(0.fff.001) for the new qc features.
pr_edict.c:
	support version 6 and version 0.fff.001 progs
qfcc.h:
	add version field to options_t
	add min_version field to opcode_t
pr_opcode.c:
	set the minumum version of each opcode (gee, that table is getting ugly)
	filter out opcodes with too high a min_version when initializing the opcode
	hash tables.
qfcc.c:
	update help output.
	accept --id to limit code generation to id compatable (ver 6) progs.
	default progs generation to 0.fff.001
2001-06-09 06:25:33 +00:00
Joseph Carter
22e4ce887f Include files for gib have been relocated out of include/ 2001-06-08 18:46:26 +00:00
Bill Currie
b9f35283f4 make dist fixes + a --disable-asmopt fix for mingw 2001-06-08 02:47:30 +00:00
Bill Currie
62c783f47a eval_t is no more: too many evil casts involved in using it (which can result
it bad code being generated by gcc).
2001-06-08 00:13:06 +00:00
Bill Currie
2bc94ea66f progs.h:
add no_exec_limit field. Set to 1 to disable the runaway loop check
	for unlimited runs (eg, in qwaq)
pr_exec.c:
	don't bother checking the profile counter if pr->no_exec_limit is set
pr_strings.c:
	free unreferenced dynamic strings rather than referenced.
2001-06-06 18:10:47 +00:00
Joseph Carter
4a0d453b48 The gfx.wad error is now idiotproof! 2001-06-05 08:39:27 +00:00
Bill Currie
8c92504fd1 add a sentinal `type' for type counting purposes 2001-06-04 17:51:39 +00:00
Bill Currie
e339e82c01 hash.h is now const correct as is a lot of qfcc 2001-06-04 04:52:14 +00:00
Bill Currie
275e74161b string comparison operators 2001-06-04 03:36:35 +00:00
Bill Currie
bd4abbab06 give the opcodes a type 2001-06-03 19:32:50 +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
Ragnvald Maartmann-Moe IV
85333a9f96 Convert cd audio libs to plugins. Windows untested, dos and sgi not converted yet. 2001-06-01 22:55:33 +00:00
Bill Currie
06064ec390 compat.h:
create a field_offset macro that takes a structure type and a field and
	returns the offset of the field within the structure
everything else:
	use field_offset to calculate the size of variable sized structs
2001-05-31 18:11:05 +00:00
Bill Currie
828019505e /me mutters something about old installed headers and search paths 2001-05-31 05:40:25 +00:00
Bill Currie
323015b11a include/QF header cleanup. including config.h (or any file from include) is
a nono because headers in include/QF get installed, but include don't and thus
would break quakeforge-dev.
2001-05-31 05:33:13 +00:00
Bill Currie
6bf58ab1af no header includes cvar.h now 2001-05-31 03:41:35 +00:00
Bill Currie
940598f240 merge pcx.c, tga.c and wad.c. util seemed the most logical place, but LoadPCX
had to be modified to get away from vid.h (better designe now IMO anyway)
2001-05-30 20:56:53 +00:00
Joseph Carter
05adfd0e53 quakefs.h -> vfs.h
quakeio.h -> vfile.h

More diff reduction between trunk and my VFS code.  Also took the time to
put some headers in order and fix a few #include's pointed out by moving
things around a bit.
2001-05-30 04:34:06 +00:00
Joseph Carter
186d577818 s/QFile/VFile/g - makes my diffs much smaller and more manageable for the
VFS work.
2001-05-30 03:21:19 +00:00
Bill Currie
f988572c4d lighthalf and gl_lightmode, meet Mr. Chainsaw, he will be your playmate today. 2001-05-29 21:59:02 +00:00
Bill Currie
78702c07e4 make gl_dyn_part.c and sw_rpart.c independent of client.h and host.h 2001-05-29 19:43:15 +00:00
Bill Currie
f0cfc46cb7 model.h:
add a crc field to aliashdr_t
model_alias.c:
	set it for all models
cl_parse.c:
	set the pmodel and emodel info keys to the crcs of the player and eye
	models
2001-05-29 17:37:48 +00:00
Zephaniah E. Hull
2ab7077e0e Minor clipping. 2001-05-27 18:35:08 +00:00
Bill Currie
04d4df1e19 fix nq's skin code so it doesn't upload skins every frame 2001-05-27 04:23:39 +00:00
Chris Ison
14fc2d0b6c added GPL comments and fixed missing include in gib_modules.c 2001-05-25 20:31:47 +00:00
Joseph Carter
c5735d2f19 A little sanity in gib's header deps. Not much granted, but it's there. 2001-05-25 16:09:14 +00:00
Joseph Carter
9788b579c5 Modify the hack used by qpic_t slightly. This is not over, but this will
do for now.  A full texture_t should eventually replace qpic_t/glpic_t..
2001-05-25 10:40:30 +00:00
Bill Currie
a87c4bbd93 vid.c:
Don't bother checking vid_gamma for CVAR_ROM becuase it is impossible to
	get to VID_UpdateGamma when it is set except for when the cvar is
	initially created, and we /want/ the code to execute in that case.
vid.h:
	add initialized to viddef_t
vid_common_gl.c:
	actually /use/ gammatable (it tends to help)
vid_*.c:
	clean up rendundant decls of gammatable, vid_initialized (now
	vid.initialized) and make sure vid.initialized gets set.
gl_view.c:
	remove gammatable decls
2001-05-25 04:03:47 +00:00
Bill Currie
f83b9be0ba remove redundant vid_gamma_avail decls 2001-05-24 23:49:28 +00:00
Bill Currie
f21ad90ba4 total nukage of brighten, brightness and contrast. 2001-05-24 16:30:25 +00:00
Bill Currie
1a25bc9349 gl_screen.c and screen.c are now client clean (and merged :) 2001-05-23 06:33:23 +00:00
Bill Currie
ec7335029d gl_draw.c is now client clean. 2001-05-23 04:05:10 +00:00
Bill Currie
c500fd7479 make dist fixups 2001-05-22 17:09:03 +00:00
Zephaniah E. Hull
f25cea4112 Actually compile, oops. 2001-05-22 12:03:44 +00:00
Zephaniah E. Hull
5245f56012 Validate userinfo strings on connect. (Part of a nasty DOS fix.) 2001-05-22 12:00:45 +00:00
Bill Currie
4a80639556 sw and gl rmisc are now client clean. the graphing functions ahve been pulled
out into r_graph.c (Time and Z graph), cl_ngraph.c (Net graph), and
{gl,sw}_graph.c (R_LineGraph). gl_ngraph.c is gone. Unfortunatly, something
is rather wrong with NetGraph in gl (probably R_LineGraph).
2001-05-22 06:00:38 +00:00
Bill Currie
0a4b53c817 gl_rsurf is now client clean 2001-05-21 23:09:46 +00:00
Bill Currie
da8715f27d sw_ralias.c and gl_rmain.c are now client clean. this involved a bit of a
revamp of skins. keep an eye out for broken skins (especially in nq)
2001-05-21 22:25:35 +00:00
Bill Currie
a79ab3faf8 abandon the oss write only attempts. 2001-05-21 17:40:12 +00:00
Ragnvald Maartmann-Moe IV
92fe3791e2 Remove dead cvars. 2001-05-21 16:23:46 +00:00
Ragnvald Maartmann-Moe IV
bee8473715 Added merge notes. 2001-05-21 16:22:31 +00:00
Ragnvald Maartmann-Moe IV
a9c9a46c37 client.h gone from gl_rlight.c and sw_rlight.c.
cl_lightstyle -> r_lightstyle
2001-05-21 03:08:07 +00:00
Bill Currie
ece576ed4b reduce gl_rmain's dependency on cl*.h 2001-05-21 00:22:35 +00:00
Bill Currie
337430a113 sw_rmain.c is now client and chase clean. 2001-05-20 20:38:51 +00:00
Bill Currie
44943e78de better fix for the dlights problem (will prevent similar problems in the
future)
2001-05-20 06:23:46 +00:00
Bill Currie
d360b01827 move dlight stuff out of cl_* into r_main.c. nq dlights seem to be broken,
but that seems to have been from before this work
2001-05-20 05:42:52 +00:00
Bill Currie
daca64ed04 more cl*.h dependency cleanups realtime and cl.time are no longer reffed 2001-05-20 03:54:55 +00:00
Bill Currie
d1c2b0ec52 r_efrag.c no longer relies on cl*.h 2001-05-20 02:39:56 +00:00
Bill Currie
e0512e4af3 r_efrag.c is almost client.h free 2001-05-20 01:58:59 +00:00
Jeff Teunissen
2fa09aa68a Restore hardware gamma on exit. 2001-05-20 00:56:09 +00:00
Jeff Teunissen
5a7b7571f3 Misc. API header cleanups. 2001-05-19 23:24:20 +00:00
Bill Currie
ec5daaa764 finally merge render.h. nq will NOT currently compile. I'll fix that when I
get back onto my computer at home
2001-05-19 00:23:21 +00:00