Commit graph

1300 commits

Author SHA1 Message Date
Ragnvald Maartmann-Moe IV
9f3bc7f36f Remove a no-longer needed note. 2001-09-04 11:06:49 +00:00
Ragnvald Maartmann-Moe IV
65c526c057 Some minor cleanups, and lots of particle effects tweaks.
Less blinding rocket trails is probably the most noticable change, other than a nice speedup in nq timedemos. Little change for overkill, though. Aw...
2001-09-04 10:32:51 +00:00
Bill Currie
dc4cd343b5 id's sky code is back (gl_sky_clip 2 when no skybox is loaded). Not as fast
as the black polygons (duh:) and not as nice looking as the sky dome, but also
not as slow (fps when standing in the normal coridor looking at the sky in
start: 26 for skydome, 37 for id skys, 44 for black). Good for when you want
to see sky other than black but your card can't handle the fillrate
requirements of skydome. I'll clean up the sqrt in there soonish.
2001-09-03 06:12:10 +00:00
Adam Olsen
f1a016c8a5 - Refine the Cache_Get callback, to use a void * instead of a char *
- Switch alias models over to Cache_Get/Cache_Release
2001-08-31 12:22:45 +00:00
Adam Olsen
6cab8cf4e0 - change Cache_Get calls to Cache_TryGet (which I just added), so they
can tollerate failure.
- minor error message tweak (an emptry string is not NULL!)
2001-08-31 03:48:26 +00:00
Bill Currie
7aa5ab75de header dep cleanup and IN_LL_Commands is /gone/ 2001-08-30 20:32:27 +00:00
Bill Currie
822e637e11 s/_windowed_mouse/in_grab/ and in_grab and in_dga now use callbacks 2001-08-30 20:04:13 +00:00
Bill Currie
d81d7fd02c glColor cleanup 2001-08-30 18:24:19 +00:00
Adam Olsen
e149094bd2 - rename Qalloc and friends to QA_alloc
- add a QA_strdup
- add Cache_{Add,Remove,Get,Release}, for the locking version of the
  cache
