MaKiPL / OpenVIII-monogame

Open source Final Fantasy VIII engine implementation in C# working on Windows and Linux (Android and iOS planned too!) [Monogame]
MIT License
642 stars 59 forks source link

FF8.Encoding doesn't support multichar bytes #84

Closed Sebanisu closed 5 years ago

Sebanisu commented 5 years ago

A hack around this I added bytetostr dictionary to FF8String. This was in Dirtyencode and that was removed. Probably need a more permanent solution that supports codepages. These bytes are only used in kernel strings I think.

Sebanisu commented 5 years ago

From discord: multichar bytes are in kernel bin. where 1 byte is 2 or more characters. As far as I know it's the only file that does this. http://forums.qhimm.com/index.php?topic=8461 <- Section III refers to it as DTE

Sebanisu commented 5 years ago

Since these characters are only used in kernel.bin maybe I should move the conversion to kernel_bin.cs or strings.cs and when it loads the strings it can expand those characters to the multiple bytes when they are read from the file.

Sebanisu commented 5 years ago

I ended up moving where I read the strings and added a mulichar flag. If it is set the string is expanded to one byte per character.