News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Author Topic: Berserk PS2 how to get the alphabet values?  (Read 19367 times)

Puck

  • Jr. Member
  • **
  • Posts: 26
    • View Profile
Berserk PS2 how to get the alphabet values?
« on: April 09, 2013, 12:49:52 am »
Hi,

I'm trying to "translate" the PS2 game called BERSERK. The text it is located at "event.pac", "misc.pac" and in "spv.pac" files. I had to make a custom table file to identify the teXt. After some trial and error I got the Hiragana and Katakana right.






The issue now is how to use ASCII regular letters. Everytime I tried it doesn't work properly. I tried the whole alphabet as a string "ABCDEFGHI...." but it only showed until "F". In the first cut-scene the change I made was not showed in the game, it was simply blank.

I might need to figure out the values of the ABCs in the game. However, I'm kind of stuck in here. I don't know how to get the values from the game.

Is there any way to effectively get the values that correspond to regular letters?

Thanks

Auryn

  • Hero Member
  • *****
  • Posts: 650
    • View Profile
Re: Berserk PS2 how to get the alphabet values?
« Reply #1 on: April 09, 2013, 03:21:39 am »
Just a very quick answer to you because i am going to work.
It's looking like the game is in normal Shift-JIS but each letter is separated by a E3.
Basically not all games accept ASCII even if they are programmed in SJIS and even less it's said that you have a full ASCII alphabet in the game.
You should find the font of the game and take a look what is inside of it.
If you have a name input screen, it's easy to find the values you are searching by parsing the savegame.

If the game doesn't accept ASCII, you need to put a 00 in front of the ASCII code or use the alphabet after 825F (see here: http://www.rikai.com/library/kanjitables/kanji_codes.sjis.shtml )

Anyway, i ever see a game that used that E3 as well and it was a game that accepted ASCII and SJIS.
It marked SHIS letter by putting a E3 at the beginnin of a SJIS sequence (not each letter like this game).
If it's really a custom table, you need to see if it has full alphabet in the font and find those values.
But i repeat, it's not said you have them and you need to use the one i pointed out in the last paragraph.

Gemini

  • Hero Member
  • *****
  • Posts: 2026
  • 時を越えよう、そして彼女の元に戻ろう
    • View Profile
    • Apple of Eden
Re: Berserk PS2 how to get the alphabet values?
« Reply #2 on: April 09, 2013, 04:46:47 am »
S-Jis? More like Unicode UTF8 with no lookup tables for 7-bit ASCII.
I am the lord, you all know my name, now. I got it all: cash, money, and fame.

Auryn

  • Hero Member
  • *****
  • Posts: 650
    • View Profile
Re: Berserk PS2 how to get the alphabet values?
« Reply #3 on: April 09, 2013, 05:21:55 pm »
haha, that's what i get for trying to help when i am busy going to work :p

Anyway that doesn't change much on the basic ideas i told you :)

Puck

  • Jr. Member
  • **
  • Posts: 26
    • View Profile
Re: Berserk PS2 how to get the alphabet values?
« Reply #4 on: April 09, 2013, 08:02:30 pm »
I did a few testing.

Using the codes recommended by Auryn resulted in a blank text.
Spoiler:


Adding a E3 as separation between the codes had the same result, blank.
Spoiler:



Adding 00 in front of the ASCII letters had the same result, blank.
Spoiler:


Adding 01 in front of the ASCII letters had a better result. The letters appeared normally until the F. The O letters doesn't show too good, it might be due to my emulator settings.
Spoiler:


EDIT:

I made another test.

Using the 01 in front of the values I changed a whole string. The result was the same as using regular ASCII values, only some letters appear as the rest are shown as Yen symbols.

Spoiler:


I also tried changing the cut-scenes text using the same 01 pattern but I just got a blank text. At the bottom of every text in the game there is something about the font.
Spoiler:

I'm stuck again with nowhere to go :(

April 09, 2013, 09:41:33 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
I think I found the font, well just the regular letters font. Using Tile Molester on the "misc.pac"file I find this.
Spoiler:

On Windhex it appears like this
Spoiler:

There are also two tim2 files on "misc.pac" of font. It has regular letters and katakana.
Spoiler:


 :-\ What can I do now?
« Last Edit: April 09, 2013, 09:47:25 pm by Puck »

Auryn

  • Hero Member
  • *****
  • Posts: 650
    • View Profile
