diff options
Diffstat (limited to 'Source/PuzzleSerializer.cpp')
| -rw-r--r-- | Source/PuzzleSerializer.cpp | 3 | 
1 files changed, 3 insertions, 0 deletions
| diff --git a/Source/PuzzleSerializer.cpp b/Source/PuzzleSerializer.cpp index da7a336..8165fe8 100644 --- a/Source/PuzzleSerializer.cpp +++ b/Source/PuzzleSerializer.cpp | |||
| @@ -157,17 +157,20 @@ void PuzzleSerializer::ReadExtras(Puzzle& p) { | |||
| 157 | // Note that Y coordinates are reversed: 0.0 (bottom) 1.0 (top) | 157 | // Note that Y coordinates are reversed: 0.0 (bottom) 1.0 (top) | 
| 158 | else if (y1 < y2) p.grid[x][y].end = Cell::Dir::DOWN; | 158 | else if (y1 < y2) p.grid[x][y].end = Cell::Dir::DOWN; | 
| 159 | else if (y1 > y2) p.grid[x][y].end = Cell::Dir::UP; | 159 | else if (y1 > y2) p.grid[x][y].end = Cell::Dir::UP; | 
| 160 | else assert(false); | ||
| 160 | } else if (_intersectionFlags[i] & Flags::HAS_DOT) { | 161 | } else if (_intersectionFlags[i] & Flags::HAS_DOT) { | 
| 161 | if (x1 < x2) x--; | 162 | if (x1 < x2) x--; | 
| 162 | else if (x1 > x2) x++; | 163 | else if (x1 > x2) x++; | 
| 163 | else if (y1 < y2) y++; | 164 | else if (y1 < y2) y++; | 
| 164 | else if (y1 > y2) y--; | 165 | else if (y1 > y2) y--; | 
| 166 | else assert(false); | ||
| 165 | p.grid[x][y].dot = FlagsToDot(_intersectionFlags[i]); | 167 | p.grid[x][y].dot = FlagsToDot(_intersectionFlags[i]); | 
| 166 | } else if (_intersectionFlags[i] & Flags::HAS_ONE_CONN) { | 168 | } else if (_intersectionFlags[i] & Flags::HAS_ONE_CONN) { | 
| 167 | if (x1 < x2) x--; | 169 | if (x1 < x2) x--; | 
| 168 | else if (x1 > x2) x++; | 170 | else if (x1 > x2) x++; | 
| 169 | else if (y1 < y2) y++; | 171 | else if (y1 < y2) y++; | 
| 170 | else if (y1 > y2) y--; | 172 | else if (y1 > y2) y--; | 
| 173 | else assert(false); | ||
| 171 | p.grid[x][y].gap = Cell::Gap::BREAK; | 174 | p.grid[x][y].gap = Cell::Gap::BREAK; | 
| 172 | gapLocations[i] = Pos{x, y}; | 175 | gapLocations[i] = Pos{x, y}; | 
| 173 | } | 176 | } | 
