From c1359d6d8ac94c262ecd822dbfd586ddd8352634 Mon Sep 17 00:00:00 2001 From: rubidium Date: Tue, 4 Oct 2011 20:22:46 +0000 Subject: [PATCH] (svn r22995) [1.1] -Backport from trunk: - Fix: [NoAI] Do not return ERR_UNKNOWN when the vehicle would become too long (r22988) - Fix: Draw buoy sprite without outline on the map, fix minor issues with original graphics (r22974, r22973, r22971, r22962) - Fix: [NewGRF] Strip newlines from NewGRF strings that should not have newlines, e.g. the NewGRF's name [FS#4769] (r22970) --- bin/data/openttd.grf | Bin 692330 -> 777821 bytes bin/data/orig_dos.obg | 2 +- bin/data/orig_dos_de.obg | 2 +- bin/data/orig_win.obg | 2 +- media/extra_grf/aqueduct.nfo | 31 +++-- media/extra_grf/aqueduct.png | Bin 2620 -> 3609 bytes media/extra_grf/canal_locks.png | Bin 0 -> 20081 bytes media/extra_grf/canals.nfo | 228 ++++++++++++++++++++++--------- media/extra_grf/canals.png | Bin 22818 -> 6236 bytes media/extra_grf/fix_graphics.nfo | 138 ++++++++++++++++++- media/extra_grf/fix_graphics.png | Bin 29342 -> 64559 bytes src/ai/api/ai_changelog.hpp | 5 + src/ai/api/ai_object.hpp | 1 + src/ai/api/ai_vehicle.hpp | 2 + src/ai/api/ai_vehicle.hpp.sq | 3 + src/newgrf.cpp | 44 +++--- src/newgrf.h | 2 + src/newgrf_text.cpp | 34 +++-- src/newgrf_text.h | 6 +- src/station_cmd.cpp | 7 +- 20 files changed, 388 insertions(+), 119 deletions(-) create mode 100644 media/extra_grf/canal_locks.png diff --git a/bin/data/openttd.grf b/bin/data/openttd.grf index c790c4a648e530f10e4b66a8d57a457e28801888..fe769b52a9f19b99dbd3cd1e11d68c9e658bf7de 100644 GIT binary patch delta 89335 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 U262Y=LrNS#%(?xL64#1c0EUEdo&W#< delta 9318 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 diff --git a/bin/data/orig_dos.obg b/bin/data/orig_dos.obg index afc8b12e82..4c5fa6fc3a 100644 --- a/bin/data/orig_dos.obg +++ b/bin/data/orig_dos.obg @@ -55,7 +55,7 @@ TRGI.GRF = da6a6c9dcc451eec88d79211437b76a8 TRGC.GRF = ed446637e034104c5559b32c18afe78d TRGH.GRF = ee6616fb0e6ef6b24892c58c93d86fc9 TRGT.GRF = e30e8a398ae86c03dc534a8ac7dfb3b6 -OPENTTD.GRF = f99b8f65d32a8883a2b0979eb2f6729f +OPENTTD.GRF = 245e2125cecfe7e0b6c5e85d32459f86 [origin] default = You can find it on your Transport Tycoon Deluxe CD-ROM. diff --git a/bin/data/orig_dos_de.obg b/bin/data/orig_dos_de.obg index fadf4be88a..00d1191b87 100644 --- a/bin/data/orig_dos_de.obg +++ b/bin/data/orig_dos_de.obg @@ -55,7 +55,7 @@ TRGI.GRF = da6a6c9dcc451eec88d79211437b76a8 TRGC.GRF = ed446637e034104c5559b32c18afe78d TRGH.GRF = ee6616fb0e6ef6b24892c58c93d86fc9 TRGT.GRF = fcde1d7e8a74197d72a62695884b909e -OPENTTD.GRF = f99b8f65d32a8883a2b0979eb2f6729f +OPENTTD.GRF = 245e2125cecfe7e0b6c5e85d32459f86 [origin] default = You can find it on your Transport Tycoon Deluxe CD-ROM. diff --git a/bin/data/orig_win.obg b/bin/data/orig_win.obg index 2cd8d685ca..543788879b 100644 --- a/bin/data/orig_win.obg +++ b/bin/data/orig_win.obg @@ -55,7 +55,7 @@ TRGIR.GRF = 0c2484ff6be49fc63a83be6ab5c38f32 TRGCR.GRF = 3668f410c761a050b5e7095a2b14879b TRGHR.GRF = 06bf2b7a31766f048baac2ebe43457b1 TRGTR.GRF = de53650517fe661ceaa3138c6edb0eb8 -OPENTTD.GRF = f99b8f65d32a8883a2b0979eb2f6729f +OPENTTD.GRF = 245e2125cecfe7e0b6c5e85d32459f86 [origin] default = You can find it on your Transport Tycoon Deluxe CD-ROM. diff --git a/media/extra_grf/aqueduct.nfo b/media/extra_grf/aqueduct.nfo index 1393bccfdd..d7f10a8afd 100644 --- a/media/extra_grf/aqueduct.nfo +++ b/media/extra_grf/aqueduct.nfo @@ -6,13 +6,26 @@ // 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 "Aqueduct graphics by Jonathan G. Rennison" + -1 * 0 0C "Aqueduct graphics by Jonathan G. Rennison / PaulC" +// temperate aqueduct + -1 * 6 07 83 01 \7! 00 09 -1 * 3 05 12 08 - -1 sprites/aqueduct.png 34 8 09 33 64 -34 -10 - -1 sprites/aqueduct.png 114 8 09 33 66 -37 -9 - -1 sprites/aqueduct.png 194 8 09 33 64 -34 -10 - -1 sprites/aqueduct.png 274 8 09 33 66 -37 -9 - -1 sprites/aqueduct.png 354 8 09 33 64 -34 -5 - -1 sprites/aqueduct.png 434 8 09 33 66 -37 -4 - -1 sprites/aqueduct.png 514 8 09 23 33 -31 0 - -1 sprites/aqueduct.png 562 8 09 23 33 0 1 + -1 sprites/aqueduct.png 34 8 09 32 61 -30 -9 + -1 sprites/aqueduct.png 114 8 09 31 62 -29 -9 + -1 sprites/aqueduct.png 194 8 09 32 61 -30 -9 + -1 sprites/aqueduct.png 274 8 09 31 62 -29 -9 + -1 sprites/aqueduct.png 354 8 09 32 61 -30 -4 + -1 sprites/aqueduct.png 434 8 09 31 62 -29 -4 + -1 sprites/aqueduct.png 514 8 09 23 33 -31 0 + -1 sprites/aqueduct.png 562 8 09 23 33 0 1 +// non-temperate aqueduct + -1 * 6 07 83 01 \7= 00 09 + -1 * 3 05 12 08 + -1 sprites/aqueduct.png 34 48 09 32 61 -30 -9 + -1 sprites/aqueduct.png 114 48 09 31 62 -29 -9 + -1 sprites/aqueduct.png 194 48 09 32 61 -30 -9 + -1 sprites/aqueduct.png 274 48 09 31 62 -29 -9 + -1 sprites/aqueduct.png 354 48 09 32 61 -30 -4 + -1 sprites/aqueduct.png 434 48 09 31 62 -29 -4 + -1 sprites/aqueduct.png 514 48 09 23 33 -31 0 + -1 sprites/aqueduct.png 562 48 09 23 33 0 1 diff --git a/media/extra_grf/aqueduct.png b/media/extra_grf/aqueduct.png index f895431d16bfa7dced325f57d38057a56e73bd50..6d55f0aa469cb507f7ab419524d807e3e735ad00 100644 GIT binary patch delta 2845 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 delta 1849 zcmV-92gdlB9J~}EiBL{Q4GJ0x0000DNk~Le0009Z0000m2m=5B0N#-9T(Kb=1AhkU zNklb2NZ}I#6ml*_}f4KY&`RX(J zgud+jA>k+pf3rcBz8~-fD7||vLGkFgS=QF7M?J$ z{CHpe4D!Wy;7`8(UuTerh=?#qM8q-%fdgZ|@m4#J7<@-UZ4DzNLdkNeR z7wZKlVDRnB*HZVwAT4!akU4^+H`UlfV7!EWz1#{Ne0%dXUDwicgLGX>VSkX_w_pTV zuND-zZ7|{aYA6e(2*I~MUz>8%JiC6Ia?^xCb`&HbKt5j$r50L5;M7pAnbL3xB_BQk zgYU2%q-mP&`3}-FO&12)=>{eQC_TWC&;D0CYz`KfRTwE#*XD!(rM{Y=2j2(rLEB-M zp6?(Xb}0<9!wp<*<;|s@)qg^G@9GB$tfs`IQ7c_&$UW05Vp3o?>OJ z6e-sGH!uws>z)8|Nmy#Btjc=lvbVr2u58L`+H{nuZMuZ;+Ho`ZK7emJ?zg!)*1->aPj9xm4EJPB$h_H>@O z_|(>k+TIoT za?`IjBR?btCc-AuJaJZ0F=fouWNMyNWPL_3G+6y(w@{*qyHi-Helu0r5kfI|7}lqoz|=2V(pW>x%7nT-6{-H zUn*fY9e+2~#N5P$-B?*&Y+7es*&GR5%#?#~Nxr$=xpTXJPvs0kB~@%O-5UFyO-0Fv zJzb5J)oy)zv_z^8^1lC|3p4e3I&S)AG%C>iIQ}cs(Xyw4X;v>0X4>Y` z-+ydI7j;z@R~IwkJ5v`Hc73N+BKY>;o7_PfMR}YwbFzF^=E9ZFA=* ztAF3_-Ka=?r5?M>&3D<1yfRUHDDK;ojOY%%M8P+oZ)SJy-0t5~>%}rPdD0u#X3345xKx%1rj8IVe*g5BlDdAL}+O*2Tvg~i2oY_Oadn-r zP%h8qo%2QlWRa97X9Bo^9snlaS_*XfQ%C;hNFPl+JU&y;tvt97* z%olMCg8&$-$T;dl<)sj&1%9^XX+=hLGump;pREbL9r+@TV-NrxN7vUYFNX*WfPYl` zt;F*Fh{1OlU&OHt0AgG5AxK_Vg|!XOb5VUUQ3 nFi1p17$hPh3=$FXb>sj0I>zpUZ4NCi00000NkvXXu0mjfdCHDW diff --git a/media/extra_grf/canal_locks.png b/media/extra_grf/canal_locks.png new file mode 100644 index 0000000000000000000000000000000000000000..7337bf10e0834cd3363278455d77ad116610dbed GIT binary patch literal 20081 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 JJi+?L{s(Oi9&7*r literal 0 HcmV?d00001 diff --git a/media/extra_grf/canals.nfo b/media/extra_grf/canals.nfo index 981ce5d1b2..c774d0b53d 100644 --- a/media/extra_grf/canals.nfo +++ b/media/extra_grf/canals.nfo @@ -6,70 +6,166 @@ // 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 "Canal graphics by George" + -1 * 0 0C "Canal graphics by George / PaulC" -1 * 3 05 08 41 - -1 sprites/canals.png 66 8 09 23 64 -31 0 - -1 sprites/canals.png 146 8 09 39 64 -31 -8 - -1 sprites/canals.png 226 8 09 23 64 -31 0 - -1 sprites/canals.png 306 8 09 39 64 -31 -8 - -1 sprites/canals.png 386 8 09 59 64 -31 -36 - -1 sprites/canals.png 466 8 09 65 64 -31 -34 - -1 sprites/canals.png 546 8 09 59 64 -31 -36 - -1 sprites/canals.png 626 8 09 59 64 -31 -28 - -1 sprites/canals.png 706 8 09 62 64 -1 -51 - -1 sprites/canals.png 2 88 09 62 64 -61 -43 - -1 sprites/canals.png 82 88 09 62 64 -61 -51 - -1 sprites/canals.png 162 88 09 62 64 -1 -43 - -1 sprites/canals.png 242 88 09 59 64 -31 -28 - -1 sprites/canals.png 322 88 09 65 66 -33 -34 - -1 sprites/canals.png 402 88 09 59 64 -31 -28 - -1 sprites/canals.png 482 88 09 59 64 -31 -28 - -1 sprites/canals.png 562 88 09 62 64 -1 -43 - -1 sprites/canals.png 642 88 09 60 64 -61 -43 - -1 sprites/canals.png 722 88 09 62 66 -61 -43 - -1 sprites/canals.png 2 168 09 60 64 -1 -43 - -1 sprites/canals.png 82 168 09 59 64 -31 -28 - -1 sprites/canals.png 162 168 09 59 64 -31 -28 - -1 sprites/canals.png 242 168 09 59 64 -31 -28 - -1 sprites/canals.png 322 168 09 59 64 -31 -28 - -1 sprites/canals.png 402 168 09 60 64 -1 -43 - -1 sprites/canals.png 482 168 09 62 68 -61 -43 - -1 sprites/canals.png 562 168 09 60 64 -61 -43 - -1 sprites/canals.png 642 168 09 62 64 -1 -43 - -1 sprites/canals.png 722 168 09 59 64 -31 -36 - -1 sprites/canals.png 2 248 09 65 64 -31 -34 - -1 sprites/canals.png 82 248 09 59 64 -31 -36 - -1 sprites/canals.png 162 248 09 59 64 -31 -28 - -1 sprites/canals.png 242 248 09 62 64 -1 -51 - -1 sprites/canals.png 322 248 09 62 64 -61 -43 - -1 sprites/canals.png 402 248 09 62 64 -61 -51 - -1 sprites/canals.png 482 248 09 62 64 -1 -43 - -1 sprites/canals.png 562 248 09 59 64 -31 -28 - -1 sprites/canals.png 642 248 09 65 66 -33 -34 - -1 sprites/canals.png 722 248 09 59 64 -31 -28 - -1 sprites/canals.png 2 328 09 59 64 -31 -28 - -1 sprites/canals.png 82 328 09 62 64 -1 -43 - -1 sprites/canals.png 162 328 09 60 64 -61 -43 - -1 sprites/canals.png 242 328 09 62 66 -61 -43 - -1 sprites/canals.png 322 328 09 60 64 -1 -43 - -1 sprites/canals.png 402 328 09 59 64 -31 -28 - -1 sprites/canals.png 482 328 09 59 64 -31 -28 - -1 sprites/canals.png 562 328 09 59 64 -31 -28 - -1 sprites/canals.png 642 328 09 59 64 -31 -28 - -1 sprites/canals.png 722 328 09 60 64 -1 -43 - -1 sprites/canals.png 2 408 09 62 68 -61 -43 - -1 sprites/canals.png 82 408 09 60 64 -61 -43 - -1 sprites/canals.png 162 408 09 62 64 -1 -43 - -1 sprites/canals.png 242 408 09 37 70 -31 -6 - -1 sprites/canals.png 322 408 09 37 70 -31 0 - -1 sprites/canals.png 402 408 09 37 70 -37 0 - -1 sprites/canals.png 482 408 09 37 70 -37 -6 - -1 sprites/canals.png 562 408 09 31 64 -31 0 - -1 sprites/canals.png 642 408 09 31 64 -31 0 - -1 sprites/canals.png 722 408 09 31 64 -31 0 - -1 sprites/canals.png 2 488 09 37 64 -31 -6 - -1 sprites/canals.png 82 488 09 31 64 -31 0 - -1 sprites/canals.png 162 488 09 31 64 -31 0 - -1 sprites/canals.png 242 488 09 31 64 -31 0 - -1 sprites/canals.png 322 488 09 37 64 -31 -6 - -1 sprites/canals.png 402 488 09 20 20 0 0 +// Canal slopes + -1 sprites/canal_locks.png 66 8 09 23 64 -31 0 + -1 sprites/canal_locks.png 146 8 09 39 64 -31 -8 + -1 sprites/canal_locks.png 226 8 09 23 64 -31 0 + -1 sprites/canal_locks.png 306 8 09 39 64 -31 -8 +// Lock sides + -1 sprites/canal_locks.png 386 8 09 59 64 -31 -36 + -1 sprites/canal_locks.png 466 8 09 65 64 -31 -34 + -1 sprites/canal_locks.png 546 8 09 59 64 -31 -36 + -1 sprites/canal_locks.png 626 8 09 59 64 -31 -28 + -1 sprites/canal_locks.png 706 8 09 62 64 -1 -51 + -1 sprites/canal_locks.png 2 88 09 62 64 -61 -43 + -1 sprites/canal_locks.png 82 88 09 62 64 -61 -51 + -1 sprites/canal_locks.png 162 88 09 62 64 -1 -43 + -1 sprites/canal_locks.png 242 88 09 59 64 -31 -28 + -1 sprites/canal_locks.png 322 88 09 65 66 -33 -34 + -1 sprites/canal_locks.png 402 88 09 59 64 -31 -28 + -1 sprites/canal_locks.png 482 88 09 59 64 -31 -28 + -1 sprites/canal_locks.png 562 88 09 62 64 -1 -43 + -1 sprites/canal_locks.png 642 88 09 60 64 -61 -43 + -1 sprites/canal_locks.png 722 88 09 62 66 -61 -43 + -1 sprites/canal_locks.png 2 168 09 60 64 -1 -43 + -1 sprites/canal_locks.png 82 168 09 59 64 -31 -28 + -1 sprites/canal_locks.png 162 168 09 59 64 -31 -28 + -1 sprites/canal_locks.png 242 168 09 59 64 -31 -28 + -1 sprites/canal_locks.png 322 168 09 59 64 -31 -28 + -1 sprites/canal_locks.png 402 168 09 60 64 -1 -43 + -1 sprites/canal_locks.png 482 168 09 62 68 -61 -43 + -1 sprites/canal_locks.png 562 168 09 60 64 -61 -43 + -1 sprites/canal_locks.png 642 168 09 62 64 -1 -43 + -1 sprites/canal_locks.png 722 168 09 59 64 -31 -36 + -1 sprites/canal_locks.png 2 248 09 65 64 -31 -34 + -1 sprites/canal_locks.png 82 248 09 59 64 -31 -36 + -1 sprites/canal_locks.png 162 248 09 59 64 -31 -28 + -1 sprites/canal_locks.png 242 248 09 62 64 -1 -51 + -1 sprites/canal_locks.png 322 248 09 62 64 -61 -43 + -1 sprites/canal_locks.png 402 248 09 62 64 -61 -51 + -1 sprites/canal_locks.png 482 248 09 62 64 -1 -43 + -1 sprites/canal_locks.png 562 248 09 59 64 -31 -28 + -1 sprites/canal_locks.png 642 248 09 65 66 -33 -34 + -1 sprites/canal_locks.png 722 248 09 59 64 -31 -28 + -1 sprites/canal_locks.png 2 328 09 59 64 -31 -28 + -1 sprites/canal_locks.png 82 328 09 62 64 -1 -43 + -1 sprites/canal_locks.png 162 328 09 60 64 -61 -43 + -1 sprites/canal_locks.png 242 328 09 62 66 -61 -43 + -1 sprites/canal_locks.png 322 328 09 60 64 -1 -43 + -1 sprites/canal_locks.png 402 328 09 59 64 -31 -28 + -1 sprites/canal_locks.png 482 328 09 59 64 -31 -28 + -1 sprites/canal_locks.png 562 328 09 59 64 -31 -28 + -1 sprites/canal_locks.png 642 328 09 59 64 -31 -28 + -1 sprites/canal_locks.png 722 328 09 60 64 -1 -43 + -1 sprites/canal_locks.png 2 408 09 62 68 -61 -43 + -1 sprites/canal_locks.png 82 408 09 60 64 -61 -43 + -1 sprites/canal_locks.png 162 408 09 62 64 -1 -43 +// Canal edges (temperate) + -1 sprites/canals.png 30 10 09 22 45 -11 -1 + -1 sprites/canals.png 94 10 09 21 41 -8 10 + -1 sprites/canals.png 142 10 09 21 42 -31 10 + -1 sprites/canals.png 190 10 09 22 43 -31 -1 + -1 sprites/canals.png 238 10 09 22 22 11 4 + -1 sprites/canals.png 270 10 09 16 24 -11 15 + -1 sprites/canals.png 302 10 09 23 23 -31 4 + -1 sprites/canals.png 334 10 09 18 24 -11 -1 + -1 sprites/canals.png 366 10 09 11 12 21 10 + -1 sprites/canals.png 398 10 09 10 19 -8 21 + -1 sprites/canals.png 430 10 09 10 11 -31 10 + -1 sprites/canals.png 446 10 09 16 24 -11 -6 +// Canal icon + -1 sprites/canal_locks.png 242 408 09 20 20 0 0 + +// Differentiation for the climates starts here + +// Canal edges (arctic snowy) + -1 * 4 01 05 01 \b12 + -1 sprites/canals.png 30 40 09 22 45 -11 -1 + -1 sprites/canals.png 94 40 09 21 41 -8 10 + -1 sprites/canals.png 142 40 09 21 42 -31 10 + -1 sprites/canals.png 190 40 09 22 43 -31 -1 + -1 sprites/canals.png 238 40 09 22 22 11 4 + -1 sprites/canals.png 270 40 09 16 24 -11 15 + -1 sprites/canals.png 302 40 09 23 23 -31 4 + -1 sprites/canals.png 334 40 09 18 24 -11 -1 + -1 sprites/canals.png 366 40 09 11 12 21 10 + -1 sprites/canals.png 398 40 09 10 19 -8 21 + -1 sprites/canals.png 430 40 09 10 11 -31 10 + -1 sprites/canals.png 446 40 09 16 24 -11 -6 + -1 * 7 02 05 10 01 00 00 00 + +// Canal edges (arctic normal) + -1 * 4 01 05 01 \b12 + -1 sprites/canals.png 30 70 09 22 45 -11 -1 + -1 sprites/canals.png 94 70 09 21 41 -8 10 + -1 sprites/canals.png 142 70 09 21 42 -31 10 + -1 sprites/canals.png 190 70 09 22 43 -31 -1 + -1 sprites/canals.png 238 70 09 22 22 11 4 + -1 sprites/canals.png 270 70 09 16 24 -11 15 + -1 sprites/canals.png 302 70 09 23 23 -31 4 + -1 sprites/canals.png 334 70 09 18 24 -11 -1 + -1 sprites/canals.png 366 70 09 11 12 21 10 + -1 sprites/canals.png 398 70 09 10 19 -8 21 + -1 sprites/canals.png 430 70 09 10 11 -31 10 + -1 sprites/canals.png 446 70 09 16 24 -11 -6 + -1 * 7 02 05 11 01 00 00 00 +// Choose the right arctic canal edges + -1 * 14 02 05 12 81 81 00 FF 01 10 00 04 04 11 00 + -1 * 6 07 83 01 \7! 01 01 + -1 * 7 03 05 01 02 00 12 00 + +// Canal edges (tropic desert) + -1 * 4 01 05 01 \b12 + -1 sprites/canals.png 30 100 09 22 45 -11 -1 + -1 sprites/canals.png 94 100 09 21 41 -8 10 + -1 sprites/canals.png 142 100 09 21 42 -31 10 + -1 sprites/canals.png 190 100 09 22 43 -31 -1 + -1 sprites/canals.png 238 100 09 22 22 11 4 + -1 sprites/canals.png 270 100 09 16 24 -11 15 + -1 sprites/canals.png 302 100 09 23 23 -31 4 + -1 sprites/canals.png 334 100 09 18 24 -11 -1 + -1 sprites/canals.png 366 100 09 11 12 21 10 + -1 sprites/canals.png 398 100 09 10 19 -8 21 + -1 sprites/canals.png 430 100 09 10 11 -31 10 + -1 sprites/canals.png 446 100 09 16 24 -11 -6 + -1 * 7 02 05 13 01 00 00 00 + +// Canal edges (tropic rainforest) + -1 * 4 01 05 01 \b12 + -1 sprites/canals.png 30 130 09 22 45 -11 -1 + -1 sprites/canals.png 94 130 09 21 41 -8 10 + -1 sprites/canals.png 142 130 09 21 42 -31 10 + -1 sprites/canals.png 190 130 09 22 43 -31 -1 + -1 sprites/canals.png 238 130 09 22 22 11 4 + -1 sprites/canals.png 270 130 09 16 24 -11 15 + -1 sprites/canals.png 302 130 09 23 23 -31 4 + -1 sprites/canals.png 334 130 09 18 24 -11 -1 + -1 sprites/canals.png 366 130 09 11 12 21 10 + -1 sprites/canals.png 398 130 09 10 19 -8 21 + -1 sprites/canals.png 430 130 09 10 11 -31 10 + -1 sprites/canals.png 446 130 09 16 24 -11 -6 + -1 * 7 02 05 14 01 00 00 00 +// Choose the right tropic canal edges + -1 * 14 02 05 15 81 81 00 FF 01 13 00 01 01 14 00 + -1 * 6 07 83 01 \7! 02 01 + -1 * 7 03 05 01 02 00 15 00 + +// Canal edges (toyland) + -1 * 4 01 05 01 \b12 + -1 sprites/canals.png 30 160 09 22 45 -11 -1 + -1 sprites/canals.png 94 160 09 21 41 -8 10 + -1 sprites/canals.png 142 160 09 21 42 -31 10 + -1 sprites/canals.png 190 160 09 22 43 -31 -1 + -1 sprites/canals.png 238 160 09 22 22 11 4 + -1 sprites/canals.png 270 160 09 16 24 -11 15 + -1 sprites/canals.png 302 160 09 23 23 -31 4 + -1 sprites/canals.png 334 160 09 18 24 -11 -1 + -1 sprites/canals.png 366 160 09 11 12 21 10 + -1 sprites/canals.png 398 160 09 10 19 -8 21 + -1 sprites/canals.png 430 160 09 10 11 -31 10 + -1 sprites/canals.png 446 160 09 16 24 -11 -6 + -1 * 7 02 05 16 01 00 00 00 + -1 * 6 07 83 01 \7! 03 01 + -1 * 7 03 05 01 02 00 16 00 diff --git a/media/extra_grf/canals.png b/media/extra_grf/canals.png index 47fdc3c0b24dd7f29bb560af3309e24057946487..f9f6da6f9ffe3286b03e63e188a33b23d8a15b73 100644 GIT binary patch delta 5494 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 R=O%TFuJ+{%1?O&r{tIIKbkP6+ literal 22818 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 diff --git a/media/extra_grf/fix_graphics.nfo b/media/extra_grf/fix_graphics.nfo index 6b76f4eca7..bc91f4e679 100644 --- a/media/extra_grf/fix_graphics.nfo +++ b/media/extra_grf/fix_graphics.nfo @@ -6,8 +6,8 @@ // 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 "Fixing (alignment) bugs in the orignal graphics. By Addi." - -1 * 6 07 83 01 \7= 03 69 + -1 * 0 0C "Fixing (alignment) bugs in the original graphics. By Addi and PaulC." + -1 * 6 07 83 01 \7= 03 7D // Different graphics for same wood truck -1 * 14 0A 04 01 87 0C 01 89 0C 01 07 0E 01 09 0E -1 sprites/fix_graphics.png 82 8 09 16 22 -6 -7 @@ -79,6 +79,11 @@ -1 sprites/fix_graphics.png 370 72 09 35 48 -23 -7 -1 sprites/fix_graphics.png 434 72 09 35 48 -23 -7 -1 sprites/fix_graphics.png 498 72 09 21 49 -24 3 +// Misaligned maglev bridge heads + -1 * 8 0A 02 01 12 11 02 14 11 + -1 sprites/fix_graphics.png 322 486 09 35 48 -23 -7 + -1 sprites/fix_graphics.png 386 486 09 35 48 -23 -7 + -1 sprites/fix_graphics.png 450 486 09 21 49 -24 3 // Improperly cut cinema -1 * 5 0A 01 02 34 11 -1 sprites/fix_graphics.png 578 72 09 31 64 -31 0 @@ -198,3 +203,132 @@ // GUI sprite -1 * 5 0A 01 01 \w2600 -1 sprites/fix_graphics.png 433 298 09 15 40 0 5 +// Make level crossings in tropical climate look normal + -1 * 6 07 83 01 \7! 02 19 + -1 * 14 0A 04 04 5A 05 08 62 05 08 6E 05 04 7A 05 + -1 sprites/fix_graphics.png 2 390 09 31 64 -31 0 + -1 sprites/fix_graphics.png 82 390 09 31 64 -31 0 + -1 sprites/fix_graphics.png 162 390 09 31 64 -31 0 + -1 sprites/fix_graphics.png 242 390 09 31 64 -31 0 + -1 sprites/fix_graphics.png 322 390 09 31 64 -31 0 + -1 sprites/fix_graphics.png 402 390 09 31 64 -31 0 + -1 sprites/fix_graphics.png 482 390 09 31 64 -31 0 + -1 sprites/fix_graphics.png 562 390 09 31 64 -31 0 + -1 sprites/fix_graphics.png 642 390 09 31 64 -31 0 + -1 sprites/fix_graphics.png 722 390 09 31 64 -31 0 + -1 sprites/fix_graphics.png 2 438 09 31 64 -31 0 + -1 sprites/fix_graphics.png 82 438 09 31 64 -31 0 + -1 sprites/fix_graphics.png 162 438 09 31 64 -31 0 + -1 sprites/fix_graphics.png 242 438 09 31 64 -31 0 + -1 sprites/fix_graphics.png 322 438 09 31 64 -31 0 + -1 sprites/fix_graphics.png 402 438 09 31 64 -31 0 + -1 sprites/fix_graphics.png 482 438 09 31 64 -31 0 + -1 sprites/fix_graphics.png 562 438 09 31 64 -31 0 + -1 sprites/fix_graphics.png 642 438 09 31 64 -31 0 + -1 sprites/fix_graphics.png 722 438 09 31 64 -31 0 + -1 sprites/fix_graphics.png 2 486 09 31 64 -31 0 + -1 sprites/fix_graphics.png 82 486 09 31 64 -31 0 + -1 sprites/fix_graphics.png 162 486 09 31 64 -31 0 + -1 sprites/fix_graphics.png 242 486 09 31 64 -31 0 +// Fix transparency of steel mill + -1 * 6 07 83 01 \7! 00 0A + -1 * 5 0A 01 04 4D 08 + -1 sprites/fix_graphics.png 610 486 09 31 64 -31 0 + -1 sprites/fix_graphics.png 690 486 09 61 59 -31 -33 + -1 sprites/fix_graphics.png 2 566 09 31 64 -31 0 + -1 sprites/fix_graphics.png 82 566 09 50 51 -25 -21 + -1 * 5 0A 01 04 58 08 + -1 sprites/fix_graphics.png 162 566 09 31 64 -31 0 + -1 sprites/fix_graphics.png 242 566 09 52 59 -31 -24 + -1 sprites/fix_graphics.png 306 566 09 31 64 -31 0 + -1 sprites/fix_graphics.png 386 566 09 44 51 -25 -15 +// Fix transparency of oil well + -1 * 6 07 83 01 \7= 03 10 + -1 * 5 0A 01 06 7E 08 + -1 sprites/fix_graphics.png 482 566 09 50 31 -11 -28 + -1 sprites/fix_graphics.png 530 566 09 47 31 -11 -25 + -1 sprites/fix_graphics.png 578 566 09 47 31 -11 -25 + -1 sprites/fix_graphics.png 626 566 09 47 31 -11 -25 + -1 sprites/fix_graphics.png 674 566 09 49 31 -11 -27 + -1 sprites/fix_graphics.png 722 566 09 52 31 -11 -30 + -1 * 6 07 83 01 \7! 00 02 + -1 * 5 0A 01 01 7D 08 + -1 sprites/fix_graphics.png 2 630 09 31 64 -31 0 + -1 * 6 07 83 01 \7! 01 02 + -1 * 5 0A 01 01 7D 08 + -1 sprites/fix_graphics.png 114 630 09 31 64 -31 0 + -1 * 6 07 83 01 \7! 02 02 + -1 * 5 0A 01 01 7D 08 + -1 sprites/fix_graphics.png 226 630 09 31 64 -31 0 + -1 * 6 07 83 01 \7! 03 0F + -1 * 5 0A 01 06 91 04 +// Fix toyland overlay for PBS on maglev + -1 sprites/fix_graphics.png 338 630 09 16 30 -14 8 + -1 sprites/fix_graphics.png 386 630 09 16 30 -14 8 + -1 sprites/fix_graphics.png 434 630 01 7 40 -19 4 + -1 sprites/fix_graphics.png 482 630 01 7 40 -19 20 + -1 sprites/fix_graphics.png 530 630 01 19 12 11 6 + -1 sprites/fix_graphics.png 562 630 01 19 12 -21 6 +// Fix toyland monorail bridge alignment + -1 * 8 0A 02 01 EA 10 02 EC 10 + -1 sprites/fix_graphics.png 610 630 09 35 48 -23 -7 + -1 sprites/fix_graphics.png 674 630 09 35 48 -23 -7 + -1 sprites/fix_graphics.png 738 630 09 21 49 -24 3 +// Fix toyland maglev bridge alignment + -1 * 8 0A 02 01 12 11 02 14 11 + -1 sprites/fix_graphics.png 18 678 09 35 48 -23 -7 + -1 sprites/fix_graphics.png 82 678 09 35 48 -23 -7 + -1 sprites/fix_graphics.png 146 678 09 21 49 -24 3 +// Fix city airport's grass for temperate + -1 * 6 07 83 01 \7! 00 0A + -1 * 5 0A 01 09 4C 0A + -1 sprites/fix_graphics.png 242 678 09 31 64 -31 0 + -1 sprites/fix_graphics.png 322 678 09 31 64 -31 0 + -1 sprites/fix_graphics.png 402 678 09 31 64 -31 0 + -1 sprites/fix_graphics.png 482 678 09 31 64 -31 0 + -1 sprites/fix_graphics.png 562 678 09 31 64 -31 0 + -1 sprites/fix_graphics.png 642 678 09 31 64 -31 0 + -1 sprites/fix_graphics.png 722 678 09 31 64 -31 0 + -1 sprites/fix_graphics.png 2 726 09 31 64 -31 0 + -1 sprites/fix_graphics.png 82 726 09 31 64 -31 0 +// Fix city airport's grass for arctic + -1 * 6 07 83 01 \7! 01 0A + -1 * 5 0A 01 09 4C 0A + -1 sprites/fix_graphics.png 194 726 09 31 64 -31 0 + -1 sprites/fix_graphics.png 274 726 09 31 64 -31 0 + -1 sprites/fix_graphics.png 354 726 09 31 64 -31 0 + -1 sprites/fix_graphics.png 434 726 09 31 64 -31 0 + -1 sprites/fix_graphics.png 514 726 09 31 64 -31 0 + -1 sprites/fix_graphics.png 594 726 09 31 64 -31 0 + -1 sprites/fix_graphics.png 674 726 09 31 64 -31 0 + -1 sprites/fix_graphics.png 2 774 09 31 64 -31 0 + -1 sprites/fix_graphics.png 82 774 09 31 64 -31 0 +// Fix city airport's grass for tropical + -1 * 6 07 83 01 \7! 02 0A + -1 * 5 0A 01 09 4C 0A + -1 sprites/fix_graphics.png 194 774 09 31 64 -31 0 + -1 sprites/fix_graphics.png 274 774 09 31 64 -31 0 + -1 sprites/fix_graphics.png 354 774 09 31 64 -31 0 + -1 sprites/fix_graphics.png 434 774 09 31 64 -31 0 + -1 sprites/fix_graphics.png 514 774 09 31 64 -31 0 + -1 sprites/fix_graphics.png 594 774 09 31 64 -31 0 + -1 sprites/fix_graphics.png 674 774 09 31 64 -31 0 + -1 sprites/fix_graphics.png 2 822 09 31 64 -31 0 + -1 sprites/fix_graphics.png 82 822 09 31 64 -31 0 +// Fix city airport's grass for toyland + -1 * 6 07 83 01 \7! 03 0A + -1 * 5 0A 01 09 4C 0A + -1 sprites/fix_graphics.png 194 822 09 31 64 -31 0 + -1 sprites/fix_graphics.png 274 822 09 31 64 -31 0 + -1 sprites/fix_graphics.png 354 822 09 31 64 -31 0 + -1 sprites/fix_graphics.png 434 822 09 31 64 -31 0 + -1 sprites/fix_graphics.png 514 822 09 31 64 -31 0 + -1 sprites/fix_graphics.png 594 822 09 31 64 -31 0 + -1 sprites/fix_graphics.png 674 822 09 31 64 -31 0 + -1 sprites/fix_graphics.png 2 870 09 31 64 -31 0 + -1 sprites/fix_graphics.png 82 870 09 31 64 -31 0 +// Fix buoy in-game; don't show black outline + -1 * 4 01 05 01 \b1 + -1 sprites/fix_graphics.png 575 490 09 11 7 7 4 + -1 * 7 02 05 17 01 00 00 00 + -1 * 7 03 05 01 08 00 17 00 diff --git a/media/extra_grf/fix_graphics.png b/media/extra_grf/fix_graphics.png index ec95b6e34671da8a406eb11b8a99b448bbb99d8d..57c9aac890182b3d3b8605ddd112c1592a235acd 100644 GIT binary patch delta 35968 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 bVUGB;2cBE*E7z<6Mj?ZztDnm{r-UW|ks`3v diff --git a/src/ai/api/ai_changelog.hpp b/src/ai/api/ai_changelog.hpp index 40a687f508..be70739ad9 100644 --- a/src/ai/api/ai_changelog.hpp +++ b/src/ai/api/ai_changelog.hpp @@ -15,6 +15,11 @@ * functions may still be available if you return an older API version * in GetAPIVersion() in info.nut. * + * \b 1.1.4 + * + * API additions: + * \li AIVehicle::ERR_VEHICLE_TOO_LONG in case vehicle length limit is reached. + * * \b 1.1.3 * * No changes diff --git a/src/ai/api/ai_object.hpp b/src/ai/api/ai_object.hpp index 06d0f9edb2..02311745ff 100644 --- a/src/ai/api/ai_object.hpp +++ b/src/ai/api/ai_object.hpp @@ -37,6 +37,7 @@ typedef bool (AIModeProc)(); class AIObject : public SimpleCountedObject { friend void CcAI(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2); friend class AIInstance; +friend class AIController; protected: /** * Executes a raw DoCommand for the AI. diff --git a/src/ai/api/ai_vehicle.hpp b/src/ai/api/ai_vehicle.hpp index 9477e879e3..dbce04811f 100644 --- a/src/ai/api/ai_vehicle.hpp +++ b/src/ai/api/ai_vehicle.hpp @@ -65,6 +65,8 @@ public: /** Vehicle is without power */ ERR_VEHICLE_NO_POWER, // [STR_ERROR_TRAIN_START_NO_CATENARY] + /** Vehicle would get too long during construction. */ + ERR_VEHICLE_TOO_LONG, // [STR_ERROR_TRAIN_TOO_LONG] }; /** diff --git a/src/ai/api/ai_vehicle.hpp.sq b/src/ai/api/ai_vehicle.hpp.sq index 98fedbf332..e6caa5ae2c 100644 --- a/src/ai/api/ai_vehicle.hpp.sq +++ b/src/ai/api/ai_vehicle.hpp.sq @@ -47,6 +47,7 @@ void SQAIVehicle_Register(Squirrel *engine) SQAIVehicle.DefSQConst(engine, AIVehicle::ERR_VEHICLE_NOT_IN_DEPOT, "ERR_VEHICLE_NOT_IN_DEPOT"); SQAIVehicle.DefSQConst(engine, AIVehicle::ERR_VEHICLE_IN_FLIGHT, "ERR_VEHICLE_IN_FLIGHT"); SQAIVehicle.DefSQConst(engine, AIVehicle::ERR_VEHICLE_NO_POWER, "ERR_VEHICLE_NO_POWER"); + SQAIVehicle.DefSQConst(engine, AIVehicle::ERR_VEHICLE_TOO_LONG, "ERR_VEHICLE_TOO_LONG"); SQAIVehicle.DefSQConst(engine, AIVehicle::VT_RAIL, "VT_RAIL"); SQAIVehicle.DefSQConst(engine, AIVehicle::VT_ROAD, "VT_ROAD"); SQAIVehicle.DefSQConst(engine, AIVehicle::VT_WATER, "VT_WATER"); @@ -95,6 +96,7 @@ void SQAIVehicle_Register(Squirrel *engine) AIError::RegisterErrorMap(STR_ERROR_SHIP_MUST_BE_STOPPED_INSIDE_DEPOT, AIVehicle::ERR_VEHICLE_NOT_IN_DEPOT); AIError::RegisterErrorMap(STR_ERROR_AIRCRAFT_IS_IN_FLIGHT, AIVehicle::ERR_VEHICLE_IN_FLIGHT); AIError::RegisterErrorMap(STR_ERROR_TRAIN_START_NO_CATENARY, AIVehicle::ERR_VEHICLE_NO_POWER); + AIError::RegisterErrorMap(STR_ERROR_TRAIN_TOO_LONG, AIVehicle::ERR_VEHICLE_TOO_LONG); AIError::RegisterErrorMapString(AIVehicle::ERR_VEHICLE_TOO_MANY, "ERR_VEHICLE_TOO_MANY"); AIError::RegisterErrorMapString(AIVehicle::ERR_VEHICLE_NOT_AVAILABLE, "ERR_VEHICLE_NOT_AVAILABLE"); @@ -108,6 +110,7 @@ void SQAIVehicle_Register(Squirrel *engine) AIError::RegisterErrorMapString(AIVehicle::ERR_VEHICLE_NOT_IN_DEPOT, "ERR_VEHICLE_NOT_IN_DEPOT"); AIError::RegisterErrorMapString(AIVehicle::ERR_VEHICLE_IN_FLIGHT, "ERR_VEHICLE_IN_FLIGHT"); AIError::RegisterErrorMapString(AIVehicle::ERR_VEHICLE_NO_POWER, "ERR_VEHICLE_NO_POWER"); + AIError::RegisterErrorMapString(AIVehicle::ERR_VEHICLE_TOO_LONG, "ERR_VEHICLE_TOO_LONG"); SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::IsValidVehicle, "IsValidVehicle", 2, ".i"); SQAIVehicle.DefSQStaticMethod(engine, &AIVehicle::GetNumWagons, "GetNumWagons", 2, ".i"); diff --git a/src/newgrf.cpp b/src/newgrf.cpp index d89752e085..25830d4bef 100644 --- a/src/newgrf.cpp +++ b/src/newgrf.cpp @@ -4713,15 +4713,15 @@ static void FeatureNewName(ByteReader *buf) if (!generic) { Engine *e = GetNewEngine(_cur_grffile, (VehicleType)feature, id, HasBit(_cur_grfconfig->flags, GCF_STATIC)); if (e == NULL) break; - StringID string = AddGRFString(_cur_grffile->grfid, e->index, lang, new_scheme, name, e->info.string_id); + StringID string = AddGRFString(_cur_grffile->grfid, e->index, lang, false, new_scheme, name, e->info.string_id); e->info.string_id = string; } else { - AddGRFString(_cur_grffile->grfid, id, lang, new_scheme, name, STR_UNDEFINED); + AddGRFString(_cur_grffile->grfid, id, lang, new_scheme, true, name, STR_UNDEFINED); } break; case GSF_INDUSTRIES: { - AddGRFString(_cur_grffile->grfid, id, lang, new_scheme, name, STR_UNDEFINED); + AddGRFString(_cur_grffile->grfid, id, lang, new_scheme, true, name, STR_UNDEFINED); break; } @@ -4733,7 +4733,7 @@ static void FeatureNewName(ByteReader *buf) grfmsg(1, "FeatureNewName: Attempt to name undefined station 0x%X, ignoring", GB(id, 0, 8)); } else { StationClassID cls_id = _cur_grffile->stations[GB(id, 0, 8)]->cls_id; - StationClass::SetName(cls_id, AddGRFString(_cur_grffile->grfid, id, lang, new_scheme, name, STR_UNDEFINED)); + StationClass::SetName(cls_id, AddGRFString(_cur_grffile->grfid, id, lang, new_scheme, false, name, STR_UNDEFINED)); } break; @@ -4741,7 +4741,7 @@ static void FeatureNewName(ByteReader *buf) if (_cur_grffile->stations == NULL || _cur_grffile->stations[GB(id, 0, 8)] == NULL) { grfmsg(1, "FeatureNewName: Attempt to name undefined station 0x%X, ignoring", GB(id, 0, 8)); } else { - _cur_grffile->stations[GB(id, 0, 8)]->name = AddGRFString(_cur_grffile->grfid, id, lang, new_scheme, name, STR_UNDEFINED); + _cur_grffile->stations[GB(id, 0, 8)]->name = AddGRFString(_cur_grffile->grfid, id, lang, new_scheme, false, name, STR_UNDEFINED); } break; @@ -4749,7 +4749,7 @@ static void FeatureNewName(ByteReader *buf) if (_cur_grffile->airtspec == NULL || _cur_grffile->airtspec[GB(id, 0, 8)] == NULL) { grfmsg(1, "FeatureNewName: Attempt to name undefined airport tile 0x%X, ignoring", GB(id, 0, 8)); } else { - _cur_grffile->airtspec[GB(id, 0, 8)]->name = AddGRFString(_cur_grffile->grfid, id, lang, new_scheme, name, STR_UNDEFINED); + _cur_grffile->airtspec[GB(id, 0, 8)]->name = AddGRFString(_cur_grffile->grfid, id, lang, new_scheme, false, name, STR_UNDEFINED); } break; @@ -4757,7 +4757,7 @@ static void FeatureNewName(ByteReader *buf) if (_cur_grffile->housespec == NULL || _cur_grffile->housespec[GB(id, 0, 8)] == NULL) { grfmsg(1, "FeatureNewName: Attempt to name undefined house 0x%X, ignoring.", GB(id, 0, 8)); } else { - _cur_grffile->housespec[GB(id, 0, 8)]->building_name = AddGRFString(_cur_grffile->grfid, id, lang, new_scheme, name, STR_UNDEFINED); + _cur_grffile->housespec[GB(id, 0, 8)]->building_name = AddGRFString(_cur_grffile->grfid, id, lang, new_scheme, false, name, STR_UNDEFINED); } break; @@ -4766,7 +4766,7 @@ static void FeatureNewName(ByteReader *buf) case 0xD2: case 0xD3: case 0xDC: - AddGRFString(_cur_grffile->grfid, id, lang, new_scheme, name, STR_UNDEFINED); + AddGRFString(_cur_grffile->grfid, id, lang, new_scheme, true, name, STR_UNDEFINED); break; default: @@ -5436,11 +5436,11 @@ static void ScanInfo(ByteReader *buf) /* GRF IDs starting with 0xFF are reserved for internal TTDPatch use */ if (GB(grfid, 24, 8) == 0xFF) SetBit(_cur_grfconfig->flags, GCF_SYSTEM); - AddGRFTextToList(&_cur_grfconfig->name->text, 0x7F, grfid, name); + AddGRFTextToList(&_cur_grfconfig->name->text, 0x7F, grfid, false, name); if (buf->HasData()) { const char *info = buf->ReadString(); - AddGRFTextToList(&_cur_grfconfig->info->text, 0x7F, grfid, info); + AddGRFTextToList(&_cur_grfconfig->info->text, 0x7F, grfid, true, info); } /* GLS_INFOSCAN only looks for the action 8, so we can skip the rest of the file */ @@ -5607,7 +5607,7 @@ static void GRFLoadError(ByteReader *buf) if (buf->HasData()) { const char *message = buf->ReadString(); - error->custom_message = TranslateTTDPatchCodes(_cur_grffile->grfid, lang, message); + error->custom_message = TranslateTTDPatchCodes(_cur_grffile->grfid, lang, true, message); } else { grfmsg(7, "GRFLoadError: No custom message supplied."); error->custom_message = strdup(""); @@ -5619,7 +5619,7 @@ static void GRFLoadError(ByteReader *buf) if (buf->HasData()) { const char *data = buf->ReadString(); - error->data = TranslateTTDPatchCodes(_cur_grffile->grfid, lang, data); + error->data = TranslateTTDPatchCodes(_cur_grffile->grfid, lang, true, data); } else { grfmsg(7, "GRFLoadError: No message data supplied."); error->data = strdup(""); @@ -6157,11 +6157,11 @@ static void FeatureTownName(ByteReader *buf) const char *name = buf->ReadString(); - char *lang_name = TranslateTTDPatchCodes(grfid, lang, name); + char *lang_name = TranslateTTDPatchCodes(grfid, lang, false, name); grfmsg(6, "FeatureTownName: lang 0x%X -> '%s'", lang, lang_name); free(lang_name); - townname->name[nb_gen] = AddGRFString(grfid, id, lang, new_scheme, name, STR_UNDEFINED); + townname->name[nb_gen] = AddGRFString(grfid, id, lang, new_scheme, false, name, STR_UNDEFINED); lang = buf->ReadByte(); } while (lang != 0); @@ -6201,7 +6201,7 @@ static void FeatureTownName(ByteReader *buf) townname->partlist[id][i].parts[j].data.id = ref_id; } else { const char *text = buf->ReadString(); - townname->partlist[id][i].parts[j].data.text = TranslateTTDPatchCodes(grfid, 0, text); + townname->partlist[id][i].parts[j].data.text = TranslateTTDPatchCodes(grfid, 0, false, text); grfmsg(6, "FeatureTownName: part %d, text %d, '%s' (with probability %d)", i, j, townname->partlist[id][i].parts[j].data.text, prob); } townname->partlist[id][i].parts[j].prob = prob; @@ -6498,21 +6498,21 @@ static void TranslateGRFStrings(ByteReader *buf) * new_scheme has to be true as well. A language id of 0x7F will be * overridden by a non-generic id, so this will not change anything if * a string has been provided specifically for this language. */ - AddGRFString(grfid, first_id + i, 0x7F, true, string, STR_UNDEFINED); + AddGRFString(grfid, first_id + i, 0x7F, true, true, string, STR_UNDEFINED); } } /** Callback function for 'INFO'->'NAME' to add a translation to the newgrf name. */ static bool ChangeGRFName(byte langid, const char *str) { - AddGRFTextToList(&_cur_grfconfig->name->text, langid, _cur_grfconfig->ident.grfid, str); + AddGRFTextToList(&_cur_grfconfig->name->text, langid, _cur_grfconfig->ident.grfid, false, str); return true; } /** Callback function for 'INFO'->'DESC' to add a translation to the newgrf description. */ static bool ChangeGRFDescription(byte langid, const char *str) { - AddGRFTextToList(&_cur_grfconfig->info->text, langid, _cur_grfconfig->ident.grfid, str); + AddGRFTextToList(&_cur_grfconfig->info->text, langid, _cur_grfconfig->ident.grfid, true, str); return true; } @@ -6592,14 +6592,14 @@ static GRFParameterInfo *_cur_parameter; ///< The parameter which info is curren /** Callback function for 'INFO'->'PARAM'->param_num->'NAME' to set the name of a parameter. */ static bool ChangeGRFParamName(byte langid, const char *str) { - AddGRFTextToList(&_cur_parameter->name, langid, _cur_grfconfig->ident.grfid, str); + AddGRFTextToList(&_cur_parameter->name, langid, _cur_grfconfig->ident.grfid, false, str); return true; } /** Callback function for 'INFO'->'PARAM'->param_num->'DESC' to set the description of a parameter. */ static bool ChangeGRFParamDescription(byte langid, const char *str) { - AddGRFTextToList(&_cur_parameter->desc, langid, _cur_grfconfig->ident.grfid, str); + AddGRFTextToList(&_cur_parameter->desc, langid, _cur_grfconfig->ident.grfid, true, str); return true; } @@ -6779,10 +6779,10 @@ static bool ChangeGRFParamValueNames(ByteReader *buf) SmallPair *val_name = _cur_parameter->value_names.Find(id); if (val_name != _cur_parameter->value_names.End()) { - AddGRFTextToList(&val_name->second, langid, _cur_grfconfig->ident.grfid, name_string); + AddGRFTextToList(&val_name->second, langid, _cur_grfconfig->ident.grfid, false, name_string); } else { GRFText *list = NULL; - AddGRFTextToList(&list, langid, _cur_grfconfig->ident.grfid, name_string); + AddGRFTextToList(&list, langid, _cur_grfconfig->ident.grfid, false, name_string); _cur_parameter->value_names.Insert(id, list); } diff --git a/src/newgrf.h b/src/newgrf.h index 82430f6884..5d90b6a64b 100644 --- a/src/newgrf.h +++ b/src/newgrf.h @@ -27,6 +27,8 @@ enum CanalFeature { CF_DOCKS, CF_RIVER_SLOPE, CF_RIVER_EDGE, + CF_RIVER_GUI, + CF_BUOY, CF_END, }; diff --git a/src/newgrf_text.cpp b/src/newgrf_text.cpp index a4de993998..043c12b1aa 100644 --- a/src/newgrf_text.cpp +++ b/src/newgrf_text.cpp @@ -385,13 +385,14 @@ struct UnmappedChoiceList : ZeroedMemoryAllocator { /** * Translate TTDPatch string codes into something OpenTTD can handle (better). - * @param grfid The (NewGRF) ID associated with this string - * @param language_id The (NewGRF) language ID associated with this string. - * @param str The string to translate. - * @param [out] olen The length of the final string. + * @param grfid The (NewGRF) ID associated with this string + * @param language_id The (NewGRF) language ID associated with this string. + * @param allow_newlines Whether newlines are allowed in the string or not. + * @param str The string to translate. + * @param [out] olen The length of the final string. * @return The translated string. */ -char *TranslateTTDPatchCodes(uint32 grfid, uint8 language_id, const char *str, int *olen) +char *TranslateTTDPatchCodes(uint32 grfid, uint8 language_id, bool allow_newlines, const char *str, int *olen) { char *tmp = MallocT(strlen(str) * 10 + 1); // Allocate space to allow for expansion char *d = tmp; @@ -430,7 +431,13 @@ char *TranslateTTDPatchCodes(uint32 grfid, uint8 language_id, const char *str, i *d++ = *str++; break; case 0x0A: break; - case 0x0D: *d++ = 0x0A; break; + case 0x0D: + if (allow_newlines) { + *d++ = 0x0A; + } else { + grfmsg(1, "Detected newline in string that does not allow one"); + } + break; case 0x0E: d += Utf8Encode(d, SCC_TINYFONT); break; case 0x0F: d += Utf8Encode(d, SCC_BIGFONT); break; case 0x1F: @@ -639,13 +646,14 @@ void AddGRFTextToList(GRFText **list, GRFText *text_to_add) * @param list The list where the text should be added to. * @param langid The language of the new text. * @param grfid The grfid where this string is defined. + * @param allow_newlines Whether newlines are allowed in this string. * @param text_to_add The text to add to the list. * @note All text-codes will be translated. */ -void AddGRFTextToList(struct GRFText **list, byte langid, uint32 grfid, const char *text_to_add) +void AddGRFTextToList(struct GRFText **list, byte langid, uint32 grfid, bool allow_newlines, const char *text_to_add) { int len; - char *translatedtext = TranslateTTDPatchCodes(grfid, langid, text_to_add, &len); + char *translatedtext = TranslateTTDPatchCodes(grfid, langid, allow_newlines, text_to_add, &len); GRFText *newtext = GRFText::New(langid, translatedtext, len); free(translatedtext); @@ -682,7 +690,7 @@ GRFText *DuplicateGRFText(GRFText *orig) /** * Add the new read string into our structure. */ -StringID AddGRFString(uint32 grfid, uint16 stringid, byte langid_to_add, bool new_scheme, const char *text_to_add, StringID def_string) +StringID AddGRFString(uint32 grfid, uint16 stringid, byte langid_to_add, bool new_scheme, bool allow_newlines, const char *text_to_add, StringID def_string) { char *translatedtext; uint id; @@ -698,9 +706,9 @@ StringID AddGRFString(uint32 grfid, uint16 stringid, byte langid_to_add, bool ne langid_to_add = GRFLX_ENGLISH; } else { StringID ret = STR_EMPTY; - if (langid_to_add & GRFLB_GERMAN) ret = AddGRFString(grfid, stringid, GRFLX_GERMAN, true, text_to_add, def_string); - if (langid_to_add & GRFLB_FRENCH) ret = AddGRFString(grfid, stringid, GRFLX_FRENCH, true, text_to_add, def_string); - if (langid_to_add & GRFLB_SPANISH) ret = AddGRFString(grfid, stringid, GRFLX_SPANISH, true, text_to_add, def_string); + if (langid_to_add & GRFLB_GERMAN) ret = AddGRFString(grfid, stringid, GRFLX_GERMAN, true, allow_newlines, text_to_add, def_string); + if (langid_to_add & GRFLB_FRENCH) ret = AddGRFString(grfid, stringid, GRFLX_FRENCH, true, allow_newlines, text_to_add, def_string); + if (langid_to_add & GRFLB_SPANISH) ret = AddGRFString(grfid, stringid, GRFLX_SPANISH, true, allow_newlines, text_to_add, def_string); return ret; } } @@ -715,7 +723,7 @@ StringID AddGRFString(uint32 grfid, uint16 stringid, byte langid_to_add, bool ne if (id == lengthof(_grf_text)) return STR_EMPTY; int len; - translatedtext = TranslateTTDPatchCodes(grfid, langid_to_add, text_to_add, &len); + translatedtext = TranslateTTDPatchCodes(grfid, langid_to_add, allow_newlines, text_to_add, &len); GRFText *newtext = GRFText::New(langid_to_add, translatedtext, len); diff --git a/src/newgrf_text.h b/src/newgrf_text.h index 3531f5b94d..4a9d96af16 100644 --- a/src/newgrf_text.h +++ b/src/newgrf_text.h @@ -19,16 +19,16 @@ /** This character, the thorn ('รพ'), indicates a unicode string to NFO. */ static const WChar NFO_UTF8_IDENTIFIER = 0x00DE; -StringID AddGRFString(uint32 grfid, uint16 stringid, byte langid, bool new_scheme, const char *text_to_add, StringID def_string); +StringID AddGRFString(uint32 grfid, uint16 stringid, byte langid, bool new_scheme, bool allow_newlines, const char *text_to_add, StringID def_string); StringID GetGRFStringID(uint32 grfid, uint16 stringid); const char *GetGRFStringFromGRFText(const struct GRFText *text); const char *GetGRFStringPtr(uint16 stringid); void CleanUpStrings(); void SetCurrentGrfLangID(byte language_id); -char *TranslateTTDPatchCodes(uint32 grfid, uint8 language_id, const char *str, int *olen = NULL); +char *TranslateTTDPatchCodes(uint32 grfid, uint8 language_id, bool allow_newlines, const char *str, int *olen = NULL); struct GRFText *DuplicateGRFText(struct GRFText *orig); void AddGRFTextToList(struct GRFText **list, struct GRFText *text_to_add); -void AddGRFTextToList(struct GRFText **list, byte langid, uint32 grfid, const char *text_to_add); +void AddGRFTextToList(struct GRFText **list, byte langid, uint32 grfid, bool allow_newlines, const char *text_to_add); void AddGRFTextToList(struct GRFText **list, const char *text_to_add); void CleanUpGRFText(struct GRFText *grftext); diff --git a/src/station_cmd.cpp b/src/station_cmd.cpp index 6dafe74b4c..4d482b65c3 100644 --- a/src/station_cmd.cpp +++ b/src/station_cmd.cpp @@ -23,6 +23,7 @@ #include "newgrf_cargo.h" #include "newgrf_debug.h" #include "newgrf_station.h" +#include "newgrf_canal.h" /* For the buoy */ #include "pathfinder/yapf/yapf_cache.h" #include "road_internal.h" /* For drawing catenary/checking road removal */ #include "autoslope.h" @@ -2641,7 +2642,11 @@ draw_default_foundation: } } - if (IsBuoy(ti->tile) || IsDock(ti->tile) || (IsOilRig(ti->tile) && IsTileOnWater(ti->tile))) { + if (IsBuoy(ti->tile)) { + DrawWaterClassGround(ti); + SpriteID sprite = GetCanalSprite(CF_BUOY, ti->tile); + if (sprite != 0) total_offset = sprite - SPR_IMG_BUOY; + } else if (IsDock(ti->tile) || (IsOilRig(ti->tile) && IsTileOnWater(ti->tile))) { if (ti->tileh == SLOPE_FLAT) { DrawWaterClassGround(ti); } else {