Commit Graph

169 Commits

Author SHA1 Message Date
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
illusion0001
2ab2a65ae1 Remove anti piracy message 2023-07-27 11:37:35 -05:00
illusion0001
33e8c8e1ff Update emulator.cc 2023-07-26 18:10:20 -05:00
illusion0001
616717b31e Remove beeps 2023-07-26 18:09:17 -05:00
chris
8985abfcc9 Lowered the frequency of the Beeps down to 60hz, at higher volumes it could be downright painful.
Open to "how to rip games" section of quickstart, skipping install which is obviously completed
2023-07-26 17:46:18 -04: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
71b8c2357e Fix broken errors, log ISO path 2023-06-28 00:25:44 -07:00
Gliniak
26415cb8b1 Merge branch 'master' of https://github.com/xenia-project/xenia into canary_experimental 2022-12-31 11:19:01 +01:00
Gliniak
859bb89555 [Kernel] Support for loading achievement data 2022-12-28 14:16:43 -06:00
Gliniak
9f0d3d4c5b [Kernel] Simple support for loading achievement data 2022-12-25 16:11:59 +01:00
illusion0001
04c9c02270 Guest crash message more useful 2022-08-24 09:42:56 -05:00
Gliniak
010b59e81c [Emulator] Install Content: Create header for installed packages
This fixes support for certain DLCs
2022-08-20 20:44:30 +02:00
Gliniak
469d062a50 [Emulator] Updated "Install Content" function to match PR status 2022-08-20 20:44:30 +02:00
Gliniak
f19cb704aa [Emulator] Added error checking while creating directories 2022-08-20 20:44:30 +02:00
chss95cs@gmail.com
968f656d96 Add separate VMX/fpu mxcsr
Add support for constant operands for most fpu instructions
Remove constant folding for most fpu cpde
half float
2022-07-31 08:56:36 -07:00
Gliniak
79ffbe3971 Merge branch 'importContent' of https://github.com/Gliniak/xenia.git into canary_experimental 2022-07-30 12:44:24 +02:00
Gliniak
433a8a8a5e [Emulator] Added option for content installation 2022-07-30 12:41:26 +02:00
Gliniak
1d00372e6b Merge branch 'master' of https://github.com/xenia-project/xenia into canary_experimental 2022-07-10 10:50:39 +02:00
Triang3l
88c055eb30 [CPU] Null backend enough for GPU trace viewing 2022-07-06 23:28:06 +03:00
Triang3l
3ee68d79ea Revert "[GPU] Make Processor optional for GraphicsSystem setup"
The Processor is still required in many places, including the GPU command processor worker thread

This reverts commit fd03d886e9.
2022-07-06 22:43:40 +03:00
Triang3l
fd03d886e9 [GPU] Make Processor optional for GraphicsSystem setup 2022-07-05 21:21:22 +03:00
Triang3l
bdfd410b13 [CPU] Cleanup x64 backend usage conditionals 2022-07-05 21:07:10 +03:00
Margen67
5701823ccf Log title_name 2022-06-07 09:43:04 +02:00
Gliniak
3d96dfa359 Always allocate system heap from top of heap 2022-05-25 07:53:50 +02:00
Gliniak
b759cb23a5 Better handling of title workspace 2022-05-22 13:11:08 +02:00
Gliniak
5ce75a1479 Merge remote-tracking branch 'GliniakRepo/xam_swap_disc' into canary_experimental 2022-05-19 12:07:05 +02:00
Gliniak
f21dbc66ba Implemented XamSwapDisc 2022-05-19 12:04:32 +02:00
Gliniak
db50db3215 Merge remote-tracking branch 'GliniakRepo/TU_APPLY' into canary_experimental 2022-05-19 11:00:34 +02:00
Gliniak
c65f240c0b [Kernel] Improved TUs Support
- Changed name of config option to apply_title_update to better reflect what that option does
- Mount TU package to UPDATE: partition
- Simplified UserModule::title_id()
- Splitted loading module into two parts to allow applying TUs and custom patches
2022-05-06 08:04:47 +02:00
Gliniak
c73cdb506a Initial support for xex patching 2022-04-26 13:26:49 +02:00
Triang3l
fe3f0f26e4 [UI] Image post-processing and full presentation/window rework
[GPU] Add FXAA post-processing
[UI] Add FidelityFX FSR and CAS post-processing
[UI] Add blue noise dithering from 10bpc to 8bpc
[GPU] Apply the DC PWL gamma ramp closer to the spec, supporting fully white color
[UI] Allow the GPU CP thread to present on the host directly, bypassing the UI thread OS paint event
[UI] Allow variable refresh rate (or tearing)
[UI] Present the newest frame (restart) on DXGI
[UI] Replace GraphicsContext with a far more advanced Presenter with more coherent surface connection and UI overlay state management
[UI] Connect presentation to windows via the Surface class, not native window handles
[Vulkan] Switch to simpler Vulkan setup with no instance/device separation due to interdependencies and to pass fewer objects around
[Vulkan] Lower the minimum required Vulkan version to 1.0
[UI/GPU] Various cleanup, mainly ComPtr usage
[UI] Support per-monitor DPI awareness v2 on Windows
[UI] DPI-scale Dear ImGui
[UI] Replace the remaining non-detachable window delegates with unified window event and input listeners
[UI] Allow listeners to safely destroy or close the window, and to register/unregister listeners without use-after-free and the ABA problem
[UI] Explicit Z ordering of input listeners and UI overlays, top-down for input, bottom-up for drawing
[UI] Add explicit window lifecycle phases
[UI] Replace Window virtual functions with explicit desired state, its application, actual state, its feedback
[UI] GTK: Apply the initial size to the drawing area
[UI] Limit internal UI frame rate to that of the monitor
[UI] Hide the cursor using a timer instead of polling due to no repeated UI thread paints with GPU CP thread presentation, and only within the window
2022-01-29 13:22:03 +03:00
Wunkolo
1a8068b151 [Base] Add user-literals for several memory sizes
Rather than using `n * 1024 * 1024`, this adds a convenient `_MiB`/`_KiB` user-literal to the new `literals.h` header to concisely describe units of memory in a much more readable way. Any other useful literals can be added to this header. These literals exist in the `xe::literals` namespace so they are opt-in, similar to `std::chrono` literals, and require a `using namespace xe::literals` statement to utilize it within the current scope.

