https://bugs.winehq.org/show_bug.cgi?id=55942
--- Comment #5 from Eric Pouech eric.pouech@gmail.com --- (In reply to Bernhard Übelacker from comment #4)
There exists a demo version in german language. I had some trouble installing, see bug #29678, use winxp and the dlloverrides.
===== Then there appeared a d3dcompiler message, for this I did a `winetricks d3dx9`.
===== Then I received following message: Moorhuhn - Im Anflug Demo *** NEBULA ASSERTION *** expression: mmioProc == lpMMIOInfo->pIOProc file: \radonlabs\code\nebula2\src\audio3\nwavfile.cc line: 25
Against this assert seem to help for now following line:
dlls/winmm/mmio.c @@ -625,2 +625,3 @@ static MMRESULT MMIO_SetBuffer(WINE_MMIO* wm, void* pchBuffer, LONG cchBuffer, wm->info.lBufOffset = wm->info.lDiskOffset;
- wm->info.pIOProc = pIOProcListAnchor[0].pIOProc; wm->bBufferLoaded = (wm->info.fccIOProc == FOURCC_MEM);
this doesn't look fully correct At least, it shows that the app expects the DOS ioproc to be used; but I'm not sure that this the place to set it. For example, MMIO_Open() sets pIOProc before calling MMIO_SetBuffer() so doesn't look right to always overwrite it in MMIO_SetBuffer. Can you tell if the MMIO_SetBuffer call is made from MMIO_Open or mmioSetBuffer? And if from MMIO_Open() what is the content of refmmio (esp. fccIOProc and pIOProc fields).