diff options
| -rw-r--r-- | ext/wittle_generator/Generate.cpp | 24 | ||||
| -rw-r--r-- | ext/wittle_generator/Panel.cpp | 4 | ||||
| -rw-r--r-- | ext/wittle_generator/Test.cpp | 7 |
3 files changed, 27 insertions, 8 deletions
| diff --git a/ext/wittle_generator/Generate.cpp b/ext/wittle_generator/Generate.cpp index 49ffe96..4cc3ce9 100644 --- a/ext/wittle_generator/Generate.cpp +++ b/ext/wittle_generator/Generate.cpp | |||
| @@ -55,8 +55,28 @@ void Generate::initPanel() { | |||
| 55 | init_treehouse_layout(); | 55 | init_treehouse_layout(); |
| 56 | } | 56 | } |
| 57 | if (hasFlag(Config::RegularStartEnd)) { | 57 | if (hasFlag(Config::RegularStartEnd)) { |
| 58 | setSymbol(Decoration::Start, 0, _panel->height() - 1); | 58 | if (_symmetry == Panel::Rotational) { |
| 59 | setSymbol(Decoration::Exit, _panel->width() - 1, 0); | 59 | setSymbol(Decoration::Start, 0, 0); |
| 60 | setSymbol(Decoration::Exit, 0, _panel->height() - 1); | ||
| 61 | |||
| 62 | setSymbol(Decoration::Start, _panel->width() - 1, _panel->height() - 1); | ||
| 63 | setSymbol(Decoration::Exit, _panel->width() - 1, 0); | ||
| 64 | } else if (_symmetry == Panel::Vertical) { | ||
| 65 | setSymbol(Decoration::Exit, 0, 0); | ||
| 66 | setSymbol(Decoration::Start, 0, _panel->height() - 1); | ||
| 67 | |||
| 68 | setSymbol(Decoration::Start, _panel->width() - 1, _panel->height() - 1); | ||
| 69 | setSymbol(Decoration::Exit, _panel->width() - 1, 0); | ||
| 70 | } else if (_symmetry == Panel::Horizontal) { | ||
| 71 | setSymbol(Decoration::Start, 0, 0); | ||
| 72 | setSymbol(Decoration::Start, 0, _panel->height() - 1); | ||
| 73 | |||
| 74 | setSymbol(Decoration::Exit, _panel->width() - 1, _panel->height() - 1); | ||
| 75 | setSymbol(Decoration::Exit, _panel->width() - 1, 0); | ||
| 76 | } else { | ||
| 77 | setSymbol(Decoration::Start, 0, _panel->height() - 1); | ||
| 78 | setSymbol(Decoration::Exit, _panel->width() - 1, 0); | ||
| 79 | } | ||
| 60 | } | 80 | } |
| 61 | 81 | ||
| 62 | if (_custom_grid.size() > | 82 | if (_custom_grid.size() > |
| diff --git a/ext/wittle_generator/Panel.cpp b/ext/wittle_generator/Panel.cpp index 125636f..4bf4be7 100644 --- a/ext/wittle_generator/Panel.cpp +++ b/ext/wittle_generator/Panel.cpp | |||
| @@ -127,10 +127,10 @@ std::string Panel::Write() { | |||
| 127 | int genericFlags = 0; | 127 | int genericFlags = 0; |
| 128 | if (symmetry != Symmetry::None) { | 128 | if (symmetry != Symmetry::None) { |
| 129 | genericFlags |= Serializer::Symmetrical; | 129 | genericFlags |= Serializer::Symmetrical; |
| 130 | if (symmetry == Symmetry::Horizontal) { | 130 | if (symmetry == Symmetry::Vertical || symmetry == Symmetry::Rotational) { |
| 131 | genericFlags |= Serializer::SymmetryX; | 131 | genericFlags |= Serializer::SymmetryX; |
| 132 | } | 132 | } |
| 133 | if (symmetry == Symmetry::Vertical) { | 133 | if (symmetry == Symmetry::Horizontal || symmetry == Symmetry::Rotational) { |
| 134 | genericFlags |= Serializer::SymmetryY; | 134 | genericFlags |= Serializer::SymmetryY; |
| 135 | } | 135 | } |
| 136 | } | 136 | } |
| diff --git a/ext/wittle_generator/Test.cpp b/ext/wittle_generator/Test.cpp index 5eaef5a..ecd2a37 100644 --- a/ext/wittle_generator/Test.cpp +++ b/ext/wittle_generator/Test.cpp | |||
| @@ -5,11 +5,10 @@ int main(int, char**) { | |||
| 5 | generator.setFlag(Generate::RegularStartEnd); | 5 | generator.setFlag(Generate::RegularStartEnd); |
| 6 | /*generator.generate(4 * 2 + 1, 4 * 2 + 1, | 6 | /*generator.generate(4 * 2 + 1, 4 * 2 + 1, |
| 7 | {{{Decoration::Triangle | Decoration::Orange, 6}}});*/ | 7 | {{{Decoration::Triangle | Decoration::Orange, 6}}});*/ |
| 8 | generator.setSymmetry(Panel::Vertical); | ||
| 8 | generator.generate( | 9 | generator.generate( |
| 9 | 4 * 2 + 1, 4 * 2 + 1, | 10 | 5 * 2 + 1, 5 * 2 + 1, |
| 10 | {{{Decoration::Poly | Decoration::Can_Rotate | Decoration::Yellow, 1}, | 11 | {{{Decoration::Triangle | Decoration::Color::Orange, 6}}}); |
| 11 | {Decoration::Poly | Decoration::Yellow, 1}, | ||
| 12 | {Decoration::Gap, 6}}}); | ||
| 13 | 12 | ||
| 14 | return 0; | 13 | return 0; |
| 15 | } | 14 | } |
