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

Author Topic: Star Ocean Blue Sphere Project Work & Analysis  (Read 5503 times)

abw

  • Full Member
  • ***
  • Posts: 156
    • View Profile
Re: Star Ocean Blue Sphere Project Work & Analysis
« Reply #20 on: June 05, 2018, 05:35:02 pm »
If anyone is interested in my tools (or their source code)
+
If you're interested in some PHP files (and a MySQL database) to edit the rest of the game, or even just to use as a reference (if you can manage to read tens of thousands of lines of ugly code written in a few weeks), just let me know.

(I had a lot of crashes along the way too. Most of them were bad pointers within the custom scripting engine of the game, or just bad reverse engineering of some bytecodes, sometimes overwriting other stuff accidentally... A quick look at my code seems to show there are at least 9 different bytecodes that serve as a pointer in one way or another.)
+
This is what I already have: all of the text already located and editable
=
It sounds like the game might have an interesting text system, and I've been making something of a side-hobby of those recently, but it's pretty time-consuming work. If you're willing to share some of what you've got (even ugly PHP code :P), I'd appreciate being able to snag a copy.

mz

  • Sr. Member
  • ****
  • Posts: 378
  • Whore
    • View Profile
Re: Star Ocean Blue Sphere Project Work & Analysis
« Reply #21 on: June 05, 2018, 06:03:38 pm »
It sounds like the game might have an interesting text system, and I've been making something of a side-hobby of those recently, but it's pretty time-consuming work. If you're willing to share some of what you've got (even ugly PHP code :P), I'd appreciate being able to snag a copy.
Sure, I'll gladly send it to you. I just have to wait for the rest of the "team" to see when it's better to make it public. (By the way, most of the games I've worked so far had this kind of events with hardcoded text within them.)

SOBS may be interesting for your tool since the text has some bytes that say "switch temporarily to this other table for one byte", which I think your tool can't handle yet.

June 05, 2018, 06:17:41 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
For example, this is the debug output of map 172: https://pastebin.com/jUxjMrSF (position 0x22d43c to 0x22f7ff within the Japanese ROM.)

And these are the 3 tables I used: https://pastebin.com/DN2Kr6Fs
« Last Edit: June 05, 2018, 06:17:41 pm by mz »
There has to be a better life.

Gemini

  • Hero Member
  • *****
  • Posts: 1990
  • 時を越えよう、そして彼女の元に戻ろう
    • View Profile
    • Apple of Eden
Re: Star Ocean Blue Sphere Project Work & Analysis
« Reply #22 on: June 05, 2018, 08:37:08 pm »
You should help out with one of the projects then.  ;)
Aaaand done, sent my inserter & dumper. :beer:

Maybe we could join all our efforts? A VWF from there, a decent translation from there, etc. :P
The problem with that is that the VWF code is not mine, I don't even have its sources. ev0 was the one in charge of it and you need a good summoning to lure him out of his cave nowadays.
I am the lord, you all know my name, now. I got it all: cash, money, and fame.

Specialkid1337

  • Jr. Member
  • **
  • Posts: 6
    • View Profile
Re: Star Ocean Blue Sphere Project Work & Analysis
« Reply #23 on: June 05, 2018, 11:41:27 pm »
*wakes up from Ogre Battle 64 stupor at 10:30 CST*
*sees PM from Gideon Zhi*
PogChamp PogChamp PogChamp
*sees massive amount of replies to this thread*

Alright I'm in, I can do the editing. I'll reply back to that PM right now.

"It's the fiiiinallll countdoooowwwwn..."  ;D ;D ;D
One baby step at a time...

abw

  • Full Member
  • ***
  • Posts: 156
    • View Profile
