* Turned g_bEmuException into a thread_local variable (this fixes issue #135)
* Added DirectSoundUseFullHRTF to XTL namespace
This is a requirement for functions to be patched!
(Spotted this by chance while looking at the exports of our Cxbx.exe
using CFF Explorer VIII)
* Marked OUT arguments as such
* DSound: Replaced all function logging via DbgPrintf calls with LOG macro's
* DSound: Added LOG_UNIMPLEMENTED_DSOUND where appropriate
* DSound: Added missing LOG_FUNC
* DSound: indented some function headers
* DSound: Small refactoring of AddRef/Release, and added a few TODO's.
* DSound: Intenting and last few fixes
Currently legacy audio hack option is not implemented, so it's disabled
before merge into master repo. Plus force all unimplemented functions to
output once, not repeatly.
* NEW: PCM, XBOX_ADPCM, and unknown codec audible are functional.
* FIXED: Preserve volume whenever buffer is resize.
This will allow all dev and testers to test and report which codec is
not outputing audible properly.
First attempt to obtain audio settings configured by user request. At
the moment, selecting audio adapter device is functional. More to come
later on...
* Missing control frequency flag to control base on Smashing Drive
title.
* SetVolume return invalid arg due to setting MIN volume is -10,000.
Changed mockup into between -10,000 and -6,400 as silence.
* SetFormat has been tweaked a bit as workaround for now. It needs to
create new buffer for secondary buffer usage.
Known Issue:
SetConeOrientation continue to return DSERR_INVALIDPARAM flag in Turok
Evolution for some reason. All args look right and is fine to me...
- Added check if DirectSound3DBuffer8 is null due to dummy WAVEFORMATEX
causing issue for DSBCAPS_3D flag.
- Another code standard fix.
- Forward SetConeOutsideVolume to hybrid function to reduce duplicate
code.
- Renaming variable type to uppercase to keep code sanity.
- Re-add debug message from SynchPlayback.
- Corrected flag check for to play or not to play audio buffer.
- Verified dwFlags is the same as windows for lock buffer.
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.