I've done a pass through the codebase to replace trivial instances of `1024 * 1024 * ...` expressions being used but avoided anything that added additional casting complexity from `size_t` to `uint32_t` and such to keep this commit concise.
2022-01-02 11:51:31 -06:00
Triang3l
6ce5330f5f [UI] Loop thread to main thread WindowedAppContext 2021-08-28 19:38:24 +03:00
emoose
bf8138a886 [VFS] Add NullDevice (returns success for all calls), handle \Device\Harddisk0\ with it
XMountUtilityDrive code tries reading/writing from \Device\Harddisk0\Cache0 / Cache1 / Partition0, NullDevice handling \Device\Harddisk0 will make that code think that the reads/writes were successful, so the utility-drive mount can proceed without failing.
2021-08-18 17:34:59 -05:00
Joel Linn
a86d7173e1 Refactor FourCC magic uses
- Use new fourcc_t type
- Improves compiler compatibility by removing multi chars
2021-06-02 22:28:43 -05:00
emoose
ce19d948f0 [Base] Move XdbfLocale to xbox.h as XLanguage, let STFS headers use it
Renamed to XLanguage because AFAIK locale on Xbox is a different concept involving countries, this enum only involves languages though.
2021-05-05 12:35:51 -05:00
gibbed
fcd46d56a0 [App] Lint fix. 2021-05-02 08:21:10 -05:00
gibbed
f868a10649 [App] Correctly initialize title ID. 2021-05-02 00:21:57 -05:00
gibbed
ea1f2b114a [App] Improve title tracking.
[App] Improve title tracking.
[App] Show title version in emulator window title, when available.
2021-05-01 17:29:05 -05:00
gibbed
4ce43369a7 Use English game title when available. 2021-04-07 03:47:17 -05:00
Triang3l
9a4643d0f2 [GPU] Non-ROV f24 trunc/round, host shader modifications, cache dir 2020-12-07 22:31:46 +03:00
gibbed
dd25e69e66 [HID] Pass 'is active' callback to input drivers. 2020-11-27 05:23:21 -06:00
Triang3l
a73592c2ef [Memory/CPU] UWP: Support separate code execution and write memory, FromApp functions + other Windows memory fixes 2020-11-24 22:18:50 +03:00
gibbed
164aa8e8ca [Kernel] Scope object type enum. 2020-11-22 20:34:07 -06:00
gibbed
ce34e1cbb9 [Core] Use UTF8-aware lower. 2020-04-13 12:57:14 -05:00
gibbed
54da6773ab [Core] Fix reg alignment in crash dump output. 2020-04-09 16:49:24 -05:00
gibbed
ed04d96e67 Avoid using '#' format spec for X hex numbers.
Avoid using '#' format spec for X (uppercase) hex numbers, as it
results in output like "0XABCDEF" instead of "0xABCDEF".
2020-04-09 11:25:08 -05:00
gibbed
01f7ad7ddf [Core] Fix guest crash handler crash/output.
- [Core] Fix guest crash handler crash due to bad format string.
- [Core] Fix guest crash handler outputting signed values for
  vectors.
2020-04-09 11:06:48 -05:00
gibbed
a48bb71c2f Overhaul logging. 2020-04-07 16:09:41 -05:00