well, this project made me start a replay on Suikoden II I've been checking the bug fixes and wow, I have to admit some of the bugs went totally unnoticed the first time I played this game. now with my mind set (slightly) into finding weird stuff, I've noticed what seems to be another bug found in the European (Spanish) version:
if you have a full inventory and receive an item after a battle, you get the choice of dropping it or put it in your "bag", dropping another item instead. selecting the latter option will pop up an inventory window to let you choose the item to drop. when you set the cursor over an item that hasn't still been appraised (i.e. ? vase), the description shown is the one of the appraised item (instead of "not appraised object").
seeing how you've managed to fix a similar issue (the scroll shop), I hope this won't be difficult. keep up the good work!
Thanks. As far as I know, that bug has never been reported, so good catch. It should be an easy fix. They have a function that retrieves descriptions, and one that wraps around it and outputs defaults for unidentified stuff. A couple of people didn't get the memo on which one to use, I guess.
I'm guessing the Gaiden translations would be going fairly normally, if not for everything taking such a long time. I'd kind of expect a project like that, using a mix of people experienced and inexperienced in doing fan translations of games, to see a huge burst early, then settle into doldrums while the translators work up a first draft, and then the technical workers play catch-up and solve any problems they didn't foresee in order to wedge the draft into the game. Then it's just a matter of review and refinement. Or so I assume. It seems like the delays have led to more delays because of lost expertise and so forth. It also seems like this is a first or second translation project for most of the people involved, so some stumbling is to be expected.
I'm with you on the Suikoden II
script. Given the parameters of the project and the issues they faced, the translators did a phenomenal job. Like I said, I want to put together tools that make it easier to review and modify the text. I'd might as well make it support the Japanese character set while I'm at it, so if anybody wants to clean up, re-translate, or translate one version to a new language, it'll be possible.
I don't know how the scripts and such were presented to the original translators, but in the compiled data things are really weird and disjointed. You have arrays of dialogue pointers and arrays of pointers to them, and none of them have any counts or bounds associated with them. Everything is referenced by relative indices. If you want someone to say line 0 in array 0, that's all you tell it, which is fine. Where it gets confusing is that each area, say Ryube, has a list of every actor/element that can be on the screen, and this is then referenced by multiple arrays that define what is in the room at given times. I've taken to calling them "taxonomies" and "ecosystems" to keep them straight in my head. At any given time, an ecosystem might have 1 of a particular NPC or creature, or twenty, but the taxonomy only holds them once. Anyway, the scripts reference items by their index into the ecosystem, so looking at any given file, it's difficult to tell if character 9 is say Eilie or some random NPC, or a treasure chest, because it depends on which ecosystem is in effect. There are two script handlers, and one can pass data into the second, so you might see dialogue as a reference to the ecosystem "character 8 says array 1, line 2", or the first script handler will determine that character 8 is being interacted with, and the second handler will do something like "current object says array 1, line 2". Additionally, your party always
takes up the first 8 slots in the ecosystem (6 in the battle party + 2 in the entourage/convoy). I've not yet worked out how you determine which character is speaking when it summons dialogue for your party. I don't know if the game forces required members into specific positions, or if it has to search, or if they just bypass the need to worry about it somehow. I'm pretty sure it's the forced positions, because the hero is always referenced as index 0 in the scripts I've reviewed. If they were handed these scripts in any form that required them to decipher all that, it's a miracle we didn't get horrible Engrish with people just calling each other "mister" half the time.