Commit graph

60 commits

Author SHA1 Message Date
Yamagi Burmeister
11ad28b711 Unify gl_mode and sw_mode in r_mode. 2018-01-09 14:03:45 +01:00
Yamagi Burmeister
ae9d7e397f Rename gl_*scale to r_*scale. 2018-01-09 09:19:39 +01:00
Yamagi Burmeister
2c149eda99 Call te soft renderer just "Software" and not "SDL Soft". 2017-12-17 09:59:37 +01:00
Denis Pauk
c43e944a3d Rebase soft render from https://icculus.org/quake2/
* deleted asm code
* added support 2k+ resolutions
* SDL2 support
2017-12-11 23:33:19 +02:00
Denis Pauk
e7199f5c41 Add support for joystick/gamecontroller(axis/buttons/hats)/haptic.
By default joystick "in_joystick" and haptic feedback haptic ("joy_haptic_magnitude")
are disabled. And can be anabled by menu in options section. Joystick/Haptic
options are showed only if have found any.

By default axis is mapped in such way:
 * Left X(joy_axis_leftx): sidemove
 * Left Y(joy_axis_lefty): forwardmove
 * Right X(joy_axis_rightx): yaw
 * Right Y(joy_axis_righty): pitch
 * Trigger Left(joy_axis_triggerleft): triggerleft
 * Trigger Right(joy_axis_triggerright): triggerright

Joystick sensitivity varibales:
 * joy_yawsensitivity,
 * joy_pitchsensitivity,
 * joy_forwardsensitivity,
 * joy_sidesensitivity,
 * joy_upsensitivity.

For change joystick axis mapping to gamecontoller axis export SDL_GAMECONTROLLERCONFIG before run,
e.g.: SDL_GAMECONTROLLERCONFIG='<joystick guid>,<joystick name>,leftx:a0,lefty:a1,rightx:a2,righty:a3,'

Add menu navigation by dpad and thresholds:
 * Add threshold for axis (based on ioquake3), 0.15 by defaults.
 * Navigate in menus by dpad (up/down, left/right, any joystick button for enter).

Defaults:
 * in_joystick "0.0"
 * joy_haptic_magnitude "0.0"
 * joy_axis_leftx "sidemove"
 * joy_axis_leftx_threshold "0.15"
 * joy_axis_lefty "forwardmove"
 * joy_axis_lefty_threshold "0.15"
 * joy_axis_rightx "yaw"
 * joy_axis_rightx_threshold "0.15"
 * joy_axis_righty "pitch"
 * joy_axis_righty_threshold "0.15"
 * joy_axis_triggerleft "triggerleft"
 * joy_axis_triggerleft_threshold "0.15"
 * joy_axis_triggerright "triggerright"
 * joy_axis_triggerright_threshold "0.15"
 * joy_forwardsensitivity "1.0"
 * joy_pitchsensitivity "1.0"
 * joy_sidesensitivity "1.0"
 * joy_upsensitivity "1.0"
 * joy_yawsensitivity "1.0"
2017-09-16 14:23:12 +03:00
Yamagi Burmeister
503ab368a2 Decouple horplus and fov in the video menu.
Until now the video menu enforced:

* fov set to 90 and horplus set to 1
* fov set to something other than 90 and horplus to 0

If the user hat configured another configuration through the console the
menu would reset it, even if only unrelated changes are applied. With
this change horplus is ignored by the menu and only fov is altered. The
rationale behind this is that most users want horplus enabled and all
others can disable it through the console.

This is believed to fix issue #225.
2017-08-30 15:05:02 +02:00
Yamagi Burmeister
86fd714788 Allow to choose the fullscreen mode through the menu.
There're 3 possible values:
* no -> vid_fullsceen == 0
* keep resolution -> vid_fullscreen == 1
* switch_resolution -> vid_fullscreen == 2
2017-08-01 18:32:44 +02:00
Yamagi Burmeister
0608eed7c3 Fix order of the video menu items.
The internal order of the items is determined by Menu_AddItem() and
not the y position. Without this change the cursor didn't jump from
item to item, but from the mode list box to the aspect list box,
skipping the brightness slider.
2017-04-11 14:54:22 +02:00
Yamagi Burmeister
b48108cf37 Add the renderer selection back to the video menu.
Remove the 'viewsize' slider to free one row. Use this row for the new
renderer selection. While at it reorder the items.
2017-04-10 23:15:36 +02:00
Yamagi Burmeister
df86c46e57 Several adjustments to the visual impression.
- Bump vid_gamma to 1.2 in both GL1 and GL3. A default value of 1.0 is
  too dark.
- Lower gl3_overbrightbits to 1.3, the previous value of 1.5 was too
  bright. This can be seen in later units, for example on mine1 some
  textures blended into white.
- Lower gl3_particle_size to 40. A value of 60 may be okay, but with
  gl3_particle_fade_factor 1.2 the particles take up too much screen
  estate in close range combat.

With this changes GL3 looks (at least for me) nearly the same as GL1
rendered through the removed multitexturing path.
2017-04-10 19:28:46 +02:00
Daniel Gibson
c4c21075a4 vid_listmodes command to show video modes, add 720p mode
the very unusual 1280x854 mode has been replaced with the more common
1280x720 ("720p").
2017-02-25 20:33:17 +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
de8c50bcb9 Videomenu: Make the "custom" value handling less error prone. 2015-11-16 19:11:00 +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
Yamagi Burmeister
7ddbedc9c5 Enable hudscaling by default
The default value is now -1 aka "auto". If someone wants to disable it
hew can do so in the menu.
2015-06-06 20:56:39 +02:00
Yamagi Burmeister
50ad12ce13 Add a video menu entry to set the HUD scaling factor 2015-06-06 20:45:05 +02:00
Yamagi Burmeister
af70f276a9 Implement scaling of the menu
This commit has some drawbacks:
- It's rather hacky. The Quake II menu is crap and was never intended
  to be scaled. My approach was to add scaling to most of the generic
  functions and handle all the special cases in the non generic parts
  of the menu. A better solution would require to rewrite at least
  parts of the menu. And like it's said in qmenu.c: I won't do that.
