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

Function check_wagon_tile

plugins/pathable.cpp:338–363  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

336}
337
338static void check_wagon_tile(FloodCtx & ctx, const df::coord & pos) {
339 if (ctx.seen.contains(pos))
340 return;
341
342 ctx.seen.emplace(pos);
343
344 if (ctx.entry_tiles.contains(pos)) {
345 ctx.wagon_path.emplace(pos); // Is this needed?
346 ctx.search_edge.emplace(pos);
347 return;
348 }
349
350 if (is_wagon_traversible(ctx, pos, pos) &&
351 is_wagon_traversible(ctx, pos+df::coord(-1, -1, 0), pos) &&
352 is_wagon_traversible(ctx, pos+df::coord( 0, -1, 0), pos) &&
353 is_wagon_traversible(ctx, pos+df::coord( 1, -1, 0), pos) &&
354 is_wagon_traversible(ctx, pos+df::coord(-1, 0, 0), pos) &&
355 is_wagon_traversible(ctx, pos+df::coord( 1, 0, 0), pos) &&
356 is_wagon_traversible(ctx, pos+df::coord(-1, 1, 0), pos) &&
357 is_wagon_traversible(ctx, pos+df::coord( 0, 1, 0), pos) &&
358 is_wagon_traversible(ctx, pos+df::coord( 1, 1, 0), pos))
359 {
360 ctx.wagon_path.emplace(pos);
361 ctx.search_edge.emplace(pos);
362 }
363}
364
365// returns true if a continuous 3-wide path can be found to an entry tile
366// assumes:

Callers 1

wagon_floodFunction · 0.85

Calls 2

is_wagon_traversibleFunction · 0.85
containsMethod · 0.80

Tested by

no test coverage detected