in any case if people want to do full translation. the first and second game uses CPK (criware) to store data. the images are stored in *.GIM image format. some have and don't have text in it..
the file also uses a *.bnd file that store JSON files and others. but these JSON files also store some texts outside of the images (*.GIM)
---Header -> fixed 16 bytes
Magic (int32):0x00444E42 (BND)
Version? (int32): must be a version value
Info Offset (int32): jumps to 0x10 (not a ideal name but just a made up one)
Table Offset (int32): jumps to 0x20 (table of contents area.)
--- Info Offset -> fixed 16 bytes
??? (int32): either this part is a table section size or an offset leads to the starting point of entry info.. or something, can't confirm
Chunks (int32): jumps to where all data is stored
Padding (8 bytes): probably used in game. so skipping it.
```
Tables Section (Table of Content/TOC) area [0x20]
--- Table Offset
Total files (int32): all files, excluding directories
Total entries (int32): all entries, including dirs
[
Hash (uint32): checksum value, crc32. used for both directory and filename (strings)
Entry Info Offset (int32): pointer to an entry info section
File Offset (int32)
File Size (int32)
]
--- Entry Info Offset
???: 3 bytes of unknown data
Entry Offset (int32): just a pointer back that goes to itself in the table section
Filename (char[]): read until null terminated (utf-8)
--- Reading Hash (sorting, useful on where to put files on extraction)
use crc32 checking to match directory + filename
? [directory string] + [filename string] + [entry hash value] = [result]
? bad result?, try to use other directory string until you find a match
- Thanks for edness from XeNTaX Discord for the help
in any case if people want to do full translation. the first and second game uses CPK (criware) to store data. the images are stored in *.GIM image format. some have and don't have text in it..
the file also uses a *.bnd file that store JSON files and others. but these JSON files also store some texts outside of the images (*.GIM)
---Header -> fixed 16 bytes
Magic (int32):0x00444E42 (BND)
Version? (int32): must be a version value
Info Offset (int32): jumps to 0x10 (not a ideal name but just a made up one)
Table Offset (int32): jumps to 0x20 (table of contents area.)
--- Info Offset -> fixed 16 bytes
??? (int32): either this part is a table section size or an offset leads to the starting point of entry info.. or something, can't confirm
Chunks (int32): jumps to where all data is stored
Padding (8 bytes): probably used in game. so skipping it.
```
Tables Section (Table of Content/TOC) area [0x20]
--- Table Offset
Total files (int32): all files, excluding directories
Total entries (int32): all entries, including dirs
[
Hash (uint32): checksum value, crc32. used for both directory and filename (strings)
Entry Info Offset (int32): pointer to an entry info section
File Offset (int32)
File Size (int32)
]
--- Entry Info Offset
???: 3 bytes of unknown data
Entry Offset (int32): just a pointer back that goes to itself in the table section
Filename (char[]): read until null terminated (utf-8)
--- Reading Hash (sorting, useful on where to put files on extraction)
use crc32 checking to match directory + filename
? [directory string] + [filename string] + [entry hash value] = [result]
? bad result?, try to use other directory string until you find a match
- Thanks for edness from XeNTaX Discord for the help
Hi and ye, i was tried to do a translation on the MK-2 game since someone from the XeNTaX discord make a JSON scrip to extract all the text from the files, and then realized that, like i said above, I couldnt translate the game fully since it will cut sentences because 1 line in japanese equals to 2 or more in english, so i dropped it.
Then someone else contacted me about and that person was doing something with the thing i did and create this.
A bit of off-topic, but im doing a texture pack for the MK-2 game since it have other tips(?) and images.
Seemingly out of nowhere a PC port for Pokemon Platinum has surfaced online, bundled alongside the source code for those interested in building and developing it for...
With very little in the way of announcement, Valve has today increased the price of the Steam Deck but some fairly considerable margins. Both of the available models...
Nintendo's expected Summer showcase is here, offering up plenty of new announcements and exciting reveals. Let's see what they have in store in the latest Nintendo...
Continuing with the great news of Pokémon Platinum getting a native unofficial PC port just a few days ago, today, yet another classic title from the franchise has...
The latest in a growing number of native PC ports, Paper Mario ReCut got its first pre-release build earlier this week. Based on the N64 recompilation toolchain, the...
When you talk about 3DS emulation, most people would jump to Citra. As the defacto choice since its first release it's seen tremendous success, and even after its...
What once seemed like a far off dream, and after many, many community restarts throughout the years, the elusive Mother 1 / EarthBound Beginnings Remake, which is a...
After much speculation, a lot of which being caused by dbrand's unceremonious reveal of their Companion Cube casing, the Steam Machine is finally available to order...
A whole hour of PlayStation content is on the way, thanks to the latest State of Play showcase. Headlining the stream will be Marvel's Wolverine, alongside a...
Since being decompiled Super Mario 64 has seen a considerable amount of interest. We've had multiple PC ports, but the efforts beyond that are really astounding. It's...
After much speculation, a lot of which being caused by dbrand's unceremonious reveal of their Companion Cube casing, the Steam Machine is finally available to order...
With very little in the way of announcement, Valve has today increased the price of the Steam Deck but some fairly considerable margins. Both of the available models...
Nintendo's expected Summer showcase is here, offering up plenty of new announcements and exciting reveals. Let's see what they have in store in the latest Nintendo...
Seemingly out of nowhere a PC port for Pokemon Platinum has surfaced online, bundled alongside the source code for those interested in building and developing it for...
With rumours circulating about a Nintendo Direct in the coming days and weeks, fans are left speculating and hoping as to what might be included. At the centre of all...
The delays may be behind us, but the news isn't all good for Grand Theft Auto VI. Rockstar have today announced that pre-orders for the game will go live tomorrow, on...
The latest in a growing number of native PC ports, Paper Mario ReCut got its first pre-release build earlier this week. Based on the N64 recompilation toolchain, the...
A whole hour of PlayStation content is on the way, thanks to the latest State of Play showcase. Headlining the stream will be Marvel's Wolverine, alongside a...
After much speculation and rumour, the fabled Nintendo Direct is upon us. Set to go live tomorrow, the 9th of June, at 3pm in the UK, it'll feature 50 minutes of...
Following an investigation over misleading commercial practices, today Nintendo has been imposed a fine of 35 million euros related to the controller malfunctions...