Commit Graph

427 Commits

Author SHA1 Message Date
Bill Currie 72d6f34dc8 first step to using a saner internal represnetation for the high precietion
models.
2002-01-07 06:32:46 +00:00
Seth Galbraith 42456845f0 high precision software mdl rendering 2002-01-05 03:21:02 +00:00
Seth Galbraith 6ec47e6be6 slaying hardcoded mdl vertex and triangle limit 2002-01-04 07:40:00 +00:00
Ragnvald Maartmann-Moe IV 43ca999fd7 Minor bugfix. 2002-01-04 04:05:46 +00:00
Ragnvald Maartmann-Moe IV b13efc3a83 Particle updates. Some cleanups, small speedups, and reimplement id's effects. r_particle_styles 0 to see id's effects. 2002-01-04 03:32:59 +00:00
Bill Currie 3c6f64b26b _snprintf and _vsnprintf are not guaranteed to write the trailing '\0' 2002-01-03 23:24:47 +00:00
Bill Currie 9312681182 some more const correctness (in gl_sky_clip.c) and make the sky poly debug
drawing avialable via the gl_sky_debug cvar.
2002-01-03 18:18:45 +00:00
Bill Currie 013f503738 start getting const-correct on vec3_t params 2002-01-03 05:29:38 +00:00
Bill Currie 9bc80e4a31 make dist and rpms work again 2002-01-02 16:21:02 +00:00
Seth Galbraith d570f0905f high precision model loading 2001-12-30 02:30:26 +00:00
Ragnvald Maartmann-Moe IV 94b1683862 Rest of previous commit. 2001-12-28 18:19:23 +00:00
Bill Currie ee9ed0c395 minor cleanups 2001-12-21 21:52:03 +00:00
Ragnvald Maartmann-Moe IV 010ca032a5 Allow arbitrary power of 2 sizes for tga texture loads, reduce memory footprint needed to load rgb tgas. Speed load of non-RLE tgas.
Some slight code sanity improvements.
2001-12-21 01:41:19 +00:00
Ragnvald Maartmann-Moe IV c764ddc64a Just a massive speedup to gl particles. Enjoy.
(Thanks to LordHavoc for prodding me to use glDrawElements, and munge all the particle textures into 1. Code mine, suggestions his)
2001-12-19 04:03:57 +00:00
Chris Ison 1c26723864 changed int to an unsigned int 2001-12-17 23:41:58 +00:00
Bill Currie 3dafbebf10 fix up #0 builtin functions at runtime. not done automaticly (need to call
PR_RelocateBuiltins) and fix a bug with profiling and unlimited execution
counts
2001-12-14 08:15:04 +00:00
Bill Currie 9b4e21a914 minor prototype cleanups 2001-12-14 00:06:58 +00:00
Bill Currie 218554d60a move include/QF/string.h to include/qstring.h and include it automaticly if
needed in compat.h
2001-12-13 20:44:32 +00:00
Bill Currie b3843f7f5b draw.h:
remove dead Draw_TransPic prototype
draw.c:
	really don't draw spaces in Draw_AltString
2001-12-13 19:13:22 +00:00
Ragnvald Maartmann-Moe IV 2db08923e8 MSG_(Read|Write)(Coord|Angle|CoordAngle)V. Cleanups, and preparation for use of vector ops in msg.c. 2001-12-12 21:56:09 +00:00
Bill Currie 8ddce20949 pr_*: add storep.p so pointers can be stored into entities
emit.c: convert & (address) to . in unary .
        rewrite emit_assign_expr
expr.c: remove debug code and make unary . less agressive on address calcs
        also convert & (address) to . for lvals
