Codechange: Use the new 'frame' variable for the bridge entry code as well. diff -r 47672a39fac0 src/tunnelbridge_cmd.cpp --- a/src/tunnelbridge_cmd.cpp Fri Oct 22 16:45:42 2010 +0200 +++ b/src/tunnelbridge_cmd.cpp Fri Oct 22 16:48:43 2010 +0200 @@ -1586,13 +1586,8 @@ } if (vdir == dir) { - switch (dir) { - default: NOT_REACHED(); - case DIAGDIR_NE: if ((x & 0xF) != 0) return VETSB_CONTINUE; break; - case DIAGDIR_SE: if ((y & 0xF) != TILE_SIZE - 1) return VETSB_CONTINUE; break; - case DIAGDIR_SW: if ((x & 0xF) != TILE_SIZE - 1) return VETSB_CONTINUE; break; - case DIAGDIR_NW: if ((y & 0xF) != 0) return VETSB_CONTINUE; break; - } + /* Vehicle enters bridge at the last frame inside this tile. */ + if (frame != TILE_SIZE - 1) return VETSB_CONTINUE; switch (v->type) { case VEH_TRAIN: { Train *t = Train::From(v);