Commit Graph

131 Commits

Author SHA1 Message Date
3e77466b86 bootmanager: Don't create another screenshot request if previous one is not done yet 2022-04-18 01:00:48 -05:00
936829e873 yuzu: Reduce unused includes 2022-03-20 02:25:09 -04:00
e64ee99f00 yuzu: Fix TAS from rebase 2021-11-24 20:30:29 -06:00
922aa9410a bootmanager: Use cross-platform keyboard input 2021-11-24 20:30:28 -06:00
42949738f2 kraken: Address comments from review
Fix compiler bug
2021-11-24 20:30:28 -06:00
f4e5f89e6f core/hid: Improve accuary of mouse implementation 2021-11-24 20:30:28 -06:00
654d76e79e core/hid: Fully implement native mouse 2021-11-24 20:30:28 -06:00
bca299e8e0 input_common: Allow keyboard to be backwards compatible 2021-11-24 20:30:28 -06:00
b673857d7d core/hid: Improve accuracy of the keyboard implementation 2021-11-24 20:30:28 -06:00
e7eee36d52 service/hid: Remove includes of core.h and settings.h 2021-11-24 20:30:27 -06:00
61d9eb9f69 input_common: Revert deleted TAS functions 2021-11-24 20:30:26 -06:00
737d305f63 yuzu: Use new input on main and bootmanager 2021-11-24 20:30:23 -06:00
5a785ed794 input_common: Rewrite keyboard 2021-11-24 20:30:22 -06:00
097de2febc const fixes 2021-11-21 18:07:37 -08:00
f90d980837 Added TAS controls to the menu under Tools 2021-11-21 17:28:47 -08:00
fe1f06c856 Fix screenshot dimensions when at 1x scale
This was regressed by ART.
Prior to ART, the screenshots were saved at the title's framebuffer resolution. A misunderstanding of the existing logic led to screenshot dimensions becoming dependent on the host render window size.

This changes the behavior to match how it was prior to ART at 1x, with screenshots now always being the title's framebuffer dimensions scaled by the resolution scaling factor.
2021-11-20 17:50:24 -05:00
80f8d4989e bootmanager: Fix screenshot resolution factor usage
Fixes screenshots at non integer scaling
2021-11-16 22:11:30 +01:00
a6e6a5ac38 general: Get the current process program id directly from the system
This allows us to avoid including KProcess' header file in files that only need to get the current process' program id.
2021-11-04 16:59:39 -04:00
64275dfbf4 general: Rename GetTitleID to GetProgramID 2021-11-04 16:57:16 -04:00
17763a44d5 core: Move ResultStatus outside of System
Allows it to be a forward declaration in other header files.
2021-10-15 17:34:49 -04:00
fb66a455c4 yuzu qt: Remove global system instances from config, WaitTree, main 2021-10-07 13:50:13 -04:00
282bdfd1bf yuzu: main: Register a callback for Exit 2021-10-01 23:39:54 -04:00
5401cf6eb5 input_common/tas: new update method 2021-09-18 23:22:57 +02:00
7ac99bb127 renderers: Add explicit invert_y bool to screenshot callback
OpenGL and Vulkan images render in different coordinate systems. This allows us to specify the coordinate system of the screenshot within each renderer
2021-07-28 21:46:08 -04:00
dd39b87b0c shader: Adhere to disk shader cache setting 2021-07-22 21:51:34 -04:00
747a33a41e bootmanager: Create a dummy render widget
This ensures that Qt positions the render window at the correct position on initializing the respective render backends.
2021-07-20 01:40:18 -04:00
14d5202da6 input_common: Fix mouse panning behaivour 2021-07-16 18:57:29 -05:00
4009ae1da2 bootmanager: Use std::stop_source for stopping emulation
Use its std::stop_token to abort shader cache loading.

