Home Page
  • March 19, 2024, 04:18:43 am *
  • Welcome, Guest
Please login or register.

Login with username, password and session length
Advanced search  

News:

Official site launch very soon, hurrah!


Author Topic: Venus & braves  (Read 24468 times)

venusbraves

  • Newbie
  • *
  • Posts: 3
    • View Profile
Venus & braves
« on: December 16, 2009, 02:57:41 pm »

Hi!

I'm planing create a translation project for the ps2 game "Venus & Braves".
http://en.wikipedia.org/wiki/Venus_&_Braves

Files:

0000302 , >:SLPS_251.96
0002719 , >:IRXATAD.IRX
0002725 , >:IRXDEV9.IRX
0002732 , >:IRXHDD.IRX
0002747 , >:IRXICON.SYS
0002748 , >:IRXINET.IRX
0002817 , >:IRXINETCTL.IRX
0002830 , >:IRXLIBNET.IRX
0002833 , >:IRXLIBSD.IRX
0002847 , >:IRXMCMAN.IRX
0002894 , >:IRXMCSERV.IRX
0002898 , >:IRXMSIFRPC.IRX
0002902 , >:IRXNETCNF.IRX
0002934 , >:IRXNETCNFIF.IRX
0002944 , >:IRXNUSNDSTR.IRX
0002976 , >:IRXNUSOUND.IRX
0003011 , >:IRXPADMAN.IRX
0003033 , >:IRXPFS.IRX
0003058 , >:IRXPPP.IRX
0003108 , >:IRXPPPOE.IRX
0003117 , >:IRXSIO2MAN.IRX
0003121 , >:IRXSMAP.IRX
0003130 , >:IRXSYS_NET.ICO
0002701 , >:IRXUSBD.IRX
0002694 , >:IRXUSBKB.IRX
0002564 , >:IRXDNAS255.IMG
1814911 , >:SYSTEM.CNF


0003147 , >:IMAGE BGMIMAGE.BIN
0970548 , >:IMAGE CDIMAGE.BIN
1152992 , >:IMAGE MOVIMAGE.BIN



I need check those .bin files.

Any ideas?

Thanks! :)
« Last Edit: December 16, 2009, 02:59:52 pm by venusbraves »
Logged

Dakusan

  • Programmer Person
  • Administrator
  • Hero Member
  • *****
  • Posts: 534
    • View Profile
    • Dakusan's Domain
Re: Venus & braves
« Reply #1 on: December 16, 2009, 09:01:31 pm »

The first thing you should try is just doing a general binary search of all the files for 1-3 lines of text (or substrings of them) in the game. Don't forget to do it in all possible expected formats (ascii, UTF8, UTF16, JSHIFT, etc). That should help you find the file you need. The files could also be compressed though, and if so, hopefully just in a standard format like gzip. If so, just uncompress all the files first before doing the searches. If they use their own special kind of encoding though for dialog, it gets much, much harder. Fortunately, I would guess games these days don't need that kind of micro-optimization like they did in the NES/SNES days.

Can't really suggest anything else without actually seeing the contents of the game myself, and even then, I wouldn't have time to do much beyond make basic suggestions of where you could go with it.
Logged

venusbraves

  • Newbie
  • *
  • Posts: 3
    • View Profile
Re: Venus & braves
« Reply #2 on: December 17, 2009, 08:49:35 am »

Thanks for your answer :)

In these days they usually aren't worry for the size thanks to dvd media storage. I remember the NES days... this translation was 4 years ago:

http://nesstarwars.tripod.com/

and was a pain :)

Inside MOVIMAGE.BIN I found this using Hex Workshop:

................................/home/tsuyoshi/venus/MoviePack/moviefilelist.txt./home/tsuyoshi/venus/smv/ex01.smv./home/tsuyoshi/venus/smv/ex02.smv./home/tsuyoshi/venus/smv/mv01.smv./home/tsuyoshi/venus/smv/mv02.smv./home/tsuyoshi/venus/smv/mv03.smv./home/tsuyoshi/venus/smv/mv04.smv./home/tsuyoshi/venus/smv/mv05.smv./home/tsuyoshi/venus/smv/mv06.smv./home/tsuyoshi/venus/smv/mv07.smv./home/tsuyoshi/venus/smv/mv08.smv./home/tsuyoshi/venus/smv/mv09.smv./home/tsuyoshi/venus/smv/mv09_nps.smv./home/tsuyoshi/venus/smv/op01.smv./home/tsuyoshi/venus/smv/op02.smv./home/tsuyoshi/venus/MoviePack/moviefilelist.txt.# sound fat use 16....................

This is good news but how can I split them and join them when the translation is finished?

Do you know a good web site where increase my knowledge about this topic, is my first project in PS2.

thanks for your time :)
Logged

