1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2024-12-26 01:50:36 +00:00

cones for bonfires, fires, thumpers, and sea buoys

This commit is contained in:
Zeno Rogue 2019-05-10 01:31:34 +02:00
parent b6c8727e1f
commit 14e9ebec57

View File

@ -5284,6 +5284,10 @@ void drawcell(cell *c, transmatrix V, int spinv, bool mirrored) {
case waBarrier: case waBarrier:
if(c->land == laOceanWall && wmescher && wmspatial) { if(c->land == laOceanWall && wmescher && wmspatial) {
if(GDIM == 3 && qfi.fshape) {
draw_shapevec(c, V, qfi.fshape->cone, darkena(wcol, 0, 0xFF), PPR::WALL);
break;
}
const int layers = 2 << detaillevel; const int layers = 2 << detaillevel;
dynamicval<const hpcshape*> ds(qfi.shape, &shCircleFloor); dynamicval<const hpcshape*> ds(qfi.shape, &shCircleFloor);
dynamicval<transmatrix> dss(qfi.spin, Id); dynamicval<transmatrix> dss(qfi.spin, Id);
@ -5364,7 +5368,9 @@ void drawcell(cell *c, transmatrix V, int spinv, bool mirrored) {
else if(isFire(c) || isThumper(c) || c->wall == waBonfireOff) { else if(isFire(c) || isThumper(c) || c->wall == waBonfireOff) {
auto V2 = V; auto V2 = V;
if(hasTimeout(c)) V2 = V2 * spintick(c->land == laPower ? 5000 : 500); if(hasTimeout(c)) V2 = V2 * spintick(c->land == laPower ? 5000 : 500);
queuepoly(V2, shStar, darkena(wcol, 0, 0xF0)); if(GDIM == 3 && qfi.fshape)
draw_shapevec(c, V2, qfi.fshape->cone, darkena(wcol, 0, 0xF0), PPR::WALL);
else queuepoly(V2, shStar, darkena(wcol, 0, 0xF0));
if(isFire(c) && rand() % 300 < ticks - lastt) if(isFire(c) && rand() % 300 < ticks - lastt)
drawParticle(c, wcol, 75); drawParticle(c, wcol, 75);
} }