1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2024-06-18 11:19:59 +00:00

floor riles for Ruins and Switch

This commit is contained in:
Zeno Rogue 2018-01-04 13:48:31 +01:00
parent 075c8da3d3
commit 3b95a9e94f
3 changed files with 18 additions and 2 deletions

View File

@ -7005,7 +7005,7 @@ void terracotta() {
}
}
eMonster passive_switch;
eMonster passive_switch = moSwitch2;
void checkSwitch() {
passive_switch = (gold() & 1) ? moSwitch1 : moSwitch2;

View File

@ -3871,7 +3871,7 @@ void drawcell(cell *c, transmatrix V, int spinv, bool mirrored) {
else if(isElemental(c->land) || c->land == laElementalWall)
qfloor_eswap(c, Vf, NEWFLOOR, darkena(fcol, fd, 0xFF));
else if(c->land == laBurial)
else if(c->land == laBurial || c->land == laRuins)
qfloor(c, Vf, BARROWFLOOR, darkena(fcol, fd, 0xFF));
else if(c->land == laTrollheim && !eoh)
@ -3908,6 +3908,12 @@ void drawcell(cell *c, transmatrix V, int spinv, bool mirrored) {
else if(c->land == laCocytus)
qfloor_eswap(c, Vf, DESERTFLOOR, darkena(fcol, fd, 0xFF));
else if(c->land == laSwitch) {
qfloor_eswap(c, Vf, SWITCHFLOOR, darkena(fcol, fd, 0xFF));
if(ctof(c)) for(int i=0; i<c->type; i++)
queuepoly(Vf * spin(2 * M_PI * i / c->type) * xpush(rhexf), shSwitchDisk, darkena(minf[active_switch()].color, fd, 0xFF));
}
else if(c->land == laStorms)
qfloor_eswap(c, Vf, CHARGEDFLOOR, darkena(fcol, fd, 0xFF));

View File

@ -966,6 +966,7 @@ hpcshape
shFloorShadow[2], shTriheptaFloorShadow[2], shTriheptaEucShadow[3],
shWall[2], shMineMark[2], shFan,
shStarFloor[3], shCloudFloor[3], shTriFloor[2], shZebra[5],
shSwitchFloor[3], shSwitchDisk,
shButterflyFloor[2], shLavaFloor[2],
shTower[11],
shTurtleFloor[3], shDragonFloor[3], shRoseFloor[3],
@ -1929,6 +1930,11 @@ void buildpolys() {
bshape(shRoseFloor[0], PPR_FLOOR, gsca(euclid,.9), 174);
bshape(shRoseFloor[1], PPR_FLOOR, gsca(euclid,.9) * scalef * gsca(ap4,.85), 175, grot(ap4, M_PI/8));
bshape(shSwitchFloor[0], PPR_FLOOR, scalef*spzoom6*ffscale2, 377, ffspin2);
bshape(shSwitchFloor[1], PPR_FLOOR, scalef*spzoomd7*ffscale2, 378, ffspin2);
bshape(shSwitchDisk, PPR_FLOOR); for(int i=0; i<=S84; i+=S3) hpcpush(ddi(i, .06) * C0);
bshape(shTurtleFloor[0], PPR_FLOOR, gsca(euclid,.9, sphere, .9*1.3, a4, 1.6, a38, 1.3, a467, 1.4) * gsca(euclid&&a4, .9), 176);
bshape(shTurtleFloor[1], PPR_FLOOR, scalef * gsca(euclid,.9, a4, .9, a47,1.3) * gsca(euclid&&a4, .8), 177, octroll - grot(a47,.1));
bshape(shTurtleFloor[2], PPR_FLOOR, ntscale * gsca(sphere && nontruncated, .9) * gsca(euclid&&a4&&nontruncated, .5), 178, ntrot + grot(euclid&&a4&&nontruncated, M_PI/4)); // nontruncated
@ -3431,6 +3437,9 @@ NEWSHAPE, 375, 1, 2, -0.090497,-0.016548, -0.072731,-0.044408, -0.058869,-0.0634
NEWSHAPE, 376, 1, 1, 0.202167,-0.134605, 0.204591,-0.145446, 0.192856,-0.139999, 0.180908,-0.136821, 0.063679,-0.150430, 0.054862,-0.154571, 0.051985,-0.159521, 0.036546,-0.062257, 0.043529,-0.066187, 0.054300,-0.069873, 0.182749,-0.064458, 0.195918,-0.057169, 0.204973,-0.052339, 0.199643,-0.078121, 0.042703,-0.084239, 0.199470,-0.077992, 0.199531,-0.090084, 0.044591,-0.098658, 0.198774,-0.089982, 0.199787,-0.100708, 0.045748,-0.113148, 0.198272,-0.100502, 0.200147,-0.110605, 0.048127,-0.124053, 0.198630,-0.110398, 0.199672,-0.121163, 0.050049,-0.138713, 0.198913,-0.121059,
NEWSHAPE, 377, 6, 1, -0.206510,0.223410, 0.017622,0.231073, 0.048705,0.240382, 0.069206,0.259727,
NEWSHAPE, 378, 7, 1, 0.349494,-0.088062, 0.159923,-0.228824, 0.145483,-0.260010, 0.142821,-0.290692,
NEWSHAPE
};
@ -3466,6 +3475,7 @@ NEWSHAPE
#define MFLOOR2 shMFloor2[ct6]
#define STARFLOOR shStarFloor[ECT]
#define DRAGONFLOOR shDragonFloor[ECT]
#define SWITCHFLOOR shSwitchFloor[ECT]
// fix Warp
// fix Kraken