mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2024-09-27 21:58:13 +00:00
fixed the non-bitruncated order-4 tilings
This commit is contained in:
parent
de01907cd6
commit
9a76d44000
@ -134,7 +134,7 @@ void generate_matrices_scale(ld scale, int noft) {
|
|||||||
mesher ohex = msh(gNormal, 6, 0.329036, 0.566256, 0.620672, 0, 1);
|
mesher ohex = msh(gNormal, 6, 0.329036, 0.566256, 0.620672, 0, 1);
|
||||||
mesher ohept = msh(gNormal, 7, hexf7, hcrossf7, hcrossf7, M_PI/7, 1);
|
mesher ohept = msh(gNormal, 7, hexf7, hcrossf7, hcrossf7, M_PI/7, 1);
|
||||||
if(nonbitrunc) {
|
if(nonbitrunc) {
|
||||||
mesher nall = msh(geometry, S7, rhexf, tessf, tessf, M_PI/7, scale);
|
mesher nall = msh(geometry, S7, rhexf, tessf, tessf, -M_PI, scale);
|
||||||
bool use = geosupport_graveyard() < 2;
|
bool use = geosupport_graveyard() < 2;
|
||||||
if(use && noft == 1) {
|
if(use && noft == 1) {
|
||||||
mesher opure = msh(gNormal, 7, 0.620672, 1.090550, 1.090550, M_PI/7, 1);
|
mesher opure = msh(gNormal, 7, 0.620672, 1.090550, 1.090550, M_PI/7, 1);
|
||||||
@ -192,6 +192,8 @@ void bshape2(hpcshape& sh, int p, int shapeid, matrixlist& m) {
|
|||||||
T = spin(m.o.bspi) * T;
|
T = spin(m.o.bspi) * T;
|
||||||
for(auto &p: lst) p = T * p;
|
for(auto &p: lst) p = T * p;
|
||||||
|
|
||||||
|
if(osym % rots && rots % osym) printf("warning: rotation oddity (shapeid %d, osym=%d rots=%d)\n", shapeid, osym, rots);
|
||||||
|
|
||||||
if(rots > osym && rots % osym == 0) {
|
if(rots > osym && rots % osym == 0) {
|
||||||
int rep = rots / osym;
|
int rep = rots / osym;
|
||||||
int s = lst.size();
|
int s = lst.size();
|
||||||
@ -200,8 +202,6 @@ void bshape2(hpcshape& sh, int p, int shapeid, matrixlist& m) {
|
|||||||
rots /= rep;
|
rots /= rep;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(osym % rots) printf("warning: rotation oddity (shapeid %d)\n", shapeid);
|
|
||||||
|
|
||||||
bshape(sh, p);
|
bshape(sh, p);
|
||||||
|
|
||||||
for(int r=0; r<nsym; r+=osym/rots) {
|
for(int r=0; r<nsym; r+=osym/rots) {
|
||||||
@ -286,8 +286,7 @@ void generate_floorshapes() {
|
|||||||
auto& fsh = *pfsh;
|
auto& fsh = *pfsh;
|
||||||
generate_matrices_scale(fsh.scale, fsh.noftype);
|
generate_matrices_scale(fsh.scale, fsh.noftype);
|
||||||
fsh.b.resize(2);
|
fsh.b.resize(2);
|
||||||
if(nonbitrunc && (S7&1) && fsh.shapeid2) {
|
if(nonbitrunc && geosupport_graveyard() < 2 && fsh.shapeid2) {
|
||||||
printf("using shapeid2: %d\n", fsh.shapeid2);
|
|
||||||
bshape2(fsh.b[0], fsh.prio, fsh.shapeid2, hept_matrices);
|
bshape2(fsh.b[0], fsh.prio, fsh.shapeid2, hept_matrices);
|
||||||
bshape2(fsh.b[1], fsh.prio, fsh.shapeid2, hept_matrices);
|
bshape2(fsh.b[1], fsh.prio, fsh.shapeid2, hept_matrices);
|
||||||
}
|
}
|
||||||
|
@ -994,7 +994,8 @@ int geosupport_graveyard() {
|
|||||||
if(tc) return tc;
|
if(tc) return tc;
|
||||||
|
|
||||||
if(S3 == 3 && S7 == 7) return 1;
|
if(S3 == 3 && S7 == 7) return 1;
|
||||||
if(S3 == 4 && !(S7&1)) return 2;
|
// nice chessboard pattern, but not the actual Graveyard
|
||||||
|
if(S3 == 4 && !(S7&1)) return 1;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user