1119 Commits

Author SHA1 Message Date
PabloMK7
e83b81ec98
Add setting to toggle RPC server (disabled by default) (#1047) 2025-05-18 17:27:37 +02: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
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
975ad17442 Internally rename turbo_speed and similar to turbo_limit
This aligns with the pre-existing `frame_limit` value
2025-04-23 16:59:28 +01:00
OpenSauce04
dcbf79df14 Overhaul turbo speed implementation to use temporary_frame_limit 2025-04-23 16:59:28 +01:00
David Griswold
967263fc80
Implement screen gap setting (#622)
* implement screen gap

* type conversion fix for windows

* int setting
2025-04-16 19:05:46 +01:00
David Griswold
8e477e35bb
android: Original Portrait Layout (#625)
* Original Portrait Layout

Original Portrait Layout

* type conversion fix for win

* Updated license headers

* Applied clang-format

* android: Reordered Portrait Screen Layout menu

Custom Layout is now at the bottom of the list

---------

Co-authored-by: OpenSauce04 <opensauce04@gmail.com>
2025-04-11 18:23:07 +01:00
OpenSauce04
c69b642f54 Corrected minor license header inconsistency 2025-04-11 12:31:16 +01:00
OpenSauce
0e0137a9ff
Add turbo speed hotkey (#605)
* Add the turbo slider

* [WIP] Add fast forward toggle hotkey

* Make Increase/Decrease speed hotkeys change turbo key instead of `frame_limit`

* Allow non-runtime editable settings on `general` settings tab`

* `frame_limit` is now  non-runtime-editable

* Disable `toggle per game speed limit` if turbo mode is set

* Reset `frame_limit` back to initial value once the emulator closes

* Improve `AdjustSpeedLimit`

- Set frameskip value directly
- Bypass if turbo mode isn't active

* Some code cleanup

* Move `turbo_speed_slider` from UISettings to CommonSettings

Also rename to just `turbo_speed`

* android: Add turbo mode hotkey

* Fixed build failure + Applied clang-format

* configure_general.ui Make padding on right side of sliders consistent

Not sure why there's a difference here, so I just threw in a spacer

* android: Corrected build failures caused by bad merge

* Updated `turbo_speed_description` to be a little more descriptive

* android: Corrected turbo crash caused by bad JNI function names

* Updated license headers

* HotkeyFunctions.kt: Fixed minor fomatting irregularities

* Applied clang-format

---------

Co-authored-by: kleidis <167202775+kleidis@users.noreply.github.com>
2025-04-11 12:29:07 +01:00
PabloMK7
d8077fdea6 Fix fatal error caused by auto-detect region 2025-03-26 22:06:36 +00:00
PabloMK7
7e9b5743fb Fix temporary frame limit 2025-03-22 00:23:40 +01:00
Taylor Rodríguez
d82be7ac7c
Fix bug where log file was not generated on first run (#729)
* Fix bug where log file was not generated on first run

This fix resolves issue #727.

On first start, Log::Initialize attempts to create the `azahar-emu/log/`
directory. However, it fails because `azahar-emu/` does not exist. Using
FileUtil::CreateFullPath instead will create both `azahar-emu` and
`log/`.

* Update license header
2025-03-20 11:49:51 +00:00
PabloMK7
0eb4a71720
Implement framebuffer vertical flip flag (#699)
* Implement framebuffer vertical flip flag

* Make VerticalMirror const
2025-03-17 19:39:55 +00:00
PabloMK7
d5745cae8f Add LLE modules for online features option + AM Refactor w/ various improvements/fixes
- Added option to enable required LLE modules for online features.
- (Android) Fixed bug that would cause FS RenameFile to fail sometimes on Android.
- (Android) Moved New 3DS mode and LLE applets to system settings tab on Android.
- (Android) Fixed cfg save data related issues (mostly Console ID).
- Made AM title scanning asynchronous, which makes game boot way faster on Android on most cases.
- Made more AM functions asynchronous, to prevent stutter.
- Fixed bug in SOC that could cause the emulator to crash when disconnecting.
- Fixed keys not being initialized when processing console unique files.
2025-03-13 21:17:32 +00:00
PabloMK7
db168cfac4 Various savestate bugfixes 2025-03-12 20:50:51 +01:00
PabloMK7
e3a21c8ef1
Add 'Set Up System Files' option (#642)
* Add 'Set Up System Files' option

* Fix CIA installation and HLE module loading when no console unique data provided.
2025-03-10 10:48:11 +00:00
OpenSauce
ac7671e247
qt: Implement migration prompt to bring data from Citra/Lime3DS (#638) 2025-03-09 12:10:02 +00:00
PabloMK7
8149302187
Use NEON intrinsics in Vec4 dot operation (#598) 2025-03-01 23:24:19 +01:00
PabloMK7
76a929346a Fix CreateFullPath not working with windows paths 2025-03-01 12:16:26 +00:00
PabloMK7
8ad53ca705
Encrypt downloaded apps with a console unique key 2025-03-01 12:12:52 +00:00
OpenSauce
9abcb4d520
Fix various build issues (#572)
Co-authored-by: PabloMK7 <hackyglitch2@gmail.com>
2025-02-27 22:02:33 +00:00
PabloMK7
dc1ebb63cb Major revamps to match game loading decisions.
- Allow downloading titles from eshop and system settings
- Remove encrypted game support
2025-02-27 14:22:50 +01:00
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
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
OpenSauce04
fd55b4fd6c Applied clang-format-18 to codebase 2024-11-10 21:02:54 +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
OpenSauce04
c399783266 Merged the SDL and Qt frontends together into a single unified executable 2024-11-10 19:28:04 +00:00
OpenSauce04
9da0b8f9ad Added "Reverse Side by Side" Sterioscopic 3D mode 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
OpenSauce04
a3a6aed9be Fixed incorrect applications directory path while using Flatpak build 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
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
794a12c3f6 android: Fixed landscape layouts not displaying correctly 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
779a0f4af2 Updated custom layout value names to be more accurate 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
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
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
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
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
efe2ee6a43 Add instant log flush option (#209) 2024-11-07 14:47:26 +01:00