- if(check_train_direction)
- {
- int train_entry = train->get_entry_to_block(*block);
- if(train_entry>=0 && static_cast<unsigned>(train_entry)==entry)
- {
- IO::print("Train passing in the proper direction\n");
- if(train_conn)
- train_conn.disconnect();
- train_conn = train->signal_advanced.connect(sigc::mem_fun(this, &Signal::train_advanced));
- }
- else
- IO::print("Train passing in the wrong direction (entry=%d, train_entry=%d)\n", entry, train_entry);
- check_train_direction = false;
- check_allocated_blocks = true;
- }