Commit Graph

333 Commits

Author SHA1 Message Date
Gliniak
1ba30c519c [HID] Fixed issues with double input in specific config HID configuration.
This was the case in hid set to "any" or to "winkey" and game that requires input from any user
2024-12-30 15:43:40 +01:00
Gliniak
9dfb0d0b68 [Base] Moved IsUseNexusForGameBarEnabled from emulator_window to system.h
This will remove direct usage of system specific code from emulator_window
2024-12-26 23:42:31 +01:00
Gliniak
c3586bc165 [C++] Uplift version to C++20 2024-12-26 23:42:31 +01:00
Gliniak
2e521383c2 [HID] Fixed some issues with controller/passthrough visibility.
- Moved X_INPUT flags from kernel to HID
- Added ability to return input type from driver
2024-12-23 10:43:27 +01:00
Margen67
3acf3fdcd1 Never specify /O1
Leaving it as /O2 might improve performance.
Stops this from being spammed:
cl : command line  warning D9025: overriding '/O2' with '/O1' [D:\a\xenia-canary\xenia-canary\build\glslang-spirv.vcxproj]

/Os is implied by /O1;
https://learn.microsoft.com/en-us/cpp/build/reference/o1-o2-minimize-size-maximize-speed?view=msvc-170
2024-12-13 13:01:06 -08:00
Margen67
1d51ff5bfd Replace invalid vectorextensions
IA32 never existed for x64, see:
https://learn.microsoft.com/en-us/cpp/build/reference/arch-x64?view=msvc-140#syntax
Fixes this:
cl : command line  warning D9002: ignoring unknown option '/arch:IA32' [D:\a\xenia-canary\xenia-canary\build\xenia-app.vcxproj]
2024-12-13 11:03:07 -08:00
Gliniak
a295ec1bbd [Base] Removed useless path_to_utf8 conversion while using fmt
Default filesystem::path formatter was added to fmt around 2022
2024-12-13 19:04:31 +01:00
Gliniak
e93373660f [Kernel] AchievementManager: Added Interface for attaching custom implementations 2024-12-10 22:21:24 +01:00
Adrian
cfd7da696f [App] Reset dialogs on refresh 2024-12-03 14:38:47 +01:00
Gliniak
2b49fc2ddc [XAM] ProfileManager: Renamed GetProfiles to GetAccounts
This is to prevent confusion between signed-in accounts (aka. Profiles) and all entries (Accounts)

Also added GetAccount to get specific instead of all of them when not needed
2024-11-26 20:28:01 +01:00
Xphalnos
fbad66e5bc [imgui] Clean implementation of rounded edges 2024-11-03 20:07:58 +01:00
Xphalnos
90fc07e400 [GUI] Settings Improvements 2024-10-28 16:45:22 +01:00
Gliniak
32cebd7a11 [UI] Fixed assertion caused by style push/pop mismatch 2024-10-22 19:49:16 +02:00
Xphalnos
1c9783ca3c [imgui] Makes the window edges rounded 2024-10-20 20:22:37 +02:00
Margen67
b93ad3e82a [Emulator] Tie window size to resolution 2024-10-16 03:40:53 -07:00
Margen67
731c6057de Canaryize
Co-Authored-By: illusion0001 <37698908+illusion0001@users.noreply.github.com>
2024-10-13 15:11:47 -07:00
NicknineTheEagle
060954f0c3 [XAM] Implement XamShowSigninUI 2024-10-12 18:51:36 +02:00
Gliniak
1cda06d5bf [UI] Added info in profile menu about not signed in profiles
Also changed slot ordering to start from 1 instead of 0
2024-10-06 20:12:21 +02:00
Gliniak
32b3151132 [Profile] UI: Skip current draw in case of failure.
This should resolve random crash while removing profile
2024-10-05 14:27:43 +02:00
Gliniak
9bdd07590c [XAM] Implementation of: Profile Manager & Profiles Support
Thanks Emoose for Account Encrypt/Decrypt code!
2024-10-05 10:03:35 +02:00
Gliniak
9ba0f18c82 [Emulator] Restrict mouse fullscreen toggle to left-click 2024-10-02 21:49:32 +02:00
Gliniak
60b31af811 [3PP] Replaced cpptoml with tomlplusplus
Also adjusted code that used cpptoml to be used with toml++ and some more changes
2024-09-22 20:41:52 +02:00
Gliniak
2709a5d3e8 [Emulator] Improvements to EmulatorWindow::RunTitle
- Use reference instead of copy for provided path
 - Extended error logging for special cases
2024-09-19 22:08:42 +02:00
Gliniak
4452e300ac [Emulator] Changed default config values for:
- mount_cache: false -> true
 - framerate_limit: 60 -> 0
 - font_size: 12 -> 14
 - apu_max_queued_frames: 64 -> 8
2024-08-31 21:48:34 +02:00
Adrian
1a9ff8fe67 [App] Add notifications for hotkeys & XNotifyQueueUI 2024-08-27 22:02:00 +02:00
Adrian
ee210db096 [App] Added host notification for Zar creation and extraction on completion 2024-08-26 22:48:17 +02:00
Adrian
f01317591a [App] Run zar extraction and creation in separate thread 2024-08-25 21:08:10 +02:00
Gliniak
d6f0ab6a7e [UI] Implemented Host Notifications
Splitted clases into:
 - ImGuiNotification
 - ImGuiHostNotification
 - ImGuiGuestNotification

To differentiate between Xenia toast notifications and notifications from titles itself