Re: Berserk PS2 how to get the alphabet values?
« Reply #5 on: April 10, 2013, 02:53:46 pm »
i see kanjis on the first pics you posted but none in the font(s) you found, sadly none of them is the right one :(

Puck

  • Jr. Member
  • **
  • Posts: 26
    • View Profile
Re: Berserk PS2 how to get the alphabet values?
« Reply #6 on: April 10, 2013, 03:39:18 pm »
Then what can I do?  :-\

How come the game shows some of the ASCII letters but not all of them? Could it be possible they have a different values?  :banghead:

Can anyone help me out with this?  :'(

Jorpho

  • Hero Member
  • *****
  • Posts: 4762
  • The cat screams with the voice of a man.
    • View Profile
Re: Berserk PS2 how to get the alphabet values?
« Reply #7 on: April 10, 2013, 09:39:25 pm »
Have you checked the data from the English version of Sword of the Berserk for Dreamcast?

It is of course an entirely different game on an entirely different system, but maybe you'll get lucky and they will have recycled certain assets/structures.
This signature is an illusion and is a trap devised by Satan. Go ahead dauntlessly! Make rapid progres!

Auryn

  • Hero Member
  • *****
  • Posts: 650
    • View Profile
Re: Berserk PS2 how to get the alphabet values?
« Reply #8 on: April 11, 2013, 10:09:31 am »
I was looking at some youtube video.
The first font you found seem the "REVERSE" font while battle.
What you can do now?? Search more, on ps2 there are TIM2 image format, try those.
Without the game nobody can really help you.

Puck

  • Jr. Member
  • **
  • Posts: 26
    • View Profile
Re: Berserk PS2 how to get the alphabet values?
« Reply #9 on: April 11, 2013, 03:49:20 pm »
Unfortunately the Dreamcast Berserk game does not give a clue. It is different and I couldn't even located the text.

I tried changing the TIM2 font but it didn't show any change in the game whatsoever  :-\

It might be against the rule, but would it help if I upload the "even.pac" and "misc.pac" files? They are about 20-30mb
Perhaps someone could give me a hand with this  :P

I really don't know from where to continue the searching.

Auryn

  • Hero Member
  • *****
  • Posts: 650
    • View Profile
Re: Berserk PS2 how to get the alphabet values?
« Reply #10 on: April 11, 2013, 08:14:49 pm »
Well, maybe I write english not well but i mean to search for TIM2 and not to modify them.
It's useless to send those files to me, you are doing the work, we just give you tips.
Is there a name entry screen??

Puck

  • Jr. Member
  • **
  • Posts: 26
    • View Profile
Re: Berserk PS2 how to get the alphabet values?
« Reply #11 on: April 11, 2013, 09:45:43 pm »
I looked at the game in search of graphic files (tim2) and I found a couple hundreds of images, mostly textures and characters banners. There is the main menu in tim2 files, which is already in english. The only tim2 fonts are the ones I uploaded above.

No, there is no a name entry screen :(


Auryn

  • Hero Member
  • *****
  • Posts: 650
    • View Profile
Re: Berserk PS2 how to get the alphabet values?
« Reply #12 on: April 11, 2013, 10:56:13 pm »
Well, it's looking like you are doing something wrong  ::)


UPDATE:
yeap, here it's the confirmation:




[NOTE]: don't mind the 4 before the alphabet, it was to identify which phase was actually used in the game because you find many of them inside the pac files.

I don't know what you did. You was talking about a table you made to view the text, maybe something wrong there, you don't need any table.

UPDATE 2:
while i was writing the answer, i maybe found the problem but i don't know yet what is the right one. I believe that your first tries are been messed up by the space character (0x20).
If you take a look at the 2 fonts you found, you see that there is no empty space before the A.
I believe the real space character to be between the Z and the a (5A-61); you need to try them out.
Anyway: the game accepts ASCII (only the character you see on the small font naturally).
All english letters are there, now you need to try them out and find the rest.
Always look at the font pic, they are probably more or less in sequenze like the pic.
If you need to use a unicode character (the big font you found), you need to put that E3 in front of each character. Here the same as above apply, try, try, try.
I just remember you that like the "space" probably messed up your work, there could be other values that have different effect on the characters that follow so you maybe need to check value by value in some points of your search.

Good luck

« Last Edit: April 11, 2013, 11:30:53 pm by Auryn »

Puck

  • Jr. Member
  • **
  • Posts: 26
    • View Profile
Re: Berserk PS2 how to get the alphabet values?
« Reply #13 on: April 12, 2013, 12:31:02 am »
Wow, no wonder you're the Hero  :crazy:

I haven't tried to change the Menu. I will edit back if I got some result too. What offset exactly is that you modified? It is from misc.pac , right?

I made a custom table to start experimenting from somewhere, because WindHex didn't show me the text of the game so to start modifying I needed a clue where to begin.

What I'm afraid is that the "misc.pac" file has a lot of "ABC's" as when seen by a HEX editor. The "even.pac", file which has the text of the in-game battles does not. That might be the reason the same values does not work in other texts, although I can't be completely sure  :P


By the way, using the extractor "RRunpacker" I extracted the file "misc.pac" and I got a folder with presumably all the fonts of the game.


When opened the "TABL.ukn" in HEX editor on Unicode view it shows the following.


Anyways, I'll try your recommendations. Thanks for all the advising and help, now the Menu could be translated  :)

EDIT: Yeah, I edited the Menu settings.


However, when I tried the same method with "events.pac" I got the same result as always. Only the upper case letter "A B C D E F G H S V" and punctuation "?" worked.

I believe that the file "misc.pac" is allowed to use the ASCII font, but not in all parts as the cut-scene is in the same file and it does not shows any normal letter. There must be something that makes them able to use ASCII  :-\

could it be the alphabet at the end of the text, just above of "font_sample"?
« Last Edit: April 12, 2013, 01:26:42 am by Puck »

Auryn

  • Hero Member
  • *****
  • Posts: 650
    • View Profile
Re: Berserk PS2 how to get the alphabet values?
« Reply #14 on: April 12, 2013, 09:06:25 am »
I am on mobile in the train so I can not check anything.
Anyway, the best way to view the text is with madedit and choose utf-8 encoding.
If you habe a pac extractor it's good.
Well now you need to analize the file format of the subfile with the text. Compare one from one pac(the one with all letters) and one that hasn't.

Puck

  • Jr. Member
  • **
  • Posts: 26
    • View Profile
Re: Berserk PS2 how to get the alphabet values?
« Reply #15 on: April 12, 2013, 10:11:35 pm »
I checked every "font_sample" file and every one have a different size.

I tried inserting the alphabet of the option menu into "event.pac", but the game got stuck.



I might need a repacker that reassigned new pointers for each file inside event.pac , just so I could try if the inserting of the alphabet does something

But I have no idea how to do that  :-\
« Last Edit: April 12, 2013, 10:19:28 pm by Puck »

Auryn

  • Hero Member
  • *****
  • Posts: 650
    • View Profile
Re: Berserk PS2 how to get the alphabet values?
« Reply #16 on: April 13, 2013, 07:45:33 am »
With "comparing" i was not meaning only that "alphabet", but i was meaning starting from the magic work "PAC" (the first bytes in the files) and then byte by byte.
I could tell you already that what you tried would not work because you moved the data inside the file.

Puck

  • Jr. Member
  • **
  • Posts: 26
    • View Profile
Re: Berserk PS2 how to get the alphabet values?
« Reply #17 on: April 13, 2013, 11:38:48 pm »
I got some result, not very positive but some results. What I did was copying the "font" file of the menu that can be edited and pasted it over the font file of event.pac. There are several different font files inside of each "event.pac" and "misc.pac"





As you can see the ASCII letters worked and the Japanese got messed up. The bad part is that the font is translucent and there is no yellow over the character name.

EDIT: I tried with a savegame font and got a much better result. Although not every button appear and the letters looks weird. It might be due to my emulator.




I don't know if this is the right font, but I think I'm getting closer  :)

EDIT2: Same font but with the "right" text. I tried if every letter was recognized. The ASCII worked and the spaces too. I still think this font is not the right one, but I'm not sure yet for which one to replaced it with. The downside part is that this font is roughly 80kb, which the other dialogues uses less heavy fonts  :-\





What are your advices?
« Last Edit: April 14, 2013, 01:40:43 am by Puck »

Auryn

  • Hero Member
  • *****
  • Posts: 650
    • View Profile
Re: Berserk PS2 how to get the alphabet values?
« Reply #18 on: April 14, 2013, 07:39:58 am »
I am not really sure about what you are changing; are you still changing this??:

If yes, you have at least 1 pac file inside the misc.pac that you know has all the letters ( the one from the game options) so that it the source of your "font".
I don't have the game with me now but from my memory i never see those "ABCD...." that was cut after the F at first glance like the problem you had (yes, i know you found other letters after it).

First you need to compare that "source" font with the "defective" font inside the event.pac.
Are they the same?? what changes?? Are those values really cut after the "F"??
Can the "source" font be inserted in the space of the "defective" one without expanding the place??
Can the "source" font be cut so that it has only the latin letters??
If the answers to the last 2 question is no, you need to do what i told you in the last post and compare the sub-pac files from event.pac with misc.pac. I am pretty sure there will be a file size in the pac header that you need to correct if you expand the file and probably a pointer to the data after those "ABCD" that you need to repoint.

RetroHelix

  • Full Member
  • ***
  • Posts: 148
    • View Profile
Re: Berserk PS2 how to get the alphabet values?
« Reply #19 on: April 14, 2013, 08:45:58 am »
So you copied a font file (TIM2?) from somewhere else in the game over the font file for the events, right? And by doing so the text comes out messed up. This must be because the font file is just not suited for the text the game wants to display it with. If so there would have been just one font fine (most likely).
But from doing so you must know which font file is the one displayed in your images. Can't you just edit the font file instead of copying over others?