Commit graph

940 commits

Author SHA1 Message Date
Bill Currie
2d2173dc4e make R_RecursiveWorldNode non-recursive (needs a new name, now :). 0.4%
speedup in null-renderer gl: unknown for sw and sw32 (could be slightly
slower, left recursive version in but #if 0ed out jic)
2004-02-15 03:46:55 +00:00
Chris Ison
6642686e33 removal of legacy MGL block_drawing variable. Fixed window restore bug that prevented the screen from being updated. 2004-02-15 03:40:50 +00:00
Ragnvald Maartmann-Moe IV
fef9b30bd7 QF, now complete with underbrights, thanks to Grievre.
Play with gl_overbright and gl_doublebright. That's an order.
2004-02-15 00:02:04 +00:00
Ragnvald Maartmann-Moe IV
0dae958a5a Grievre's fix for texture state leak. 2004-02-14 19:17:51 +00:00
Timothy C. McGrath
b5b61d056f Grievre passed a one line patch to me which according to his description:
"Fixes a bug in dynamic lights (lightstyles weren't being rendered correctly
due to bad assumptions about dlightbits)"

It compiles fine, and seems to work, so, here it is.

Hikaru
2004-02-14 08:36:08 +00:00
Bill Currie
64c156653f should fix the seg on ^C early in the startup 2004-02-14 07:53:49 +00:00
Bill Currie
d35f027757 undo my incorrect commit 2004-02-14 07:39:43 +00:00
Bill Currie
0e8ba7cc12 oops, committed the wrong file 2004-02-14 07:38:01 +00:00
Bill Currie
2cdf12cd50 if a leaf isn't in the frustum, don't bother lighting it 2004-02-14 07:32:26 +00:00
Bill Currie
85a268c62f Grievre's lightmap/fullbright multitexture patch (fbs not tested due to
lack of drivers supporting 3 tmus)
2004-02-14 05:10:29 +00:00
Bill Currie
a97b722d7b get the placement of the nice crosshairs right. make cs_data a square to
avoid weird mapping effects
2004-02-14 00:18:22 +00:00
Bill Currie
f34335a0c9 provide a builtin to draw a crosshair. 2004-02-13 23:16:33 +00:00
Bill Currie
4cabb40303 break the crosshair draw code into separate functions and give sw and sw32
crosshair 3
2004-02-13 22:16:53 +00:00
Ragnvald Maartmann-Moe IV
88c5d21ece Whitespace, slight code reorder in gl_rmain.c 2004-02-09 04:13:44 +00:00
Ragnvald Maartmann-Moe IV
372b763704 Inconsequential changes. 2004-02-09 04:11:13 +00:00
Ragnvald Maartmann-Moe IV
654cc35482 Mysteriously uncommitted. Fixed. 2004-02-09 04:02:08 +00:00
Ragnvald Maartmann-Moe IV
c4402e07bd Working towards merging q2 model, sprite, and map support. Check back in a few
years, might be finished. ;)
2004-02-08 02:49:38 +00:00
Bill Currie
8ea7690530 serious cleanup of refdef calculations. 2004-02-08 00:37:11 +00:00
Bill Currie
a45981bc6a don't look up the gl functions until after the context has been setup, just
incase it affects which functions glGetProcAddress actually returns.
2004-02-06 00:58:35 +00:00
Bill Currie
9784ba5954 Grievre's gamedir callback patch to fix mangled sounds on gamedir change
plus a couple minor tweaks I notcied needed doing.
2004-02-03 03:01:06 +00:00
Ragnvald Maartmann-Moe IV
0e6681a069 Add QFGL_WANT, and ability to handle non-required extensions. 2004-01-28 02:49:57 +00:00
Ragnvald Maartmann-Moe IV
31aca31d17 Warn users if their system doesn't support GL_ATI_pn_triangles. 2004-01-26 03:58:19 +00:00
Ragnvald Maartmann-Moe IV
767b0c61db Fix help for gl_tessellate cvar. 2004-01-26 00:40:31 +00:00
Ragnvald Maartmann-Moe IV
e1146a541c TruForm support. Controlled by gl_tessellate 2004-01-26 00:13:47 +00:00
Bill Currie
283d49bd8e first chunk of Mike Gorchak's <mike@malva.ua> QNX patches 2004-01-20 05:57:39 +00:00
Bill Currie
e154c9add5 be consistent with WIN32 and _WIN32 (now all _WIN32) 2004-01-20 03:47:27 +00:00
Bill Currie
77b2942982 several libs can now get built as dlls in windows: console, gamecode,
gamecode_builtins, gib, image, modules, object, ruamoko and util.
2004-01-19 07:47:41 +00:00
Bill Currie
e0567f75cc it seems ATI's libGL needs to be loaded with global symbols in order to
work properly.
2004-01-09 23:37:04 +00:00
Bill Currie
acd54afff7 move to using a hash table for builtin number -> builtin lookup so sparse
ranges can be used efficiently. move the auto-allocated builtins to
0x10000000-0x7fffffff. should be more than enough :)

