Mercurial > hg > openttd
changeset 2353:cf7b4711c741 draft
(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) around
author | tron <tron@openttd.org> |
---|---|
date | Sat, 20 Aug 2005 18:14:32 +0000 |
parents | c798afeac5d2 |
children | bc98f807de34 |
files | data/openttd.grf gfx.c gfxinit.c strgen/strgen.c strings.c |
diffstat | 5 files changed, 138 insertions(+), 33 deletions(-) [+] |
line wrap: on
line diff
index 5a784f20e5201f16a27c954d8f0172b990adb843..4bb791190f408c730b7727e63122532611195c7c GIT binary patch literal 24890 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 W0fML{nxdsfQ*?`|g(xvF`uM+1*_Ge`
--- a/gfx.c +++ b/gfx.c @@ -1627,15 +1627,15 @@ // 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; } }
--- a/gfxinit.c +++ b/gfxinit.c @@ -88,22 +88,6 @@ } -#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 @@ } +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 @@ 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); }
--- a/strgen/strgen.c +++ b/strgen/strgen.c @@ -474,15 +474,14 @@ {"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}, };
--- a/strings.c +++ b/strings.c @@ -764,11 +764,11 @@ 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; }