Telltale Games FONT: Difference between revisions

From XentaxWiki
Jump to navigation Jump to search
imported>Ikskoks
imported>Ikskoks
 
(48 intermediate revisions by the same user not shown)
Line 4: Line 4:
* ''' Format Type ''':    Font <br>  
* ''' Format Type ''':    Font <br>  
* ''' [http://en.wikipedia.org/wiki/Endianness Endian Order] ''': Little Endian <br>
* ''' [http://en.wikipedia.org/wiki/Endianness Endian Order] ''': Little Endian <br>
* ''' Signature ''':    VSM / 5VSM / 6VSM <br>  
* ''' Signatures ''':    VSM / 5VSM / 6VSM / ERTM <br>  




=== Format Specifications ===  
=== Format Specifications (5VSM) ===  


<div class="toccolours mw-collapsible" id="mw-customcollapsible-myDivision" style="width:800px; overflow:auto;">
<div class="toccolours mw-collapsible" id="mw-customcollapsible-myDivision" style="width:1000px; overflow:auto;">
<pre>
<pre>
// Telltale's FONT file format (version 10)
// Telltale's FONT file format (version 10)
Line 17: Line 17:
// header
// header
4 bytes (char) - signature // e.g. "5VSM"
4 bytes (char) - signature // e.g. "5VSM"
4 bytes (uint32) - iamge data offset?
4 bytes (uint32) - total size of info structures (info_table_size + coordinates_table_size + images_info_size)
4 bytes (uint32) - nulls
4 bytes (uint32) - nulls
4 bytes (uint32) - data size?
4 bytes (uint32) - total image data size
4 bytes (uint32) - font version  // e.g. 10 - Batman
4 bytes (uint32) - font version  // e.g. 10 - Batman
120 bytes - unknown




// info
// info table
120 bytes - unknown
4 bytes (uint32) - name+sizes length
4 bytes (uint32) - some length
4 bytes (uint32) - font name length
4 bytes (uint32) - font name length
x bytes (char) - font name  // e.g. "Gotham Light_60"
x bytes (char) - font name  // e.g. "Gotham Light_60"
Line 32: Line 32:
4 bytes(uint32) - coordinates table length
4 bytes(uint32) - coordinates table length
4 bytes (uint32) - number of entries in coordinates table
4 bytes (uint32) - number of entries in coordinates table


// coordinates table
// coordinates table
num_of_entries *
num_of_entries *
{
{
  // float coordinates can be converted to integers using image width and image height
  // e.g.  x_start = 0.65625 * 512 = 336
   4 bytes (uint32) - symbol's utf-8 code  // e.g. 78 for "N"  
   4 bytes (uint32) - symbol's utf-8 code  // e.g. 78 for "N"  
   4 bytes (uint32) - texture number  // usually 0 or 1
   4 bytes (uint32) - texture number  // usually 0 or 1
   4 bytes (uint32) - HZ / Channel
   4 bytes (uint32) - HZ / Channel
   4 bytes (uint32) - w_start
   4 bytes (float) - w_start (X start)
   4 bytes (uint32) - w_end
   4 bytes (float) - w_end (X End)
   4 bytes (uint32) - h_start
   4 bytes (float) - h_start (Y start)
   4 bytes (uint32) - h_end
   4 bytes (float) - h_end (Y end)
   4 bytes (uint32) - width
   4 bytes (float) - width
   4 bytes (uint32) - height
   4 bytes (float) - height
   4 bytes (uint32) - kern_left_side
   4 bytes (float) - kern_left_side (X offset)
   4 bytes (uint32) - to_top
   4 bytes (float) - to_top (Y offset)
   4 bytes (uint32) - width with kerning
   4 bytes (float) - width with kerning (X Advanced)
}
}
// images info
4 bytes (uint32) - image info length
4 bytes (uint32) - number of images
num_of_images *
{
  // image header
  4 bytes (uint32) - unknown  // 8
  4 bytes (uint32) - unknwon  // 8
  4 bytes (uint32) - unknown  // 273
  4 bytes (uint32) - unknown  // 8
  4 bytes (uint32) - platform  // 2 - PC
                                // 7, 9 - iOS
  4 bytes (uint32) - name+sizes length
  4 bytes (uint32) - font name length
  x bytes (char) - font name  // e.g. "MenuBodyLarge.font"
  4 bytes (uint32) - name+sizes length
  4 bytes (uint32) - source file path length
  x bytes (char) - source file path  // e.g. "C:/Program Files/Telltale Games/Telltale Tool/t3/Temp/Gotham Light_0.tga"
  // image info (144 bytes)
  4 bytes (uint32) - unknown
  4 bytes (uint32) - unknown  // 1
  4 bytes (uint32) - image width
  4 bytes (uint32) - image height
  100 bytes - unknown
  4 bytes (uint32) - image data size
  24 bytes - unknown
}
1 byte (uint8) - unknown  // 48
// data
num_of_images *
{
  x bytes - image data
}
</pre>
</div>
=== Format Specifications (ERTM) ===
<div class="toccolours mw-collapsible" id="mw-customcollapsible-myDivision" style="width:1000px; overflow:auto;">
<pre>
// Telltale's FONT file format (ERTM)
// header
4 bytes (char) - signature // e.g. "ERTM"


