diff -r f03f94f4d8fc -r c904c7ea1c8d src/tunnelbridge_cmd.cpp --- a/src/tunnelbridge_cmd.cpp Tue Feb 13 20:57:02 2007 +0000 +++ b/src/tunnelbridge_cmd.cpp Tue Feb 13 22:27:27 2007 +0000 @@ -1250,7 +1250,10 @@ static const byte _tunnel_fractcoord_3[4] = {0x82, 0x88, 0x86, 0x48}; static const byte _exit_tunnel_track[4] = {1, 2, 1, 2}; -static const byte _road_exit_tunnel_state[4] = {8, 9, 0, 1}; +/** Get the trackdir of the exit of a tunnel */ +static const Trackdir _road_exit_tunnel_state[DIAGDIR_END] = { + TRACKDIR_X_SW, TRACKDIR_Y_NW, TRACKDIR_X_NE, TRACKDIR_Y_SE +}; static const byte _road_exit_tunnel_frame[4] = {2, 7, 9, 4}; static const byte _tunnel_fractcoord_4[4] = {0x52, 0x85, 0x98, 0x29}; @@ -1304,11 +1307,11 @@ vdir = DirToDiagDir(v->direction); // Enter tunnel? - if (v->u.road.state != 0xFF && dir == vdir) { + if (v->u.road.state != RVSB_WORMHOLE && dir == vdir) { if (fc == _tunnel_fractcoord_4[dir] || fc == _tunnel_fractcoord_5[dir]) { v->tile = tile; - v->u.road.state = 0xFF; + v->u.road.state = RVSB_WORMHOLE; v->vehstatus |= VS_HIDDEN; return VETSB_ENTERED_WORMHOLE; } else { @@ -1354,7 +1357,7 @@ CLRBIT(v->u.rail.flags, VRF_GOINGUP); CLRBIT(v->u.rail.flags, VRF_GOINGDOWN); } else { - v->u.road.state = 0xFF; + v->u.road.state = RVSB_WORMHOLE; } return VETSB_ENTERED_WORMHOLE; } else if (DirToDiagDir(v->direction) == ReverseDiagDir(dir)) { @@ -1365,7 +1368,7 @@ return VETSB_ENTERED_WORMHOLE; } } else { - if (v->u.road.state == 0xFF) { + if (v->u.road.state == RVSB_WORMHOLE) { v->u.road.state = _road_exit_tunnel_state[dir]; v->u.road.frame = 0; return VETSB_ENTERED_WORMHOLE;