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

gp:: sidewalls for trihepta[13]

This commit is contained in:
Zeno Rogue 2018-04-11 18:44:27 +02:00
parent 4657a76b5d
commit 000eb87847
2 changed files with 14 additions and 3 deletions

View File

@ -3191,7 +3191,7 @@ void escherSidewall(cell *c, int sidepar, const transmatrix& V, int col) {
void placeSidewall(cell *c, int i, int sidepar, const transmatrix& V, bool warp, bool mirr, int col) {
if(shmup::on || nbtnice) warp = false;
if(warp && !ishept(c) && (!c->mov[i] || !ishept(c->mov[i]))) return;
if(warp && !pseudohept(c) && (!c->mov[i] || !pseudohept(c->mov[i]))) return;
if(is_nice_dual(c)) {
if(pseudohept(c)) return;
bool b = !(i&1);
@ -3222,7 +3222,7 @@ void placeSidewall(cell *c, int i, int sidepar, const transmatrix& V, bool warp,
// prio += c->cpdist - c->mov[i]->cpdist;
queuepolyat(V2,
(qfi.tinf?shFullFloorSide:mirr?shMFloorSide:warp?shTriheptaSide:is_nice_dual(c)?shBigTriSide:shFloorSide)[sidepar][ctof(c)], col, prio);
(qfi.tinf?shFullFloorSide:mirr?shMFloorSide:warp?(pseudohept(c)&&!ishept(c)?shTriheptaSideGP:shTriheptaSide):is_nice_dual(c)?shBigTriSide:shFloorSide)[sidepar][ctof(c)], col, prio);
}
bool openorsafe(cell *c) {

View File

@ -974,7 +974,9 @@ void drawqueue() {
}
hpcshape
shFloorSide[SIDEPARS][2], shSemiFloorSide[SIDEPARS], shTriheptaSide[SIDEPARS][2], shMFloorSide[SIDEPARS][2], shFullFloorSide[SIDEPARS][2],
shFloorSide[SIDEPARS][2], shSemiFloorSide[SIDEPARS], shTriheptaSide[SIDEPARS][2],
shTriheptaSideGP[SIDEPARS][2],
shMFloorSide[SIDEPARS][2], shFullFloorSide[SIDEPARS][2],
shFullFloor[2], shFullCross[2],
shSeabed[2], shCloudSeabed[3], shCaveSeabed[4],
shWave[8][2],
@ -1474,6 +1476,14 @@ void buildpolys() {
for(int t=0; t<=1; t++) hpcpush(ddi(t*S12-S6, trihepta1) * C0);
chasmifyPoly(dlow, dhi, k);
bshape(shTriheptaSideGP[k][0], PPR_LAKEWALL);
for(int t=0; t<=1; t++) hpcpush(ddi(t*S14-S7, trihepta0*1.6) * C0);
chasmifyPoly(dlow, dhi, k);
bshape(shTriheptaSideGP[k][1], PPR_LAKEWALL);
for(int t=0; t<=1; t++) hpcpush(ddi(t*S14-S7, trihepta0*1.6) * C0);
chasmifyPoly(dlow, dhi, k);
bshape(shMFloorSide[k][0], PPR_LAKEWALL);
for(int t=0; t<=1; t++) hpcpush(ddi(t*S14-S7, MF(floorrad0,7)) * C0);
chasmifyPoly(dlow, dhi, k);
@ -2428,6 +2438,7 @@ bool isSpecial(const hpcshape &h) {
&h != &shFloor[1] &&
&h != &shTriheptaFloor[0] &&
&h != &shTriheptaFloor[1] &&
&h != &shTriheptaFloor[13] &&
&h != &shBigTriangle;
}