Commit graph

2133 commits

Author SHA1 Message Date
Morph bb31b0f261 startup_checks: Resolve -Wstringop-truncation
Copies up to sizeof(p_name) - 1 in strncpy and null terminates it at p_name[254]
2022-10-22 15:02:04 -04:00
Morph f86774c1ac startup_checks: Resolve -Wformat 2022-10-22 15:02:04 -04:00
liamwhite 9e16837088
Merge pull request #9099 from Docteh/undocked
Controller Applet had instance of Undocked, make Handheld
2022-10-20 18:05:05 -04:00
Kyle Kienapfel d4c0b7b437 Controller Applet had instance of Undocked, make Handheld
Remember that time we renamed the Undocked option to Handheld in the
status bar, and then later remembered the Controller Configuration?

Scrolling through Transifex I noticed that we still have one instance of
"Undocked" in the text.
2022-10-20 06:55:23 -07:00
liamwhite 5ffb8b8039
Merge pull request #9082 from Morph1984/future
savedata_factory: Detect future save data paths
2022-10-19 16:28:42 -04:00
Kyle Kienapfel 470e89a8ed UI: Add option to hide the compatibility list
Option is added directly below the option for the addons column

Defaulting to hide compatibility list. Changing default works properly.

Co-authored-by: Piplup <piplup55@users.noreply.github.com>
2022-10-19 03:51:51 -07:00
bunnei a4d11f4427 core: Partially persist emulation state across game boots. 2022-10-18 19:13:35 -07:00
Morph ae453ab6a8 savedata_factory: Detect future save data paths
Enable compatibility for new account/device save paths planned on a future implementation.
2022-10-16 23:49:55 -04:00
Kyle Kienapfel 0ba03d1b3a fix a tiny spelling mistake
Kreato pointed this out over on discord.
2022-10-15 14:58:44 -07:00
liamwhite 048d3e2404
Merge pull request #9039 from Kelebek1/auto_backend
Auto select the SDL audio backend when Cubeb latency is too high
2022-10-13 20:12:22 -04:00
bunnei 3da4280e81
Merge pull request #9047 from german77/steam-aspect
yuzu: Add 16:10 aspect ratio
2022-10-12 12:54:23 -07:00
Narr the Reg eb74ef474b yuzu: Add 16:10 aspect ratio 2022-10-10 13:32:33 -05:00
Kelebek1 8c9e238a7b Choose the SDL audio backend when Cubeb reports too high of a latency 2022-10-09 13:47:59 +01:00
Mai 6f101e0f02
Merge pull request #9030 from Morph1984/api-disable
configure_graphics: Fix graphics API selection when a game is running
2022-10-07 20:25:23 -04:00
liamwhite 972b93bf00
Merge pull request #8807 from Docteh/default_fonts
Qt: work around Qt5's font choice for Chinese (in Windows)
2022-10-07 17:39:39 -04:00
Morph 1e35ade1ec configure_graphics: Fix graphics API selection when a game is running
The graphics API setting should not be changed when a game is running.
2022-10-07 15:11:26 -04:00
Fernando Sahmkow cdce7f781b Vulkan Swapchain: Overall improvements. 2022-10-06 21:00:53 +02:00
Liam 35d3e7db2a common: remove "yuzu:" prefix from thread names 2022-10-03 18:43:56 -04:00
bunnei 61399de5db
Merge pull request #8955 from german77/amiibo-rewrite
core: nfp: Rewrite implementation to remove direct access from the frontend
2022-10-02 14:28:43 -07:00
german77 f6d57d7dd9 yuzu: Use virtual amiibo driver instead of nfp service 2022-10-02 12:32:26 -05:00
Kyle Kienapfel 1dba5fab62 Qt: work around Qt5's font choice for Chinese
On Windows there are currently two fonts used.

The first, does the Menu, QTreeView and Tooltips
Second is Everything else which is a default font.

