Discussion:
DirectX 7
Dimi Paun
2006-04-09 01:45:41 UTC
Permalink
Hi folks,

I am not up-to-date with the latest DirectX news, can someone
please tell me if we have any support for DirectX 7?

I have a screensaver (Marine Aquarium) that I would like to run,
but it requires DirectX 7.

Is there any trick to get it to run?

Thanks!
--
Dimi Paun <***@lattica.com>
Lattica, Inc.
Stefan Dösinger
2006-04-09 08:03:44 UTC
Permalink
Post by Dimi Paun
I am not up-to-date with the latest DirectX news, can someone
please tell me if we have any support for DirectX 7?
DirectX 7 is supported since quite a long time. I'm currently re-writing ddraw
and d3d7 support.
Post by Dimi Paun
I have a screensaver (Marine Aquarium) that I would like to run,
but it requires DirectX 7.
Is there any trick to get it to run?
Most likly it uses some strange way to determine if directx is supported, like
checking for the existance of a .dll file. A +file trace might reveal
something. Perhaps it checks for a fixed directx version string, and fails
because we have the dx9 string, but it expects dx7. Unlikely, but I've once
seen an app that failed for this reason in Windows

Stefan
Dimi Paun
2006-04-10 00:05:33 UTC
Permalink
Post by Stefan Dösinger
Most likly it uses some strange way to determine if directx is
supported, like checking for the existance of a .dll file.
A +file trace might reveal something.
That worked, thank you. This is what I got:

trace:file:FindFirstFileExW L"c:\\windows\\system32\\Ddraw.dll" 0 0x7fc8f4a0 0 (nil) 0
trace:file:RtlDosPathNameToNtPathName_U (L"c:\\windows\\system32\\Ddraw.dll",0x7fc8f464,0x7fc8f46c,(nil))
trace:file:RtlGetFullPathName_U (L"c:\\windows\\system32\\Ddraw.dll" 520 0x7fc8f1e8 0x7fc8f46c)
trace:file:wine_nt_to_unix_file_name L"\\??\\C:\\windows\\system32\\" -> "/home/dimi/.wine/dosdevices/c:/windows/system32/"
trace:file:FindNextFileW 0x7f193e10 0x7fc8f4a0
trace:file:NtQueryDirectoryFile (0x54 (nil) (nil) (nil) 0x7fc8f3e8 0x7f193e50 0x00002000 0x00000003 0x00000000 L"Ddraw.dll" 0x00000000
trace:file:append_entry long L".." short L"" mask L"Ddraw.dll"
trace:file:match_filename (L"..", L"Ddraw.dll")
trace:file:append_entry long L"msvcirt.dll" short L"" mask L"Ddraw.dll"
trace:file:match_filename (L"msvcirt.dll", L"Ddraw.dll")
...

Hasn't Alexandre added something recently that creates some fake DLLs
with proper version info in them?
--
Dimi Paun <***@lattica.com>
Lattica, Inc.
James Hawkins
2006-04-10 02:10:44 UTC
Permalink
Post by Dimi Paun
Hasn't Alexandre added something recently that creates some fake DLLs
with proper version info in them?
To make sure a fake dll is created in the system directory, add the
dll name to tools/wine.inf under the FakeDllsSection section. I guess
we should add ddraw.dll to that list.

--
James Hawkins
Saulius Krasuckas
2006-04-10 08:22:05 UTC
Permalink
Post by James Hawkins
Post by Dimi Paun
Hasn't Alexandre added something recently that creates some fake DLLs
with proper version info in them?
To make sure a fake dll is created in the system directory, add the
dll name to tools/wine.inf under the FakeDllsSection section. I guess
we should add ddraw.dll to that list.
It already is there (if Dimi uses up-to-date Wine):

$ F=~/.wine/drive_c/windows/system32/ddraw.dll; ll $F; file $F

-rw-rw-r-- 1 s2 s2 2468 Apr 9 13:31 /home/s2/.wine/drive_c/windows/system32/ddraw.dll
/home/s2/.wine/drive_c/windows/system32/ddraw.dll: PE executable for MS Windows (DLL) (unknown subsystem) Intel 80386

This sounds to me like a case related to a case-insensitivity handling.
Continue reading on narkive:
Loading...