mirror of https://github.com/OpenTTD/OpenTTD
(svn r2879) Major step twoards ISO-8859-15
Add several missing chars: - Š/š (S with hacek, all sizes) - Ž/ž (Z with hacek, all sizes) - Œ/œ (OE ligature, all sizes) - Ð/ð (eth, large font was missing) - Þ/þ (thorn, large font was missing) - º (male ordinal sign, all sizes) Also move Ÿ (Y with umlaut, all sizes) to the correct position in the charset To add some chars it was necessary to shuffle some OTTD specific chars (arrows, transport type markers) aroundrelease/0.4.5
parent
c1f4acd4a0
commit
ae49d487cc
BIN
data/openttd.grf
BIN
data/openttd.grf
Binary file not shown.
6
gfx.c
6
gfx.c
|
@ -1627,15 +1627,15 @@ void LoadStringWidthTable(void)
|
|||
|
||||
// 2 equals space.
|
||||
for (i = 2; i != 226; i++) {
|
||||
*b++ = (i < 93 || i >= 129 || i == 98) ? GetSprite(i)->width : 0;
|
||||
*b++ = (i < 93 || i > 113) && i != 116 && i != 117 && (i < 123 || i > 131) && (i < 151 || i > 153) && i != 155 ? GetSprite(i)->width : 0;
|
||||
}
|
||||
|
||||
for (i = 226; i != 450; i++) {
|
||||
*b++ = (i < 317 || i >= 353) ? GetSprite(i)->width + 1 : 0;
|
||||
*b++ = (i < 317 || i >= 354) && i != 367 && (i < 375 || i > 377) && i != 379 ? GetSprite(i)->width + 1 : 0;
|
||||
}
|
||||
|
||||
for (i = 450; i != 674; i++) {
|
||||
*b++ = (i < 541 || i >= 577) ? GetSprite(i)->width + 1 : 0;
|
||||
*b++ = (i < 541 || i >= 579) && i != 585 && i != 587 && i != 588 && (i < 590 || i > 597) && (i < 599 || i > 601) && i != 603 && i != 633 && i != 665 ? GetSprite(i)->width + 1 : 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
140
gfxinit.c
140
gfxinit.c
|
@ -88,22 +88,6 @@ static void LoadGrfIndexed(const char* filename, const SpriteID* index_tbl, int
|
|||
}
|
||||
|
||||
|
||||
#define OPENTTD_SPRITES_COUNT 100
|
||||
static const SpriteID _openttd_grf_indexes[] = {
|
||||
SPR_OPENTTD_BASE + 0, SPR_OPENTTD_BASE + 7, // icons etc
|
||||
134, 134, // euro symbol medium size
|
||||
582, 582, // euro symbol large size
|
||||
358, 358, // euro symbol tiny
|
||||
SPR_OPENTTD_BASE+11, SPR_OPENTTD_BASE+57, // more icons
|
||||
648, 648, // nordic char: æ
|
||||
616, 616, // nordic char: Æ
|
||||
666, 666, // nordic char: ø
|
||||
634, 634, // nordic char: Ø
|
||||
SPR_OPENTTD_BASE+62, SPR_OPENTTD_BASE + OPENTTD_SPRITES_COUNT, // more icons
|
||||
0xffff,
|
||||
};
|
||||
|
||||
|
||||
/* Check that the supplied MD5 hash matches that stored for the supplied filename */
|
||||
static bool CheckMD5Digest(const MD5File file, md5_byte_t *digest, bool warn)
|
||||
{
|
||||
|
@ -202,6 +186,125 @@ void CheckExternalFiles(void)
|
|||
}
|
||||
|
||||
|
||||
static const SpriteID trg1idx[] = {
|
||||
0, 1, // Mouse cursor, ZZZ
|
||||
/* Medium font */
|
||||
2, 92, // ' ' till 'z'
|
||||
0xFFFE, 36,
|
||||
160, 160, // Move ¾ to the correct position
|
||||
130, 130, // TODO Up arrow
|
||||
131, 133,
|
||||
0xFFFE, 1, // skip currency sign
|
||||
135, 135,
|
||||
0xFFFE, 1,
|
||||
137, 137,
|
||||
0xFFFE, 1,
|
||||
139, 139,
|
||||
140, 140, // TODO Down arrow
|
||||
141, 141,
|
||||
142, 142, // TODO Check mark
|
||||
143, 143, // TODO Cross
|
||||
144, 144,
|
||||
145, 145, // TODO Right arrow
|
||||
146, 149,
|
||||
118, 122, // Transport markers
|
||||
0xFFFE, 2,
|
||||
157, 157,
|
||||
114, 115, // Small up/down arrows
|
||||
0xFFFE, 1,
|
||||
161, 225,
|
||||
/* Small font */
|
||||
226, 316, // ' ' till 'z'
|
||||
0xFFFE, 25,
|
||||
342, 346, // place holders for transport markers
|
||||
0xFFFE, 6,
|
||||
384, 384, // Move ¾ to the correct position
|
||||
354, 354, // TODO Up arrow
|
||||
355, 357,
|
||||
0xFFFE, 1, // skip currency sign
|
||||
359, 359,
|
||||
0xFFFE, 1,
|
||||
361, 361,
|
||||
0xFFFE, 1,
|
||||
363, 363,
|
||||
364, 364, // TODO Down arrow
|
||||
365, 366,
|
||||
0xFFFE, 1,
|
||||
368, 368,
|
||||
369, 369, // TODO Right arrow
|
||||
370, 373,
|
||||
0xFFFE, 7,
|
||||
381, 381,
|
||||
0xFFFE, 3,
|
||||
385, 449,
|
||||
/* Big font */
|
||||
450, 540, // ' ' till 'z'
|
||||
0xFFFE, 36,
|
||||
608, 608, // Move ¾ to the correct position
|
||||
0xFFFE, 1,
|
||||
579, 581,
|
||||
0xFFFE, 1,
|
||||
583, 583,
|
||||
0xFFFE, 5,
|
||||
589, 589,
|
||||
0xFFFE, 15,
|
||||
605, 605,
|
||||
0xFFFE, 3,
|
||||
609, 625,
|
||||
0xFFFE, 1,
|
||||
627, 632,
|
||||
0xFFFE, 1,
|
||||
634, 639,
|
||||
0xFFFE, 1,
|
||||
641, 657,
|
||||
0xFFFE, 1,
|
||||
659, 664,
|
||||
0xFFFE, 2,
|
||||
667, 671,
|
||||
0xFFFE, 1,
|
||||
673, 673,
|
||||
/* Graphics */
|
||||
674, 4792,
|
||||
0xFFFF
|
||||
};
|
||||
|
||||
#define OPENTTD_SPRITES_COUNT 100
|
||||
static const SpriteID _openttd_grf_indexes[] = {
|
||||
SPR_OPENTTD_BASE + 0, SPR_OPENTTD_BASE + 7, // icons etc
|
||||
134, 134, // euro symbol medium size
|
||||
582, 582, // euro symbol large size
|
||||
358, 358, // euro symbol tiny
|
||||
SPR_OPENTTD_BASE+11, SPR_OPENTTD_BASE+57, // more icons
|
||||
648, 648, // nordic char: æ
|
||||
616, 616, // nordic char: Æ
|
||||
666, 666, // nordic char: ø
|
||||
634, 634, // nordic char: Ø
|
||||
SPR_OPENTTD_BASE+62, SPR_OPENTTD_BASE + OPENTTD_SPRITES_COUNT, // more icons
|
||||
382, 383, // ¼ ½ tiny
|
||||
158, 159, // ¼ ½ medium
|
||||
606, 607, // ¼ ½ large
|
||||
360, 360, // ¦ tiny
|
||||
362, 362, // ¨ tiny
|
||||
136, 136, // ¦ medium
|
||||
138, 138, // ¨ medium
|
||||
584, 584, // ¦ large
|
||||
586, 586, // ¨ large
|
||||
626, 626, // Ð large
|
||||
658, 658, // ð large
|
||||
374, 374, // ´ tiny
|
||||
378, 378, // ¸ tiny
|
||||
150, 150, // ´ medium
|
||||
154, 154, // ¸ medium
|
||||
598, 598, // ´ large
|
||||
602, 602, // ¸ large
|
||||
640, 640, // Þ large
|
||||
672, 672, // þ large
|
||||
380, 380, // º tiny
|
||||
156, 156, // º medium
|
||||
604, 604, // º large
|
||||
0xffff,
|
||||
};
|
||||
|
||||
static byte _sprite_page_to_load = 0xFF;
|
||||
|
||||
static void LoadSpriteTables(void)
|
||||
|
@ -212,7 +315,10 @@ static void LoadSpriteTables(void)
|
|||
|
||||
files = _use_dos_palette? &files_dos : &files_win;
|
||||
|
||||
for (i = 0; files->basic[i].filename != NULL; i++) {
|
||||
LoadGrfIndexed(files->basic[0].filename, trg1idx, 0);
|
||||
load_index = 4793;
|
||||
|
||||
for (i = 1; files->basic[i].filename != NULL; i++) {
|
||||
load_index += LoadGrfFile(files->basic[i].filename, load_index, i);
|
||||
}
|
||||
|
||||
|
|
|
@ -474,15 +474,14 @@ static const CmdStruct _cmd_structs[] = {
|
|||
{"CROSS", EmitSingleByte, 0xAD, 0},
|
||||
{"RIGHTARROW", EmitSingleByte, 0xAF, 0},
|
||||
|
||||
{"TRAIN", EmitSingleByte, 0xb4, 0},
|
||||
{"LORRY", EmitSingleByte, 0xb5, 0},
|
||||
{"BUS", EmitSingleByte, 0xb6, 0},
|
||||
{"PLANE", EmitSingleByte, 0xb7, 0},
|
||||
{"SHIP", EmitSingleByte, 0xb8, 0},
|
||||
{"TRAIN", EmitSingleByte, 0x94, 0},
|
||||
{"LORRY", EmitSingleByte, 0x95, 0},
|
||||
{"BUS", EmitSingleByte, 0x96, 0},
|
||||
{"PLANE", EmitSingleByte, 0x97, 0},
|
||||
{"SHIP", EmitSingleByte, 0x98, 0},
|
||||
|
||||
{"SMALLUPARROW", EmitSingleByte, 0xBC, 0},
|
||||
{"SMALLDOWNARROW", EmitSingleByte, 0xBD, 0},
|
||||
{"THREE_FOURTH", EmitSingleByte, 0xBE, 0},
|
||||
{"SMALLUPARROW", EmitSingleByte, 0x90, 0},
|
||||
{"SMALLDOWNARROW", EmitSingleByte, 0x91, 0},
|
||||
};
|
||||
|
||||
|
||||
|
|
10
strings.c
10
strings.c
|
@ -764,11 +764,11 @@ static char *FormatString(char *buff, const char *str, const int32 *argv, uint c
|
|||
|
||||
static char *StationGetSpecialString(char *buff, int x)
|
||||
{
|
||||
if (x & 0x01) *buff++ = '\xB4';
|
||||
if (x & 0x02) *buff++ = '\xB5';
|
||||
if (x & 0x04) *buff++ = '\xB6';
|
||||
if (x & 0x08) *buff++ = '\xB7';
|
||||
if (x & 0x10) *buff++ = '\xB8';
|
||||
if (x & 0x01) *buff++ = '\x94';
|
||||
if (x & 0x02) *buff++ = '\x95';
|
||||
if (x & 0x04) *buff++ = '\x96';
|
||||
if (x & 0x08) *buff++ = '\x97';
|
||||
if (x & 0x10) *buff++ = '\x98';
|
||||
*buff = '\0';
|
||||
return buff;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue