Remove the tile pool

Doesn't save any space, doesn't make anything noticeably faster, and
also doesn't work and I don't want to waste time figuring out why.
This commit is contained in:
Eevee (Evelyn Woods) 2024-05-06 15:38:11 -06:00
parent 0e752972f0
commit aa4b3f3794

View File

@ -386,11 +386,6 @@ export class Level extends LevelInterface {
} }
this.undo_buffer_index = 0; this.undo_buffer_index = 0;
this.pending_undo = new UndoEntry; this.pending_undo = new UndoEntry;
// On levels with a lot of cloners pointing directly into water, monsters can be created and
// destroyed frequently, and each of them has to be persisted in the undo buffer. To cut
// down on the bloat somewhat, keep around the last handful of destroyed actors, and reuse
// them when spawning a new actor.
this.destroyed_tile_pool = [];
// If undo_enabled is false, we won't create any undo entries. Undo is only disabled during // If undo_enabled is false, we won't create any undo entries. Undo is only disabled during
// bulk testing, where a) no one will ever undo and b) the overhead is significant. // bulk testing, where a) no one will ever undo and b) the overhead is significant.
this.undo_enabled = true; this.undo_enabled = true;
@ -2833,13 +2828,6 @@ export class Level extends LevelInterface {
remove_tile(tile, destroying = false) { remove_tile(tile, destroying = false) {
tile.cell._remove(tile); tile.cell._remove(tile);
this._set_tile_prop(tile, 'cell', null); this._set_tile_prop(tile, 'cell', null);
if (destroying) {
this.destroyed_tile_pool.push(tile);
if (this.destroyed_tile_pool.length > 8) {
this.destroyed_tile_pool.shift();
}
}
} }
add_tile(tile, cell) { add_tile(tile, cell) {
@ -2848,21 +2836,7 @@ export class Level extends LevelInterface {
} }
make_actor(type, direction = 'south') { make_actor(type, direction = 'south') {
let actor; return new Tile(type, direction);
if (this.destroyed_tile_pool.length > 0) {
actor = this.destroyed_tile_pool.shift();
// Clear out anything already set on the tile
for (let key of Object.keys(actor)) {
this._set_tile_prop(actor, key, Tile.prototype[key]);
}
this._set_tile_prop(actor, 'type', type);
this._set_tile_prop(actor, 'direction', direction);
}
else {
actor = new Tile(type, direction);
}
return actor;
} }
add_actor(actor) { add_actor(actor) {