INTRO
So Good Stuff Lite allow us to load external models and textures into the game.
Sadly, its creator, Checkbox, hasn't updated it for some time now. The latest version of the hack is detected.
The game checks for the original dll file and if it's the hacked version, it closes on you.
CURRENT STATE
There is a workaround: if an old version of GSL, hex-edited with a few 00's at its end, is loaded at a specific time while the game loads, you can get it working.
Problem is the window is very slim, specially on fast computers.
If we swap the original filesystem_stdio.dll with the hacked version of GSL, the game loads the mods. Problem is, if you swap too soon, the game detects the hack. If you swap too late, the game loads the original file and the mods won't load.
Some people can do it easily, others get it after a few tries. Personally, since the last patch, which narrowed the window even more, I haven't be able to do it even once.
HOW THE GAME CHECKS FOR HACKS
So I did some research using Process Monitor. It tells me what and when the game executable is doing.
I searched for Filesystem_stdio.dll, hslogo.jpg and _usa_splash.bmp and found out the following happens while the game is loading:
Load times
8 seconds in: game loads hslogo.jpg, the Fiona pic that appears in the center of the screen
10 seconds in: Vindictus.exe CreateFile, QueryStandardInformationFile, ReadFile, CloseFile on Filesystem_stdio.dll
11 seconds: does it again.
As I understand, the game opens the dll, scans the info on it, reads a part of it, then closes it.
12 seconds: QueryOpen, CreateFile, CreateFileMapping, CloseFile on Filesystem_stdio.dll
12.2 seconds: loads Vindictus splash screen
12.4 seconds: CreateFile, QueryStandardInformationFile, CloseFile on Filesystem_stdio.dll
Mind you that those times are roughly transcripted and will differ on other PCs.
I believe the window for swapping files to be either between the 10 and 11 second mark or between the 11 and 12 second mark, but those times vary each time I launch the game, so a simple countdown before swapping the files won't work.
REQUEST
Here's the request: need a way to tell when the game has opened and closed the dll for the 1st, 2nd and 3rd time and a command to switch the dlls around when that happens.
I'm researching Windows command line batch files and Autoit scripts to accomplish that, but haven't come up with an answer.