From 1dc8b1a00e98ea9d177b1193d8e0b9a4fc98bacd Mon Sep 17 00:00:00 2001 From: tron Date: Sat, 20 May 2006 18:03:22 +0000 Subject: (svn r4927) Replace 3 big ifs (which regard foundations) by a bit less confusing code --- road_cmd.c | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) (limited to 'road_cmd.c') diff --git a/road_cmd.c b/road_cmd.c index 52c2df2b2..7bb7bebd2 100644 --- a/road_cmd.c +++ b/road_cmd.c @@ -659,24 +659,25 @@ typedef struct DrawRoadSeqStruct { uint GetRoadFoundation(Slope tileh, RoadBits bits) { - int i; + uint i; + // normal level sloped building if ((~_valid_tileh_slopes_road[1][tileh] & bits) == 0) return tileh; // inclined sloped building - if (( - (i = 0, tileh == SLOPE_W) || - (i += 2, tileh == SLOPE_S) || - (i += 2, tileh == SLOPE_E) || - (i += 2, tileh == SLOPE_N) - ) && ( - ( bits == ROAD_X) || - (i++, bits == ROAD_Y) - )) { - return i + 15; + switch (bits) { + case ROAD_X: i = 0; break; + case ROAD_Y: i = 1; break; + default: return 0; } - - return 0; + switch (tileh) { + case SLOPE_W: i += 0; break; + case SLOPE_S: i += 2; break; + case SLOPE_E: i += 4; break; + case SLOPE_N: i += 6; break; + default: return 0; + } + return i + 15; } const byte _road_sloped_sprites[14] = { -- cgit v1.2.3-70-g09d2