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

Function cacheBuilding

library/modules/Buildings.cpp:417–433  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

415static unordered_map<int32_t, df::coord> corner1;
416static unordered_map<int32_t, df::coord> corner2;
417static void cacheBuilding(df::building *building) {
418 int32_t id = building->id;
419 df::coord p1(std::min(building->x1, building->x2), std::min(building->y1,building->y2), building->z);
420 df::coord p2(std::max(building->x1, building->x2), std::max(building->y1,building->y2), building->z);
421
422 corner1[id] = p1;
423 corner2[id] = p2;
424
425 for (int32_t x = p1.x; x <= p2.x; x++) {
426 for (int32_t y = p1.y; y <= p2.y; y++) {
427 df::coord pt(x, y, building->z);
428 if (Buildings::containsTile(building, pt)) {
429 locationToBuilding[pt] = id;
430 }
431 }
432 }
433}
434
435bool Buildings::findCivzonesAt(std::vector<df::building_civzonest*> *pvec,
436 df::coord pos) {

Callers 1

updateBuildingsMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected