Commit graph

7590 commits

Author SHA1 Message Date
ameerj
a80e566464 gcadapter: Implement auto map feature
Implements the auto map functionality for the GC adapter.
The controls map nicely to the original 3ds controls, with the select button being mapped to the Z button on GC.
The ZL/ZR buttons are not mapped by this feature.
2021-04-24 02:03:40 -04:00
ameerj
32f8a565f3 configure_input: Add frontend text for GC adapter
Also streamlines some of the frontend text logic.
2021-04-24 02:02:45 -04:00
ameerj
700fa6b96a gc_adapter: Port code cleanup and feature updates from yuzu
Streamlines the code and introduces fixes for the origin status of the controller along with adapter hotplug support

Co-Authored-By: Narr the Reg <5944268+german77@users.noreply.github.com>
Co-Authored-By: LC <712067+lioncash@users.noreply.github.com>
2021-04-24 02:02:45 -04:00
ameerj
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
bunnei
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
bunnei
24086d05bb
Merge pull request #5471 from vitor-k/misc
Fix some warnings and some small changes
2021-04-23 22:54:00 -07:00
bunnei
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
Daniel Mendez
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
Daniel Mendez
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
Daniel Méndez
95529a8b1d citra-qt: Added configure storage to handle NAND and SDMC dir location 2021-04-18 00:13:21 +02:00
Daniel Mendez
d21b8fb1b1 config: better variable naming
Co-authored-by: Johel Ernesto Guerrero Peña <johelegp@gmail.com>
2021-04-17 23:49:18 +02:00
Daniel Méndez
7f20d8bb88 config: Added nand_directory and sdmc_directory to Settings
Added settings to the ini
2021-04-17 23:49:02 +02:00
Daniel Méndez
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
Daniel Méndez
49c0766b73 settings: Save and load NAND/SD dirs from config 2021-04-08 00:20:52 +02:00
Vitor Kiguchi
3fb1988b5b gl_rasterizer: check for GL_ARB_copy_image 2021-04-06 00:20:00 -03:00
Vitor Kiguchi
981ffb5090 shader_disk_cache: warn the user when ARB_get_program_binary is not supported. 2021-04-06 00:19:59 -03:00
Johel Ernesto Guerrero Peña
f8eb4b7edc fix(net): prevent gibberish padding on linux 2021-03-30 08:55:58 -04:00
Pengfei Zhu
8e3c7674d8
Merge pull request #5644 from liushuyu/master
bootmanager: fix memory leaks when loading save states
2021-03-06 16:23:24 +08:00
xperia64
c2d36cde9f
Fix destructor order in rasterizer cache (#5725) 2021-02-21 18:05:27 -05:00
Marshall Mohror
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
Morph
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
xperia64
2ddecf35d2
Avoid leaking fences during re-presentation (#5713)
* Avoid leaking fences during re-presentation
2021-02-09 11:32:48 -05:00
Marshall Mohror
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
BreadFish64
ff56fdf37d fix recycling custom textures 2021-02-08 15:53:06 -06:00
Pengfei Zhu
e770fd6e95
Merge pull request #5707 from vitor-k/mod-scale
configure_input: fix modifier scale saving
2021-02-08 13:14:19 +08:00
liushuyu
8290423d16
bootmanager: fix memory leaks when loading save states 2021-02-07 15:18:57 -07:00
Marshall Mohror
00c798991c
remove semicolon 2021-02-05 08:25:02 -06:00
Vitor Kiguchi
611b186a97 configure_input: set modifier_scale undonditionally when restoring default 2021-02-04 14:19:41 -03:00
Marshall Mohror
6b2e7b77cc
Merge pull request #5657 from FearlessTobi/port-5158
Port yuzu-emu/yuzu#5158: "video_core: Remove unnecessary enum class casting in logging messages"
2021-02-04 10:51:29 -06:00
Marshall Mohror
e2adb51494
Merge pull request #5693 from FearlessTobi/port-5342
Port yuzu-emu/yuzu#5342: "yuzu: Migrate off of setMargin() to setContentsMargins()"
2021-02-04 10:50:32 -06:00
Marshall Mohror
a1d6396a90
Merge pull request #5695 from FearlessTobi/port-4942
Port yuzu-emu/yuzu#4942: "core: Make use of [[nodiscard]] with the System class"
2021-02-04 10:50:00 -06:00
BreadFish64
a131f9eb74 gl_rasterizer_cache: don't place null textures in the recycler 2021-02-03 13:29:03 -06:00
Marshall Mohror
2461f67a98
Merge pull request #5671 from FearlessTobi/port-5217
Port yuzu-emu/yuzu#5217: "citra_qt/main: Save settings when starting guest"
2021-02-03 10:22:38 -06:00
Marshall Mohror
2539215f18
Merge pull request #5660 from FearlessTobi/port-5166
Port yuzu-emu/yuzu#5166: "core: Remove unnecessary enum casts in log calls"
2021-02-03 10:19:38 -06:00
BreadFish64
85e9ba897d gl_rasterizer_cache: Recycle host textures
Allocating new textures has fairly high driver overhead.
We can avoid some of this by reusing the textures from destroyed surfaces since the game will probably create more textures with the same dimensions and format.
2021-02-02 20:46:25 -06:00
BreadFish64
935e88a580 gl_rasterizer_cache: Remove all fully invalid surfaces from the cache
Some games (e.g. Pilotwings Resort) create many surfaces that are invalidated quickly but were never removed.
This occasionally lead to large lag spikes due to high lookup times and other data structure management overhead.
2021-02-02 20:43:41 -06:00
Vitor Kiguchi
75f9c2cc13 configure_input: fix modifier scale saving 2021-01-31 00:15:00 -03:00
xperia64
8df502a688
Implement APT command 0x0103 (#5478)
* WIP implement apt 0x0103

* Update src/core/hle/service/apt/apt.cpp

Co-authored-by: Pengfei Zhu <zhupf321@gmail.com>

* Names

Co-authored-by: Pengfei Zhu <zhupf321@gmail.com>
2021-01-26 15:27:52 -05:00
FearlessTobi
8d2e28cf76 core: Make use of [[nodiscard]] with the System class
Given this is a central class, we should flag cases where the return
value of some functions not being used is likely a bug.

Co-Authored-By: LC <712067+lioncash@users.noreply.github.com>
2021-01-17 19:05:43 +01:00
FearlessTobi
aeba818634 citra_qt: 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.

Co-Authored-By: LC <712067+lioncash@users.noreply.github.com>
2021-01-17 02:48:52 +01:00
Pengfei Zhu
7c6d7905a4
Merge pull request #5670 from FearlessTobi/port-5277
Port yuzu-emu/yuzu#5277: "general: Fix various spelling errors"
2021-01-09 22:10:27 +08:00
xperia64
e33677b021
Add 3D slider value to the HID shared page (#5676)
* Add 3D slider value to the HID shared page; Fixes MSet

* Use f32
2021-01-05 22:01:01 +01:00
Lioncash
10f440cb59 common/telemetry: Migrate namespace into the Common namespace
Migrates the Telemetry namespace into the Common namespace to make the
code consistent with the rest of our common code.
2021-01-04 05:17:13 +01:00
Lioncash
9c08409e0e externals: Update Xbyak to 5.96
I made a request on the Xbyak issue tracker to allow some constructors
to be constexpr in order to avoid static constructors from needing to
execute for some of our register constants.

This request was implemented, so this updates Xbyak so that we can make
use of it.
2021-01-04 05:11:18 +01:00
FearlessTobi
ddb4135dea main/common: Log/append AVX/FMA to the Host CPU string if available and add AVX512 detection
Co-Authored-By: Morph <morph1984@users.noreply.github.com>
2021-01-04 04:25:03 +01:00
Lioncash
52fe6daa53 common/telemetry: Migrate core-independent info gathering to common
Previously core itself was the library containing the code to gather
common information (build info, CPU info, and OS info), however all of
this isn't core-dependent and can be moved to the common code and use
the common interfaces. We can then just call those functions from the
core instead.

This will allow replacing our CPU detection with Xbyak's which has
better detection facilities than ours. It also keeps more
architecture-dependent code in common instead of core.
2021-01-04 04:25:03 +01:00
MerryMage
045d20e076 xbyak_abi: Prefer returning a struct to using out parameters in ABI_CalculateFrameSize 2021-01-04 04:07:11 +01:00
MerryMage
a841ce6451 xbyak_abi: Register indexes should be unsigned 2021-01-04 04:07:10 +01:00
xperia64
c1d7ba4d60
Delete the old log file before rotating (#5675) 2021-01-03 14:53:23 -05:00
FearlessTobi
251b265777 citra_qt/main: Save settings when starting guest
Saves UISettings and Settings when booting a guest. Moves updating
UISettings::values from GMainWindow::closeEvent into its own function,
then reuses it in GMainWindow::BootGame.

Co-Authored-By: lat9nq <22451773+lat9nq@users.noreply.github.com>
2021-01-03 05:28:52 +01:00
xperia64
755393da90
Look at direction of analog axis travel instead of instantaneous sample (#5509)
* Look at direction of analog axis travel instead of instantaneous sample

* Clang-format

* Use map count, use unordered_map

* Improve digital vs. true analog axis heuristics
2021-01-02 21:09:26 -05:00
FearlessTobi
1653ebaa45 general: Fix various spelling errors
Co-Authored-By: Morph <39850852+Morph1984@users.noreply.github.com>
2021-01-03 02:39:41 +01:00
bunnei
9c76120a13
Fix the old log file to work with the log parser. 2021-01-01 03:17:20 -08:00
bunnei
1265c37bab
Merge pull request #5666 from xperia64/log_rotate
Rotate previous log file to "citra_log.txt.old"
2021-01-01 03:03:31 -08:00
Vitor K
ce16653cc8
Automatic Controller Binding (#5100)
* Implement the basics of controller auto mapping. From testing doesn't currenlty work.
Opening the controller requires the device index, but it is only known and guaranteed
at boot time or when a controller is connected.

* Use the SDL_INIT_GAMECONTROLLER flag to initialize the controller
subsystem. It automatically initializes the joystick subsystem too,
so SDL_INIT_JOYSTICK is not needed.

* Implement the SDLGameController class to handle open game controllers.
Based on the SDLJoystick implementation.

* Address review comments

* Changes SDLJoystick and SDLGameController to use a custom default
constructible destructor, to improve readability. The only deleters
used previously were SDL_JoystickClose and SDL_GameControllerClose,
respectively, plus null lambdas. Given that both SDL functions
accept null pointers with just an early return, this should be
functionally the same.
with just an early return

* warn the user when a controller mapping is not found

* Get axis direction and threshold from SDL_ExtendedGameControllerBind

* Reject analog bind if it's not axis, for the couple of examples present in SDL2.0.10's db.
Also add SDL_CONTROLLER_BINDTYPE_NONE for the button bind switch, with a better log message.

* sdl_impl.cpp: Log the error returned by SDL_GetError upon failure to open joystick

* sdl: only use extended binding on SDL2.0.6 and up

* sdl_impl.cpp: minor changes
2021-01-01 10:01:07 +01:00
Pengfei Zhu
6f2bbbcced
Merge pull request #5658 from FearlessTobi/cheat-window-flags
citra_qt/cheats: Make window resizable and remove help hint
2021-01-01 10:03:15 +08:00
xperia64
b4a6763484 Rotate previous log file to '.old' if it exists 2020-12-31 16:10:01 -05:00
xperia64
5f1eb7146d
Merge generic part of Android microphone changes (#5624) 2020-12-30 19:21:03 -05:00
Marshall Mohror
820c288236
Merge pull request #5664 from vitor-k/fix-iofile
Revert #5530 "Port yuzu-emu/yuzu#4539"
2020-12-30 12:20:21 -06:00
Marshall Mohror
ab6c605e59
Merge pull request #5609 from gal20/enable-fdk-patch
Enable fdk decoder for flatpak version
2020-12-30 11:59:18 -06:00
Vitor Kiguchi
fb49ce462f Revert #5530 "Port yuzu-emu/yuzu#4539"
There is currently no such warning and the solution proposed
omits the call instead of the warning.
2020-12-30 14:49:40 -03:00
bunnei
987f910a86
Merge pull request #5530 from FearlessTobi/port-4539
Port yuzu-emu/yuzu#4539: "common: Silence two discarded result warnings"
2020-12-30 01:55:33 -08:00
bunnei
39e0644993
Merge pull request #5634 from FearlessTobi/port-4798
Port yuzu-emu/yuzu#4798: "udp/client: Take std::function by const reference with TestCommunication()"
2020-12-30 01:54:40 -08:00
bunnei
3c1211e9fe
Merge pull request #5648 from FearlessTobi/port-5139
Port yuzu-emu/yuzu#5139: "game_list_p: Resolve deprecated usage of QVariant operator<"
2020-12-30 01:53:01 -08:00
BreadFish64
b3915c23a0 Update Gradle 2020-12-29 13:29:02 -06:00
FearlessTobi
da908a9ed1 core: Remove unnecessary enum casts in log calls
Follows the video core PR. fmt doesn't require casts for enum classes
anymore, so we can remove quite a few casts.

Co-Authored-By: LC <712067+lioncash@users.noreply.github.com>
2020-12-29 06:39:21 +01:00
xperia64
94013c8e00
Merge ARM64 Dynarmic (#5620)
* Point dynarmic to citra fork, update dynarmic to AArch64 merge branch

* Enable dynarmic ARM64 support
2020-12-28 18:39:00 -05:00
xperia64
94d1f695ee
Use alternate-form formatting for floats after fmt 7.1.2 update (#5654)
* Use alternate-form formatting for floats after 7.1.2  update

* Last two floats
2020-12-28 18:32:36 -05:00
FearlessTobi
54a95e9c58 citra_qt/cheats: Make window resizable and remove help hint
Fixes https://github.com/citra-emu/citra/issues/5575.
2020-12-28 17:01:30 +01:00
FearlessTobi
20139141f7 video_core: Remove unnecessary enum class casting in logging messages
fmt now automatically prints the numeric value of an enum class member by default, so we don't need to use casts any more.

Reduces the line noise in our code a bit.

Co-Authored-By: LC <712067+lioncash@users.noreply.github.com>
2020-12-28 16:50:23 +01:00
Lioncash
fdf0825369 game_list_p: Resolve deprecated usage of QVariant operator<
This is designated as obsolete in Qt's docs (see:
https://doc.qt.io/qt-5/qvariant-obsolete.html#operator-lt)
2020-12-19 18:48:38 +01:00
Tobias
3f13e1cc24
cubeb_sink: Use static_cast instead of reinterpret_cast in DataCallback() (#5573)
Conversions from void* to the proper data type are well-defined and
supported by static_cast. We don't need to use reinterpret_cast here.

Co-Authored-By: LC <712067+lioncash@users.noreply.github.com>

Co-authored-by: LC <712067+lioncash@users.noreply.github.com>
2020-12-07 16:06:16 +01:00
Tobias
f0e3637c7a
codec: Make lookup table static constexpr (#5572)
Allows compilers to elide needing to push these values on the stack
every time the function is called.

Co-authored-by: Lioncash <mathew1800@gmail.com>
2020-12-07 16:05:45 +01:00
Tobias
702af87f0d
Port yuzu-emu/yuzu#4700: "game_list: Eliminate redundant argument copies" (#5571)
* game_list: Eliminate redundant argument copies

Several functions can be taken by const reference to avoid copies

Co-Authored-By: LC <712067+lioncash@users.noreply.github.com>

* game_list: Make game list function naming consistent

Makes the naming consistent with the rest of the functions that are
present.

Co-Authored-By: LC <712067+lioncash@users.noreply.github.com>

Co-authored-by: Lioncash <mathew1800@gmail.com>
Co-authored-by: LC <712067+lioncash@users.noreply.github.com>
2020-12-07 16:05:13 +01:00
Vitor K
4888a14c12
Make UNIMPLEMENTED_MSG consistent with UNIMPLEMENTED (#5631)
The current inconsistency can result in a developer unintentionally
creating a crash when using UNIMPLEMENTED_MSG, if they're only
familiar with UNIMPLEMENTED. The two macros shouldn't have such
wildly different behaviors.
2020-12-06 23:36:04 +01:00
Vitor Kiguchi
7e19ed1309 Rename profiler parameter names
Rename the parameter names of the overriden methods to match
the qt names.
2020-12-06 16:03:25 -03:00
Vitor Kiguchi
981a4611a4 Mark variables only used on trace logs as maybe_unused
Fixes some -Wunused-variable warnings
2020-12-06 16:03:24 -03:00
Vitor Kiguchi
db0383fe0e Use maybe_unused instead of Q_UNUSED 2020-12-06 16:03:24 -03:00
Vitor Kiguchi
62a69e0547 fix clang format 2020-12-06 16:01:59 -03:00
Vitor Kiguchi
8e54e7cf1a fix some conversion warnings 2020-12-06 16:01:59 -03:00
Vitor Kiguchi
3381a05f7c unreachable code 2020-12-06 16:01:58 -03:00
Vitor Kiguchi
e4285d574a Fix nihstro include style to conform to the style used in other instances. 2020-12-06 16:01:58 -03:00
Vitor Kiguchi
ecb2541a93 Solve some unreferenced parameter warnings
(C4100: unreferenced formal parameter)
2020-12-06 16:01:58 -03:00
Vitor Kiguchi
d87fee05a9 Resolve some variable hiding warnings
(C4456: variable hides previous local declaration)
2020-12-06 15:59:13 -03:00
Vitor Kiguchi
e331fac004 Resolve unused variable warnings
(C4101 unreferenced local variable)
2020-12-06 15:59:13 -03:00
Vitor Kiguchi
1df939469a Resolve some type conversion warnings 2020-12-06 15:59:13 -03:00
Vitor Kiguchi
2696add2fd remove unnecessary headers 2020-12-06 15:59:13 -03:00
Vitor Kiguchi
e68aeedc3d resolve warnings of deprecated Qt members 2020-12-06 15:59:13 -03:00
FearlessTobi
c37dc23481 udp/client: Take std::function by const reference with TestCommunication()
Avoids redundant copies.

Co-Authored-By: LC <712067+lioncash@users.noreply.github.com>
2020-12-05 23:07:08 +01:00
mnml
6f45b402e7
UDS: implement GetApplicationData (#5533) 2020-12-05 22:27:57 +01:00
Tobias
664f5da105
tests: Fix warning about comparison between signed and unsigned (#5632)
Co-authored-by: comex <comexk@gmail.com>
2020-12-05 22:20:50 +01:00
Vitor K
2f5eec3576
Fixes to "hide mouse on inactivity" (#5476)
The feature wasn't working when the "single window mode" was off.
Changed the cursor setting to only affect the render_window and
moved to a signal/slot model to show the mouse.
2020-12-05 22:12:17 +01:00
zhupengfei
8f0aebcd4f
service/apt: Fix deliver arg hmac size 2020-11-28 08:52:35 +08:00
Pengfei Zhu
21fb9d63f4
service/apt: Implement Deliver Args (#5611)
* service/apt: Add GetModule and GetAppletManager

These will be used to retrieve and set deliver args across system resets (which are currently implemented as complete restarts)

* applet_manager: Implement DeliverArg

`flags` was added to `ApplicationJumpParameters` as flags 0x2 is handled differently from 0x0.

* service/apt: Add ReceiveDeliverArg, implement GetStartupArgument

Some based on guesses.

* Address review comments
2020-11-24 20:10:31 +01:00
Ben
182ffa4243
APT: implement Set and GetWirelessRebootInfo (#5328)
* APT: implement Set and GetWirelessRebootInfo

* make wireless_reboot_info a member of APT::Module

* Removed stubbed from log message
2020-11-23 15:52:35 +01:00
xperia64
3fa12d43f5
Fix fmt crash from deprecated percent specifier (#5616)
* Fix fmt crash from deprecated percent specifier

* ...clang format
2020-11-22 20:55:45 -05:00
xperia64
4f058c04e8
Fix telemetry-related exit crash from use-after-free (#5617)
* Fix telemetry-related exit crash from use-after-free

* ...clang format
2020-11-22 21:45:14 +08:00
xperia64
1aaec7938f
Initial implementation of partial_embedded_buffer_dirty handling (#5548)
* Initial implementation of partial_embedded_buffer_dirty handling

* Apply suggestions from code review

Co-authored-by: Marshall Mohror <mohror64@gmail.com>

* Serialize physical address, fix LOG_TRACE

* Add bracket

* Avoid crash in partial update behavior

Co-authored-by: Marshall Mohror <mohror64@gmail.com>
2020-11-17 17:31:05 -05:00
Marshall Mohror
02d6032afb
Merge pull request #5566 from zhaowenlan1779/layered-fs-fix
layered_fs: Make LoadFile and LoadDirectory less recursive
2020-11-17 09:31:25 -06:00
Marshall Mohror
7a8d576164
Merge pull request #5577 from vitor-k/cubeb-volume
Update cubeb to latest and request a persistent stream session
2020-11-16 16:54:10 -06:00