tunnelbridge_cmd.c
changeset 3773 0019b5f70ea9
parent 3657 eb28d97d3d18
child 3774 898b225669bb
equal deleted inserted replaced
3772:f2cf079d7afe 3773:0019b5f70ea9
  1355 				return 4;
  1355 				return 4;
  1356 			}
  1356 			}
  1357 		}
  1357 		}
  1358 	} else if (IsBridge(tile)) { // XXX is this necessary?
  1358 	} else if (IsBridge(tile)) { // XXX is this necessary?
  1359 		if (v->type == VEH_Road || (v->type == VEH_Train && IsFrontEngine(v))) {
  1359 		if (v->type == VEH_Road || (v->type == VEH_Train && IsFrontEngine(v))) {
  1360 			uint h;
  1360 			uint h = GetTileMaxZ(tile);
  1361 
  1361 
  1362 			// Compensate for possible foundation
       
  1363 			if (GetTileSlope(tile, &h) != SLOPE_FLAT) h += TILE_HEIGHT;
       
  1364 			if (IsBridgeRamp(tile) ||
  1362 			if (IsBridgeRamp(tile) ||
  1365 					myabs(h - v->z_pos) > 2) { // high above the ground -> on the bridge
  1363 					myabs(h - v->z_pos) > 2) { // high above the ground -> on the bridge
  1366 				/* modify speed of vehicle */
  1364 				/* modify speed of vehicle */
  1367 				uint16 spd = _bridge[GetBridgeType(tile)].speed;
  1365 				uint16 spd = _bridge[GetBridgeType(tile)].speed;
  1368 				if (v->type == VEH_Road) spd *= 2;
  1366 				if (v->type == VEH_Road) spd *= 2;