1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2025-02-17 11:30:09 +00:00

limit Blizzard display, fixed memory clearing for fallanims and flashes

This commit is contained in:
Zeno Rogue 2017-10-30 23:58:18 +01:00
parent 3100c0bc9c
commit ba8279db49

View File

@ -2803,6 +2803,7 @@ void setcolors(cell *c, int& wcol, int &fcol) {
if(c->wall == waGlass && !wmspatial) fcol = wcol; if(c->wall == waGlass && !wmspatial) fcol = wcol;
if(c->wall == waRoundTable) fcol = wcol; if(c->wall == waRoundTable) fcol = wcol;
} }
bool noAdjacentChasms(cell *c) { bool noAdjacentChasms(cell *c) {
@ -3298,7 +3299,7 @@ void drawcell(cell *c, transmatrix V, int spinv, bool mirrored) {
int wcol, fcol, asciicol; int wcol, fcol, asciicol;
setcolors(c, wcol, fcol); setcolors(c, wcol, fcol);
if(inmirror(c)) { if(inmirror(c)) {
// for debugging // for debugging
if(c->land == laMirrored) fcol = 0x008000; if(c->land == laMirrored) fcol = 0x008000;
@ -4403,8 +4404,10 @@ void drawcell(cell *c, transmatrix V, int spinv, bool mirrored) {
} }
if(c->land == laBlizzard) { if(c->land == laBlizzard) {
if(vid.backeffects) if(vid.backeffects) {
blizzardcells[c].frame = frameid; if(c->cpdist <= getDistLimit())
blizzardcells[c].frame = frameid;
}
else { else {
forCellIdEx(c2, i, c) if(againstWind(c, c2)) forCellIdEx(c2, i, c) if(againstWind(c, c2))
queuepoly(V * ddspin(c, i) * xpush(cellgfxdist(c, i)/2), shWindArrow, 0x8080FF80); queuepoly(V * ddspin(c, i) * xpush(cellgfxdist(c, i)/2), shWindArrow, 0x8080FF80);
@ -5353,6 +5356,8 @@ auto graphcm = addHook(clearmemory, 0, [] () {
mouseover = centerover = lmouseover = NULL; mouseover = centerover = lmouseover = NULL;
for(int i=0; i<ANIMLAYERS; i++) animations[i].clear(); for(int i=0; i<ANIMLAYERS; i++) animations[i].clear();
gmatrix.clear(); gmatrix0.clear(); gmatrix.clear(); gmatrix0.clear();
flashes.clear();
fallanims.clear();
}); });
void resetGeometry() { void resetGeometry() {