# HG changeset patch # User tron # Date 1111993371 0 # Node ID 4e39d1da10c75dff10bef8bc8cb954e30c45b016 # Parent 58d173b56509053c38c6a601347c25b618f49f77 (svn r2094) In GetTileDesc_Track(): uint -> TileIndex, use enums, if () cascade -> switch diff -r 58d173b56509 -r 4e39d1da10c7 rail_cmd.c --- a/rail_cmd.c Sun Mar 27 18:15:27 2005 +0000 +++ b/rail_cmd.c Mon Mar 28 07:02:51 2005 +0000 @@ -1938,30 +1938,32 @@ } -static void GetTileDesc_Track(uint tile, TileDesc *td) +static void GetTileDesc_Track(TileIndex tile, TileDesc *td) { - byte m5 = _map5[tile]; - if (!(m5 & 0x80)) { - if(!(m5 & 0x40)) // no signals + td->owner = _map_owner[tile]; + switch (_map5[tile] & RAIL_TYPE_MASK) { + case RAIL_TYPE_NORMAL: td->str = STR_1021_RAILROAD_TRACK; - else - { - switch(_map3_hi[tile] & 0x03) - { - case 0: td->str = STR_RAILROAD_TRACK_WITH_NORMAL_SIGNALS; - break; - case 1: td->str = STR_RAILROAD_TRACK_WITH_PRESIGNALS; - break; - case 2: td->str = STR_RAILROAD_TRACK_WITH_EXITSIGNALS; - break; - case 3: td->str = STR_RAILROAD_TRACK_WITH_COMBOSIGNALS; - break; - } + break; + + case RAIL_TYPE_SIGNALS: { + const StringID signal_type[] = { + STR_RAILROAD_TRACK_WITH_NORMAL_SIGNALS, + STR_RAILROAD_TRACK_WITH_PRESIGNALS, + STR_RAILROAD_TRACK_WITH_EXITSIGNALS, + STR_RAILROAD_TRACK_WITH_COMBOSIGNALS + }; + + td->str = signal_type[_map3_hi[tile] & 0x03]; + break; } - } else { - td->str = m5 < 0xC4 ? STR_1023_RAILROAD_TRAIN_DEPOT : STR_LANDINFO_WAYPOINT; + + case RAIL_TYPE_DEPOT: + default: + td->str = ((_map5[tile] & RAIL_SUBTYPE_MASK) == RAIL_SUBTYPE_DEPOT) ? + STR_1023_RAILROAD_TRAIN_DEPOT : STR_LANDINFO_WAYPOINT; + break; } - td->owner = _map_owner[tile]; } static void ChangeTileOwner_Track(uint tile, byte old_player, byte new_player)