Looking at the information available at the PCGamingWiki, The Sims 2 has a native windowed mode (-w launch parameter). This works fine with an Intel GPU, unfortunately because the game has some issues with Intel Graphics (even the newer ones), and doesn't run as smooth as it does on a dedicated Nvidia GPU, I tried the same with the dedicated card.
However, my notebook has the infamous Nvidia Optimus setup (dedicated Nvidia card outputs video to the framebuffer of the Intel card, which is the only card connected to the displays), and while it plays fine using fullscreen mode, when setting the -w parameter it either crashes at startup with a D3D error, or sucessfully launches, but with a white screen (everything else working).
So I tried using DxWnd with it, but all I get is this error when attempting to run it with hooks enabled (happens with any of the GPUs):
I'm running the Ultimate Collection available on Origin, and even when I tried using a No-CD crack I ended up with the same error. This was on a Windows 10 Pro, and the dxwnd.log is here if it helps.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Indeed you were correct, and a more "proper" no-CD managed to bypass that error. Unfortunately, I still get the same D3D error (E_INVALIDARG) that the native -w parameter returns (when using NVIDIA; with the Intel card DxWnd works fine). Maybe the dxwnd.log can help more now?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The log shows something weird after a Direct3D9::Reset operation that completes successfully, but after that no further Direct3D9 logs are present, as if the game unhooked from dxWnd.
This is (sadly) typical of some games/situations, I never got it clear why, but the problem can be partially overtaken (sometimes...) by setting the "Direct3D / Suppress D3D8/9 Reset" flag.
Since the Reset operation is normally used to change screen resolution, it may happen that this way the game works, but it is rendered with wrong coordinates.
Anyway, the first thing to try is setting this flag and see what happens next. Let's cross our fingers.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Setting this flag doesn't make much of a difference (even in the dxwnd.log apparently, but I'm not experienced enough to tell :P). What I found now is that the D3D error happens even without DxWnd, just by turning Windows own compatibility mode on (any Windows version < 10 will cause it, with and without -w parameter).
I think this might be related to how the game finds the GPU to use (trying to "inherit" the GPU from the process that calls it?), so I tried to force dxwnd.exe to run on the Nvidia card, but Nvidia Activity Indicator doesn't show it running there.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Alexandro, while I retrieve my "The Sims 2" DVD from the cellar (I only have the base edition, I hope it will suffice for the tests..), since DxWnd triggers the copy protection schemas, it seems that I will need too the "proper" crack. Would you mind send me a PM (provate message) with the crack or the link where I can find it?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Ok, we got to the point.
I installed the game and applied a crack to avoid DxWnd detection. Since both the original exe and the crack were obfuscated (some hackers are so jelous of their work they don't like peeking inside) I added to the default options the "Hook / Hot patch (obfscated IAT)" flag.
The game seems to be perfectly working (of course, after a very limited play time), so your guess about the cause of the problem could be right. The problem now is how am I supposed to replicate it?
Mumble mumble ...
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2017-07-31
Last edit: Anonymous 2018-10-20
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Yeah, I think the problem is only reproducible on a notebook with Nvidia Optimus setup, which is (unfortunately) quite common on notebooks with dedicated Nvidia GPUs from 2010 onwards.
However, (I assume) going after this kind of hardware to test and attempt to fix this specific issue might be getting out of the scope of this project.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I'd say it's out of scope as long as I can't get my hands on a computer with Nvidia Optimus video card. Sadly, not being able to reproduce the effect doesn't help.
Anyway I could compare the D3D video capabilities of my and your logs, maybe we find some clue to bypass the problem.
But for sure the fact that the program does have a native windowed mode and this doesn't work is not incouraging out optimism.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hello!
Looking at the information available at the PCGamingWiki, The Sims 2 has a native windowed mode (-w launch parameter). This works fine with an Intel GPU, unfortunately because the game has some issues with Intel Graphics (even the newer ones), and doesn't run as smooth as it does on a dedicated Nvidia GPU, I tried the same with the dedicated card.
However, my notebook has the infamous Nvidia Optimus setup (dedicated Nvidia card outputs video to the framebuffer of the Intel card, which is the only card connected to the displays), and while it plays fine using fullscreen mode, when setting the -w parameter it either crashes at startup with a D3D error, or sucessfully launches, but with a white screen (everything else working).
So I tried using DxWnd with it, but all I get is this error when attempting to run it with hooks enabled (happens with any of the GPUs):
I'm running the Ultimate Collection available on Origin, and even when I tried using a No-CD crack I ended up with the same error. This was on a Windows 10 Pro, and the dxwnd.log is here if it helps.
It definitely sounds as a leftover of the protection schema that the crack didn't remove. In that case, it won't be an easy task.
Indeed you were correct, and a more "proper" no-CD managed to bypass that error. Unfortunately, I still get the same D3D error (E_INVALIDARG) that the native -w parameter returns (when using NVIDIA; with the Intel card DxWnd works fine). Maybe the dxwnd.log can help more now?
The log shows something weird after a Direct3D9::Reset operation that completes successfully, but after that no further Direct3D9 logs are present, as if the game unhooked from dxWnd.
This is (sadly) typical of some games/situations, I never got it clear why, but the problem can be partially overtaken (sometimes...) by setting the "Direct3D / Suppress D3D8/9 Reset" flag.
Since the Reset operation is normally used to change screen resolution, it may happen that this way the game works, but it is rendered with wrong coordinates.
Anyway, the first thing to try is setting this flag and see what happens next. Let's cross our fingers.
Setting this flag doesn't make much of a difference (even in the dxwnd.log apparently, but I'm not experienced enough to tell :P). What I found now is that the D3D error happens even without DxWnd, just by turning Windows own compatibility mode on (any Windows version < 10 will cause it, with and without -w parameter).
I think this might be related to how the game finds the GPU to use (trying to "inherit" the GPU from the process that calls it?), so I tried to force dxwnd.exe to run on the Nvidia card, but Nvidia Activity Indicator doesn't show it running there.
Alexandro, while I retrieve my "The Sims 2" DVD from the cellar (I only have the base edition, I hope it will suffice for the tests..), since DxWnd triggers the copy protection schemas, it seems that I will need too the "proper" crack. Would you mind send me a PM (provate message) with the crack or the link where I can find it?
Ok, we got to the point.
I installed the game and applied a crack to avoid DxWnd detection. Since both the original exe and the crack were obfuscated (some hackers are so jelous of their work they don't like peeking inside) I added to the default options the "Hook / Hot patch (obfscated IAT)" flag.
The game seems to be perfectly working (of course, after a very limited play time), so your guess about the cause of the problem could be right. The problem now is how am I supposed to replicate it?
Mumble mumble ...
Last edit: Anonymous 2018-10-20
Yeah, I think the problem is only reproducible on a notebook with Nvidia Optimus setup, which is (unfortunately) quite common on notebooks with dedicated Nvidia GPUs from 2010 onwards.
However, (I assume) going after this kind of hardware to test and attempt to fix this specific issue might be getting out of the scope of this project.
I'd say it's out of scope as long as I can't get my hands on a computer with Nvidia Optimus video card. Sadly, not being able to reproduce the effect doesn't help.
Anyway I could compare the D3D video capabilities of my and your logs, maybe we find some clue to bypass the problem.
But for sure the fact that the program does have a native windowed mode and this doesn't work is not incouraging out optimism.