@crazyc :
There is another problem that, once fixed, could offer advantages for a long list of games, at least all the "I Spy" games that show the same behavior.
The problem is not preventing these games to be run with DxWnd, but for some obscure reason they require the CD to be mounted and fail when using the fake-CD feature. Mounting a CD is not that big issue, but it is for me that I'm trying to set a collection of easily installed and played games for my internal tests. But also regular users could find very easy the procedure of installing a game by simply unpacking all the files in one shot, with the further advantage that you have no limits for the number of CD games installed on one machine.
So, about the problem, these "I Spy" games load Director player's files from the CD and make some controls about their capabilities: I see the usage of the msvcrt _accesscall and I fake a positive result, like here:
The game continues, but a little later, after some control in temporary folders, the game complains with a message telling that the file is not a good Director file (see screenshot).
Actually I don't think so. The message should mean that DxWnd has tried to hook a system call (in kernelbase.dll in this case) that is not referenced (or used) by the program. This happens regularly.
The message is activated by the "Logs > Hook op." topic that is disabled by default (even not visible in non-Extended mode). Maybe you set it inadvertently?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Good, it works! I will have to pay attention to other msvcrt file functions accepting a pathname in input, there seems to be quite a lot of calls!! (Or maybe I'd better remove msvcrt from the list of hooked libs and let DxWnd drill down to the kernel32 level).
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
@crazyc :
There is another problem that, once fixed, could offer advantages for a long list of games, at least all the "I Spy" games that show the same behavior.
The problem is not preventing these games to be run with DxWnd, but for some obscure reason they require the CD to be mounted and fail when using the fake-CD feature. Mounting a CD is not that big issue, but it is for me that I'm trying to set a collection of easily installed and played games for my internal tests. But also regular users could find very easy the procedure of installing a game by simply unpacking all the files in one shot, with the further advantage that you have no limits for the number of CD games installed on one machine.
So, about the problem, these "I Spy" games load Director player's files from the CD and make some controls about their capabilities: I see the usage of the msvcrt
_accesscall and I fake a positive result, like here:The game continues, but a little later, after some control in temporary folders, the game complains with a message telling that the file is not a good Director file (see screenshot).
Honestly, I can't understand where is the difference ....
p.s. there is a "I Spy Spooky Mansion Deluxe" disk image on Internet Archive
Last edit: gho 2026-05-06
I tried this and I see a lot of lines in the log
dxwnd.IATPatchDefault: PE unreferenced function kernelbase.dll:......
I guess this is not right.
Last edit: huh 2026-05-06
Actually I don't think so. The message should mean that DxWnd has tried to hook a system call (in kernelbase.dll in this case) that is not referenced (or used) by the program. This happens regularly.
The message is activated by the "Logs > Hook op." topic that is disabled by default (even not visible in non-Extended mode). Maybe you set it inadvertently?
Well, it uses
msvcrt!_sopenwhich then calls CreateFileA and dxwnd doesn't hook it. Works with this change.Last edit: crazyc 2026-05-06
Good, it works! I will have to pay attention to other msvcrt file functions accepting a pathname in input, there seems to be quite a lot of calls!! (Or maybe I'd better remove msvcrt from the list of hooked libs and let DxWnd drill down to the kernel32 level).
Well, I turned it on hoping to find out more. Never mind, I'll make a note that this message isn't important.