Author Topic: Any Brigandine (PSX) fans?  (Read 160251 times)

Offline Guyra

  • Decked in Promeus
  • ***
  • Posts: 352
Re: Any Brigandine (PSX) fans?
« Reply #20 on: June 22, 2013, 06:51:19 pm »
Wow, that's a really handy tool you've made there! You sure know what you're doing! :D

Offline HwitVlf

  • Dark Slayer Destroyer
  • ****
  • Posts: 1667
Re: Any Brigandine (PSX) fans?
« Reply #21 on: June 26, 2013, 03:28:03 pm »
I shouldn't "overstate" what the tool can do. One of the hard parts about locating a text pointer is knowing what where the text is loaded in memory. For the text embedded in a PSX executable,  the location is mostly standard- being "text's location in EXE + 0xf800". So the tool is currently only works with text in some PSX exe's- usually that's the game's menu text. It could work with other console game text, but the text's "offset" in memory would either have to be calculable or entered manually.

Offline HwitVlf

  • Dark Slayer Destroyer
  • ****
  • Posts: 1667
Re: Any Brigandine (PSX) fans?
« Reply #22 on: June 26, 2013, 04:29:39 pm »
There's so much stuff happening behind the scenes in a game; it's easy to take it for granted. 

For the most part, the Playstation's processor requires that data be "aligned". Since the processor is a 32bits (aka 4 bytes), being "aligned" means that most data in the game starts at a multiple of 4 bytes.  The original Japanese text in BGE was aligned like this and always started at a multiple of 4bytes, but my changes for loading English enabled the game to read text that wasn't "aligned".

It's been working fine until I moved the Castle names together in a non-aligned block.  A castle's name pops up and hovers beneath the castle when you move the cursor over that castle. Some of my non-aligned castle names were popping up in the wrong place. 

The reason being, the video we see when we play a game is actually a series of 2D images flashed in rapid succession; text is drawn as an overlay on the 2D image at specified coordinates. For something like game menu text, the "start location" coordinate doesn't change and is "hard coded" into the game data. But since the world map scrolls, the text's draw coordinates have to be calculated depending on where the castle currently is on screen.

Brigandine's process for calculating the Castle-name draw coordinates expected the text to be aligned and my non-aligned names were generating bad draw-start locations. I could take the time to change the coordinate-calculating routine so that it can come with misaligned reads, but it's easier to just align the castle names since this issue only affects text that doesn't have a fixed start location.

Incidentally, SoM game menus work the same way and can be rearranged by changing draw-start coordinates.
« Last Edit: June 26, 2013, 04:37:58 pm by HwitVlf »

Offline HwitVlf

  • Dark Slayer Destroyer
  • ****
  • Posts: 1667
Re: Any Brigandine (PSX) fans?
« Reply #23 on: July 05, 2013, 05:47:08 am »
Came up with a translated title screen. There's a nice animated effect where various parts of the title design appear in sequence and I wanted to make full use of all the effects. It originally had "Brigandine Grand Edition" written in Japanese above the English, but there was no point in translating that and writing it in English twice. So I removed where it was written below and added some of the runes from the game,  just to make it a little interesting.

Some of the graphics in Bringandine are non-standard TIMS so existing TIM conversion tools don't work. I added a little "fixer" tool for these graphics to the ever expanding BGE text tool. That's about the sixth tool I've had to craft (ugh) but I actually hope someone might translate BGE into a non-English language after I'm done. And the tools should make it a piece of cake.

Offline Verdite

  • VIP
  • Dark Slayer Destroyer
  • *****
  • Posts: 1624
Re: Any Brigandine (PSX) fans?
« Reply #24 on: July 09, 2013, 08:24:11 am »
Thats a ton of work. You must really love this game.

Offline HwitVlf

  • Dark Slayer Destroyer
  • ****
  • Posts: 1667
Re: Any Brigandine (PSX) fans?
« Reply #25 on: July 09, 2013, 11:44:21 pm »
I actually didn't intend to spend so much effort. Someone dug up my old translation patch for Brigandine and posted it to Romhacking.net. Since the patch they posted was really crummy and only about 1% complete, I was kind of ashamed to have my name on it (which is part of why I never uploaded in the first place). Rather than ask them to take it down, I thought I'd do a quick "fix-up" for just the menu text, and swap it out with a decent patch.

I got 98% done in a couple days, but unfortunately the last 2% is being a real pain! :madani:
I hope to be done with the menu text very soon. I do hope to continue on to Brigandine's main dialog text and movies, but only after I've finished some other stuff.  :tinfoil:

Offline Hellborn

  • Bow Bearer
  • *
  • Posts: 33
Re: Any Brigandine (PSX) fans?
« Reply #26 on: July 13, 2013, 11:02:25 am »
Hi! I am from Russia. I have a favor to ask you for help. I do translation of the BGE. All the pictures I have already translated.
some pictures:

