diff --git a/core/src/com/riiablo/map/DT1s.java b/core/src/com/riiablo/map/DT1s.java index b8b2a67e..3fcefc2e 100644 --- a/core/src/com/riiablo/map/DT1s.java +++ b/core/src/com/riiablo/map/DT1s.java @@ -69,4 +69,10 @@ public class DT1s { return null; } + + public void clear() { + dt1s.clear(); + tiles.clear(); + prob.clear(); + } } diff --git a/core/src/com/riiablo/map/Map.java b/core/src/com/riiablo/map/Map.java index 87d9dd87..2f277822 100644 --- a/core/src/com/riiablo/map/Map.java +++ b/core/src/com/riiablo/map/Map.java @@ -363,6 +363,8 @@ public class Map implements Disposable { public void dispose() { for (Zone zone : zones) Zone.free(zone); zones.clear(); + for (DT1s dt1s : this.dt1s.values()) dt1s.clear(); + dt1s.clear(); } public Array getDependencies() { @@ -691,7 +693,7 @@ public class Map implements Disposable { for (AssetDescriptor asset : dependencies) Riiablo.assets.unload(asset.fileName); dependencies = EMPTY_ASSET_ARRAY; - dt1s = null; // TODO: clear this properly -- how? + dt1s = null; // TODO: setting null -- depending on Map dispose to clear DT1s on act change town = false; entities = EMPTY_ENTITY_ARRAY; warps = EMPTY_INT_INT_MAP;