Re: Star Ocean Blue Sphere Project Work & Analysis
« Reply #24 on: June 06, 2018, 08:52:11 am »
Sure, I'll gladly send it to you. I just have to wait for the rest of the "team" to see when it's better to make it public. (By the way, most of the games I've worked so far had this kind of events with hardcoded text within them.)
Thanks! There's no rush for this - I've got plenty of other things to keep me occupied :P. That said, I might start poking around your map 172 example if I have time tonight.

SOBS may be interesting for your tool since the text has some bytes that say "switch temporarily to this other table for one byte", which I think your tool can't handle yet.
Oh, abcde can definitely handle that. While extracting from and inserting into Battle of Olympus's scripting engine, I had abcde swapping between 10 different tables, sometimes as many as 5 tables deep, using a variety of rules including "switch temporarily to this other table for a specific number of bytes" (for BoO, that meant 1 or 2 bytes depending on which control code was being handled), "switch temporarily to this other table for 1.6 times the value of the first byte" (Pascal strings with the string length counted in groups of 5 bits instead of 8 bits), and "switch temporarily to this other table until you match a specific token". All of those rules were purely table file based; the only BoO-specific code I wrote was for extracting embedded pointers from its 7 different pointer-related control codes.

mz

  • Sr. Member
  • ****
  • Posts: 378
  • Whore
    • View Profile
Re: Star Ocean Blue Sphere Project Work & Analysis
« Reply #25 on: June 06, 2018, 10:07:24 am »
Oh, abcde can definitely handle that.
Ah, that's amazing. I think I missed that part when I read about your project!

Now that you made me think about it, SOBS text system is very simple, I just wasn't very smart about it when I worked on it. abcde could probably handle everything in it, even those pointer-related control codes.

I'll just send you some files later, since everyone seems to have tools for this game anyway. :P By the way, can you tell me exactly what you're looking for? I could also send you files from my other projects if they're useful to you.

EDIT: sent them via PM!
« Last Edit: June 06, 2018, 05:12:23 pm by mz »
There has to be a better life.

abw

  • Full Member
  • ***
  • Posts: 156
    • View Profile
Re: Star Ocean Blue Sphere Project Work & Analysis
« Reply #26 on: June 06, 2018, 08:24:55 pm »
I'll just send you some files later, since everyone seems to have tools for this game anyway. :P By the way, can you tell me exactly what you're looking for? I could also send you files from my other projects if they're useful to you.

EDIT: sent them via PM!
Awesome, I'll take a look! :beer:

My goal is to make the most amazing script extraction/insertion utility EVAR so that nobody will need to write their own custom script extraction/insertion utility ever again and every game will be easy to hack and lollipops will rain down from the sky whenever you want them to and attractive members of your preferred sex(es) will flock to your side whenever you enter a room. I think I'm slowly making progress on at least one of those fronts :P.

Mostly I'm looking for more games with tricky text systems to use as test cases/direction for future improvements. One problem I have is that most of the English games I've looked at use fairly simple systems; I'd like to dig into some Japanese games, but being illiterate in Japanese makes it hard for me to verify whether anything I extract is actually right or not, so it's very helpful to have a verified script dump to compare against, especially if that dump contains enough information to be re-insertable.

mz

  • Sr. Member
  • ****
  • Posts: 378
  • Whore
    • View Profile
Re: Star Ocean Blue Sphere Project Work & Analysis
« Reply #27 on: June 06, 2018, 09:34:52 pm »
Ah, I understand now! That's a really impressive goal, I hope you succeed. :thumbsup:

Most of the other games I've translated have rather mundane text system. Fullmetal Alchemist (GBA) has something very similar to SOBS, and maybe Klonoa Heroes (GBA) with some custom compression stuff, but even those are nothing very interesting.

I think the most annoying part in most of these games has been to find all the pointers, store them in the correct format, etc. They're usually deep inside event code, and the fastest way to find them is just dump everything suspicious/probable and then remove the false positives manually.
There has to be a better life.

filler

  • RHDN Patreon Supporter!
  • Hero Member
  • *****
  • Posts: 792
  • "WINNERS DON'T SELL REPROS"
    • View Profile
    • Filler's Translation Projects
Re: Star Ocean Blue Sphere Project Work & Analysis
« Reply #28 on: June 06, 2018, 10:26:00 pm »
My goal is to make the most amazing script extraction/insertion utility EVAR so that nobody will need to write their own custom script extraction/insertion utility ever again...

I'm happy to discuss this elsewhere since it's off topic. I feel it necessary to mention something that it seems like no one takes into consideration when dumping Japanese scripts.

Most 8-bit games that deal with Japanese voiced characters (those with diacritics), place the diacritical mark on a separate font tile. In the script, when printed with a text routine, these marks normally appear directly before the unvoiced character, or directly after. There's a really easy way to deal with this when making a table file though I've never seen anyone other than myself make their tables this way.

Example:
Code: [Select]
06=か
063A=が
07=き
073A=ぎ
08=く
083A=ぐ

The above is an example of a script that places the diacritical mark ゛, here represented with 3A, after the unvoiced character. When the script is dumped with this table file, the character appears properly as が, as opposed to か゛.

This is mostly useful in doing copy/paste dictionary look-ups, but I can't imagine even the most experienced professional translator doesn't at least occasionally need to look up vocab. The fact that voiced characters are almost never properly dumped unnecessarily wastes the time of translators IMO.

Another common instance is fixed length text that places diacritics on a preceding line.

For example:
Code: [Select]
//     ゛ ゛          
//    こですが、かいますか?   

The above text from Magic Knight Rayearth on the Game Gear is 18 characters long, and places diacritics on the line immediately preceding the unvoiced characters.

I recently wrote a dumper for Saint Tail on the Game Gear in PHP, mostly because it uses some weird padding, which I wrote to deal with these use cases, including diacritics that appear on a line 2 lines preceding the unvoiced characters as indicated below.

Code: [Select]
    ゛      
($08)($A5)($08)($BE)($00)($BF)($00)($C0)($00)($C1)($00)($C2)($00)($C3)($00)($C4)($00)($A5)
  ミニケーム 1  

It dumps the text properly as follows:
Code: [Select]
  ミニゲーム 1  [BR]

I'd expect a dumper to be able to handle these cases, and others that arise, concerning voiced characters.

4l3j4ndr0

  • Newbie
  • *
  • Posts: 2
    • View Profile
Re: Star Ocean Blue Sphere Project Work & Analysis
« Reply #29 on: July 31, 2018, 08:57:10 pm »
...
« Last Edit: August 17, 2018, 10:01:34 pm by 4l3j4ndr0 »

4l3j4ndr0

  • Newbie
  • *
  • Posts: 2
    • View Profile
Re: Star Ocean Blue Sphere Project Work & Analysis
« Reply #30 on: August 08, 2018, 09:05:27 am »
...
« Last Edit: August 17, 2018, 10:01:59 pm by 4l3j4ndr0 »