From inspecting QApplication::font() at runtime
Windows 10 English: QFont(MS Shell Dlg 2,8.25,-1,5,50,0,0,0,0,0)
Windows 11 Japanese:        MS UI Gothic,9   ,-1,5,50,0,0,0,0,0
Windows 11 Traditional Chinese: PMingLiU,9   ,-1,5,50,0,0,0,0,0
Windows 11 Simplified Chinese:    SimSun,9   ,-1,5,50,0,0,0,0,0
Windows 11 Korean:                 Gulim,9   ,-1,5,50,0,0,0,0,0

I initially investigated dynamically changing the font when
the UI language is English, but this was getting quite messy

Qt6 makes changes to default font in some situations, so this
PR is being narrowed in scope to only effect Chinese font choices.
This change only effects rendering of Latin/Cyrillic characters.
2022-10-01 15:27:23 -07:00
bunnei 2a752bbd64
Merge pull request #8876 from FearlessTobi/multiplayer-part3
ldn: Implement "local wireless" networked multiplayer
2022-10-01 14:53:36 -07:00
bunnei 9015a512c2
Merge pull request #8940 from german77/silence
yuzu: Silence some clang warnings
2022-09-28 14:37:23 -07:00
Morph 5082efef6c
Merge pull request #8948 from german77/order
yuzu: sort input profiles by name
2022-09-23 20:28:35 -04:00
Narr the Reg f711d1ce52 yuzu: sort input profiles by name 2022-09-23 12:31:35 -05:00
Narr the Reg 5a74ced59a yuzu: Silence some clang warnings 2022-09-21 11:51:31 -05:00
FearlessTobi 4213f1c126 Address some review comments 2022-09-20 19:36:32 +02:00
lat9nq 89af4bfba8 yuzu qt: Add option to disable startup Vulkan check
The startup check apparently confuses other programs when yuzu launches
2 processes and then quickly closes one of them. Though this isn't
really our issues it's also not a big deal for me to add an option to
work around that issue.
2022-09-19 14:46:12 -04:00
bunnei 7172339c7a
Merge pull request #8827 from german77/amiibo_release
core: nfp: Implement amiibo encryption
2022-09-17 11:11:21 -07:00
bunnei 92813f01a4
Merge pull request #8906 from Docteh/fix_icons
UI: move icons from default into colorful theme.
2022-09-16 18:12:04 -07:00
Morph 44ccec7846
Merge pull request #8682 from lat9nq/dumpy
yuzu qt: Add option to create Windows crash dumps
2022-09-16 12:47:51 -04:00
Kyle Kienapfel 9554c67809 UI: move icons from default into colorful theme.
colorful theme has been default theme for awhile. having colorful theme
try and grab icons from other theme doesn't work on Linux.

Also adding two additional icons, info is to hint to the user that they
should hit verify after pasting in a token, sync is to show that the
verification is occurring.
2022-09-15 23:00:49 -07:00
Kyle Kienapfel fbbedb032c UI: Fix link to TAS help page
Tools -> TAS -> Configure TAS

Thanks to Rei on discord for the fix.

Basically: openExternalLinks is a checkbox in Qt Creator
2022-09-15 01:43:03 -07:00
Mai 1be456db83
Merge pull request #8880 from german77/slow-moving
input_common: Increase mapping timer from 2.5 seconds to 4 seconds
2022-09-12 23:30:51 -04:00
german77 5d907d9acd input_common: Increase mapping timer from 2.5 seconds to 4 seconds 2022-09-11 08:58:06 -05:00
Narr the Reg 1694c55d62 fix black icon 2022-09-10 18:56:06 -05:00
german77 8f207bd93d yuzu: Multiple room UI improvements 2022-09-10 19:39:25 +02:00
bunnei a967c41fa0
Merge pull request #8864 from german77/toggle_analog
input_common: Add support for analog toggle
2022-09-09 20:54:01 -07:00
FearlessTobi f5e635adda ldn: Initial implementation 2022-09-09 14:30:22 +02:00
lat9nq 0cef3b47f3
Merge pull request #8819 from liamwhite/cash-money
video_core: add option for pessimistic flushing
2022-09-08 22:46:58 -04:00
german77 848f69eb19 core: nfp: Implement amiibo encryption 2022-09-07 01:04:00 -05:00
Narr the Reg de8f7e1250 yuzu: input: fix invert symbol on axis and order options alphabetically 2022-09-06 11:44:29 -05:00
Narr the Reg 2898be69f4 input_common: Add support for analog toggle 2022-09-06 11:21:28 -05:00
lat9nq 12f7d42d32 mini_dump: Address review feedback
Uses fmt::print as opposed to std::fprintf. Adds a missing return.
static's a single-use function. Initializes structs as opposed to
std::memset where possible. Fixes CMake linkage.

