SamSuka
Rose
Rose

patreon


Young Souls ultrawide and wider solution

As you know, whenever a new game is released on Game Pass, I try to check whether it supports ultrawide. In the case of Young Souls, I found a Steam post inquiring about its ultrawide support in October last year. The developer responded but the next comment indicated that the game still had no ultrawide support. A call to action!

It is a Unity game and the new Microsoft Store format allowed me to treat it like any other platform, as opposed to relying purely on memory hacking. Nevertheless, the code was packed and protected from easy access, but nothing is protected from disassembling. There were three layers of functions that I had to address in order to remove the black bars and allow the user to select their resolution from the menu.

Removing the black bars came with the baggage of exposing the UI elements hidden right behind them, intended to roll into the 16:9 space (like in Disco Elysium if you were to inspect that), so the animated auto save icon and some other in-menu elements were now visible at all times. The other issue was the more common case of letterboxing created not via code but effectively like a texture, and that was limited to the 16:9 space as well, making the cutscenes look strange. I looked into both of these issues but found no unique characteristics that would allow me to isolate and manipulate them without removing something important, so they will have to stay.

Compared the previous solution, there is no content lost, and the hoping is that, again, the overall experience is much more preferable than the black bars. If you were to ask me, I'd vouch for it without a doubt! I don't think I would even release something that feels broken.

Looking at the file names of the Steam version of the game, the patcher should be compatible with it as well. I hope so, and that I won't need to manage two separate solutions for a game this time! Check out the tool.

Edit: Lyall did some digging and found some code related to the letterboxing. In the meantime I did my own research and came across some of the same functions, which was revealed after Lyall shared the research on WSGF. I looked further into it and found that Lyall targeted two unrelated functions and the approach also left some very brief half-a-second letterboxing. I just killed the whole function and solved the problem. Lyall definitely helped though, so I'm crediting him for the help with this part. :)

Young Souls ultrawide and wider solution Young Souls ultrawide and wider solution Young Souls ultrawide and wider solution Young Souls ultrawide and wider solution Young Souls ultrawide and wider solution Young Souls ultrawide and wider solution Young Souls ultrawide and wider solution Young Souls ultrawide and wider solution Young Souls ultrawide and wider solution Young Souls ultrawide and wider solution Young Souls ultrawide and wider solution Young Souls ultrawide and wider solution Young Souls ultrawide and wider solution Young Souls ultrawide and wider solution Young Souls ultrawide and wider solution Young Souls ultrawide and wider solution Young Souls ultrawide and wider solution Young Souls ultrawide and wider solution Young Souls ultrawide and wider solution

More Creators