Adhoc:
Changed Screenshot into toast notification and switched from being binded to F10 to F12
2024-08-25 14:06:28 +02:00
NicknineTheEagle
c4e930ed4c Proper 4:3 support 2024-07-01 08:55:15 +02:00
Gliniak
49166f0bd1 [Emulator] Added summary window to Install Content option 2024-06-27 11:40:40 +02:00
Vonce
e4408b6bc3 Screenshot functionality Added
Added a screenshot functionality based on this pr https://github.com/xenia-project/xenia/pull/2074 and added some minor adjustments.

GUI wise, "take screenshot" is under the Display menu and the keyboard shortcut to take it is F10

The screenshots folder will save to where xenia.exe or xenia_canary.exe is located. As for save paths, it will only use the id of the game due to illegal characters in some titles.
2024-06-19 08:05:58 +02:00
NicknineTheEagle
c004d669c2 [Emulator] Removed legacy title re-launching code 2024-06-16 09:37:04 +02:00
Adrian
a688f87f55 [VFS] Clear registered devices if launch failed 2024-05-25 20:33:19 +02:00
Adrian
0fcdc12cb9 [APP] Create and Extract Zarchive packages 2024-04-11 19:39:27 +02:00
Adrian
5efcc6a71b [Emulator] Launch file based on signature instead of file extension 2024-03-21 15:22:32 +01:00
Adrian
2385cc53a9 [Emulator] Better handling of failed device mounting 2024-03-19 09:02:36 +01:00
Gliniak
b9061e6292 [LINT] Linted files + Added lint job to CI 2024-03-12 19:19:30 +01:00
Gliniak
6f287a9597 [Emulator] Improvements to launch_data
Added support for autoload titles on boot with:
- Specific launch data
- Specific xex
- Restarting into packages: XamContentLaunchImageFromFileInternal
2024-02-11 13:11:39 +01:00
Gliniak
c8ca077ec4 [Codacy] Fixed some issues found by codacy.
Added skipping shaders directory in scan
2024-01-20 13:19:37 +01:00
Gliniak
d6c9566c69 [Misc] Fixed discord presence 2024-01-10 22:00:50 +01:00
Carlos
a246c81e3b [UI] Set fullscreen on double left mouse click 2023-12-23 16:11:35 +01:00
Gliniak
91c67b9af2 [Emulator] Separate host and guest cache directories
Since now modules and shaders are stored within cache_host directory.
This will require coping modules and shaders directories from previous directory to new one
2023-10-21 18:28:14 +02:00
Romain Tisserand
2cd2d1d620 [VFS] Add support for loading ZArchive files 2023-09-03 21:16:34 +02:00
Gliniak
2a4d7feaae [GPU] Unified clear_memory_page_state to be used in D3D12 & Vulkan 2023-08-06 21:56:35 +02:00
Adrian
91f976e524 [Patcher] Plugin Loader
Added a plugin loader which can be enabled with allow_plugins in the config.
2023-08-06 21:36:49 +02:00
JeBobs
ef91193a70 updated disclaimer, archive detection, clean up flags
No more beeps, no more persistent warnings, no more insults, just a single silent disclaimer that also helps the user get started using games from their console.

Updated the archived format detection to add tar/gz, and updated the box to state that xenia does not support running archived games.
2023-07-27 23:07:26 +02:00
chris
afef35c1c0 Implement RtlRandom (which despite its name is located in Xam, not xboxkrnl, which is why its not in xboxkrnl_rtl)
Stub XamVoiceSubmitPacket
Stubs for __CAP_Start_Profiling/End_Profiling/Enter_Function/Exit_Function
add a note about io_status_block in NtDeviceIoControlFile, change the param's type
move the X_IOCTL_ constants from NtDeviceIoControlFile's body into xbox.h
add X_STATUS_INVALID_IMAGE_FORMAT to xbox.h
Implement XexLoadImageHeaders
Much more correct version of IoCreateDevice, properly initializes/allocates device extension data
Stub version of IoDeleteDevice
Open the quickstart guide in the browser the first time a user opens the emulator
Add some persistent flags that are stored in the registry on windows, not in the config. These are just used to indicate whether one-time tasks have run, like showing the quickstart guide. On non-windows platforms a default value is returned that skips any of these tasks so they don't run every single time.

If the user opens a .iso file, show a warning telling them that we do not condone or support piracy. If the user closes the messagebox within two seconds set a sticky flag that will show them the warning every time instead. Otherwise the warning is never shown again. The Beep function is used to spook them a bit, to hopefully make them less likely to skip the message
If a user opens an archive file, which we do not support, explain to them that they're dumb.

Removed messages intended to "catch" pirates.  If they're out there, we don't want to know about them. A huge chunk of the discourse on our discord is now about piracy. Hopefully these changes will deter them from coming to us for now, but some of these messages may backfire
2023-07-23 14:26:10 -04:00
Margen67
ba936e8038 Don't have controller hotkeys enabled by default 2023-07-21 13:13:40 -07:00
Adrian
7c5b9372e7 [App] Misc App fixes
- Display xex filenames in title selection.
- Fixed fullscreen controller hotkeys executing from a non-UI thread.
- Fixed recent_titles_entry_amount not disabling if set to <= 0.
- Use RunTitle instead of LaunchPath which does more error checking.
2023-07-11 07:53:41 +02:00
Adrian
6a23f1457b [XAM] Plugin Functions 2023-06-15 21:16:31 +02:00