Commit Graph

410 Commits

Author SHA1 Message Date
zoltanvb
072d949346
Pointer handling sanitization - wayland and libretro.h changes (#17277)
Adapt the sanitized pointer handling, discussed at #17196:

Wayland driver specific changes:
- make sure pointer position is always within [-0x7fff,0x7fff]
  by using the confined wrapper
- enable lightgun to report -0x8000 if pointer is really offscreen
- remove extra "inside" checks
- report same pointer/lightgun coordinates for all ports
- simplify pointer and lightgun handling

Other changes:
- unify "offscreen" condition through input_driver.c
- slight tuning of pointer conversion in video_driver.c
- update libretro.h with explanation and pointer offscreen value
- small fixes on remote retropad test screen
2024-12-21 13:28:27 -08:00
libretroadmin
82e4504968 Revert "(pt. 2) static variables are initialized to '0' automatically as per C rules"
This reverts commit 47410df7a3.
2024-11-19 03:03:05 +01:00
libretroadmin
47410df7a3 (pt. 2) static variables are initialized to '0' automatically as per C rules 2024-11-18 15:59:46 +01:00
zoltanvb
2a6de277b1
Extend the sensor/pointer test screen (#17180)
Added extra edge indicators for special -0x8000 coordinates,
added touch press display, and fixed horizontal wheel display.
2024-11-10 15:02:00 -08:00
LibretroAdmin
e45bc853ec
Revert "Pointer confinement support (opt-in) (#17169)" (#17173)
This reverts commit 90ee413a81.
2024-11-07 07:31:47 -08:00
zoltanvb
90ee413a81
Pointer confinement support (opt-in) (#17169)
New environment set call to enable a bit more sensible handling of
absolute pointing devices (pointer and lightgun). With the
confinement enabled, pointing devices will not return neither
-0x8000 nor (0,0), which was anyway dependent on the input driver,
instead they will stay at the extreme edge.
2024-11-06 15:19:08 -08:00
zoltanvb
ede9ddcd05
Tests for pointer device and associated buttons. (#17130)
Sensor screen is extended with a pointer (a single white pixel)
and a few indicators for the mouse and lightgun buttons. Pointer
type is selectable from core options (mouse, lightgun, pointer,
old relative lightgun). An extra square indicator shows when
absolute pointer types get near the edge / to the very edge /
return to 0,0 position.
2024-10-28 14:33:17 -07:00
Viačasłaŭ
3019b926c2
Fix typos (#17068) 2024-10-01 17:36:33 -07:00
Eric Warmenhoven
b557bc9523
Fixing compiler warnings (#17001) 2024-09-14 13:11:20 -07:00
libretroadmin
b8391e233f * PATH_MAX_LENGTH redefined from 4096 to 2048
* Massive reduction in heap space allocation, going from settings struct
264kb to 119Kb
* Use NAME_MAX_LENGTH for base paths/names, etc
* Use DIR_MAX_LENGTH for directory sizes
2024-09-09 05:47:32 +02:00
Viačasłaŭ
33d9def3b3
(ffmpeg core) Fix audio buffer size (#16820) 2024-07-27 01:14:27 -07:00
libretroadmin
77a52bcec5 Silence warnings 2024-07-20 16:08:13 +02:00
zoltanvb
7db9a2de60 Test input driver and sensor test screen
A new input driver (test_input), similar to test joypad driver.
Takes its inputs from a json file provided in options. Supports
keyboard input and sensor input (accelerometer, gyroscope,
illuminance).

Remote Retropad extended with a sensor test screen.
2024-07-06 13:55:55 -05:00
libretroadmin
6cc5c414da Revert "Cleanups - remove/silence warnings"
This reverts commit cf04a2c0fe.
2024-06-15 06:20:55 +02:00
libretroadmin
3e85a17d7a iFix warnings picked up by -fanalyzer 2024-05-23 23:50:23 +02:00
libretroadmin
cf04a2c0fe Cleanups - remove/silence warnings 2024-05-23 07:48:08 +02:00
zoltanvb
198656eb20
Add support for multimedia keys (#16502)
Extended RETROK_ values with 18 new items, commonly found on
"multimedia" keyboards.

Mapping added for SDL, X11, Wayland, dinput, winraw keymaps.

Keyboard tester function of Remote Retropad extended to cover new keys.

One fix in Android mapping for #12986
2024-05-11 17:06:54 -07:00
Robert-André Mauchin
bff678c48a
Add compatibility with FFMPEG 7.0 (#16499)
channel_layout has been replaced with ch_layout

Fix: #16437
2024-05-09 11:31:17 -07:00
zoltanvb
3092740312
Fix socket close method (#16494)
Use the platform independent socket close function from same place where all other socket communication is used from.
2024-05-05 03:48:37 -07:00
zoltanvb
28189a04a4
Analog button and keyboard tester. (#16390)
Added analog button indication for those buttons that may have use for it
- primarily L2/R2, but support was added for all buttons where at least
one controller is known to support it. Added also core option to hide
mismatching inputs where analog value is not sent (like keyboard
hotkeys assigned to retropad buttons). Analog button inputs are not
set up for remote transmission, only for local test.

Analog axes have now also dynamic coloring.

Added a keyboard tester screen which includes a standard 102-key PC
keyboard + extra blocks for all RETROK_ values present in the code.
Screen adapted from DOSBox-Pure onscreen keyboard with permission.
Keyboard button A+B switches between the two screens. Keyboard
inputs are not set up for remote transmission, only for local test.
Core option added to select start screen.

Other small improvements: core reset will take new option values,
input driver applies received values more carefully.
2024-05-04 00:33:25 -07:00
zoltanvb
b27233b3b8
Test input joypad driver (#16370)
* Test driver for joypad inputs

Add a new joypad input driver:
- hide driver behind #ifdef and enable it in config_params.sh
- add a new config parameter to specify the test input file
- add aux files: additional config files that cancel out any binds
  that may be present in RA config, autoconfig profile for
  test joypads, test input file that matches controller test
  sequence

* Fixes and comments for test input driver.
2024-03-18 12:07:36 -07:00
zoltanvb
99aadc8651
Input test function for Remote RetroPad (#16357)
Add input test capability for Remote Retropad core:
- read an .ratst file (JSON format) with test steps
- display instruction (via libretro SET_MESSAGE)
- highlight input to be activated
- display summary when test is finished
2024-03-15 23:59:56 -07:00
zoltanvb
c5c17dac46
Remote retropad display update (#16342)
Refine the display for Remote RetroPad, as a preparation for
using it as a test tool:
- added display for analog axes
- all inputs that were hit at least once, receive a light green color
- removed useless extra button (could never be sent)
2024-03-09 22:48:57 -08:00
libretroadmin
4cd68ddfbe (Video processor) C89 buildfix 2023-11-01 03:53:59 +01:00
Cpod12
904e9fbe1d
Added 21:9 as an option to RGUI (#15572)
* added 21:9 as an option to RGUI

* reverted files that weren't supposed to be changed

* fixed issue with 21:9 not showing in the menu and corrected buffer width
2023-08-12 05:51:12 -07:00
hunterk
2a36245e0c
make ffmpeg core compile separately again and silence a couple of unused variable warnings (#15108) 2023-03-19 02:38:18 +01:00
libretroadmin
7ebab640d7 Cleanups/style nits 2023-02-23 13:15:14 +01:00
gouchi
df5f8df7ea
Enable RETRO_ENVIRONMENT_SET_SUPPORT_NO_GAME for libretro-video-processor (#14969) 2023-02-12 18:10:29 +01:00
libretroadmin
daa9e352cc Remove asserts 2023-01-09 00:51:05 +01:00
Rany
7b09cb2de4
Fix runtime error in FFmpeg core when build with FFmpeg n5.1.2 and OpenGL ES (#14710)
* include libavcodec/version.h in video_buffer.h

Without this header video_decoder_context_t may be defined as different structure
in video_buffer.c and ffmpeg_core.c

* Fix the wrong data pointer for glTexImage2D when OpenGL ES enabled
2022-12-08 12:45:07 +01:00
LibretroAdmin
a974cef001 (sinc resampler) Simplifications - call besseli0 directly instead of
through kaiser_window_function wrapper function - get rid of some unnecessary
sqrtf calls and such, some other small opts
2022-08-02 11:29:05 +02:00
Autechre
4c3a4d66df
Cxx buildfixes (#13803)
* CXX_BUILD buildfixes
* (D3D11) Buildfixes for CXX_BUILD
* (Linux/qb) Disable KMS for Linux when building for C89, headers use inline which is not
available for C89
2022-03-30 17:30:20 +02:00
Keith Bowes
bbfcecfab0
Fix building against FFmpeg 5.0 (#13611)
Co-authored-by: Maxime Gauduin <alucryd@archlinux.org>
2022-02-18 18:40:54 +01:00
Vladimir Serbinenko
f0d8af0d34
Remove gong now that it has been successfully extracted into a standalone core (#13637) 2022-02-18 17:03:35 +01:00
twinaphex
d4dbd677db (Dynamic dummy) Prevent recursive control path 2022-01-20 00:01:07 +01:00
Francisco Javier Trujillo Mata
1cd0938cc3
[PS2] Improve Compilation (#13359)
* Allow parallel compilation in PS2

* Allow to compile with griffin or common compilation in PS2

* Enable dummy core to be used in other platforms

* Use threads in YML config

* Add the compilation to PS2 in GitHub Actions
2021-12-15 19:01:56 +01:00
Mark W. Kidd
2b3dfeb10c standardize include path for config.h 2021-08-18 18:54:40 -04:00
twinaphex
1b4cbf3ed5 (ffmpeg core) Struct reordering, alignment 2020-08-16 04:23:15 +02:00
jdgleaver
0fcc5a784e (ffmpeg) Fix memory leak/struct member issue 2020-08-05 16:47:04 +01:00
jdgleaver
d36cd7037a (ffmpeg) Prevent seeking past the end of files (hang fix) 2020-08-04 17:21:18 +01:00
twinaphex
b6432cd8b4 (ffmpeg core) Use bitmasks 2020-07-14 01:27:19 +02:00
twinaphex
0a1942f528 Turn fifo_read_avail and fifo_write_avail into macros 2020-07-07 08:13:32 +02:00
twinaphex
7c3f227cab (ffmpeg) Cleanup 2020-07-06 10:19:48 +02:00
twinaphex
53797b15ce CXX_BUILD buildfix 2020-06-30 22:15:49 +02:00
jdgleaver
c48c26aff6 Add 'progress message' widget (for 'RETRO_MESSAGE_TYPE_PROGRESS' core messages) 2020-06-30 17:15:36 +01:00
twinaphex
968922e151 Fix static code analysis warnings 2020-06-29 21:24:32 +02:00
twinaphex
a00ab53ef6 Put fprintfs and printfs behind ifndef NDEBUG 2020-06-17 11:22:31 +02:00
twinaphex
b8c41812bf Move use_gl variable outside of the while loop 2020-06-05 16:53:28 +02:00
twinaphex
52e1c38cf1 Fix C89 variable declaration issue 2020-06-05 16:27:56 +02:00
Vladimir Serbinenko
1fcdddf579 Remove manual MSB_FIRST definitions and switch to retro_endianness.h 2020-04-21 04:16:55 +02:00