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:
parent
9faa285814
commit
09fb882b71
18
polygons.cpp
18
polygons.cpp
@ -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;
|
||||||
|
@ -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 {
|
||||||
|
Loading…
Reference in New Issue
Block a user