Hacking Final Fantasy Type-0 RomHacking

SkyBladeCloud

Well-Known Member
OP
Member
Joined
Oct 7, 2010
Messages
452
Trophies
0
Age
33
XP
1,420
Country
YES, WOOOT!!

Now there is more English text in the game than Japanese, awesome Sean, Adams and the rest of the team!

EDIT:

Btw, I was checking out the new revisions, and I've spotted a pair of problems with separators that could potentially make reinsertion a pain in the future:

In problem 1, one separator is missing:

cd5z.png


In Problem 2, two "separator" are added from no where (0_0'?) and one of them is wrong anyway since it does not have the correct format:

ogyr.png



Here you can see that an intervention from Celestia was created with the wrong format, and another one from Tonogiri, with the correct format.

As of now, this breaks reinsertion. Could this possibily be a boycott attempt by an undercovered team member that is actually from Square Enix? DUN DUN DUN... xD

(BTW people, this take 0.137 seconds to fix, so no worries xD)

~Sky
 

SkyBladeCloud

Well-Known Member
OP
Member
Joined
Oct 7, 2010
Messages
452
Trophies
0
Age
33
XP
1,420
Country
Well, it's been a long time since I last had a look at a yu-gi oh game... But no... Here in Type-0 the problem is that the game loads a so many assets (textures, 3D models, text, etc...) that the PSP can hardly hold them all at the same time (that's why sometimes the game can lag even on official hardware). The Crimson Codex is one of the largest files to be loaded by the game, and it's static, meaning that it will never be deleted from RAM, even during a battle, for example, that there is no way to check the CC out (so yeah, in some places the game could unload the Crimson Codex to free up resources).

The problem was that, the more we translate, the bigger the CC becomes. At one point, the game stopped booting because it had no RAM left to load the CC. It was fixed with 2 memory optimization I implemented on the game (actually they apply for all texts in the game, so the benefits are even bigger):

-Load in ram texts only once -> before this hack, all texts were loaded once per occurrence, so for example, if 2 characters say the same, the same text would be loaded twice in RAM. With my hack, they are only loaded once, I then I use a pointer refference, so the second character reads its text from the same memory position than the first one. Obviously, this can only done for repeated text, for perfects occurrences (which believe it or not, are pretty common).

-The second optimization is an ASM hack. Basically, this game had the problem that uses an optimized, custom encoding, that uses 1 byte for hiraganas, and two for the rest of the font. So each Japanese text can take one or 2 bytes, while latin text always take 2 bytes per character. This is a waste of memory, and I fixed it tweaking the encoding, so it uses 1 single byte for latin characters, and 2 for the rest of the font.

In case of yu-gi oh, IIRC the problem is that the game performs a LBA integrity check (many games do that, tales of VS and FF4, for example), but i don't really remember the details. In any case, there should be 2 ways of fixing that. Either updating the integrity check (so it matches the new data), or removing it via ASM.

~Sky

EDIT: Ok, the question this was an answer to was deleted... oh well... xD

...
 

toroal

Active Member
Newcomer
Joined
Sep 4, 2013
Messages
31
Trophies
0
Age
37
Location
Imperatriz
XP
72
Country
Brazil
Well, it's been a long time since I last had a look at a yu-gi oh game... But no... Here in Type-0 the problem is that the game loads a so many assets (textures, 3D models, text, etc...) that the PSP can hardly hold them all at the same time (that's why sometimes the game can lag even on official hardware). The Crimson Codex is one of the largest files to be loaded by the game, and it's static, meaning that it will never be deleted from RAM, even during a battle, for example, that there is no way to check the CC out (so yeah, in some places the game could unload the Crimson Codex to free up resources).

The problem was that, the more we translate, the bigger the CC becomes. At one point, the game stopped booting because it had no RAM left to load the CC. It was fixed with 2 memory optimization I implemented on the game (actually they apply for all texts in the game, so the benefits are even bigger):

-Load in ram texts only once -> before this hack, all texts were loaded once per occurrence, so for example, if 2 characters say the same, the same text would be loaded twice in RAM. With my hack, they are only loaded once, I then I use a pointer refference, so the second character reads its text from the same memory position than the first one. Obviously, this can only done for repeated text, for perfects occurrences (which believe it or not, are pretty common).

-The second optimization is an ASM hack. Basically, this game had the problem that uses an optimized, custom encoding, that uses 1 byte for hiraganas, and two for the rest of the font. So each Japanese text can take one or 2 bytes, while latin text always take 2 bytes per character. This is a waste of memory, and I fixed it tweaking the encoding, so it uses 1 single byte for latin characters, and 2 for the rest of the font.

In case of yu-gi oh, IIRC the problem is that the game performs a LBA integrity check (many games do that, tales of VS and FF4, for example), but i don't really remember the details. In any case, there should be 2 ways of fixing that. Either updating the integrity check (so it matches the new data), or removing it via ASM.

~Sky

EDIT: Ok, the question this was an answer to was deleted... oh well... xD

...
This means that not just the translators are having hard work.
Fight on Team!
 

Muhammad Syafiq

