1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2025-01-22 23:17:04 +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 hpcshape
shSemiFloorSide[SIDEPARS], shSemiFloorSide[SIDEPARS],
shBFloor[2], shBFloor[2],
shFullCross[2],
shWave[8][2], shWave[8][2],
shCircleFloor, shCircleFloor,
shWall[2], shMineMark[2], shFan, 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; 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; if(binarytiling) hexvdist = rhexf = 1, tessf = 1, gp::scale = 1, scalef = 1, crossf *= .8;
double floorrad0 = hexvdist*0.92; 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); auto si = getpatterninfo0(c);
if(config.tstate == tsAdjusting) { 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); draw_floorshape(c, V, shFullFloor, 0, PPR_LINE);
lastptd().u.poly.outline = slave_color; 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; return false;
} }
try { try {