Using std::stop_token instead of std::atomic_bool allows the usage of
other utilities like std::stop_callback.
2021-06-22 00:04:57 -03:00
2a7eff57a8 hle: kernel: Rename Process to KProcess. 2021-05-05 16:40:52 -07:00
6e81473574 input_common: Release mouse buttons on out of focus 2021-05-02 19:08:33 -05:00
a4c6712a4b common: Move settings to common from core.
- Removes a dependency on core and input_common from common.
2021-04-14 16:24:03 -07:00
827dcad26e Merge pull request #6040 from german77/toggleKeyboard
Enable toggle buttons for keyboard and mouse
2021-03-11 11:00:44 -08:00
1f228c51ca Enable button toggle for keyboard in the modifier button 2021-03-05 19:21:04 -06:00
4738e14cb0 inputCommon: Mouse fixes 2021-02-27 17:53:10 -06:00
75ccd9959c gpu: Report renderer errors with exceptions
Instead of using a two step initialization to report errors, initialize
the GPU renderer and rasterizer on the constructor and report errors
through std::runtime_error.
2021-02-13 02:16:19 -03:00
e53b6ecc76 Merge pull request #5869 from german77/mousePanning
input_common: Add mouse panning
2021-02-11 09:58:23 -08:00
52b79ac009 Add mouse panning 2021-02-07 20:31:58 -06:00
6e5cc977ad renderer_opengl: Update OpenGL backend version requirement to 4.6 2021-02-07 16:32:35 -05:00
b483f2d010 Always initialize keyboard input 2021-01-15 09:05:17 -06:00
8495e1bd83 Add mutitouch support for touch screens 2021-01-15 09:05:17 -06:00
0d7de7c2db yuzu: Migrate off of setMargin() to setContentsMargins()
setMargin() has been deprecated since Qt 5, and replaced with
setContentsMargins(). We can move over to setContentsMargins() to stay
forward-compatible with Qt 6.0.
2021-01-13 07:29:59 -05:00
5dfb8743cb yuzu/main: fix mouse not showing on move and port citra-emu/citra#5476 2020-12-31 21:16:09 +02:00
1b9e08ab78 cmake: Always enable Vulkan
Removes the unnecesary burden of maintaining separate #ifdef paths and
allows us sharing generic Vulkan code across APIs.
2020-12-24 21:07:24 -03:00
51a7681957 bootmanager: Add a check whether loading is complete 2020-12-18 10:33:28 -05:00
7bc3e80399 Merge pull request #4939 from german77/MouseInput
InputCommon: Implement full mouse support
2020-11-29 22:59:50 -08:00
e46f0e084c Implement full mouse support 2020-11-25 23:59:30 -06:00
0e15c68f54 Merge pull request #4976 from comex/poll-events
Overhaul EmuWindow::PollEvents to fix yuzu-cmd calling SDL_PollEvents off main thread
2020-11-25 20:44:53 -03:00
4fbe4da911 frontend: yuzu (qt): Register a callback for ExecuteProgram. 2020-11-24 15:18:29 -08:00
994f497781 Overhaul EmuWindow::PollEvents to fix yuzu-cmd calling SDL_PollEvents off main thread
EmuWindow::PollEvents was called from the GPU thread (or the CPU thread
in sync-GPU mode) when swapping buffers.  It had three implementations:

- In GRenderWindow, it didn't actually poll events, just set a flag and
  emit a signal to indicate that a frame was displayed.

- In EmuWindow_SDL2_Hide, it did nothing.

- In EmuWindow_SDL2, it did call SDL_PollEvents, but this is wrong
  because SDL_PollEvents is supposed to be called on the thread that set
  up video - in this case, the main thread, which was sleeping in a
  busyloop (regardless of whether sync-GPU was enabled).  On macOS this
  causes a crash.

To fix this:

- Rename EmuWindow::PollEvents to OnFrameDisplayed, and give it a
  default implementation that does nothing.

- In EmuWindow_SDL2, do not override OnFrameDisplayed, but instead have
  the main thread call SDL_WaitEvent in a loop.
2020-11-23 17:58:49 -05:00
484623cd61 bootmanager: Allow mouse clicks only if touch is disabled
Previously mouse clicks will not register when touch is disabled.
This rectifies that and allows mouse clicks to be mapped to other buttons if the touchscreen is disabled.
2020-11-15 23:33:19 -05:00