From 9101d2e2d2d6c80506f089d6dae418a8c4b9257c Mon Sep 17 00:00:00 2001 From: michi_cc Date: Wed, 15 Feb 2012 21:23:48 +0000 Subject: [PATCH] (svn r23952) -Feature: [NewGRF] Customisable tunnel portals for rail types (sprites by Snail). --- bin/baseset/openttd.grf | Bin 831219 -> 852958 bytes bin/baseset/orig_dos.obg | 2 +- bin/baseset/orig_dos_de.obg | 2 +- bin/baseset/orig_win.obg | 2 +- media/extra_grf/openttd.nfo | 1 + media/extra_grf/tunnel_portals.nfo | 74 +++++++++++++++++++++++++++++ media/extra_grf/tunnel_portals.png | Bin 0 -> 18680 bytes src/newgrf.cpp | 1 + src/rail.h | 1 + src/table/sprites.h | 6 ++- src/tunnelbridge_cmd.cpp | 19 ++++++-- 11 files changed, 100 insertions(+), 8 deletions(-) create mode 100644 media/extra_grf/tunnel_portals.nfo create mode 100644 media/extra_grf/tunnel_portals.png diff --git a/bin/baseset/openttd.grf b/bin/baseset/openttd.grf index 4fa97ccaca9784ce2141fe5f0534bbb4eaa345b2..9b5c9badb35361933a6626fce106de134bf36f11 100644 GIT binary patch delta 21968 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. +// + + -1 * 63 0C "Tunnel portal overlays for railtypes by Snail (Jacopo Coletto)" + +// Tropical sprites. + -1 * 6 07 83 01 \7! 02 11 + -1 * 3 05 17 10 + -1 sprites/tunnel_portals.png 5 88 01 33 35 -31 -2 + -1 sprites/tunnel_portals.png 43 88 01 37 40 -7 -38 + -1 sprites/tunnel_portals.png 86 88 01 21 35 -31 0 + -1 sprites/tunnel_portals.png 124 88 01 22 40 -7 -29 + -1 sprites/tunnel_portals.png 168 88 01 21 35 -2 0 + -1 sprites/tunnel_portals.png 206 88 01 22 40 -31 -29 + -1 sprites/tunnel_portals.png 249 88 01 33 35 -2 -2 + -1 sprites/tunnel_portals.png 287 88 01 37 40 -31 -38 + -1 sprites/tunnel_portals.png 5 170 01 33 35 -31 -2 + -1 sprites/tunnel_portals.png 43 170 01 37 40 -7 -38 + -1 sprites/tunnel_portals.png 86 170 01 21 35 -31 0 + -1 sprites/tunnel_portals.png 124 170 01 22 40 -7 -29 + -1 sprites/tunnel_portals.png 168 170 01 21 35 -2 0 + -1 sprites/tunnel_portals.png 206 170 01 22 40 -31 -29 + -1 sprites/tunnel_portals.png 249 170 01 33 35 -2 -2 + -1 sprites/tunnel_portals.png 287 170 01 37 40 -31 -38 + +// Temperate grass + snow sprites. + -1 * 6 07 83 01 \7= 02 25 + -1 * 3 05 17 10 + -1 sprites/tunnel_portals.png 5 6 01 33 35 -31 -2 + -1 sprites/tunnel_portals.png 43 6 01 37 40 -7 -38 + -1 sprites/tunnel_portals.png 86 6 01 21 35 -31 0 + -1 sprites/tunnel_portals.png 124 6 01 22 40 -7 -29 + -1 sprites/tunnel_portals.png 168 6 01 21 35 -2 0 + -1 sprites/tunnel_portals.png 206 6 01 22 40 -31 -29 + -1 sprites/tunnel_portals.png 249 6 01 33 35 -2 -2 + -1 sprites/tunnel_portals.png 287 6 01 37 40 -31 -38 + -1 sprites/tunnel_portals.png 5 129 01 33 35 -31 -2 + -1 sprites/tunnel_portals.png 43 129 01 37 40 -7 -38 + -1 sprites/tunnel_portals.png 86 129 01 21 35 -31 0 + -1 sprites/tunnel_portals.png 124 129 01 22 40 -7 -29 + -1 sprites/tunnel_portals.png 168 129 01 21 35 -2 0 + -1 sprites/tunnel_portals.png 206 129 01 22 40 -31 -29 + -1 sprites/tunnel_portals.png 249 129 01 33 35 -2 -2 + -1 sprites/tunnel_portals.png 287 129 01 37 40 -31 -38 + +// Arctic grass sprites. + -1 * 6 07 83 01 \7! 01 09 + -1 * 4 05 97 08 00 + -1 sprites/tunnel_portals.png 5 47 01 33 35 -31 -2 + -1 sprites/tunnel_portals.png 43 47 01 37 40 -7 -38 + -1 sprites/tunnel_portals.png 86 47 01 21 35 -31 0 + -1 sprites/tunnel_portals.png 124 47 01 22 40 -7 -29 + -1 sprites/tunnel_portals.png 168 47 01 21 35 -2 0 + -1 sprites/tunnel_portals.png 206 47 01 22 40 -31 -29 + -1 sprites/tunnel_portals.png 249 47 01 33 35 -2 -2 + -1 sprites/tunnel_portals.png 287 47 01 37 40 -31 -38 + +// Toyland sprites. + -1 * 6 07 83 01 \7! 03 09 + -1 * 4 05 97 08 00 + -1 sprites/tunnel_portals.png 5 211 01 33 35 -31 -2 + -1 sprites/tunnel_portals.png 43 211 01 37 40 -7 -38 + -1 sprites/tunnel_portals.png 86 211 01 21 35 -31 0 + -1 sprites/tunnel_portals.png 124 211 01 22 40 -7 -29 + -1 sprites/tunnel_portals.png 168 211 01 21 35 -2 0 + -1 sprites/tunnel_portals.png 206 211 01 22 40 -31 -29 + -1 sprites/tunnel_portals.png 249 211 01 33 35 -2 -2 + -1 sprites/tunnel_portals.png 287 211 01 37 40 -31 -38 diff --git a/media/extra_grf/tunnel_portals.png b/media/extra_grf/tunnel_portals.png new file mode 100644 index 0000000000000000000000000000000000000000..00abd9c7ffbcc5fb7805695f83e2841339aff376 GIT binary patch literal 18680 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.tunnel; + const RailtypeInfo *rti = GetRailTypeInfo(GetRailType(ti->tile)); + image = rti->base_sprites.tunnel; + if (rti->UsesOverlay()) { + /* Check if the railtype has custom tunnel portals. */ + railtype_overlay = GetCustomRailSprite(rti, ti->tile, RTSG_TUNNEL_PORTAL); + if (railtype_overlay != 0) image = SPR_RAILTYPE_TUNNEL_BASE; // Draw blank grass tunnel base. + } } else { image = SPR_TUNNEL_ENTRY_REAR_ROAD; } - if (HasTunnelBridgeSnowOrDesert(ti->tile)) image += 32; + if (HasTunnelBridgeSnowOrDesert(ti->tile)) image += railtype_overlay != 0 ? 8 : 32; image += tunnelbridge_direction * 2; DrawGroundSprite(image, PAL_NONE); @@ -1164,9 +1171,13 @@ static void DrawTile_TunnelBridge(TileInfo *ti) } } - AddSortableSpriteToDraw(image + 1, PAL_NONE, ti->x + TILE_SIZE - 1, ti->y + TILE_SIZE - 1, BB_data[0], BB_data[1], TILE_HEIGHT, ti->z, false, BB_data[2], BB_data[3], BB_Z_SEPARATOR); + if (railtype_overlay != 0 && !catenary) StartSpriteCombine(); - if (catenary) EndSpriteCombine(); + AddSortableSpriteToDraw(image + 1, PAL_NONE, ti->x + TILE_SIZE - 1, ti->y + TILE_SIZE - 1, BB_data[0], BB_data[1], TILE_HEIGHT, ti->z, false, BB_data[2], BB_data[3], BB_Z_SEPARATOR); + /* Draw railtype tunnel portal overlay if defined. */ + if (railtype_overlay != 0) AddSortableSpriteToDraw(railtype_overlay + tunnelbridge_direction, PAL_NONE, ti->x + TILE_SIZE - 1, ti->y + TILE_SIZE - 1, BB_data[0], BB_data[1], TILE_HEIGHT, ti->z, false, BB_data[2], BB_data[3], BB_Z_SEPARATOR); + + if (catenary || railtype_overlay != 0) EndSpriteCombine(); /* Add helper BB for sprite sorting that separates the tunnel from things beside of it. */ AddSortableSpriteToDraw(SPR_EMPTY_BOUNDING_BOX, PAL_NONE, ti->x, ti->y, BB_data[6], BB_data[7], TILE_HEIGHT, ti->z);