Changeset - r8549:868ae7c78793
[Not reviewed]
master
0 1 0
belugas - 16 years ago 2008-02-13 03:21:19
belugas@openttd.org
(svn r12127) -Codechange: Use a variable instead of calling the same function a few times. Again. Just a different value.
1 file changed with 17 insertions and 13 deletions:
0 comments (0 inline, 0 general)
src/tunnelbridge_cmd.cpp
Show inline comments
 
@@ -455,13 +455,14 @@ CommandCost CmdBuildTunnel(TileIndex sta
 
	DiagDirection direction;
 
	Slope start_tileh;
 
	Slope end_tileh;
 
	TransportType transport_type = (TransportType)GB(p1, 9, 1);
 
	uint start_z;
 
	uint end_z;
 
	CommandCost cost(EXPENSES_CONSTRUCTION);
 
	CommandCost ret;
 

	
 
	_build_tunnel_endtile = 0;
 
	if (!HasBit(p1, 9)) {
 
	if (transport_type == TRANSPORT_RAIL) {
 
		if (!ValParamRailtype((RailType)p1)) return CMD_ERROR;
 
	} else {
 
		const RoadTypes rts = (RoadTypes)GB(p1, 0, 3);
 
@@ -544,7 +545,7 @@ CommandCost CmdBuildTunnel(TileIndex sta
 
	cost.AddCost(ret);
 

	
 
	if (flags & DC_EXEC) {
 
		if (GB(p1, 9, 1) == TRANSPORT_RAIL) {
 
		if (transport_type == TRANSPORT_RAIL) {
 
			MakeRailTunnel(start_tile, _current_player, direction,                 (RailType)GB(p1, 0, 4));
 
			MakeRailTunnel(end_tile,   _current_player, ReverseDiagDir(direction), (RailType)GB(p1, 0, 4));
 
			AddSideToSignalBuffer(start_tile, INVALID_DIAGDIR, _current_player);
 
@@ -804,6 +805,7 @@ static void DrawBridgeTramBits(int x, in
 
static void DrawTile_TunnelBridge(TileInfo *ti)
 
{
 
	SpriteID image;
 
	TransportType transport_type = GetTunnelBridgeTransportType(ti->tile);
 
	DiagDirection tunnelbridge_direction = GetTunnelBridgeDirection(ti->tile);
 

	
 
	if (IsTunnel(ti->tile)) {
 
@@ -828,7 +830,7 @@ static void DrawTile_TunnelBridge(TileIn
 

	
 
		bool catenary = false;
 

	
 
		if (GetTunnelBridgeTransportType(ti->tile) == TRANSPORT_RAIL) {
 
		if (transport_type == TRANSPORT_RAIL) {
 
			image = GetRailTypeInfo(GetRailType(ti->tile))->base_sprites.tunnel;
 
		} else {
 
			image = SPR_TUNNEL_ENTRY_REAR_ROAD;
 
@@ -838,7 +840,7 @@ static void DrawTile_TunnelBridge(TileIn
 

	
 
		image += tunnelbridge_direction * 2;
 
		DrawGroundSprite(image, PAL_NONE);
 
		if (GetTunnelBridgeTransportType(ti->tile) == TRANSPORT_ROAD) {
 
		if (transport_type == TRANSPORT_ROAD) {
 
			RoadTypes rts = GetRoadTypes(ti->tile);
 

	
 
			if (HasBit(rts, ROADTYPE_TRAM)) {
 
@@ -872,7 +874,7 @@ static void DrawTile_TunnelBridge(TileIn
 
		int base_offset;
 
		bool ice = HasTunnelBridgeSnowOrDesert(ti->tile);
 

	
 
		if (GetTunnelBridgeTransportType(ti->tile) == TRANSPORT_RAIL) {
 
		if (transport_type == TRANSPORT_RAIL) {
 
			base_offset = GetRailTypeInfo(GetRailType(ti->tile))->bridge_offset;
 
			assert(base_offset != 8); // This one is used for roads
 
		} else {
 
@@ -901,7 +903,7 @@ static void DrawTile_TunnelBridge(TileIn
 
		/* draw ramp */
 

	
 
		/* Draw Trambits as SpriteCombine */
 
		if (GetTunnelBridgeTransportType(ti->tile) == TRANSPORT_ROAD) StartSpriteCombine();
 
		if (transport_type == TRANSPORT_ROAD) StartSpriteCombine();
 

	
 
		/* HACK set the height of the BB of a sloped ramp to 1 so a vehicle on
 
		 * it doesn't disappear behind it
 
@@ -910,7 +912,7 @@ static void DrawTile_TunnelBridge(TileIn
 
			psid->sprite, psid->pal, ti->x, ti->y, 16, 16, ti->tileh == SLOPE_FLAT ? 0 : 8, ti->z, IsTransparencySet(TO_BRIDGES)
 
		);
 

	
 
		if (GetTunnelBridgeTransportType(ti->tile) == TRANSPORT_ROAD) {
 
		if (transport_type == TRANSPORT_ROAD) {
 
			RoadTypes rts = GetRoadTypes(ti->tile);
 

	
 
			if (HasBit(rts, ROADTYPE_TRAM)) {
 
@@ -992,6 +994,7 @@ void DrawBridgeMiddle(const TileInfo* ti
 
	uint base_offset;
 
	TileIndex rampnorth;
 
	TileIndex rampsouth;
 
	TransportType transport_type;
 
	Axis axis;
 
	uint piece;
 
	BridgeType type;
 
@@ -1003,6 +1006,7 @@ void DrawBridgeMiddle(const TileInfo* ti
 

	
 
	rampnorth = GetNorthernBridgeEnd(ti->tile);
 
	rampsouth = GetSouthernBridgeEnd(ti->tile);
 
	transport_type = GetTunnelBridgeTransportType(rampsouth);
 

	
 
	axis = GetBridgeAxis(ti->tile);
 
	piece = CalcBridgePiece(
 
@@ -1011,7 +1015,7 @@ void DrawBridgeMiddle(const TileInfo* ti
 
	);
 
	type = GetBridgeType(rampsouth);
 

	
 
	if (GetTunnelBridgeTransportType(rampsouth) == TRANSPORT_RAIL) {
 
	if (transport_type == TRANSPORT_RAIL) {
 
		base_offset = GetRailTypeInfo(GetRailType(rampsouth))->bridge_offset;
 
	} else {
 
		base_offset = 8;
 
@@ -1029,7 +1033,7 @@ void DrawBridgeMiddle(const TileInfo* ti
 
	AddSortableSpriteToDraw(SPR_EMPTY_BOUNDING_BOX, PAL_NONE, x, y, 16, 16, 1, bridge_z - TILE_HEIGHT + BB_Z_SEPARATOR);
 

	
 
	/* Draw Trambits as SpriteCombine */
 
	if (GetTunnelBridgeTransportType(rampsouth) == TRANSPORT_ROAD) StartSpriteCombine();
 
	if (transport_type == TRANSPORT_ROAD) StartSpriteCombine();
 

	
 
	/* Draw floor and far part of bridge*/
 
	if (axis == AXIS_X) {
 
@@ -1040,7 +1044,7 @@ void DrawBridgeMiddle(const TileInfo* ti
 

	
 
	psid++;
 

	
 
	if (GetTunnelBridgeTransportType(rampsouth) == TRANSPORT_ROAD) {
 
	if (transport_type == TRANSPORT_ROAD) {
 
		RoadTypes rts = GetRoadTypes(rampsouth);
 

	
 
		if (HasBit(rts, ROADTYPE_TRAM)) {
 
@@ -1064,7 +1068,7 @@ void DrawBridgeMiddle(const TileInfo* ti
 
	}
 

	
 
	/* Draw TramFront as SpriteCombine */
 
	if (GetTunnelBridgeTransportType(rampsouth) == TRANSPORT_ROAD) EndSpriteCombine();
 
	if (transport_type == TRANSPORT_ROAD) EndSpriteCombine();
 

	
 
	psid++;
 
	if (ti->z + 5 == z) {
 
@@ -1184,8 +1188,8 @@ static void ClickTile_TunnelBridge(TileI
 

	
 
static uint32 GetTileTrackStatus_TunnelBridge(TileIndex tile, TransportType mode, uint sub_mode)
 
{
 
	if (GetTunnelBridgeTransportType(tile) != mode) return 0;
 
	if (GetTunnelBridgeTransportType(tile) == TRANSPORT_ROAD && (GetRoadTypes(tile) & sub_mode) == 0) return 0;
 
	TransportType transport_type = GetTunnelBridgeTransportType(tile);
 
	if (transport_type != mode || (transport_type == TRANSPORT_ROAD && (GetRoadTypes(tile) & sub_mode) == 0)) return 0;
 
	return AxisToTrackBits(DiagDirToAxis(GetTunnelBridgeDirection(tile))) * 0x101;
 
}
 

	
0 comments (0 inline, 0 general)