- if(pkt.speed!=speed)
- {
- speed = pkt.speed;
- signal_speed_changed.emit(speed);
- }
- if(pkt.reverse!=reverse)
- {
- reverse = pkt.reverse;
- signal_reverse_changed.emit(reverse);
- }
+ if(r==route)
+ return;
+
+ TrainRoutePacket pkt;
+ pkt.address = address;
+ pkt.route = r;
+ client.send(pkt);
+}
+
+void NetTrain::process_packet(const TrainControlPacket &pkt)
+{
+ controls[pkt.control] = pkt.value;
+ signal_control_changed.emit(pkt.control, pkt.value);