Alexander N. Sørnes wrote:
Hello,
I have found that some Westwood installers, such as the ones for Nox, C&C Tiberian Sun, C&C Yuri's Revenge and C&C Tiberain Sun: Firestorm require ddraw.dll to be present in the windows/system 32 directory; if not, they give a message saying they failed to initialize DirectX. Can someone submit a patch so this file is created by wineprefixcreate? ddraw.dll is present system directories of both Windows 98SE and Windows XP.
Regards,
Alexander N. Sørnes
I wouldn't know why it does this, but a highly likely explanation is that the installers dlopen() C:\WINDOWS\DDRAW.DLL using an absolute or semi-absolute (flexible Windows directory, in case Windows is installed on D: or even in "D:\WINNT") path. It probably also tries to stat() thew file before opening it so that the lack of the file causes an error before it is dlopen()d.
A good suggestion is if a DLL file is stat()d in the c:\windows\system(32) directory in Wine, Wine should check it against any .so files in $INSTALLPREFIX/lib/wine, and claim the file exist if a compatable .dll.so is found. Wine should also 'remember' this mapping in case of fopen() or compatable calls.