- Convert libs/audio/* over to locking cache functions
2001-08-30 11:37:50 +00:00
Bill Currie
0d55476711 make VectorSubtract and VectorCompare macros and clean up the readability
of R_DrawParticles
2001-08-29 20:19:54 +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
Adam Olsen
f423b8a8e0 Preliminary Qalloc implimentation. Not yet used. 2001-08-29 04:52:03 +00:00
Bill Currie
13ecebd6a0 make Z_Malloc and friends more useful by allowing multiple zones 2001-08-28 05:21:30 +00:00
Bill Currie
2f9fd74a31 zone.c gets its name back 2001-08-28 04:24:40 +00:00
Bill Currie
a9d6bc9a30 total nukage of #ifdef QUAKE2 (R_DarkFieldParticles is present, just unused) 2001-08-27 23:21:09 +00:00
Bill Currie
3edd4550d2 heh, nor do we need PROGHEADER_CRC 2001-08-27 21:13:00 +00:00
Adam Olsen
36786400ad Doh, need this header change to compile. 2001-08-26 10:13:03 +00:00
Ragnvald Maartmann-Moe IV
06dd45bdb1 Merge common lighting code. Still some lightmap-related code in *_rsurf.c that might be mergable. This is the first step towards 3 component lighting for the sw32 renderer.
Note that gl_lightmap_components is now r_lightmap_components, and gl_dlight_lightmaps is now r_dlight_lightmaps.
2001-08-25 23:23:14 +00:00
Ragnvald Maartmann-Moe IV
c6266aba36 sw32. Flee in terror. This'll break compilation for everything until -sdl32 compiles. sw32 wont work for a while either, so don't get overly excited yet. 2001-08-25 02:47:11 +00:00
Adam Olsen
cad42cbc78 Put the sound renderer in it's proper place: as a full-fledged plugin.
Bugs expected.  Please report them :)
2001-08-23 04:01:46 +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
Ragnvald Maartmann-Moe IV
36395e1681 Minor comment updates, Imt->IMT in a few function names, and accel->amp for input amplification (once known as sensitivity). 2001-08-17 07:26:01 +00:00
Zephaniah E. Hull
80696badc7 kgt->imt, and imt now displays the current IMT. 2001-08-17 07:06:01 +00:00
Adam Olsen
62813111a0 yet more IE stuff 2001-08-16 23:34:49 +00:00
Adam Olsen
92729ff6b2 More changes to input events 2001-08-16 22:27:22 +00:00
Adam Olsen
916b503f14 Some basic stuff for input events. Not yet used. 2001-08-16 21:08:17 +00:00
Bill Currie
1c12dd804c ok, old configs /should/ work again, though I'm having problems with F10
not quitting (mind you, I'm not connected)
2001-08-16 20:42:57 +00:00
Bill Currie
b0cb351fba bind and unbind wrappers for in_bind and in_unbind. old configs/mods are
still currently broken because I need to translate key names still.
2001-08-16 19:10:35 +00:00
Zephaniah E. Hull
20adccc9e4 A few things, first is that I removed the (rather broken) serial
networking support.

Second, I moves keys.c from qw and nq to libs/video/targets when I did
the next thing.

Existing user configs which do binds, sledge hammer. Sledge hammer,
existing user configs which do binds. *WHACK* *WHACK* *WHACK*

See, much nicer now.

Someone should document it, and fix all targets which don't use SDL for
input. (I honestly don't expect svgalib and the like to ever be fixed.)
2001-08-16 09:19:36 +00:00
Bill Currie
9ee3450265 extend the hash api to more easily support general cases 2001-08-16 02:51:53 +00:00
Zephaniah E. Hull
8f011f91ec Length is now a #define, not a bloody function! 2001-08-15 23:01:56 +00:00
Jeff Teunissen
61bb65fa3f Committing some old stuff I hadn't before. This one: removing a variable
name from a prototype.
2001-08-15 22:29:09 +00:00
Ragnvald Maartmann-Moe IV
cddaa521cc Change loadas8bit to snd_loadas8bit. 2001-08-15 00:53:37 +00:00
Bill Currie
dd16a1c4d5 call the IE init ans shutdown functions. still need to rework the rest of the
intput system to use it.
2001-08-14 00:03:03 +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
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
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
Ragnvald Maartmann-Moe IV
b868a09661 Kill off gl_view.c and sw_view.c. Renderer merge is more or less complete now. Software and gl renderers now calculate color shifts the same way, and sw looks a bit different now. Powerups don't shift enough in sw right now, IMO. 2001-08-10 00:28:57 +00:00
Bill Currie
ac9dace768 add focus loss/gain events and fix a silly bug in IE_Set_Focus 2001-08-09 23:43:13 +00:00
Bill Currie
bc34529a80 code for the input event system 2001-08-09 23:16:54 +00:00
Bill Currie
c96a092f4e header for an event based input system 2001-08-09 22:35:41 +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
Bill Currie
dcc6a76313 make SURF_LIGHTBOTHSIDES work and fix a bug in Mod_PointInLeaf that was
preventing grenades from lighting up surfaces when using the vis lighting
2001-08-05 05:59:15 +00:00
Bill Currie
8883bbb369 some lighting fixes. not quite there yet 2001-08-05 05:07:49 +00:00
Bill Currie
647d38fa40 Make R_MarkLights use the vis info to speed things up. Oddly, even though
R_MarkLights is now about 3% instead of about 15%, I've lost 8 fps on my
null GL speed test. However, R_AddDynamicLights has jumped up a bit, so I'm
wording if maybe more surfaces are being lit.
2001-08-05 04:01:45 +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
Bill Currie
f9e85cdf8a split up mleaf_t's minmaxs into two arrays 2001-08-03 23:54:09 +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
Ragnvald Maartmann-Moe IV
6e9b51edfc (Optionally) Use glTexSubImage2D for lightmap updates. Doesn't give as large a boost as I'd hoped, but will matter far more as other optimizations happen. New cvars gl_lightmap_align does nothing yet, and gl_lightmap_subimage only works in mode 0 and 1. Mode 2 (should be fastest mode on most cards) will eventully get implemented... 2001-08-02 02:18:04 +00:00
Bill Currie
fe8738b042 make dist works again 2001-08-01 17:49:25 +00:00
Bill Currie
22878209d6 move the forward decl of hashtab_s out of the function prototype 2001-08-01 06:51:06 +00:00
Bill Currie
fb26d8b18a make Info_Set* take flags indicating wether funchars should be stripped or not 2001-07-31 18:27:49 +00:00
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
Adam Olsen
9cc30959e4 Sound now uses runtime plugins. Much thanks to Deek for doing all the
thinking :)
set fs_pluginpath to point to the right dir, and set snd_plugin to pick a sound
plugin.

Current issues:
- alsa 0.5 won't build properly, dunno why
- segfault on exit.  I think I know the cause of this, and how to fix it
- alsa 0.9, gus, sgi, sun, and win32 havn't been tested
2001-05-19 00:05:35 +00:00
Bill Currie
4cd29c2ff8 don't go fullscreen when already fullcreen 2001-05-17 20:57:29 +00:00
Bill Currie
d16dc87dfa fix oss' device openning mode. defaults to write only, but read/write can be
selected by setting snd_oss_rw (need better name?) to non-zero
2001-05-16 18:59:31 +00:00
Bill Currie
72cc67e863 kill r_fullbright and r_draworder
`merge' skin handling
2001-05-16 06:01:34 +00:00
Ragnvald Maartmann-Moe IV
56f76e8192 More cleanups. 2001-05-14 01:22:58 +00:00
Bill Currie
559aa4485b split out the qw client specific skin code from skin.c 2001-05-11 22:47:15 +00:00
Bill Currie
74f734df67 clean up *_skin.c's header dependencies 2001-05-11 21:23:43 +00:00
Bill Currie
105d1ee7d9 well, that didn't last long, did it?
merge r_cvar.h
2001-05-11 19:33:17 +00:00
Ragnvald Maartmann-Moe IV
a5d3e614a0 More Merge Madness. 2001-05-10 17:45:05 +00:00
Ragnvald Maartmann-Moe IV
7aa70de483 *meld* 2001-05-10 17:26:03 +00:00
Bill Currie
2c07108c65 model loading code merge. dragged in smoe merges and cleanups of d_iface.h,
r_local.h, r_shared.h, client.h and render.h at the same time (couldn't get
away from that:/) verly likely to be lots of breakage (eg, player and eye
models are NOT checksummed atm), but everything builds
2001-05-10 06:01:11 +00:00
Ragnvald Maartmann-Moe IV
5cd8ddb1aa *shuffle* 2001-05-10 04:16:39 +00:00
Ragnvald Maartmann-Moe IV
f5f3260dec Taniwha apparently lost interest after doing the hard part, so I'll just merge this... 2001-05-10 03:36:31 +00:00
Ragnvald Maartmann-Moe IV
9529f12f5b Mister Spock was here. 2001-05-10 02:37:55 +00:00
Ragnvald Maartmann-Moe IV
2fe98e9fa4 More merging. Become one with the shoggoth. Poor hungry shoggoth... 2001-05-10 02:29:38 +00:00
Ragnvald Maartmann-Moe IV
37a93b3e91 Merge draw.h. 2001-05-09 22:40:51 +00:00
Bill Currie
a590700249 move gib_*.h to include (internal headers)
move gib.h to include/QF
fix up the refs to gib.h
2001-05-09 20:50:38 +00:00
Bill Currie
83af1368e1 remove pcx.c's dependence on cl_parse.h 2001-05-09 18:48:55 +00:00
Ragnvald Maartmann-Moe IV
febf62ad9d Ack, where did all the chairs go! 2001-05-09 18:45:38 +00:00
Ragnvald Maartmann-Moe IV
910e76a900 More header musical chairs chaos. You there! No eating the chairs! 2001-05-09 18:42:37 +00:00
Ragnvald Maartmann-Moe IV
7fa4b01208 More header merges. 2001-05-09 18:28:08 +00:00
Ragnvald Maartmann-Moe IV
7567098bc0 More header merges. 2001-05-09 17:57:57 +00:00
Ragnvald Maartmann-Moe IV
85de55a05c More header merging. 2001-05-09 17:29:07 +00:00
Ragnvald Maartmann-Moe IV
a454719fc7 Merge adivtab.h while I'm at it. 2001-05-09 17:24:41 +00:00
Ragnvald Maartmann-Moe IV
e0d43f4a7f Merge anorms.h and anorm_dots.h. 2001-05-09 17:22:27 +00:00
Bill Currie
cc68e1a12e qf now links with NO optimisation (not even -O). R_CullBox has been moved from
glquake.h to mathlib.h (along with the declaration for frustum) and the
extern inline keyworws protected by an ifndef so that mathlib.c can cause
R_CullBox to be compiled publicly. The definition of frustrum has been moved
from its verious locations into mathlib.c.
2001-05-07 04:08:34 +00:00
Zephaniah E. Hull
4b3311983b cl_demo.c: Modified timedemo to give a little more precision with FPS.
gl_draw.c: Fixing gl_lightmode 1.
gl_dyn_part.c:
  Fixing gl_lightmode 1.
  Fixed word wrapping on comments.
  Switched to using the new vertex array setup.
gl_rmisc.c: New vertex array setup.
varrays.h: New vertex array setup.
2001-05-02 13:48:04 +00:00
Jeff Teunissen
c364e1c3cf The first version of the QF Plugin API. Version 1.0 supports input and
sound (digital audio, that is, not CD) plugins right now, more to come
later.
2001-04-24 22:19:42 +00:00
Bill Currie
4be4e5ccf6 clear not-yet allocated entities to 0xdeadbeef 2001-04-20 17:51:57 +00:00
Joseph Carter
ad042134b1 Let's get this into CVS, even if it's not used yet. 2001-04-17 23:04:54 +00:00
Bill Currie
527471a7de *-wgl finally links (who knows if it works?:) and some more conceptual
cleanup
2001-04-17 15:55:33 +00:00
Bill Currie
3e484da3b8 -x11 now works (qw, anyway) 2001-04-16 19:25:55 +00:00
Bill Currie
df386f31f9 compile fixes for older systems 2001-04-16 15:57:43 +00:00
Bill Currie
065649e488 rework VID_InitBuffers to use callback to init the draw buffers.
Unfortunatly, this means that VID_InitBuffers needs to be called twice during
startup (once in VID_Init, and once in D_Init).
2001-04-16 09:12:21 +00:00
Bill Currie
6fcf8395ca FBDEV GLX SVGAlib X11 all build, but nq-glx doesn't link yet due to some
changes between nq and qw (gl_mtexable, texture_mode and GL_CheckBrightness)
2001-04-15 21:11:41 +00:00
Bill Currie
36cbe70826 vid libs build but probably don't work yet (I KNOW x11 doesn't) lots of
build failures in the main source still
2001-04-15 08:04:15 +00:00
Bill Currie
a0ab26ff6b merge screen.h 2001-04-15 07:47:49 +00:00
Bill Currie
7e67fd56f3 getting closer to building the vid libs.
in_common.c is the main input interface. in_x11 has been modified suitably
2001-04-15 07:18:04 +00:00
Ragnvald Maartmann-Moe IV
66fafd3e0e First stage of video and input system merge. The city has collapsed, wreckage sifting ensues... 2001-04-15 04:18:22 +00:00
Bill Currie
5859b3dd1f merge glquake.h. Rather messily done, but it works and all clashes were
sorted out on the nq side assuming that qw did it right (which it does:)
2001-04-14 21:22:08 +00:00
Bill Currie
a3215e4dd0 at long last, nq-wgl builds. probably as broken as hell, though 2001-04-11 21:55:27 +00:00
Bill Currie
b025bb32e1 first steps 2001-04-11 19:56:01 +00:00
Bill Currie
ebb7b6310a view.h:
it seems somebody forgot to commit this. just compied direct from qw
libs/video/targets/.gitignore:
	better ignore rules
nq/source/Makefile.am:
	libqfsys.a is dead :)
the rest:
	gamma compile fixes
2001-04-11 16:19:08 +00:00
Ragnvald Maartmann-Moe IV
f789b61c56 Merged joystick code. Great deal of cleanup in input, reduced bizarre overuse of protocol.h...
Maimed joy_win.c, very likely to get odd behavior there, even if it compiles.
2001-04-11 07:57:08 +00:00
Jeff Teunissen
43fd681809 add types to a couple prototypes 2001-04-11 06:05:39 +00:00
Ragnvald Maartmann-Moe IV
34c9239ebf Add winquake.h to EXTRA_DIST. 2001-04-10 22:30:34 +00:00
Bill Currie
8e2d89c4c2 fix up a mis-understanding about api headers
*taniwha larts himself for not explaining things to Despair
2001-04-10 21:45:42 +00:00
Ragnvald Maartmann-Moe IV
e34342eced Calm taniwha's nerves. 2001-04-10 21:01:29 +00:00
Ragnvald Maartmann-Moe IV
cbb4af711c Remove duplicate sound.h, move some things down from include/QF to include.
Prepare for joystick merge...
2001-04-10 20:15:18 +00:00
Bill Currie
dfbfd9463c mingw cross compile fixes. qw-server (only, so far) compiles but does not
yet link due to Sys_Error :/
2001-04-10 20:07:11 +00:00
Adam Olsen
69022c7ffb Move sound targets into a library. Still doesn't pick one at runtime though. 2001-04-10 09:40:09 +00:00
Bill Currie
a96536c896 nuke commdef.h and clean up the results by putting its contents where they
belong.
also, merge model.h and friends (MINUS render.h). this needed moving efrags_t
from render.h to model.h.
2001-04-10 06:55:28 +00:00
Bill Currie
e236ac4bb2 move mplane_t to qtypes.h so non-asm builds will build (so long as you're not
trying to build -svga)
2001-04-10 02:36:44 +00:00
Ragnvald Maartmann-Moe IV
d7eb585502 Merge cd. Doesn't dlopen different cd drivers or anything exciting... Yet. 2001-04-09 21:15:09 +00:00
Zephaniah E. Hull
a16b2c0070 Borrowed LH's VectorVectors.
Changed smoke trails a good bit.
2001-04-06 18:37:23 +00:00
Bill Currie
581d6bc721 ZERO_LENGTH_ARRAY causes problems for external progs, so just go to 1 2001-04-01 02:09:48 +00:00
Bill Currie
e939ccc40a cvars now sport a callback function that gets called whenever the cvar changes
or on initial get.
2001-03-31 01:02:52 +00:00
Bill Currie
99535102d7 bare bones sys stuff moved into libQFutil. unix stuff seems to work just fine,
but win32 is probably borked atm
2001-03-30 23:24:57 +00:00
Bill Currie
b432d0ea17 pull the game specific stuff out of quakefs.c in preparation for merging it 2001-03-30 00:30:38 +00:00
Bill Currie
f24a33ff05 install the headers 2001-03-29 20:42:08 +00:00
Bill Currie
dd3d2a073d make -fbdev build again AND make nq-fbdev a new target.
moved fbset.h from qw/include to include so it can be shared by nq. it's in
include instead of include/QF because I don't see any need to isntall it.
2001-03-29 17:31:15 +00:00
Bill Currie
cb5c262ffc qtypes.h:
remove includes of qdefs.h and compat.h
pr_comp.h:
	merge pr_comp.h from quake and qfcc, removing the copy in qfcc
cmdlib.[ch]:
	nuke the endian code.
qendian.c:
	initialise the LittleLong etc pointers at compile time rather than run
	time
com.c (both nq and qw):
	nuke the LittleLong etc init code
everything else:
	fix up after the qtypes.h cleanup
2001-03-28 17:17:56 +00:00
Bill Currie
5a48f987a5 scripted fixups for the QF include move 2001-03-27 23:36:02 +00:00
Bill Currie
067db089a2 make edict pruning, field parsing and the builtins part of progs_t like they
should have been
2001-03-27 22:39:21 +00:00
Bill Currie
f78b973978 move the api headers into include/QF and clean up (most of) the resulting mess.
target specific files that I don't build won't compile yet. just put QF/
infront of the offending headers.

Also move ver_check into libqfutils
2001-03-27 20:33:07 +00:00
Bill Currie
f6073d756f better progs access error checking and cleanups resulting from it. Fixes
mega2k and nq.
2001-03-27 03:57:17 +00:00
Bill Currie
771648a5b4 forgot to remove the old prstring stuff 2001-03-06 16:10:28 +00:00
Bill Currie
97bf8d2c51 garbage collector implemented but untested. Also unsused because the issue is
WHEN to call it. I don't imagine it will be cheap :/
2001-03-06 05:29:46 +00:00
Bill Currie
4489319298 first step towards garbage collected dynamic strings in qc. All strings
external to the progs file are now malloced and then freed at progs reload.
All that needs to be implementd for gc to work is the scanner and deallocator.
2001-03-06 04:22:33 +00:00
Bill Currie
f40b361fb3 hash.[ch]:
slight api change: the getkey and free functions now take a user data
	parameter (which is an aditional parameter to Hash_New.
cmd.c, cvar.c, quakefs.c:
	clean up the resulting errors.
pr_edict.c:
	use hash tables for lookups of function, global and field definitions.
	should speed things up a bit, ESPECIALLY when type checking is enabled.
2001-03-05 05:11:26 +00:00
Bill Currie
09b58f7e5f merge math code into utils 2001-03-05 02:06:05 +00:00
Bill Currie
cf3629b3b3 merge in my progs work off the `taniwha' branch. This prigs us a few nice
thinks:
  o Full progs modularity
  o CSQC should now be just a matter of creating the builtin functions and
    loading the code.
  o total independence from progs globals, functions and entity field layouts
    on the conditoin that their definitions have not been stripped from the
    progs file.
  o optional (though currently forced on) type checking on access to progs
    entity fields from C
  o the progs engine is fully shared between nq and qw.
2001-03-04 06:30:30 +00:00
Bill Currie
8e52f7dc39 more nq fixes, not there yet 2001-03-03 09:09:39 +00:00
Bill Currie
baa5ce01a1 more independence cleanups and nq is closer to running 2001-03-03 08:59:55 +00:00
Bill Currie
51ca0b6a41 missed this in the previous checkin 2001-03-02 23:41:50 +00:00
Bill Currie
6c9de8061b fix the silly OP_STATE bug. also erradicate pr_offs.c and its contents (the
source of the bug)
2001-03-02 19:18:04 +00:00
Bill Currie
10e6b7af84 edict field access type checking :) Currently forced on, but it will become a
configure option in the future
2001-03-01 21:11:35 +00:00
Bill Currie
ef38fd2e79 progsdef.h is now used only for the PROGHEADER_CRC def. Much of the protocol
still seems to be broken :(
2001-03-01 18:44:19 +00:00
Bill Currie
ad18afaa3c really clean up global and function access. Unfortunatly, frames are still
borked, at least for the view entity.
2001-03-01 08:34:30 +00:00
Joseph Carter
b2a53d4b46 The download bar is now seperate from Con_DrawConsole. This is currently
not really for the best, but it will be soon.
2001-03-01 02:51:51 +00:00
Bill Currie
63b990cd30 qw-server builds, but dies a sad death. I REALLY REALLY NEED to clean up my
progs globals and edict fields accessors, but I'm not so sure that's the cause
of the run-time error:

SV_Error: SV_ModelIndex: model progs/player.mdl not precached
Fatal error: SV_Error: SV_ModelIndex: model progs/player.mdl not precached

I suspect I failed to find the spawn function.
2001-02-28 22:44:38 +00:00
Bill Currie
dfaf767890 libqfgamecode now builds. Now for the fun part: getting qw and nq to work using
the new setup.
2001-02-28 09:12:01 +00:00
Bill Currie
b5d86d522d pr_edict.c is closer to compiling and has been re-indented 2001-02-28 02:25:03 +00:00
Bill Currie
9f2dacd2e1 re-think edict_t. this is going to massivly break things for a while, but
tough, progs should never have known about entity_state_t in the first place.
Nor should it have been mod spefic.
2001-02-28 01:59:31 +00:00
Bill Currie
e5543eb0a6 next step of the progs merge done. just need to sort out interdependencies,
fix PR_SetString, and a few other things.
2001-02-28 00:56:03 +00:00
Bill Currie
a457cfb467 rev the version number to the devel series 2001-02-24 04:40:49 +00:00
Bill Currie
2bfeed6820 looks like utils is more or less complete for now, except for some fixes in
nq for abyss etc (ie, the magical -<mod> args).
The interface to the message subsystem got a revamp and all the mods to the .c
files reflect this. currently a little ugly, but I plan on abstracting msg
further to clean it up and make it more oo.
2001-02-23 23:16:13 +00:00
Bill Currie
981d067000 merge qw's net_com.c and checksum.c (net_com.c was identitcle to nq's
checksum.c) and then move the resutlting checksum.c into libs/utils
ditching nq's. Due to net_com.c, qw's libqfnet.a will need to be deleted or
you will get duplicate symbol link errors. Also merge crc.[ch] and move
qfplits.[ch] to their final homes. Also, remove a slightly overzealous use
of "static" in qfplist.[ch].
2001-02-23 18:31:48 +00:00
Ragnvald Maartmann-Moe IV
00cf07b221 More misspellings messily dispatched. 2001-02-23 05:32:06 +00:00
Bill Currie
9aa50a847c clean up the mess caused by attempting to merge cmd.[ch]. When taken further,
this might give us nice controlability of when cvars can be changed.
2001-02-22 04:46:59 +00:00
Bill Currie
be075686bf move the win32 includes to the top level using qw's stuff 2001-02-22 04:10:24 +00:00
Bill Currie
10b8c5e8ad ok, nq compiles again 2001-02-21 21:44:57 +00:00
Bill Currie
95f6db7775 start merging stuff into libs/util and fix the concequences in nq. nq doesn't
build yet though (keys.c, *screen.c and *view.c) due to console fun.
2001-02-21 19:35:06 +00:00
Bill Currie
e3b7ab218e minor fixups 2001-02-20 03:51:04 +00:00
Bill Currie
e33986e87a add needed things for autoconfiscation 2001-02-20 03:23:35 +00:00