Silent
ea98d4bdea
Add a fallback to CopyRects for cases which StretchRect can't handle
...
Fixes menus in World Racing 2 because CopyRects tries to copy
a texture to texture.
2020-10-20 19:40:46 +02:00
Silent
b7b2c24fdb
Start child threads suspended and finalize their initialization before resuming
...
* Closes a possible race condition where a child thread uses
ThreadHandle or dwThreadId AND starts before _beginthreadex even returns
* Allows to remove hardcoded sleeps "slowing down" parent thread
execution in favour of more reliable affinity mask changes on the child thread
Test case: The Warriors and its race condition on event creation
(child thread waits on the event parent thread creates AFTER spawning
the child thread)
2020-10-19 23:59:22 +02:00
Silent
b04980a150
Remove hStartedEvent
...
It doesn't seem to be useful anymore (does not protect any thread-unsafe
initialization), and it was encouraging the OS scheduler to keep executing
the child thread before returning the parent thread from PsCreateSystemThreadEx
Test case: The Warriors and its race condition on event creation
(child thread waits on the event parent thread creates AFTER spawning
the child thread)
2020-10-19 21:49:46 +02:00
Silent
6f27d335f7
Change ThreadId parameter type to PWORD
...
Purely cosmetic change, does not change any functionality.
2020-10-19 21:27:16 +02:00
PatrickvL
8588230ee1
Merge pull request #1997 from LukeUsher/fix-shenmue-bios-read
...
emux86: fix bad bios rom mapping
2020-10-18 17:22:50 +02:00
PatrickvL
b07ca858d5
Merge pull request #1999 from CookiePLMonster/pixel-combiner-fixes
...
Pixel combiner fixes
2020-10-18 16:49:12 +02:00
Silent
2d33a1bb6b
Implement better Blue-to-Alpha
...
Fixes pixel shaders decoding BINK videos (together with the previous commits).
Cleaned up a few TODOs.
2020-10-18 16:46:57 +02:00
Silent
cc98adb38c
Fix SimplifyLRP remapping to wrong intermediate registers
2020-10-18 15:49:17 +02:00
Luke Usher
03d864c465
emux86: update flash read function with a better explaination
2020-10-17 22:37:01 +01:00
Luke Usher
4665bd0c3f
emux86: fix bad bios rom mapping
...
Prevents a crash in Shenmue II
2020-10-17 16:05:17 +01:00
Luke Usher
6a70a08c59
Merge pull request #1996 from CookiePLMonster/viewport-clear-improvements
...
SetViewport & Clear improvements
2020-10-17 16:04:51 +01:00
Silent
21092a5d38
Support multiple rects in Clear
2020-10-17 14:15:53 +02:00
Anthony Miles
4b85f0949a
Scale viewport X and Y as well as height.
...
Fixes cases where X and Y are nonzero e.g. DoA3 character select
2020-10-17 14:06:29 +02:00
Silent
fa10dcfd29
Refactor SetMixBinVolumes
...
* Clears the code up
* Picks the buffer volume from the maximum speaker volume
2020-10-17 12:40:57 +02:00
RadWolfie
d9ec4342d7
Merge pull request #1995 from CookiePLMonster/dsound-improvements-split
...
Dsound improvements (split)
2020-10-17 05:37:41 -05:00
Silent
6d2e598c8c
IDirectSoundBuffer_SetBufferData: Fix 0 byte buffers not stoppping audio
...
NASCAR Heat 2002 (and probably plenty of other titles) submit
an empty buffer to stop audio. Handling this properly fixes
issues with audio samples lingering throughout the session.
2020-10-17 12:33:44 +02:00
Silent
3dcf1e67e0
Fix a copypaste typo in GetFormat_4034_lower and change its signature
...
Allows GetFormat() to be used more cleanly
2020-10-17 12:31:26 +02:00
Luke Usher
8d8ebd76f7
Merge pull request #1994 from CookiePLMonster/resource-cache-fixup
...
Treat identical X_D3DResource objects with a different address as one
2020-10-17 11:31:23 +01:00
Silent
0f7ce3b527
Treat identical X_D3DResource objects with a different address as one
...
This fixes issues where resource objects got relocated in memory or
reused without having been released properly first.
Fixes black cars in NASCAR Heat 2002
2020-10-17 12:24:49 +02:00
Luke Usher
8ae094d730
Merge pull request #1986 from x1nixmzeng/debugger-multi-xbe
...
Update cxbx-debugger to support switching XBEs during emulation
2020-10-15 08:08:49 +01:00
RadWolfie
7a59d775f9
Merge pull request #1992 from medievil1/Typo-fix-for-IDirectSoundBuffer_SetMinDistance
...
Typo fix for IDirectSoundBuffer_SetMinDistance patch
2020-10-15 02:03:03 -05:00
medievil1
a7a69f5108
Update DirectSound.hpp
2020-10-15 02:26:10 -04:00
Luke Usher
28d031d9f9
Merge pull request #1990 from ergo720/rdtsc_25_to_life
...
Avoid false rdtsc negative in 25 to life
2020-10-14 22:33:59 +01:00
ergo720
b34165d63b
Avoid false rdtsc negative in 25 to life
2020-10-14 23:17:24 +02:00
Luke Usher
8a87fd8376
Merge pull request #1978 from CookiePLMonster/msaa-improvements
...
MSAA improvements basing on xdk-3911 behaviour
2020-10-14 21:49:47 +01:00
Luke Usher
9b5fe396ca
Merge pull request #1989 from ergo720/rdtsc_odd_world_stanger_wrath
...
Fix crash in Stranger's Wrath caused by false rdtsc positives
2020-10-14 20:51:43 +01:00
ergo720
621960258d
Fix crash in Stranger's Wrath caused by false rdtsc positives
2020-10-14 21:34:24 +02:00
Luke Usher
efe42f4eba
Merge pull request #1985 from CookiePLMonster/fix-rdtsc-overflow
...
Make RDTSC and ACPI timers stateful to fix overflows
2020-10-13 19:16:29 +01:00
x1nixmzeng
df1ead013a
Adjust default window size as per feedback
2020-10-12 19:48:21 +01:00
Silent
f42009a27e
Implement MSAA scaling to be closer to Xbox
...
Now scales clears, and applies scaling based on a bound render target.
X/Y scale masks now also match the xbox runtime (at least xdk-3911)
2020-10-12 20:25:14 +02:00
Silent
190ef8c3d5
Implement X_D3DRS_MULTISAMPLETYPE
2020-10-12 20:14:58 +02:00
Silent
0d1a8e3afd
Make RDTSC and ACPI timers stateful to fix overflows
...
Stateless RDTSC and ACPI timers were ticking relative
to the host QPC and multiplied to nanoseconds.
This resulted in values so huge they would overflow since
20-30 minutes.
Introducing state allows to multiply to nanoseconds only over
a delta value, which should be reasonably small in almost call cases.
2020-10-12 18:26:29 +02:00
Luke Usher
7767250624
Merge pull request #1987 from ergo720/mem_page_usage_fix
...
Memory manager fixes
2020-10-12 08:46:08 +01:00
Luke Usher
756ad91cbe
Merge pull request #1976 from CookiePLMonster/set-texture-ltcg
...
Add several D3D8LTCG function variations for xdk-3911
2020-10-12 08:41:01 +01:00
ergo720
dd5a029ee6
Restore correctly the pfn database during reboots when using the debug layout
2020-10-11 23:33:43 +02:00
x1nixmzeng
4c8c00fecd
Various UI improvements after move to MDI
2020-10-11 22:19:49 +01:00
x1nixmzeng
dce84c4b7e
Fix crash unwinding callstack with addresses outside of IntPtr range
2020-10-11 22:11:18 +01:00
ergo720
cd918389a4
Restore correct page usage upon xbe reboot
2020-10-11 21:29:49 +02:00
ergo720
0a3dd68191
Use UnknownType page usage for the pfn pages
2020-10-11 19:38:08 +02:00
x1nixmzeng
d7c6648162
Revive stack frame selection and other minor fixes
2020-10-11 18:28:19 +01:00
x1nixmzeng
0b31f3ad95
Suppress missing debugger exception
2020-10-11 17:37:58 +01:00
x1nixmzeng
3241ba8fef
Fix exception ranges used by debugger
2020-10-11 17:36:52 +01:00
RadWolfie
216b5c274e
Merge pull request #1983 from CookiePLMonster/mixbin-improvements
...
Improvements to old style (mask based) mixbin
2020-10-11 09:27:58 -05:00
Silent
2d649c969f
Improve mixbin handling for Revision 1 mixbin
...
Added an union combining both a pointer to new mixbins
and a mixbin mask, and a function to convert to the new format.
This allows to initialize mixbins for Revision 1 XDKs too.
Implements IDirectSoundBuffer_SetMixBinVolumes_12 and
CDirectSoundStream_SetMixBinVolumes_12.
2020-10-11 15:43:38 +02:00
RadWolfie
24c4e3d0a7
Merge pull request #1970 from LukeUsher/optional-maintain-aspect-ratio
...
Allow users to disable aspect ratio correction
2020-10-11 07:07:59 -05:00
x1nixmzeng
cf594cda97
Rename child MDI form
2020-10-11 12:25:58 +01:00
x1nixmzeng
dced533dd8
Add new error code definition
2020-10-11 12:17:22 +01:00
x1nixmzeng
e01b863fd2
Support for different debug sessions using MDI child forms
2020-10-11 12:16:22 +01:00
x1nixmzeng
96155736e5
Update debugger types and thread report handling
2020-10-11 12:14:42 +01:00
x1nixmzeng
3a740d7933
Report relaunching with another Xbe to the debugger
2020-10-11 12:13:03 +01:00