Framework remove parallax

This commit is contained in:
Daniel Mills 2021-08-09 09:07:31 -04:00
parent 832bad1fee
commit 252d289a8d
2 changed files with 8 additions and 24 deletions

View File

@ -24,6 +24,7 @@ import com.volmit.iris.core.gui.components.Renderer;
import com.volmit.iris.core.project.loader.IrisData; import com.volmit.iris.core.project.loader.IrisData;
import com.volmit.iris.engine.IrisComplex; import com.volmit.iris.engine.IrisComplex;
import com.volmit.iris.engine.data.cache.Cache; import com.volmit.iris.engine.data.cache.Cache;
import com.volmit.iris.engine.mantle.EngineMantle;
import com.volmit.iris.engine.object.basic.IrisColor; import com.volmit.iris.engine.object.basic.IrisColor;
import com.volmit.iris.engine.object.basic.IrisPosition; import com.volmit.iris.engine.object.basic.IrisPosition;
import com.volmit.iris.engine.object.biome.IrisBiome; import com.volmit.iris.engine.object.biome.IrisBiome;
@ -80,9 +81,9 @@ public interface Engine extends DataProvider, Fallible, GeneratorAccess, LootPro
void printMetrics(CommandSender sender); void printMetrics(CommandSender sender);
void recycle(); EngineMantle getMantle();
EngineParallaxManager getEngineParallax(); void recycle();
EngineActuator<BlockData> getTerrainActuator(); EngineActuator<BlockData> getTerrainActuator();
@ -143,13 +144,13 @@ public interface Engine extends DataProvider, Fallible, GeneratorAccess, LootPro
EngineMetrics getMetrics(); EngineMetrics getMetrics();
default void save() { default void save() {
getParallax().saveAll(); getMantle().save();
getWorldManager().onSave(); getWorldManager().onSave();
saveEngineData(); saveEngineData();
} }
default void saveNow() { default void saveNow() {
getParallax().saveAllNOW(); getMantle().saveAllNow();
saveEngineData(); saveEngineData();
} }
@ -171,10 +172,6 @@ public interface Engine extends DataProvider, Fallible, GeneratorAccess, LootPro
return getTarget().getDimension(); return getTarget().getDimension();
} }
default ParallaxAccess getParallax() {
return getTarget().getParallaxWorld();
}
@BlockCoordinates @BlockCoordinates
default Color draw(double x, double z) { default Color draw(double x, double z) {
IrisRegion region = getRegion((int) x, (int) z); IrisRegion region = getRegion((int) x, (int) z);
@ -196,11 +193,6 @@ public interface Engine extends DataProvider, Fallible, GeneratorAccess, LootPro
return getComplex().getRegionStream().get(x, z); return getComplex().getRegionStream().get(x, z);
} }
@Override
default ParallaxAccess getParallaxAccess() {
return getParallax();
}
@BlockCoordinates @BlockCoordinates
@Override @Override
default IrisBiome getCaveBiome(int x, int z) { default IrisBiome getCaveBiome(int x, int z) {
@ -232,6 +224,7 @@ public interface Engine extends DataProvider, Fallible, GeneratorAccess, LootPro
} }
if (B.isUpdatable(data)) { if (B.isUpdatable(data)) {
// TODO: BLOCK UPDATES
getParallax().updateBlock(x, y, z); getParallax().updateBlock(x, y, z);
getParallax().getMetaRW(x >> 4, z >> 4).setUpdates(true); getParallax().getMetaRW(x >> 4, z >> 4).setUpdates(true);
} }
@ -246,6 +239,7 @@ public interface Engine extends DataProvider, Fallible, GeneratorAccess, LootPro
@Override @Override
default void updateChunk(Chunk c) { default void updateChunk(Chunk c) {
PrecisionStopwatch p = PrecisionStopwatch.start(); PrecisionStopwatch p = PrecisionStopwatch.start();
// TODO: Mantle block updates
if (getParallax().getMetaR(c.getX(), c.getZ()).isUpdates()) { if (getParallax().getMetaR(c.getX(), c.getZ()).isUpdates()) {
Hunk<Boolean> b = getParallax().getUpdatesR(c.getX(), c.getZ()); Hunk<Boolean> b = getParallax().getUpdatesR(c.getX(), c.getZ());
@ -423,7 +417,7 @@ public interface Engine extends DataProvider, Fallible, GeneratorAccess, LootPro
} }
default void clean() { default void clean() {
burst().lazy(() -> getParallax().cleanup()); burst().lazy(() -> getMantle().trim());
} }
@BlockCoordinates @BlockCoordinates

View File

@ -22,21 +22,15 @@ import com.volmit.iris.core.IrisSettings;
import com.volmit.iris.core.project.loader.IrisData; import com.volmit.iris.core.project.loader.IrisData;
import com.volmit.iris.engine.object.common.IrisWorld; import com.volmit.iris.engine.object.common.IrisWorld;
import com.volmit.iris.engine.object.dimensional.IrisDimension; import com.volmit.iris.engine.object.dimensional.IrisDimension;
import com.volmit.iris.engine.parallax.ParallaxWorld;
import com.volmit.iris.util.parallel.MultiBurst; import com.volmit.iris.util.parallel.MultiBurst;
import lombok.Builder;
import lombok.Data; import lombok.Data;
import java.io.File;
@Data @Data
public class EngineTarget { public class EngineTarget {
private final MultiBurst parallaxBurster;
private final MultiBurst burster; private final MultiBurst burster;
private final IrisDimension dimension; private final IrisDimension dimension;
private IrisWorld world; private IrisWorld world;
private final IrisData data; private final IrisData data;
private final ParallaxWorld parallaxWorld;
public EngineTarget(IrisWorld world, IrisDimension dimension, IrisData data) { public EngineTarget(IrisWorld world, IrisDimension dimension, IrisData data) {
this.world = world; this.world = world;
@ -45,9 +39,6 @@ public class EngineTarget {
this.burster = new MultiBurst("Iris Engine " + dimension.getName(), this.burster = new MultiBurst("Iris Engine " + dimension.getName(),
IrisSettings.get().getConcurrency().getEngineThreadPriority(), IrisSettings.get().getConcurrency().getEngineThreadPriority(),
IrisSettings.getThreadCount(IrisSettings.get().getConcurrency().getEngineThreadCount())); IrisSettings.getThreadCount(IrisSettings.get().getConcurrency().getEngineThreadCount()));
this.parallaxBurster = new MultiBurst("Iris Parallax Engine " + dimension.getName(), 3, 4);
this.parallaxWorld = new ParallaxWorld(parallaxBurster, 256, new File(world.worldFolder(),
"iris/" + dimension.getLoadKey() + "/parallax"));
} }
public int getHeight() public int getHeight()
@ -56,7 +47,6 @@ public class EngineTarget {
} }
public void close() { public void close() {
parallaxBurster.shutdownLater();
burster.shutdownLater(); burster.shutdownLater();
} }
} }