Codechange: Use the new 'frame' variable for the bridge entry code as well. diff -r 850307758b76 src/tunnelbridge_cmd.cpp --- a/src/tunnelbridge_cmd.cpp Sun Nov 07 18:31:34 2010 +0100 +++ b/src/tunnelbridge_cmd.cpp Sun Nov 07 18:31:41 2010 +0100 @@ -1592,13 +1592,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);