Skip to content

Commit 88a8bf8

Browse files
2 parents 75a6898 + 6e9f359 commit 88a8bf8

1 file changed

Lines changed: 55 additions & 0 deletions

File tree

README.md

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
# CCBUtils
2+
3+
CCBUtils is a pair of utilities that handle the proprietary CyberConnect2 Batch (CCB) archives found within Solatorobo: Red the Hunter.
4+
For the first time, these utilities make it possible to not only extract these files, but reconstruct them with modifications.
5+
6+
## What do these tools do?
7+
8+
CCB Extractor can extract every file from every CCB file in the game* and decompress it appropriately. Correct extraction and decompression
9+
was verified by comparing the extracted files with those extracted by Console Tool, which was the only existing tool that could properly work
10+
with these archives. The output is identical.
11+
12+
CCB Constructor can compress files appropriately and create CCB archives that can be re-inserted into the game's ROM. Even when modified, these files are seen as valid
13+
by the game engine and are 100% compatible with the game's code.
14+
15+
## What do these tools NOT do?
16+
17+
CCB Extractor does not currently have the option to leave extracted files in their compressed state, it will always decompress them before writing.
18+
19+
CCB Constructor does not produce output CCB files that are perfectly byte-matching with the originals, even when no modifications have been made to them.
20+
This is due to differences in the exact compression algorithms used by me for this project and those used by the game's developers. This likely cannot be
21+
fixed without trial and error, and will <i>not</i> be a priority to fix, as the compressed data is still valid and decompresses perfectly.
22+
23+
Neither of these tools allow you to extract files from or re-insert files within a DS ROM. You must use an external tool for that.
24+
25+
## What questions are still to be answered?
26+
27+
No tests have been done yet on a ROM without an anti-piracy patch, and there does not seem to be much available information on how exactly the game's
28+
anti-piracy check works.
29+
30+
I made the bold claim earlier that CCB Extractor and CCB Constructor work perfectly with every CCB archive in the game. This has not been tested fully,
31+
and it is not currently known if there are any CCB files that differ in some way from the expected format.
32+
33+
## Build instructions
34+
35+
This project was designed to be built with MinGW for Cygwin for Windows binaries, or Linux using the g++ compiler. However, it will likely compile under any
36+
C++ compiler.
37+
38+
### Cygwin instructions
39+
40+
```
41+
x86_64-w64-mingw32-g++ --static -o CCB[UTIL_NAME].exe CCB[UTIL_NAME].cpp
42+
```
43+
44+
### Linux instructions
45+
46+
```
47+
g++ --static -o CCB[UTIL_NAME] CCB[UTIL_NAME].cpp
48+
```
49+
50+
## Special Thanks
51+
52+
I would like to take a moment to thank @PeterLemon for taking the time to put together his <a href="https://github.com/PeterLemon/Nintendo_DS_Compressors">Nintendo_DS_Compressors</a>
53+
repository. I can take absolutely no credit for the LZ11 and RLE compression and decompression functions used in these utilities as they are almost exactly the same as the original
54+
code written by @PeterLemon. Using this C code saved me so much time, and allowed me to focus on my goal of actually documenting and modding this game rather than trying to wrap
55+
my thick skull around binary compression algorithms.

0 commit comments

Comments
 (0)