2001-12-12 20:35:58 +00:00
Bill Currie f9149a0d6c finally get around to renaming type_name to pr_type_name 2001-12-12 17:15:09 +00:00
Ragnvald Maartmann-Moe IV f66b7a93e5 Major particle interface cleanup, several bugfixes, and minor performance improvements. Oh, check out "/help easter_eggs" (gl-only, at the moment). 2001-12-11 22:37:30 +00:00
Ragnvald Maartmann-Moe IV d4a8224d9b Change hudswap to use a callback, and instead of passing a swap variable to 10 functions, where only 2 use it, use a global variable. Make a few scr functions static inline, too. Got a totally unexpected ~0.45fps speedup. 2001-12-09 14:05:30 +00:00
Bill Currie d344aea51f store.p so pointers can be moved around 2001-12-08 21:43:44 +00:00
Bill Currie 00b2a45ecd change the operator for "address" from "." to "&" so load.p can be implement.
this makes it so pointers in entities work.
2001-12-08 20:17:20 +00:00
Bill Currie b03a1bee42 ok, structures seem to generate correct code now 2001-12-08 08:19:48 +00:00
Bill Currie 028f8a116d immidiate indexed pointer access and some whitespace + reorg 2001-12-07 20:07:38 +00:00
Bill Currie f6ef79b7e3 cleanup skin's namespace polution 2001-12-04 20:13:12 +00:00
Bill Currie c130d38c6c fix more bugs caused by the Hunk_TempAlloc changes and do some more jump
prediction fixes for msg_t and sizebuf_t
2001-12-03 22:11:21 +00:00
Bill Currie 650d682d2c fix some nasty security holes causes by oversized connection strings. slows
down overkill slightly :/
2001-12-03 21:06:57 +00:00
Ragnvald Maartmann-Moe IV 29a8d84806 cl_maxparticles to r_particles_max. annoying, but makes cl_ tab-completion less so. 2001-12-03 08:55:46 +00:00
Bill Currie 4f2f686834 r_netgraph_alpha works again 2001-11-30 03:51:43 +00:00
Bill Currie 12a0a10d33 more alpha portability fixes 2001-11-29 19:35:25 +00:00
Bill Currie f7c90759af clean out the non-renderer fields from entity_t. not yet a noticable gain
but more work needs to be done on the linking code in the client. However,
there /does/ seem to be a slight gain with possibly less variance.
2001-11-27 21:42:49 +00:00
Bill Currie 4689350283 fix qport 2001-11-27 04:50:41 +00:00
Bill Currie e99b422628 extinguish gl_fires. it's semi-broken, generally nasty (code wise) and
kinda tacky. also results in a slight speed boost:)
2001-11-25 06:24:26 +00:00
Ragnvald Maartmann-Moe IV 087f7d8520 Header fixes for previous updates. 2001-11-24 08:43:20 +00:00
Bill Currie bd0ac4a38a merge Mod_LoadSpriteFrame from gl and sw back into the common sprite loader
pulling the gl specific code (the loading of the texture into GL) into
a separate function (Mod_SpriteLoadTexture), which is just a stub in sw
2001-11-22 05:31:44 +00:00
Bill Currie 8826bdd9dc nuke the d_subdiv16 cvar as its sole user got nuked in the previous commit 2001-11-21 19:24:57 +00:00
Bill Currie 0be2a31f2e lots of code cleanup. Merge Mod_LoadAllSkins, merge the sw32 model loading
code into the sw model loading code, remove all refs to r_pixbytes from the
sw renderer (it was never anything but 1), kill libQFmodels_sw32, remove
all the 16 bit code from the 8 bit sw renderer.
2001-11-21 19:13:53 +00:00
Bill Currie 7d14013041 fix many, many bugs in the alias skin loading, transforming and rendering
code. This fixes blather's `melted models' (sw), the nq alt player model
skins (gl), the arbitrary limits on skins and skin groups in gl, and the
incorrect timing of group skins (animated) in gl.
2001-11-21 08:14:05 +00:00
Bill Currie ec75b71711 don't bother with fullbright skins for models that are allways fullbright and
clean up a misplaced function prototype
2001-11-20 08:45:26 +00:00
Bill Currie 5dab7ccaf7 precalculate smoe model specific info (wether the whole model is fullbright,
if it should have shadows, whether it should be scaled/translated (gl eyes),
and the minimum lighting (player)). give a 1.9% speedup in null renderer.
2001-11-20 08:02:35 +00:00
Bill Currie 4c628d0c04 fbdev stuff is now warnings clean, so all -Werror for it 2001-11-20 03:40:57 +00:00
Bill Currie cc66577f1c fixes for building on alpha (linux) 2001-11-16 01:09:17 +00:00
Bill Currie 267e51eaaf while cute, cl_surprise is just way too expensive when gains are measured in
fractions of a percent, and a loss is 3%.

