Commit graph

1503 commits

Author SHA1 Message Date
Daniel Gibson
703cec74e7 Fix fix for not sending Char_Event to console when not opened
turns out the if the console is opened while no game is currently
running, cls.key_dest is not key_console but still key_game.
Changing it to key_console in those cases blows up in interesting ways.
So in Char_Event() we send events to the console in those cases.
2016-01-30 18:43:32 +01:00
Daniel Gibson
4a762c0002 Don't send Char_Event to Console if it isn't opened 2016-01-30 17:46:34 +01:00
Daniel Gibson
0fb8d80507 Small improvements to input code 2016-01-30 17:46:34 +01:00
Daniel Gibson
dc155cca9c Workaround for better AZERTY-Keyboard support
The first row of AZERTY-Keyboards (used in France and Belgium) doesn't
have numbers as keys but ², &, é, ", ', (, -, è, _, ç, à, ), =
(with small differences between France and Belgium).
For some of those keys we don't have keycodes - and neither does SDL2.
See also https://bugzilla.libsdl.org/show_bug.cgi?id=3188

As a workaround, just map those keys to 1, 2, ..., 9, 0 anyway, as those
are keys Quake2 already knows (and those chars are printed on the keys
too, for typing they're reachable via shift).
This workaround only works for SDL2, as SDL1.2 doesn't have scancodes
which we need scancodes to identify the keys.

While at it I unified handling of SDL_KEYDOWN and SDL_KEYUP, the code
is almost identical anyway, apart from one bool argument to Key_Event().

We track this problem in #81
2016-01-30 17:46:34 +01:00
svdijk
31ffb96614 Console: Adjust line length based on scale 2015-12-19 20:36:25 +01:00
svdijk
5c54521199 Screen: Clamp scale to a minimum of 1, except for the HUD 2015-12-19 20:34:02 +01:00
svdijk
54b6d276b2 Screen: Make SCR_Get*Scale() callable before SCR_Init(). 2015-12-19 20:18:17 +01:00
svdijk
354d2ff789 Menu: Some alignment fixes for scaled menus 2015-12-13 11:48:02 +01:00
Daniel Gibson
ca4bab172e Make "no such (old)frame" warnings developer-only
those "problems" don't really matter, so don't spam the console with
it (unless you've enabled developer messages).

"Fixes" https://github.com/yquake2/xatrix/issues/7
2015-12-12 20:17:40 +01:00
svdijk
3e5ac1c15a Draw: Also don't lerp crosshairs 2015-11-24 14:19:16 +01:00
svdijk
0880bef8c8 Draw: Handle "nolerp" of console characters through a cvar 2015-11-24 14:16:18 +01:00
svdijk
44969748fb HUD: Fix centering of scaled crosshair 2015-11-20 22:04:27 +01:00
svdijk
712016783b UI scaling: Clamp the scale to avoid "over-scaling"
This clamps the UI scale, limiting the relative size of the UI
elements to what they would be at scale 1 in a 320x240 resolution.
Allowing bigger scales is not useful, and would make it possible
for the user to shoot him-/herself in the foot by setting a
"too big" UI scale value in the menu. (Since this would mess up
the menu, it could be hard te recover from for a casual user.)
2015-11-20 18:47:08 +01:00
svdijk
9964b2f3df q2icon.xbm: Make this a bit more like the new icon 2015-11-18 20:52:19 +01:00
svdijk
4194ff24dd q2icon64.h: Recreated to have the same margins as the source SVG 2015-11-18 19:58:08 +01:00
svdijk
d5bd14d1e7 quake2-appbundle.zip: Update quake2.icns to the new icon 2015-11-18 19:41:03 +01:00
svdijk
b3ba71c09a Quake2.ico: Recreated to have the same margins as the source PNG
The ImageMagick command to generate the ICO was:

convert Quake2.png \
    \( -clone 0 -resize 16x16 \) \
    \( -clone 0 -resize 32x32 \) \
    \( -clone 0 -resize 48x48 \) \
    \( -clone 0 -resize 64x64 \) \
    \( -clone 0 -resize 96x96 \) \
    \( -clone 0 -resize 128x128 \) \
    \( -clone 0 -resize 256x256 \) \
    \( -clone 0 -resize 512x512 \) \
    -delete 0 Quake2.ico
2015-11-18 18:59:53 +01:00
svdijk
00b804c743 Quake2.png: Recreated to have the same margins as the source SVG 2015-11-18 18:54:02 +01:00
svdijk
8a9741dd89 Videomenu: Minor optimization to GetCustomValue for subsequent calls 2015-11-16 22:23:15 +01:00
svdijk
8d7f4a74e6 Videomenu: Simplify uiscale initialization 2015-11-16 19:26:46 +01:00
svdijk
a6b3bfd35a qmenu.c: Some whitespace changes for consistency. 2015-11-16 19:18:50 +01:00
svdijk
de8c50bcb9 Videomenu: Make the "custom" value handling less error prone. 2015-11-16 19:11:00 +01:00
Yamagi
a72d595430 Merge pull request #117 from Quix0r/master
Also ignore .d files as they got generated every time.
2015-11-13 17:48:47 +01:00
Roland Haeder
db1480e1a6
Also ignore .d files as they got generated every time.
Signed-off-by: Roland Haeder <roland@mxchange.org>
2015-11-12 19:15:37 +01:00
svdijk
1804fad355 Videomenu: Add integer scaling options up to 6x 2015-11-09 22:14:45 +01:00
svdijk
e92b54990d Videomenu: Also include crosshair_scale in the ui scale option 2015-11-09 22:09:48 +01:00
svdijk
8d9cdc0768 Videomenu: Limit the ui scale option to integer values
Fractional values look ugly. If people really want this they can set this from the console, we won't "advise" it from the menu.
2015-11-08 18:20:54 +01:00
svdijk
0cdf927d3e Default the various scale variables to "-1" (automatic) 2015-11-08 12:48:27 +01:00
svdijk
64d4e8e619 Videomenu: Change the HUD scale option to a more generic UI scale option 2015-11-08 12:46:38 +01:00
svdijk
dae3de4b73 Videomenu: Don't mess up custom hudscale setting upon "apply" 2015-11-08 11:15:36 +01:00
svdijk
a7e0338c56 Makefile: The OSX library extension is "dylib", not "dynlib" 2015-11-06 18:52:45 +01:00
svdijk
5b6fdb2bde CMake: Remove unneeded PREFIX setting for executables 2015-11-05 21:52:52 +01:00
svdijk
11750e8273 CMake: Use a single output dir "release", like the official Makefile 2015-11-05 21:52:14 +01:00
svdijk
a6b0796f03 CMake: Whitespace 2015-11-05 21:18:03 +01:00
svdijk
1950e7ff8f CMake: Build "game" as a MODULE instead of as SHARED
This avoids building an unwanted libgame.dll.a when cross-compiling for Windows.
2015-11-05 21:09:22 +01:00
svdijk
e467850800 CMake: Don't link "game" into "q2ded" 2015-11-05 21:08:41 +01:00
svdijk
e0fb8ec49f Fix a typo in CHANGELOG 2015-11-05 19:53:49 +01:00
svdijk
57c494cfd6 Fix compiler warning in stb_image.h 2015-11-05 19:51:22 +01:00
svdijk
2c2b0562c2 CMake: Some cleanup (alphabetical order, whitspace). 2015-11-04 22:08:00 +01:00
svdijk
98cdc57140 CMake: Add the icon to Windows executables. 2015-11-04 21:22:48 +01:00
svdijk
97f9494400 Windows: Use a relative path for the icon. 2015-11-04 21:08:25 +01:00
svdijk
ec9657134f Windows: icon.rc is a source file, so move it to the source directory. 2015-11-04 21:05:30 +01:00
svdijk
00768dff9e CMake: Partial revert of b0479ce.
Because setting both a default target directory and a configuration specific target directory wouldn't work as intended with multi-configuration generators.
2015-11-04 20:44:12 +01:00
svdijk
b0479ce200 CMake: Fix output dir for DLLs, also default to Release dir for non-debug builds 2015-11-03 22:57:18 +01:00
svdijk
60232425bb CMake: Support YQUAKE2LIBS also for cross compiling 2015-11-03 22:12:46 +01:00
Daniel Gibson
4cbe5f25e0 Fix volume of looped sounds in OpenAL backend, fixes #111
AL_PlayChannel() is only called by AL_AddLoopSounds() and
S_IssuePlaysound() - but only the latter set a volume there.
Because of that, loopsounds weren't hearable anymore after the last
commit which removed adding s_volume to all volumes in AL_PlayChannel().
This is fixed by setting the volume for looped sounds in
AL_AddLoopSounds() as well.
Looped sounds don't seem to have a customizable volume and are always
played at full volume (the volume is only changed by distance, but
OpenAL does that automatically).
2015-11-02 01:48:52 +01:00
Daniel Gibson
4e13e3ee69 Uncouple s_volume from raw samples (Ogg playback and cinematics) 2015-11-01 18:02:22 +01:00
Daniel Gibson
fd31e0060d Remove CD music enable box and introduce OGG volume slider in menu
The CD music enable / disable box wasn't used by many users for two
reasons: CD music playback needs a CDROM drive with analog output.
Such drives aren't available for at least 10 years. And CD music is
unsupported with SDL2. A OGG volume slider is much more usefull.
2015-11-01 17:45:09 +01:00
Daniel Gibson
12604bebe9 Change version to 5.33pre, changes for arbitrary length version strings
Con_DrawConsole() assumed that the version string was always 21chars
long, we changed it to allow longer strings with other lenghts.
In Unix main() we changed the code for underlining
"Yamagi Quake II $version" with === so the underlining is as long
as the underlined string.
2015-11-01 17:15:10 +01:00
Yamagi Burmeister
92d48735f5 Bump version number to 5.32 2015-10-31 16:54:04 +01:00