indecks wrote:I just wish there was a tool of some sort to inject whatever text needed. Id be happy to wade through the entire script and inject it.
To use an analogy, you're saying that you wish you could put a large hole in an arbitrary wall of your house. And maybe you can; might turn out that wall is not load bearing. But if it is there's a whole lot of things you need to figure out to make it work.
I dunno man... I'd like to think of it as maybe the wall was built out of brick and wrought iron. But I'm patching the hole with sheet rock, and wooden studs... It accomplishes the same thing, but looks different. It might be a bit of a different shade of paint, but it's still a wall.
The Neo Geo era was one when developers were still using pretty low-level code and often storing text just wherever in memory, sometimes with serious memory constraints. Text was often compressed or encoded, and some text was graphics data (menus and other graphical elements) instead of stored text. And in some cases, text for different game areas might be stored differently. Modern object oriented programming this was not.
indecks wrote:I just wish there was a tool of some sort to inject whatever text needed. Id be happy to wade through the entire script and inject it.
To use an analogy, you're saying that you wish you could put a large hole in an arbitrary wall of your house. And maybe you can; might turn out that wall is not load bearing. But if it is there's a whole lot of things you need to figure out to make it work.
I dunno man... I'd like to think of it as maybe the wall was built out of brick and wrought iron. But I'm patching the hole with sheet rock, and wooden studs... It accomplishes the same thing, but looks different. It might be a bit of a different shade of paint, but it's still a wall.
You're missing the point of my analogy. I'm describing how old code works. Like, in a modern game the entirety of the script is in some file external to the main game. It'll generally be in a form of having some sort of key (e.g. intro_paragraph_1), and then the actual text for each chunk of text. When you want to localize you swap out that file with a version of that file where everything is written in the new language. And modern text handling code is able to read that file in and output it, putting in the appropriate word wrapping and other considerations.
Old games are not that nice. The actual text is interspersed between bits of code in ways that are seemingly arbitrary, and many of them don't actually have things like automatic word wrapping code. Instead they manually insert a line break character as part of the text for each line. So trying to just swap out the text won't work; if you're going from Japanese to English, for example, you run into the issue that it takes more characters to say something in English than in Japanese. So this affects text box sizes and also affects fitting it into the game's code; if you have code, then eight Japanese characters for a piece of text, then more code with no space in between then you only have eight characters for your English text available (or you now have to work around it with pointers and I'm not even going to try and explain that).
Blizzard Entertainment Software Developer - All comments and views are my own and not representative of the company.