From 0abfcb683f7b6b05a001640de13af1ca27f08a02 Mon Sep 17 00:00:00 2001 From: Zeno Rogue Date: Fri, 24 Aug 2018 21:47:09 +0200 Subject: [PATCH] Hypersian Rug mode works with Archimedean tilings --- rug.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/rug.cpp b/rug.cpp index c25e883d..b066aff8 100644 --- a/rug.cpp +++ b/rug.cpp @@ -588,7 +588,14 @@ void buildRug() { for(auto& p: vptr) { cell *c = p.first; rugpoint *v = p.second; - for(int j=0; jtype; j++) try { + + if(archimedean) { + rugpoint *p[MAX_EDGE+1]; + for(int j=0; jtype; j++) p[j] = findOrAddRugpoint(ggmatrix(c) * get_corner_position(c, j), v->dist); + for(int j=0; jtype; j++) addTriangle(v, p[j], p[(j+1) % c->type]); + } + + else for(int j=0; jtype; j++) try { cell *c2 = c->move(j); rugpoint *w = vptr.at(c2); // if(v