summaryrefslogtreecommitdiff
path: root/plugins/filltraffic.cpp
diff options
context:
space:
mode:
authorPetr Mrázek2011-10-23 22:23:54 +0200
committerPetr Mrázek2011-10-23 22:23:54 +0200
commit998d85919f950beb316521ac4cecca3c606a4f80 (patch)
tree2fa5b35d3cc70da21c53966b70fc6b4a69889d1a /plugins/filltraffic.cpp
parent56e8e8009a0a4b452b63065731c626fd30fd6bef (diff)
downloaddfhack-998d85919f950beb316521ac4cecca3c606a4f80.tar.gz
dfhack-998d85919f950beb316521ac4cecca3c606a4f80.tar.bz2
dfhack-998d85919f950beb316521ac4cecca3c606a4f80.tar.xz
Windows offset for save name, some tweaks, updated stonesense submodule to current.
Diffstat (limited to 'plugins/filltraffic.cpp')
-rw-r--r--plugins/filltraffic.cpp87
1 files changed, 45 insertions, 42 deletions
diff --git a/plugins/filltraffic.cpp b/plugins/filltraffic.cpp
index ed8e1130..c27029a8 100644
--- a/plugins/filltraffic.cpp
+++ b/plugins/filltraffic.cpp
@@ -54,42 +54,45 @@ DFhackCExport command_result filltraffic(DFHack::Core * c, std::vector<std::stri
if(params[i] == "help" || params[i] == "?")
{
c->con.print("Flood-fill selected traffic type from the cursor.\n"
- "Traffic Type Codes:\n"
- " H: High Traffic\n"
- " N: Normal Traffic\n"
- " L: Low Traffic\n"
- " R: Restricted Traffic\n"
- "Other Options:\n"
- " X: Fill accross z-levels.\n"
- " B: Include buildings and stockpiles.\n"
- " P: Include empty space.\n"
+ "Traffic Type Codes:\n"
+ "\tH: High Traffic\n"
+ "\tN: Normal Traffic\n"
+ "\tL: Low Traffic\n"
+ "\tR: Restricted Traffic\n"
+ "Other Options:\n"
+ "\tX: Fill accross z-levels.\n"
+ "\tB: Include buildings and stockpiles.\n"
+ "\tP: Include empty space.\n"
+ "Example:\n"
+ "'filltraffic H' - When used in a room with doors,\n"
+ " it will set traffic to HIGH in just that room."
);
return CR_OK;
}
- switch (toupper(params[i][0]))
- {
- case 'H':
- target = traffic_high; break;
- case 'N':
- target = traffic_normal; break;
- case 'L':
- target = traffic_low; break;
- case 'R':
- target = traffic_restricted; break;
- case 'X':
- updown = true; break;
- case 'B':
- checkbuilding = false; break;
- case 'P':
- checkpit = false; break;
- }
+ switch (toupper(params[i][0]))
+ {
+ case 'H':
+ target = traffic_high; break;
+ case 'N':
+ target = traffic_normal; break;
+ case 'L':
+ target = traffic_low; break;
+ case 'R':
+ target = traffic_restricted; break;
+ case 'X':
+ updown = true; break;
+ case 'B':
+ checkbuilding = false; break;
+ case 'P':
+ checkpit = false; break;
+ }
}
- //Initialization.
- c->Suspend();
+ //Initialization.
+ c->Suspend();
- DFHack::Maps * Maps = c->getMaps();
+ DFHack::Maps * Maps = c->getMaps();
DFHack::Gui * Gui = c->getGui();
// init the map
if(!Maps->Start())
@@ -111,17 +114,17 @@ DFhackCExport command_result filltraffic(DFHack::Core * c, std::vector<std::stri
return CR_FAILURE;
}
- DFHack::DFCoord xy ((uint32_t)cx,(uint32_t)cy,cz);
- MapExtras::MapCache * MCache = new MapExtras::MapCache(Maps);
-
- DFHack::t_designation des = MCache->designationAt(xy);
- int16_t tt = MCache->tiletypeAt(xy);
- DFHack::t_occupancy oc;
+ DFHack::DFCoord xy ((uint32_t)cx,(uint32_t)cy,cz);
+ MapExtras::MapCache * MCache = new MapExtras::MapCache(Maps);
+
+ DFHack::t_designation des = MCache->designationAt(xy);
+ int16_t tt = MCache->tiletypeAt(xy);
+ DFHack::t_occupancy oc;
- if (checkbuilding)
- oc = MCache->occupancyAt(xy);
+ if (checkbuilding)
+ oc = MCache->occupancyAt(xy);
- source = des.bits.traffic;
+ source = des.bits.traffic;
if(source == target)
{
c->con.printerr("This tile is already set to the target traffic type.\n");
@@ -130,13 +133,13 @@ DFhackCExport command_result filltraffic(DFHack::Core * c, std::vector<std::stri
return CR_FAILURE;
}
- if(DFHack::isWallTerrain(tt))
- {
- c->con.printerr("This tile is a wall. Please select a passable tile.\n");
+ if(DFHack::isWallTerrain(tt))
+ {
+ c->con.printerr("This tile is a wall. Please select a passable tile.\n");
delete MCache;
c->Resume();
return CR_FAILURE;
- }
+ }
if(checkpit && DFHack::isOpenTerrain(tt))
{