1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2024-06-24 06:03:23 +00:00

replaced shFullCross with an alternative which works in any geometry

This commit is contained in:
Zeno Rogue 2018-08-17 16:48:26 +02:00
parent 9faa285814
commit 09fb882b71
2 changed files with 6 additions and 21 deletions

View File

@ -1214,7 +1214,6 @@ void drawqueue() {
hpcshape
shSemiFloorSide[SIDEPARS],
shBFloor[2],
shFullCross[2],
shWave[8][2],
shCircleFloor,
shWall[2], shMineMark[2], shFan,
@ -1605,23 +1604,6 @@ void buildpolys() {
trihepta0 = hdist0(xpush(-tessf) * spin(M_PI/S7) * xpush(rhexf+hedge/2) * C0) * .98;
}
{double x = hexvdist;
bshape(shFullCross[0], PPR_FLOOR);
x *= bscale6;
x *= gp::scale;
if(gp::scale != 1) x /= 2;
for(int t=0; t<=S6; t++) { hpcpush(C0); if(t) hpcpush(ddi(S7 + t*S14, x) * C0);
last->flags |= POLY_HASWALLS | POLY_FULL | POLY_HASSHADOW | POLY_ISSIDE;
}
x = rhexf;
x *= bscale7;
// x *= gp::scale;
bshape(shFullCross[1], PPR_FLOOR);
for(int t=0; t<=S7; t++) { hpcpush(C0); if(t) hpcpush(ddi(t*S12+td, x) * C0); }
last->flags |= POLY_HASWALLS | POLY_FULL | POLY_HASSHADOW | POLY_ISSIDE;
}
if(binarytiling) hexvdist = rhexf = 1, tessf = 1, gp::scale = 1, scalef = 1, crossf *= .8;
double floorrad0 = hexvdist*0.92;

View File

@ -336,11 +336,14 @@ bool texture_config::apply(cell *c, const transmatrix &V, int col) {
auto si = getpatterninfo0(c);
if(config.tstate == tsAdjusting) {
queuepolyat(V, shFullCross[ctof(c)], 0, PPR_LINE);
lastptd().u.poly.outline = slave_color;
draw_floorshape(c, V, shFullFloor, 0, PPR_LINE);
lastptd().u.poly.outline = slave_color;
curvepoint(V * C0);
for(int i=0; i<c->type; i++)
curvepoint(V * get_corner_position(c, i)), curvepoint(V * C0);
queuecurve(slave_color, 0, PPR_LINE);
return false;
}
try {