Modifying the CCM file content to add support for unkown languages in Dark Souls 1
Note
This is an initial version of the application, and due to time constraints, I haven't had enough time to test it thoroughly. Please report any issues you encounter so I can try to fix them in future releases
special thanks to JKAnderson for the SoulsFormats library And Yabber program. The CCM Reader inspiration from JKAnderson's CCM1 implementation within the SoulsFormats library.
I simply compiled the sourse code with GCC.
gcc -o CCMChanger CCM_Changer.c
CCMChanger DS.ccm Ds.txt
To modify the game's font, you primarily need two types of files: a .CCM file and an .fnt file.
- This is the game's main font configuration file.
- Location: Found within the game's installation directory, under the font subfolder.
- For UI and menu fonts : Dark Souls Remastered\font\japanese\DSFont24.ccm.dcx
- For dialogue fonts : Dark Souls Remastered\font\english\TalkFont24.ccm.dcx
- These files are compressed with the .dcx extension. You must first unpack them using the Yabber tool.
- The extracted .ccm file serves as the first input for your font injection program or tool.
- This file contains the specifications for your custom font, which you intend to use as a replacement.
- It is typically created using a program like BMFont Generator. When generating a font with this tool, you receive two output files: a font texture image file (.dds) and the font configuration file (.fnt).
- The .fnt file serves as the second input for your font injection program or tool.
Warning
Make sure to change the .fnt file extension to .txt.
- In the "Export Options" section:
- Texture Width/Height: The image dimensions must be 1024x1024 pixels.
- File Format: Select XML as the file format.
- Textures: The output texture type should be dds, and its compression format should be DXT5.
- You might need to remove certain lines from the beginning and end of the .fnt file generated by BMFont Generator to ensure it matches the structure required by your tool. (Similar to the reference image).
+
- In the same game font folders (japanese or english), you will find files with names similar to the .ccm.dcx files but with the .tpf.dcx extension, These files contain the font's .dds textures.
- Unpack these .tpf.dcx files using the Yabber tool as well.
- Inside the extracted folder, locate the original font's .dds image file (it often has a name containing multiple zeros).
- Replace the original .dds file with your custom .dds file created by BMFont Generator. Crucially: Rename your custom .dds file to exactly match the name of the original .dds file.
- After making your changes and replacing the necessary files (both injecting the .fnt into the .ccm via your tool and replacing the .dds file), you need to repack the modified folders back into the .dcx format using Yabber. For details on the repacking procedure, consult the Yabber tool's documentation.