Commit graph

1666 commits

Author SHA1 Message Date
Morph f0dc07dbac yuzu: Construct system in GMainWindow 2021-10-15 17:35:33 -04:00
Morph 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
Mai M d5c4af2d5b
Merge pull request #7174 from MightyCreak/hide-cursor-by-default
Check "Hide mouse on inactivity" by default
2021-10-15 17:03:10 -04:00
Mai M 5b7b7276d5
Merge pull request #7185 from Morph1984/make_unique_ui
yuzu: Use make_unique instead of operator new for constructing ui
2021-10-15 16:58:45 -04:00
Romain Failliot ecef109162 Hide mouse cursor by default 2021-10-15 16:01:20 -04:00
Creak bad122b195
main: Slightly refactor NCA entry installation in InstallNCA (#7181)
* main: Slightly refactor NCA entry installation in InstallNCA

Co-authored-by: Ameer J <52414509+ameerj@users.noreply.github.com>
2021-10-15 15:57:25 -04:00
Morph 86908d569e main: Use std::unique_ptr for ui 2021-10-15 15:35:59 -04:00
Morph ab441fb009 configuration: Use std::make_unique instead of operator new for ui 2021-10-15 15:26:32 -04:00
Moonlacer c68ce25a14
settings_ui: Better NVDEC Description For Each Video Rendering Option (#7165)
* better_description

* Revert "better_description"

This reverts commit 3a152a6ba6f2d6e02530b69a8194e4db302c8acd.

* better_nvdec_wording

* best_performance

* update_word_stuff

* another_update
2021-10-14 18:01:12 -07:00
Morph b02d662980
Merge pull request #6774 from lat9nq/remove-global-yuzu
yuzu qt: Remove global system instances
2021-10-14 14:12:22 -04:00
bunnei 9f0f827db4
Merge pull request #7158 from ameerj/window-900p
main: Add option to reset window size to 900p
2021-10-13 12:29:45 -07:00
Ameer J a39760b947
Merge pull request #7147 from behunin/patch-1
Update configure_tas.ui
2021-10-12 15:52:21 -04:00
Romain Failliot 39b3c9022d Create local variables for mouse and wheel positions 2021-10-11 19:21:24 -04:00
Romain Failliot 818651909f Fix a few warnings
- configure_input_player_widget.cpp: always better to use `const auto &`
  whenever possible
- profiler.cpp: `ev->pos()` is deprecated, replace with
  `ev->position()`, which returns floats, thus the addition of
  `.toPoint()` (same as what's happening in `pos()`)
- game_list.cpp: `QString::SplitBehavior` is deprecate, use `Qt::`
  namespace instead
2021-10-11 19:21:17 -04:00
ameerj 5c829c7e4e main: Add option to reset window size to 900p 2021-10-11 01:29:02 -04:00
Levi Behunin 54ae8d1649
Update configure_tas.ui
Remove the geometry property again(7045) after 7090 re-added.
2021-10-08 15:52:17 -06:00
lat9nq b6894bfc5b discord_impl: Remove global system instances 2021-10-07 13:50:13 -04:00
lat9nq 4ce53ffe6a game_list: Remove global instances of Core::System 2021-10-07 13:50:13 -04:00
lat9nq 493905665c configuration: Add const qualifier where able 2021-10-07 13:50:13 -04:00
lat9nq fb66a455c4 yuzu qt: Remove global system instances from config, WaitTree, main 2021-10-07 13:50:13 -04:00
Morph 7bb2dd75cd service: Reduce header include overhead 2021-10-07 13:32:21 -04:00
bunnei 8fad7dc248
Merge pull request #7090 from Moonlacer/tas_spacing_addition
(Minor Change) Hint (?) Button Removal and Spacing Change to the TAS Window
2021-10-05 21:18:04 -07:00
bunnei e209fff374
Merge pull request #7111 from lat9nq/no-title-bar-version
main: Don't add an extra separator when the title version is absent
2021-10-03 00:27:08 -07:00
Morph 282bdfd1bf yuzu: main: Register a callback for Exit 2021-10-01 23:39:54 -04:00
bunnei 3a33519598
Merge pull request #7102 from Morph1984/remove-boxcat
Remove Boxcat BCAT backend
2021-10-01 18:41:41 -07:00
bunnei c3784b2a08
Merge pull request #7075 from v1993/power-of-tea
applets: Use subdirectory of main data directory for QtWebEngine storage
2021-09-30 16:29:28 -07:00
lat9nq 596323f89f main: Don't add an extra separator when the title version is absent
Some titles, such as homebrew, do not have any version string. Because
yuzu hard codes the title bar string assuming a version string is
preset, booting homebrew causes yuzu to add an extra separator with no
content between.

This uses a lambda expression to prevent that from happening.
2021-09-30 18:57:37 -04:00
Morph e29f3b87f1 style: Remove extra space preceding the :: operator 2021-09-29 01:26:01 -04:00
Morph 839547dc90 CMakeLists: Remove BoxCat build option 2021-09-29 01:24:21 -04:00
Morph 8af9f3216e settings: Remove BCAT settings 2021-09-29 01:24:21 -04:00
Morph 673d37a7c2 configure_network: Remove BCAT 2021-09-29 01:24:21 -04:00
Moonlacer d09e618bd2 configure_tas: Remove help button from dialog window 2021-09-29 00:12:31 -04:00
Moonlacer e55affe264 configure_tas: Ensure dialog buttons always stay at the bottom
Previously, the dialog buttons would be floating in-place when the dialog is stretched downwards.
This change ensures that the dialog buttons always stay at the bottom of the window.
2021-09-29 00:04:19 -04:00
Ameer J fba301155b
Merge pull request #7042 from v1993/patch-7
Hide XInput bypass on non-Windows OSes
2021-09-28 17:07:12 -04:00
bunnei 326a449ef0
Merge pull request #7068 from behunin/patch-3
Debug Config Ui: Clean-up and nits
2021-09-23 15:19:22 -07:00
v1993 3e07655b1b
Use subdirectory of main data directory for QtWebEngine storage
Previously, an unrelated directory was used for this. Keep everything together for consistency.
2021-09-24 00:49:39 +03:00
Levi Behunin 2b3c9c61db Clean-up and nits
Remove redundent label, rearange checkboxs to keep same 3 per column layout, remove unneeded properties.
2021-09-22 00:56:03 -06:00
Levi Behunin 77e327dd1a Clean-up
Numerize names, remove unneeded properties and spacer.
2021-09-20 20:02:54 -06:00
Levi Behunin ad85689417
Tas configure ui nits
Text looked cramped on my pc (Ubuntu 21.04). Re-flowed text as well for nicer read.
2021-09-18 19:41:59 -06:00
german77 75d8ec1e9f UI: Relocate tas menu and add brief description 2021-09-18 23:23:03 +02:00
german77 5401cf6eb5 input_common/tas: new update method 2021-09-18 23:22:57 +02:00
german77 33a1d790e8 input_common/tas: Document the main class 2021-09-18 23:22:48 +02:00
german77 e6c4bf52f0 input_common/tas: Add swap controller 2021-09-18 23:22:42 +02:00
german77 9bb6580d89 input_common/tas: overwrite file dialog 2021-09-18 23:22:42 +02:00
MonsterDruide1 f078b15565 input_common/tas: Fallback to simple update 2021-09-18 23:22:30 +02:00
german77 c01a872c8e config: Move TAS options to it's own menu 2021-09-18 23:22:30 +02:00
MonsterDruide1 4297d2fea2 core: Hacky TAS syncing & load pausing
To keep the TAS inputs synced to the game speed even through lag spikes and loading zones, deeper access is required.

First, the `TAS::UpdateThread` has to be executed exactly once per frame. This is done by connecting it to the service method the game calls to pass parameters to the GPU: `Service::VI::QueueBuffer`.

Second, the loading time of new subareas and/or kingdoms (SMO) can vary. To counteract that, the `CPU_BOOST_MODE` can be detected: In the `APM`-interface, the call to enabling/disabling the boost mode can be caught and forwarded to the TASing system, which can pause the script execution if neccessary and enabled in the settings.
2021-09-18 23:22:20 +02:00
MonsterDruide1 3a7b37238b main: TAS Playback state label
During script playback/recording, the user has to see what happens currently. For that, a new label has been added to the bottom-left corner, always displaying the current state of the TASing system.
2021-09-18 23:22:12 +02:00
MonsterDruide1 f25d6ebc45 settings: File selector & other settings
First of all, TASing requires a script to play back. The user can select the parent directory at `System -> Filesystem`, next to an option to pause TAS during loads: This requires a "hacky" setup deeper in the code and will be added in the last commit.

Also, Hotkeys are being introduced: CTRL+F5 for playback start/stop, CTRL+F6 for re-reading the script and CTRL+F7 for recording a new script.
2021-09-18 23:22:11 +02:00
MonsterDruide1 b42c3ce21d input_common/tas: Base playback & recording system
The base playback system supports up to 8 controllers (specified by `PLAYER_NUMBER` in `tas_input.h`), which all change their inputs simulataneously when `TAS::UpdateThread` is called.

The recording system uses the controller debugger to read the state of the first controller and forwards that data to the TASing system for recording. Currently, this process sadly is not frame-perfect and pixel-accurate.

Co-authored-by: Naii-the-Baf <sfabian200@gmail.com>
Co-authored-by: Narr-the-Reg <juangerman-13@hotmail.com>
2021-09-18 23:22:00 +02:00