Commit graph

7453 commits

Author SHA1 Message Date
RadWolfie
3908a8c7b2
Merge pull request #2334 from ergo720/C++20
Updated cxbxr projects to use and build with C++20
2022-03-28 04:18:36 -05:00
ergo720
51ddb6c1d1 Dropped VS2019 builds and updated readme 2022-03-28 10:53:46 +02:00
ergo720
bfa9abbc1b Updated cxbxr projects to use and build with C++20 2022-03-22 00:52:52 +01:00
Anthony
aac207c78e Fix typo 2022-03-14 17:10:26 +13:00
Anthony
49b4988953 Co-locate imgui includes 2022-03-13 21:41:13 +13:00
Anthony
da27e1456b Restore Unlock logging 2022-03-12 09:57:32 +13:00
Anthony
baa1cf5470 Ensure End() is called after Begin/BeginChild, regardless of return value
Note this is not required for other Begin apis
2022-03-12 09:53:22 +13:00
Anthony
feb1f0383d Comment some includes 2022-03-12 09:45:23 +13:00
RadWolfie
6788bf16f3
Merge pull request #2328 from Margen67/actions
CI: Upgrade checkout+upload/download-artifact to v3+labeler to v4
2022-03-11 02:25:13 -06:00
Margen67
b1446a5f6b Other workflow improvements
autoclose:
 Use checkout v3.
pull-request:
 Use labeler v4.
2022-03-10 23:56:00 -08:00
Margen67
0a72fbf7f7 CI: Upgrade checkout+upload/download-artifact to v3 2022-03-09 13:45:50 -08:00
Anthony
4186d4ba8b Avoid expensive calls to DirectSound on buffers unless they've been played at least once 2022-03-07 21:24:35 +13:00
Anthony
4c30264136 DirectSoundBuffer visualization debug view
- Visualize play progress, play region, loop region
- Buffer streaming controls
- Scale visualization to window by RadWolfie
2022-03-07 21:24:35 +13:00
Anthony
7528d9a4e3 Change locking APIs to nops
to prevent interference DirectSoundBuffer streaming.
2022-03-07 20:33:12 +13:00
Anthony
60dbf241e8 Stream audio from Xbox DirectSoundBuffers
to handle cases where titles write to sound buffers after they are created.
Note titles do not have to lock the buffer or otherwise call any API to write to sound buffers.

Every few ms, for each sound buffer currently playing, write a chunk of sound data ahead of the current audio play cursor.

Fixes audio issues in titles including:
- NBA Live 2005 (no audio)
- Crash Tag Team Racing (audio looping incorrectly)
- Madagascar (audio looping incorrectly)
2022-03-07 20:33:11 +13:00
Anthony
852adf0d21 optimize DirectSound Buffer's StopEx function 2022-03-06 21:00:02 +13:00
Luke Usher
1e300d63ec
Merge pull request #2310 from Margen67/actions
CI: Upgrade to VS2022
2022-03-04 09:02:15 +00:00
Margen67
5b0cf41507 Update README 2022-03-04 00:26:57 -08:00
Margen67
0c8dd778d0 CI: Upgrade to VS2022
Remove windows-2016 since it's going to be removed soon;
 actions/virtual-environments#4312
