summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--vehicle.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/vehicle.c b/vehicle.c
index 988d997cd..b9bca4bfb 100644
--- a/vehicle.c
+++ b/vehicle.c
@@ -29,6 +29,8 @@
#include "industry_map.h"
#include "station_map.h"
#include "water_map.h"
+#include "network.h"
+#include "yapf/yapf.h"
#define INVALID_COORD (-0x8000)
#define GEN_HASH(x,y) (((x & 0x1F80)>>7) + ((y & 0xFC0)))
@@ -611,6 +613,14 @@ void CallVehicleTicks(void)
{
Vehicle *v;
+#ifdef ENABLE_NETWORK
+ // hotfix for desync problem:
+ // for MP games invalidate the YAPF cache every tick to keep it exactly the same on the server and all clients
+ if (_networking) {
+ YapfNotifyTrackLayoutChange(0, 0);
+ }
+#endif //ENABLE_NETWORK
+
_first_veh_in_depot_list = NULL; // now we are sure it's initialized at the start of each tick
FOR_ALL_VEHICLES(v) {