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

Author Topic: Need help with Super Robot Wars Alpha 3  (Read 6188 times)

Nakago

  • Jr. Member
  • **
  • Posts: 21
    • View Profile
Need help with Super Robot Wars Alpha 3
« on: August 04, 2013, 03:23:20 am »
Hi,
This is my first attempt at hacking a ps2 game.
So far, I succeeded in changing the title screen, the options menu screen, and some stage names into english.
My problem editing the japanese text. I've tried hex editing, but that made the game not start.
The file I was trying to edit was SLPS_255.37, which contains quite a number of data such as the command menus,
Character guide menu, sound select menu, among other stuff. I've tried replacing the name コウ into Kou. The first
name to appear on the character guide menu. I even tried using the Shift JIS equivalent of the latin letters.
Still nothing, the game would just go to the browser screen.
I've tried opening the file with ps2dis, nothing appeared.
At this point, I'm not sure what to do.
Sadly, there is no documentation on ps2 hacking.
My intention, at least for now, is changing the menus into english.

Here are some screenshots of what I've done so far.
http://s19.photobucket.com/user/ZGMF-X13A/media/gsdx_20130804021648.png.html
http://s19.photobucket.com/user/ZGMF-X13A/media/gsdx_20130804022124.png.html
http://s19.photobucket.com/user/ZGMF-X13A/media/gsdx_20130804022311.png.html

I'm still working on the stage names.

Ryusui

  • Hero Member
  • *****
  • Posts: 4989
  • It's the greatest day.
    • View Profile
    • Tumblr
Re: Need help with Super Robot Wars Alpha 3
« Reply #1 on: August 04, 2013, 03:32:42 am »
Might this be of any use?

http://watercrown.info/media/srwhires.png

I shopped it from Atlus's official "Super Robot Taisen" logo a few years back. :3
In the event of a firestorm, the salad bar will remain open.

Scio

  • Full Member
  • ***
  • Posts: 155
    • View Profile
Re: Need help with Super Robot Wars Alpha 3
« Reply #2 on: August 04, 2013, 05:52:25 pm »
Hi there.

By switching two characters (コウ) with three (Kou), you probably broke one of the pointers (you know what pointers are, right?). In the initial stages of hacking a game, we usually do tests by changing text by the same ammount of letters, just to see if we found the right text. So, try to write "Ko" instead of "Kou" and see if it changes. I believe you should look into what are pointers and pointer tables before doing any hex editing. It makes this kind of work a lot easier.

About documentation. If you already found where the text is, and it's not compressed, the same principles of hacking on most platforms apply: pointer tables, little endian, etc. The console-specific things that may give you a little headache are rebuilding the filesystem, and doing an Assembly hack.

Xalphenos

  • Jr. Member
  • **
  • Posts: 99
    • View Profile
Re: Need help with Super Robot Wars Alpha 3
« Reply #3 on: August 05, 2013, 02:06:48 am »
Hi there.

By switching two characters (コウ) with three (Kou), you probably broke one of the pointers (you know what pointers are, right?).
Except that two SJIS characters would allow him four Latin non sjis characters.  So the first test he did wasn't switching two characters with three it was changing 4 bytes with 3.  But otherwise I agree you should keep string lengths the same for this initial test.  Some strings have there length marked somewhere and if the size doesn't match exactly you get a crash.  So for latin characters add a space to the end of it "Kou " or for the sjis equivalents just use "Ko". 
Some other things that might be going on:
Make sure your hex editor is set to type over and not insert.  You don't want to change the file length.  Your pretty much guaranteed a crash.  This also means no deleting unused bytes.  So if you typed in "Kou" and deleted the next unused byte you just changed the file size.
There could be a checksum in which case you are not going to edit anything in the main executable without asm hacking.

Scio

  • Full Member
  • ***
  • Posts: 155
    • View Profile
Re: Need help with Super Robot Wars Alpha 3
« Reply #4 on: August 05, 2013, 04:36:56 pm »
I always forget Shift-JIS uses two bytes instead of one.

tryphon

  • Hero Member
  • *****
  • Posts: 722
    • View Profile
