[Bug 51126] Multiple games play truncated audio (Evil Twin in-game dialog, Fallout: New Vegas radio tracks)

WineHQ Bugzilla wine-bugs at winehq.org
Sat Sep 11 15:24:25 CDT 2021


https://bugs.winehq.org/show_bug.cgi?id=51126

Mehmet gelisin <mehmetgelisin at aol.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |mehmetgelisin at aol.com

--- Comment #8 from Mehmet gelisin <mehmetgelisin at aol.com> ---
fix
http://www.compilatori.com/ 
It's not clear to me that linking to msvcrt.dll would make things much better.
We would then be possibly missing ucrtbase.dll being loaded. On Windows,
ucrtbase.dll ends up being used in quite http://www.wearelondonmade.com/  some
cases and I think that usually both msvcrt.dll and ucrtbase.dll end up being
loaded. For a relatively high level testing, I used a simple test like this:
http://www.jopspeech.com/
#include <windows.h>
#include <stdio.h>
http://joerg.li/ 
int main(int argc, char **argv)
{
    LoadLibraryA(argc > 1 ? argv[1] : "user32.dll");
    printf("%p %p\n", GetModuleHandleW(L"msvcrt.dll"),  http://connstr.net/
GetModuleHandleW(L"ucrtbase.dll"));
    return 0;
} http://embermanchester.uk/ 

For the test to make sense, it needs to be compiled with some other msvcrt
version than tested ones. It's not possible with GCC mingw, so I used
llvm-mingw with a command (I will attach the executable for convenience):
http://www.slipstone.co.uk/

x86_64-w64-mingw32-gcc deptest.c -lmsvcr100 -o deptest64.exe

If you try it with DLLs like gdi32.dll or user32.dll, only ucrtbsae.dll is
loaded on Windows 10. If you try it with advapi32.dll, only msvcrt.dll is
loaded. Thus, higher level DLLs pull both of them. http://www.logoarts.co.uk/ 

That said, is the attached patch enough to get the game running? 

fix
 http://www.acpirateradio.co.uk/
It's not clear to me that linking to msvcrt.dll would make things much better.
We would then be possibly missing ucrtbase.dll being loaded. On Windows,
ucrtbase.dll ends up being used in quite some cases and I think that usually
both msvcrt.dll and ucrtbase.dll end up being loaded. For a relatively high
level testing, I used a simple test like this: https://waytowhatsnext.com/ 

#include <windows.h>
#include <stdio.h>

int main(int argc, char **argv)
{ https://www.webb-dev.co.uk/
    LoadLibraryA(argc > 1 ? argv[1] : "user32.dll");
    printf("%p %p\n", GetModuleHandleW(L"msvcrt.dll"),
GetModuleHandleW(L"ucrtbase.dll"));
    return 0;
}

For the test to make sense, it needs to be compiled with some other msvcrt
version than tested ones. It's not possible with GCC mingw, so I used
llvm-mingw with a command (I will attach the executable for convenience): 

x86_64-w64-mingw32-gcc deptest.c -lmsvcr100 -o deptest64.exe

If you try it with DLLs like gdi32.dll or user32.dll, only ucrtbsae.dll is
loaded on Windows 10. If you try it with advapi32.dll, only msvcrt.dll is
loaded. Thus, higher level DLLs pull both of them.

That said, is the attached patch enough to get the game running?
fix

It's not clear to me that linking to msvcrt.dll would make things much better.
We would then be possibly missing ucrtbase.dll being loaded. On Windows,
ucrtbase.dll ends up being used in quite some cases and I think that usually
both msvcrt.dll and ucrtbase.dll end up being loaded. For a relatively high
level testing, I used a simple test like this:

#include <windows.h>
#include <stdio.h> http://www.iu-bloomington.com/

int main(int argc, char **argv)
{
    LoadLibraryA(argc > 1 ? argv[1] : "user32.dll");
    printf("%p %p\n", GetModuleHandleW(L"msvcrt.dll"),
GetModuleHandleW(L"ucrtbase.dll"));
    return 0;
} http://www-look-4.com/

For the test to make sense, it needs to be compiled with some other msvcrt
version than tested ones. It's not possible with GCC mingw, so I used
llvm-mingw with a command (I will attach the executable for convenience):

x86_64-w64-mingw32-gcc deptest.c -lmsvcr100 -o deptest64.exe

If you try it with DLLs like gdi32.dll or user32.dll, only ucrtbsae.dll is
loaded on Windows 10. If you try it with advapi32.dll, only msvcrt.dll is
loaded. Thus, higher level DLLs pull both of them.

That said, is the attached patch enough to get the game running?

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list