Commit Graph

2771 Commits

Author SHA1 Message Date
RadWolfie 41b9a32d7b Audio Improvment
Only does small improvement to audio.

- Rayman Arena's first intro, xbox audio, no longer make any rare
popping noise.
- Xbox Dashboard background sound is improved big time.
- Turok Evolution background music in-game and credits are improved
except there is still noise in-between.
2017-07-22 21:39:26 -05:00
RadWolfie 7f70076676 Renaming 2017-07-22 21:39:25 -05:00
RadWolfie 85f6dc1ad7 Various Changes
- Changed all DirectSound usage to use v8 since it does have more
methods. This allow few more support to audio.
- Implement Support for 3DListener
-
2017-07-22 21:39:25 -05:00
RadWolfie dbd39115e6 Prevent Deadlock in Multithreading
- Moved return value since using actual function cause crashes for
multiple titles.
- Changed 0 to nullptr since cache audio classes are using by xbox.
2017-07-22 21:39:25 -05:00
RadWolfie 14172824b1 Fixed Various Issue
- Corrected File linkage for EmuDSoundInline.hpp (Thanks PatrickvL)
- Check if is not a null variable in release referred by PatrickvL
- Add missing passdown to ResizeIDirectSoundBuffer function (oops)
- Add another test case for SYNCHPLAYBACK

Should compile this time.

Known regress issue:
JSRF report dirty disc - Wait until DirectSound audio control is
implement, then it will go away.
2017-07-22 21:39:25 -05:00
RadWolfie 28cdfafb4c Improve and Fix Release Control
Improvised release management.
2017-07-22 21:39:25 -05:00
RadWolfie 39f828187c Format Document Automatic
Used Visual Studio's format document feature to format it accurately.
- Append semicolon for all FUNC_EXPORTS to prevent indent wrong
position.
- Moved asterisk to the left for all pointers in function's parameters.
2017-07-22 21:39:25 -05:00
RadWolfie 7be9240a16 Enforce Coding Guideline
All this is done by hand with regex search built-in.

- Replaced all tabs to whitespaces
- Any single check process internal are included with brackets
- Corrected any misalign whitespaces
2017-07-22 21:37:40 -05:00
RadWolfie 740fcd7ffb Maintenance Multiple Callers Doing Same Purpose
- Moved all duplicate functionality in inline header (hpp) file.
- Several fixes
- Removed all 3DListener since it is only possible in primary buffer.
Future commit will restore it into primary buffer creation.
- Force output whatever is not implemented for DSound library section in
release build. It will help me know which title is calling it and at
least make it a priority.
2017-07-22 21:37:40 -05:00
RadWolfie 91fff43ff4 Missing define and fixed wrong function 2017-07-22 21:37:40 -05:00
RadWolfie 5aab408594 Debug Info for audio conversion check
Just a debug info feature in case XADPCM audio did not play nicely.
2017-07-22 21:37:40 -05:00
RadWolfie 69ac865b4c Fixed XADPCM audio bug in DirectSoundStream_Process
NOTE : XADPCM audio has occurred in Rayman Arena first intro video, all
other title's intro videos are PCM so far. This is only a temporary
solution for now.

