| 2061 | } |
| 2062 | |
| 2063 | static 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 | |
| 2088 | static int registerWarmDampTile(lua_State *L) { |
| 2089 | TRACE(log).print("entering registerWarmDampTile\n"); |
no test coverage detected