Dakusan

  • Programmer Person
  • Administrator
  • Hero Member
  • *****
  • Posts: 534
    • View Profile
    • Dakusan's Domain
Re: Venus & braves
« Reply #3 on: December 17, 2009, 08:42:11 pm »

I can't recommend any good websites on the topic because everything I've ever done on it I've just figured out myself. Reverse engineering is a pure game of guessing, testing, trial, and error. It's all about making logic jumps with something you have and then confirming if it's what you think it is, and if not, refining your ideas. You might get lucky and find some utilities or tutorials out there to help you with what you want, but I can't really help you there. I personally use WinHex (for hex editing) and OllyDbg (for x86 disassembly and real time debugging) for my projects, but I doubt either of those will help you much.

I am assuming that by "translation project" you mean written text only, and not movies :-O. Doing audio or adding subtitles to a video is a whole nother ballgame.

I believe you are taking the harder approach, namely, recreating the file. To do this, you probably need to figure out everything about the format and exactly how it works. The easiest way, I would imagine, is just editing the file in place. (I have never actually tried doing a game translation myself, as I only really know English  :) , so this is all conjecture).

After finding the data files with the text you want translated (which I described in my first reply), my thought is that there are 3 ways translation strings would be looked up in the data file, which would dictate how you could edit them.
  • By string index from the game itself (0, 1, 2, etc). This would require (most likely) that the game would have to pre-load all the offsets of the stings (finding every start of every string) for quick lookup during gameplay, and would probably not be used because of that. This would make life easiest for you because then you could just edit the strings in place and can make them as long or as short as you want to (deleting or adding bytes along the way would not affect things).
  • By string byte offset. This is the method that I would guess is most likely used. There will either be a string byte lookup index somewhere, or the byte offsets are directly compiled into the game itself. With this method, you can edit the files in place, and there should never be any problem as long as your translated strings are always shorter than the original strings, and you pad them at the end. However, if you wanted to make them longer than the original string, you would have to start editing the string offsets. This would be easy if it used, and you could locate, the string lookup index (hex searches), but if it is compiled into the actual program (less likely if the game has multiple translations already), then you would have to search for the offsets in the code and replace them there, which you could get false positives.
  • By string "name". This option is much like #2 in which there would be a string byte lookup index by the string name (as opposed to just a list of offsets), and would probably be the easiest method for finding where strings are and updating their offsets. This could also be done in parallel arrays (one list of string names, one list of string offsets.)
So again, it's all just a game of looking at the data and seeing what you can figure out. The easiest starting place, IMO, would be to find a single line of text in the game and just editing it a bit to see what happens.


As for figuring out the file's format, you might get lucky and the format might match what I found for my http://www.castledragmire.com/Projects/HackPics project (which is how I assumed you found me). They are both PS2 games after all... But yeah... its just a matter of figuring out the formats and writing your own utilities in your language of choice for splitting them apart and putting them back together. Perl is great for that kind of thing in a way, but it also has its limitations and slowness, especially when working with large data sets. I'd stay stick with C/C++ for something like this due to the need to work on the numerical byte level.
Logged

Dakusan

  • Programmer Person
  • Administrator
  • Hero Member
  • *****
  • Posts: 534
    • View Profile
    • Dakusan's Domain
Re: Venus & braves
« Reply #4 on: December 17, 2009, 08:49:54 pm »

To answer your question in another way... you could just try editing those files directly and have them link to another path... and see what happens. You have to be careful about keeping them the same size of bytes with padding though as there is probably an offset index somewhere that you would have to edit otherwise (unless that "." in your strings is actually a null terminator, in which case you wouldn't have to probably). It's always easier working on files in place than recreating them from scratch. If you do recreate them from scratch though, you don't always have to figure out what EVERYTHING means, and you can sometimes just copy bytes, but it could cause problems if some things aren't changed that need to be.
Logged

venusbraves

  • Newbie
  • *
  • Posts: 3
    • View Profile
Re: Venus & braves
« Reply #5 on: December 18, 2009, 02:28:35 pm »

OMG

Thanks for all your help. Now I'm just looking for ideas and trying to find an easy way.

Wii games are really cool for translations, just a single file with all the text in ascii and without worries about the file size.

However PS2 is a nightmare, the .bin files are complete differents among games.

Try to avoid reverse engineering is a priority, This game has a lot of text to translate and require time.

But this is a hobby, no deadline to complete :) someday will be done.

Thanks and... is true I found you with HackPics project :)
Logged

Dakusan

  • Programmer Person
  • Administrator
  • Hero Member
  • *****
  • Posts: 534
    • View Profile
    • Dakusan's Domain
Re: Venus & braves
« Reply #6 on: December 18, 2009, 08:53:03 pm »

Good luck :-)
Logged