Commit graph

1119 commits

Author SHA1 Message Date
Sander van Dijk
f6d44a3a10 Fix SDL2 fallback when no FSAA is available.
On my old laptop, when running "./quakespasm -fsaa 2", quakespasm would error out with a "Couldn't create window" message. Our "no FSAA available" fallback was applied at OpenGL context creation time, but according to the SDL2 wiki FSAA settings should be done before creation of the window (see https://wiki.libsdl.org/SDL_GLattr#multisample). Moved it there.


git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1084 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-10-05 17:06:35 +00:00
Sander van Dijk
4b011d6285 input: Remove unneeded key_repeats array, some input grab tuning.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1083 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-10-05 16:35:59 +00:00
Sander van Dijk
f605137b02 menu: Add M_Quit_InputtingText() for consistency.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1082 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-10-05 15:32:45 +00:00
Sander van Dijk
e4575839a9 input: Fix SDL2 mouse wheel up/down behaviour.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1081 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-10-05 15:25:31 +00:00
Eric Wasylishen
749ed362e7 gl_vidsdl.c: for OpenGL versions below 1.5, assume "-novbo" (attempting to avoid old, broken VBO implementations).
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1080 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-10-03 18:31:58 +00:00
Sander van Dijk
2c177df399 input: Minor addition to r1077.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1079 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-10-02 19:34:33 +00:00
Sander van Dijk
1ab2cbde9b input: Support for "plain" numpad keys in the menu/console (still todo: numpad translation).
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1078 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-10-02 19:21:52 +00:00
Sander van Dijk
8d0cb0086a input: More text input restructuring.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1077 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-10-02 19:00:42 +00:00
Ozkan Sezer
ebe223a689 oslibs, codecs (macosx, windows): update mpg123.h from mainstream.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1076 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-10-02 06:00:13 +00:00
Sander van Dijk
856f94fac8 input: Some text input restructuring in preparation of numpad translation support.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1075 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-30 19:29:58 +00:00
Sander van Dijk
ad7ac7caf6 Revert r1073.
I read that comment as "bindings for these keys won't execute when in the menu", but it should be read as "no new bindings can be made for these keys through the bindings sub-menu", which is actually correct.


git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1074 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-30 06:18:31 +00:00
Sander van Dijk
ddf7f188d1 keys.c: Correct a typo in a comment.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1073 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-29 18:33:20 +00:00
Sander van Dijk
f30f590ec7 keys.c: Remove shift interpretation.
This never really belonged in keys.c (should have been handled in the backend instead), but now that we have separated Key_Event()/Char_Event() this no longer serves any purpose at all.


git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1072 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-29 18:31:41 +00:00
Ozkan Sezer
cad25e4313 README: minor edits.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1071 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-29 11:00:47 +00:00
Eric Wasylishen
1a4ca6e90d Add note to changelog about r1069
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1070 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-28 23:44:42 +00:00
Eric Wasylishen
26c1b63c00 sv_main: Second part of fixing the MAX_ENT_LEAFS issue (after bumping MAX_ENT_LEAFS to 32 in r967).
If an entity is visilbe from MAX_ENT_LEAFS (32) or more leafs, don't try to vis-cull it, just send it to the client.
This should completely eliminate any flickering entities, no matter how many leafs they're visible from.

This could potentially increase packet sizes a bit.. but ent->num_leafs == 32 never happens in id1 epsiode 1, so it will not cause any increase on those maps.
hip1m1 has one entity (a rotator) that is caught by this change and will be always sent.

see e.g.
http://forums.inside3d.com/viewtopic.php?f=1&t=5554
http://www.celephais.net/board/view_thread.php?id=60452&start=1235

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1069 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-28 19:02:27 +00:00
Ozkan Sezer
598c1fc069 oslibs (macosx, windows): recompile libFLAC with malformed
vorbiscomment handling improvements from git and with a fix
for windows vsnprintf().


git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1068 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-27 07:56:04 +00:00
Sander van Dijk
dbb5c25131 Interpunction nitpicking.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1067 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-23 19:11:39 +00:00
Sander van Dijk
cebef615e5 input: Rework the text/non-text input mode handling.
Before, "gamekey" was the special case, now "textmode" is. We are now more precise about when we activate "textmode", e.g. we only do this when the console, messagemode, or a textfield in the menu are active. The trigger for doing this was this line on the "SDL_StartTextInput" page of the SDL2 wiki: "On some platforms using this function activates the screen keyboard.". Although we currenly support no such platform, it's good te be prepared, and what we do now is more correct anyway.


git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1066 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-23 19:10:02 +00:00
Ozkan Sezer
e21e7a375b slightly revise the game command known bug infos.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1065 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-23 09:28:22 +00:00
Sander van Dijk
c8da3f1f61 Rename some functions for consistency.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1064 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-23 02:19:57 +00:00
Sander van Dijk
46e003557a in_sdl.c: rewrite TEXTINPUT handling a bit.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1063 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-23 02:15:46 +00:00
Eric Wasylishen
4f4ed85552 Add note about limitations of the 'game' command to the readme files
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1062 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-22 21:05:36 +00:00
Ozkan Sezer
d7b79721aa rediff the extra fs_search_order.patch so it applies cleanly.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1061 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-22 09:40:25 +00:00
Ozkan Sezer
25a04deb61 rediff the extra quake_retexturing_project.patch so it applies cleanly.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1060 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-22 09:37:23 +00:00
Ozkan Sezer
b9032b7815 copyright years, general tidy-up, remove unused d_ifacea.h.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1059 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-22 08:55:46 +00:00
Ozkan Sezer
c80fbd9629 allow KP_ENTER to function as K_ENTER in menus, console, etc., after r1042.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1058 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-22 06:21:06 +00:00
Ozkan Sezer
78b028cd50 revert exec'ing default.cfg and config.cfg upon in-game gamedir changes.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1057 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-22 06:15:23 +00:00
Eric Wasylishen
3be35611b5 Correct the buttonremap table for SDL2 so K_MOUSE4/K_MOUSE5 work.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1056 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-22 03:32:19 +00:00
Eric Wasylishen
b4a3fa34a4 Xcode project: created "QuakeSpasmSDL2" target. It expects a copy of SDL2.framework to be in /Library/Frameworks
changes from "QuakeSpasm" target:
- remove double quotes around LIBRARY_SEARCH_PATHS values, this breaks linking on my OS X 10.6/Xcode 3.2.6 system
- drop ppc support
- add USE_SDL2 define
- bump minimum sdk deployment target to 10.5 as required by SDL2

Tested on OS X 10.6.8/Xcode 3.2.6, and OSX 10.9.4/Xcode 5.1.1.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1055 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-21 21:22:35 +00:00
Ozkan Sezer
3e3dce4e2b rename gnu.txt to LICENSE.txt
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1054 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-21 14:02:30 +00:00
Ozkan Sezer
f040037e64 add code for USE_GAMMA_RAMPS case for SDL2 builds. (still off by default.)
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1053 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-21 14:00:56 +00:00
Ozkan Sezer
11c1b1f67c exec default.cfg and config.cfg upon in-game gamedir changes.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1052 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-21 11:10:22 +00:00
Ozkan Sezer
84e79ad4a2 cleanup USE_GAMMA_RAMPS and USE_SDL2 stuff
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1051 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-21 11:01:02 +00:00
Sander van Dijk
4aedfee2af gl_vidsdl.c: Correct some swap interval related messages.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1050 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-21 07:52:22 +00:00
Eric Wasylishen
2a366cbe3b add a note about high-dpi displays on Windows to the readme.
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1049 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-21 03:03:16 +00:00
Eric Wasylishen
4a28b9ad2e revert r1045 (SetProcessDPIAware).. while it fixed broken fullscreen on one configuration (sdl2/windows 8), it broke another that worked (sdl2/windows 8.1).
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1048 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-21 02:28:50 +00:00
Sander van Dijk
5989e7136d Minor cleanups.
in_keys.c: Key_ConsoleBindable: remove redundant check, this is now handled by Key_KeynumToString/Key_StringToKeynum.
in_sdl.c: IN_SendKeyEvents: use a single method for checking whether we have a keydown or keyup event.


git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1047 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-21 02:10:14 +00:00
Sander van Dijk
f7276bc483 keys.c: Key_ConsoleBindable: add a better check for "general bindability".
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1046 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-21 01:59:36 +00:00
Eric Wasylishen
2e23f6a3b5 sys_sdl_win.c: Call SetProcessDPIAware if available (Vista and above) to opt out of the OS scaling our window on a high-dpi display.
SDL (both 1.x and 2.x) is buggy and can't deal with scaled windows.
But we'd probably want to call this anyway beause it give us full-resolution windows.

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1045 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-21 00:59:24 +00:00
Sander van Dijk
362deedf20 keys.c: Key_ConsoleBindable: special-case key 0, since it essentially means "no key".
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1044 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-20 23:04:41 +00:00
Sander van Dijk
3be5b16965 keys.c Key_ConsoleBindable(): add sanity check
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1043 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-20 22:45:52 +00:00
Sander van Dijk
c21ea8687e in_sdl.c: Restructure the SDL1 backend a bit.
Tested on Linux and Windows with various keyboard layouts. This fixes some text input weirdness on Windows.

Before, we always used the "unicode" field (if available) of SDL's keydown events to overrule the "sym" field with which Key_Event() is called. However, the "unicode" field is only filled for keydown events, so this meant that our keyup events didn't always match their corresponding keydown events. With the introduction of Char_Event(), we can now use the "unicode" field for textinput only, and call Key_Event() with the non-overruled "sym" field. This has the benefit that keyup events now match keydown events, and that we can get rid of several ugly hacks (some platform specific ifdef's and some control character handling).

Note: the translation of the numpad keys to other keys when not in "gamekey" mode was dropped, because otherwise a numpad key could trigger (for intstance) both a textinput and a cursor movement in the console. This is arguably cleaner anyway.



git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1042 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-20 22:41:44 +00:00
Ozkan Sezer
d99ea684d2 remove SDL_net support which had been unsupported for some time
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1041 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-20 20:37:35 +00:00
Sander van Dijk
8ad4f6b437 in_sdl.c: SDL2: skip over UTF-8 multibyte characters.
Before, we stopped processing at the first byte of a multibyte character, now we skip over the bytes of a multibyte character and continue. This will probably not have a noticeable effect, but it's arguably more correct.


git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1040 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-20 17:46:23 +00:00
Sander van Dijk
cb0c84ac9d Revert r731 ("Make the key menu scrollable").
In hindsight this really was "shooting a cannon at a mosquito". Even at a resolution of 320x200 we don't actually draw any keybindings off-screen, we just draw the last one very close to the edge (similar to the version string in the bottom right of the console). Although that is not visually pleasing, it is not that likely to actually occur (not many people will use a resolution of 320x200 or set the 2D scaling to the maximum value), and is not worth always having one keybinding "missing" at any scale setting.

(If we even want/need to readd this, it should work dynamically, e.g. calculate a "virtual resolution" from the actual window resolution and the actual 2D scaling value.)


git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1039 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-20 15:57:33 +00:00
Sander van Dijk
b5628dbe2f keys.c Key_Event(): add sanity check
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1038 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-20 14:27:32 +00:00
Ozkan Sezer
b7857441ab documentation update
git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1037 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-20 14:00:25 +00:00
Ozkan Sezer
5d10347f78 apply a modified form of Eric's Makefile.darwin patch from
https://github.com/ericwa/quakespasm-build-scripts/blob/master/sdlframeworkpath.diff


git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1036 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-20 08:37:30 +00:00
Eric Wasylishen
90b26fc215 r_world: Add a new R_DrawTextureChains_Multitexture_VBO function. Draws lightmapped surfaces with fulbrights in one pass, using the VBO. Requires 3 TMUs, GL_COMBINE_EXT, and GL_ADD.
R_DrawTextureChains_Multitexture: revert to the way it was before VBO support was added.
gl_texmgr: expose GL_SelectTexture. make the implementation less convoluted and support 3 TMUs.
gl_vidsdl: check GL_MAX_TEXTURE_UNITS
r_brush: only create VBOs if 3 TMUs available

git-svn-id: svn://svn.code.sf.net/p/quakespasm/code/trunk/quakespasm@1035 af15c1b1-3010-417e-b628-4374ebc0bcbd
2014-09-20 01:08:13 +00:00