Posted May 04, 2020
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. 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 !
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