1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2024-11-23 13:07: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 void destroy_cell(cell *c) {
tailored_delete(c);
cellcount--;
}
EX cell *newCell(int type, heptagon *master) {
cell *c = tailored_alloc<cell> (type);
c->type = type;
c->master = master;
initcell(c);
hybrid::will_link(c);
cellcount++;
return c;
}
@ -327,7 +333,7 @@ EX void clearcell(cell *c) {
c->move(t)->move(c->c.spin(t)) = NULL;
}
DEBB(DF_MEMORY, (format("DEL %p\n", hr::voidp(c))));
tailored_delete(c);
destroy_cell(c);
}
EX heptagon deletion_marker;

View File

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

View File

@ -1147,7 +1147,7 @@ EX namespace hybrid {
~hrmap_hybrid() {
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); }); }