Any Brigandine (PSX) fans?

#81
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.

#82
I think I understand ‎  Smile
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.



Attached Files Thumbnail(s)
   

.zip   Russian Variable Width v2.zip (Size: 1.12 KB / Downloads: 141)

#83
Quote:Can I do without Armipsto write a standalone patcher?
Yes. But the changes will only work if applied to a v0.3 or v0.5 patched disk image. To make changes without using Armips:

In EXE at 0x10F00, write these 36 bytes over existing data:
Code:
00008580 0780063C BCF6C624 0A00A010 2130C500 0000C680 01008424 C0810008 21104600

That will enact this Armips code:
Code:
.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:
Code:
FFFF0392 0780023C BCF64224 21104300 00004990 0A80033C AC7F0008 5467638C 00060506 06060602 06060606 06040606 06060606 06060606 06060505 06050606 05050505 05050505 05050505 05050505 05050505 05060505 05050506 05050406 04050505 05050505 05050505 04050505 05050505 05050505 05050506 05060408

That will enact this Armips code
Code:
.org 0x8006F6BC
VARIABLE:
   lbu r3,-0x1(r16)
   li  r2,WidthTable -0x20
   addu r2,r2,r3
   lbu r9,0x0(r2)
   lui r3,0x800a
   j 0x1FEB0
   lw r3,0x6754(r3)
WidthTable:
.byte 0, 6, 5, 6, 6, 6, 6, 2, 6, 6, 6, 6, 6, 4, 6, 6
.byte 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 5, 6, 5, 6, 6
.byte 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5
.byte 5, 5, 5, 5, 5, 6, 5, 5, 5, 5, 5, 6, 5, 5, 4, 6
.byte 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 4, 5, 5, 5
.byte 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 5, 6, 4, 8


#84
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 ‎  Smash2 Hopefully there won't be any more things like this!


Attached Files Thumbnail(s)
   

#85
Of course I had to use some King's Field names for the creatures!


Attached Files Thumbnail(s)
   

#86
Impressive! I have not found a single Japanese character! ‎  Biggrin

#87
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. ‎  Drool

I am about half-way done with the rough translation of the "Recollection" section.

#88
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.

There's some neat stuff in the music section.


Attached Files Thumbnail(s)
   

#89
hello.. i have been following your brigandine translation work, and im pretty excited about it.. hope you finish the full translated version soon :)

#90
Thank you for popping in dood ‎  Smile 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!





Users browsing this thread:
35 Guest(s)