Use ${GITHUB_SHA::7} for tag to prevent commit weirdness.
2022-03-03 21:48:08 -08:00
RadWolfie
25b9a2efcc
Merge pull request #2325 from LukeUsher/log-failed-patches
hle: detect when patches fail to apply
2022-03-01 17:00:42 -06:00
Luke Usher
3a59c62753
Update src/core/hle/Patches.cpp
Co-authored-by: RadWolfie <RadWolfie@users.noreply.github.com>
2022-03-01 22:41:18 +00:00
Luke Usher
884a9080b5 hle: detect when patches fail to apply 2022-03-01 20:40:56 +00:00
ergo720
f857593f77
Merge pull request #2315 from ergo720/thread_ob_handle
Updated Ps kernel functions to use Ob handles + unpatch thread XAPI functions + added APC support to kernel via Ob
2022-02-22 23:20:29 +01:00
ergo720
d3b2554b20 Use a separate array for the native handles in NtWaitForMultipleObjectsEx 2022-02-20 16:07:42 +01:00
ergo720
f174872702 Unpatch timeSetEvent and timeKillEvent + fixes a crash in chihiro games + missing audio effects in virtua cop 3 + fixes a bug in SignalObjectAndWait 2022-02-20 12:22:36 +01:00
ergo720
c6ea72dcf4 Use a condition variable to notify interrupts, fixes stuttering in the dashboard 2022-02-18 20:17:22 +01:00
ergo720
bc98e164b2 Removed CxbxKrnlTerminateThread and some unnecessary calls to TerminateProcess 2022-02-18 15:30:18 +01:00
ergo720
6867907a3c Fixed a bug in NtWaitForMultipleObjectsEx that caused the dashboard to deadlock + more review remarks 2022-02-18 12:42:56 +01:00
ergo720
7589f0a94c Avoid using std::async in WaitApc 2022-02-17 02:33:44 +01:00
RadWolfie
a769e896c6 hidden bug while debugging on xbox kernel thread's issue 2022-02-16 18:20:04 +01:00
RadWolfie
44ed2ee3aa update Timer_Shutdown to reduce wait time for shutdown if threads are all xbox 2022-02-16 18:20:04 +01:00
ergo720
06f34134ff Review remarks + use PsCreateSystemThread to start all xbox threads 2022-02-16 18:20:04 +01:00
RadWolfie
6320dd5539 fix shutdown process crashed on shutdown and reboots 2022-02-16 18:20:03 +01:00
RadWolfie
8c7247abf5 reimplement suspend xbox threads so we can shutdown emulation properly 2022-02-16 18:20:02 +01:00
RadWolfie
0b90a48434 register duplicated xbox handle require duplicated handle from host 2022-02-16 18:20:01 +01:00
ergo720
e85af190d5 Properly set the ref count of ethread, fixes Amped 2022-02-16 18:20:01 +01:00
ergo720
733670c7f8 Fixed an issue with xbox handle registration 2022-02-16 18:20:01 +01:00
ergo720
79ac0c3019 Updated thread timings in ethread + null id upon thread termination 2022-02-16 18:20:00 +01:00
ergo720
ec6b16c68a Added support to Ps notification routines 2022-02-16 18:20:00 +01:00
ergo720
e9cc351bba Unpatch XSetProcessQuantumLength + moved unused xapi patched to standalone file + added code to handle xbox user APCs in SignalObjectAndWait 2022-02-16 18:19:59 +01:00
RadWolfie
e208c73586 fix thread calls issue from GetNativeHandle to keep special handle return 2022-02-16 18:19:59 +01:00
RadWolfie
7e5f9a7cb7 unpatch GetExitCodeThread 2022-02-16 18:19:58 +01:00
RadWolfie
b39801df11 unpatch SetThreadPriority, GetThreadPriority, SetThreadPriorityBoost 2022-02-16 18:19:58 +01:00
ergo720
a791b7609c Updated KeDelayExecutionThread, KeSetBasePriorityThread and XAPI thread functions to accept ob handles + more bug fixes 2022-02-16 18:19:58 +01:00
ergo720
b664488274 Bug fixes 2022-02-16 18:19:57 +01:00
ergo720
114be1b7c9 Added APCs support to kernel 2022-02-16 18:19:57 +01:00
ergo720
607a48e3ea Update Nt functions that accept thread handles (except for NtQueueApcThread) 2022-02-16 18:19:56 +01:00
ergo720
9082891903 Make Ps functions use Ob to create thread handles 2022-02-16 18:19:56 +01:00
Luke Usher
484a2c3f47
Merge pull request #2321 from PatrickvL/cleanup_system_selection
Cleanup system selection, so it's no longer abusing xbeType
2022-02-16 14:10:55 +00:00
PatrickvL
c883034372 Cleanup system selection, so it's no longer abusing xbeType
Rename g_bIsDebug into g_bIsDevKit for consistency with system selection
Cleaned up related comments
2022-02-16 14:56:45 +01:00