1
0
Fork 0

Cleanup: Remove questionable syntax in track drawing

pull/7375/head
Johannes E. Krause 2019-03-12 20:41:37 +01:00 committed by PeterN
parent e6798ffdca
commit 43ced57794
1 changed files with 22 additions and 15 deletions

View File

@ -2285,23 +2285,30 @@ static void DrawTrackBits(TileInfo *ti, TrackBits track)
image = _track_sloped_sprites[ti->tileh - 1] + rti->base_sprites.track_y; image = _track_sloped_sprites[ti->tileh - 1] + rti->base_sprites.track_y;
} else { } else {
/* track on flat ground */ /* track on flat ground */
(image = rti->base_sprites.track_y, track == TRACK_BIT_Y) || switch (track) {
(image++, track == TRACK_BIT_X) || /* single track, select combined track + ground sprite*/
(image++, track == TRACK_BIT_UPPER) || case TRACK_BIT_Y: image = rti->base_sprites.track_y; break;
(image++, track == TRACK_BIT_LOWER) || case TRACK_BIT_X: image = rti->base_sprites.track_y + 1; break;
(image++, track == TRACK_BIT_RIGHT) || case TRACK_BIT_UPPER: image = rti->base_sprites.track_y + 2; break;
(image++, track == TRACK_BIT_LEFT) || case TRACK_BIT_LOWER: image = rti->base_sprites.track_y + 3; break;
(image++, track == TRACK_BIT_CROSS) || case TRACK_BIT_RIGHT: image = rti->base_sprites.track_y + 4; break;
case TRACK_BIT_LEFT: image = rti->base_sprites.track_y + 5; break;
case TRACK_BIT_CROSS: image = rti->base_sprites.track_y + 6; break;
(image = rti->base_sprites.track_ns, track == TRACK_BIT_HORZ) || /* double diagonal track, select combined track + ground sprite*/
(image++, track == TRACK_BIT_VERT) || case TRACK_BIT_HORZ: image = rti->base_sprites.track_ns; break;
case TRACK_BIT_VERT: image = rti->base_sprites.track_ns + 1; break;
(junction = true, false) || /* junction, select only ground sprite, handle track sprite later */
(image = rti->base_sprites.ground, (track & TRACK_BIT_3WAY_NE) == 0) || default:
(image++, (track & TRACK_BIT_3WAY_SW) == 0) || junction = true;
(image++, (track & TRACK_BIT_3WAY_NW) == 0) || if ((track & TRACK_BIT_3WAY_NE) == 0) { image = rti->base_sprites.ground; break; }
(image++, (track & TRACK_BIT_3WAY_SE) == 0) || if ((track & TRACK_BIT_3WAY_SW) == 0) { image = rti->base_sprites.ground + 1; break; }
(image++, true); if ((track & TRACK_BIT_3WAY_NW) == 0) { image = rti->base_sprites.ground + 2; break; }
if ((track & TRACK_BIT_3WAY_SE) == 0) { image = rti->base_sprites.ground + 3; break; }
image = rti->base_sprites.ground + 4;
break;
}
} }
switch (rgt) { switch (rgt) {