Crash on level start when using digital distribution versions
Opened this issue · 6 comments
Currently, JkGfxMod does not work with the executables that ship with the Steam version. Root cause is currently unknown. This issue tracks investigation and development work related to the Steam version.
General note for switching between the Steam and CD-ROM versions:
Whenever Jedi Knight is launched from Steam, it will try to install a compatibility shim that affects all other Jedi Knight installations but not itself. I haven't dug into exactly what this compatibility shim is doing, but at minimum it's forcing some bad compat options (like requiring admin privileges). You can uninstall the shim by running this in an administrator command prompt from your Steam JK directory:
sdbinst -u JediKnightDarkForces2.sdb
Current status:
JkGfxMod can inject into the Steam version by the following process:
- Rename JediKnight.exe to JediKnightTemp.exe
- Rename inject.exe to JediKnight.exe
- Set the command configuration option to JediKnightTemp.exe
- Run Jedi Knight from Steam
The intro cutscene and main menu appear correctly. The Steam overlay notification appears, but won't pop over when Shift+Tab is pressed (does this even work in the native version?). Getting JkGfxMod working with the Steam version and overlay does seem possible, if not feasible.
The game crashes to desktop after loading a level. This happens shortly after Jedi Knight calls IDirect3D::Initialize with too few arguments, which is something that doesn't happen in the CD-ROM version of Jedi Knight. I'm not sure why they would have added this; IDirect3D::Initialize does nothing according to the SDK docs. The Steam version also seems to crash with an access violation when there's a debugger attached, so I'm not having much luck investigating this crash so far.
Steam can be used as a launcher by following these steps:
- Copy the CD-ROM version of JK.exe to your Steam directory
- Rename JK.exe to JediKnightTemp.exe
- Rename inject.exe to JediKnight.exe
- Set the command configuration option to JediKnightTemp.exe
- Run Jedi Knight from Steam
This makes Jedi Knight run with JkGfxMod, with the Steam overlay fully working, and even with the Steam soundtrack fix.
This isn't a real solution, but at least it demonstrates the problem isn't Steam. I think there's something very wrong with the JediKnight.exe that Steam ships.
Are those EXEs supported? I tested them, but it's hard to tell if they work.
http://jkdf2.net/index.php?page=ProjectDisplay&pid=96
Hello @Blackbird88
Unfortunately, I can't guarantee support for unofficial patches. There are too many of them. If they seem to work for you, though, then they're probably fine.