I hate doing this sort of thing :(
2001-11-15 01:37:57 +00:00
Chris Ison 8d50c8ea47 added cl_surprise cvar for easter eggs 2001-11-14 21:46:50 +00:00
Chris Ison c72e2ef324 re-enable 8bit textures 2001-11-14 21:01:10 +00:00
Bill Currie 07b59d2f07 pr_comp.h:
o	add OP_JUMPB
	o	OP_JUMPB renumberd some opcodes, so up PROG_VERSION
pr_edict.c:
	o	make the version error reporting more informative
pr_exec.c:
	o	implement OP_JUMPB (goto *(ptr + index))
pr_opcode.c: (libs/gamecode/engine)
	o	add OP_JUMPB to the table
expr.h:
	o	ex_uinteger support
	o	some const correctness
	o	prototype new_label_expr
qfcc.h:
	o	uinteger ussport
	o	add pointers for op_jump and op_jumpb
	o	prototype PR_GetArray
emit.c:
	o	general uinteger support
	o	new reference/reloc type 3: absolute statement address
	o	jumpb support (binary goto)
expr.c:
	o	uinteger support
	o	break the label name creation out of new_label_expr into
		new_label_name
	o	some const correctness
pr_def.c:
	o	add PR_GetArray to allocate an array in global space
	o	factor out some code common to PR_GetDef and PR_GetArray that would
		otherwise be duplicated
pr_imm.c:
	o	some const correctness
	o	uinteger support
pr_lex.c:
	o	uinteger support
pr_opcode.c: (tools/qfcc/source)
	o	support jump and jumpb
switch.c:
	o	rewrite the binary search code to support ranges.
2001-11-13 08:58:54 +00:00
Bill Currie d27cd9cc21 s/type_size/pr_type_size/
remove the redundant type_size from qfcc
2001-11-12 23:56:46 +00:00
Bill Currie e4fd746f71 this adds some stats to hash tables and a command to get at them for commands
and aliases
2001-11-10 01:13:29 +00:00
Bill Currie 928d343295 pr_comp.h:
o	add ev_uniteger to the types enum
	o	add opcodes for ifbe, ifb, ifae, ifa, jump, lt.ui, gt.ui, le.ui, ge.ui
progs.h:
	o	add uinteger accessors
pr_exec.c:
	o	implement ifbe, ifb, ifae, ifa, jump, lt.ui, gt.ui, le.ui, ge.ui
pr_opcode.c:
	o	add opcodes for ifbe, ifb, ifae, ifa, jump, lt.ui, gt.ui, le.ui, ge.ui
expr.h:
	o	prototype inc_users
qfcc.h:
	o	add externs for op_ifbe, op_ifb, op_ifae and op_ifa
emit.c:
	o	don't bother emiting an assignment to a temp def that's only used once
		(ie, it's never read, only written to)
	o	support the new if* instructions
expr.c:
	o	support the new if* insructions
	o	dectect expression loops in append_expr
	o	support unsigned integers
	o	re-work temp def usage counting
pr_def.c
	o	debugging for temp def usage counts
pr_opcode.c:
	o	support the new if* instructions
qc-parse.y:
	o	provide defines for IFBE IFB IFAE IFA
switch.c:
	o	do binary searches for strings, floats and ints if there are more than
		8 cases in a switch. Strings need more testing.
2001-11-09 00:58:16 +00:00
Brian Koropoff ccd665e80c This commit removes maplist.c and replaces it with filelist.c, which
contains general functions for creating lists of a type of file and
provides the commands maplist, skinlist, skyboxlist, and demolist.
2001-11-06 07:14:29 +00:00
Bill Currie 15b381909e move maplist from quakefs.c to console/maplist.c. Unfortunatly, until the
client console plugin is usable, this means the clients link maplist.o
directly.
2001-11-05 22:24:16 +00:00
Adam Olsen e0dfa2b453 - convert ALL the remaining svc's on the client. woot, hehe 2001-11-05 20:13:27 +00:00
Bill Currie b286afc7f7 don't install skin_stencil.h 2001-11-05 16:22:03 +00:00
Brian Koropoff 008b59b777 The beginnings of an f_* reply system have been added. f_version works
like normal, f_skins reports the average percent fullbright for all loaded
skins, and f_skins skinname reports the fullbright percent for a signle
skin.  cl_freply controls the time in seconds before another query can be
made.  Set it to 0 to disable them.  More queries will be added later.
The table for accessing special characters from the console has been
tweaked a bit.  Expect it to get tweaked more in the future.
2001-11-05 07:23:51 +00:00
Bill Currie dc779acdb5 build the texture chains such that they get rendered front to back. seems to
only get about 0.17% speedup in overkill (with just about every thing off),
but it might make more of a difference in-game.
2001-11-05 06:20:35 +00:00
Bill Currie dcd9b0040e rewrite the info strings to use hash tables instead of a static string.
This required changes to the api (info_t instead of char *) but should be
a net gain in speed (not a lot, admittedly: it was pretty fast to begin
with, but this paves the way for some other changes I have in mind).
2001-11-04 07:50:39 +00:00
Bill Currie 9209138fac nuke the max message lengths from qdefs.h 2001-11-03 00:27:01 +00:00
Bill Currie 5bf5278c2b pr_comp.h:
- new opcodes for pointers
progs.h:
	- prototype PR_Check_Opcodes
pr_edict.c:
	- move the static bounds checking to PR_Check_Opcodes in pr_opcode.c
pr_exec.c:
	- vector instruction cleanup
	- temporarily nuke bounds checking from storep.*
	- move base of address results from pr->edicts to pr->pr_globals
	- implement new pointer related instructions
	- nuke proposed global pointer instructions (not flexible enough)
pr_opcode.c:
	- add new pointer instuctions
	- re-implement static bounds/invalid opcode checking. no more multiple
	  case statements to keep track of.
2001-11-02 22:41:11 +00:00
Ragnvald Maartmann-Moe IV 7ea1051b9a Code cleanups. 2001-10-30 19:55:34 +00:00
Ragnvald Maartmann-Moe IV 3ad79cc970 Change particle limit from a short to an unsigned int. Possibly a tiny speedup, also allows for absurd particle counts... 2001-10-30 19:42:29 +00:00
Bill Currie 85c9e0ab1e more externs cleaned up 2001-10-29 17:46:03 +00:00
Bill Currie 3ce8029f74 fix a silly goof with the models 2001-10-28 05:43:53 +00:00
Bill Currie ccfe82cda4 *taniwha mops up the last drops of blood from extern 2001-10-28 04:38:24 +00:00
Bill Currie 78a3e398d5 * taniwha gets medieval on extern 2001-10-28 04:23:37 +00:00
Brian Koropoff 05f35f9cd4 This adds the ability to access special characters in console commands by proceeding certain characters with $. See libs/util/cmd.c for the conversion table. Preceeding a character by # will shift it up or down by 128, which basically is useful for accessing the brown letters and numbers. All special characters were removed from Team_ParseSay, and variable substitution now takes the form of ${var} to prevent conflicts with special character substitution. Special character access is controlled by cmd_highchars, which defaults to off. 2001-10-27 04:34:53 +00:00
Bill Currie f8a41cb1bc completely nuke the concept of "priority" from opcodes and use get_op_string
in emit_sub_expr instead of a redundant switch.
2001-10-25 17:48:35 +00:00
Bill Currie 6a5e3edcf7 and extern fixes for the windows side 2001-10-23 17:11:48 +00:00
Bill Currie b5341f0d13 we now compile and link with -fno-common. this cleans up the multiple,
uninitialized declarations of variables.
2001-10-23 16:55:23 +00:00
Bill Currie b6ad2223d2 attempt to handle the byte swapping of screenshots seen on voodoo2s in
windows
2001-10-22 19:46:34 +00:00
Chris Ison e69ade675e some fixes for WINAPI 2001-10-21 21:23:45 +00:00
Bill Currie bc5a7f9799 it seems to help if GLAPIENTRY is actually getting defined to something
usefult. -wgl no longer dies now, though I still get a black screen (palette
init issues:)
2001-10-21 02:41:20 +00:00
Bill Currie 6c0d760102 msg.h:
give mst_t a buffer to hold unterminated message strings
	kill MSG_ReadStaticString and MSG_ReadStringLine
msg.c:
	kill MSG_ReadStaticString and MSG_ReadStringLine
	MSG_ReadString: implement the buffer for unterminated message strings
	and update readcount on badread
cl_main.c:
	go back to MSG_ReadString and fix up the resulting const char * issues
cl_parse.c:
	rewrite the cl_mofake code all because of an uninitialized variable :)
sv_main.c:
	use MSG_ReadString instead of MSG_ReadStringLine because
	Cmd_TokenizeString really doesn't care about a terminating \n
2001-10-18 06:23:26 +00:00
Adam Olsen 18036b63d9 - change MSG_ReadString to return const char * and return a pointer
directly into the packet data.
- change a bunch of char *'s to const char *'s for the above.  Only
  thing that had trouble was the cl_nofake handler, which I changed to
  use a local buffer.
- add MSG_ReadStaticString which acts like the old MSG_ReadString,
  specifically that it uses a static buffer and tollerates
  unterminated strings.
- add a Q_strnlen function, and make strnlen use it if strnlen is
  undefined.
- Add a net_svc.h and net_svc.c which will preparse svc messages into
  structs, for easier handling.  Currently only soundlist and
  modellist are done.
2001-10-18 04:44:58 +00:00
Chris Ison 6b53cbf5dc changes to get mingw builds happening under cygwin 2001-10-17 10:41:25 +00:00
Bill Currie 41a50d8a9b add some missing headers to include_HEADERS 2001-10-15 23:47:31 +00:00
Bill Currie 460a270a54 fix some init order issues brought up by the new gl_funcs.c code. 2001-10-15 19:06:22 +00:00
Bill Currie fd25261ab3 hopefully better win32 dynamicly loaded gl support. if nothing else,
gl_funcs.c is easier to read :)
2001-10-15 18:24:30 +00:00
Bill Currie e97e06fe44 byte to int + xmms playlist support from _Muz_ 2001-10-12 19:26:56 +00:00
Bill Currie 742bb9de91 static plugins now actually work 2001-10-10 16:22:41 +00:00
Bill Currie eee1aaf283 static plugins (--with-static-plugins to force on, --without-static-plugins
to force off, defaults to off for *nix and on for win32). does not work yet
due to lack of support in libs/util/plugin.c, but that's next.
2001-10-10 05:52:14 +00:00
Ragnvald Maartmann-Moe IV c26b10d479 Don't get excited yet, rest of new explosions isn't going in for a while. 2001-10-09 20:41:39 +00:00
Ragnvald Maartmann-Moe IV 9cc671e6d2 Try #2.
Change r_maxparticles from short to unsigned int.
Make MAX_DLIGHTS into a cvar, r_dlight_max that sets the unsigned int r_maxdlights.
2001-10-09 20:35:17 +00:00
Bill Currie 36508058ea QFPLUGIN now does the __declspec stuff and all plugins now use it on their
plgin info function. doesn't actually /work/ yet :(
2001-10-08 05:54:46 +00:00
Bill Currie 3a366f4f7e break out the backtrace code from PR_RunError into PR_DumpState and use
PR_DumpState instead of PR_RunError in seg_fault_handler so we get both a
progs trace /and/ a core file (ulimit allowing)
2001-10-08 03:46:44 +00:00
Ragnvald Maartmann-Moe IV d657a590b5 Clean up extern functions, update noise_diamondsquare to match LordHavoc's fractalnoise. 2001-10-06 00:39:22 +00:00
Adam Olsen 0785610296 - fix a little mistake in SV_PrintToClient that'd cause it to
segfault if your first call was with "".  Probably could cause
  crashes too