Well-Known Member
Newcomer
Joined
Dec 3, 2012
Messages
56
Trophies
0
Age
33
XP
128
Country
Malaysia
Trust me, this is so far the only translation thread which makes me happy everytime i read the update
We all really owe your time spending on this translation!!!
Thx very much!!
 
  • Like
Reactions: Adams

LanHikari

Member
Newcomer
Joined
Aug 8, 2013
Messages
11
Trophies
0
XP
50
Country
...Could this possibily be a boycott attempt by an undercovered team member that is actually from Square Enix? DUN DUN DUN... xD

(BTW people, this take 0.137 seconds to fix, so no worries xD)

~Sky

It's only to test the waters. Now they know you know, they'll be going all out. Have a safe Christmas guys, and watch out for Meteors!

Remember to buy Phoenix Downs during the after-Christmas sale!
 

Adams

Active Member
Newcomer
Joined
Oct 27, 2013
Messages
39
Trophies
0
Age
38
XP
193
Country
United States
YES, WOOOT!!

EDIT:

Btw, I was checking out the new revisions, and I've spotted a pair of problems with separators that could potentially make reinsertion a pain in the future:

In problem 1, one separator is missing:


In Problem 2, two "separator" are added from no where (0_0'?) and one of them is wrong anyway since it does not have the correct format:

Here you can see that an intervention from Celestia was created with the wrong format, and another one from Tonogiri, with the correct format.

As of now, this breaks reinsertion. Could this possibily be a boycott attempt by an undercovered team member that is actually from Square Enix? DUN DUN DUN... xD

(BTW people, this take 0.137 seconds to fix, so no worries xD)

~Sky



SKY-

For revision 1066 you'll notice that the name tag is actually on line 16029 to the right of the text for some reason. I moved it down.
For revision 1067 you'll notice that the name tag for <Celestia></> on line 45687 corresponds to line 45687 of Revision 1066.
Comparing revision 1066 and 1067, you can see that line 45685 matches on both and 45703 matches on both. Between these lines there is a lot of spacing that looks confusing, but there are the same amount of name tags on both revisions.
 
  • Like
Reactions: SkyBladeCloud

SkyBladeCloud

Well-Known Member
OP
Member
Joined
Oct 7, 2010
Messages
452
Trophies
0
Age
33
XP
1,420
Country
Thanks Admas, the other problem is that the Celestia separator had some missing dashes, so it appears as an edited line in the diff report. Just fixed it ;)

Sky
 
  • Like
Reactions: toroal

LoyalZero1

Former Videogame & Movie News Super Blogger
Member
Joined
Aug 27, 2013
Messages
193
Trophies
0
Age
46
Location
Orlando, Florida
XP
268
Country
United States
It's only to test the waters. Now they know you know, they'll be going all out. Have a safe Christmas guys, and watch out for Meteors!

Remember to buy Phoenix Downs during the after-Christmas sale!

Intentional sabotage by SE? Maybe. But i'd think there's a more direct way they'd do it if they wanted to. I guess. :sleep:
 

CaptainGenesis

Member
Newcomer
Joined
Feb 2, 2013
Messages
24
Trophies
0
XP
123
Country
Damn, I'm gonna have to get a move on with merging the isos together as I suck at stuff like that - it could very well take me longer to do that, than it will take for you guys to finish translating :O
 

LoyalZero1

Former Videogame & Movie News Super Blogger
Member
Joined
Aug 27, 2013
Messages
193
Trophies
0
Age
46
Location
Orlando, Florida
XP
268
Country
United States
So it was a joke then? I see. Well, that's good to know. And it takes quite a bit of my paranoia about the subject away too. :lol:

I haven't even started merging the isos either. I figure i'd wait until just before the project finishes... just in case Sky changes the size of the merged iso for the patch or something. I don't know if that would affect it or not, but I don't want to have to do it again.
 
  • Like
Reactions: zfreeman

Kurt91

Well-Known Member
Member
Joined
Sep 9, 2012
Messages
589
Trophies
1
Age
33
Location
Newport, WA
XP
2,242
Country
United States
Regarding what you were saying regarding the Crimson Codex always being loaded into RAM even when it can't be accessed, is that something that you can change to free up RAM space, or is that going to have to be in the finished version as well? You were saying how it makes the game lag a bit on real hardware, and I thought it would be rather interesting if a fan-translation patch winds up running better than the original game.
 

LanHikari

Member
Newcomer
Joined
Aug 8, 2013
Messages
11
Trophies
0
XP
50
Country
Regarding what you were saying regarding the Crimson Codex always being loaded into RAM even when it can't be accessed, is that something that you can change to free up RAM space, or is that going to have to be in the finished version as well? You were saying how it makes the game lag a bit on real hardware, and I thought it would be rather interesting if a fan-translation patch winds up running better than the original game.
That'd be the best translation ever.:lol:
If only something like that would happen to Mana Khemia... oh well. Having Type-0 translated to English is the most important part, right?:yaypsp:
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    SylverReZ @ SylverReZ: https://www.youtube.com/watch?v=95eUhuR8_ps