Plus fixed expected standard for cbSize on PCM format.
2017-07-22 21:37:40 -05:00
RadWolfie dcb759f52c Minor Touch Up
Just a minor touch up for value and stub for DirectSoundBuffer_Pause
(untested yet should work okay since it is working for DirectSoundStream
stub. Included warning just in case such title has unsupported value for
pause function.
2017-07-22 21:37:40 -05:00
RadWolfie 883242a760 Improvement DirectSoundStream and Critical Section code
- Fix exception in Rayman Arena for enterCriticalSection called too
early in DirectSoundDoWork.
- Improved Intro Videos for Turok Evolution, Rayman Arena, and Taz
-Wanted.
- Improved process any played audio in DirectSoundDoWork, any audio not
playing is not process.
- Fix ref count in Rayman Arena exception for attempt to release twice
when resize occured reset the ref counter.

Known Bug
- Rayman Arena's first intro has buggy audio due to XADPCM codec not
being decode correctly.
2017-07-22 21:37:40 -05:00
RadWolfie 876598b2b9 Implement Enter/Leave CriticalSection for thread-safe
After some RE on DSound section, turns out there is Enter/Leave
CriticalSection on each API function. Implement this to all API code
should make it less wobble effect in most titles and any other
DirectSound side-effect.
2017-07-22 21:37:40 -05:00
RadWolfie 313d8d8591 Implement DirectSoundStream Suppport
Ignore the IDirectSound3DListener coding mess. It will be fix later
on... (I hope)
2017-07-22 21:37:40 -05:00
RadWolfie b6b0cf0036 Implement Simple XADPCM Conversion Helper Function 2017-07-22 21:37:39 -05:00
RadWolfie b1f82aab0b Update DirectSoundStream and DirectSoundBuffer class
The following section has been included to able play xbox adpcm audio...
* DirectSoundStream (partially, needs more work done)
* DirectSoundBuffer (completed)
* Implement most of the DirectSound3DBuffer functions to be used with
DirectSoundBuffer class.

However the "hack" for all audio cache functions to update audio stream
are removed. It cause audio corruption.
2017-07-22 21:37:39 -05:00
RadWolfie d95be2d56e Implement blueshogun96 Xbox Audio Decoder method
Also revised to support stereo channel.
2017-07-22 21:37:39 -05:00
RadWolfie bbf93a6a14 Include XADPCM file
First initialiation for XADPCM Decoder process
2017-07-22 21:37:39 -05:00
Luke Usher 07ba73f72c NtQueryVolumeInformationFile improvements 2017-07-22 23:39:41 +01:00
Luke Usher 0b1dea9ad1 Log IoCreateFile errors as status strings rather than codes 2017-07-22 23:38:44 +01:00
Luke Usher c455b114e9 Fix some bugs in EmuFile added by the previous change 2017-07-21 22:37:42 +01:00
Luke Usher 27b3b4031b Default to Xbe Path if no symbolic links could be resolved
Fixes PathNotFound error in Rise of the Triad
Allows the audio to play!
2017-07-21 22:30:06 +01:00
Luke Usher 128e3706f8 5788 CaptureStateBlock actually existed back in 5455 2017-07-21 22:29:24 +01:00
Luke Usher 5b643e767c Always forward Xbox KeWaitForMultipleObjects to Windows KeWaitForMultipleObjects
KeWaitForMultipleObjects does support a count of 1, so there is no need for this extra check!
2017-07-21 22:28:45 +01:00
PatrickvL 5ab5ee21b6 Merge pull request #511 from LukeUsher/various-tweaks-and-fixes
Various tweaks and fixes
2017-07-21 10:42:30 +02:00
Luke Usher 507a339329 Fix ObjectAttributes that contain a roothandle to BaseNamedObjects
A handle of -4 on the Xbox signifies the path should be in the BaseNamedObjects namespace.

This handle doesn't exist on Windows, so we prefix the name instead.
2017-07-21 09:35:32 +01:00
Luke Usher 4943b30b07 Changes to Warnings/Errors
Unknown BlendOp should not be a fatal error: It might make rendering incorrect, but won't cause breakage.

D3D_TILED logging is useless for now, ignoring the flag won't have any negative impact, it won't matter once we unpatch most of D3D & it's just polluting log files.
2017-07-21 08:18:01 +01:00
Luke Usher 02987ae7e9 Fix detection of support for D3DFMT_P8
It was posssible that RasterCaps returned RC_PALETTE while the hardware does not support D3DFORMAT_P8.

This situation was encounted with Intel HD Graphics 5500
2017-07-21 06:40:05 +01:00
Luke Usher d601ec591b Fix a crash when XREF_D3DDEVICE is not found 2017-07-20 21:37:22 +01:00
Luke Usher 98b5997a51 Increase sound buffer cache size
Alien vs Preditor now reaches ingame, it was exhausting the cache
2017-07-20 21:18:38 +01:00
Luke Usher e8bb561481 Add XInputClose & IDirecctSoundBuffer_AddRef to 5849 HLE Database
Homebrew: Alien vs Preditor now progresses further
2017-07-20 21:18:12 +01:00
Luke Usher 6dd23ddaff Add SetOutputBuffer to DSound 5558 Database
Improves homebrew: AftershockPoolSx.zip
2017-07-20 20:46:55 +01:00
Luke Usher bf85b14ca2 Merge remote-tracking branch 'upstream/master' into various-tweaks-and-fixes 2017-07-20 20:11:38 +01:00
Luke Usher 737feaa849 Merge pull request #510 from PatrickvL/add_flash_read
Introduce flash handling
2017-07-20 16:20:26 +01:00
PatrickvL 115ba5ffc6 Update XboxHardwareInfo
Removed macrovision flag, set sensible GPU and MCP revision numbers.
2017-07-20 17:13:27 +02:00
PatrickvL df9dba615e Return flash rom version 0x90 (indicating revision 1.6 hardware) 2017-07-20 17:09:15 +02:00
PatrickvL 7630f20cf6 tip 2017-07-20 15:19:13 +02:00
PatrickvL f454211bc8 MmMapIoSpace and MmUnmapIoSpace : Write-combined addresses are now passed-through 2017-07-20 15:18:59 +02:00
PatrickvL c2ec131a73 EmuX86 : Add flash read handler 2017-07-20 15:16:39 +02:00
PatrickvL bbdec7c40b Add XBOX_FLASH_ROM_BASE and SIZE 2017-07-20 15:07:27 +02:00
PatrickvL 87d10dcb67 Fix EmuX86_Read32Aligned check on NVNET 2017-07-20 15:06:29 +02:00
Luke Usher cb29e6d621 Unpatch CreateTexture 2017-07-20 12:46:25 +01:00
Luke Usher d97b56a530 Merge pull request #509 from PatrickvL/fix_opcode_size
Fix opcode size
2017-07-20 10:22:41 +01:00
PatrickvL eef1b633f8 Fix a TODO in EmuExceptionBreakpointAsk using EmuX86_OpcodeSize 2017-07-20 10:52:49 +02:00
PatrickvL 58194ec1ee Added EmuX86_OpcodeSize 2017-07-20 10:52:12 +02:00
PatrickvL a53e626c25 Extracted method EmuX86_DecodeOpcode 2017-07-20 10:51:57 +02:00
PatrickvL 3cebdf265e Remove debug code 2017-07-20 10:50:54 +02:00
PatrickvL c70c46ff1b Merge remote-tracking branch 'refs/remotes/Cxbx-Reloaded/master' 2017-07-19 15:31:54 +01:00