+void Train::locomotive_reverse_changed(bool)
+{
+ for(list<BlockRef>::iterator i=rsv_blocks.begin(); i!=rsv_blocks.end(); ++i)
+ i->block->reserve(0);
+ rsv_blocks.clear();
+ cur_blocks.reverse();
+ for(list<BlockRef>::iterator i=cur_blocks.begin(); i!=cur_blocks.end(); ++i)
+ i->entry = i->block->traverse(i->entry);
+ reserve_more();
+ update_speed();
+}
+