[SOLVED] Spellforce Platinum Edition (Good Old Games)

  • Posts: 33
5 years 4 months ago #1 by Cloudbill
I have never been able to get Reshade with this game. I started using Reshade from version 14 and all of the version since then till now do not work. It is a DX9 game from 2004. It has the D3D9 log file : www.mediafire.com/download/bde44i3yvi2e9av/D3D9.log . I have even tried using the ASCII shader from SweetFX to see if it is loading any shaders at all. It doesn't appear to be.

Please Log in or Create an account to join the conversation.

  • Posts: 3750
5 years 4 months ago - 5 years 4 months ago #2 by crosire
Game seems to bypass wrappers and loads the DLL directly from the system folder (well it loads it from the game folder first, but then unloads it again and falls back to the real one in the system folder).

So wrapping won't work already, now there is still the possibility to inject the DLL into the process: Unfortunately any attempt in preventing the game from unloading the DLL again fails. Windows has a few builtin mechanics to do that, but they have no effect.
The only way I got it working was to inject a second DLL into the process directly at startup and have it override the path to the D3D DLL when the game loads it, thus redirecting any attempts to load from the system directory back to the actual ReShade DLL.

Please Log in or Create an account to join the conversation.

  • Posts: 3750
5 years 4 months ago - 5 years 4 months ago #3 by crosire
Here's how to get it working:

  1. Download the patch I quickly put together: SpellforceFix.dll
  2. Download a DLL injection tool and configure it to inject the patch DLL into the Spellforce process at startup.
    When using ENBInjector you'd need to edit the INI to this for example:
    [LIBRARY]
    LibraryName=SpellforceFix.dll
    [TARGETPROCESS]
    ProcessName0=SpellForce.exe
  3. Download ReShade and copy the archive contents into the Spellforce directory. Do NOT rename the ReShade DLL (leave it at "ReShade32.dll")!!
  4. Run the DLL injection tool.
  5. Run the game.
  6. Profit!
The following user(s) said Thank You: Cloudbill

Please Log in or Create an account to join the conversation.

  • Posts: 33
5 years 4 months ago #4 by Cloudbill
Works flawlessly, thank you very much. Too bad it has to be a "dirty" fix. Don't misunderstand, I am ecstatic for this fix. I can finally play this oldie with SweetFX.

Please Log in or Create an account to join the conversation.

  • Posts: 2
5 years 2 months ago #5 by vierlex
Hi,

I was trying this on the steam version.
During the initial loading screen I get the reshade message on the top left. (version number, url whatnot..)
but it crashes before going into the intros/splash screens.

here is are the contents of the ReShade32.log

Warning: Spoiler! [ Click to expand ]
The following user(s) said Thank You: Cloudbill

Please Log in or Create an account to join the conversation.

  • Posts: 33
5 years 2 months ago #6 by Cloudbill
If your using the current framework or Reshade+SweetFX I would assume it might not work because the Reshade32.dll hasn't been altered. I haven't tried updating the Reshade files I use with this game.

Please Log in or Create an account to join the conversation.

  • Posts: 3750
5 years 2 months ago #7 by crosire
ReShade wasn't altered for this. As usual, don't have any external overlays running. In this case better no Steam overlay too.

Please Log in or Create an account to join the conversation.

  • Posts: 2
5 years 2 months ago - 5 years 2 months ago #8 by vierlex
hm? ive been using the latest reshade+sweetfx..
i disabled the steam overlay thing but results in the same error/behaviour :(

edt: the hex codes were a bit different this time
23/05/2015 16:43:13:722 [09996] | INFO  | Redirecting 'IDirect3D9::CreateDevice(002FA950, 0, 1, 003E09B2, 0x50, 09DE0320, 09DE0358)' ...
23/05/2015 16:43:14:092 [09996] | INFO  | Recreated effect environment on runtime 0D1D1060.

oh well, i just get the gog version then.

Please Log in or Create an account to join the conversation.

  • Posts: 33
5 years 2 months ago #9 by Cloudbill
So all I have to do is overwrite with Reshade 18.4 and framework and it will still work like it does with the older version of Reshade as long as I use the modified ENB injector you made for the game? Is that right or am I missing something?

Please Log in or Create an account to join the conversation.

  • Posts: 3750
5 years 2 months ago #10 by crosire
That's right.

Please Log in or Create an account to join the conversation.

  • Posts: 33
5 years 2 months ago #11 by Cloudbill
I'm getting a black screen and freeze with 18.4

Here's the log:

Warning: Spoiler! [ Click to expand ]

Please Log in or Create an account to join the conversation.

  • Posts: 3750
5 years 2 months ago #12 by crosire
Mmh, too bad. Well, in that case stick to the old version. But it should be possible to keep the new framework shaders.

Please Log in or Create an account to join the conversation.