use static builtin tables ("nul" terminated) instead of a series of
function calls to add builtins to a vm. should be more memory efficient.
2004-01-06 05:51:09 +00:00
Ragnvald Maartmann-Moe IV
a87fc16d12 Whitespace. 2004-01-06 03:38:48 +00:00
Ragnvald Maartmann-Moe IV
067080296c Futureproofing. 2004-01-06 03:38:16 +00:00
Bill Currie
40b8974c33 better external skin handling from Grievre 2003-12-28 05:25:06 +00:00
Ragnvald Maartmann-Moe IV
9dbb8335f6 Fix loading of some sky textures. 2003-12-23 22:24:48 +00:00
Bill Currie
e53967b346 --disable-static now works (thanks for the heads-up, raorn) 2003-12-22 20:51:08 +00:00
Bill Currie
069ee8657f fix a typo that prevented the asm lib getting the correct flags 2003-12-22 19:59:33 +00:00
Ragnvald Maartmann-Moe IV
bcf3738c1c Make trails in sw renderers const-friendly. 2003-10-23 03:53:59 +00:00
Ragnvald Maartmann-Moe IV
1269241612 Make particle effects not mess with stuff they shouldn't. Also fix an
improperly declared variable.
2003-10-22 22:21:39 +00:00
Ragnvald Maartmann-Moe IV
2290ed3d3e l = 64, and taniwha is much happier. 2003-10-22 20:20:24 +00:00
Ragnvald Maartmann-Moe IV
5686ff51e5 Make R_DarkFieldParticles & R_EntityParticles work in all renderers. 2003-10-22 06:00:36 +00:00
Ragnvald Maartmann-Moe IV
0205a8a999 Optimize and slightly clean up R_DarkFieldParticles & R_EntityParticles. 2003-10-22 01:04:35 +00:00
Ragnvald Maartmann-Moe IV
dc84232079 Whitespace, remove misleading .png extension from external conchars loader. 2003-09-20 04:29:42 +00:00
Bill Currie
d699926e6f external conchars patch from DrSpliff 2003-09-19 06:22:02 +00:00
Bill Currie
89586e0181 don't flush garbage to the screen on the first render frame 2003-09-05 06:55:12 +00:00
Bill Currie
3a8cfb050e fix alpha blending in 2d mode when 3d has never been rendered 2003-09-05 06:48:03 +00:00
Bill Currie
6b036d14ed in_mouse_accel patch from qize@gmx.net 2003-09-04 22:29:40 +00:00
Bill Currie
2b5a3753ca nuke QF/texture.h moving it's contents into QF/image.h (yay, finally, a
real home for tex_t:)
2003-09-04 18:59:39 +00:00
Bill Currie
39ed540979 LoadImage is now used for all external textures giving almost transparent
.png and .tga support.
2003-09-04 18:46:59 +00:00
Bill Currie
8db2660a4c make GL_LoadTexture support RGB textures (ie, 24 bit). I'm not happy with
the solution, but at least it works.
2003-09-04 05:22:23 +00:00
Bill Currie
0a8867fde9 replace all VectorSubtract (vec3_origin, ... and
VectorCopy (vec3_origin, ... with VectorNegate (... and VectorZero (...,
respectively. Should be a small speedup.
2003-09-03 22:17:04 +00:00
Bill Currie
f7b1196b8d fix the gl stack overflow (and make sure all skybrush surfaces get checked
and queued)
2003-08-28 19:50:28 +00:00
Bill Currie
2c30939891 remove some magic numbers (sloppy coder:P) 2003-08-28 02:24:08 +00:00
Bill Currie
93327cb618 try to fix segfault caused by VID_Shutdown getting called before VID_Init
(error conditions).
2003-08-27 22:50:39 +00:00
Ragnvald Maartmann-Moe IV
c2053fbfb1 Prettier particles! Renderer is now informed of sv_gravity changes in qw. Not
supportable without protocol changes in nq.
2003-08-27 22:20:03 +00:00
Bill Currie
415fae8d6b make the two normals arrays consistent 2003-08-26 07:00:13 +00:00
Ragnvald Maartmann-Moe IV
d8068de4fa Commit experimental particle optimization. Reduces random particles from using
6 15 bit rand() to 2 calls, with 5 bits for each of the 6.
This is up to a 1% speedup for qf particles, and up to 2.1% for id.

It may particularly affect explosions with r_particles_style 0.
Please report any anomolies in any particle effects.
2003-08-15 20:26:09 +00:00
Bill Currie
33a57c5a14 win32 compile fixes 2003-08-13 18:17:30 +00:00
Ragnvald Maartmann-Moe IV
9ed8150b85 More particle optimizations. 2003-08-11 20:48:34 +00:00
Bill Currie
7ead5a91f8 don't let gcc automaticly inline functions but make gcc inline bigger
functions when told to. also make gcc warn if it can't inline a function.

Explicitly inline several functions (including moving VectorNormalize to
mathlib.h so it /can/ be) resulting in a 5.5% speedup for spam2 (88 to 92
fps)
2003-08-11 06:05:07 +00:00
Bill Currie
b88d275994 fix some warnings 2003-08-11 05:16:04 +00:00
Ragnvald Maartmann-Moe IV
f35b1db291 Fix a potential uninitialized variable segfault taniwha noticed, and optimize
particle effects a bit more.
2003-08-09 04:38:11 +00:00
Bill Currie
6a94607d9d rename VectorMA to VectorMultAdd, add VectorMultSub and use it in a few
places. Not certain how much speed difference it makes :/
2003-08-08 15:25:53 +00:00
Bill Currie
184aa7beb0 should be a minor speedup to mono lightmaps 2003-08-07 21:05:58 +00:00
Bill Currie
732a9a80d1 gain about 3 fps (180 to 183) in null-renderer 2003-08-07 19:58:39 +00:00
Bill Currie
6f88e4e343 break out some duplicated code into a function and get the window coords
"properly" (for this mess I'm not sure I'm willing to call code:)
2003-08-04 01:28:30 +00:00
Bill Currie
556a6eae8f fix a misplaced _ 2003-07-27 20:47:36 +00:00
Ragnvald Maartmann-Moe IV
351033e8d8 Move vid_conwidth to con_width, and vid_conheight to con_height. 2003-07-27 20:20:20 +00:00
Bill Currie
6063fb75d9 make the console run at full speed no matter what demo_speed is at. what a
lot of work for such a simple concept :P
2003-07-25 22:21:47 +00:00
Bill Currie
772ad66019 don't need that any more (yay:) 2003-07-15 17:41:31 +00:00
Bill Currie
855fc53709 handle alloca properly 2003-07-09 06:28:09 +00:00
Bill Currie
dddf045221 put "FIXME: overflow" on all the char arrays I could find that weren't
obviously safe
2003-07-08 20:11:10 +00:00
Chris Ison
64f74731c5 added vid_fullscreen cvar as a CVAR_ROM. This will change once the renderer is setup to reload textures.
removed -window, -mode, and internal mode table and functions that strictly delt with them.

Rewrote the mode selection part of VID_Init
Altered VID_SetMode and associated functions to use data obtained from VID_Init instead of mode tables.

Also tidied up a little.
2003-06-21 00:17:32 +00:00
Chris Ison
bff8a24d12 added -conheight checking 2003-06-21 00:07:59 +00:00
Bill Currie
862e9d89c5 mindhog's fix for 32bpp x11 2003-06-17 03:11:24 +00:00
Chris Ison
d720efe1e6 fixed misplacement of menu 2003-06-16 12:31:52 +00:00
Bill Currie
66e2ef1926 fix an uninitialized variable 2003-05-23 17:39:33 +00:00
Bill Currie
c2c3a62956 nuke Qexpand_squiggle. instead, expand ~ to $HOME on qfs initialization and
cache the value.

don't call Qopen directly in the engine. instead call QFS_Open (generic) or
QFS_WOpen (write only, zip flag).

rework QFS_NextFilename to use a dstring (avoiding a potential buffer
overflow), support 10000 files and work from the top-level fs_userpath
directory. adjust QFS_WriteFile and QFS_WriteBuffers etc to suit.

make sw32 screenshots actually get written.

hopefully everything gets written to the right places :)
2003-05-23 17:17:01 +00:00
Bill Currie
6a8469df14 start working on VA support for borked GL libs 2003-05-21 21:53:21 +00:00
Bill Currie
ba3601685c wad pics don't have extensions (plugs a buffer underflow hole) 2003-05-16 19:44:25 +00:00
Bill Currie
460c8f7f0f mindHog's qfpython patch. GIB info string event callbacks and a compile fix
for broken x11 headers.
2003-05-16 16:17:24 +00:00
Brian Koropoff
dd0332632e Make gcc2 stfu. 2003-05-15 04:37:00 +00:00
Brian Koropoff
e2061095a6 Fixed .tga loading for GL targets. SW targets still need work in all
likelyhood.
2003-05-14 21:08:43 +00:00
Ragnvald Maartmann-Moe IV
6763d73f99 Make glError testing static, for now, to shut up compiler warnings. 2003-05-09 05:22:30 +00:00
Ragnvald Maartmann-Moe IV
f6b556a3a1 *beats CVS with the cluebat* 2003-05-09 01:41:56 +00:00
Ragnvald Maartmann-Moe IV
d68b4b6121 \n is nice occasionally. 2003-05-08 22:32:02 +00:00
Ragnvald Maartmann-Moe IV
28dd1612c3 Clean up glError handling. 2003-05-08 22:16:30 +00:00
Bill Currie
0a5f3c31eb ping/pl/fps/time now stays put and is now in the client rather than the
renderer (so nq is currently missing it)
2003-05-08 05:49:57 +00:00
Bill Currie
dc9d2c89da fix various sizing issues 2003-05-07 07:10:15 +00:00
Bill Currie
a4abf526e8 there's no need to call Con_CheckResize every frame and it's now
detrimental anyway
2003-05-06 18:00:03 +00:00
Bill Currie
e732cf591d remove all references to OFS_* from the C code. only the macros in progs.h
use them now
2003-04-22 18:20:15 +00:00
Bill Currie
f842d98964 initialize noise1 2003-04-22 01:37:13 +00:00
Bill Currie
905f1826eb temporarily remove location support from nq (and location markers from both)
until client code has been cleaned up more
2003-04-21 18:26:21 +00:00
Bill Currie
9a40bf2956 get the fix right 2003-04-17 00:25:55 +00:00
Bill Currie
5cb8429f04 bah, cleanup for flex versions :P 2003-04-17 00:14:13 +00:00
Bill Currie
eb099ae0d3 make qf gcc 3.3 clean 2003-04-17 00:01:48 +00:00
Brian Koropoff
e707e9bb89 Moved gib_*.h into include/ and moved the necessary declarations and struct
definitions to QF/gib.h to interface with libQFgib.
2003-04-13 22:07:58 +00:00
Bill Currie
ff577f1175 add a \n to the grab failed message 2003-04-09 16:38:17 +00:00
Bill Currie
d3b6fcbd61 revert the inappropriately complicated event code for the simpler version.
even that's not likely to be final
2003-04-08 19:20:48 +00:00
Bill Currie
255a7522bd merge IN_SendKeyEvents and IN_Commands into IN_ProcessEvents 2003-04-08 18:45:12 +00:00
Bill Currie
35eb866603 kill VID_HandlePause and IN_HandlePause as they never did anything and
IN_ModeChanged as it's a dead prototype
2003-04-08 17:55:32 +00:00
Bill Currie
fcc069d216 more unused files 2003-04-08 17:47:43 +00:00
Bill Currie
40a73ea5c1 don't need this 2003-04-08 17:32:55 +00:00
Bill Currie
01bff9c79e WildCode's alias model VA prepatory patch 2003-04-08 04:13:49 +00:00
Bill Currie
e483333bbe beat the skydome bugs to a pulp. no more seam (and probably a bunch faster
on slow cards)
2003-04-05 07:59:29 +00:00
Bill Currie
6cc7d43b53 make the texture coords in skyvec always 1/2 pixel in from the edge 2003-04-04 07:00:51 +00:00
Bill Currie
e00966b319 speed up 16 bit vertex lerping by getting GL to do the 1/256 scaling for us 2003-04-03 23:09:43 +00:00
Ragnvald Maartmann-Moe IV
8db859b77c Minor bit of neatening, remove CHAIN_SURF alias, so it's clearer what is being used where. 2003-03-25 07:25:22 +00:00
Ragnvald Maartmann-Moe IV
6c7701a38b Prevent bad gl_max_size settings from causing buggy drivers to freak out. 2003-03-24 20:21:24 +00:00
Ragnvald Maartmann-Moe IV
3bfdf0aea3 Test for gl errors every frame. 2003-03-21 21:28:09 +00:00
Ragnvald Maartmann-Moe IV
88c2735d9c Make sprite rendering use vertex arrays, as a test for detection of vertex array support (tests only for OpenGL 1.1 or better, at the moment, no driver blacklist yet). 2003-03-20 19:58:18 +00:00
Bill Currie
aa345faf12 use the window size for the fullscreen view 2003-03-17 05:39:10 +00:00
Bill Currie
a8a8792a76 support vid_conwidth cvar (for -conwidth). while present in all targets, it
will only work in gl
2003-03-17 05:17:58 +00:00
Bill Currie
57a470a88a alpha compile fixes (unused functions) 2003-03-08 07:17:32 +00:00
Bill Currie
a8c989969d hopefully better input grabbing state tracking 2003-03-07 22:30:15 +00:00
Bill Currie
c731afa957 hopefully fix the input grabbing (and evem more hopefully, without driving
Despair to ... um... ;)
2003-03-07 03:55:51 +00:00
Ragnvald Maartmann-Moe IV
f57eb911cc Another little FIXME. (Cleanup I'll do soon, hopefully) 2003-03-03 19:32:56 +00:00
Ragnvald Maartmann-Moe IV
2000954a2c Whitespace, and a workaround for show_* misplacement. 2003-03-03 19:20:44 +00:00
Bill Currie
be728c7b7c Initialize p_mouse_x and p_mouse_y from the EnterNotify event so that the
first mouse move of the game doesn't screw up your view. Also does resonable
behaviour when entering and leaving the window.
2003-02-25 17:19:47 +00:00
Ragnvald Maartmann-Moe IV
1201f615ee Move a test inside function, rather than repeated all over the place. 2003-02-25 06:04:42 +00:00
Ragnvald Maartmann-Moe IV
a9c61bb6bf Updated for OpenGL 1.4, plus whitespace. 2003-02-25 05:45:11 +00:00
Ragnvald Maartmann-Moe IV
d9ed34a5fb More video mode selection robustness improvements. 2003-02-23 20:21:06 +00:00
Bill Currie
851d203916 work towards a more secure qfs 2003-02-14 22:36:10 +00:00
Bill Currie
6a687f5e45 rename all the globals in quakefs.[ch] to be QFS_* or qfs_* 2003-02-14 19:46:07 +00:00
Brian Koropoff
3c522a83bc Various cleanups and bugfixes. Added proper line number reporting to
errors.  A few new builtin functions, such as slice::find and thread::list.
2003-02-14 08:06:01 +00:00
Ragnvald Maartmann-Moe IV
a34980eda5 Fix easter_egg toggling. 2003-02-14 00:58:22 +00:00
Ragnvald Maartmann-Moe IV
6d6fade23a Change mach64 test to only happen at particle system inits, rather than testing for every individual particle injection.
Mach64 now gets id particle effects. Disabling the majority of effects isn't the best method, IMO.
2003-02-13 21:48:28 +00:00
Ragnvald Maartmann-Moe IV
646f875a34 Add return value checking for in_grab. Also some dead code removal, dangling comment and white space cleanup. 2003-02-13 19:03:48 +00:00
Bill Currie
53d3252792 don't adjust the system gamma unless the window has focus. also quench an
internal warning (the event system can't handle shm events (doesn't seem to
need to anyway)).
2003-02-13 18:24:30 +00:00
Ragnvald Maartmann-Moe IV
af33733ce4 More x86-64 (AMD, not intel IA64, taniwha!) fixes.
Compile problems pointed out by Mike A. Harris. Thanks!
2003-02-12 23:41:20 +00:00
Bill Currie
4bd1718475 re-arrange viewsize handling to fix the hud bug in glx 2003-02-11 21:24:27 +00:00
Bill Currie
d86b431860 fix a couple of warnings 2003-02-10 03:19:54 +00:00
Ragnvald Maartmann-Moe IV
83f0901c17 Cleaned up fisheye code which totally ignored QF coding style.
Also attempt to fix an init bug in R_InitFishEyeOnce (add gl_cube_map_capable = false to else).
2003-02-09 19:35:49 +00:00
Ragnvald Maartmann-Moe IV
76eb7917a7 More whitespace. 2003-02-09 10:18:43 +00:00
Ragnvald Maartmann-Moe IV
5466f33dff Whitespace, while I'm in the area... 2003-02-09 10:17:20 +00:00
Ragnvald Maartmann-Moe IV
22641c40fc Make -sgl video mode selection much more robust. Particularly needs testing with voodoo 1 & 2, and on windows.
If you have problems with input grabbing, try `+set vid_fullscreen 1` or `+set in_grab 1` on the command line.
2003-02-09 10:15:20 +00:00
Bill Currie
3ab4eb6545 Arkadi's mach64 patch 2003-02-06 21:47:33 +00:00
Bill Currie
c103d77157 make SND_ClearBuffer get called directly by Block/UnblockSound and remove
S_ClearBuffer from the api
2003-01-31 19:55:21 +00:00
Bill Currie
570a72497f patches from the FreeBSD ports that are still applicable 2003-01-31 18:19:55 +00:00
Bill Currie
c788a2ea57 remove a redundant call to S_Init_Cvars and call S_ClearBuffer when sound
is blocked and unblocked.
2003-01-31 17:56:05 +00:00
Brian Koropoff
1668dd5c1a Whoops, missed these. 2003-01-28 22:37:34 +00:00
Ragnvald Maartmann-Moe IV
979ee7b2f8 Fix misleading comment and cvar documentation. 2003-01-28 21:31:55 +00:00
Bill Currie
c5eb7d6e94 bring back the screen saver code 2003-01-16 21:44:42 +00:00
Bill Currie
d63cde4103 import the GL_ARB_texture_cube_map defines 2003-01-15 18:26:58 +00:00
Bill Currie
0ea15c3f82 sw and gl fisheye patches from Arkadi Shishlov (arkadi@it.lv). I don't
think /I/ can play that way (dizzy:)
2003-01-15 16:53:34 +00:00
Bill Currie
761a7546dd re-arrange things so __attribute__ and __builtin_expect are properly
autoconfiscated so rcsid will continue to work with gcc 3.3
2003-01-15 15:31:36 +00:00
Ragnvald Maartmann-Moe IV
e2d199cfb2 Try to open graphics at desktop bit depth, rather than 8bpp. Might explain some very grainy windows screenshots... 2003-01-12 16:58:31 +00:00
Ragnvald Maartmann-Moe IV
34d4483424 white noise, er space. 2003-01-08 01:46:28 +00:00
Ragnvald Maartmann-Moe IV
d2820cd857 Reduce code duplication, kill a function used by only one caller.
Also disables a workaround for "interpolation seams" that I believe to be an old DRI bug. If anyone has skybox (not dome!) seams, try altering the ftc `if 0` to `if 1`.
2003-01-07 22:12:54 +00:00
Bill Currie
9538e009b7 small bit of cleanup 2003-01-07 20:02:30 +00:00
Bill Currie
ca720c26a5 blah, forgot about no-asm :P 2003-01-06 19:05:51 +00:00
Bill Currie
71196fedf6 make gcc more anal about prototypes, string constants and function
visibility (ie, global functions must have a prototype)
2003-01-06 18:28:13 +00:00