Commit Graph

9133 Commits

Author SHA1 Message Date
PabloMK7
32fd435928 core: Add HLE HTTP URL replacement functionality 2026-06-24 17:43:04 +02:00
PabloMK7
1d59c9a0fc core: Fix HTTPC behaviour when post data is pending 2026-06-24 17:43:04 +02:00
Daniel López Guimaraes
c9d2593c2c
apt: Properly implement app ID checks (#2225)
The IsSystemAppletId and IsApplicationAppletId checks were prone to
collisions due to the way they were implemented. For example, the
application app ID would pass IsSystemAppletId since 0x300 & 0x100 != 0

To account for masking collisions, add a generic `TypeMask` enum value
used to mask the app ID type correctly, and then match the masked value
with the app ID we're looking for.

Fixes issues with system applets that use objects from the caller
applications, since the edge case for sysapplet parameters being sent to
applications was also passing the other way around.
2026-06-19 23:56:06 +02:00
PabloMK7
9e43e451d1
core: Implement APT:MapProgramIdForDebug (#2224) 2026-06-19 09:00:33 +02:00
PabloMK7
0a269688a3
core: Implement CFG:TranslateCountryInfo (#2223) 2026-06-19 09:00:08 +02:00
OpenSauce04
3a77813821 Updated translations via Transifex 2026-06-17 21:50:43 +01:00
OpenSauce04
1137d530b0 Rename USE_DISCORD_PRESENCE option and def to ENABLE_DISCORD_RPC 2026-06-17 17:17:21 +01:00
Sergei Golishnikov
04f3a93854
macos: fix Vulkan/Metal renderer on macOS 26+ and bump MoltenVK (#2149)
* macos: fix Vulkan/Metal renderer on macOS 26+ and bump MoltenVK

Four related changes that together let the Vulkan backend boot a game
on Apple Silicon Macs running macOS 26.x. Each is needed independently;
the combination was tested on a Mac16,6 (M4 Max) / macOS 26.4.1.

CMakeModules/DownloadExternals.cmake:
  Bump bundled MoltenVK from v1.2.9 to v1.4.1. v1.2.9 does not
  recognize macOS 26 surface objects and traps with an Objective-C
  "unrecognized selector" inside vkGetPhysicalDeviceSurfaceCapabilitiesKHR.

src/video_core/renderer_vulkan/vk_instance.cpp:
  Disable VK_EXT_tooling_info on MoltenVK. MoltenVK advertises the
  extension but does not expose vkGetPhysicalDeviceToolPropertiesEXT
  through its dispatcher, so the call inside CollectToolingInfo()
  trips a vulkan-hpp assertion in Debug and dereferences NULL in
  Release.

src/citra_qt/bootmanager.cpp:
  Force-install a fresh CAMetalLayer on the NSView before handing it
  to createMetalSurfaceEXT. Qt 6.11's QWindow::MetalSurface does not
  always back the view with a CAMetalLayer on macOS 26, and MoltenVK
  1.3+ aborts in MVKSurface::getNaturalExtent() if the layer is not
  the right class. Implemented via objc_msgSend so no .mm conversion
  is needed.

src/citra_meta/CMakeLists.txt:
  Gate LaunchScreen.storyboard behind 'if (IOS)'. The storyboard is
  iOS-only and previously broke the Xcode generator on macOS with
  "iOS storyboards do not support target device type 'mac'."

* Move Metal layer creation logic into MetalUtil::CreateMetalLayer ObjC++ function

This change makes the code much more readable, as the logic is now in its native language

---------

Co-authored-by: SergeyMild <>
Co-authored-by: OpenSauce04 <opensauce04@gmail.com>
2026-06-17 16:15:42 +01:00
Cobalt
28960bf166
Fix loadTranslation for QT 6 older than 6.7 (#2200)
* language fix for QT pre 6.7

haha funny number

* be more explicit

* make clang-format happy
2026-06-17 14:37:55 +01:00
OpenSauce04
176cd5cf14 qt: Fix <System> selection becoming blank when selected 2026-06-17 14:04:55 +01:00
0x48kirenh
735c63174c
core/memory: Fix undefined behavior and optimize Luma alias path (#2202)
* core/memory: Fix undefined behavior and optimize Luma alias path

* chore: clean up Luma mapping comments

* style: fix clang-format formatting
2026-06-17 09:13:56 +02:00
OpenSauce04
f015a208e5 qt: Use upstream Qt Base translations when available 2026-06-16 22:46:24 +01:00
OpenSauce04
4687226fa5 android: Force use of Vulkan if OpenGL renderer is ANGLE
This commit also renames the AndroidStorage namespace and related files to AndroidUtils, and merges `jni/utils.cpp`/`.h` into it.
2026-06-16 17:27:33 +01:00
OpenSauce04
bd733284a3 android: Retrieve and log OpenGL renderer string 2026-06-16 17:27:33 +01:00
OpenSauce04
cd1ef53569 Remove unused imports via ktlint 2026-06-16 16:13:05 +01:00
OpenSauce04
7786dae94d android/.editorconfig: Enable no-unused-imports rule
Reportedly finicky, use for now but maybe delete later if there are issues.
See https://github.com/ktlint/ktlint/issues/3038
2026-06-16 16:13:05 +01:00
OpenSauce04
5ea4bb2511 Android studio integration for ktlint (runs on build) 2026-06-16 16:13:05 +01:00
OpenSauce04
60e44ff049 Updated license headers 2026-06-16 16:13:05 +01:00
OpenSauce04
d70099278a android: Manual kotlin formatting corrections 2026-06-16 16:13:05 +01:00
OpenSauce04
1afa24387f android/.editorconfig: Disable ktlint_standard_comment 2026-06-16 16:13:05 +01:00
OpenSauce04
2940069fe2 android: Apply automatic kotlin formatting fixes 2026-06-16 16:13:05 +01:00
OpenSauce04
a2a20fcc65 Add Kotlin code formatting/style configuration files 2026-06-16 16:13:05 +01:00
OpenSauce04
b4bda9d7f5 qt: Change type of default_hotkeys to std::vector 2026-06-16 14:18:30 +01:00
Wunk
9ffb39eab2
renderer_gl: Add DebugScopes to rasterizer and texture-runtime (#2133)
* renderer_gl: Add `DebugScopes` to rasterizer and texture-runtime

Some debug scopes I added while working on https://github.com/azahar-emu/azahar/pull/2053 to help better attribute OpenGL API calls to the particular C++ callstack that called it. Helps greatly for diagnosing rendering issues.

* renderer_gl: Fix DebugScope unconditional incrementing of `global_scope_depth`

`global_scope_depth` was being incremented unconditionally in the ctor, but the
dtor was decrementing it conditionally based on
`Settings::values.renderer_debug`, allowing an imbalanced scope-depth hazard in
the case that `Settings::values.renderer_debug` is operated at runtime during a
debug-scope.
2026-06-14 22:53:18 +01:00
72374
398b13abc2
Fix typo in Renderer_DelayGameRenderThreadUs (#2076) 2026-06-14 18:27:57 +01:00
OpenSauce04
823901a364 Formatting nitpicks
Meant to merge these with #1385, oops
2026-06-14 17:41:54 +01:00
NovaChild
8a6d597dec
android: Secondary Layout and Menu Improvements (#1385)
* Add a new Secondary Display Layout option on android that makes the secondary display honor swap button

* add quick menu option for secondary layout

* fix icon

* added other secondary layouts

* Add a new Secondary Display Layout option on android that makes the secondary display honor swap button

# Conflicts:
#	src/core/frontend/framebuffer_layout.cpp

* add quick menu option for secondary layout

* fix icon

* added other secondary layouts

* updated secondary menu with functionality to switch external displays

 Conflicts:
	src/android/app/src/main/java/org/citra/citra_emu/display/SecondaryDisplay.kt

* safety checks for crash prevention

* make secondary menu only appear if a secondary display is available

* update default displayid behavior to exclude "Built"

* update odin 2 bugfix to handle other languages

* Apply clang-format

* Rename "Opposite of Primary Display" option for brevity

* Rename menu_secondary_layout_reverse_primary for consistency

* Rename SecondaryDisplayLayout::ReversePrimary for consistency

* first round of code fixes based on review

* Added android-side enable_secondary_display boolean setting, replacing secondary_display_layout = none on the android side. Exposed it in Layout settings, and secondary display layout is now only selectable if it is enabled.  Support for the old option is still in the code, but should no longer be selectable.

Also renamed opposite to reverse_primary in a few other places.

* Update framebuffer layout and renderers to correctly render hybrid mode on both primary and secondary displays

* Apply clang format

* Re-apply terminology changes which were undone by a recent commit

* Removed unused string emulation_secondary_display_default

---------

Co-authored-by: OpenSauce04 <opensauce04@gmail.com>
2026-06-14 17:37:32 +01:00
exertustfm
3dc357a8c9
qt: Fix incorrect system language detection (#1558) 2026-06-06 18:37:42 +01:00
RedBlackAka
4867bb2e2b
video_core: Change unimplemented gas stub behaviour for Vulkan (#2165) 2026-05-30 23:53:16 +02:00
Wunk
4e4c7e687b
renderer_gl: Fix disabled cubemap texture units (#2159)
Disabled texture units on OpenGL always use a null 2D texture, but there are
cases where the null texture should be a null cubemap rather than a 2D
texture to match the active texture binding state.

Fixes some errors that occur in `OpenGLState::Apply()` found
in Brain Age: Concentration Training.
2026-05-28 15:42:02 +02:00
OpenSauce04
56f738eb06 jni/config.cpp: Reworded default config assert message for clarity 2026-05-27 18:05:48 +01:00
RedBlackAka
b1e537a485
Qt: Do not show Microprofile option at all if disabled (#2156) 2026-05-26 22:44:51 +02:00
OpenSauce04
59da460177 Migrate translations to new language codes 2026-05-25 19:08:09 +01:00
OpenSauce04
f0bc64d967 IntListSetting.kt: Use generated layouts_to_cycle key 2026-05-24 12:55:09 +01:00
Masamune3210
ad8526c4cf
pica_core.cpp: Initialize IRQ_CMP (#2143)
* initialize IRQ_CMP

* add comment explaining requirement

* Fix formatting

---------

Co-authored-by: OpenSauce04 <opensauce04@gmail.com>
2026-05-24 11:07:57 +01:00
PabloMK7
b186b04995
core: Refactor thread unschedule and add debug frontend unschedule (#2145) 2026-05-23 17:25:14 +02:00
Wunk
ab6896a2ca
core: Fix debug compile error (#2132)
Fixes a compilation error when building in Debug mode. `count` should be `async_data->count` in this log message.
2026-05-17 15:15:21 +02:00
OpenSauce04
e11f3da493 Updated translations via Transifex 2026-05-16 17:32:14 +01:00
OpenSauce04
8ffb94b06c Implement Z3DS compression CLI in new citra_cli static library 2026-05-16 17:13:31 +01:00
OpenSauce04
dbe7fd979f cmake: Add EXCLUDE_FROM_ALL to targets where applicable 2026-05-09 14:01:56 +01:00
PabloMK7
1c7c7a5f1b
svc: Fix instruction cache invalidation only affecting current core (#2100) 2026-05-09 14:03:55 +02:00
OpenSauce04
5ecd402811 cmake: Explicitly use gcc-ar instead of ar for MXE builds 2026-05-09 10:32:52 +01:00
OpenSauce04
0ce2a30d20 Implement proper DLL resolution for MXE builds 2026-05-09 10:32:52 +01:00
OpenSauce04
422c7865a3 For Linux --> Windows cross-compilation, copy all cross-compiled DLLs during build
As per the comment, this is just to get the build functioning pending a real solution
2026-05-09 10:32:52 +01:00
OpenSauce04
ca99574700 tests: Don't run catch_discover_tests when cross-compiling to a different OS 2026-05-09 10:32:52 +01:00
PabloMK7
929a51afc6
audio: Add option to simulate headphones plugged in (#2099) 2026-05-08 15:19:53 +02:00
PabloMK7
260f08c497
core: Add async filesystem operations (#2098) 2026-05-08 11:35:47 +02:00
PabloMK7
921ea178b9
ui: Made rom loading errors more clear and user friendly (#2097) 2026-05-07 20:39:30 +02:00
PabloMK7
b540725090
Revamp GDB implemenation and add a some minor debug features (#2086) 2026-05-07 13:48:35 +02:00
PabloMK7
5ddbaeae23
gsp: Fix GPU interrupt queue and add GPU timing emulation (#2095) 2026-05-07 01:36:21 +02:00