GeDoSaTo Injection, Once Again

Based on various bug reports and testing, I’ve identified 3 major causes which have contributed to the issues with the new injection system that some users of GeDoSaTo have experienced. Two of these are fixed now, and the other one is a system setting which is reported by GeDoSaToTool for you to fix.

The problems were:

  • Whitelist-based injection was case aware, while previously it was case-insensitive. Since case is based on the launch name of the .exe, this is not always easy to identify, and therefore I made it case-insensitive again.
  • Installing GeDoSaTo to paths with spaces in them would prevent it from working. This was fixed by generating the short path name rather than using the full path for injection.
  • On Windows 8 and 10, if the UEFI secure boot feature is enabled, it prevents the injection mechanism used by GeDoSaTo from working. I’ve added a step to the installation guide about this and also check for and report it as an error in the tool.

Luckily, all of these so far could be fixed without jeopardizing the stability and compatibility improvements of the new injection system.

I’ve also fixed some small issues in the updater/installer, and it now keeps a backup of the replaced executables/dlls until the next update (even though all of them are always available on github).

You can get the latest version by updating from within GeDoSaTo or with the installer provided here. And, as always, you can donate to support continuing GeDoSaTo development here.

Improving Mushihimesama with GeDoSaTo

BannerQuite recently Mushihimesama was released on Steam. It’s one of the best games in its genre of all time, and I urge anyone with even a passing interest in STGs to pick it up.

Sadly, the port has a few annoying issues right now, and while I’m sure that they will be fixed eventually, if you are like me and just can’t wait the latest GeDoSaTo version fixes pretty much all of them.

The issues are (or rather, were ;)):

No support for native resolution

It’s a 2D game, so no big deal, but scaling once is still nicer than scaling twice. This is easily fixed by the forcePresentRes option in GeDoSaTo. It induces some minor artifacts in the menus, but is perfect in-game.

Bad framelimiting logic on some systems

This results in ~57 rather than 60 FPS gameplay. Fixed with the new  timeGetTimeFactor  option which fools the in-game limiter, in conjunction with limiting the framerate with GeDoSaTo instead.

Crashes on pressing “start” at the startup screen

This is by far the most pressing issue, and also affected me. Looking at all the API calls the game makes before crashing, one can determine that it is probably related to how it queries Steam friends. Therefore, I added the capability to intercept the Steam friend API to GeDoSaTo. This was a bit of effort, but sure enough, “pretending” low or zero friends with the resulting new  steamFriendsLimit  option fixes the crashes for good.

Important Note

To use GeDoSaTo with Mushihimesama, set DispFull=1 in Mushihimesama.ini, otherwise it might crash on startup.

You can get the latest version by updating from within GeDoSaTo or with the installer provided here. And, as always, you can donate to support continuing GeDoSaTo development here.

Not that if you use a non-16:9 display, or still experience framepacing issues with the game, check this post.

Injection issues

I haven’t forgotten about the injection issues. From the feedback on Github, it seems like the primary culprit for the vast majority of issues is the “secure boot” option. I’ll add a check for that and make a seperate announcement when it’s done.

Zestiria character shadow improvements, GeDoSaTo injection compatibility

I just pushed a new game-specific plugin for Tales of Zestiria which increases character shadow resolution/detail. It’s just a minor change, but it was annoying me that the in-game shadow setting increased environmental shadow resolution, but only blurred character shadows more. It just doesn’t make sense that shadows (ostensibly from the same light source) would look completely different if they were cast from characters rather than the environment.

It turned out that the character shadows were being rendered at only 64×64 (!), with 128×128 for Sorey, so it’s hardly surprising that they lacked detail. The new game-specific plugin rectifies that, and it’s designed to show similar detail to the game’s “high” environment shadows. Compare:

Original character shadowsModded character shadowsNote how the character shadows are just amorphous blobs in the original image. This would be fine I guess as a design choice if it was uniform, but the environment shadows right next to them are much more sharp and detailed! In the modded version, I tried to unify their appearance so that they look like they belong in the same scene.

GeDoSaTo New Injection Compatibility

By now, I’ve got a lot of feedback on the new injection method. What I expected was for quite a few games to stop working for everyone, while others would still work perfectly. That didn’t really happen to any extent.

The good news is that the new (much safer) injection method seems to have fixed injection issues with the previous version for a large number of people. Perhaps even more importantly, it appears to have completely eliminated both updating issues and crashes in unrelated applications for everyone, which was very important to me. I really don’t want people to download GeDoSaTo and experience random crashes, which was the case for some previous versions.

The bad news is that there are people for whom previous versions worked which report that the new version doesn’t work at all. Worse yet, there’s no pattern which I could discern so far as to who it works for and who it doesn’t work for.

Therefore, I ask both people for whom the new version works and those for whom it doesn’t to report here. I hope we can track down some common reason for the behavior.