RibShark / SafeDiscShim

SafeDiscShim is a compatibility tool that allows for SafeDisc protected games which utilize the insecure Macrovision Security Driver ("secdrv.sys") to run on modern versions of Windows .
Other
411 stars 13 forks source link

The Settlers: Heritage of Kings (SafeDisc v4) #21

Closed DaloLorn closed 5 months ago

DaloLorn commented 5 months ago

DISCLAIMER: The shim does appear to have had some effect, but as it's been nearly a decade since we last ran the game, our memory is too spotty to be sure whether it crashed halfway through the DRM check, or immediately after it. I'm opening the issue just in case investigation might reveal that it's an issue with the shim.

My younger brother's been trying to run our old retail copy of The Settlers: Heritage of Kings, which PCGamingWiki claims to be using SafeDisc v4 for DRM. However, the game keeps crashing before it can reach the main menu.

Attached is a screenshot of an EventViewer record of the crash, as well as logfiles from the game folder:

[REDACTED DUE TO IRRELEVANCE]

DaloLorn commented 5 months ago

Never mind! A few more experiments with assorted graphics wrappers eventually got the game running, so definitely not SafeDiscShim's fault.

For reference, DXWrapper runs the game fine with this - probably overly aggressive - config on an RX6600:

[General]
RealDllPath                = AUTO
WrapperMode                = AUTO
LoadCustomDllPath          = 
ExcludeProcess             = 
IncludeProcess             = 
RunProcess                 = 
WaitForProcess             = 0
DisableLogging             = 0

[Plugins]
LoadPlugins                = 0
LoadFromScriptsOnly        = 0

[Compatibility]
Dd7to9                     = 0
D3d8to9                    = 0
DDrawCompat                = 0
Dinputto8                  = 0
DisableGameUX              = 0
DxWnd                      = 0
EnableDdrawWrapper         = 1
EnableD3d9Wrapper          = 1
EnableDinput8Wrapper       = 1
EnableDsoundWrapper        = 1
HandleExceptions           = 1
SingleProcAffinity         = 1

[DDrawCompat]
DDrawCompat20              = 0
DDrawCompat21              = 0
DDrawCompat31              = 0
DDrawCompatDisableGDIHook  = 0
DDrawCompatNoProcAffinity  = 0

[ddraw]
ConvertToDirectDraw7       = 0
ConvertToDirect3D7         = 0
DdrawFixByteAlignment      = 0
DdrawOverrideBitMode       = 0

[Dd7to9]
AutoFrameSkip              = 0
DdrawEmulateSurface        = 0
DdrawRemoveScanlines       = 0
DdrawReadFromGDI           = 0
DdrawWriteToGDI            = 0
DdrawLimitDisplayModeCount = 0
DdrawUseNativeResolution   = 0
DdrawClippedWidth          = 0
DdrawClippedHeight         = 0
DdrawOverrideWidth         = 0
DdrawOverrideHeight        = 0
DdrawOverrideRefreshRate   = 0
DdrawIntegerScalingClamp   = 0
DdrawMaintainAspectRatio   = 0

[d3d9]
AnisotropicFiltering       = 0
AntiAliasing               = 0
EnableVSync                = 0
EnableWindowMode           = 0
ForceMixedVertexProcessing = 0
ForceSystemMemVertexCache  = 0
ForceVsyncMode             = 0
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         = 0