But this file is also very tasty =) Right now I'm really busy with work and rarely get engaged than that =) I think the weekend will continue the translate. But the program would still make good autonomous. You can edit the fonts are very, very fast.
I think I understand
Attached is an updated "Russian Variable Width v2.asm" in a ZIP folder. The updated ASM can be applied over the old ASM, or separately to v0.3 or v0.5 patch.
This new ASM file has 2 functions.
"Auto-center": This routine measures text for Brigandine's auto-center text alignment.
For example, this is used to align the castle names on the world map.
"Variable-width": This routine adjusts letter width for the variable-width font setup.
In this new v2 ASM, both the "auto-center" and the "variable-width" routine use the same letter width-table. The width-table is used to look up each letter's width.
If you want to make your tool change the letter width automatically, you just need to edit the "width-table" in the EXE. This "width-table" starts in the EXE at 0x5FEDC. The byte at 0x5FEDC sets the width for 0x20 ("Space"). The byte at 0x5FEDD sets the width for 0x21 ("!") and so on. However, note that 0x20 ("Space" symbol) is intercepted by Brigandine and is not drawn from the font chart. I included it in the width-table even though it is not currently used.
.org 0x80020700
 lb r5,0x0(r4)
 li r6,WidthTable -0x20
 beq r5,r0,0x80020738
 addu r6,r6,r5
 lb r6,0x0(r6)
 addiu r4,r4,0x1
 J 0x80020700
 addu r2,r2,r6
In EXE at 0x106A8, write these 4 bytes over existing data:
Code:
AFBD0108
That will enact this Armips code
Code:
.org 0x8001FEA8
 j VARIABLE
In EXE at 0x5FEBC, write these 0x80 bytes over existing data:
I ran in to a rather obnoxious problem in the translation. Obnoxious in that it was rather complicated to fix yet it only makes a tiny difference in the grand scheme of things. There are a few places in Brigandine where pop up messages are assembled in RAM from multiple pieces before being drawn on screen as a single sentence. For example a message like "Battle of Logres" is assembled from two parts "Battle of" and "Logres".
The problem in this process was happening during the "[Creature Name] has gained experience/leveled up" messages. Even though the creature names are in English, they are encoded in Japanese Shift JIS (ShiftJIS supports the English alphabet). Well Brigandine uses two completely different text routines to draw Japanese and English, so it can not draw a "compound" sentence with both Japanese and English. These "level up" messages were showing up blank after the creature's name.
The fix required detecting when one of these compound messages was being assembled, and if it contained a creature name, converting that name to regular ASCII English encoding. It took about 3 days worth of my free time to get the fix working Hopefully there won't be any more things like this!
I found another large chunk of menu text that needs to be translated. I had forgotten about the "Recollection" section since I never used it. That section contains descriptions for every quest, battle meeting and cutscene in the game. That is around 300 lines of Japanese. Brigandine is definitely a "monster" to translate.
I am about half-way done with the rough translation of the "Recollection" section.
I've been a bit busy, but I got the Recollection menu section roughly translated and inserted. Like many other areas in Brigandine, the Recollection menus partly use their own font routine so it required a bit of hacking to get them to support English. It's not a polished translation since the labels don't have a lot of context until their related events are translated, but it should give a rough idea of what's going on in the scene.
Thank you for popping in dood The encouragement is welcomed. I've been pleasantly surprised at the number of people who are looking forward to this translation.
It would be wonderful if I finished quickly. The largest hurdle remaining (that I know of) is translating the voiced movies that have no subtitles. If anyone here is adept at translating spoken Japanese and would like to help, please let me know!