1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2025-08-30 01:07:57 +00:00

fake:: should now work with untruncated gp(1,1), i.e., dual, on S3==3

This commit is contained in:
Zeno Rogue
2025-05-06 14:42:40 +02:00
parent 74464d9c20
commit 447c8e469b

View File

@@ -37,6 +37,7 @@ EX namespace fake {
if(WDIM == 2 && standard_tiling() && GOLDBERG && S3 == 3 && ((gp::param.first-gp::param.second) % 3)) return true; if(WDIM == 2 && standard_tiling() && GOLDBERG && S3 == 3 && ((gp::param.first-gp::param.second) % 3)) return true;
if(WDIM == 2 && standard_tiling() && GOLDBERG && S3 == 4 && gp::param.first == 1 && gp::param.second == 1) return true; if(WDIM == 2 && standard_tiling() && GOLDBERG && S3 == 4 && gp::param.first == 1 && gp::param.second == 1) return true;
if(WDIM == 2 && standard_tiling() && UNRECTIFIED && S3 == 4 && gp::param.first == 1 && gp::param.second == 1) return true; if(WDIM == 2 && standard_tiling() && UNRECTIFIED && S3 == 4 && gp::param.first == 1 && gp::param.second == 1) return true;
if(WDIM == 2 && standard_tiling() && UNTRUNCATED && S3 == 3 && gp::param.first == 1 && gp::param.second == 1) return true;
if(arcm::in() && PURE) return true; if(arcm::in() && PURE) return true;
if(hat::in()) return true; if(hat::in()) return true;
if(WDIM == 2) return false; if(WDIM == 2) return false;
@@ -137,6 +138,10 @@ EX namespace fake {
c->cmove(d); c->cmove(d);
return spin(90._deg * d) * lxpush(cgi.crossf) * spin(-90._deg * c->c.spin(d) + M_PI); return spin(90._deg * d) * lxpush(cgi.crossf) * spin(-90._deg * c->c.spin(d) + M_PI);
} }
if(UNTRUNCATED && S3 == 3 && gp::param.first == 1 && gp::param.second == 1) {
c->cmove(d);
return spin(120._deg * (1-d)) * lxpush(cgi.crossf) * spin(-120._deg * (1-c->c.spin(d)) + M_PI);
}
if(embedded_plane) { if(embedded_plane) {
geom3::light_flip(true); geom3::light_flip(true);
transmatrix T = adj(c, d); transmatrix T = adj(c, d);
@@ -187,6 +192,7 @@ EX namespace fake {
bool impure = reg3::in() && !PURE; bool impure = reg3::in() && !PURE;
#else #else
bool impure = !PURE; bool impure = !PURE;
if(UNTRUNCATED && gp::param.first == 1 && gp::param.second == 1) impure = false;
#endif #endif
vector<int> mseq; vector<int> mseq;
if(impure) { if(impure) {
@@ -589,6 +595,8 @@ EX ld compute_euclidean() {
return S7 / (0.375 * S7 - 0.5); return S7 / (0.375 * S7 - 0.5);
if(WDIM == 2 && standard_tiling() && UNRECTIFIED && S3 == 4 && gp::param.first == 1 && gp::param.second == 1) if(WDIM == 2 && standard_tiling() && UNRECTIFIED && S3 == 4 && gp::param.first == 1 && gp::param.second == 1)
return 4; return 4;
if(WDIM == 2 && standard_tiling() && UNTRUNCATED && S3 == 3 && gp::param.first == 1 && gp::param.second == 1)
return 6;
if(WDIM == 2) return 4 / (S7-2.) + 2; if(WDIM == 2) return 4 / (S7-2.) + 2;
@@ -613,6 +621,8 @@ EX ld around_orig() {
if(WDIM == 2 && standard_tiling() && GOLDBERG && S3 == 4 && gp::param.first == 1 && gp::param.second == 1) return 4; if(WDIM == 2 && standard_tiling() && GOLDBERG && S3 == 4 && gp::param.first == 1 && gp::param.second == 1) return 4;
if(WDIM == 2 && standard_tiling() && UNRECTIFIED && S3 == 4 && gp::param.first == 1 && gp::param.second == 1) if(WDIM == 2 && standard_tiling() && UNRECTIFIED && S3 == 4 && gp::param.first == 1 && gp::param.second == 1)
return S7; return S7;
if(WDIM == 2 && standard_tiling() && UNTRUNCATED && S3 == 3 && gp::param.first == 1 && gp::param.second == 1)
return S7;
if(WDIM == 2) if(WDIM == 2)
return S3; return S3;
if(underlying == gRhombic3) if(underlying == gRhombic3)