Commit Graph

254 Commits

Author SHA1 Message Date
Flyinghead 3e3fa08430 input: use btn/axes names in ui. fix mouse btn mapping
Use button and axis names in mapping UI
Mouse button remapping was impossible
x11: use same config names for window size as sdl/win
2020-11-20 22:10:14 +01:00
Flyinghead adf5a7e8e4 fix tests. sdl init iisue on rpi3 2020-07-06 17:29:53 +02:00
Flyinghead 2e9238d719 omx: fix buffer overflow. evdev: better default gamepad mapping 2020-05-11 16:11:31 +02:00
Flyinghead 34575d577c fix sdl+egl build. get rid of USES_HOMEDIR. thread deadlock at exit
fix odroid xu3 build
sdl: use left or right alt+enter to maximize window
deadlock at exit if dc_exit called from emu thread
2020-05-08 18:41:36 +02:00
Flyinghead 17a2c3644f ui: add loading screen with cancel button. don't freeze ui on load 2020-04-20 18:52:02 +02:00
scribam e99aac3575 Remove "using namespace std;" 2020-03-30 23:00:43 +02:00
scribam 4bf6802855 Cleanup include headers 2020-03-29 14:26:21 +02:00
Flyinghead 5a1b7374e5 change icons. display error message when game fails to load. 2020-03-21 15:05:38 +01:00
Flyinghead 0c2e95185c support for right analog stick. Fix gunsur2 inputs 2020-03-20 16:57:50 +01:00
Flyinghead 4e73af0f94 Mem leaks in input mapping/jvs/x11. Fix crash when latin-1 char is input
Fix warnings
2020-03-12 16:09:05 +01:00
Flyinghead b79c074444 axe wchar 2020-01-31 23:51:12 +01:00
Flyinghead 86818389ac move texture cache to a template class. vulkan: OSD on android
store texture in the cache map instead of the heap
make related functions member of the class (CollectCleanup, killtex ->
Clear)
refactor common OSD stuff into rend/osd
vulkan support for OSD
2019-10-21 16:39:16 +02:00
Flyinghead 2a89874812 decouple imgui from gles renderer 2019-10-19 18:34:24 +02:00
Flyinghead 6611e9bf5e gl: refactor wsi into their own class.Allow dynamic vk<->gl switch 2019-10-18 21:57:08 +02:00
Flyinghead b1defae3f7 vulkan renderer - WIP 2019-10-05 11:50:14 +02:00
Flyinghead ae4f378747 Add fast-forward mode
Fix buttons.png not being created if not first run
2019-09-27 14:15:29 +02:00
Flyinghead 69041912e3 x11: clear window at startup. Set icon and class 2019-09-20 19:02:54 +02:00
Flyinghead 8b949e1dca Get rid of time_sync timer. Clean-up 2019-09-11 15:09:23 +02:00
scribam 49b7e0682b Cleanup 2019-09-07 20:36:13 +02:00
scribam 79f801d314 Remove Emscripten support entirely
Makefile for Emscripten build has been dropped in commit 1333d6f776
2019-08-30 20:01:14 +02:00
scribam 71f03cceae linux/x11: Remove x11_gl_context_destroy function
This function is never called and the logic already exists in the x11_window_destroy function
2019-08-22 20:25:22 +02:00
Flyinghead f3a91de1af Unify dreamcast, naomi and atomiswave builds WIP 2019-07-09 23:52:19 +02:00
Flyinghead ad4218d617 audio: use new logging
other logging changes
2019-07-01 17:17:08 +02:00
Flyinghead 8404c6322c New logging framework stolen from dolphin 2019-06-30 21:06:46 +02:00
Flyinghead b226544d03 Merge remote-tracking branch 'origin/master' into fh/wince-dynarec 2019-06-21 14:37:32 +02:00
Flyinghead f29569cf5d more name change 2019-06-20 23:46:20 +02:00
Flyinghead bd30752b86 Use auto& to avoid copy when iterating. Inline mmu_Read/WriteMemNoEx 2019-06-08 13:04:35 +02:00
Flyinghead fb76efb08d Standard functions for virtual mem alloc/protect/map/... 2019-05-22 11:41:12 +02:00
Flyinghead eb725f9e66 x11: fix fallback to gl 3.0. fix crash when switching renderer.
Fallback to GL 3.1 when GL 4.3 isn't available was broken.
Fallback to GL 3.0 instead of 3.1.
Fix crash when switching renderer (per-pixel, per-triangle)
2019-05-10 11:15:44 +02:00
Flyinghead e8205e568b naomi/aw: fix atomiswave and naomi inputs
atomiswave analog axes support
map atomiswave and naomi driving games inputs
2019-04-06 19:36:57 +02:00
Flyinghead 8fb1d80751 gui: display VMUs on pause 2019-03-29 17:35:00 +01:00
Flyinghead daf4980fc8 input: save assigned maple port of each gamepad 2019-03-29 17:19:18 +01:00
Flyinghead ca58c323cd Moved most android settings into the new gui
virtual gamepad editing and settings
home directory setup during onboarding
start content browser at app startup after getting permission
Use imgui osd to display error messages (msgboxf)
Added About tab in settings with version, git hash and Send logcat
button (android)
2019-03-05 00:54:01 +01:00
Flyinghead 17b495e7e4 NoSound setting wasn't saved
Fix profiler handler ids
2019-03-04 00:32:15 +01:00
Flyinghead 492e771272 Content browser (WIP)
Get rid of the renderer thread. It is now the main/UI thread on all
platforms. The emulator runs in a separate thread.
Content browser displayed at startup.
2019-02-25 17:52:53 +01:00
Flyinghead c6baa4827b x11: support mouse wheel. ascii text keyboard input 2019-02-24 12:53:49 +01:00
Flyinghead a39503dd56 rumble support for xinput and evdev 2019-02-22 19:23:03 +01:00
Flyinghead 91e7c45a5c x11: keyboard and mouse use new input system 2019-02-22 12:56:21 +01:00
flyinghead 94f346a1e0 win32: use new input system 2019-02-21 17:57:51 +01:00
Flyinghead 4ae11053ce use smart pointers to avoid crash when a gamepad is disconnected 2019-02-21 14:49:27 +01:00
Flyinghead 4425587389 missing file from previous commit 2019-02-21 12:46:56 +01:00
Flyinghead 8e4e2c67f2 evdev: use new input system. detect hot-plugged devices with udev 2019-02-21 12:46:00 +01:00
Flyinghead 5e65d2a19d Per-game configuration: create/delete from gui
Removed unused settings
Per-game setting can override any setting
Built-in per-game settings can be overriden
2019-02-16 14:25:54 +01:00
Flyinghead 8b5c2a3fac New input handling/mapping system, SDL only for now. Gui wip 2019-02-12 11:30:24 +01:00
Flyinghead 5ef0f74620 win32: keyboard support 2019-02-09 16:22:09 +01:00
Flyinghead 82f156f143 Gamepad support to GUI. Wire evdev, SDL and windows
Allow dc_stop() to work even when the emu is paused
2019-02-07 16:59:24 +01:00
Flyinghead 1802c022fd UI with ImGui 2019-02-06 19:57:13 +01:00
Flyinghead a7a5618442 evdev: too much logging 2019-02-06 15:00:40 +01:00
Flyinghead 9ccf0efdea switch between interpreter and dynarec at runtime 2018-11-11 23:49:41 +01:00
Flyinghead 0702682693 AtomisWave support
Better AtomisWave platform support
Refreshed flashrom implementaion
AtomisWave carts
Merged rom+bios romsets
2018-11-07 23:27:32 +01:00
Flyinghead 613e42a014 Naomi: better id of games, per-game jvs setup and settings
Better lst parsing with error handling
2018-10-17 13:18:24 +02:00
Flyinghead 2214af734f JVS: Fix multiple i/o board problems
Rotary encoders support for Virtua Golf and Shootout Pool
2018-10-16 15:34:45 +02:00
Flyinghead ff01e3521b Better NAOMI JVS emulation 2018-10-11 10:09:28 +02:00
Flyinghead b47be37b32 Dynamic switching between GL3 - GL4 renderers 2018-10-04 19:44:52 +02:00
Flyinghead 3f791d6f04 Merge OIT renderer into master 2018-10-04 10:29:23 +02:00
Flyinghead 601fafa1ad Light gun support 2018-10-01 20:34:35 +02:00
Flyinghead 5fe41e5f1f keyboard: reset released key 2018-09-26 22:58:15 +02:00
Flyinghead 752d254982 X11: keyboard auto-repeat detection 2018-09-26 10:08:49 +02:00
Flyinghead 4547973561 Better mouse handling on X11 2018-09-26 02:00:50 +02:00
Flyinghead dc5ce8fa8b Create maple devices on Linux. Default to 2 VMUs per controller 2018-09-24 18:56:24 +02:00
Flyinghead 62eeca5882 Merge remote-tracking branch 'origin/master' into fh/mymaster 2018-09-21 00:37:34 +02:00
Flyinghead de147549c3 Save states implementation 2018-09-20 19:48:46 +02:00
Christoph "baka0815" Schwerdtfeger 5b8749fbaa evdev: If there was an error initializing a controller, don't proceed
If the controller was not correctly initialized, the fd and/or the mapping might not be set, which could then result in access violations or other errors.
2018-09-20 17:43:24 +02:00
Flyinghead 7ce4fccb37 Merge remote-tracking branch 'origin/master' into fh/mymaster 2018-09-20 17:28:41 +02:00
Flyinghead 8a2684ff55 Dreamcast mouse emulation 2018-09-18 09:27:16 +02:00
Flyinghead 0e939b5f68 Keyboard: Better keycode mapping, added CTRL. Maple cleanup. 2018-09-08 14:35:46 +02:00
Flyinghead 54d0bdc5e2 Dreamcast keyboard emulation (X11 only for now) 2018-09-06 20:17:28 +02:00
Sven daae7c8e68 add save states 2018-09-02 09:49:23 -04:00
Christoph "baka0815" Schwerdtfeger 555e140216 evdev: Remove unnecessary exports in header
``input_evdev_init(EvdevController* controller, const char* device, const char* mapping_fname)`` and ``input_evdev_button_duplicate_button(EvdevControllerMapping* mapping1, EvdevControllerMapping* mapping2)`` are no longer used outside evdev.cpp
Needed to move ``input_evdev_init()`` around a bit.
2018-08-31 16:59:37 +02:00
Christoph "baka0815" Schwerdtfeger 8cbc342b06 Maple specific header no longer necessary 2018-08-31 16:52:08 +02:00
Christoph "baka0815" Schwerdtfeger a9a67fdaa5 Move the evdev specific code out of main.cpp 2018-08-31 16:47:55 +02:00
Christoph 14e1e4ded4
Merge pull request #1339 from reicast/baka/evdev_symlink
evdev: Search for libevdev.so.2 first
2018-08-27 10:25:40 +02:00
Christoph "baka0815" Schwerdtfeger 0f228690ad evdev: Fix off by one error
The port for player1 is 0, not 1 (we're zero based here).
2018-08-27 10:01:08 +02:00
Christoph "baka0815" Schwerdtfeger 1d66d1e2da evdev: Search for libevdev.so.2 first
Many Linux distributions provide livevdev.so.2 only so check that first.
2018-08-27 09:53:54 +02:00
Stefanos Kornilios Mitsis Poiitidis ba8b9014a2
Merge pull request #1326 from reicast/EvdevControllerMapping_string2
evdev: Mapping name as string
2018-08-25 21:25:32 +03:00
Christoph "baka0815" Schwerdtfeger 8593c209d9 Fixed type of formatting argument 2018-08-25 10:55:52 +02:00
Christoph "baka0815" Schwerdtfeger 80af04421a evdev: Mapping name as string
That way we don't need to reserve memory and the output (on the command line) is correct.
2018-08-25 10:17:10 +02:00
gameblabla 5f964de1fe
Fixes compiling if evdev is disabled 2018-08-24 23:13:41 +02:00
Abandoned Cart 97c5b9e490
Merge pull request #1282 from reicast/baka/evdev_warnnotconfigured
evdev: Print a warning if a key is not configured
2018-08-22 18:14:18 -04:00
Abandoned Cart d7b5533210
Merge pull request #1304 from gameblabla/glesfix
Fixes compiling with GLES and X11
2018-08-21 14:02:06 -04:00
Christoph "baka0815" Schwerdtfeger ad20b55d2c Fix lgtm-warning 2018-08-21 00:33:18 -04:00
Christoph "baka0815" Schwerdtfeger c8baaac632 evdev/MapleType: Controller in port 1 defaults to VMU for Maple device, all other to None
Also allow 0 for "None"
2018-08-21 00:33:18 -04:00
Christoph "baka0815" Schwerdtfeger 638a97d1ae Maple: Reworked the way controllers are created
A new function was introduced to abstract the setup of input devices for each os: os_SetupInput().
I hope I implemented this everywhere correctly and the behaviour is identical to before.

The new function mcfg_CreateNAOMIJamma() creates the NAOMI Jamma interface and is hidden behind a compile flag (same as before).
The previous function mcfg_CreateDevices() was renamed to mcfg_CreateDevicesFromConfig() because it creates the devices based on the configuration (``nb`` setting).
2018-08-21 00:33:18 -04:00
Christoph "baka0815" Schwerdtfeger 7ef105822a evdev: Move creation of controllers
Don't expose mcfg_Create() directly, but use a proxy method mcfg_CreateController() to create the complete controller.
Using evdev the ``nb``-setting in the ``emu.cfg`` is no longer necessary (see #970) as the devices get created while initializing the controllers.

Moved the ``switch`` to it's own function.
2018-08-21 00:32:05 -04:00
Christoph "baka0815" Schwerdtfeger f75ba32fa9 evdev/maple: Set devices via config 2018-08-21 00:32:05 -04:00
Christoph "baka0815" Schwerdtfeger 17d9159b82 evdev: Add maple devices 1 and 2 to mapping & cfg 2018-08-21 00:32:05 -04:00
Ender's Games 78977387ac Reios: perform initial configuration, as needed 2018-08-20 12:28:58 -04:00
gameblabla 8a53efec62
Fixes compiling with GLES and X11 2018-08-20 13:17:01 +02:00
Flyinghead 04b84b90e3 Merge master into fh/mymaster 2018-08-13 18:01:24 +02:00
Christoph "baka0815" Schwerdtfeger 7029af98a3 evdev/dupcheck: Don't check unassigned buttons
Also removes the trailing whitespaces.
2018-08-13 13:10:59 +02:00
Christoph "baka0815" Schwerdtfeger 21ea713032 X11: Values >= 1 enable keyboard 2018-08-12 15:17:56 +02:00
Christoph "baka0815" Schwerdtfeger 369ecf2db2 evdev: Print a warning if a key is not configured 2018-08-12 09:50:14 +02:00
Christoph "baka0815" Schwerdtfeger 891666d9ce evdev: Check for duplicate key assignment 2018-08-11 09:56:13 +02:00
Christoph "baka0815" Schwerdtfeger e2d186f7be evdev: Testing shows: You *can* assign the same device to multiple ports. 2018-08-10 10:16:29 +02:00
Flyinghead 9942bfc86e Merge branch clean-exit-light 2018-08-01 18:02:50 +02:00
Flyinghead 960904c401 Exit cleanly in desktop platforms
Lighter and cleaner version of the previous PR
2018-07-23 19:52:50 +02:00
Stefanos Kornilios Mitsis Poiitidis 95ce251639
Merge pull request #1079 from myfreeweb/master
Build on FreeBSD
2018-07-22 00:37:34 +02:00
Flyinghead 71d7f90858 Merge upstream 2018-07-19 12:19:51 +02:00
Stefanos Kornilios Mitsis Poiitidis a5cf5406cb
Merge pull request #1181 from baka0815/X11
X11: Refactored and fixed buttons
2018-07-18 20:59:02 +02:00
Christoph "baka0815" Schwerdtfeger 2a167e343b X11: use x11_keymap[] for the shoulder trigger
Use DC_AXIS_LT and DC_AXIS_RT for the sliders. They are not real axes on a keyboard, but it fits.
Also hide the printf() behind a define.
2018-07-18 19:31:35 +02:00