- add a string.c file to libQFutil, with a Q_strcasestr function,
  which strcasestr is defined to if it's not already defined.  (we'd
  get that with glibc if we defined __USE_GNU, but we don't)
- make client_t and SV_ExtractFromUserinfo both use NAME_MAX for
  their name arrays, instead of 32 for one and 80 for the other
- rewrite almost all of SV_ExtractFromUserinfo's name handling.
  - \r, \n, and \t are all converted to spaces
  - leading/trailing spaces are stripped
  - consecutive spaces are reduced to a single space
  - empty names are considered bad
  - user-* nicks are considered bad (unless forced to them)
  - a name containing console or admin is considered bad
  - a name that already exists is considered bad
  - if they have a bad name it gets forced to user-%d, where %d is
    their userid
  - netname in the progs is now updated properly
  - name changes are always reported unless it's the initial setting,
    rather than only if they're full connected and not a spectator
  - finally, if the name change fails (info string exceeded), give
    them the boot.  (before this was only done for duplicate names)

That's about it :)
2001-10-04 19:11:39 +00:00
Ragnvald Maartmann-Moe IV b2852ef3cc Clean up TODO a bit, make gitignore actually ignore all generated files... 2001-10-03 21:38:54 +00:00
Bill Currie 1929797cc9 get nq-server so it runs. part of this involved renaming cl_warncmd to
cmd_warncmd
2001-10-03 21:25:43 +00:00
Bill Currie 95d3600452 fix skybox/skydom map vis issues. I hope this works on all drivers. 2001-10-03 02:51:30 +00:00
Bill Currie 40d0490b7c add Hash_GetList to get a list of elements in the hash table (unsorted) 2001-10-02 23:17:25 +00:00
Bill Currie 4699bf6d5b files under inclue/QF are not allowed to include files from include (eg,
including config.h is a nono).
2001-10-02 21:14:11 +00:00
Ragnvald Maartmann-Moe IV 820fcbb8d2 R_Mirror-related cleanups, and some whitespace. 2001-10-02 06:13:22 +00:00
Bill Currie 72c16b861b use HAVE_DDRAW_H and HAVE_DSOUND_H rather than arguing with WildCode over
whether we should include those headers or not ;)
2001-10-01 21:07:00 +00:00
Chris Ison b0dc19310a more compile under cygwin patches 2001-09-30 13:05:20 +00:00
Bill Currie 53529ae940 output window now updates when resizing, but it doesn't /quit/ work properly
(issue with starting line).
2001-09-30 05:59:33 +00:00
Bill Currie 138a4a1c14 rename console_t to old_console_t in preparation for a better version and
temporarily disable the client console plugin as it currently doesn't
compile.
2001-09-29 04:24:04 +00:00