Commit Graph

6766 Commits

Author SHA1 Message Date
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
RadWolfie 1887f3ac29
Merge pull request #1984 from CookiePLMonster/fix-setbufferdata-deadlock
IDirectSoundBuffer_SetBufferData: Stop the sound before waiting for finish
2020-10-11 06:12:51 -05:00
Silent a4c4719a19
IDirectSoundBuffer_SetBufferData: Stop the sound before waiting for it to end 2020-10-11 12:20:44 +02:00
Silent ad6438f936
Fix issues related to volume getting/setting
Not adding headroom to volume in HybridDirectSoundBuffer_SetMixBinVolumes_8
caused the sound to be attenuated by the headroom value every time
it was updated.
2020-10-11 00:21:46 +02:00
Luke Usher a380927fba
Merge pull request #1981 from CookiePLMonster/fix-ivb-zeroing
Actually zero g_InlineVertexBuffer_Table[0]
2020-10-09 21:22:41 +01:00
Silent fd490e9929
Actually zero g_InlineVertexBuffer_Table[0]
Operator= invoked default constructors where available,
and a default constructor for D3DXVECTOR4 does nothing.
memset/memcpy zeroes and copies the entire structure for real.
2020-10-09 22:15:15 +02:00
Silent ec8c930ebc
Update XbSymbolDatabase submodule
Add a signature for D3DDevice_DrawIndexedVertices for xdk-3911 LTCG
2020-10-09 17:39:25 +02:00
Luke Usher 2c72faad81
Merge pull request #1977 from CookiePLMonster/new-rdtsc-pattern
Add a new rdtsc pattern based on NASCAR Heat 2002 logs
2020-10-08 22:03:02 +01:00
Luke Usher 4271a857cc settings: better if statements for settings versioning 2020-10-08 13:43:36 +01:00
Luke Usher a0ae63d030 settings: use if statements rather than switch/case 2020-10-08 09:20:54 +01:00
Silent 665dc37877
Implemented D3DDevice_SetVertexShader_0
LTCG version of D3DDevice_SetVertexShader which passes
Handle in EBX
2020-10-07 19:11:02 +02:00
Silent 13d79192c8
Implemented D3DDevice_DrawVerticesUP_12
LTCG version of D3DDevice_DrawVerticesUP which passes
pVertexStreamZeroData in EBX
2020-10-07 18:56:29 +02:00
Silent ad3c042df2
Add a new rdtsc pattern based on NASCAR Heat 2002 logs
New pattern detects the following:

rdtsc
mov address, eax
2020-10-06 21:30:58 +02:00
Silent 05bae29ec3
Add a proper D3DDevice_SetStreamSource for xdk-391 LTCG
The signature was correct, but it was redirecting to a wrong
version of SetStreamSource. The correct version passes the first
argument in EDX.
2020-10-06 21:04:06 +02:00
Silent 556a65f1dc
Fix wrong D3DDevice_SetVertexShaderConstant_8 implementation
The assumption that one of the parameters has to be taken from EDX
was correct, but the function was not implemented properly
2020-10-06 19:22:02 +02:00
Silent 3fdfa89812
Implement LTCG D3DDevice::SetTexture for xdk-3911
Test case: NASCAR Heat 2002
2020-10-06 19:22:02 +02:00
Silent 24fa7dc935
D3DDevice_SetTexture_4: Fix Xbox implementation call 2020-10-06 18:50:39 +02:00
ergo720 13bd79f930
Use fixed width types for xbox types + restructured kernel header files (#1969)
* VOID -> void_xt

* CHAR, CCHAR -> char_xt, cchar_xt

* UCHAR -> uchar_xt

* BYTE, BOOLEAN -> byte_xt, boolean_xt

* Fix bogus intellisense errors in the kernel headers

* SHORT, CSHORT, USHORT -> short_xt, cshort_xt, ushort_xt

* LONG -> long_xt

* WORD, DWORD -> word_xt, dword_xt

* HRESULT -> hresult_xt

* ULONG -> ulong_xt

* SIZE_T, ACCESS_MASK, PHYSICAL_ADDRESS -> size_xt, access_mask_xt, physical_address_xt

* UINT, INT -> uint_xt, int_xt

* LONG_PTR, ULONG_PTR, INT_PTR -> long_ptr_xt, ulong_ptr_xt, int_ptr_xt

* LONGLONG, ULONGLONG -> longlong_xt, ulonglong_xt

* WCHAR, QUAD, BOOL, FLOAT -> wchar_xt, quad_xt, bool_xt, float_xt

* Updated types in xonline.h + reverted some type changes + moved kernel header files in cxbxr source tree

* Use char16_t instead of wchar_t for wchar_xt xbox type

* Fixed macro redefinition warnings from ntstatus macros in types.h
  Fixed macro redefinition warnings from NT_SUCCESS and FIELD_OFFSET
  Fixed macro redefinition warnings from the REG_ macros used by the eeprom

* NTSTATUS -> ntstatus_xt
2020-10-06 05:33:16 -05:00
Luke Usher 8a1e4b1beb
Merge pull request #1974 from RadWolfie/symbolscan-fix
Fix Symbol Scan's Kernel Thunk Bug
2020-10-06 10:11:50 +01:00
Luke Usher f8e0b73e23
Merge pull request #1975 from CookiePLMonster/CC-005-rdtsc-false-positive
Add an rdtsc false positive check for Group S Challenge [CC-005] [1.05]
2020-10-06 10:11:06 +01:00
Silent 0a46366c22
Add an rdtsc false positive check for Group S Challenge [CC-005] [1.05] 2020-10-05 21:45:59 +02:00
RadWolfie 746a7e6450 hle: move MapThunkTable after EmuHLEIntercept plus fix hidden xbeType bug to use directly xbe type than system type. 2020-10-05 11:24:22 -05:00