Status Update - April 2021
Added 2021-05-01 12:03:26 +0000 UTCWelcome! According to my GitHub statistics, April wasn't as busy as March but it saw some very interesting developments. My work regarding Virtua Fighter 5 has seen an unprecedented amount of attention on Twitter and gaming websites, so I can't wait to see the reception once my current VF5FS project is released!
That said, let's proceed to the list of things I've done in April. Other than VF5, it's a fairly standard list.
DuckStation
- Update PL localization - a standard entry on the list by now, a monthly translation pass.
- Update SDL game controller database - accompanied by a pull request to SDL_GameControllerDB. My Xbox One gamepad was detected as an Xbox One Elite Gamepad by SDL when running wired, and those mappings lacked a Guide button. This PR re-adds it, making a Guide button functional in DuckStation when using this gamepad again.
Cxbx-Reloaded
- Add a new LTCG variation of D3DDevice_SetStreamSource - in an attempt to get an Acclaim's Juiced prototype running in the emulator, I found and implemented a missing LTCG signature the game uses. Sadly, this did not improve rendering in any meaningful way, as the game appears to rely on inlined code heavily, thus making it one of the "bad LTCG games". This change might help other games though, so it still made sense to submit it.
PCSX2
- Folder memcards: Add an index file to track the order of files - a PR from a few months ago finally got merged recently after extensive testing. A few months ago I found the reason for GTA games not working properly when folder memory cards were used - it turns out they are one of the very few games to make assumptions about the order of files on the memory card (gg, Rockstar) and folder memory cards broke those assumptions. I expanded folder memcards with an index file preserving the order and file timestamps, fixing such cases.
Uptime Faker
I updated Uptime Faker with a ProcessTime option. This option makes timers count from the time the process was started, therefore working around uptime issues. No need to reboot your PC to reset uptime anymore, as it will count from 0 every time as far as the game is concerned!
One game known to benefit from this is Deus Ex: Human Revolution (+ Director's Cut), fixing a stuttery camera with high PC uptime. There are more games affected by this, so if you ever stumble upon an issue that seems like an uptime issue, I encourage you to give Uptime Faker a try.
Deus Ex: Human Revolution - Director’s Cut Gold Filter Restoration
I fixed a bug reported to me by e-mail where the mod would make the default Windows cursor show up periodically in place of the game's cursor.
Test Drive Unlimited
I wished to play this game, but getting it to install (and work properly) was not trivial. One of the issues that seem to be exclusive to the Polish retail version of the game made it impossible to install unless some "Vista Patch" was used. This patch was distributed without source code and an explanation of what it's doing, so I dissected it, extracted its InstallShield Transform files, and reimplemented it as a PowerShell script. Credits for this go to the original author(s) of TDU Vista Patch, I only built upon their work to make it more transparent to the user!
Virtua Fighter 5: Final Showdown Unlocker for Yakuza 6 and Yakuza: Like a Dragon
A "star" of this month - a tiny ASI plugin for Yakuza 6/Yakuza LAD unlocking a full console version of Virtua Fighter 5: Final Showdown! Earlier this month I released a write-up about this discovery, so I won't go into much detail now.
This release has gained much more attention on Twitter than I'd have expected - and for those hungry for Virtua Fighter 5 on PC, I have more to come soon.
What's next?
At the moment, I'm working on two noteworthy projects:
- SilentPatch for TOCA 2 Touring Cars - back to the "roots" of patching older games, I turned my sights on TOCA 2 as I wanted to play it, but it has several issues. Most notably, the game locks up often on modern PCs that are literally too fast to execute a specific function in the game correctly! Community fixes exist, but I am not satisfied by what they do - instead of fixing the broken function, they skip it completely. I have already identified the problem and in SP I will be able to do better than that.
Additionally, the currently used widescreen fix seems to "overdo" aspect ratio correction slightly and doesn't scale for other ARs well. I analyzed what it's doing and came up with a formula similar to the one I used in Colin McRae Rally 2, making the game support arbitrary aspect ratios properly:
- Standalone Virtua Fighter 5: Final Showdown - teased on Twitter multiple times, a project that started as a fun experiment turned out to be very viable. VF5FS in Yakuza 6/Yakuza LAD is so separate so it was possible to write a minimal launcher application, running it standalone! At the moment the game has no audio, but other than that it's already fully functional!

I intend to release it officially sometime this month, as there are still a few things I need to take care of before it's ready. Of course, you will need a Steam copy of Yakuza 6 (Yakuza: LAD support to come later) to run VF5, as I will not ship any game files.