Commit Graph

9379 Commits

Author SHA1 Message Date
05e28a53e8 input_common: Add support for GameCube Adapter
This is a port of the initial GameCube adapter input support i added into yuzu emulator.
It requires the same setup as when it was first introduced in yuzu, requiring the Zadig driver be installed for the adapter to allow it to interface with libusb.
2021-04-24 02:02:45 -04:00
c5094ed614 externals: Track upstream libusb
We can place the external in an inner folder and manage the custom files
necessary to integrate it with CMake directly. This allows us to
directly change how we use it with our build system, as opposed to
needing to change a fork.
2021-04-24 02:02:45 -04:00
9ff97270cf Merge pull request #5501 from FearlessTobi/port-1064-3948
Port yuzu-emu/yuzu#1064 and yuzu-emu/yuzu#3948: Changes to Telemetry and CPU feature detection
2021-04-23 22:58:08 -07:00
24086d05bb Merge pull request #5471 from vitor-k/misc
Fix some warnings and some small changes
2021-04-23 22:54:00 -07:00
78b8dfc808 Merge pull request #5759 from nieldm/fix-3818-allow-custom-save
Allow custom folder for SDMC and NAND Directories
2021-04-23 22:35:10 -07:00
71b8ddb8a9 Merge pull request #5756 from vitor-k/gl_extensions
Check for OpenGL extensions
2021-04-23 22:33:21 -07:00
33e5d16c89 Merge pull request #5748 from vitor-k/update-dynarmic
Update dynarmic
2021-04-23 22:32:48 -07:00
b9d7181a63 Merge pull request #5745 from vitor-k/catch
externals: Update catch to v2.13.4
2021-04-23 22:32:16 -07:00
8981ca983f Update src/citra_qt/configuration/configure_storage.cpp
Co-authored-by: Ben <bene_thomas@web.de>
2021-04-18 12:57:20 +02:00
b72e60a47f Update src/citra_qt/configuration/configure_storage.h
Co-authored-by: Ben <bene_thomas@web.de>
2021-04-18 12:57:14 +02:00
95529a8b1d citra-qt: Added configure storage to handle NAND and SDMC dir location 2021-04-18 00:13:21 +02:00
d21b8fb1b1 config: better variable naming
Co-authored-by: Johel Ernesto Guerrero Peña <johelegp@gmail.com>
2021-04-17 23:49:18 +02:00
7f20d8bb88 config: Added nand_directory and sdmc_directory to Settings
Added settings to the ini
2021-04-17 23:49:02 +02:00
3be52f818a file_util: Add a function to update the user path
Added a default value when sdmc and nand are empty
2021-04-17 23:48:30 +02:00
49c0766b73 settings: Save and load NAND/SD dirs from config 2021-04-08 00:20:52 +02:00
b660adea0f update catch 2021-04-06 19:56:28 -03:00
a2f9fef97e Update dynarmic
fixes dynarmic compilation when targeting MacOS on ARM
2021-04-06 19:54:39 -03:00
39680264b4 citra_qt/configure_input: use pre-increment instead of post-increment
Co-authored-by: Johel Ernesto Guerrero Peña <johelegp@gmail.com>
2021-04-06 19:02:02 -03:00
3fb1988b5b gl_rasterizer: check for GL_ARB_copy_image 2021-04-06 00:20:00 -03:00
981ffb5090 shader_disk_cache: warn the user when ARB_get_program_binary is not supported. 2021-04-06 00:19:59 -03:00
3cc559f865 clang format 2021-04-05 19:52:27 -03:00
0e2edbb0d2 Account for analog buttons when checking for used buttons
circle mod and analog_from_buttons weren't being accounted for.
2021-04-05 19:38:54 -03:00
b3cab3c450 Merge pull request #5747 from JohelEGP/conditional_resize
fix(net): prevent gibberish padding on linux
2021-04-03 00:05:38 -05:00
f8eb4b7edc fix(net): prevent gibberish padding on linux 2021-03-30 08:55:58 -04:00
8e3c7674d8 Merge pull request #5644 from liushuyu/master
bootmanager: fix memory leaks when loading save states
2021-03-06 16:23:24 +08:00
c2d36cde9f Fix destructor order in rasterizer cache (#5725) 2021-02-21 18:05:27 -05:00
e6c479f497 Merge pull request #5710 from BreadFish64/bonk_textures
gl_rasterizer_cache: Remove all fully invalid surfaces from the cache
2021-02-11 19:06:03 -06:00
5c58620618 Merge pull request #5717 from FearlessTobi/port-5895
Port yuzu-emu/yuzu#5895: "string_util: Remove MSVC workaround for converting between UTF8/UTF16"
2021-02-10 23:04:35 -06:00
7806206e90 string_util: Remove MSVC workaround for converting between UTF8/UTF16
This has been fixed as of Visual Studio 2019 Version 16.2
2021-02-11 00:16:33 +01:00
2ddecf35d2 Avoid leaking fences during re-presentation (#5713)
* Avoid leaking fences during re-presentation
2021-02-09 11:32:48 -05:00
5776bdda82 Merge pull request #5546 from FearlessTobi/port-5524
Port yuzu-emu/yuzu#4086 and yuzu-emu/yuzu#4611: Xbyak cleanups
2021-02-08 16:00:18 -06:00
ff56fdf37d fix recycling custom textures 2021-02-08 15:53:06 -06:00
e770fd6e95 Merge pull request #5707 from vitor-k/mod-scale
configure_input: fix modifier scale saving
2021-02-08 13:14:19 +08:00
996ca25a2e core_timing: Lock CoreTiming event queue while deserializing
To handle those classic asymmetric constructor/destructor side effects
2021-02-08 11:25:39 +08:00
b2531310b4 Minor improvements to the UX
1. Game will now be paused on movie finish
2. Added 'Save without Closing'
2021-02-08 11:25:38 +08:00
f8eb9a541d citra_qt: Fix potential indeterminstism caused by starting record/playback
Previously the movie was started *after* core starts running, causing potential indeterminism.

Some desyncs are still not fixed; they may be caused by core timing. More investigation is required.
2021-02-08 11:25:38 +08:00
e60e20666e citra_qt: Allow enabling frame advance before emulation start
Effectively allows starting emulation as paused.
2021-02-08 11:25:37 +08:00
d6b64f6b09 citra_qt: Simplify movie recording code
The behavior shouldn't be changed.
2021-02-08 11:25:36 +08:00
1780f8b5b8 core/movie: Add MovieFinished mode
Also mentioned in Laws of TAS.
2021-02-08 11:25:35 +08:00
e188f86582 core/movie: Add future event and timeline check
As specified in TASVideos [Laws of TAS](http://tasvideos.org/LawsOfTAS/OnSavestates.html)
2021-02-08 11:25:34 +08:00
b6f8cc884f citra: Update SDL frontend 2021-02-08 11:25:33 +08:00
fb14bd956a citra_qt: Add indicator in status bar
Since we do not have an overlay yet, it can be confusing whether movie is being recorded or played. This makes it clear.

Status messages (e.g. system archive missing) will be overriden, but that shouldn't be too important when recording movies.

Doubled the status bar updating frequency to provide a better experience. It now updates every second.
2021-02-08 11:25:32 +08:00
113e0c7331 citra_qt: Rebuilt movie frontend
This is completely rebuilt, in order to allow setting author, displaying movie metadata, and toggling read-only mode.

The UX is changed to more closely match other emulators' behaviour. Now you can only record/play from start/reset (In the future, we might want to introduce 'record from savestate')

Also fixed a critical bug where movie file can be corrupted when ending the recording while game is still running.
2021-02-08 11:25:31 +08:00
5a42a80f40 core/movie: Allow setting a playback completion callback
Instead of specifying it when starting playback. This is necessary as
you can end up playing the movie even if you started as Recording
(for example, loading a state in R/O mode will switch to Playing mode)
2021-02-08 11:25:30 +08:00
06bc37a67d core/movie: Remove program ID checks
Most other emulators handle this automatically in the frontend,
booting/restarting the corresponding game instead of reporting an error.
Therefore, remove these checks and errors from the module.
2021-02-08 11:25:29 +08:00
bd88667247 core/movie: Add a few fields
These fields are included in most emulators and required by TASVideos.

`input_count` is implemented by counting the number of 'PadAndCircle' states, as this is always polled regularly and can act as a time/length indicator.
TASVideos also require the input count/frame count to be verified by the emulator before playback, which is also implemented in this commit.
2021-02-08 11:25:28 +08:00
ebaa225bcb core: Add read-only mode and separate savestate slots for movies
The read-only mode switch affects how movies interact with savestates after you start a movie playback and load a savestate. When you are in read-only mode, the movie will resume playing from the loaded savestate. When you are in read+write mode however, your input will be recorded over the original movie ('rerecording'). If you wish to start rerecording immediately, you should switch to R+W mode, save a state and then load it.

To make this more user-friendly, I also added a unique ID to the movies, which allows each movie to have an individual set of savestate slots (plus another set for when not doing any movies). This is as recommended by staff at TASVideos.
2021-02-08 11:25:27 +08:00
8290423d16 bootmanager: fix memory leaks when loading save states 2021-02-07 15:18:57 -07:00
2e3834f880 Fix macos build (#5703)
* Update deps.sh

GitHub's virtual environment provides 7zip and llvm by default, so brew may fail to install them as another version is already installed

* Use || true to ignore brew installation errors
2021-02-07 03:40:10 -05:00
00c798991c remove semicolon 2021-02-05 08:25:02 -06:00