Create and Import 3D Fonts - defterai/StarCitizenModding GitHub Wiki

Create and edit 3D fonts

Work in progress...

Import 3D fonts into game

Convert 3D font file to .dae

Import glyph from .dae into game 3D font files

  • Download modding tools package and find importer tool apps/cfg-converter-3d-font/cfg-converter.exe
  • Open directory with importer tool in command line
  • Execute importer tool with parameters to extend original 3D game font:

cfg-converter.exe <input cga file path> -outdir <output dir path> -extendfontfile <input dae file path>

Example usage:

cfg-converter.exe "D:\InnerThought\Orbitron.cga" -outdir "D:\InnerThought\out" -extendfontfile "D:\InnerThought\Orbitron.dae"

where:

  • D:\InnerThought\Orbitron.cga - path to original game Orbitron.cga, Orbitron.cgam files (both should be in the same directory)
  • D:\InnerThought\Orbitron.dae - path to .dae file with new glyph
  • D:\InnerThought\out - directory where put extended Orbitron.cga, Orbitron.cgam

Update game 3D font mapping and dimensions

  • Open UTF-8 glyph helper application from modding tools package apps/utf8-glyph-helper/Utf8GlyphHelper.exe and copy all characters needed for your 3d font into first field
  • Copy content of second field to Notepad and save it to extracted modding tools package scripts folder as codepoints.txt
  • Use Python script from modding tools package scripts/build-font-config.py to generate 3D font configurations from codepoints.txt
  • Put content of result scrips/font_map.config.xml file into localization data/config.xml Font mapping node and save it
  • Open glyph dimension configuration file data/UI/GlyphMetrics/orbitron-light.dat with apps/font-dimentions-editor/FontDimensionsEditor.exe editor from modding tools package, and save it as xml.
  • Open exported xml from previous step in Notepad and add content from scrips/font_dim.config.xml inside it
  • Import modified xml to FontDimensionsEditor and save it as data/UI/GlyphMetrics/orbitron-light.dat.
  • Test in game your 3D font and adjust glyph dimensions inside FontDimensionsEditor