MCPcopy Create free account
hub / github.com/DFHack/dfhack / update_tile_mask

Function update_tile_mask

plugins/dig.cpp:2063–2086  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2061}
2062
2063static void update_tile_mask(const df::coord & pos, std::unordered_map<df::coord, df::job *> & dig_jobs) {
2064 auto block = Maps::getTileBlock(pos);
2065 auto des = Maps::getTileDesignation(pos);
2066 if (!block || !des)
2067 return;
2068
2069 if (des->bits.dig == df::tile_dig_designation::No && !dig_jobs.contains(pos)) {
2070 if (auto warm_mask = World::getPersistentTilemask(warm_config, block))
2071 warm_mask->setassignment(pos, false);
2072 if (auto damp_mask = World::getPersistentTilemask(damp_config, block))
2073 damp_mask->setassignment(pos, false);
2074 } else {
2075 if (is_painting_warm)
2076 if (auto warm_mask = World::getPersistentTilemask(warm_config, block, true)) {
2077 warm_mask->setassignment(pos, true);
2078 do_enable(true);
2079 }
2080 if (is_painting_damp)
2081 if (auto damp_mask = World::getPersistentTilemask(damp_config, block, true)) {
2082 damp_mask->setassignment(pos, true);
2083 do_enable(true);
2084 }
2085 }
2086}
2087
2088static int registerWarmDampTile(lua_State *L) {
2089 TRACE(log).print("entering registerWarmDampTile\n");

Callers 2

registerWarmDampTileFunction · 0.85
registerWarmDampBoxFunction · 0.85

Calls 4

getTileBlockFunction · 0.85
getTileDesignationFunction · 0.85
containsMethod · 0.80
do_enableFunction · 0.70

Tested by

no test coverage detected