1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2024-11-27 14:37:16 +00:00

fixed cellcount

This commit is contained in:
Zeno Rogue 2020-04-06 09:26:59 +02:00
parent 97fc244ba9
commit b79eb4de1d
3 changed files with 9 additions and 4 deletions

View File

@ -138,12 +138,18 @@ EX int dirdiff(int dd, int t) {
EX int cellcount = 0; EX int cellcount = 0;
EX void destroy_cell(cell *c) {
tailored_delete(c);
cellcount--;
}
EX cell *newCell(int type, heptagon *master) { EX cell *newCell(int type, heptagon *master) {
cell *c = tailored_alloc<cell> (type); cell *c = tailored_alloc<cell> (type);
c->type = type; c->type = type;
c->master = master; c->master = master;
initcell(c); initcell(c);
hybrid::will_link(c); hybrid::will_link(c);
cellcount++;
return c; return c;
} }
@ -327,7 +333,7 @@ EX void clearcell(cell *c) {
c->move(t)->move(c->c.spin(t)) = NULL; c->move(t)->move(c->c.spin(t)) = NULL;
} }
DEBB(DF_MEMORY, (format("DEL %p\n", hr::voidp(c)))); DEBB(DF_MEMORY, (format("DEL %p\n", hr::voidp(c))));
tailored_delete(c); destroy_cell(c);
} }
EX heptagon deletion_marker; EX heptagon deletion_marker;

View File

@ -98,12 +98,11 @@ struct gcell {
int cellid; int cellid;
#endif #endif
gcell() { cellcount++; gcell() {
#ifdef CELLID #ifdef CELLID
cellid = cellcount; cellid = cellcount;
#endif #endif
} }
~gcell() { cellcount--; }
}; };
#define landparam LHU.landpar #define landparam LHU.landpar

View File

@ -1147,7 +1147,7 @@ EX namespace hybrid {
~hrmap_hybrid() { ~hrmap_hybrid() {
in_underlying([] { delete currentmap; }); in_underlying([] { delete currentmap; });
for(auto& p: at) tailored_delete(p.second); for(auto& p: at) destroy_cell(p.second);
} }
virtual transmatrix spin_to(cell *c, int d, ld bonus) override { if(d >= c->type-2) return Id; c = get_where(c).first; return in_underlying([&] { return currentmap->spin_to(c, d, bonus); }); } virtual transmatrix spin_to(cell *c, int d, ld bonus) override { if(d >= c->type-2) return Id; c = get_where(c).first; return in_underlying([&] { return currentmap->spin_to(c, d, bonus); }); }