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.
This commit is contained in:
RadWolfie 2017-06-10 12:08:39 -05:00
parent 28cdfafb4c
commit 14172824b1
2 changed files with 8 additions and 8 deletions

View File

@ -329,7 +329,7 @@ HRESULT WINAPI XTL::EMUPATCH(IDirectSound_SynchPlayback)
");\n",
pThis);
//TODO: Test case Rayman 3 - Hoodlum Havoc
//TODO: Test case Rayman 3 - Hoodlum Havoc, Battlestar Galactica
EmuWarning("EmuIDirectSound_SynchPlayback ignored");
@ -955,7 +955,7 @@ HRESULT WINAPI XTL::EMUPATCH(IDirectSoundBuffer_SetBufferData)
// update buffer data cache
pThis->EmuBuffer = pvBufferData;
ResizeIDirectSoundBuffer(pThis->EmuDirectSoundBuffer, pThis->EmuBufferDesc, pThis->EmuFlags, dwBufferBytes);
ResizeIDirectSoundBuffer(pThis->EmuDirectSoundBuffer, pThis->EmuBufferDesc, pThis->EmuFlags, dwBufferBytes, pThis->EmuDirectSound3DBuffer);
if (pThis->EmuFlags & DSB_FLAG_ADPCM) {
DSoundBufferUnlockXboxAdpcm(pThis->EmuDirectSoundBuffer, pThis->EmuBufferDesc, pvBufferData, dwBufferBytes, NULL, 0);
@ -1040,7 +1040,7 @@ HRESULT WINAPI XTL::EMUPATCH(IDirectSoundBuffer_Lock)
*pdwAudioBytes1 = dwBytes;
} else {
if (dwBytes > pThis->EmuBufferDesc->dwBufferBytes) {
ResizeIDirectSoundBuffer(pThis->EmuDirectSoundBuffer, pThis->EmuBufferDesc, pThis->EmuFlags, dwBytes);
ResizeIDirectSoundBuffer(pThis->EmuDirectSoundBuffer, pThis->EmuBufferDesc, pThis->EmuFlags, dwBytes, pThis->EmuDirectSound3DBuffer);
}
if (pThis->EmuLockPtr1 != 0) {
@ -1156,7 +1156,7 @@ ULONG WINAPI XTL::EMUPATCH(IDirectSoundBuffer_Release)
uRet = pThis->EmuDirectSoundBuffer->Release();
if (uRet == 0) {
if (pThis->EmuDirectSound3DBuffer) {
if (pThis->EmuDirectSound3DBuffer != NULL) {
pThis->EmuDirectSound3DBuffer->Release();
}
// remove cache entry
@ -1686,7 +1686,7 @@ ULONG WINAPI XTL::EMUPATCH(CDirectSoundStream_Release)
uRet = pThis->EmuDirectSoundBuffer->Release();
if (uRet == 0) {
if (pThis->EmuDirectSound3DBuffer) {
if (pThis->EmuDirectSound3DBuffer != NULL) {
pThis->EmuDirectSound3DBuffer->Release();
}
// remove cache entry
@ -1788,7 +1788,7 @@ HRESULT WINAPI XTL::EMUPATCH(CDirectSoundStream_Process)
// update buffer data cache
pThis->EmuBuffer = pInputBuffer->pvBuffer;
ResizeIDirectSoundBuffer(pThis->EmuDirectSoundBuffer, pThis->EmuBufferDesc, pThis->EmuFlags, pInputBuffer->dwMaxSize);
ResizeIDirectSoundBuffer(pThis->EmuDirectSoundBuffer, pThis->EmuBufferDesc, pThis->EmuFlags, pInputBuffer->dwMaxSize, pThis->EmuDirectSound3DBuffer);
if (pInputBuffer->pdwStatus != 0) {
*pInputBuffer->pdwStatus = S_OK;

View File

@ -7,7 +7,7 @@
// * `88bo,__,o, oP"``"Yo, _88o,,od8P oP"``"Yo,
// * "YUMMMMMP",m" "Mm,""YUMMMP" ,m" "Mm,
// *
// * Cxbx->Win32->CxbxKrnl->EmuD3D8->VertexShader.h
// * Cxbx->Win32->CxbxKrnl->EmuDSoundInline.hpp
// *
// * This file is part of the Cxbx project.
// *
@ -525,7 +525,7 @@ inline HRESULT HybridDirectSoundBuffer_Pause(
}
break;
case X_DSSPAUSE_SYNCHPLAYBACK:
//TODO: Test case Rayman 3 - Hoodlum Havoc, and ... ?
//TODO: Test case Rayman 3 - Hoodlum Havoc, Battlestar Galactica and ... ?
EmuWarning("X_DSSPAUSE_SYNCHPLAYBACK is unsupported!");
break;
case X_DSSPAUSE_PAUSENOACTIVATE: