Commit Graph

8657 Commits

Author SHA1 Message Date
OpenSauce04
08f820089e Updated a myriad of user-facing strings to refer to Azahar, not Citra 2024-11-21 23:30:29 +00:00
OpenSauce04
97207ec574 Rebranded log file to azahar_log 2024-11-21 22:33:33 +00:00
OpenSauce04
1c0b14fda4 Changed room executable name to azahar-room 2024-11-21 21:36:51 +00:00
OpenSauce04
99d59c6775 citra-room: Updated filename and cmake target name formatting for consistency 2024-11-21 21:36:51 +00:00
OpenSauce04
4a84df0732 Rebranded NSIS installer 2024-11-21 21:36:51 +00:00
OpenSauce04
03d3d3601f Changed executable name to azahar 2024-11-21 21:36:51 +00:00
OpenSauce04
f94e28335c Changed old log filename extension from .txt.old.txt to just .old.txt 2024-11-21 21:35:14 +00:00
PabloMK7
758ded7fae renderer: Add disable right eye performance hack 2024-11-19 16:36:24 +00:00
Reg Tiangha
19eeb949a1 citra_qt: Build fixes for QT 6.8 (#441)
* citra_qt: Build fixes for QT 6.8

Replace deprecated `stateChanged` function with `checkStateChanged` that was first introduced in QT 6.7.

* citra_qt: Use macros to detect QT version

* citra_qt: Group QT macro version checks together
2024-11-15 16:56:48 +00:00
PabloMK7
ec14c621ff memory: Cache last physical memory pointer 2024-11-13 12:35:13 +01:00
PabloMK7
50f8e3f3ed plgldr: Fix loading of plugins due to typo 2024-11-13 11:14:00 +01:00
OpenSauce04
fd2fa5a1bb android: Updated AGP to 8.7.2 2024-11-10 22:24:13 +00:00
OpenSauce04
3105eb8ae7 AndroidManifest.xml: Set android:appCategory to game
Citra previously used the `android:isGame` property, however this has since been deprecated.

The previously set `android:isGame` property has been removed from the manifest as a result.
2024-11-10 22:07:20 +00:00
OpenSauce04
fd55b4fd6c Applied clang-format-18 to codebase 2024-11-10 21:02:54 +00:00
OpenSauce04
3e02c29225 citra_qt: Fixed desktop shortcuts incorrectly including -g
This argument has a new meaning since the frontend merge, and is no longer needed in this instance
2024-11-10 20:54:05 +00:00
OpenSauce04
08605cc5df citra_qt: Use non-breaking spaces+hyphens in command output message boxes 2024-11-10 20:53:53 +00:00
OpenSauce04
da7d5c8aa0 citra_meta: Help text now omits references to the SDL frontend if disabled 2024-11-10 20:50:23 +00:00
OpenSauce04
11971d18d9 citra_meta: Target now utilizes precompiled headers 2024-11-10 20:50:04 +00:00
OpenSauce04
023de4dd76 citra_meta: Reworded missing SDL frontend error message 2024-11-10 20:42:03 +00:00
David Griswold
43c4d3981d Added "Small Screen Position" feature
* error checking for layout value from older config

* rename enum and update aspect ratio code

* rewrite LargeFrameLayout to support multiple positions

* add settings for smallscreenposition, fix minsize function

* fixed framebuffer from res scale (screenshots)

* add desktop UI for small screen position

* small screen position submenu on desktop

* fix int-float conversion warning

* rename Above and Below to hopefully fix linux issue

* Add Small Screen Position Setting to android settings menu

* fix sliders to work with floats, mostly

* fix android slider textinput ui

* change None enums in settings and cam_params

* Apply clang-format-18

* SettingsAdapter.kt: Make more null pointer exception resistant

* Updated license headers

* Code formatting nitpicks

* fix bug in main.ui that was hiding menu

* replace default layout with a special call to LargeFrame (like SideBySide does)

* fix bug when "large screen" is actually narrower

* edit documentation for LargeScreenLayout

* update PortraitTopFullFrameLayout to use LargeFrameLayout

* fix unary minus on unsigned int bug

* Applied formatting correction

* Added `const`s where appropriate

* android: Add mention of the bottom-right small screen position being the default

* review fixes + more constants

* refactor all Upright calculations to a reverseLayout method, simplifying code and reducing bugs

* Removed stray extra newline

* SettingsAdapter.kt: Fixed some strange indentation

* Removed unnecessary `if` in favour of direct value usage

---------

Co-authored-by: Reg Tiangha <rtiangha@users.noreply.github.com>
Co-authored-by: OpenSauce04 <opensauce04@gmail.com>
2024-11-10 20:41:28 +00:00
Kleidis
0a3cb3a4dc citra_qt: Add diagonal directional input bindings for circlepad and c-stick (#404)
Co-authored-by: OpenSauce04 <opensauce04@gmail.com>
2024-11-10 20:32:42 +00:00
OpenSauce04
00fe25b299 citra_qt: Fixed strange compilation failure
Possibly related to https://bugreports.qt.io/browse/QTBUG-111968
2024-11-10 20:31:25 +00:00
OpenSauce04
c399783266 Merged the SDL and Qt frontends together into a single unified executable 2024-11-10 19:28:04 +00:00
Kleidis
f939b981a0 android: Add screen orientation presets to layout settings (#420)
Co-authored-by: OpenSauce04 <opensauce04@gmail.com>
2024-11-10 19:27:51 +00:00
Kleidis
083390901b android: Add game shortcuts to about game dialog (#313)
Adapted from https://github.com/mandarine3ds/mandarine/pull/47

Co-authored-by: Charles Lombardo <clombardo169@gmail.com>
Co-authored-by: Ishan09811 <156402647+Ishan09811@users.noreply.github.com>
Co-authored-by: OpenSauce04 <opensauce04@gmail.com>
2024-11-10 19:26:42 +00:00
OpenSauce04
cc2146a880 citra_qt: Fixed Close Movie button being clickable when no movie is opened 2024-11-10 19:26:26 +00:00
OpenSauce04
22876b186b citra_qt: Moved command line option checking to earlier in execution, improving response time 2024-11-10 19:26:14 +00:00
OpenSauce04
fb71e9977c citra_qt: Text output for -h, -v and -i options are displayed using a Qt message box on Windows 2024-11-10 19:26:01 +00:00
OpenSauce04
471d3e035c citra_qt: Removed old -g option; Software path is now passed as the last parameter instead 2024-11-10 19:25:49 +00:00
OpenSauce04
4cdb3b063c citra_qt: Added -d option for dumping video 2024-11-10 19:25:39 +00:00
OpenSauce04
485f627edb citra_qt: Added -r and -p options for recording and playing TAS movies respectively 2024-11-10 19:25:25 +00:00
OpenSauce04
5a462b84b3 citra_qt: Added -i option for installing CIAs 2024-11-10 19:25:15 +00:00
OpenSauce04
7bed6eda64 citra_qt/main.cpp: Put options in alphabetical order 2024-11-10 19:25:01 +00:00
OpenSauce04
44cd78e005 citra_qt: Added -v and -h options 2024-11-10 19:24:31 +00:00
Reg Tiangha
b6dbb2f6dd gl_driver.cpp: Minimum OpenGLES version is actually 3.2 2024-11-10 19:01:21 +00:00
OpenSauce04
f6362f72e2 android: Updated dpad header descriptions 2024-11-10 19:01:21 +00:00
Reg Tiangha
2a65644d27 lime_qt: Fix order of Texture Filter drop-down menu (#454) 2024-11-10 19:01:21 +00:00
OpenSauce04
260b5370b3 Windows installer filename now has an suffix 2024-11-10 19:01:21 +00:00
OpenSauce04
c204adc9fb android: Added string translations for Polish 2024-11-10 19:01:21 +00:00
OpenSauce04
5d3a02b9bf am.h: Minor formatting correction 2024-11-10 19:01:21 +00:00
OpenSauce04
fa6ef8e9aa android: Updated AGP to 8.6.1 2024-11-10 19:01:21 +00:00
Reg Tiangha
f39e4fc7f9 Android: Update androidx.navigation:navigation-safe-args-gradle-plugin from 2.7.7 to 2.8.0 2024-11-10 19:01:21 +00:00
Reg Tiangha
8ba9ddd800 Android: Update gradle from 8.10 to 8.10.1 2024-11-10 19:01:21 +00:00
Reg Tiangha
37617cf31b Android: Support flexible page sizes in Android 15
Android 15 will allow OEMs to ship arm64-v8a devices with 16KiB page sizes. Devices that use this configuration will not be able to run existing apps that use native code. To be compatible with these devices, applications will need to rebuild all their native code to be 16KiB aligned, and rewrite any code which assumes a specific page size.

This commit sets `-DANDROID_SUPPORT_FLEXIBLE_PAGE_SIZES=ON` and updates `libadrenotools` to replace `PAGE_SIZE` with `getpagesize()` in order to dynamically determine a device's page size.
2024-11-10 19:01:21 +00:00
Reg Tiangha
e08e1dff61 ndk_motion.cpp: Use ALooper_pollOnce instead of ALooper_pollAll
ALooper_pollAll is deprecated in Android NDK 27.
2024-11-10 19:01:21 +00:00
Reg Tiangha
146c63c155 Android: Update activity-ktx from 1.8.2 to 1.9.2 2024-11-10 19:01:21 +00:00
Reg Tiangha
561bfc3d70 Android: Update various dependencies 2024-11-10 19:01:21 +00:00
Reg Tiangha
8e5bb7aa8a Android: Change target from Android 14 to 15 2024-11-10 19:01:21 +00:00
Reg Tiangha
daafef9894 Android: Update NDK from r26d to r27b 2024-11-10 19:01:21 +00:00
OpenSauce04
790e41f4bc Implemented NSIS installer for Windows 2024-11-10 19:00:58 +00:00
OpenSauce04
3aaa254f9d Renamed dedicated_room to citra_room 2024-11-10 18:16:50 +00:00
OpenSauce04
84fce39a2d Fixed hotkey_groups shortcuts not being assigned correctly 2024-11-10 18:16:50 +00:00
Reg Tiangha
bdff6321ab Android: Fix Cardboard VR and update render_3d descriptions 2024-11-10 18:16:50 +00:00
OpenSauce04
9da0b8f9ad Added "Reverse Side by Side" Sterioscopic 3D mode 2024-11-10 18:16:50 +00:00
OpenSauce04
c4583264c9 Fixed swapping screens on landscape displays forcing portrait layout 2024-11-10 18:16:50 +00:00
OpenSauce04
3e5306e347 Store frame_limit config value as a double
This allows fractional values to be used for the game speed
2024-11-10 18:16:50 +00:00
David Griswold
42a0a72c96 android: Refactor layout code to use LargeScreen layout instead of MobileLandscape 2024-11-10 18:16:50 +00:00
kleidis
10bf612cb0 android: Add static color theme option 2024-11-10 18:16:50 +00:00
OpenSauce04
f0d22a9800 Removed redundant cmake options related to the compatibility list 2024-11-10 18:16:50 +00:00
OpenSauce04
8efd959847 android: Removed foreground service leftovers 2024-11-10 18:16:50 +00:00
OpenSauce04
d8643b2f75 main.cpp: Fixed compilation failure on MSYS2 2024-11-10 18:16:50 +00:00
OpenSauce04
a3a6aed9be Fixed incorrect applications directory path while using Flatpak build 2024-11-10 18:16:50 +00:00
OpenSauce04
6d37ef8b27 Fixed shortcuts generated via Flatpak not working 2024-11-10 18:16:50 +00:00
OpenSauce04
1c75bf4b7f Fixed shortcut creation failing if icons directory structure doesn't already exist 2024-11-10 18:16:50 +00:00
OpenSauce04
03630b547c SettingsAdapter.kt: Removed duplicate string 2024-11-10 18:16:50 +00:00
OpenSauce
67ca752c91 SettingsAdapter.kt: Removed stray commented code 2024-11-10 18:16:50 +00:00
Gamer64
699d31c033 Android: Fix buttons scale reset 2024-11-10 18:16:50 +00:00
David Griswold
e884d5f3f3 android: Implemented custom layout customization GUI
This commit also changes the name of the 'Portrait' landscape layout to 'Original'

Co-authored-by: OpenSauce04 <opensauce04@gmail.com>
2024-11-10 18:16:50 +00:00
David Griswold
b293a253f5 Refactored layout code in preparation for Android custom layout GUI 2024-11-10 18:16:50 +00:00
David Griswold
c78e893cd7 android: Updated custom layout coordinate system to match desktop 2024-11-10 18:16:50 +00:00
David Griswold
6cb61c8ff7 android: Added portrait-specific config values for custom layouts 2024-11-10 18:16:50 +00:00
OpenSauce04
f8e9e459fe Changed how pausing the emulator is handled to allow frame advancing
Where previously the emulator thread was halted, frame advancing mode is now enabled instead

This commit also removes the "Enable Frame Advancing" option due to being obsolete
2024-11-10 18:16:50 +00:00
OpenSauce04
358b7c8713 main.cpp: Removed unnecessary QStrings 2024-11-10 18:16:50 +00:00
OpenSauce04
eb69aff2d9 main.cpp: Toggle Screen Layout hotkey now uses connect_shortcut 2024-11-10 18:16:50 +00:00
OpenSauce04
0a52abb3f8 main.cpp: Reorganized GMainWindow::InitializeHotkeys 2024-11-10 18:16:50 +00:00
OpenSauce04
19fc3bf0a4 main.cpp: connect_shortcut now also connects to the secondary window 2024-11-10 18:16:49 +00:00
OpenSauce04
28823b10f5 Fixed HotkeyRegistry::GetHotkey locking shortcuts to the first widget that calls it 2024-11-10 18:16:49 +00:00
OpenSauce04
991316494d Don't tie hotkeys to only the main window by default
An optional boolean `primary_only` has been added to `link_action_shortcut` when it is necessary to seperate primary and secondary window hotkeys.
Currently this is only used for the fullscreen binding, as a different prodedure is used for each window.
2024-11-10 18:16:49 +00:00
OpenSauce04
b89991de61 android: Implemented about game dialog (#304)
This feature is accessible by long-pressing on a game card, replacing the old method of accessing the cheats menu

The cheats menu is now accessed from within the about game dialog

Adapted from 69c323289f

Co-authored-by: Ishan09811 <156402647+ishan09811@users.noreply.github.com>
Co-authored-by: kleidis <167202775+kleidis@users.noreply.github.com>
2024-11-10 18:16:49 +00:00
OpenSauce04
b48962db21 Fixed secondary window hotkeys not working after applying settings 2024-11-10 18:16:49 +00:00
OpenSauce04
12c455bf09 Removed 'Navigate to GameDB entry' context menu option
The site this option points to no longer exists

Closes #268
2024-11-10 18:16:49 +00:00
OpenSauce04
91199197ab configure_debug.ui: Fixed duplicate element name 2024-11-10 18:16:49 +00:00
OpenSauce04
8ef2008b2a Use archive.org snapshots of remaining Citra links for now
Should be changed out for appropriate replacements when they are available

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
2024-11-10 18:16:49 +00:00
OpenSauce04
1bbeeed316 Fixed realtime audio not working correctly at emulation speeds over 100% 2024-11-10 18:16:49 +00:00
OpenSauce04
6808d35845 configure_layout.ui: Fix duplicated element names 2024-11-10 18:16:49 +00:00
OpenSauce04
5bb5749912 Made Single Screen Layout config require relevant layout to be selected 2024-11-10 18:16:49 +00:00
OpenSauce04
539fff882b Added Single Screen layout configuration options
These settings also affect the Separate Windows layout

This commit also restructures the Layout tab of the configuration menu
2024-11-10 18:16:49 +00:00
OpenSauce04
8debabaeb3 Removed stray text from poor conflict resolution 2024-11-10 18:16:49 +00:00
kleidis
f84503cf8c android: Implement Adreno Turbo setting for eligible GPUs (#227)
Co-authored-by: Ishan09811 <156402647+Ishan09811@users.noreply.github.com>
Co-authored-by: Gamer64 <76565986+Gamer64ytb@users.noreply.github.com>
Co-authored-by: OpenSauce04 <opensauce04@gmail.com>
2024-11-10 18:16:49 +00:00
OpenSauce04
6a8fa2c402 android: Gamepads can now control the in-game menu 2024-11-10 18:16:49 +00:00
OpenSauce04
61c4d324a9 android: Rework settings UI (#226)
Co-authored-by: Ishan09811 <156402647+ishan09811@users.noreply.github.com>
Co-authored-by: kleidis <167202775+kleidis@users.noreply.github.com>
2024-11-10 18:16:49 +00:00
OpenSauce04
794a12c3f6 android: Fixed landscape layouts not displaying correctly 2024-11-10 18:16:49 +00:00
OpenSauce04
d0b03cc9c5 Fixed minor formatting discrepancies 2024-11-10 18:16:49 +00:00
OpenSauce04
da1f0f43d0 Updated default custom layout values to account for new coordinate system 2024-11-10 18:16:49 +00:00
OpenSauce04
56683720c6 Large Screen Proportion config is greyed out when Large Screen is not selected 2024-11-10 18:16:49 +00:00
OpenSauce04
779a0f4af2 Updated custom layout value names to be more accurate 2024-11-10 18:16:49 +00:00
OpenSauce04
90c64a4e0a Custom Layout options now uses X, Y, Width Height
Previously used Left, Top, Right, Bottom positions
2024-11-10 18:16:49 +00:00
Reg Tiangha
b62d910fbf citra_qt: Fix Hybrid Screen layout menu option 2024-11-10 18:16:49 +00:00
Reg Tiangha
224ffafd41 citra_qt: Add Layout tab to in-game settings 2024-11-10 18:16:49 +00:00
Reg Tiangha
c2da4c16df citra_qt: Tidy up Layout tab 2024-11-10 18:16:49 +00:00
Reg Tiangha
2f96e77e23 citra_qt: Remove scroll bar from Layout and Enhancements tabs 2024-11-10 18:16:49 +00:00
Reg Tiangha
f7fbece278 citra_qt: Move Layout section to its own tab called Layout 2024-11-10 18:16:49 +00:00
Reg Tiangha
edafb0885a Edit enhancements labels 2024-11-10 18:16:49 +00:00
blakdulz
bf6bcb0591 add Bottom Screen Opacity in Enhancement tab 2024-11-10 18:16:49 +00:00
BlakDulz
ecf5dcaa72 remove indent of configure_enhancements.ui 2024-11-10 18:16:49 +00:00
blakdulz
ac1b0639ba QT add Custom Layout Menu Option.
This add Custom Layout selector in Both Menu and Enhancment Setting. This will allow to use or change Custom Layout mode or by using toggle. Still No Overlay Editor, just manual edit box, and this Not saved or carried at per game settings
2024-11-10 18:16:49 +00:00
Gamer64ytb
6f1d10264f Android: Fixed non-runtime settings sometimes not being changeable after closing a game
Co-Authored-By: Ishan09811 <156402647+ishan09811@users.noreply.github.com>
2024-11-10 18:16:49 +00:00
OpenSauce04
aa06b58523 Android: Removed nightly and canary build flavours as they are now obsolete 2024-11-10 18:16:49 +00:00
OpenSauce04
3f7eee078d Desktop: HLE audio settings are greyed out when non-HLE audio emulation is selected 2024-11-10 18:16:49 +00:00
OpenSauce04
d9e80c0285 Updated name and description of realtime audio setting 2024-11-10 18:16:49 +00:00
OpenSauce04
d53425e3bf Improved playback consistency of realtime audio option during inconsistent framerates 2024-11-10 18:16:49 +00:00
OpenSauce04
c07b23b1d0 Implemented Citra Enhanced's realtime audio option
Co-authored-by: Gamer64ytb <76565986+Gamer64ytb@users.noreply.github.com>
2024-11-10 18:16:49 +00:00
OpenSauce04
7c26710121 Tweaked shortcut creation msgbox identifiers to be more descriptive 2024-11-10 18:16:49 +00:00
Reg Tiangha
023304d9bf game_list.cpp: Resize columns to fit the size of their contents 2024-11-10 18:16:49 +00:00
Reg Tiangha
706c5a759b citra_qt: Fix typo 2024-11-10 18:16:49 +00:00
Reg Tiangha
29a6f0e059 citra_qt: Fix remaining build errors 2024-11-10 18:16:49 +00:00
FearlessTobi
9ca3c5699f citra_qt: Track play time
Co-Authored-By: Mario Davó <66087392+mdmrk@users.noreply.github.com>
2024-11-10 18:16:49 +00:00
FearlessTobi
89a119dbe9 citra_qt: Add support for game desktop shortcuts 2024-11-10 18:16:49 +00:00
FearlessTobi
dafa96b39c citra_qt: Games can be marked as favorites to make them appear at the top of the list
Co-Authored-By: Colin E. <5352197+Kewlan@users.noreply.github.com>
2024-11-10 18:16:49 +00:00
FearlessTobi
b0fe9a8173 citra_qt: Move "Open ..." options to submenu
Helps to reduce visual clutter a bit.
2024-11-10 18:16:49 +00:00
OpenSauce04
71088a63be Android resolution setting now matches the desktop interface
- Now has a radio button interface instead of a slider
- Now shows resolution alongside multiplier
2024-11-10 18:16:49 +00:00
OpenSauce04
9195185654 Android: Corrected overlay joystick draw order 2024-11-10 18:16:49 +00:00
gperrio
3c5d828a3b Android: Scale of individual buttons in the overlay can now be customized (#69) 2024-11-10 18:16:49 +00:00
OpenSauce04
e6bc49c8d8 Removed seemingly redundant opacityId value 2024-11-10 18:16:49 +00:00
OpenSauce04
c8bb7657bf Updated default opacity to 50%
This change accounts for the change in overlay image opacity to roughly equal how the overlay looks in 2108
2024-11-10 18:16:49 +00:00
OpenSauce04
14717600a3 Android: Increase opacity of button overlay images 2024-11-10 18:16:49 +00:00
Gamer64ytb
b690be841e Android: Implement touch controls opacity option. 2024-11-10 18:16:49 +00:00
Mike
80a213456b Log the contents of the General Purpose Registers when an unrecoverable exception occurs (#66)
This information is valuable for individuals utilizing Lime3DS to assist in debugging processes.
2024-11-10 18:16:49 +00:00
gperrio
3e3fa4aca2 Android: Add haptic feedback to overlay controls
Co-authored-by: João Vitor Polverari <polverari.jv@gmail.com>
2024-11-10 18:16:49 +00:00
gperrio
9542af819a Android: new overlay button to swap screens (#51)
Co-authored-by: gperrio <guillaume.perrio@ingenico.com>
Co-authored-by: OpenSauce04 <opensauce04@gmail.com>
2024-11-10 18:16:49 +00:00
OpenSauce04
20918b5a44 Android drawer is now locked by default 2024-11-10 18:16:49 +00:00
OpenSauce04
d832350993 Updated default mobile portrait touch layout to be more ergonomic 2024-11-10 18:16:49 +00:00
OpenSauce04
1e777f425d Discord presence is now greyed out instead of invisble when unavailable to avoid the tab being potentially empty 2024-11-10 18:16:49 +00:00
OpenSauce04
df791a8d37 "setup" --> "set up" in Android welcome message 2024-11-10 18:16:49 +00:00
PabloMK7
9d2d669066 Make plugins only load for apps and not applets (#265) 2024-11-07 14:47:32 +01:00
PabloMK7
a37d5727f5 Match changes to svcMapProcessMemoryEx from latest Luma3DS (#264) 2024-11-07 14:47:32 +01:00
David Griswold
12ff3e5fb0 Reenable dpad axes option (#262)
* Reenable dpad axes option

* Update Header Setting to allow for a description under tht title

* Add header descriptions for dpad axis and buttons
2024-11-07 14:47:31 +01:00
Reg Tiangha
c76a305ffc citra_qt: Build fixes for QT 6.8 (#258)
Replace deprecated `stateChanged` function with `checkStateChanged` that was first introduced in QT 6.7 but keep the old code to maintain compatibility with older versions of QT.
2024-11-07 14:47:31 +01:00
kleidis
6f86fc8dc4 android: Make Asynchronous shader compilation non runtime editable (#260)
I'm sure this was an oversight by the original devs and not intended to actually be runtime editable guessing by Qt's behavior

See https://github.com/Lime3DS/Lime3DS/issues/442
2024-11-07 14:47:31 +01:00
Wunk
bb1301b98e shader_jit_a64: Compact host executable memory (#230)
* common/aarch64: Allow generic code generator types

Use the templated `BasicCodeGenerator` type rather than the specialized
`CodeGenerator` type.
Allows `VectorCodeGenerator` to work with these functions.

* common/aarch64: Add `VectorCodeGenerator` to `CallFarFunction`

`VectorCodeGenerator` will always do far-calls since we cannot resolve any absolute addresses here.

* shader_jit_a64: Implement position-independent VectorCodeGenerator

Generates more position-independent assembly to allow for code to be
generated within a resizable vector before copying into executable
memory, allowing for more compact memory allocations and usage rather
than a statically defined worst-case for all-cases.

`VectorCodeGenerator` will need to generate position-independent code
rather than use absolute addresses. Assumes all far function calls in the
case of `VectorCodeGenerator` to use absolute addresses rather than
potentially use a relative `BL` branch after memory relocation.
2024-11-07 14:47:30 +01:00
Reg Tiangha
1ef86db597 Android: Add Pedometer Steps per Hour settings UI (#242) 2024-11-07 14:47:30 +01:00
Jugurta
e4b8c7d4df Refactor Vulkan stream buffer memory type selection (#238)
* Refactor Vulkan stream buffer memory type selection

This is a fix for GPUs with Vulkan V1.1 and V1.2

* add requested refactoring

* clang format

* fix typo
2024-11-07 14:47:29 +01:00
kleidis
1eb6e840d4 android: Fix pause emulator button crashing the emulator (#239) 2024-11-07 14:47:29 +01:00
Daniel López Guimaraes
0d40b13828 act: Add more command names and implement GetErrorCode (#237)
* act: Add more command names and implement GetErrorCode

The command names have been extracted from 3dbrew and the JavaScript
bindings that the NNID settings uses internally.

The error names have been extracted from the Wii U implementation
(102-XXXX), which are compatible with the 3DS ones except for 022-5XXX,
which are error codes specific to the 3DS.

* act: Split error codes into separate file
2024-11-07 14:47:29 +01:00
kleidis
eb956fc5ce qt: Fix default language not being set to the main one the system uses (#236)
* qt: Fix default language not being set to the main one the system uses

* cleanup code
2024-11-07 14:47:29 +01:00
szdarkhack
891479fe4b Add "Steps per hour" system setting (#211)
* Implements a steps per hour (global) setting that gets returned by PTM GetStepHistory

* Make setting label text clearer

* Add setting to SDL frontend

* Add setting to Android (no UI)

* Remove IntSetting enum value

* Follow convension in android default ini
2024-11-07 14:47:28 +01:00
PabloMK7
2c349668f3 Update submodules and build environments (#232)
* Update Vulkan and QT submodules

* Undefine FORTIFY_SOURCE before defining again

* Update discord-rpc submodule
2024-11-07 14:47:28 +01:00
David Griswold
af015fd9b9 Use buttons instead of axes for the d-pad, enabling mapping from gamepads with only digital dpad outputs (#203) 2024-11-07 14:47:28 +01:00
kongfl888 K
1288c23612 Android: add the titleId to the game card. (#227)
* Android: replace company in the game card with titleId.

TitleId is more useful for users than companies
because it can help them find game saves and the cheat file.

* Android: restore the company name on the game card.
2024-11-07 14:47:27 +01:00
Wunk
0ea9f23f0c shader_jit: Fix/optimize conditional evaluation (#234)
* shader_jit: Add conditional unit-tests

Tests all permutations of X, Y, AND, OR with each possible input value.

* video_core: Fix shader-interpreter conditional-code initialization

Rather than reserving the incoming state of the conditional codes, the
shader-interpreter was setting them both to false. In pretty much all
cases, the initial state of a shaderunit can be zero-initialized
statically. Just running the interpreter shouldn't necessarily reset the
conditional codes though.  The JIT loads incoming conditional codes
while the shader-interpreter resets them to false. This makes the
interpreter match the behavior of the shader-jit.

* shader_jit_a64: Fix/optimize conditional evaluation

Fix some of the regressions introduced by the previous optimization.
EOR does not support a constant of `0` in its immediate. In these cases
the COND{0,1} registers can be utilized immediately.

* shader_jit_x64: Fix conditional evaluation extended-bit hazard

The unit test seems to have identified a bug in the x64 jit too. The x64
jit was doing 32-bit comparisons despite the condition flags being 8-bit
values and is sensitive to garbage being in the upper 24 bits of the
register. This is fixed by using the proper 8-bit register types rather
than the 32-bit ones(`eax,`ebx` -> `al`, `bl`).

* shader_jit_x64: Zero-extend conditional-code bytes

`mov` was doing a partial update of bits within the register, allowing
garbage to be introduced in the upper bits of the register.
2024-11-07 14:47:27 +01:00