10641 Commits

Author SHA1 Message Date
PabloMK7
fe7fe3ed24
android: Fix crash when user directory permissions are lost (#1110)
* android: Fix crash when user directory permissions are lost

---------

Co-authored-by: OpenSauce04 <opensauce04@gmail.com>
2025-06-03 23:06:46 +02:00
OpenSauce04
2acbcd333c app/build.gradle.kts: Removed now-obsolete isMinifyEnabled value from relWithDebInfo build variant 2025-06-03 21:48:33 +01:00
OpenSauce04
7853bacddd app/build.gradle.kts: Replaced deprecated buildDir value with layout.buildDirectory 2025-06-03 21:48:33 +01:00
OpenSauce04
d827b63044 Migrate deprecated buildconfig value in gradle.properties to build.gradle.kts 2025-06-03 21:48:33 +01:00
OpenSauce04
14e8ee7fe3 cmake: Suppress -Wpsabi warnings when building with GCC 2025-06-03 20:58:30 +01:00
RedBlackAka
bc1edd1f1a
Fix and restore macOS native menu (#1111)
* Fix and restore macOS native menu

* Handle menu more elegantly by making norole default

Handle menu roles more universally by making norole default and manually define previously automatically assigned roles
2025-06-03 18:12:24 +01:00
OpenSauce04
cfe767e301 Updated translations via Transifex 2122-alpha1 2025-05-31 18:54:12 +01:00
OpenSauce04
063a80695c Updated outdated Vulkan dependencies to SDK 1.4.304.1 2025-05-31 16:37:04 +01:00
PabloMK7
a974fc4ac8 kernel: Improve SVC handling timings 2025-05-31 15:23:14 +00:00
PabloMK7
ad97506867
video_core: Remove assert in AccelerateTextureCopy (#1092) 2025-05-31 14:25:57 +02:00
PabloMK7
cf87efa3c0 video_core: Vectorize RasterizerAccelerated::AnalyzeVertexArray
Uses SIMD operations on the RasterizerAccelerated::AnalyzeVertexArray
function, which is hot code. Slightly reduces GPU processing time
on all games.

This idea was suggested by an anonymous contributor.

Co-authored-by: OpenSauce04 <opensauce04@gmail.com>
2025-05-31 11:12:28 +00:00
PabloMK7
88b3dff278 citra_common: Enable SSE4.2 on x86_64 builds
Enables the use of SSE4.2 instructions on x86_64 CPUs, allowing
compilers to automatically vectorize some loops on citra_common.
A CMake toggle ENABLE_SSE42 (ON by default) has been added
to enable this behaviour.

This change breaks compatibility with CPUs that do not have
SSE4.2 instructions. All modern CPUs (from 2011 onwards) should
always have these instructions. Manual compilation will be
needed for older CPUs.

A message has been added to report if the CPU is incompatible
when starting the emulator.

Co-authored-by: OpenSauce04 <opensauce04@gmail.com>
2025-05-31 11:12:28 +00:00
OpenSauce
9ecd26d2ce
android: Enhance shortcut customization with a custom dialog (#824)
* android: Enhance shortcut customization with a custom dialog

Adds ability to customize game shortcuts with:
- Custom name input
- Editable icon via image picker
- Ability to stretch to fit or zoom to fit the shortcut icon

* Code cleanup

* SearchFragment.kt: Updated license header

---------

Co-authored-by: Kleidis <167202775+kleidis@users.noreply.github.com>
2025-05-29 19:17:01 +01:00
PabloMK7
4cfb5c9d55
android: Add missing shader JIT option (#1085) 2025-05-29 19:10:26 +02:00
OpenSauce04
a6c72531b4 strings.xml: Removed stray quotation mark from advanced string 2025-05-29 17:15:52 +01:00
PabloMK7
ae43740690
Fix disable spirv optimizer option not saving (#1084) 2025-05-29 18:11:33 +02:00
PabloMK7
ec964c8610
Add more advanced frame time information (#1083) 2025-05-29 17:38:10 +02:00
PabloMK7
fd2ce82b6e
Add toggle to disable SPIRV optimization pass (#1080)
* Add toggle to disable SPIRV optimization pass

* vk_shader_util.cpp: Nitpicky comment tweak

* Consistently refer to "optimizer" instead of "optimization"

---------

Co-authored-by: OpenSauce04 <opensauce04@gmail.com>
2025-05-28 21:22:59 +01:00
OpenSauce
fd2551439e
android: Add rotate screen upright toggle to UI (#819)
* Add upright boolean for portrait mode

* Add the `upright_screen` boolean to the UI as a switch & in-game

* ScreenAdjustmentUtil.kt: Updated license header

---------

Co-authored-by: Kleidis <167202775+kleidis@users.noreply.github.com>
2025-05-28 18:50:57 +00:00
OpenSauce
f3c63abd30
android: Only use Boolean value type for SwitchSettings (#821)
* android: Only use `Boolean` value type for `SwitchSetting`s

* SwitchSetting.kt: Updated license header
2025-05-28 19:00:48 +01:00
OpenSauce
f771952e62
android: Reorganize setup process to use multiple buttons per-page (#820)
* Refactor SetupFragment to support multiple buttons in one page

* Add new `PageButton` data class

* Programmatic button creation && button disabling in setUpAdapter

* Refactor SetupWarningDialogFragment to support multiple titles, descriptions, and help links

* Rework CitraDirectoryHelper to support button step state

* Update warning message for user folder selection step

* Updated license headers

* Code cleanup

* "skip setting the user folder" --> "skip setting up the user folder"

* Fixed typos in string names

* Break `select_emulator_data_folder_description` string over two lines

* `select_emulator_data_folder` --> `select_emulator_data_folders`

* Code cleanup #2

* Removed seemingly accidentally duplicated block of code

* Removed stray newlines

---------

Co-authored-by: Kleidis <167202775+kleidis@users.noreply.github.com>
2025-05-27 18:41:27 +01:00
OpenSauce04
6df92285e1 update_checker.cpp: Use fmt::format instead of std::format
It seems that certain environments still don't have access to `std::format` yet, and I missed this because it built fine on my machine and CI passed because the code using `std::format` wasn't included in non-tagged builds.
2025-05-27 14:00:08 +01:00
OpenSauce04
2c8a3b17b4 Updated language translations via Transifex 2025-05-27 13:03:07 +01:00
OpenSauce04
0ca46dc05f update_checker.cpp: Use GitHub's tags API to get latest tag for prereleases
The `releases` API can sometimes return releases out of order if they were uploaded too close to eachother, for whatever reason.
2025-05-27 13:00:32 +01:00
OpenSauce04
95eb701e12 update_checker.cpp: Add alpha and beta substrings to prerelease detection logic 2025-05-27 11:39:00 +01:00
OpenSauce04
2aa29a62cc android: Enable android:windowOptOutEdgeToEdgeEnforcement for Android 15+ 2025-05-26 21:28:09 +01:00
RedBlackAka
f20e5be513 Update MoltenVK to 1.2.9 2025-05-26 19:33:27 +01:00
PabloMK7
5e2161d90b
video_core: Refactor state tracking (#1059) 2025-05-26 14:37:03 +02:00
PabloMK7
bf587885cb
Allow SPIR-V when using Shadow2D texture mapping (#1057) 2025-05-24 00:05:16 +02:00
PabloMK7
ee63706887
Fix incorrect geo shader config start index parameter bit length (#1056) 2025-05-22 18:20:13 +02:00
PabloMK7
e83b81ec98
Add setting to toggle RPC server (disabled by default) (#1047) 2025-05-18 17:27:37 +02:00
OpenSauce04
8b939a9dab video_core: Fixed incorrect Vulkan mode when speed unthrottled w/ vsync
When the frame limit was set to 0 (unthrottled), the Vulkan present mode would be unintentionally set to FIFO, which caps out at the monitor's refresh rate
2025-05-16 17:48:30 +01:00
OpenSauce04
d878bfec3b file_util.cpp: Removed unnecessary definitions 2025-05-16 17:11:21 +01:00
OpenSauce04
33889fec1d file_util.cpp: Use _stat64 instead of stat where appropriate
Avoids compile failures introduced in an MSYS2 update
2025-05-16 17:11:21 +01:00
OpenSauce04
51dc3c6858 citra_room: Added removed option warning for --enable-citra-mods/-e 2025-05-15 16:19:20 +01:00
OpenSauce04
4ea9d76093 Updated license headers 2025-05-15 16:19:20 +01:00
Kleidis
d94654ea10 network: Removed enable_citra_mods room option
Moderator status is now determined
solely by the user's moderator flag
2025-05-15 16:19:20 +01:00
Kleidis
650cf43cd8 qt: Update moderation UI visibility in chat room 2025-05-15 16:19:20 +01:00
Kleidis
54732c560c network: Grant private room hosts moderator privileges 2025-05-15 16:19:20 +01:00
Briar
580d46e3d6
android: Add aspect ratio setting for single screen layout mode (#913)
* android: Add aspect ratio setting for single screen layout mode

Co-Authored-By: Morph <39850852+Morph1984@users.noreply.github.com>

* Partial rewrite to address issues and improve readability

---------

Co-authored-by: Morph <39850852+Morph1984@users.noreply.github.com>
Co-authored-by: OpenSauce04 <opensauce04@gmail.com>
2025-05-12 19:58:01 +01:00
OpenSauce04
c204ebf021 android: Fixed Turbo toast appearing in situations other than toggling Turbo
+ minor code cleanup
2025-05-09 20:34:55 +01:00
Kex
ea8e403f83 Make argument of --username required 2025-05-09 11:52:17 +01:00
OpenSauce04
73760e087a android: Added periods to the ends of performance overlay setting descriptions 2025-05-08 21:44:07 +01:00
OpenSauce04
3ce9f277d9 android: Corrected some nitpicky formatting inconsistencies in drawable xmls 2025-05-08 19:29:20 +01:00
OpenSauce
378d830a93
android: Improve performance stats overlay settings and functionality (#808)
* android: Improve performance stats overlay settings and functionality

* Add battery temp functions

* Readd frametime

* Corrected `perf_overlay_position` being placed in the wrong `default_ini.h` file

* Fixed the word "overlay" being repeatedly misspelled in function names

* `updateshowStatsOverlay` --> `updateShowStatsOverlay`

* Increased frequency of performance overlay updates

Changed from every 3 seconds to every 1 second

* Adjusted overlay margins to avoid text being lost behind rounded corner cutouts

* Fix performance overlay updates being stacked when changing orientation

* Changed out host RAM usage statistic for available host RAM

* Removed seemingly unused code

* "FT" --> "Frametime" in overlay

* Use non-breaking spaces to control how the overlay text breaks

Also used a vertical box drawing character instead of a pipe for the divider because it looks slightly nicer

* Renamed/adjusted remnants of the "Show System Memory Usage" setting

* Replaced Performance Stats Overlay icon with a stock clip art image from Android Studio

* Made performance overlay setting value names and strings less generic

* Rebranded Performance Stats Overlay as simply "Performance Overlay"

* Rewrote performance overlay settings description

* Improved naming consistency

* Rebranded "Show Overlay" toggle to "Show Controller Overlay"

This is to avoid confusion with the new performance overlay

* nitpick: Fixed order of imports in EmulationFragment.kt

* More string name consistency improvements

* Fixed compile failure due to a binding name not being updated

* Changed Performance Overlay setting headers

* EmulationFragment.kt: Formatting corrections

* Removed seemingly misplaced call to `updateShowPerformanceOverlay`

* `OVERLAY_POSITION` --> `PERFORMANCE_OVERLAY_POSITION`

---------

Co-authored-by: Kleidis <167202775+kleidis@users.noreply.github.com>
Co-authored-by: Zephyron <zephyron@citron-emu.orgq>
2025-05-08 19:26:30 +01:00
OpenSauce
16980b0ffc
readme: Updated minimum MacOS version to reflect a recent change 2025-05-07 23:29:02 +01:00
OpenSauce
5297c95e52
readme: Added a missing divider between Windows and MacOS install instructions 2025-05-07 23:27:34 +01:00
OpenSauce
519f67a20a
Updated readme 2025-05-07 23:26:26 +01:00
OpenSauce04
74f3a2457e Updated translations via Transifex 2025-05-07 21:21:49 +01:00
PabloMK7
18447ac6ac Fix savestates with the OpenGL renderer 2025-05-07 21:05:34 +01:00