Co-authored-by: Lioncash <mathew1800@gmail.com>

mini_dump: Use a namespace

Co-authored-by: Lioncash <mathew1800@gmail.com>
2022-09-04 21:36:35 -04:00
lat9nq c976613ab2 vcpkg,cmake: Use vcpkg for dbghelp 2022-09-04 21:36:05 -04:00
lat9nq e339ec0e00 mini_dump: Check for debugger before spawning a child
mini_dump: Clean up

mini_dump: Fix MSVC error

mini_dump: Silence MSVC warning C4700

Zero initialize deb_ev.

mini_dump: Add license info
2022-09-04 21:36:05 -04:00
lat9nq 3dbaafe1f3 mini_dump: Cleanup and add comments
Removes some unnecessary code.

wip
2022-09-04 21:36:05 -04:00
lat9nq f958cbc737 yuzu: Use a debugger to generate minidumps
yuzu: Move mini_dump out of core

startup_checks: Better exception handling
2022-09-04 21:36:04 -04:00
Kyle Kienapfel b1076859c4 Qt: Make General->Debug scrollable
Configuration -> General -> Debug is getting a bit crowded.

yzct12345 submit this originally, so I'm tagging them as a co-author.
The original #6714 also modifies the Controls -> Player N sections,
but it looks like more work is needed to make the current area scrollable.

