2,051
edits
(Different grouping) |
m (colour -> color) |
||
(2 intermediate revisions by one other user not shown) | |||
Line 7: | Line 7: | ||
=== V1/V2 charset format === | === V1/V2 charset format === | ||
The V1 and V2 font format is identical to that found in V3 games; the big difference is that in V1 and V2, the font is not stored in the game data files, but rather is hardcoded into the executable | The V1 and V2 font format is identical to that found in V3 games; the big difference is that in V1 and V2, the font is not stored in the game data files, but rather is hardcoded into the executable. | ||
Therefore, ScummVM has to include fonts for the various versions of the two affected games (Maniac Mansion and Zak McKracken). The fonts differ depending on the localization of the game. | Therefore, ScummVM has to include fonts for the various versions of the two affected games (Maniac Mansion and Zak McKracken). The fonts differ depending on the localization of the game. | ||
Currently, ScummVM includes fonts for english, french, german, italian and spanish game variants. It is not known whether there were other localizations, but if you encounter any make sure to tell the team about it! | Currently, ScummVM includes fonts for english, french, german, italian and spanish game variants. It is not known whether there were other localizations, but if you encounter any make sure to tell the team about it! | ||
Another minor difference compared to the V3 format is that all characters are exactly 8x8 pixels big. Thus the font is always monospaced, unlike V3 fonts. | |||
=== V3 charset format === | === V3 charset format === | ||
Line 42: | Line 44: | ||
|2 || || unknown | |2 || || unknown | ||
|- | |- | ||
|15 || bytes || | |15 || bytes || color map | ||
|- | |- | ||
|1 || byte || number of bits per pixel | |1 || byte || number of bits per pixel | ||
Line 55: | Line 57: | ||
Character glyphs may be 1, 2, 4 or 8 bits per pixel, and can be masked. | Character glyphs may be 1, 2, 4 or 8 bits per pixel, and can be masked. | ||
The | The color map contains the colors each pixel of the character glyph | ||
is drawn as. Pixel value 0 is used for transparency; the other values are | is drawn as. Pixel value 0 is used for transparency; the other values are | ||
mapped using the color map in the header. | mapped using the color map in the header. | ||
The character data pointers contain the offset, relative to the byte | The character data pointers contain the offset, relative to the byte | ||
after the end of the | after the end of the color map (byte 29), of the character data. | ||
This can be 0 if that particular character is not encoded in the character | This can be 0 if that particular character is not encoded in the character | ||
set. The character data itself is formatted as follows: | set. The character data itself is formatted as follows: | ||
Line 121: | Line 123: | ||
|2 || short || version ? (always 0x6303 in dott) | |2 || short || version ? (always 0x6303 in dott) | ||
|- | |- | ||
|15 || bytes || | |15 || bytes || color map | ||
|- | |- | ||
|1 || byte || number of bits per pixel | |1 || byte || number of bits per pixel |
edits