Video yükleniyor...
Video Yüklenemedi
#SakuraWars2 DevLog: Dealing with Images This game contains a fair bit of text within images. So for a translation patch, the images need to be extracted, redone, and patched.
19,529 görüntüleme • 1 yıl önce •via X (Twitter)
10 Yorum

This includes font sheets, all battle UI, chapter intro screens, battle screens, boss banners, minigame images, theater room names, system menus, menu backgrounds, loading screens, splash screen, game title screen, and other misc images. Currently amounting to 1,735 images!

For some of these, like the room names in the theater & names appearing within battle UI, there were hundreds of images. To do them by hand was tedious so I wrote a tool to auto-generate them given the translated names in a text file. Some of the battle UI was done by hand though

We got the help of some very talented artists to help redo some of the more complicated images like these boss images, chapter screens, and minigame images.

Most images are stored as raw vdp1 format image data. Others are tiled images displayed in vdp2. These are easy to extract using tools I wrote. Others are compressed using PRS compression which was a standard across many Sega titles. These are a bit more complicated.

Some however are encoded using some bizarre encoding algorithm. It doesn't compress the image, just obfuscates it. The Kinematron, some minigames, and credits all use this. And these are a pain.

To extract these, the encoded data needs to be found, the encoding algorithm needs to be figured out(which Ghidra helps with) and then it needs to be reverse engineered so that I can re-encode the translated images and this part was pretty tricky.

Above image is full of artifacts unless it is decoded. Here is one of the images properly decoded. What makes it worse is that there are multiple encoding schemes. The kinematron & minigames use one, credits use another. I call this algorithm the "Kinematron Encoding Algorithm"

I have yet to reverse engineer the credits algorithm. Not sure if it will make it into the final patch. Maybe! But for now, everything else we have encountered has been extracted, reworked, and patched =)

Always great to see more news

@burntends2 Super cool to learn how some of this works!! Thank you for all the hard work!!!!