Re: Need help with Super Robot Wars Alpha 3
« Reply #5 on: August 05, 2013, 06:59:57 pm »
Nothing ensures the game is able to handle 1 byte encoding. If I were the OP, I'd try to change the 2 katakanas with 'KO' SJIS-encoded (that is, 2 SJIS glyphs vs. 2 SJIS glyphs).

If this doesn't work (ie nothing appears, but the game doesn't crash), that means the latin glyphs are not present in the font (which would be surprising : at least some latin characters are are present most of the time. You must then find the font, discard some japanese glyphs and draws latin ones instead. But then, you'll refer to these latin chars using the SJIS code of the japanese chars you deleted.

You can try ASCII too, in a second attempt (to ensure the latin chars are present). If it doesn't  work, that means the game engine doesn't handle ASCII. You'll need ASM skills to change that, if needed. PS2DIS will be your best friend then :)

Nakago

  • Jr. Member
  • **
  • Posts: 21
    • View Profile
Re: Need help with Super Robot Wars Alpha 3
« Reply #6 on: August 06, 2013, 01:08:27 am »
Nothing ensures the game is able to handle 1 byte encoding. If I were the OP, I'd try to change the 2 katakanas with 'KO' SJIS-encoded (that is, 2 SJIS glyphs vs. 2 SJIS glyphs).


If this doesn't work (ie nothing appears, but the game doesn't crash), that means the latin glyphs are not present in the font (which would be surprising : at least some latin characters are are present most of the time. You must then find the font, discard some japanese glyphs and draws latin ones instead. But then, you'll refer to these latin chars using the SJIS code of the japanese chars you deleted.

You can try ASCII too, in a second attempt (to ensure the latin chars are present). If it doesn't  work, that means the game engine doesn't handle ASCII. You'll need ASM skills to change that, if needed. PS2DIS will be your best friend then :)

I've tried that, same result. It sends me to the browser screen after the playstation 2 logo appears. I even tried fixing a typo for one of the songs on the sound select menu, same result.


Klarth

  • Sr. Member
  • ****
  • Posts: 495
    • View Profile
Re: Need help with Super Robot Wars Alpha 3
« Reply #7 on: August 06, 2013, 05:36:24 am »
Replace コウ with ココ.  If the game skips straight to browser, it almost certainly means the game (or the PS2 itself, perhaps) checks for a CRC/checksum which becomes invalidated by any modification to the PS2 exe that you perform.

Nakago

  • Jr. Member
  • **
  • Posts: 21
    • View Profile
Re: Need help with Super Robot Wars Alpha 3
« Reply #8 on: August 06, 2013, 10:16:13 am »
Replace コウ with ココ.  If the game skips straight to browser, it almost certainly means the game (or the PS2 itself, perhaps) checks for a CRC/checksum which becomes invalidated by any modification to the PS2 exe that you perform.
I would seem that reinserting the modified file is what causes it to go to the browser screen. I reinserted to unmodified one and it worked again.
I've tried editing the iso directly and it worked, however it displays nothing when using one byte latin characters.

tryphon

  • Hero Member
  • *****
  • Posts: 722
    • View Profile
Re: Need help with Super Robot Wars Alpha 3
« Reply #9 on: August 06, 2013, 04:23:41 pm »
This is not surprising (for the 1 byte latin).

How do you reinsert file ? I use UltraIso and it always worked fine...

Nakago

  • Jr. Member
  • **
  • Posts: 21
    • View Profile
Re: Need help with Super Robot Wars Alpha 3
« Reply #10 on: August 07, 2013, 12:25:07 am »
This is not surprising (for the 1 byte latin).

How do you reinsert file ? I use UltraIso and it always worked fine...
I used game graphic studio for extracting and reinserting the file.

Nakago

  • Jr. Member
  • **
  • Posts: 21
    • View Profile
Re: Need help with Super Robot Wars Alpha 3
« Reply #11 on: August 30, 2013, 02:16:20 pm »
I'm having some problems finding the pointers.
I want to edit the battle menu, but I don't have enough space to properly change the names.
There is a 2 byte gap between words.
Here is the offset on the iso 004c6b98 if anyone is curious.