How to edit .jfnt and .dat file formats?

  • Thread starter Thread starter bilibili
  • Start date Start date
  • Views Views 902
  • Replies Replies 7

bilibili

New Member
Newbie
Joined
Oct 11, 2025
Messages
4
Reaction score
0
Trophies
0
XP
24
Country
United States
I am a huge fan of One Piece and Culdcept, and I want to translate these two 3DS games.

(1) One Piece: Super Grand Battle X – After unpacking the game, there are some .jfnt font files in the FONT folder, which are different from the commonly used .bcfnt files. I couldn't find any information online on how to edit .jfnt files. Does anyone know how to handle them?

(2) Culdcept Revolt – After unpacking the game, in the romfs folder, there are files like CULDCEPT.DAT, culd3.bcsar, and some .bcstm files. I know that .bcsar and .bcstm files are related to game audio, but I have no idea how to unpack the CULDCEPT.DAT file. Could anyone provide guidance? Thank you very much!
 

Attachments

  • jfnt.PNG
    jfnt.PNG
    4.4 KB · Views: 40
  • DAT.PNG
    DAT.PNG
    2.9 KB · Views: 39
  • jfnt.rar
    jfnt.rar
    927 KB · Views: 28
Last edited by bilibili,
.DAT isn't a "file format". It is an arbitrary three-letter designation selected by the developers, and the contents could be just about anything, including a completely custom format designed specifically for this game – in which case there's no way to "unpack" it except by reverse-engineering it from scratch.

The first place to look for something like this is usually https://aluigi.altervista.org/quickbms.htm , but there is no entry for either of these games.
 
.DAT isn't a "file format". It is an arbitrary three-letter designation selected by the developers, and the contents could be just about anything, including a completely custom format designed specifically for this game – in which case there's no way to "unpack" it except by reverse-engineering it from scratch.

The first place to look for something like this is usually https://aluigi.altervista.org/quickbms.htm , but there is no entry for either of these games.
Thank you for your answer. I am a student and just starting to learn about this field. I will study more.
 
I am a huge fan of One Piece and Culdcept, and I want to translate these two 3DS games.

(1) One Piece: Super Grand Battle X – After unpacking the game, there are some .jfnt font files in the FONT folder, which are different from the commonly used .bcfnt files. I couldn't find any information online on how to edit .jfnt files. Does anyone know how to handle them?

(2) Culdcept Revolt – After unpacking the game, in the romfs folder, there are files like CULDCEPT.DAT, culd3.bcsar, and some .bcstm files. I know that .bcsar and .bcstm files are related to game audio, but I have no idea how to unpack the CULDCEPT.DAT file. Could anyone provide guidance? Thank you very much!
.dat is a generic extension for binary files, you will have to check Google if either of those games have any specific modding/unpacking tools available as the file formats usually end up being custom to the particular engine used.
 
.dat is a generic extension for binary files, you will have to check Google if either of those games have any specific modding/unpacking tools available as the file formats usually end up being custom to the particular engine used.
Thank you for your reply.
Post automatically merged:

Culdcept Revolt CULDCEPT.DAT File Analysis Report
================================================================

Basic Information:
------------------
File: CULDCEPT.DAT
Size: 291464350 bytes (277.96 MB)
MD5: c27ff7e6c68ea643644d2567c00b0163
Game: Culdcept Revolt
Platform: Nintendo 3DS
Region: Japan

Key Findings:
-------------
1. File Structure: Header with index table followed by compressed data blocks
2. Compression Format: Confirmed LZ series compression (LZ10/LZ11 variants)
3. Data Characteristics: Found 260,325 compressed data blocks
4. Compression Headers: 0x10, 0x11, 0x12 (Standard Nintendo LZ headers)

Detailed Analysis:
------------------
- First 4 bytes: 0x18530000 -> Interpreted as 21,272 file entries
- Entropy Analysis: 6.09 (Medium compression)
- Observed Compression Ratios: 10-45% varying
- No known file format signatures found

Historical Context:
-------------------
NDS version "Culdcept DS" used Huffman+LZ compression
Decompression tool was developed by Theli with source code provided
3DS version likely uses similar technology

Attempted Decompression Methods:
--------------------------------
1. Standard LZ10 decompression - FAILED
2. Standard LZ11 decompression - FAILED
3. Various LZ variant attempts - FAILED
4. Huffman+LZ combination attempts - Need specific algorithm details

Technical Details:
------------------
File header structure (first 32 bytes):
00000000: 18 53 00 00 73 2E E4 00 18 02 E9 00 FC 05 01 00 .S..s...........
00000010: 8C 81 E4 00 23 30 01 00 B0 B1 E5 00 72 C8 00 00 ....#0......r...


Compressed block example locations:
- 0x00005800 (Header: 0x10)
- 0x0001cc00 (Header: 0x10)
- 0x000cb800 (Header: 0x11)
- 0x00026400 (Header: 0x12)

Help Requested:
---------------
1. Correct decompression algorithm implementation
2. Theli's NDS version tools or source code
3. 3DS version specific unpacking tools
4. Specific implementation of Huffman+LZ decompression


Any help would be greatly appreciated!
 

Attachments

Perhaps you would like to provide some detail regarding how you generated that "Report"..?
During a Google search, I came across a post about successfully cracking a specific .dat file with the help of AI. I then tried sending commands to the AI, and after analyzing the .dat file, the AI generated this report.
 

Site & Scene News

Popular threads in this forum