diff --git a/bin/baseset/openttd.grf b/bin/baseset/openttd.grf index 168d00fbd8..85d3fc8adc 100644 Binary files a/bin/baseset/openttd.grf and b/bin/baseset/openttd.grf differ diff --git a/bin/baseset/orig_dos.obg b/bin/baseset/orig_dos.obg index 7222400af0..2ed8a5a59c 100644 --- a/bin/baseset/orig_dos.obg +++ b/bin/baseset/orig_dos.obg @@ -77,7 +77,7 @@ TRGI.GRF = da6a6c9dcc451eec88d79211437b76a8 TRGC.GRF = ed446637e034104c5559b32c18afe78d TRGH.GRF = ee6616fb0e6ef6b24892c58c93d86fc9 TRGT.GRF = e30e8a398ae86c03dc534a8ac7dfb3b6 -ORIG_EXTRA.GRF = 73b921a42814c47a84945b7e9add5d9f +ORIG_EXTRA.GRF = 0b10a95c0adee710ecca9c3d676be4f3 [origin] default = You can find it on your Transport Tycoon Deluxe CD-ROM. diff --git a/bin/baseset/orig_dos_de.obg b/bin/baseset/orig_dos_de.obg index 676840f788..598d8ed89d 100644 --- a/bin/baseset/orig_dos_de.obg +++ b/bin/baseset/orig_dos_de.obg @@ -75,7 +75,7 @@ TRGI.GRF = da6a6c9dcc451eec88d79211437b76a8 TRGC.GRF = ed446637e034104c5559b32c18afe78d TRGH.GRF = ee6616fb0e6ef6b24892c58c93d86fc9 TRGT.GRF = fcde1d7e8a74197d72a62695884b909e -ORIG_EXTRA.GRF = 73b921a42814c47a84945b7e9add5d9f +ORIG_EXTRA.GRF = 0b10a95c0adee710ecca9c3d676be4f3 [origin] default = You can find it on your Transport Tycoon Deluxe CD-ROM. diff --git a/bin/baseset/orig_extra.grf b/bin/baseset/orig_extra.grf index 168c415a5d..46faff3916 100644 Binary files a/bin/baseset/orig_extra.grf and b/bin/baseset/orig_extra.grf differ diff --git a/bin/baseset/orig_win.obg b/bin/baseset/orig_win.obg index 049a3dca9b..2b7d43478d 100644 --- a/bin/baseset/orig_win.obg +++ b/bin/baseset/orig_win.obg @@ -76,7 +76,7 @@ TRGIR.GRF = 0c2484ff6be49fc63a83be6ab5c38f32 TRGCR.GRF = 3668f410c761a050b5e7095a2b14879b TRGHR.GRF = 06bf2b7a31766f048baac2ebe43457b1 TRGTR.GRF = de53650517fe661ceaa3138c6edb0eb8 -ORIG_EXTRA.GRF = 73b921a42814c47a84945b7e9add5d9f +ORIG_EXTRA.GRF = 0b10a95c0adee710ecca9c3d676be4f3 [origin] default = You can find it on your Transport Tycoon Deluxe CD-ROM. diff --git a/media/extra_grf/chars.nfo b/media/extra_grf/chars.nfo index 26db641b35..32462f8c1c 100644 --- a/media/extra_grf/chars.nfo +++ b/media/extra_grf/chars.nfo @@ -8,245 +8,7 @@ // -1 * 0 0C "Font characters by PaulC, Bilbo and Jasper Vries" -// Replace original characters - - -1 * 5 0A 01 02 41 00 - -1 sprites/chars.png 8bpp 10 10 6 12 0 -1 normal - -1 sprites/chars.png 8bpp 20 10 4 12 0 -1 normal - -1 * 5 0A 01 02 86 00 - -1 sprites/chars.png 8bpp 50 10 8 12 0 -1 normal - -1 sprites/chars.png 8bpp 70 10 9 12 0 -1 normal - -1 * 5 0A 01 01 8A 00 - -1 sprites/chars.png 8bpp 120 10 6 12 0 -1 normal - -1 * 5 0A 01 01 A0 00 - -1 sprites/chars.png 8bpp 230 10 10 12 0 -1 normal - -1 * 5 0A 01 04 A2 00 - -1 sprites/chars.png 8bpp 260 10 8 12 0 -1 normal - -1 sprites/chars.png 8bpp 290 10 8 12 0 -1 normal - -1 sprites/chars.png 8bpp 320 10 8 12 0 -1 normal - -1 sprites/chars.png 8bpp 350 10 8 12 0 -1 normal - -1 * 5 0A 01 06 A7 00 - -1 sprites/chars.png 8bpp 410 10 8 12 0 -1 normal - -1 sprites/chars.png 8bpp 440 10 12 12 0 -1 normal - -1 sprites/chars.png 8bpp 470 10 8 12 0 -1 normal - -1 sprites/chars.png 8bpp 480 10 7 12 0 -1 normal - -1 sprites/chars.png 8bpp 500 10 7 12 0 -1 normal - -1 sprites/chars.png 8bpp 520 10 7 12 0 -1 normal - -1 * 5 0A 01 03 AE 00 - -1 sprites/chars.png 8bpp 560 10 4 12 0 -1 normal - -1 sprites/chars.png 8bpp 570 10 4 12 0 -1 normal - -1 sprites/chars.png 8bpp 580 10 5 12 0 -1 normal - -1 * 5 0A 01 05 B3 00 - -1 sprites/chars.png 8bpp 620 10 8 12 0 -1 normal - -1 sprites/chars.png 8bpp 640 10 9 12 0 -1 normal - -1 sprites/chars.png 8bpp 660 10 9 12 0 -1 normal - -1 sprites/chars.png 8bpp 680 10 9 12 0 -1 normal - -1 sprites/chars.png 8bpp 700 10 9 12 0 -1 normal - -1 * 5 0A 01 03 BB 00 - -1 sprites/chars.png 8bpp 770 10 8 12 0 -1 normal - -1 sprites/chars.png 8bpp 10 70 8 12 0 -1 normal - -1 sprites/chars.png 8bpp 30 70 8 12 0 -1 normal - -1 * 5 0A 01 01 BF 00 - -1 sprites/chars.png 8bpp 70 70 9 12 0 -1 normal - -1 * 5 0A 01 05 C1 00 - -1 sprites/chars.png 8bpp 450 70 8 12 0 -1 normal - -1 sprites/chars.png 8bpp 110 70 6 12 0 -1 normal - -1 sprites/chars.png 8bpp 120 70 6 12 0 -1 normal - -1 sprites/chars.png 8bpp 130 70 6 12 0 -1 normal - -1 sprites/chars.png 8bpp 140 70 6 12 0 -1 normal - -1 * 5 0A 01 01 C7 00 - -1 sprites/chars.png 8bpp 160 70 6 12 0 -1 normal - -1 * 5 0A 01 03 CA 00 - -1 sprites/chars.png 8bpp 200 70 6 12 0 -1 normal - -1 sprites/chars.png 8bpp 210 70 6 12 0 -1 normal - -1 sprites/chars.png 8bpp 220 70 6 12 0 -1 normal - -1 * 5 0A 01 04 CE 00 - -1 sprites/chars.png 8bpp 230 70 4 12 0 -1 normal - -1 sprites/chars.png 8bpp 240 70 4 12 0 -1 normal - -1 sprites/chars.png 8bpp 250 70 5 12 0 -1 normal - -1 sprites/chars.png 8bpp 260 70 5 12 0 -1 normal - -1 * 5 0A 01 05 D3 00 - -1 sprites/chars.png 8bpp 290 70 6 12 0 -1 normal - -1 sprites/chars.png 8bpp 310 70 6 12 0 -1 normal - -1 sprites/chars.png 8bpp 320 70 6 12 0 -1 normal - -1 sprites/chars.png 8bpp 330 70 6 12 0 -1 normal - -1 sprites/chars.png 8bpp 340 70 6 12 0 -1 normal - -1 * 5 0A 01 03 DB 00 - -1 sprites/chars.png 8bpp 390 70 6 12 0 -1 normal - -1 sprites/chars.png 8bpp 400 70 6 12 0 -1 normal - -1 sprites/chars.png 8bpp 410 70 6 12 0 -1 normal - -1 * 5 0A 01 02 DF 00 - -1 sprites/chars.png 8bpp 420 70 7 12 0 -1 normal - -1 sprites/chars.png 8bpp 430 70 6 12 0 -1 normal - -1 * 5 0A 01 01 22 01 - -1 sprites/chars.png 8bpp 20 30 2 7 0 0 normal - -1 * 5 0A 01 01 7D 01 - -1 sprites/chars.png 8bpp 220 30 4 7 0 0 normal - -1 * 5 0A 01 02 80 01 - -1 sprites/chars.png 8bpp 230 30 9 7 0 0 normal - -1 sprites/chars.png 8bpp 250 30 3 7 0 0 normal - -1 * 5 0A 01 01 89 01 - -1 sprites/chars.png 8bpp 470 30 3 7 0 0 normal - -1 * 5 0A 01 01 9F 01 - -1 sprites/chars.png 8bpp 70 90 3 7 0 0 normal - -1 * 5 0A 01 01 A9 01 - -1 sprites/chars.png 8bpp 190 90 3 7 0 0 normal - -1 * 5 0A 01 02 BF 01 - -1 sprites/chars.png 8bpp 420 90 3 7 0 0 normal - -1 sprites/chars.png 8bpp 430 90 3 7 0 0 normal - -1 * 5 0A 01 01 02 02 - -1 sprites/chars.png 8bpp 20 40 4 21 0 -2 normal - -1 * 5 0A 01 01 41 02 - -1 sprites/chars.png 8bpp 30 40 14 21 0 -2 normal - -1 * 5 0A 01 06 46 02 - -1 sprites/chars.png 8bpp 50 40 10 21 0 -2 normal - -1 sprites/chars.png 8bpp 70 40 14 21 0 -2 normal - -1 sprites/chars.png 8bpp 90 40 3 21 0 -2 normal - -1 sprites/chars.png 8bpp 100 40 13 21 0 -2 normal - -1 sprites/chars.png 8bpp 120 40 7 21 0 -2 normal - -1 sprites/chars.png 8bpp 130 40 16 21 0 -2 normal - -1 * 5 0A 01 01 50 02 - -1 sprites/chars.png 8bpp 150 40 16 21 0 -2 normal - -1 * 5 0A 01 04 52 02 - -1 sprites/chars.png 8bpp 170 40 8 21 0 -2 normal - -1 sprites/chars.png 8bpp 180 40 9 21 0 -2 normal - -1 sprites/chars.png 8bpp 190 40 6 21 0 -2 normal - -1 sprites/chars.png 8bpp 200 40 6 21 0 -2 normal - -1 * 5 0A 01 01 5C 02 - -1 sprites/chars.png 8bpp 210 40 7 21 0 -2 normal - -1 * 5 0A 01 01 60 02 - -1 sprites/chars.png 8bpp 230 40 16 21 0 -2 normal - -1 * 5 0A 01 07 62 02 - -1 sprites/chars.png 8bpp 260 40 20 21 0 -2 normal - -1 sprites/chars.png 8bpp 290 40 20 21 0 -2 normal - -1 sprites/chars.png 8bpp 320 40 20 21 0 -2 normal - -1 sprites/chars.png 8bpp 350 40 20 21 0 -2 normal - -1 sprites/chars.png 8bpp 380 40 20 21 0 -2 normal - -1 sprites/chars.png 8bpp 410 40 20 21 0 -2 normal - -1 sprites/chars.png 8bpp 440 40 24 21 0 -2 normal - -1 * 5 0A 01 18 6A 02 - -1 sprites/chars.png 8bpp 480 40 14 21 0 -2 normal - -1 sprites/chars.png 8bpp 500 40 14 21 0 -2 normal - -1 sprites/chars.png 8bpp 520 40 14 21 0 -2 normal - -1 sprites/chars.png 8bpp 540 40 14 21 0 -2 normal - -1 sprites/chars.png 8bpp 560 40 9 21 0 -2 normal - -1 sprites/chars.png 8bpp 570 40 9 21 0 -2 normal - -1 sprites/chars.png 8bpp 580 40 9 21 0 -2 normal - -1 sprites/chars.png 8bpp 590 40 9 21 0 -2 normal - -1 sprites/chars.png 8bpp 600 40 17 21 0 -2 normal - -1 sprites/chars.png 8bpp 620 40 18 21 0 -2 normal - -1 sprites/chars.png 8bpp 640 40 15 21 0 -2 normal - -1 sprites/chars.png 8bpp 660 40 15 21 0 -2 normal - -1 sprites/chars.png 8bpp 680 40 15 21 0 -2 normal - -1 sprites/chars.png 8bpp 700 40 15 21 0 -2 normal - -1 sprites/chars.png 8bpp 720 40 15 21 0 -2 normal - -1 sprites/chars.png 8bpp 740 40 9 21 0 -2 normal - -1 sprites/chars.png 8bpp 750 40 16 21 0 -2 normal - -1 sprites/chars.png 8bpp 770 40 17 21 0 -2 normal - -1 sprites/chars.png 8bpp 10 100 17 21 0 -2 normal - -1 sprites/chars.png 8bpp 30 100 17 21 0 -2 normal - -1 sprites/chars.png 8bpp 50 100 17 21 0 -2 normal - -1 sprites/chars.png 8bpp 70 100 14 21 0 -2 normal - -1 sprites/chars.png 8bpp 90 100 14 21 0 -2 normal - -1 sprites/chars.png 8bpp 450 100 14 21 0 -2 normal - -1 * 5 0A 01 01 85 02 - -1 sprites/chars.png 8bpp 140 100 12 21 0 -2 normal - -1 * 5 0A 01 01 88 02 - -1 sprites/chars.png 8bpp 170 100 19 21 0 -2 normal - -1 * 5 0A 01 02 92 02 - -1 sprites/chars.png 8bpp 270 100 11 21 0 -2 normal - -1 sprites/chars.png 8bpp 290 100 15 21 0 -2 normal - -1 * 5 0A 01 01 97 02 - -1 sprites/chars.png 8bpp 340 100 11 21 0 -2 normal - -1 * 5 0A 01 02 99 02 - -1 sprites/chars.png 8bpp 360 100 9 21 0 -2 normal - -1 sprites/chars.png 8bpp 370 100 11 21 0 -2 normal - -1 * 5 0A 01 01 A0 02 - -1 sprites/chars.png 8bpp 430 100 14 21 0 -2 normal - -// New characters, all fonts except monospaced - -// U+007B: Left Curly Bracket -// U+007C: Vertical Line -// U+007D: Right Curly Bracket -// U+007E: Tilde - -1 * 14 12 03 00 04 7B 00 01 04 7B 00 02 04 7B 00 - -1 sprites/chars.png 8bpp 10 130 5 12 0 -1 normal - -1 sprites/chars.png 8bpp 20 130 3 12 0 -1 normal - -1 sprites/chars.png 8bpp 30 130 5 12 0 -1 normal - -1 sprites/chars.png 8bpp 50 130 7 12 0 -1 normal - -1 sprites/chars.png 8bpp 10 150 3 7 0 0 normal - -1 sprites/chars.png 8bpp 20 150 1 7 0 0 normal - -1 sprites/chars.png 8bpp 30 150 3 7 0 0 normal - -1 sprites/chars.png 8bpp 50 150 4 7 0 0 normal - -1 sprites/chars.png 8bpp 10 160 9 21 0 -2 normal - -1 sprites/chars.png 8bpp 20 160 3 21 0 -2 normal - -1 sprites/chars.png 8bpp 30 160 9 21 0 -2 normal - -1 sprites/chars.png 8bpp 50 160 10 21 0 -2 normal - -// U+007F: No-Break Space - -1 * 14 12 03 00 01 7F 00 01 01 7F 00 02 01 7F 00 - -1 sprites/chars.png 8bpp 70 130 2 12 0 -1 normal - -1 sprites/chars.png 8bpp 70 150 1 7 0 0 normal - -1 sprites/chars.png 8bpp 70 160 5 21 0 -2 normal - -// U+00AA: Feminine Ordinal Indicator - -1 * 14 12 03 00 01 AA 00 01 01 AA 00 02 01 AA 00 - -1 sprites/chars.png 8bpp 80 130 6 12 0 -1 normal - -1 sprites/chars.png 8bpp 80 150 3 7 0 0 normal - -1 sprites/chars.png 8bpp 80 160 7 21 0 -2 normal - -// U+00AC: Not Sign -// U+00AD: Soft Hyphen - -1 * 14 12 03 00 02 AC 00 01 02 AC 00 02 02 AC 00 - -1 sprites/chars.png 8bpp 90 130 8 12 0 -1 normal - -1 sprites/chars.png 8bpp 110 130 6 12 0 -1 normal - -1 sprites/chars.png 8bpp 90 150 4 7 0 0 normal - -1 sprites/chars.png 8bpp 110 150 3 7 0 0 normal - -1 sprites/chars.png 8bpp 90 160 12 21 0 -2 normal - -1 sprites/chars.png 8bpp 110 160 9 21 0 -2 normal - -// U+00AF: Macron - -1 * 14 12 03 00 01 AF 00 01 01 AF 00 02 01 AF 00 - -1 sprites/chars.png 8bpp 130 130 6 12 0 -1 normal - -1 sprites/chars.png 8bpp 130 150 3 7 0 0 normal - -1 sprites/chars.png 8bpp 130 160 12 21 0 -2 normal - -// U+00B4: Acute Accent -// U+00B5: Micro Sign -// U+00B6: Pilcrow Sign -// U+00B7: Middle Dot -// U+00B8: Cedilla -// U+00B9: Superscript One - -1 * 14 12 03 00 06 B4 00 01 06 B4 00 02 06 B4 00 - -1 sprites/chars.png 8bpp 150 130 4 12 0 -1 normal - -1 sprites/chars.png 8bpp 160 130 6 12 0 -1 normal - -1 sprites/chars.png 8bpp 180 130 8 12 0 -1 normal - -1 sprites/chars.png 8bpp 200 130 3 12 0 -1 normal - -1 sprites/chars.png 8bpp 210 130 4 12 0 -1 normal - -1 sprites/chars.png 8bpp 220 130 5 12 0 -1 normal - -1 sprites/chars.png 8bpp 150 150 2 7 0 0 normal - -1 sprites/chars.png 8bpp 160 150 3 7 0 0 normal - -1 sprites/chars.png 8bpp 180 150 6 7 0 0 normal - -1 sprites/chars.png 8bpp 200 150 1 7 0 0 normal - -1 sprites/chars.png 8bpp 210 150 2 7 0 0 normal - -1 sprites/chars.png 8bpp 220 150 2 7 0 0 normal - -1 sprites/chars.png 8bpp 150 160 4 21 0 -2 normal - -1 sprites/chars.png 8bpp 160 160 15 21 0 -2 normal - -1 sprites/chars.png 8bpp 180 160 13 21 0 -2 normal - -1 sprites/chars.png 8bpp 200 160 3 21 0 -2 normal - -1 sprites/chars.png 8bpp 210 160 5 21 0 -2 normal - -1 sprites/chars.png 8bpp 220 160 6 21 0 -2 normal - -// U+00BC: Vulgar Fraction One Quarter -// U+00BD: Vulgar Fraction One Half - -1 * 14 12 03 00 02 BC 00 01 02 BC 00 02 02 BC 00 - -1 sprites/chars.png 8bpp 230 130 10 12 0 -1 normal - -1 sprites/chars.png 8bpp 250 130 10 12 0 -1 normal - -1 sprites/chars.png 8bpp 230 150 9 7 0 0 normal - -1 sprites/chars.png 8bpp 250 150 9 7 0 0 normal - -1 sprites/chars.png 8bpp 230 160 16 21 0 -2 normal - -1 sprites/chars.png 8bpp 250 160 16 21 0 -2 normal +// Note: Characters in range U+0020..U+00FF may only be defined in chars_orig_extra.nfo. // New characters, all fonts diff --git a/media/extra_grf/chars_orig_extra.nfo b/media/extra_grf/chars_orig_extra.nfo new file mode 100644 index 0000000000..7979e79450 --- /dev/null +++ b/media/extra_grf/chars_orig_extra.nfo @@ -0,0 +1,249 @@ +// +// $Id$ +// +// This file is part of OpenTTD. +// OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2. +// OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +// See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see . +// + -1 * 0 0C "Font characters by PaulC, Bilbo and Jasper Vries" + +// Replace original characters + + -1 * 5 0A 01 02 41 00 + -1 sprites/chars.png 8bpp 10 10 6 12 0 -1 normal + -1 sprites/chars.png 8bpp 20 10 4 12 0 -1 normal + -1 * 5 0A 01 02 86 00 + -1 sprites/chars.png 8bpp 50 10 8 12 0 -1 normal + -1 sprites/chars.png 8bpp 70 10 9 12 0 -1 normal + -1 * 5 0A 01 01 8A 00 + -1 sprites/chars.png 8bpp 120 10 6 12 0 -1 normal + -1 * 5 0A 01 01 A0 00 + -1 sprites/chars.png 8bpp 230 10 10 12 0 -1 normal + -1 * 5 0A 01 04 A2 00 + -1 sprites/chars.png 8bpp 260 10 8 12 0 -1 normal + -1 sprites/chars.png 8bpp 290 10 8 12 0 -1 normal + -1 sprites/chars.png 8bpp 320 10 8 12 0 -1 normal + -1 sprites/chars.png 8bpp 350 10 8 12 0 -1 normal + -1 * 5 0A 01 06 A7 00 + -1 sprites/chars.png 8bpp 410 10 8 12 0 -1 normal + -1 sprites/chars.png 8bpp 440 10 12 12 0 -1 normal + -1 sprites/chars.png 8bpp 470 10 8 12 0 -1 normal + -1 sprites/chars.png 8bpp 480 10 7 12 0 -1 normal + -1 sprites/chars.png 8bpp 500 10 7 12 0 -1 normal + -1 sprites/chars.png 8bpp 520 10 7 12 0 -1 normal + -1 * 5 0A 01 03 AE 00 + -1 sprites/chars.png 8bpp 560 10 4 12 0 -1 normal + -1 sprites/chars.png 8bpp 570 10 4 12 0 -1 normal + -1 sprites/chars.png 8bpp 580 10 5 12 0 -1 normal + -1 * 5 0A 01 05 B3 00 + -1 sprites/chars.png 8bpp 620 10 8 12 0 -1 normal + -1 sprites/chars.png 8bpp 640 10 9 12 0 -1 normal + -1 sprites/chars.png 8bpp 660 10 9 12 0 -1 normal + -1 sprites/chars.png 8bpp 680 10 9 12 0 -1 normal + -1 sprites/chars.png 8bpp 700 10 9 12 0 -1 normal + -1 * 5 0A 01 03 BB 00 + -1 sprites/chars.png 8bpp 770 10 8 12 0 -1 normal + -1 sprites/chars.png 8bpp 10 70 8 12 0 -1 normal + -1 sprites/chars.png 8bpp 30 70 8 12 0 -1 normal + -1 * 5 0A 01 01 BF 00 + -1 sprites/chars.png 8bpp 70 70 9 12 0 -1 normal + -1 * 5 0A 01 05 C1 00 + -1 sprites/chars.png 8bpp 450 70 8 12 0 -1 normal + -1 sprites/chars.png 8bpp 110 70 6 12 0 -1 normal + -1 sprites/chars.png 8bpp 120 70 6 12 0 -1 normal + -1 sprites/chars.png 8bpp 130 70 6 12 0 -1 normal + -1 sprites/chars.png 8bpp 140 70 6 12 0 -1 normal + -1 * 5 0A 01 01 C7 00 + -1 sprites/chars.png 8bpp 160 70 6 12 0 -1 normal + -1 * 5 0A 01 03 CA 00 + -1 sprites/chars.png 8bpp 200 70 6 12 0 -1 normal + -1 sprites/chars.png 8bpp 210 70 6 12 0 -1 normal + -1 sprites/chars.png 8bpp 220 70 6 12 0 -1 normal + -1 * 5 0A 01 04 CE 00 + -1 sprites/chars.png 8bpp 230 70 4 12 0 -1 normal + -1 sprites/chars.png 8bpp 240 70 4 12 0 -1 normal + -1 sprites/chars.png 8bpp 250 70 5 12 0 -1 normal + -1 sprites/chars.png 8bpp 260 70 5 12 0 -1 normal + -1 * 5 0A 01 05 D3 00 + -1 sprites/chars.png 8bpp 290 70 6 12 0 -1 normal + -1 sprites/chars.png 8bpp 310 70 6 12 0 -1 normal + -1 sprites/chars.png 8bpp 320 70 6 12 0 -1 normal + -1 sprites/chars.png 8bpp 330 70 6 12 0 -1 normal + -1 sprites/chars.png 8bpp 340 70 6 12 0 -1 normal + -1 * 5 0A 01 03 DB 00 + -1 sprites/chars.png 8bpp 390 70 6 12 0 -1 normal + -1 sprites/chars.png 8bpp 400 70 6 12 0 -1 normal + -1 sprites/chars.png 8bpp 410 70 6 12 0 -1 normal + -1 * 5 0A 01 02 DF 00 + -1 sprites/chars.png 8bpp 420 70 7 12 0 -1 normal + -1 sprites/chars.png 8bpp 430 70 6 12 0 -1 normal + -1 * 5 0A 01 01 22 01 + -1 sprites/chars.png 8bpp 20 30 2 7 0 0 normal + -1 * 5 0A 01 01 7D 01 + -1 sprites/chars.png 8bpp 220 30 4 7 0 0 normal + -1 * 5 0A 01 02 80 01 + -1 sprites/chars.png 8bpp 230 30 9 7 0 0 normal + -1 sprites/chars.png 8bpp 250 30 3 7 0 0 normal + -1 * 5 0A 01 01 89 01 + -1 sprites/chars.png 8bpp 470 30 3 7 0 0 normal + -1 * 5 0A 01 01 9F 01 + -1 sprites/chars.png 8bpp 70 90 3 7 0 0 normal + -1 * 5 0A 01 01 A9 01 + -1 sprites/chars.png 8bpp 190 90 3 7 0 0 normal + -1 * 5 0A 01 02 BF 01 + -1 sprites/chars.png 8bpp 420 90 3 7 0 0 normal + -1 sprites/chars.png 8bpp 430 90 3 7 0 0 normal + -1 * 5 0A 01 01 02 02 + -1 sprites/chars.png 8bpp 20 40 4 21 0 -2 normal + -1 * 5 0A 01 01 41 02 + -1 sprites/chars.png 8bpp 30 40 14 21 0 -2 normal + -1 * 5 0A 01 06 46 02 + -1 sprites/chars.png 8bpp 50 40 10 21 0 -2 normal + -1 sprites/chars.png 8bpp 70 40 14 21 0 -2 normal + -1 sprites/chars.png 8bpp 90 40 3 21 0 -2 normal + -1 sprites/chars.png 8bpp 100 40 13 21 0 -2 normal + -1 sprites/chars.png 8bpp 120 40 7 21 0 -2 normal + -1 sprites/chars.png 8bpp 130 40 16 21 0 -2 normal + -1 * 5 0A 01 01 50 02 + -1 sprites/chars.png 8bpp 150 40 16 21 0 -2 normal + -1 * 5 0A 01 04 52 02 + -1 sprites/chars.png 8bpp 170 40 8 21 0 -2 normal + -1 sprites/chars.png 8bpp 180 40 9 21 0 -2 normal + -1 sprites/chars.png 8bpp 190 40 6 21 0 -2 normal + -1 sprites/chars.png 8bpp 200 40 6 21 0 -2 normal + -1 * 5 0A 01 01 5C 02 + -1 sprites/chars.png 8bpp 210 40 7 21 0 -2 normal + -1 * 5 0A 01 01 60 02 + -1 sprites/chars.png 8bpp 230 40 16 21 0 -2 normal + -1 * 5 0A 01 07 62 02 + -1 sprites/chars.png 8bpp 260 40 20 21 0 -2 normal + -1 sprites/chars.png 8bpp 290 40 20 21 0 -2 normal + -1 sprites/chars.png 8bpp 320 40 20 21 0 -2 normal + -1 sprites/chars.png 8bpp 350 40 20 21 0 -2 normal + -1 sprites/chars.png 8bpp 380 40 20 21 0 -2 normal + -1 sprites/chars.png 8bpp 410 40 20 21 0 -2 normal + -1 sprites/chars.png 8bpp 440 40 24 21 0 -2 normal + -1 * 5 0A 01 18 6A 02 + -1 sprites/chars.png 8bpp 480 40 14 21 0 -2 normal + -1 sprites/chars.png 8bpp 500 40 14 21 0 -2 normal + -1 sprites/chars.png 8bpp 520 40 14 21 0 -2 normal + -1 sprites/chars.png 8bpp 540 40 14 21 0 -2 normal + -1 sprites/chars.png 8bpp 560 40 9 21 0 -2 normal + -1 sprites/chars.png 8bpp 570 40 9 21 0 -2 normal + -1 sprites/chars.png 8bpp 580 40 9 21 0 -2 normal + -1 sprites/chars.png 8bpp 590 40 9 21 0 -2 normal + -1 sprites/chars.png 8bpp 600 40 17 21 0 -2 normal + -1 sprites/chars.png 8bpp 620 40 18 21 0 -2 normal + -1 sprites/chars.png 8bpp 640 40 15 21 0 -2 normal + -1 sprites/chars.png 8bpp 660 40 15 21 0 -2 normal + -1 sprites/chars.png 8bpp 680 40 15 21 0 -2 normal + -1 sprites/chars.png 8bpp 700 40 15 21 0 -2 normal + -1 sprites/chars.png 8bpp 720 40 15 21 0 -2 normal + -1 sprites/chars.png 8bpp 740 40 9 21 0 -2 normal + -1 sprites/chars.png 8bpp 750 40 16 21 0 -2 normal + -1 sprites/chars.png 8bpp 770 40 17 21 0 -2 normal + -1 sprites/chars.png 8bpp 10 100 17 21 0 -2 normal + -1 sprites/chars.png 8bpp 30 100 17 21 0 -2 normal + -1 sprites/chars.png 8bpp 50 100 17 21 0 -2 normal + -1 sprites/chars.png 8bpp 70 100 14 21 0 -2 normal + -1 sprites/chars.png 8bpp 90 100 14 21 0 -2 normal + -1 sprites/chars.png 8bpp 450 100 14 21 0 -2 normal + -1 * 5 0A 01 01 85 02 + -1 sprites/chars.png 8bpp 140 100 12 21 0 -2 normal + -1 * 5 0A 01 01 88 02 + -1 sprites/chars.png 8bpp 170 100 19 21 0 -2 normal + -1 * 5 0A 01 02 92 02 + -1 sprites/chars.png 8bpp 270 100 11 21 0 -2 normal + -1 sprites/chars.png 8bpp 290 100 15 21 0 -2 normal + -1 * 5 0A 01 01 97 02 + -1 sprites/chars.png 8bpp 340 100 11 21 0 -2 normal + -1 * 5 0A 01 02 99 02 + -1 sprites/chars.png 8bpp 360 100 9 21 0 -2 normal + -1 sprites/chars.png 8bpp 370 100 11 21 0 -2 normal + -1 * 5 0A 01 01 A0 02 + -1 sprites/chars.png 8bpp 430 100 14 21 0 -2 normal + +// New characters, all fonts except monospaced + +// U+007B: Left Curly Bracket +// U+007C: Vertical Line +// U+007D: Right Curly Bracket +// U+007E: Tilde + -1 * 14 12 03 00 04 7B 00 01 04 7B 00 02 04 7B 00 + -1 sprites/chars.png 8bpp 10 130 5 12 0 -1 normal + -1 sprites/chars.png 8bpp 20 130 3 12 0 -1 normal + -1 sprites/chars.png 8bpp 30 130 5 12 0 -1 normal + -1 sprites/chars.png 8bpp 50 130 7 12 0 -1 normal + -1 sprites/chars.png 8bpp 10 150 3 7 0 0 normal + -1 sprites/chars.png 8bpp 20 150 1 7 0 0 normal + -1 sprites/chars.png 8bpp 30 150 3 7 0 0 normal + -1 sprites/chars.png 8bpp 50 150 4 7 0 0 normal + -1 sprites/chars.png 8bpp 10 160 9 21 0 -2 normal + -1 sprites/chars.png 8bpp 20 160 3 21 0 -2 normal + -1 sprites/chars.png 8bpp 30 160 9 21 0 -2 normal + -1 sprites/chars.png 8bpp 50 160 10 21 0 -2 normal + +// U+007F: No-Break Space + -1 * 14 12 03 00 01 7F 00 01 01 7F 00 02 01 7F 00 + -1 sprites/chars.png 8bpp 70 130 2 12 0 -1 normal + -1 sprites/chars.png 8bpp 70 150 1 7 0 0 normal + -1 sprites/chars.png 8bpp 70 160 5 21 0 -2 normal + +// U+00AA: Feminine Ordinal Indicator + -1 * 14 12 03 00 01 AA 00 01 01 AA 00 02 01 AA 00 + -1 sprites/chars.png 8bpp 80 130 6 12 0 -1 normal + -1 sprites/chars.png 8bpp 80 150 3 7 0 0 normal + -1 sprites/chars.png 8bpp 80 160 7 21 0 -2 normal + +// U+00AC: Not Sign +// U+00AD: Soft Hyphen + -1 * 14 12 03 00 02 AC 00 01 02 AC 00 02 02 AC 00 + -1 sprites/chars.png 8bpp 90 130 8 12 0 -1 normal + -1 sprites/chars.png 8bpp 110 130 6 12 0 -1 normal + -1 sprites/chars.png 8bpp 90 150 4 7 0 0 normal + -1 sprites/chars.png 8bpp 110 150 3 7 0 0 normal + -1 sprites/chars.png 8bpp 90 160 12 21 0 -2 normal + -1 sprites/chars.png 8bpp 110 160 9 21 0 -2 normal + +// U+00AF: Macron + -1 * 14 12 03 00 01 AF 00 01 01 AF 00 02 01 AF 00 + -1 sprites/chars.png 8bpp 130 130 6 12 0 -1 normal + -1 sprites/chars.png 8bpp 130 150 3 7 0 0 normal + -1 sprites/chars.png 8bpp 130 160 12 21 0 -2 normal + +// U+00B4: Acute Accent +// U+00B5: Micro Sign +// U+00B6: Pilcrow Sign +// U+00B7: Middle Dot +// U+00B8: Cedilla +// U+00B9: Superscript One + -1 * 14 12 03 00 06 B4 00 01 06 B4 00 02 06 B4 00 + -1 sprites/chars.png 8bpp 150 130 4 12 0 -1 normal + -1 sprites/chars.png 8bpp 160 130 6 12 0 -1 normal + -1 sprites/chars.png 8bpp 180 130 8 12 0 -1 normal + -1 sprites/chars.png 8bpp 200 130 3 12 0 -1 normal + -1 sprites/chars.png 8bpp 210 130 4 12 0 -1 normal + -1 sprites/chars.png 8bpp 220 130 5 12 0 -1 normal + -1 sprites/chars.png 8bpp 150 150 2 7 0 0 normal + -1 sprites/chars.png 8bpp 160 150 3 7 0 0 normal + -1 sprites/chars.png 8bpp 180 150 6 7 0 0 normal + -1 sprites/chars.png 8bpp 200 150 1 7 0 0 normal + -1 sprites/chars.png 8bpp 210 150 2 7 0 0 normal + -1 sprites/chars.png 8bpp 220 150 2 7 0 0 normal + -1 sprites/chars.png 8bpp 150 160 4 21 0 -2 normal + -1 sprites/chars.png 8bpp 160 160 15 21 0 -2 normal + -1 sprites/chars.png 8bpp 180 160 13 21 0 -2 normal + -1 sprites/chars.png 8bpp 200 160 3 21 0 -2 normal + -1 sprites/chars.png 8bpp 210 160 5 21 0 -2 normal + -1 sprites/chars.png 8bpp 220 160 6 21 0 -2 normal + +// U+00BC: Vulgar Fraction One Quarter +// U+00BD: Vulgar Fraction One Half + -1 * 14 12 03 00 02 BC 00 01 02 BC 00 02 02 BC 00 + -1 sprites/chars.png 8bpp 230 130 10 12 0 -1 normal + -1 sprites/chars.png 8bpp 250 130 10 12 0 -1 normal + -1 sprites/chars.png 8bpp 230 150 9 7 0 0 normal + -1 sprites/chars.png 8bpp 250 150 9 7 0 0 normal + -1 sprites/chars.png 8bpp 230 160 16 21 0 -2 normal + -1 sprites/chars.png 8bpp 250 160 16 21 0 -2 normal diff --git a/media/extra_grf/orig_extra.nfo b/media/extra_grf/orig_extra.nfo index 03a8ff6741..534badab03 100644 --- a/media/extra_grf/orig_extra.nfo +++ b/media/extra_grf/orig_extra.nfo @@ -75,6 +75,7 @@ // // The real data of the GRF is acquired from several subfiles. // +#include "chars_orig_extra.nfo" #include "shore.nfo" #include "fix_graphics.nfo" #include "canals_extra.nfo" diff --git a/src/depot_gui.cpp b/src/depot_gui.cpp index 47eefc65e9..b7e7f9285a 100644 --- a/src/depot_gui.cpp +++ b/src/depot_gui.cpp @@ -679,7 +679,8 @@ struct DepotWindow : Window { } /* Always have 1 empty row, so people can change the setting of the train */ this->vscroll->SetCount(this->vehicle_list.Length() + this->wagon_list.Length() + 1); - this->hscroll->SetCount(max_width); + /* Always make it longer than the longest train, so you can attach vehicles at the end */ + this->hscroll->SetCount(max_width + ScaleGUITrad(2 * VEHICLEINFO_FULL_VEHICLE_WIDTH + 1)); } else { this->vscroll->SetCount(CeilDiv(this->vehicle_list.Length(), this->num_columns)); } diff --git a/src/industry_cmd.cpp b/src/industry_cmd.cpp index 8fea6953ae..9c98b120c6 100644 --- a/src/industry_cmd.cpp +++ b/src/industry_cmd.cpp @@ -491,7 +491,12 @@ static CommandCost ClearTile_Industry(TileIndex tile, DoCommandFlag flags) return CommandCost(EXPENSES_CONSTRUCTION, indspec->GetRemovalCost()); } -static void TransportIndustryGoods(TileIndex tile) +/** + * Move produced cargo from industry to nearby stations. + * @param tile Industry tile + * @return true if any cargo was moved. + */ +static bool TransportIndustryGoods(TileIndex tile) { Industry *i = Industry::GetByTile(tile); const IndustrySpec *indspec = GetIndustrySpec(i->type); @@ -516,16 +521,7 @@ static void TransportIndustryGoods(TileIndex tile) } } - if (moved_cargo && !StartStopIndustryTileAnimation(i, IAT_INDUSTRY_DISTRIBUTES_CARGO)) { - uint newgfx = GetIndustryTileSpec(GetIndustryGfx(tile))->anim_production; - - if (newgfx != INDUSTRYTILE_NOANIM) { - ResetIndustryConstructionStage(tile); - SetIndustryCompleted(tile); - SetIndustryGfx(tile, newgfx); - MarkTileDirtyByTile(tile); - } - } + return moved_cargo; } @@ -810,7 +806,17 @@ static void TileLoop_Industry(TileIndex tile) if (_game_mode == GM_EDITOR) return; - TransportIndustryGoods(tile); + if (TransportIndustryGoods(tile) && !StartStopIndustryTileAnimation(Industry::GetByTile(tile), IAT_INDUSTRY_DISTRIBUTES_CARGO)) { + uint newgfx = GetIndustryTileSpec(GetIndustryGfx(tile))->anim_production; + + if (newgfx != INDUSTRYTILE_NOANIM) { + ResetIndustryConstructionStage(tile); + SetIndustryCompleted(tile); + SetIndustryGfx(tile, newgfx); + MarkTileDirtyByTile(tile); + return; + } + } if (StartStopIndustryTileAnimation(tile, IAT_TILELOOP)) return; diff --git a/src/train_gui.cpp b/src/train_gui.cpp index 4724fb98ab..51e772b520 100644 --- a/src/train_gui.cpp +++ b/src/train_gui.cpp @@ -64,14 +64,14 @@ static int HighlightDragPosition(int px, int max_width, VehicleID selection, boo bool rtl = _current_text_dir == TD_RTL; assert(selection != INVALID_VEHICLE); - int dragged_width = WD_FRAMERECT_LEFT + WD_FRAMERECT_RIGHT; + int dragged_width = 0; for (Train *t = Train::Get(selection); t != NULL; t = chain ? t->Next() : (t->HasArticulatedPart() ? t->GetNextArticulatedPart() : NULL)) { dragged_width += t->GetDisplayImageWidth(NULL); } - int drag_hlight_left = rtl ? max(px -dragged_width, 0) : px; - int drag_hlight_right = rtl ? px : min(px + dragged_width, max_width); - int drag_hlight_width = max(drag_hlight_right - drag_hlight_left, 0); + int drag_hlight_left = rtl ? max(px - dragged_width + 1, 0) : px; + int drag_hlight_right = rtl ? px : min(px + dragged_width, max_width) - 1; + int drag_hlight_width = max(drag_hlight_right - drag_hlight_left + 1, 0); if (drag_hlight_width > 0) { GfxFillRect(drag_hlight_left + WD_FRAMERECT_LEFT, WD_FRAMERECT_TOP + 1, diff --git a/src/video/win32_v.cpp b/src/video/win32_v.cpp index e536ae8e5e..1d73f3411f 100644 --- a/src/video/win32_v.cpp +++ b/src/video/win32_v.cpp @@ -34,6 +34,10 @@ #define MAPVK_VK_TO_CHAR (2) #endif +#ifndef PM_QS_INPUT +#define PM_QS_INPUT 0x20000 +#endif + static struct { HWND main_wnd; HBITMAP dib_sect; @@ -737,7 +741,6 @@ static LRESULT CALLBACK WndProcGdi(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lP case WM_MOUSEMOVE: { int x = (int16)LOWORD(lParam); int y = (int16)HIWORD(lParam); - POINT pt; /* If the mouse was not in the window and it has moved it means it has * come into the window, so start drawing the mouse. Also start @@ -747,7 +750,18 @@ static LRESULT CALLBACK WndProcGdi(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lP SetTimer(hwnd, TID_POLLMOUSE, MOUSE_POLL_DELAY, (TIMERPROC)TrackMouseTimerProc); } - if (_cursor.UpdateCursorPosition(x, y, true)) { + if (_cursor.fix_at) { + /* Get all queued mouse events now in case we have to warp the cursor. In the + * end, we only care about the current mouse position and not bygone events. */ + MSG m; + while (PeekMessage(&m, hwnd, WM_MOUSEMOVE, WM_MOUSEMOVE, PM_REMOVE | PM_NOYIELD | PM_QS_INPUT)) { + x = (int16)LOWORD(m.lParam); + y = (int16)HIWORD(m.lParam); + } + } + + if (_cursor.UpdateCursorPosition(x, y, false)) { + POINT pt; pt.x = _cursor.pos.x; pt.y = _cursor.pos.y; ClientToScreen(hwnd, &pt);