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

Function clean_ramp

plugins/dig-now.cpp:338–358  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

336}
337
338static void clean_ramp(MapExtras::MapCache &map, const DFCoord &pos) {
339 if (!map.ensureBlockAt(pos))
340 return;
341
342 df::tiletype tt = map.tiletypeAt(pos);
343 if (tileShape(tt) != df::tiletype_shape::RAMP)
344 return;
345
346 if (is_wall(map, DFCoord(pos.x-1, pos.y, pos.z)) ||
347 is_wall(map, DFCoord(pos.x+1, pos.y, pos.z)) ||
348 is_wall(map, DFCoord(pos.x, pos.y-1, pos.z)) ||
349 is_wall(map, DFCoord(pos.x, pos.y+1, pos.z)) ||
350 is_wall(map, DFCoord(pos.x-1, pos.y-1, pos.z)) ||
351 is_wall(map, DFCoord(pos.x-1, pos.y+1, pos.z)) ||
352 is_wall(map, DFCoord(pos.x+1, pos.y-1, pos.z)) ||
353 is_wall(map, DFCoord(pos.x+1, pos.y+1, pos.z)))
354 return;
355
356 remove_ramp_top(map, DFCoord(pos.x, pos.y, pos.z+1));
357 dig_shape(map,pos, tt, df::tiletype_shape::FLOOR);
358}
359
360// removes self and/or orthogonally adjacent ramps that are no longer adjacent
361// to a wall

Callers 1

clean_rampsFunction · 0.85

Calls 5

tileShapeFunction · 0.85
remove_ramp_topFunction · 0.85
dig_shapeFunction · 0.85
tiletypeAtMethod · 0.80
is_wallFunction · 0.70

Tested by

no test coverage detected