05-16-2021, 10:49 AM
I know the Windows version of ICR2 isn't the preferred method of playing the game for most, but I've gravitated towards it as it seems to work better with my controller choices. It's never looked quite as good, but thankfully there's some new tools out there to help make it a better looking and more viable option.
Basically, Windy has a DirectDraw option, but calls for the main system ddraw.dll rather than any in it's own folder. This means any wrapper which needs a ddraw.dll in the game folder wouldn't work because the game calls for the system .dll, not a local one. However, there's a workaround using an "Application Manifest". You also need to run a quick PowerShell command to get this to work, but the game will then call for the local ddraw.dll. The instructions for this are in Method 4 of the below link:
Application Manifest Instructions in Method 4: https://github.com/narzoul/DDrawCompat/w...tion-guide
Once you've gotten the game to run off the local ddraw.dll, you can then setup a wrapper to help stabilize things and get the game to look pixel-perfect. There are two I'm playing around with now, with varying results -
DXWrapper https://github.com/elishacloud/dxwrapper - I'm having great results with this, and am able to get it to appear properly scaled full screen with vsync. I've attached a screenshot, it's a true step above in terms of full screen on an HD monitor. One issue is the intro replay won't play, but that's a minor inconvenience, and the game runs as normal after. My config file is as follows, but I'm still playing around with it:
dgVoodoo http://dege.freeweb.hu/dgVoodoo2/dgVoodoo2/ - This is my usual go-to for upscaling old games, but it's still not working quite right with ICR2. It recognizes the .dll (the watermark is there) and will upscale and vsync, but bizarrely does it in a window. Maybe it's my system settings or maybe I'm missing something in the config, but I'll keep playing with it as time allows. Supposedly there's a way to get DXWrapper working in tandem with dgVoodoo using stub .dlls (the ddraw.dll for DXW and dgV are both different and won't work with the other program), but I haven't figured that out yet.
I'm still exploring different options for this now that I've gotten it to work properly. Might be able to use Reshade with it too, now, but that's for another day. Anyhow, give these a shot, and I'll keep playing with what I can stumble on, maybe there's a way through this method to go beyond 640x480.
Basically, Windy has a DirectDraw option, but calls for the main system ddraw.dll rather than any in it's own folder. This means any wrapper which needs a ddraw.dll in the game folder wouldn't work because the game calls for the system .dll, not a local one. However, there's a workaround using an "Application Manifest". You also need to run a quick PowerShell command to get this to work, but the game will then call for the local ddraw.dll. The instructions for this are in Method 4 of the below link:
Application Manifest Instructions in Method 4: https://github.com/narzoul/DDrawCompat/w...tion-guide
Once you've gotten the game to run off the local ddraw.dll, you can then setup a wrapper to help stabilize things and get the game to look pixel-perfect. There are two I'm playing around with now, with varying results -
DXWrapper https://github.com/elishacloud/dxwrapper - I'm having great results with this, and am able to get it to appear properly scaled full screen with vsync. I've attached a screenshot, it's a true step above in terms of full screen on an HD monitor. One issue is the intro replay won't play, but that's a minor inconvenience, and the game runs as normal after. My config file is as follows, but I'm still playing around with it:
Code:
;; Config file for DirectX DLL Wrapper
[General]
RealDllPath = C:\SIERRA\CART\ddraw.dll
WrapperMode = AUTO
LoadCustomDllPath =
ExcludeProcess =
IncludeProcess =
RunProcess =
WaitForProcess = 0
DisableLogging = 0
[Plugins]
LoadPlugins = 0
LoadFromScriptsOnly = 0
[Compatibility]
Dd7to9 = 1
D3d8to9 = 0
DDrawCompat = 1
Dinputto8 = 0
DisableGameUX = 0
DxWnd = 0
EnableDdrawWrapper = 0
EnableDinputWrapper = 0
EnableDsound8Wrapper = 0
HandleExceptions = 0
SingleProcAffinity = 0
[DDrawCompat]
DDrawCompat20 = 0
DDrawCompat21 = 0
DDrawCompatExperimental = 0
DDrawCompatDisableGDIHook = 0
DDrawCompatNoProcAffinity = 0
[ddraw]
ConvertToDirectDraw7 = 1
ConvertToDirect3D7 = 1
DdrawOverrideBitMode = 0
DdrawResolutionHack = 1
[Dd7to9]
AutoFrameSkip = 0
DdrawEmulateSurface = 1
DdrawWriteToGDI = 0
DdrawLimitDisplayModeCount = 0
DdrawUseNativeResolution = 1
DdrawClippedWidth = 0
DdrawClippedHeight = 0
DdrawOverrideWidth = 0
DdrawOverrideHeight = 0
DdrawOverrideRefreshRate = 0
DdrawIntegerScalingClamp = 0
DdrawMaintainAspectRatio = 1
[d3d9]
AnisotropicFiltering = 1
AntiAliasing = 1
EnableVSync = 1
EnableWindowMode = 0
ForceVsyncMode = 1
FullscreenWindowMode = 0
WindowModeBorder = 0
[FullScreen]
FullScreen = 0
ForceWindowResize = 0
WaitForWindowChanges = 0
[dinput8]
FilterNonActiveInput = 0
[dsound]
Num2DBuffers = 0
Num3DBuffers = 0
ForceCertification = 0
ForceExclusiveMode = 0
ForceSoftwareMixing = 0
ForceHardwareMixing = 0
ForceHQ3DSoftMixing = 0
ForceNonStaticBuffers = 0
ForceVoiceManagement = 0
ForcePrimaryBufferFormat = 0
PrimaryBufferBits = 16
PrimaryBufferSamples = 44100
PrimaryBufferChannels = 2
AudioClipDetection = 0dgVoodoo http://dege.freeweb.hu/dgVoodoo2/dgVoodoo2/ - This is my usual go-to for upscaling old games, but it's still not working quite right with ICR2. It recognizes the .dll (the watermark is there) and will upscale and vsync, but bizarrely does it in a window. Maybe it's my system settings or maybe I'm missing something in the config, but I'll keep playing with it as time allows. Supposedly there's a way to get DXWrapper working in tandem with dgVoodoo using stub .dlls (the ddraw.dll for DXW and dgV are both different and won't work with the other program), but I haven't figured that out yet.
I'm still exploring different options for this now that I've gotten it to work properly. Might be able to use Reshade with it too, now, but that's for another day. Anyhow, give these a shot, and I'll keep playing with what I can stumble on, maybe there's a way through this method to go beyond 640x480.

