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.
- Moved return value since using actual function cause crashes for
multiple titles.
- Changed 0 to nullptr since cache audio classes are using by xbox.
- 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.
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.
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
- 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.
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.
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.
- 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.
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.
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.
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.
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.
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