Commit graph

767 commits

Author SHA1 Message Date
Ozkan Sezer
6e04fd5ff6 signed int viddef_t members
The attached patch (against quakeforge git) changes the [con]width,
[con]height, and most importantly the rowbytes members of viddef_t
from unsigned to signed int, like in q2.  This allows for a properly
negative vid.rowbytes which may be needed in, e.g. a DIB sections
windows driver if needed.  Along with it, I changed a few places
where unsigned int is used along with comparisons against the relevant
vid.* members.
One thing I am not 100% sure is the signedness requirements of
d_zrowbytes and d_zwidth: q2 has them as unsigned but I am not sure
whether that is because they are needed as unsigned or it was just an
oversight of the id developers. They do look like they should be OK
as signed int to me, though: comments?

==
Note from Bill Currie: I had to do some extra changes as many
signed/unsigned comparisons were somehow missed.
2012-10-21 09:00:50 +09:00
Bill Currie
78f7604efc Evil hack to handle duplicated sdl key syms. 2012-08-18 21:44:51 +09:00
Bill Currie
9250eb83bf Yet more char index issues.
Should be getting near the end of these as qfcc tries to link in my hacked
up tree :)
2012-08-18 21:42:49 +09:00
Sander van Dijk
3c04de1116 Better default vid_gamma value. 2012-07-17 06:30:01 +09:00
Bill Currie
134f9b0e9e Force pr_keys.c to get linked in.
Nothing in the main program currently uses Key_Progs_Init, so the object
file wasn't getting pulled into the link. However, it's quite necessary for
the client console plugin :/
2012-07-16 18:18:13 +09:00
Bill Currie
0f34ab8762 Move pr_keys.c from console to video/targets.
It wasn't very accessible/usable in the client console plugin.
2012-07-15 07:39:50 +09:00
Bill Currie
fcf7150c62 Remove some old renderer specific files. 2012-07-14 07:32:53 +09:00
Bill Currie
a6d9f5d931 Fix a parallel make issue. 2012-07-06 12:35:50 +09:00
Bill Currie
8fa92bf206 Add 32 button support to sdl and win as well.
The world isn't x11 (much as I'd like it to be)
2012-07-02 16:51:14 +09:00
Bill Currie
7cd8806ec0 Add support for up to 32 mouse buttons.
My new mouse reports only up to 9 (skipping 6 and 9, it seems), but I
/have/ seen 32 button mice...
2012-07-02 16:33:57 +09:00
Bill Currie
603fe92cba Add a callback for when key_dest is set. 2012-06-29 18:00:21 +09:00
Bill Currie
3406cad99a Many distcheck fixes.
Yay, bitrot :P
2012-06-29 10:49:21 +09:00
Bill Currie
dbc203b625 And a few more bits of whitespace. 2012-05-23 08:21:27 +09:00
Bill Currie
23a38738fc Massive whitespace cleanup.
Lots of trailing whitespace and otherwise blank lines.
2012-05-22 08:23:22 +09:00
Bill Currie
bc1b483525 Nuke the rcsid stuff.
It's pretty useless in git.
2012-04-22 10:56:32 +09:00
Bill Currie
7fc99f9c60 Fix gl and glsl support in sdl. 2012-04-12 16:47:37 +09:00
Bill Currie
8401704c4e Connect up palette setting for gl and glsl.
The GL plugin now seems to work. GLSL still segs :(
2012-04-12 13:57:05 +09:00
Bill Currie
898bfa5e5f Split up the vid plugin init sequence.
This gets gl so it no longer segs. However, the screen remains black
(expect for cshifts).
2012-04-11 16:44:38 +09:00
Bill Currie
d62772e9cc Separate render module loading from initialization.
This allows the vid module to load the render module and access render
specific functions before the renderer initializes, which happens to need
an initialized vid module...
2012-04-11 14:58:56 +09:00
Bill Currie
6ea4e6617a Connect up viddef properly.
Or mostly so, anyway. sw32 is actually putting stuff on the screen.
2012-04-11 14:58:55 +09:00
Bill Currie
6f7b4276e9 Move VID_InitBuffers back from the renderer to targets.
First, it was nearly identical between sw and sw32 (one paranoia line in
sw32), and second, it's common enough.
2012-04-11 14:58:55 +09:00
Bill Currie
e991c1fed3 Make a bit of progress cleaning up vid for plugins. 2012-04-11 14:58:54 +09:00
Bill Currie
80f5cc59e9 Plug a memory leak.
Allocating (and not freeing) rects every frame... ouch.
2012-04-11 14:58:54 +09:00
Bill Currie
96b80433d8 Make some progress in getting static plugins to link.
Still many redefined symbols (and I expect more to come), and many
undefined symbols too.
2012-04-11 14:58:54 +09:00
Bill Currie
8e91fb7bc1 Get the basics linking.
Still, nothing will work: no plugins are loaded and they're all broken
anyway.

glx, sgl, glslx etc are going away, just the basics will be built: fbdev
(probably go away eventually), sdl, x11 and hopefully someday win. That's
actually the only reason anything links.
2012-04-11 14:58:53 +09:00
Bill Currie
a4c280f2b2 Take the first step towards render plugins.
No clients link. Even if they did, nothing would work.
2012-04-11 14:58:53 +09:00
Bill Currie
82679066cc Run a vacuum cleaner over the diffs between x11 and glx init.
X11 and GLX init are nowhere near as scary as I thought they were, once
they've been tidied up.
2012-02-18 21:33:54 +09:00
Bill Currie
ef37ed39a9 Clean up global symbols for the glsl renderer.
Where possible, symbols have been made static, prefixed with glsl_/GLSL_ or
moved into the code shared by all renderers. This will make doing plugins
easier but done now for link testing. The moving was done via the gl
commit.
2012-02-18 11:48:52 +09:00
Bill Currie
447ff2f2f5 Clean up global symbols for the gl renderer.
Where possible, symbols have been made static, prefixed with gl_/GL_ or
moved into the code shared by all renderers. This will make doing plugins
easier but done now for link testing.
2012-02-18 11:48:52 +09:00
Bill Currie
e34f0178b6 Build GLSL clients for SDL.
Just about to do a release, and I realized windows users wouldn't have any
way of checking out the new renderer. I'll add wglsl when I get a chance to
do some testing.
2012-02-08 22:05:58 +09:00
Bill Currie
b59ffd4cf1 Fix win32 (mingw) builds. 2012-02-07 20:18:23 +09:00
Bill Currie
9fbff2f4d5 Do an audit of the Makefile.am files.
o All instances of LIBADD/LDADD have a corresponding DEPENDENCIES
    specificatiion.
  o libraries now use a lib_ldflags macro to keep things consistent
  o duplication of source/lib names has been minimized (particularly in
    the libraries; more work needs to be done for the executables)
  o automake spec blocks have been organized (again, more work needs to be
    done for the executables)
2012-02-07 16:04:19 +09:00
Bill Currie
f800e79a38 Make the init process more dependency based.
Most subsystems that depend on other subsystems now call the init functions
themselves. This makes for much cleaner client initialization (more work
needs to be done for the server).
2012-02-01 21:52:47 +09:00
Bill Currie
b9bb7d95bb Remove calls to Sbar_Changed from the libraries.
If this breaks things, we'll have to sort something out, but again, no libs
reaching into the exe.
2012-02-01 20:06:14 +09:00
Bill Currie
fa0ff96533 Clean up the mess with host_basepal and vid_colormap.
Libs should not be reaching into the exe :P
2012-02-01 19:52:13 +09:00
Bill Currie
a131a7ab9d Fix the gl test... again :/
Actually, it probably doesn't make any difference, but making it look
right is still important.
2012-02-01 13:01:24 +09:00
Bill Currie
f8dfee6de7 Merge branch 'master' into glsl 2012-01-29 22:36:35 +09:00
Bill Currie
497718cc40 Plug the memory/texture/vbo leaks.
QF still leaks about 3MB/run on demo1, but even 100 runs didn't show any
render issues.
2012-01-29 22:32:35 +09:00
Sander van Dijk
197481bdbb in_sdl.c: default to "have_focus" to "1". 2012-01-21 09:27:35 +09:00
Bill Currie
e7b01bb6b6 Put the transparent color back to 0,0,0,0 rgba.
Blended sprites were a tad ugly without that.
2012-01-14 22:20:23 +09:00
Bill Currie
c884ef5f80 Convert the colormap to a 2D palette.
This skips one level of indirection in the alias model and brush shaders.
Hopefully, this will improve performance on my eeepc.
2012-01-14 21:42:42 +09:00
Bill Currie
cd91fe7c8d Set the pixel unpack alignment to 1.
4 hours chasing that one down. ouch.
2012-01-09 02:18:39 +09:00
Bill Currie
0993803006 Add texture sub-image management.
The planned uses are lightmaps and 2d icons.
2012-01-06 16:24:13 +09:00
Bill Currie
2ae044effd Split out vrect_t to its own file and add support functions.
The rest is cleanup after removing a wart from one of the field names.
2012-01-06 09:52:14 +09:00
Bill Currie
1437cbec91 Make the face culling a little more sensible.
GL Quake was weird, culling front faces. Partly understandable, since
Quake's front order is clockwise and GL's default order is
counter-clockwise. However, since the order can be specified, that should
be done instead. Thus, specify the winding order as clockwise (for quake's
data), set culling for back-face removal, and then mess with the winding
direction in the mirror and fish-eye code.
2012-01-03 18:06:26 +09:00
Bill Currie
7e5b3304fc Create the colormap texture. 2012-01-02 11:19:23 +09:00
Bill Currie
df3d9fe4df Correct the fullbright start color extraction.
I don't know what despair and I were thinking, but we obviously didn't
understand the colormap code at the time.
2012-01-02 10:53:57 +09:00
Bill Currie
7be08534be Clearify the program dump info a little.
Calling programs shaders was a little confusing when I use shader to refer
to the sub-programs (vertex and fragment shaders). Also, print the program
number as well.
2012-01-02 10:22:03 +09:00
Bill Currie
6a44978a0f Fix reading of GL_CURRENT_VERTEX_ATTRIB.
Turns out it returns a vec4. oops.
2011-12-28 20:41:26 +09:00
Bill Currie
4e7af5c3e0 Add a function to dump the info for all attribute arrays. 2011-12-28 14:27:59 +09:00
Bill Currie
411ab8f359 Be noisy when resolving uniforms and attributes. 2011-12-28 12:58:26 +09:00
Bill Currie
be9530afb6 Dump a lot of info about shader programs.
New developer bit: SYS_GLSL (2048).
2011-12-28 12:40:28 +09:00
Bill Currie
2ccfbb0c1c Move the shader program code into vid_common_glsl.
Much more useful in the long run.
2011-12-26 17:17:29 +09:00
Bill Currie
d743c6c55f Make a clean break heading for GLES compatibility.
Add GLSL directory to QF and use it for all gsls based code (instead of
GL). defines.h, types.h and funcs.h are derived from gl2.h from khronos.

Text drawing now uses triangles instead of quads.
2011-12-26 16:08:55 +09:00
Bill Currie
e6c6de3a2a Fix the palette uploading.
Ooooops :P
2011-12-26 10:41:16 +09:00
Bill Currie
7bd5ab882c Get text rendering working.
It comes out as a funky green (that's not in the quake palette!!!), but
it's mostly readable.
2011-12-26 10:16:16 +09:00
Bill Currie
b7c90fa02d Load the quake palete as a texture.
256x1 rgba.
2011-12-25 13:53:52 +09:00
Bill Currie
cc5140e3a1 Move min/max/bound and field_offset into better locations.
min/max bound into mathlib.h (they /are/ math functions, after all) and
field_offset into qtypes.h.
2011-12-24 10:04:33 +09:00
Bill Currie
497461b4c2 Make a start on making a pure GLSL renderer.
For now, only nq-glslx will be built, but as there is no actual code, it
doesn't link. However, this gets the glsl stuff into the build system.
2011-12-23 12:19:13 +09:00
Bill Currie
858d95de58 Add a bunch more keys to the X11 clients.
Now, QF does something reasonable for every key on my keyboar for which X
gives us a keycode.
2011-12-19 16:37:48 +09:00
Bill Currie
5cd1f6f5cf Fix a GL version check snafu.
Thanks to MH (on inside3d.com) for pointing this out to me.
2011-12-16 09:43:22 +09:00
Bill Currie
f6ebb78140 More GL_Init_Common() cleanup.
Move the call to GL_Common_Init_Cvars() out of the block of check calls.
2011-12-15 17:09:01 +09:00
Bill Currie
51aaee5c3b Put that OpenGL error message to rest.
The error was quite valid: setting GL_TEXTURE_MAX_ANISOTROPY_EXT to 0 is
incorrect. The problem was caused by the call to glTexParameterf being
before the gl_anisotropy cvar was initialized. Thus, move all of the setup
code in GL_Init_Common() to after all the checks and, more importantly,
after the call to GL_Common_Init_Cvars().
2011-12-15 17:09:01 +09:00
Bill Currie
da552e33e7 Remove execinfo checks.
It seems we no longer need it (if we ever really did).
2011-12-13 21:25:41 +09:00
Bill Currie
c3d41326b3 Do key dest changing properly.
key_demo wasn't so well thought out. This seems to be much better (and nq
is known to be working nicely).
2011-12-10 16:14:25 +09:00
Bill Currie
3ae17e4d37 Fix a silly omission.
Must not check for IMT_MOD bindings when using IMT_CONSOLE etc.
2011-12-10 14:49:56 +09:00
Bill Currie
81a16c925b Add IMT_DEMO for demo playback bindings.
This will allow special key bindings for use during demo playback without
interfering with normal keys.
2011-12-10 14:21:12 +09:00
Bill Currie
14d8e8669f Rework the legacy bind/unbind commands.
in_bind_imt is now gone. I guess mercury was right in that it was a poor
design. However, it was (and still is necessary) to support "bind" and
"unbind". Now, instead, they work only with the IMT_MOD table. IMT_MOD sits
below IMT_0 in the imt hierarchy. If the key is not bound in IMT_0+, then
IMT_MOD will be checked. This way, "bind" and "unbind" can never mess with
a user's more sophisticated binding setup.
2011-12-10 13:56:02 +09:00
Bill Currie
49451eea80 Use the new menu/console bingings.
Now, the console toggle will always work (so long as the console is
toggleable in the first place).
2011-12-10 13:24:32 +09:00
Bill Currie
d9d56760e1 Add cvars to control the keys for menus and console.
The backquote is not always usable for toggling the console, and the new
bind system doesn't automatically bind a key to both game and console imts
(by design). Thus create a cvar that allows the "always works" console
toggle to be specified in eg $fs_globalcfg. While I'm at it, do one for the
menus, too.
2011-12-10 13:24:32 +09:00
Bill Currie
f75b0a611b Some compile fixes for OpenBSD 2011-08-25 22:35:20 +09:00
Bill Currie
290ac30efc Fix x11 gamma control.
Seems we lost a header include at one stage.
2011-08-11 16:08:20 +09:00
Bill Currie
efa0105748 Rename some headers to fix doxygen warnings. 2011-07-23 15:58:45 +09:00
Antti Harri
358a844a42 Implement --version-info configure switch to override QuakeForge
library versioning. From Lasse Collin, thanks!
2011-07-09 01:23:36 +03:00
Bill Currie
0f7390dd60 Clean up all the "set but not used" warnings.
gcc on my system is failing to treat this specific warning as an error :/
2011-06-19 10:48:02 +09:00
Bill Currie
42ab0a7dbb Ensure consize is correct in the software renderers.
The software renderers force the console size to be the same as the window
size (no scaling), but they weren't telling the console of the resize.
oops. Fixes the crash when running the software renderers with default
sizes.
2011-06-14 17:54:53 +09:00
Jeff Teunissen
bbc8154ec7 joystick fixes
Make /dev/input/js0 the default joy_device, and temporarily bump max
buttons to 18 (until I kill the maximums entirely)
2010-12-24 05:03:32 -05:00
Bill Currie
de04e1b602 Lots of win32 (mingw cross) build fixes.
HTTP (curl) support is missing, but everything else builds.
2010-12-23 11:40:16 +09:00
Bill Currie
23d3407622 Change a few defaults as suggested by bigfoot.
in_dga -> 0 (until X is fixed)
gl_multitexture -> 1 (why was this 0? not enough support back then?)
cl_usleep -> 1 (seems to be ok)
host_mem_size -> 40 (even 32 isn't enough these days)
rate -> 10000 (we're not in the modem era any more)
cl_mem_size -> 32 (16 is not enough, 32 sounds better than 24)
2010-12-16 11:34:39 +09:00
Bill Currie
9900aa3d02 Fix vid_fullscreen for modern X window managers.
We are now compliant with wm-spec 1.4, so fullscreen toggling should always
work.
2010-11-27 16:19:04 +09:00
Bill Currie
e53ff2a36d A bit of house keeping. 2010-11-27 15:10:34 +09:00
Bill Currie
dd87274027 DGA mouse tweaks.
o  Check the return value of XF86DGADirectVideo.
 o  Use input_grabbed instead of in_grab for checking whether to enable dga
    mouse and other grabbed actions.
2010-11-27 09:25:29 +09:00
Bill Currie
f31595781c Add and used SYS_VID for video/targets masked prints. 2010-11-27 08:48:00 +09:00
Bill Currie
8c4fe2f844 Rename Sys_DPrintf to Sys_MaskPrintf.
We now have finer runtime control over what gets printed. Need to do a
SYS_DEV audit, creating new masks as apropriate.
2010-11-26 16:19:26 +09:00
Bill Currie
6260130ae5 Fix borked autoconf of dga/vidmode headers. 2010-11-16 00:58:19 +09:00
Bill Currie
669771681a split up and modernize configure.ac
Most of the guts of configure.ac have been moved to config.d and are then
brought in by m4_include. This will make maintaining configure.ac much easier.

Also drop use of PROGRAM and VERSION, using PACKAGE_NAME, PACKAGE_VERSION, and
on occasion, PACKAGE_STRING instead, and clean out some old files we no longer
need.
2010-08-19 15:01:43 +09:00
Bill Currie
0bbb805b94 fix a case&paste error pointed out by grg 2010-08-08 01:58:17 +00:00
Bill Currie
0dfff8fd58 ignore stuff 2010-08-07 10:42:09 +00:00
Bill Currie
ace5e7a702 oops 2010-08-05 02:38:47 +00:00
Bill Currie
970dd0b872 avoid the old dga headers if we can (they're now deprecated) 2010-08-05 02:35:16 +00:00
Bill Currie
997102fea8 audit the usage of "only"
There are still a few iffy places (notably around certain prepositions), but
the relevant sentences are now much easier to read.
2010-01-13 06:42:26 +00:00
Bill Currie
cb5bd43d4c warning fix from shortcircuit 2009-12-24 07:33:24 +00:00
Bill Currie
bf04589510 conheight proved to be eaiser than expected (d'oh, don't know why I couldn't see the obvious) 2009-12-24 05:46:16 +00:00
Bill Currie
a5f0fbc821 Proper widescreen support. The GL renderer now respects the pixel aspect calculated by the vid init code. Also, a new cvar: vid_aspect. The format is width:height and the values may be any float greater than 0. The default is 4:3, but any units may be used. 2009-12-24 05:33:41 +00:00
Bill Currie
4b0320f341 glx, gly, glwidth and glheight are now gone too. also GL_BeginRendering 2009-12-23 08:20:29 +00:00
Bill Currie
f2004abecc nuke scr_width and scr_height 2009-12-23 07:00:42 +00:00
Bill Currie
97f54e22df fix the broken sdl/sdl32 hud 2009-12-23 02:08:49 +00:00
Bill Currie
28601c8ea4 more screen size cleanup 2009-12-22 13:12:03 +00:00
Bill Currie
5d15c70a0d progress in cleaning up the screen size mess 2009-12-22 06:02:53 +00:00
Bill Currie
52b2631341 sanitize con_width and con_height handling. con_height cvar was being ignored. 2009-12-21 12:36:12 +00:00
Bill Currie
236e89ed6b newest x11 seems to not define X_XF86VidModeGetGamma. thanks to witukind 2009-12-21 06:03:19 +00:00
Bill Currie
61366f081b fbdev patch from Philippe Troin 2009-12-20 05:41:08 +00:00
Bill Currie
0b1cc3d21f Support Japanese keyoards (yay, I can finally toggle the console :P) 2009-03-18 00:26:34 +00:00
Bill Currie
fe95805d86 various gcc 4.3 fixes 2008-07-19 05:40:57 +00:00
Bill Currie
2b81eaea6c console.h include cleanup 2007-11-06 12:40:38 +00:00
Bill Currie
6d6dc27592 make startup and shutdown a little quieter 2007-11-06 10:39:49 +00:00
Bill Currie
d66934942d nuke Con_Printf and Con_DPrintf and use Sys_* instead 2007-11-06 10:17:14 +00:00
Bill Currie
e38bf6dd98 fix a signed/unsigned comparison warning 2007-09-21 09:01:21 +00:00
Bill Currie
58112a6407 fix a couple of missed VISIBLE tags 2007-03-24 12:28:47 +00:00
Bill Currie
81a57bb3fa patch from phrosty for vc2005 support. includes fixes for a bunch of gcc-isms that crept in over the years. 2007-03-22 23:20:57 +00:00
Bill Currie
99c0954b47 the big dso visibility patch :). Sure, we have to have unique names for static builds, but with controlled visibitly we should get faster program loads (although this isn't C++, so it's not as bad) and complex plugins are cleaner. 2007-03-10 12:00:59 +00:00
Bill Currie
99e05d2188 warning cleanup patch from raorn 2007-01-06 21:31:03 +00:00
Ragnvald Maartmann-Moe IV
42d51bc486 Remove SDLK_WORLD_*, as they are no longer supported. Add SDLK_UNDO. 2006-12-01 06:58:23 +00:00
Bill Currie
215951bc79 yay for testers :) 2006-05-24 09:24:00 +00:00
Bill Currie
6b03d8413e don't compile GetGamme (Set/Restor)ScreenSaver at all when vidmode isn't available 2006-05-24 09:20:53 +00:00
Bill Currie
87cc09233c "long" audit. can't use long when we want 32 bits. May be a few more cases. 2005-10-23 13:19:21 +00:00
Brian Koropoff
82b389a720 Fixes -x11 target on x86-64. Shouldn't break anything on other supported architectures. 2005-09-03 03:31:02 +00:00
Bill Currie
3fb03fc2be hah, should have been using __attribute__((used)) all that time (rather
than __attribute__((unused))). fixes the missing console in -x11
2005-08-04 15:27:09 +00:00
Bill Currie
501180aaac gcc-4.0 fixes. even found some bugs :) (names /not/ mangled this time) 2005-06-08 06:35:48 +00:00
Bill Currie
63f9c77e11 d'oh 2005-03-06 08:25:30 +00:00
Bill Currie
1a1d461f0c "debounce" (Despair's term:) focus handling in X. Seems multiple focusout
events can arrive when switching workplaces, but only one focusin when
returning. Not good...
2005-03-06 08:22:15 +00:00
Ragnvald Maartmann-Moe IV
b209e8607e *grmbl* 2005-01-13 15:11:55 +00:00
Ragnvald Maartmann-Moe IV
b72a8755ca Move pr_keys.c to console, fixes missing Key_Progs_Init symbol for dynamic
builds with automake 1.9.
2005-01-13 15:10:42 +00:00
Ragnvald Maartmann-Moe IV
ea2ff1070b Whitespace, plus remove unused key_progs_init from keys.c 2005-01-13 14:44:57 +00:00
Bill Currie
23f71485d1 more tree recovering. This includes Despair's anisotropy support work. 2005-01-02 14:23:20 +00:00
Bill Currie
0bfac8dd88 win32 compile fixes
This is an imperfect revision of history.
2004-11-06 02:21:00 +00:00
Bill Currie
cefc6df98c grievre's patch to trade (minor) frame rate for frame (non-)latency 2004-07-10 02:32:30 +00:00
Bill Currie
f2d7d97319 Grievre's fix for his weirdness when toggling fullscren. Thanks Grievre 2004-05-10 01:17:55 +00:00
Bill Currie
4f71b39827 it seems glGetProcAddressARB is obsolete so check for glGetProcAddress first 2004-05-06 07:13:18 +00:00
Bill Currie
fc4211c257 the rest of Grievre's lighting tweaks 2004-05-02 21:21:00 +00:00
Bill Currie
1c0735d0c9 * taniwha mutters about end-runs (sorry, Grievre) 2004-04-28 04:07:50 +00:00
Bill Currie
785307fd9a Grievre's lighting tweeks 2004-04-27 22:18:23 +00:00
Bill Currie
dd989c18ff fix a braino 2004-04-16 04:21:16 +00:00
Bill Currie
45c304ffc0 add a -novideo option to allow for headless operation 2004-04-13 02:13:35 +00:00
Bill Currie
969cf7ac66 make sure the mouse input updates properly when going from fullscreen to
windowed
2004-03-22 03:23:59 +00:00
Bill Currie
23e8ef1dd8 do the viewport forcing in configure_notify. fixes Grievre's uncentered
viewport
2004-03-22 02:16:41 +00:00
Bill Currie
4b33ba547a don't know why the expose event was being waited for. doesn't seem to be
needed (now, anyway) when going windowed and causes lockup when starting
fullscreen
2004-03-21 20:21:57 +00:00
Bill Currie
7feaa3d631 Want for the mouse to move when going fullscreen before moving the
viewport. This should fix the uncetnered viewport when going fullscreen.
Also discard mouse events caused by fullscreen toggling to avoid chaning
orientation.
2004-03-21 05:21:27 +00:00
Bill Currie
0b808b0c49 so that's why you would want to use XMaskEvent... don't lose the FocusIn
and EnterNotify events when starting fullscreened
2004-03-21 00:34:24 +00:00
Bill Currie
60ca9854aa dead code removal 2004-03-19 21:12:12 +00:00
Bill Currie
78fd6d2513 minor cleanup of window position handling. hopefully no more window off
screen issues (wait for ConfigureNotify instead of MapNotify on window
creation (ConfigureNotify gives us our window position)).
2004-03-19 20:24:26 +00:00
Bill Currie
9099baeb6d minor cleanups preparing for an overhaul 2004-03-18 06:05:59 +00:00
Bill Currie
e24cbd75e0 M_BUTTON6 and M_BUTTON7. nuff said :) 2004-03-16 04:12:28 +00:00
Ragnvald Maartmann-Moe IV
6c6047ccb8 Fix from Grievre. 2004-03-15 21:44:56 +00:00
Ragnvald Maartmann-Moe IV
29502c8f5a Lots of optimizations, particularly for GL state changes, and tweak lighting a
bit more.

Also a cleanup from Grievre: Use VectorIsZero in two places in gl_mod_alias.c.
2004-03-15 21:32:19 +00:00
Ragnvald Maartmann-Moe IV
1fe06c326b More of my experimental GL lighting tweaks. 2004-03-11 01:03:51 +00:00
Ragnvald Maartmann-Moe IV
9cd16b8dfd Grievre's lighting patch, plus some of my own changes.
My changes:
Emit normals if truform is enabled.
Attempt to avoid 0,0,0 normals (makes lighting & tesselation unhappy).
Fix some (ancient) apparent bugs in GetAliasFrameVerts16().
Clamp minlight, instead of adding it.
Apply colormod as glColor, rather than adding it to emission, to prevent QSG2
 issues with fullbrights.
Rearrange init code, and don't go quite as wild with responsiveness to lights.

Material & lightmode settings will need tweaking & testing to work well on all
 cards. Feedback needed there.
2004-03-10 08:14:38 +00:00
Ragnvald Maartmann-Moe IV
b7df0b5278 Remove gl_doublebright, remove fractional overbrights, clean up init a bit,
uglify init a bit. Stuff for taniwha to look at. Nothing to see here, move
along.
2004-03-07 23:51:29 +00:00
Ragnvald Maartmann-Moe IV
58d67f9a75 Lighting init fixes. 2004-02-29 04:50:01 +00:00
Ragnvald Maartmann-Moe IV
fde6e5bf61 Reduce ifs a bit, clean up init a bit. Minor problem with gl_doublebright. LIH. 2004-02-29 01:49:41 +00:00
Ragnvald Maartmann-Moe IV
28fda91e8c If (!var) checking for a cvar setup. Can't believe that one slipped by for so
long... Also set a few globals static.
2004-02-27 20:40:26 +00:00
Ragnvald Maartmann-Moe IV
44c89c1904 Optimize fullbright testing for brushes, assorted other cleanups, test for
functions built into current GL drivers, as well as the old extensions, and
add incorrectly rendering BGRA support.
Whee!
2004-02-24 20:50:55 +00:00
Ragnvald Maartmann-Moe IV
872498a1f0 Reorder a lot of code, removing tons of ifs. multitexture paths are a bit more
sane now. Also optimize QSG2 color handling, and fix some QSG2 bugs. Not that
anyone cares, nobody uses it anyways.
Should be faster, but isn't here. *grmbl*
2004-02-22 06:00:15 +00:00
Chris Ison
ca6112767c Grievres' water HOM and mtex FB only rendering FB texture fix 2004-02-21 09:04:52 +00:00
Ragnvald Maartmann-Moe IV
5157f668ad Fix a bunch of state leaks that made multitextured fullbrights smear the world.
Now just have one (known) issue with bmodels with fullbright textures not
rendering their base texture. Floating fullbrights are nifty!

Also a number of optimizations, which need wider performance testing.
2004-02-21 05:36:19 +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
Bill Currie
64c156653f should fix the seg on ^C early in the startup 2004-02-14 07:53:49 +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
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
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
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
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
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
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
93327cb618 try to fix segfault caused by VID_Shutdown getting called before VID_Init
(error conditions).
2003-08-27 22:50:39 +00:00
Bill Currie
33a57c5a14 win32 compile fixes 2003-08-13 18:17:30 +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
855fc53709 handle alloca properly 2003-07-09 06:28:09 +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
6a8469df14 start working on VA support for borked GL libs 2003-05-21 21:53:21 +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
Bill Currie
dc9d2c89da fix various sizing issues 2003-05-07 07:10:15 +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
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
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
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
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
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
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
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
Bill Currie
d86b431860 fix a couple of warnings 2003-02-10 03:19:54 +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
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
Bill Currie
9538e009b7 small bit of cleanup 2003-01-07 20:02:30 +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
Bill Currie
6b705adc31 fix a missed libasm -> libvid_asm change 2003-01-04 03:08:32 +00:00
Bill Currie
dbd5b16883 rename the convenience libs to avoid problems with libx11 vs libX11 on
darwin (damn case insensitive file systems :P)
2002-12-20 23:40:47 +00:00
Bill Currie
1130eed85a make the "no mouse" error message a little more informative 2002-12-19 16:58:44 +00:00
Bill Currie
a84b6bba5d make stuff static that can be and nuke some useless stuff 2002-12-16 23:26:14 +00:00
Bill Currie
ee868367d5 we don't currently support scitech's mgl 2002-12-16 21:57:36 +00:00
Bill Currie
d332a9f5ae remove useless file 2002-12-16 21:09:25 +00:00
Bill Currie
86ed9e1130 add some missing ()s 2002-12-16 19:39:02 +00:00
Bill Currie
1c4b40c291 similar cleanups to vid_svgalib.c 2002-12-16 19:36:46 +00:00
Bill Currie
80146121dc require an 8 bpp mode 2002-12-16 19:36:14 +00:00
Ragnvald Maartmann-Moe IV
4b32916298 Legibility. Whitespace. Stuff like that. 2002-12-16 19:26:53 +00:00
Bill Currie
e381d2a0fc remove vid_mode and the mode description commands 2002-12-16 19:23:41 +00:00
Bill Currie
1311773a90 make -svga mode selection consistent with -x11 etc and also fix the mode
matching algo so it actually works
2002-12-16 18:50:09 +00:00
Ragnvald Maartmann-Moe IV
f053f3b70f Whitespace. Grr. 2002-12-16 17:59:45 +00:00
Bill Currie
31969b67ad a couple of missed cleanups from the screen merge 2002-12-12 05:12:09 +00:00
Bill Currie
bf3fa3dc76 remove some dead code and a lot of unnecessary diffs 2002-12-11 16:45:40 +00:00
Bill Currie
c158f0028b fix gl_stub so it works again and also get the gl functions being looked up
properly
2002-12-10 15:30:16 +00:00
Bill Currie
92ea1de504 apply Kaare Slettnes' key name extention patch (Closes: #62) 2002-12-02 16:26:18 +00:00
Brian Koropoff
0f71b02fd7 Changed the name of GIB builtins from string.length to string::length, etc.
Made a few miscellaneous cleanups and enhancements to builtins and changed
all the GIB scripts in CVS to reflect the new naming conventions.
2002-11-11 01:57:34 +00:00
Bill Currie
aa5ad0f0f9 don't use glXGetProcAddressARB to look up the glX functions. hopefully fixes
the nvidea segfault
2002-11-10 23:31:19 +00:00
Bill Currie
1dfbf4ba7e win32 compile fixes 2002-11-08 23:13:52 +00:00