// TODO
// TODO
Line 61: Line 115:
List of games using this file format:
List of games using this file format:
* Batman: The Telltale Series (PC) (*.FONT) ("5VSM" signature, version 10)
* Batman: The Telltale Series (PC) (*.FONT) ("5VSM" signature, version 10)
* Puzzle Agent (PC) (*.FONT) ("ERTM" signature)


=== QuickBMS Script ===  
=== QuickBMS Script ===  
Line 69: Line 124:


* [https://github.com/pashok6798/TTG_Tools TTG Tools]
* [https://github.com/pashok6798/TTG_Tools TTG Tools]
* [https://github.com/LucasSaragosa/TelltaleToolLib TelltaleToolLib]
<br/><br>
<br/><br>




[[Category:Complete WIP|Telltale Games FONT]]
[[Category:Complete Almost Done|Telltale Games FONT]]
[[Category:Platform PC|Telltale Games FONT]]
[[Category:Platform PC|Telltale Games FONT]]
[[Category:CE None|Telltale Games FONT]]
[[Category:CE None|Telltale Games FONT]]

Latest revision as of 08:43, 23 July 2022

Back to index | Edit this page

FONT

  • Format Type : Font
  • Endian Order : Little Endian
  • Signatures : VSM / 5VSM / 6VSM / ERTM


Format Specifications (5VSM)

// Telltale's FONT file format (version 10)
// Based on font from "Batman: The Telltale Series"


// header
4 bytes (char) - signature // e.g. "5VSM"
4 bytes (uint32) - total size of info structures (info_table_size + coordinates_table_size + images_info_size)
4 bytes (uint32) - nulls
4 bytes (uint32) - total image data size
4 bytes (uint32) - font version  // e.g. 10 - Batman
120 bytes - unknown


// info table
4 bytes (uint32) - name+sizes length
4 bytes (uint32) - font name length
x bytes (char) - font name  // e.g. "Gotham Light_60"
1 byte (uint8) - check flag?
16 bytes - unknown
4 bytes(uint32) - coordinates table length
4 bytes (uint32) - number of entries in coordinates table


// coordinates table
num_of_entries *
{
   // float coordinates can be converted to integers using image width and image height
   // e.g.  x_start = 0.65625 * 512 = 336

   4 bytes (uint32) - symbol's utf-8 code  // e.g. 78 for "N" 
   4 bytes (uint32) - texture number  // usually 0 or 1
   4 bytes (uint32) - HZ / Channel
   4 bytes (float) - w_start (X start)
   4 bytes (float) - w_end (X End)
   4 bytes (float) - h_start (Y start)
   4 bytes (float) - h_end (Y end)
   4 bytes (float) - width
   4 bytes (float) - height
   4 bytes (float) - kern_left_side (X offset)
   4 bytes (float) - to_top (Y offset)
   4 bytes (float) - width with kerning (X Advanced)
}


// images info
4 bytes (uint32) - image info length
4 bytes (uint32) - number of images

num_of_images *
{
   // image header
   4 bytes (uint32) - unknown  // 8
   4 bytes (uint32) - unknwon  // 8
   4 bytes (uint32) - unknown  // 273
   4 bytes (uint32) - unknown  // 8
   4 bytes (uint32) - platform  // 2 - PC
                                // 7, 9 - iOS
   4 bytes (uint32) - name+sizes length
   4 bytes (uint32) - font name length
   x bytes (char) - font name  // e.g. "MenuBodyLarge.font"
   4 bytes (uint32) - name+sizes length 
   4 bytes (uint32) - source file path length
   x bytes (char) - source file path  // e.g. "C:/Program Files/Telltale Games/Telltale Tool/t3/Temp/Gotham Light_0.tga"

   // image info (144 bytes)
   4 bytes (uint32) - unknown
   4 bytes (uint32) - unknown  // 1
   4 bytes (uint32) - image width
   4 bytes (uint32) - image height
   100 bytes - unknown
   4 bytes (uint32) - image data size
   24 bytes - unknown
}
1 byte (uint8) - unknown  // 48


// data
num_of_images *
{
   x bytes - image data
}

Format Specifications (ERTM)

// Telltale's FONT file format (ERTM)

// header
4 bytes (char) - signature // e.g. "ERTM"

// TODO

Notes and Comments

  • This file format occurs in games made by Telltale Games.

Games

List of games using this file format:

  • Batman: The Telltale Series (PC) (*.FONT) ("5VSM" signature, version 10)
  • Puzzle Agent (PC) (*.FONT) ("ERTM" signature)

QuickBMS Script

Not written yet.

Compatible Programs