SOL Trigger
|
|
ムギ | Date: Sunday, 2013-04-21, 8:37 PM | Message # 1 |
Rank: Nerdy Presence
Messages: 203
Reputation: 2
Status: Offline
|
well, this wasnt much of an obstacle really... relevant data is in /USRDIR/GAMEDATA/TEXT/
Quote (TPK Container Header) header consists of 12 bytes;
0x00: 5A5A 5A30 [file header 4 bytes] 0x04: Uncompressed Filesize [4 bytes] 0x08: Unknown 4 bytes, seems to always be 0400 0000
The remaining bytes are the contents of the TPK Container. compression seems to be lossy zLib (SIG=7801)
Quote (/USRDIR/GAMEDATA/TEXT/A_WAY_00_C00.TPK) ワイルたちが墜とした空母か…… ワイルたちもここを通ったのかな。 ……ファレル。 今朝の話、覚えているか? 今朝の話? おまえの……交友関係だ。 ああ、うん。 でも、どういう意味だ? そんなことが重要なのか? ああ、この上なく、重要だ。 …… 『黄金のソール』── あれはおまえ一人では発現しない。 信頼し合う男と女がいて 初めて輝くもの。 そう……なのか? でもそんなこと、いつわかった? ワイルが教えてくれたんだ。 記録を残してくれた。 そうか…… ああ、今のおまえなら、できる。 黄金のソールはおまえのものだ。 いや、ちょっと待ってくれ。 ワイルは黄金のソールを 見たことがなかったはずだ。 発現の方法を知っていたのに どうして── ワイルには、相手がいなかった。 信頼しあい、深い絆で結ばれた、相手がな。 やれるか、エマ。 うん、ファレルと一緒なら どこまでもいけるよ! やれるか、ソフィ。 問題ないわ! 大丈夫だ。 あいつなら、きっと―― ……ふふ、ワイル。 もう、だいじょうぶだ。 なんだかうれしそうだねヴァルター。 ああ、いい気分だ。
|
|
| |
ムギ | Date: Monday, 2013-04-22, 7:00 PM | Message # 2 |
Rank: Nerdy Presence
Messages: 203
Reputation: 2
Status: Offline
| well it turned out it was just a little more annoying than it needed to be.
The game checks it's files against an internal TOC during boot refusing to boot and crashing the PSP if there is a mismatch.
Quote (UMD LBA Protection(eboot.BIN)) Nametable: 0x1A0298
table start: 0x1E6188 table end: 0x1F3CC4
Table structure: Filename position [4-byte value] (Relative) ! File Start position in sectors [4-byte value] (Absolute) !! File size [4-byte value] (Absolute) Legend: - Relative = treats 0x00 as the start of the containing file. (eboot.bin) - Absolute = treats 0x00 as .iso file start.
! this offset is misaligned by 0xC0 bytes (size of the .elf header of eboot.bin) pattern: name position address from table + 0xC0
!! multiply by 800 [hex]to gain real start address.
Attached is the original LBA Extracted from eboot.bin.
Note: the protection LBA omits following files;
\UMD_DATA.BIN \PSP_GAME\SYSDIR\OPNSSMP.BIN \PSP_GAME\SYSDIR\EBOOT.BIN \PSP_GAME\SYSDIR\UPDATE\PARAM.SFO \PSP_GAME\SYSDIR\UPDATE\EBOOT.BIN \PSP_GAME\SYSDIR\UPDATE\DATA.BIN
I will describe the process of editing the script data (/GAMEDATA/TEXT/*.tpk) once i have confirmed all it's data.
With this it should be possible to produce a full or near-full translation of this game.
|
|
| |
ムギ | Date: Wednesday, 2013-04-24, 10:19 PM | Message # 3 |
Rank: Nerdy Presence
Messages: 203
Reputation: 2
Status: Offline
| /GAMEDATA/TEXT/*.TPK General Filestructure.
Uncompressing a .tpk file will reveal a script binary. The .bin file consists of 2 parts
TPK Header
BIN File: 1) script offset data 2) Script data
Example file: H_SPC_00_C00.tpk
Quote (Header) 0x00: 9A84 0400 0100 0000 3000 0000 485F 5350 0x10: 435F 3030 5F43 3030 2E42 494E 0000 0000 0x20: 0000 0000 0000 0000 0000 0000 0000 0000
0x00: file signature [4-bytes] it seems to always be 9A84 0400 0x04: Number of files (Hex) [4-bytes] 0x08: File start address [4-bytes] 0x0C: Filename [n-bytes]
[0x08 - 0x0n] pattern repeats for as many times as there are files in the .bin there usually is only one file, but several archives, such as the font container have multiple files inside.
Quote (Script Offset data) 0x30: D401 0000 0C00 0000 0000 0000 0000 0000 0x40: 6024 4577 501D 0000 0000 0000 0000 0000 0x50: 6124 4577 681D 0000 0000 0000 0000 0000 0x60: 6224 4577 841D 0000 0000 0000 0000 0000 ... ... ...
0x30: Number of entries 0x34: Unknown value (doesn't need to be modified)
0x40: Script index [4-bytes] i dont know the function but it does not need to be modified. ! 0x44: String start address [4-bytes] !!!
Each entry is 16 bytes long, but only uses 8 bytes per entry, the remaining 8 bytes are zeroes. ! I believe this is a pointer to reference the script to the associated graphic and configuration data of the event.
!!! This offset is misaligned by size of the BIN header Pattern: offset + size of header.
Quote (Script data) ... ... ... 0x1D60: 834C E805 AC95 0000 0000 0000 0000 0000 0x1D70: 844C E805 F495 0000 0000 0000 0000 0000 -- last entry of Script offset data.
0x1D80: E5AB 81E3 8395 E383 A9E3 82B0 EFBC 9AE3 0x1D90: 82A8 E383 9E00 0000 E5AB 81E3 8395 E383 0x1DA0: A9E3 82B0 EFBC 9AE3 82BD E383 95E3 82A3
0x1D80: script String [n-bytes] !!!
!!! Length is not defined, script offsets only consist of start address and are being read until reaching 00(hex)
Proof of concept:
Pay no attention to bad inaccuracies, this is ran through google translator only to illustrate the functionality of above data.
Note: i am aware that the monospaced font is rather unpleasant. the game's font is a bitmap .fnt file which is rebuildable. i will examine it on a later date.
Original Script // Test file.
|
|
| |
0toshigami | Date: Thursday, 2013-06-13, 8:48 PM | Message # 4 |
Rank: Newcomer
Messages: 5
Reputation: 0
Status: Offline
| Hi there, I'm trying to translate this game to my language, and I dont know how to recompress this file (*.Bin) after I'm decompress *.TPK file, can u help me,plz? And sorry for my bad english
|
|
| |
ムギ | Date: Thursday, 2013-06-13, 9:29 PM | Message # 5 |
Rank: Nerdy Presence
Messages: 203
Reputation: 2
Status: Offline
| the compression of the tpk files is zlib, you can use simplyzip to recompress it
|
|
| |
0toshigami | Date: Friday, 2013-06-14, 10:49 AM | Message # 6 |
Rank: Newcomer
Messages: 5
Reputation: 0
Status: Offline
| Thanks for help me. But: First, I decompress by Python, and I have the file (SAVELOAD.BIN), and I started to edit some text in this file
http://i1091.photobucket.com/albums/i391/oOooSUNooOo/help_zps3a30459f.png
And question is: How do I compress it (*.BIN to *.TPK) like that:
http://i1091.photobucket.com/albums/i391/oOooSUNooOo/help1_zpse2888129.png
And how can I use simplyzip to recompress it?
Plus, can u tell me how do u do it? http://mce.do.am/_fr/0/s5394247.jpg
sorry for bothering you
Message edited by 0toshigami - Friday, 2013-06-14, 7:13 PM |
|
| |
ムギ | Date: Friday, 2013-06-14, 9:12 PM | Message # 7 |
Rank: Nerdy Presence
Messages: 203
Reputation: 2
Status: Offline
| like i said, download simplyzip.
in the menu "external programs" there is zlib compression/decompression select compression, then select your bin file, and click compress.
then rename the file back to how it originally was
|
|
| |
0toshigami | Date: Saturday, 2013-06-15, 8:14 AM | Message # 8 |
Rank: Newcomer
Messages: 5
Reputation: 0
Status: Offline
| I did just like what you said ( Used simplyzip to recompress file *.bin and renamed the file that I had just recompressed to *.TPK) but, when I put it again to my psp, I got this error "The game could not be started (80010002)"
Can you upload your file ( Example file: H_SPC_00_C00.tpk )? I want to know how did you compress it. Thanks for Replying
Originally:
http://i1091.photobucket.com/albums/i391/oOooSUNooOo/H_zpsbef469bc.png
Edited and Compressed:
http://i1091.photobucket.com/albums/i391/oOooSUNooOo/H2_zps808b6dfb.png
And Why I can not use HTML code? ( [img] [*/img] )
Message edited by 0toshigami - Saturday, 2013-06-15, 10:02 AM |
|
| |
ムギ | Date: Saturday, 2013-06-15, 12:44 PM | Message # 9 |
Rank: Nerdy Presence
Messages: 203
Reputation: 2
Status: Offline
| did you change the TOC in the eboot ?
it lists all files and their sizes and if the size of the file you edit changes you need to patch the TOC in the eboot to respond to that too, othervise the game doesnt work. See post 2
|
|
| |
0toshigami | Date: Saturday, 2013-06-15, 2:24 PM | Message # 10 |
Rank: Newcomer
Messages: 5
Reputation: 0
Status: Offline
| I don't understand how to change TOC in the eboot Can u help me, plz? I really really want to translate this game...
|
|
| |