- Some menu elements are aligned to the right, others to the left. In
  many places magic numbers are used to align elements by hand. This
  makes it very hard to impossible to implement a scaling logic which
  works in all situations. With this approach most menus look good up
  to at least a scaling factor of 3. Especially the "Player Setup"
  menu is very problematic at small disalignements are unavoidable.

Please note, that only the menu system itself is scaled. Some elements
like the the "Quit Screen" or the loading plaque are still missing. They
will be done in a later commit.
2014-06-24 19:39:10 +02:00
svdijk
9be6a7ec46 videomenu: minor tweak regarding the aniso filtering option. 2014-05-05 18:31:08 +02:00
svdijk
ba16e501d2 videomenu: minor cvar ordering change. 2014-05-04 20:47:52 +02:00
svdijk
4e8a5565a9 videomenu: remove obsolete options, some cleanup. 2014-05-04 20:44:29 +02:00
svdijk
af852ea5bd videomenu: add an "aniso filtering" option. 2014-05-04 20:26:12 +02:00
svdijk
6b79e31d8d videomenu: correct the "screensize" slider range. 2014-05-04 13:39:05 +02:00
svdijk
3bb9f49f19 videomenu: readd 16x MSAA option, check what we got after setting mode. 2014-05-01 20:52:25 +02:00
svdijk
a2b6f1b7af videomenu.c: remove unsupported "16x" option from MSAA list. 2014-04-20 03:12:13 +02:00
svdijk
a0ca33901e videomenu.c: minor fix regarding the multisampling option. 2014-04-19 13:00:12 +02:00
svdijk
0973c1de10 videomenu.c: consistent capitalization. 2014-04-17 20:25:39 +02:00
svdijk
04c5b881a2 Video menu: add msaa option. 2014-04-16 22:47:23 +02:00
svdijk
ec8edb5d3b Video menu: add vsync option. 2014-04-12 15:03:40 +02:00
svdijk
e86aabc949 Menu: make sure spincontrols don't start out of range. 2014-03-29 18:50:48 +01:00
Yamagi Burmeister
9af9f54f36 Remove QGL pointers
This is a manual merge of Hecatomb Q2 ref b8952d5. Manual since git
couldn't do an automerge for some reasons... Notable changes are:
- QGL function pointers are removed, libGL is linked directly
- The OpenGL log framework is removed. It was disfunctional
- The gl_driver cvar is finaly gone
This change is currently untested on Windows and OS. There should
be no problems but a better Makefile integration of libGL is needed.
2013-06-15 10:37:11 +02:00
Alejandro Ricoveri
3e45c5e363 Refresh API refactoring
Analog functions of the former refexport_t are now public for the client
to access.
2013-06-15 10:27:30 +02:00
Alejandro Ricoveri
8e69d9dc5c Remove vid_ref cvar
Normally setting gl_mode cvar would result in VID_LoadRefresh because
of vid_ref being "modified". After removing vid_ref out of the picture
it will "modify" vid_fullscreen to replicate the same behaviour.

Variable "name" (who used to hold refresh dll name) is now left unused

All references to vid_ref cvar has been taken out ...
2013-06-15 10:27:30 +02:00
svdijk
55d6a601c9 Fix default video mode.
Revert "The default video mode is 5 (640x480). Spotted by svdijk."
This reverts commit a76d7d5cfb.
2013-05-28 20:42:57 +02:00
svdijk
9564b7b55e fix aspect ratio menu option 2013-05-19 18:42:44 +02:00
svdijk
b9deabd86a videomenu: fix CUSTOM_MODE 2013-04-21 18:44:50 +02:00
Brandon Foltz
d6feeeff8d Added support for 1366x768 laptop resolution in video menu. 2013-01-18 14:59:44 -05:00
Yamagi Burmeister
a76d7d5cfb The default video mode is 5 (640x480). Spotted by svdijk. 2012-11-14 21:12:21 +01:00
svdijk
76e3480ccb Some rewriting of windowed_mouse setting, in preparation of releasing the mouse in the menu. 2012-10-30 20:36:15 +01:00
Ricardo Garcia
74beca0d11 Add "horplus" cvar to get Hor+ behavior with default FOV
If "horplus" is set, the "fov" cvar is interpreted as the horizontal FOV
in a 4:3 screen, and is adapted automatically to the current screen
aspect ratio accordingly. If not set, use the old Vert- approach.

In addition, "horplus" can also be set from the video menu by selecting
the "Auto" option for aspect ratio, which also resets the FOV value to the
standard 90 degrees.

Finally, add a 5:4 aspect ratio (1280x1024) and correct the 16:9 angle
slightly.
2012-10-28 10:20:46 +01:00
Sander van Dijk
f292c1e22d Fix custom resolution handling in the video menu. 2012-08-06 14:04:12 +02:00
Sander van Dijk
3d4bbe6c31 Fix aspect menu options. 2012-08-03 08:05:09 +02:00
Yamagi Burmeister
efd1ddb1c5 Initialze vid_gamma 2012-08-02 15:33:42 +02:00
Yamagi Burmeister
8141380030 Allow to set the aspect ratio via the menu 2012-08-02 15:18:58 +02:00
Yamagi Burmeister
de9dda7432 Restart the refresher when certain values are changed via the menu 2012-08-02 14:59:51 +02:00