...

...

...

...

...

And now I have a little trouble with the Russian alphabet. The fact that the Russian alphabet uses 7 symbol more than the English. I understand pointers can not do without? I also noticed that some letters, such as "I" (the letters are arranged in a series of 8x12 pixels) allocated less space than the cell itself. Could you help me understand the alphabet?
« Last Edit: July 14, 2013, 09:33:30 am by Hellborn »

Offline HwitVlf

  • Dark Slayer Destroyer
  • ****
  • Posts: 1667
Re: Any Brigandine (PSX) fans?
« Reply #27 on: July 13, 2013, 05:14:25 pm »
Hello!  I am glad to see that another fan is working on Brigandine. The TIMs you posted look nice. You did a good job of matching the font styles in the menu TIM.

If you want to translate the game menus into Russian, you will probably have to edit pointers. I have some TXT documents that show some pointer locations, but they are not complete yet.

You asked about narrow letters like "I": the font in STAY.BIN is 8x12 per letter, but I injected a process that checks which letter is being drawn, and moves the boxes closer together if needed. Since the box is invisible except for the letter, it doesn't matter if the 8x12 boxes overlap.

The standard Russian text system uses 2 bytes per letter, correct? The first thing you need to decide is will you be using a 2 bytes per letter encoding, or a system that uses 1 byte per letter.

Another note, the main menu TIM uses 48 different pallets (CLUTs) and the one you posted is using pallete #1. If you need to revise anything in your TIM, it might be easier to use other palletes. Like pallete #5 that shows the ingame color for the menu labels.  :beerchug:
« Last Edit: July 13, 2013, 05:55:09 pm by HwitVlf »

Offline Hellborn

  • Bow Bearer
  • *
  • Posts: 33
Re: Any Brigandine (PSX) fans?
« Reply #28 on: July 13, 2013, 06:57:31 pm »
Hello!  I am glad to see that another fan is working on Brigandine. The TIMs you posted look nice. You did a good job of matching the font styles in the menu TIM.

If you want to translate the game menus into Russian, you will probably have to edit pointers. I have some TXT documents that show some pointer locations, but they are not complete yet.

You asked about narrow letters like "I": the font in STAY.BIN is 8x12 per letter, but I injected a process that checks which letter is being drawn, and moves the boxes closer together if needed. Since the box is invisible except for the letter, it doesn't matter if the 8x12 boxes overlap.

The standard Russian text system uses 2 bytes per letter, correct? The first thing you need to decide is will you be using a 2 bytes per letter encoding, or a system that uses 1 byte per letter.

Another note, the main menu TIM uses 48 different pallets (CLUTs) and the one you posted is using pallete #1. If you need to revise anything in your TIM, it might be easier to use other palletes. Like pallete #5 that shows the ingame color for the menu labels.  :beerchug:
Thank you for a relatively quick response! As for the menu, and other pictures that I posted, I have the source code in Photoshop (I can offer these same pictures in English if you want). Each first processed image tore palette used in the image. Then quietly edited the images using layers and other tools at the end of the work carried out with the use of indexing color palette to tear out earlier and brought the finishing touches. All ingenious and simple!
By the way, there is a very easy program to work with Tim directly in the working disk image "without opening" of it - called timviewp.
As for my question:
1st way that came to my mind - is to change the memory pointers to characters using Unicode Russian layout (would look very readable with subsequent transfer using this method. Moreover, unknown to what bugs it will). But as you have corrected Russian characters occupy more bytes.
2nd way - it's just to score the alphabet and use single-byte pointers to characters from it (though this method takes some of the difficulties with a large translation), using the table of matches.
Now lay out the picture of my idea ... If there are alternatives to correct me. Here's a picture showing the idea of ​​the second method:

numbers labeled to be added to the missing characters from the Russian alphabet (up to 14 characters in, but 8 in full will be enough to cover 7 small and 1 large, given the Russian lexicon for a decent translation of this should be enough)
ps I am sorry for bad english

Offline HwitVlf

  • Dark Slayer Destroyer
  • ****
  • Posts: 1667
Re: Any Brigandine (PSX) fans?
« Reply #29 on: July 13, 2013, 08:18:41 pm »
No need to apologize for your English. You speak much better English than I do Russian!! :biggrin:

Have you inserted your edited menu TIM and tried it in-game yet? That TIM has an unusual format and often gets corrupted when reinserting it into STAY.BIN.

The ASCII font chart I'm using is attached below. As far as I know, Brigandine's standard 1byte drawing routine can't access the 4th line in the font chart where the runes are. It goes from 0x21 - 0x7f. Anything above or below that gets intercepted and run through different routines. The characters on the end of the ASCII chart are not needed in the menus. Maybe you could add extra Russian letters in those slots: [ \ ] ^ _ ` { | } ~ @

Does Russian language have any 1byte per letter text encoding? That would make things simpler.