File diff r12108:f8d8164485bd → r12109:90df01928018
src/tunnelbridge_cmd.cpp
Show inline comments
 
@@ -1385,7 +1385,7 @@ static VehicleEnterTileStatus VehicleEnt
 
		DiagDirection vdir;
 

	
 
		if (v->type == VEH_TRAIN) {
 
			Train *t = (Train *)v;
 
			Train *t = Train::From(v);
 
			fc = (x & 0xF) + (y << 4);
 

	
 
			vdir = DirToDiagDir(t->direction);
 
@@ -1414,7 +1414,7 @@ static VehicleEnterTileStatus VehicleEnt
 
				return VETSB_ENTERED_WORMHOLE;
 
			}
 
		} else if (v->type == VEH_ROAD) {
 
			RoadVehicle *rv = (RoadVehicle *)v;
 
			RoadVehicle *rv = RoadVehicle::From(v);
 
			fc = (x & 0xF) + (y << 4);
 
			vdir = DirToDiagDir(v->direction);
 

	
 
@@ -1464,18 +1464,18 @@ static VehicleEnterTileStatus VehicleEnt
 
			}
 
			switch (v->type) {
 
				case VEH_TRAIN: {
 
					Train *t = (Train *)v;
 
					Train *t = Train::From(v);
 
					t->track = TRACK_BIT_WORMHOLE;
 
					ClrBit(t->flags, VRF_GOINGUP);
 
					ClrBit(t->flags, VRF_GOINGDOWN);
 
				} break;
 

	
 
				case VEH_ROAD:
 
					((RoadVehicle *)v)->state = RVSB_WORMHOLE;
 
					RoadVehicle::From(v)->state = RVSB_WORMHOLE;
 
					break;
 

	
 
				case VEH_SHIP:
 
					((Ship *)v)->state = TRACK_BIT_WORMHOLE;
 
					Ship::From(v)->state = TRACK_BIT_WORMHOLE;
 
					break;
 

	
 
				default: NOT_REACHED();
 
@@ -1485,7 +1485,7 @@ static VehicleEnterTileStatus VehicleEnt
 
			v->tile = tile;
 
			switch (v->type) {
 
				case VEH_TRAIN: {
 
					Train *t = (Train *)v;
 
					Train *t = Train::From(v);
 
					if (t->track == TRACK_BIT_WORMHOLE) {
 
						t->track = (DiagDirToAxis(dir) == AXIS_X ? TRACK_BIT_X : TRACK_BIT_Y);
 
						return VETSB_ENTERED_WORMHOLE;
 
@@ -1493,7 +1493,7 @@ static VehicleEnterTileStatus VehicleEnt
 
				} break;
 

	
 
				case VEH_ROAD: {
 
					RoadVehicle *rv = (RoadVehicle *)v;
 
					RoadVehicle *rv = RoadVehicle::From(v);
 
					if (rv->state == RVSB_WORMHOLE) {
 
						rv->state = _road_exit_tunnel_state[dir];
 
						rv->frame = 0;
 
@@ -1502,7 +1502,7 @@ static VehicleEnterTileStatus VehicleEnt
 
				} break;
 

	
 
				case VEH_SHIP: {
 
					Ship *ship = (Ship *)v;
 
					Ship *ship = Ship::From(v);
 
					if (ship->state == TRACK_BIT_WORMHOLE) {
 
						ship->state = (DiagDirToAxis(dir) == AXIS_X ? TRACK_BIT_X : TRACK_BIT_Y);
 
						return VETSB_ENTERED_WORMHOLE;