From 23a0b17ff35261d5aca4bf9329250b6e544bb24b Mon Sep 17 00:00:00 2001 From: Alexander Gavrilov Date: Wed, 25 Apr 2012 18:38:43 +0400 Subject: [PATCH] Make liquids and tiletypes force rebuild of pathfinding data. --- plugins/liquids.cpp | 4 ++++ plugins/tiletypes.cpp | 3 +++ 2 files changed, 7 insertions(+) diff --git a/plugins/liquids.cpp b/plugins/liquids.cpp index 167e51ce8..8ca66daf5 100644 --- a/plugins/liquids.cpp +++ b/plugins/liquids.cpp @@ -374,6 +374,10 @@ command_result df_liquids_execute(color_ostream &out) DFHack::DFCoord cursor(x,y,z); coord_vec all_tiles = brush->points(mcache,cursor); out << "working..." << endl; + + // Force the game to recompute its walkability cache + df::global::world->reindex_pathfinding = true; + if(mode == "obsidian") { coord_vec::iterator iter = all_tiles.begin(); diff --git a/plugins/tiletypes.cpp b/plugins/tiletypes.cpp index 73ec9f963..ae2dd7b3d 100644 --- a/plugins/tiletypes.cpp +++ b/plugins/tiletypes.cpp @@ -614,6 +614,9 @@ command_result executePaintJob(color_ostream &out) coord_vec all_tiles = brush->points(map, cursor); out.print("working...\n"); + // Force the game to recompute its walkability cache + df::global::world->reindex_pathfinding = true; + for (coord_vec::iterator iter = all_tiles.begin(); iter != all_tiles.end(); ++iter) { const df::tiletype source = map.tiletypeAt(*iter);