diff options
author | peter1138 <peter1138@openttd.org> | 2006-05-03 20:35:41 +0000 |
---|---|---|
committer | peter1138 <peter1138@openttd.org> | 2006-05-03 20:35:41 +0000 |
commit | 76411cef63faacc4428213e828b11f1f6abd1d9e (patch) | |
tree | c9f7992fc600efd538023379e91521d3a9ac21d3 /rail_cmd.c | |
parent | 6b01384faf48c19968ed1ccef1d3f4f487908794 (diff) | |
download | openttd-76411cef63faacc4428213e828b11f1f6abd1d9e.tar.xz |
(svn r4719) - Newstations: instead of drawing nothing, fall back to the default sprite layout if a station layout specifies so.
Diffstat (limited to 'rail_cmd.c')
-rw-r--r-- | rail_cmd.c | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/rail_cmd.c b/rail_cmd.c index 3435b4a49..16cad05ab 100644 --- a/rail_cmd.c +++ b/rail_cmd.c @@ -1335,21 +1335,24 @@ static void DrawTile_Track(TileInfo *ti) * should be drawn in company colors, and it's * up to the GRF file to decide that. */ - image = cust->ground_sprite; - image += (image < _custom_sprites_base) ? rti->total_offset : rti->custom_ground_offset; + /* If there is no sprite layout, we fall back to the default waypoint graphics. */ + if (cust != NULL && cust->seq != NULL) { + image = cust->ground_sprite; + image += (image < _custom_sprites_base) ? rti->total_offset : rti->custom_ground_offset; - DrawGroundSprite(image); + DrawGroundSprite(image); - if (GetRailType(ti->tile) == RAILTYPE_ELECTRIC) DrawCatenary(ti); + if (GetRailType(ti->tile) == RAILTYPE_ELECTRIC) DrawCatenary(ti); - foreach_draw_tile_seq(seq, cust->seq) { - DrawSpecialBuilding( - seq->image + relocation, 0, ti, - seq->delta_x, seq->delta_y, seq->delta_z, - seq->width, seq->height, seq->unk - ); + foreach_draw_tile_seq(seq, cust->seq) { + DrawSpecialBuilding( + seq->image + relocation, 0, ti, + seq->delta_x, seq->delta_y, seq->delta_z, + seq->width, seq->height, seq->unk + ); + } + return; } - return; } } @@ -1357,7 +1360,7 @@ static void DrawTile_Track(TileInfo *ti) image = drss++->image; /* @note This is kind of an ugly hack, as the PALETTE_MODIFIER_COLOR indicates - * whether the sprite is railtype dependent. Rewrite this asap */ + * whether the sprite is railtype dependent. Rewrite this asap */ if (image & PALETTE_MODIFIER_COLOR) image = (image & SPRITE_MASK) + rti->total_offset; // adjust ground tile for desert |