void BlockMap::CutTie(const Vector2& vec1, const Vector2& vec2) { // Check if vec1 & vec2 are adjacent if (vec1.DistTo(vec2) != 1) { return; } Block* blockPtr1 = &GetBlock(vec1); Block* blockPtr2 = &GetBlock(vec2); if (vec1.r > vec2.r || vec1.c > vec2.c) { blockPtr1 = &GetBlock(vec2); blockPtr2 = &GetBlock(vec1); } if (blockPtr1->coord.r == blockPtr2->coord.r) { blockPtr1->neighborOffsets.erase(Vector2(0, 1)); blockPtr2->neighborOffsets.erase(Vector2(0, -1)); } else { blockPtr1->neighborOffsets.erase(Vector2(1, 0)); blockPtr2->neighborOffsets.erase(Vector2(-1, 0)); } }