It seems that you're using an outdated browser. Some things may not work as they should (or don't work at all).
We suggest you upgrade newer and better browser like: Chrome, Firefox, Internet Explorer or Opera

×
avatar
cloudburst85: ...
Microsoft know the bug and works on it:

"There is a NuGet package for using XAudio 2.9 down-level on Windows 7 Service Pack 1, Windows 8.0, and Windows 8.1. See Microsoft Docs for details. Using this new version avoids this known issue.

An application level workaround is very easy to implement, and is already implemented in DirectX Tool Kit for Audio and in the XAudio2 DirectX SDK refreshed samples on GitHub."

I am not a programmer and i dont know how to install a "NuGet package" but this is the fix for the Problem you can find here:

nuget.org/packages/Microsoft.XAudio2.Redist/

AND FOR THE INFO IT IS NOT A GOG OR KALYPSO PROBLEM IT IS A MICROSOFT PROBLEM !
imho, the application (in this case Tropico 5) has to be compiled using the new version of Microsoft.XAudio2.
Nuget packages are installed in the development environment (Visual Studio) and the libraries are used in application development afterwards.
Kalypso would have to re-compile Tropico 5 with this new version (given the new version really fixes the issue) and include the distribution of the new Microsoft.XAudio2 dll in the Tropico 5 setup (given it is not deployed automatically as part of a monthly windows 10 cumulative update).

EDIT:
"[...]When the DLL (player100: the redistributable dll from the nuget package) is used on a Windows 10 system, it checks the version number of the XAUDIO2_9.DLL that is part of the operating system, and if the operating system is newer, it will delegate all API calls to XAUDIO2_9.DLL in the operating system. This ensures that apps always use the latest version of XAudio 2.9 that is available on the current platform.[...]"
Source: https://docs.microsoft.com/en-us/windows/win32/xaudio2/xaudio2-redistributable
Post edited May 04, 2020 by player100
avatar
player100: EDIT:
"[...]When the DLL (player100: the redistributable dll from the nuget package) is used on a Windows 10 system, it checks the version number of the XAUDIO2_9.DLL that is part of the operating system, and if the operating system is newer, it will delegate all API calls to XAUDIO2_9.DLL in the operating system. This ensures that apps always use the latest version of XAudio 2.9 that is available on the current platform.[...]"
Source: https://docs.microsoft.com/en-us/windows/win32/xaudio2/xaudio2-redistributable
It is not so clear, could you explain, is it possible to install the defined NuGet package and fix the problem with sound and crashes in Tropico 5, or the Kalipso still needs to recompile the game?
Post edited May 12, 2020 by vladmus
avatar
player100: EDIT:
"[...]When the DLL (player100: the redistributable dll from the nuget package) is used on a Windows 10 system, it checks the version number of the XAUDIO2_9.DLL that is part of the operating system, and if the operating system is newer, it will delegate all API calls to XAUDIO2_9.DLL in the operating system. This ensures that apps always use the latest version of XAudio 2.9 that is available on the current platform.[...]"
Source: https://docs.microsoft.com/en-us/windows/win32/xaudio2/xaudio2-redistributable
avatar
vladmus: It is not so clear, could you explain, is it possible to install the defined NuGet package and fix the problem with sound and crashes in Tropico 5, or the Kalipso still needs to recompile the game?
The nuget package is intended for developers. They either include the proper version of the dll with their application or rely on Microsoft to push the newest version of XAudio2_9.dll via monthly cumulative updates for Windows 10 to devices running Windows 10.
Anyway Tropico 5 seems to use XAudio2_7.dll (according to the error logged in Windows event log) and therefor Kalypso would have to recompile it using XAudio2_9.dll. I don't know if this would be easy (just update the reference to the new dll and recompile) or if additional changes to the source code would be required to make it work with the newer dll (because the API changed or something else).

Version history of XAudio2: https://docs.microsoft.com/en-us/windows/win32/xaudio2/xaudio2-versions
avatar
Ravinius: It's not working if you have realtek onboard sound card. For those that have dedicated sound cards Tropico 5 apparently works.
Many mobos actually have realtec chips in them. This is also not the first time that there has been a problem with audio unload. The difference then was that it was one of their games so they fixed windows quick. This time they don't have the money incentive to fix what they broke.