Co-authored-by: yzct12345 <87620833+yzct12345@users.noreply.github.com>
2022-09-03 04:59:01 -07:00
FearlessTobi 65718e2876 Address review comments 2022-09-02 00:50:32 +02:00
FearlessTobi 63b236d853 yuzu/chat_room: Make font size bigger 2022-08-27 04:04:00 +02:00
FearlessTobi 2b6ac4463c yuzu/multiplayer: Warn when game is running or no network interface is selected 2022-08-27 03:41:19 +02:00
FearlessTobi 839e1faf49 yuzu: Display current game version in multiplayer room
Makes it easier for users to recognize connection errors caused by different game versions.
2022-08-27 03:31:17 +02:00
FearlessTobi b904652d69 yuzu_room: Remove dependency on core 2022-08-27 03:02:21 +02:00
Liam db3eb168cd video_core: add option for pessimistic flushing 2022-08-25 12:32:14 -04:00
Narr the Reg db2335e2f8
yuzu: Force camera output to be saved on a buffer (#8805) 2022-08-22 23:54:48 -05:00
liamwhite 1088e8ce5c
Merge pull request #8783 from german77/looong
yuzu: Allow longer controller profile names
2022-08-20 18:31:46 -04:00
Kyle Kienapfel 5863f16b4c Qt: Retranslate GameList header and Filter line
Didn't notice this until I was trying to change the default font
to Comic Sans MS when language is set to English in yuzu.
2022-08-20 07:49:29 -07:00
Narr the Reg bfbee62340
yuzu: Allow longer controller profile names 2022-08-18 17:46:39 -05:00
FearlessTobi 72ff5cd445 yuzu: Fix crash on shutdown
Previously, accessing the room_network when it was already freed would crash the emulator on shutdown.

Co-Authored-By: Narr the Reg <5944268+german77@users.noreply.github.com>
2022-08-15 20:25:42 +02:00
FearlessTobi 6d41088153 core, yuzu: Address first part of review comments 2022-08-15 20:25:42 +02:00
FearlessTobi f80c7c4cd5 core, network: Add ability to proxy socket packets 2022-08-15 20:25:42 +02:00
bunnei 411e58de28
Merge pull request #8756 from Kelebek1/vol
Allow audio volume up to 200%
2022-08-12 15:40:15 -07:00
Mai ce42465638
Merge pull request #8741 from Docteh/aboot
Qt: tweak ui files
2022-08-12 15:19:37 -04:00
Kelebek1 85c9e31791 Do some log memes to help perceived volume 2022-08-12 19:59:09 +01:00
Kelebek1 b25090d960 Allow audio volume up to 200% 2022-08-12 16:57:29 +01:00
liamwhite e8a59a6931
Merge pull request #8647 from Docteh/default_dark
Linux: handle dark system themes nicely
2022-08-12 10:05:06 -04:00
Kyle Kienapfel d4b1095173 review pass on CheckDarkMode function 2022-08-12 06:13:12 -07:00
liamwhite 253e1e6941
Merge pull request #8735 from djrobx/add_vsync
Make vsync setting work for Vulkan
2022-08-09 20:43:55 -04:00
bunnei 15df026d04
Merge pull request #8499 from Docteh/plurals
Translate english plurals
2022-08-09 16:09:14 -07:00
bunnei ada667060a
Merge pull request #8715 from Docteh/suzhou
Qt5 work around for suzhou numerals
2022-08-09 10:05:47 -07:00
Kyle K af9c3e9340 Qt: tweak ui files
make about dialog a bit taller for full message on more systems

for direct_connect.ui hedging bets here, there is a text field for port
number that possibly shouldn't be translated, marking as such, but also
adding a translation note for the event that it makes sense to translate
the placeholder text to something other than the default multiplayer
direct connect port.
2022-08-09 05:00:37 -07:00
DJRobX d8b160c883 Make vsync setting work for Vulkan 2022-08-07 20:57:47 -07:00
lat9nq e2123b27e8 yuzu: Fix fmt 9.0.0 issues 2022-08-07 17:02:06 -04:00
Steve cd5bbf0f04
Controller bugfixes in profile select (#8716)
* Controller bugfixes in profile select, closes #8265

2 fixes for using a controller in profile select dialog.

Pressing 'B' cancels the launch of the game
Using controller to select a profile now correctly sets the index to use for the launch

* Added brackets to if statements as requested.
2022-08-05 10:02:04 -05:00
Kyle K b51db12567 Linux: handle dark system themes nicely
yuzu's default theme doesn't specify everything, which is fine for
windows, but in linux anything unspecified is set to the users theme.

Symptoms of this are that a linux user with a dark theme won't think
to change the theme to a dark theme when first using yuzu

Idea here is to try and support arbitrary themes on linux.

preliminary work on a "default_dark" theme, used only as overlay
for any themes that are measured to be dark mode.

Other work done:

FreeDesktop standard icon names:
plus -> list-add
delete refresh, we use view-refresh

remove duplicated icons for qdarkstyle_midnight_blue
referencing icon aliases in the qrc files is the way to go

Note:
Dynamic style changing doesn't appear to work with AppImage
2022-08-05 05:22:27 -07:00
Kyle Kienapfel 63673dcf98 Qt5 work around for suzhou numerals
When windows is told to display Standard digits as suzhou, it is showing
incorrect information in yuzu, file sizes and the CPU speed limiter are
effected by this. See #8698 for some screenshots.

Setting number format to Chinese (Simplified, Hong Kong SAR) is one
way to see this issue in action.

Fixes #8698
2022-08-03 21:49:23 -07:00
bunnei 3bbc1cf64c
Merge pull request #8622 from liamwhite/progress
qt: reset progress bar after shader compilation
2022-07-31 14:46:38 -07:00
Kyle Kienapfel 7e0afc641c Translate english plurals
Turns out that for Qt to properly handle plurals in English a
translation needs to be provided, otherwise the user is left with
messages such as "Building: 2 shader(s)"

Plurals for other all other languages are handled on transifex.
I wrote the README.md to just refer to it as a translation
collaboration site just in case we ever switch.

These translations being out of date won't pose any technical problems
so I believe it is fine to handle them manually on a "best effort"
basis.

The files are generated into the source directory so that the
relative filenames are correct. The generated file is added to
.gitignore
2022-07-30 01:40:33 -07:00
bunnei 880006c5ca
Merge pull request #8656 from german77/audio-step
yuzu: Add incremental steps to volume hotkeys
2022-07-28 15:41:37 -07:00
snek b7642cff36
implement pause on system suspend (#8585) 2022-07-27 19:46:03 -04:00
liamwhite 64fd9f41a7
Merge pull request #8636 from german77/irs_cluster_release
service: irs: Implement clustering processor
2022-07-27 15:54:28 -04:00
liamwhite a761d020c6
Merge pull request #8633 from Morph1984/optional-keys
applet/swkbd: Implement optional symbol keys
2022-07-27 15:53:32 -04:00
snek 9479940a1f
Merge pull request #8592 from devsnek/sig-handlers
exit gracefully on sigint/sigterm
2022-07-27 15:51:26 -04:00
Narr the Reg 2fdefd7064 yuzu: Add incremental steps to volume hotkeys 2022-07-27 11:34:46 -05:00
Andrea Pappacoda cdb240f3d4
chore: make yuzu REUSE compliant
[REUSE] is a specification that aims at making file copyright
information consistent, so that it can be both human and machine
readable. It basically requires that all files have a header containing
copyright and licensing information. When this isn't possible, like
when dealing with binary assets, generated files or embedded third-party
dependencies, it is permitted to insert copyright information in the
`.reuse/dep5` file.

Oh, and it also requires that all the licenses used in the project are
present in the `LICENSES` folder, that's why the diff is so huge.
This can be done automatically with `reuse download --all`.

The `reuse` tool also contains a handy subcommand that analyzes the
project and tells whether or not the project is (still) compliant,
`reuse lint`.

Following REUSE has a few advantages over the current approach:

- Copyright information is easy to access for users / downstream
- Files like `dist/license.md` do not need to exist anymore, as
  `.reuse/dep5` is used instead
- `reuse lint` makes it easy to ensure that copyright information of
  files like binary assets / images is always accurate and up to date

To add copyright information of files that didn't have it I looked up
who committed what and when, for each file. As yuzu contributors do not
have to sign a CLA or similar I couldn't assume that copyright ownership
was of the "yuzu Emulator Project", so I used the name and/or email of
the commit author instead.

[REUSE]: https://reuse.software

Follow-up to 01cf05bc75
2022-07-27 12:53:49 +02:00
FearlessTobi a41baaa181 network: Address review comments 2022-07-25 21:59:31 +02:00
FearlessTobi 61ce57b524 network, yuzu: Make copyright headers SPDX-compliant 2022-07-25 21:59:31 +02:00
FearlessTobi 6a2dcc8b3d network, yuzu: Improve variable naming and style consistency 2022-07-25 21:59:31 +02:00
FearlessTobi 7d82e57b91 network: Move global state into a seperate class
Co-Authored-By: Narr the Reg <5944268+german77@users.noreply.github.com>
2022-07-25 21:59:31 +02:00
german77 899c8bb330 common: multiplayer: Use GameInfo type 2022-07-25 21:59:31 +02:00
FearlessTobi 4b404191cf Address second part of review comments 2022-07-25 21:59:30 +02:00
FearlessTobi 6c8e456185 Address first part of review comments 2022-07-25 21:59:30 +02:00
FearlessTobi ec407bd3f1 Fix compilation on linux gcc 2022-07-25 21:59:30 +02:00
FearlessTobi 1b36542be2 yuzu: Hide multiplayer button and room status 2022-07-25 21:59:30 +02:00
FearlessTobi 705f7db84d yuzu: Add ui files for multiplayer rooms 2022-07-25 21:59:28 +02:00
bunnei 1bcde9dd98
Merge pull request #8564 from lat9nq/dinner-fork
yuzu: Streamline broken Vulkan handling
2022-07-25 12:12:41 -07:00
Narr the Reg ceb70b2139 Address comments 2022-07-25 11:17:48 -05:00
german77 3ac4f3a252 service: irs: Implement clustering processor 2022-07-24 15:01:43 -05:00
Liam 862142213f qt: reset progress bar after shader compilation 2022-07-24 13:35:44 -04:00