diff options
author | tron <tron@openttd.org> | 2006-03-30 09:08:43 +0000 |
---|---|---|
committer | tron <tron@openttd.org> | 2006-03-30 09:08:43 +0000 |
commit | 410b5569fe85ee1c34fbcadd39d8c78801133411 (patch) | |
tree | 11bf0f9de75c2bc770acc39ef886696c744b9f4e | |
parent | a71ece5ffbf90491a164a03333fc55a44716e81b (diff) | |
download | openttd-410b5569fe85ee1c34fbcadd39d8c78801133411.tar.xz |
(svn r4164) Use acessor functions
-rw-r--r-- | elrail.c | 7 | ||||
-rw-r--r-- | openttd.c | 17 | ||||
-rw-r--r-- | road_cmd.c | 6 | ||||
-rw-r--r-- | tunnelbridge_cmd.c | 16 |
4 files changed, 26 insertions, 20 deletions
@@ -45,6 +45,7 @@ the pylon would be rectangular to the track). PPPs are represented by the Direct #include "stdafx.h" #include "openttd.h" +#include "station_map.h" #include "tile.h" #include "viewport.h" #include "functions.h" /* We should REALLY get rid of this goddamn file, as it is butt-ugly */ @@ -83,7 +84,7 @@ static TrackBits GetRailTrackBitsUniversal(TileIndex t, byte *override) if (IsTunnel(t)) { if (GetRailType(t) != RAILTYPE_ELECTRIC) return 0; if (override != NULL) *override = 1 << GetTunnelDirection(t); - return (_m[t].m5 & 1) ? TRACK_BIT_Y : TRACK_BIT_X; + return DiagDirToAxis(GetTunnelDirection(t)) == AXIS_X ? TRACK_BIT_X : TRACK_BIT_Y; } else { if (GetRailType(t) != RAILTYPE_ELECTRIC) return 0; if ( @@ -98,11 +99,11 @@ static TrackBits GetRailTrackBitsUniversal(TileIndex t, byte *override) } } case MP_STREET: - if ((_m[t].m4 & 0xF) != RAILTYPE_ELECTRIC) return 0; + if (GetRailTypeCrossing(t) != RAILTYPE_ELECTRIC) return 0; return GetCrossingRailBits(t); case MP_STATION: if (GetRailType(t) != RAILTYPE_ELECTRIC) return 0; - return _m[t].m5 & 1 ? TRACK_BIT_Y : TRACK_BIT_X; + return GetRailStationTrack(t); default: return 0; } @@ -13,6 +13,7 @@ #define VARDEF #include "openttd.h" +#include "bridge_map.h" #include "functions.h" #include "mixer.h" #include "spritecache.h" @@ -20,6 +21,8 @@ #include "gfxinit.h" #include "gui.h" #include "station.h" +#include "station_map.h" +#include "tunnel_map.h" #include "vehicle.h" #include "viewport.h" #include "window.h" @@ -1274,23 +1277,25 @@ bool AfterLoadGame(void) break; case MP_STATION: - if (_m[t].m5 < 8 && (GB(_m[t].m3, 0, 4) > RAILTYPE_RAIL || make_elrail)) AB(_m[t].m3, 0, 4, 1); + if (IsRailwayStation(t) && (GB(_m[t].m3, 0, 4) > RAILTYPE_RAIL || make_elrail)) AB(_m[t].m3, 0, 4, 1); break; case MP_TUNNELBRIDGE: - if (GB(_m[t].m5, 4, 4) == 0) { // tunnel? - if (GB(_m[t].m5, 2, 2) == 0) { // railway tunnel? + if (IsTunnel(t)) { + if (GetTunnelTransportType(t) == TRANSPORT_RAIL) { if (GB(_m[t].m3, 0, 4) > RAILTYPE_RAIL || make_elrail) AB(_m[t].m3, 0, 4, 1); } } else { - if (GB(_m[t].m5, 1, 2) == 0) { // railway bridge? - if (GB(_m[t].m5, 6, 1) == 0) { // bridge ending? + if (GetBridgeTransportType(t) == TRANSPORT_RAIL) { + if (IsBridgeRamp(t)) { if (GB(_m[t].m3, 0, 4) > RAILTYPE_RAIL || make_elrail) AB(_m[t].m3, 0, 4, 1); } else { if (GB(_m[t].m3, 4, 4) > RAILTYPE_RAIL || make_elrail) AB(_m[t].m3, 4, 4, 1); } } - if ((_m[t].m5 & 0xF8) == 0xE0) { // bridge middle part with rails below? + if (IsBridgeMiddle(t) && + IsTransportUnderBridge(t) && + GetTransportTypeUnderBridge(t) == TRANSPORT_RAIL) { if (GB(_m[t].m3, 0, 4) > RAILTYPE_RAIL || make_elrail) AB(_m[t].m3, 0, 4, 1); } } diff --git a/road_cmd.c b/road_cmd.c index 20505c959..8d40381c5 100644 --- a/road_cmd.c +++ b/road_cmd.c @@ -787,7 +787,7 @@ static void DrawTile_Road(TileInfo *ti) } DrawGroundSprite(image); - if (GB(_m[ti->tile].m4, 0, 4) == RAILTYPE_ELECTRIC) DrawCatenary(ti); + if (GetRailTypeCrossing(ti->tile) == RAILTYPE_ELECTRIC) DrawCatenary(ti); break; } @@ -1014,9 +1014,9 @@ static uint32 GetTileTrackStatus_Road(TileIndex tile, TransportType mode) 0 : _road_trackbits[GetRoadBits(tile)] * 0x101; case ROAD_CROSSING: { - uint32 r = (GetCrossingRoadAxis(tile) == AXIS_X ? TRACK_BIT_X : TRACK_BIT_Y) * 0x101; + uint32 r = GetCrossingRailBits(tile) * 0x101; - if (_m[tile].m5 & 4) r *= 0x10001; + if (IsCrossingBarred(tile)) r *= 0x10001; return r; } diff --git a/tunnelbridge_cmd.c b/tunnelbridge_cmd.c index 75cf7473f..d218e1596 100644 --- a/tunnelbridge_cmd.c +++ b/tunnelbridge_cmd.c @@ -1252,14 +1252,14 @@ static uint32 GetTileTrackStatus_TunnelBridge(TileIndex tile, TransportType mode return DiagDirToAxis(GetTunnelDirection(tile)) == AXIS_X ? 0x101 : 0x202; } } else if (IsBridge(tile)) { // XXX is this necessary? - /* This is a bridge */ - result = 0; - if (GetBridgeTransportType(tile) == mode) { - /* Transport over the bridge is compatible */ - result = (GetBridgeAxis(tile) == AXIS_X ? 0x101 : 0x202); - } - if (IsBridgeMiddle(tile)) { - /* Bridge middle part */ + if (IsBridgeRamp(tile)) { + if (GetBridgeTransportType(tile) != mode) return 0; + return (DiagDirToAxis(GetBridgeRampDirection(tile)) == AXIS_X ? TRACK_BIT_X : TRACK_BIT_Y) * 0x101; + } else { + result = 0; + if (GetBridgeTransportType(tile) == mode) { + result = (GetBridgeAxis(tile) == AXIS_X ? TRACK_BIT_X : TRACK_BIT_Y) * 0x101; + } if (IsTransportUnderBridge(tile)) { if (GetTransportTypeUnderBridge(tile) != mode) return result; } else { |