rename RenderFileHandler -> RenderSourceFileHandler

This commit is contained in:
James Seibel
2023-02-18 16:41:21 -06:00
parent cabc1d1de9
commit 40db02cce3
5 changed files with 26 additions and 27 deletions
@@ -10,7 +10,7 @@ import java.util.concurrent.CompletableFuture;
/**
* This represents LOD data that is stored in long term storage (IE LOD files stored on the hard drive) <br>
* Example: {@link RenderFileHandler RenderFileHandler} <br><br>
* Example: {@link RenderSourceFileHandler RenderSourceFileHandler} <br><br>
*
* This is used to create {@link ColumnRenderSource}'s
*/
@@ -1,5 +1,6 @@
package com.seibel.lod.core.file.renderfile;
import com.seibel.lod.core.datatype.render.ColumnRenderLoader;
import com.seibel.lod.core.datatype.render.ColumnRenderSource;
import com.seibel.lod.core.datatype.render.AbstractRenderSourceLoader;
import com.seibel.lod.core.datatype.full.sources.ChunkSizedFullDataSource;
@@ -33,7 +34,7 @@ public class RenderMetaDataFile extends AbstractMetaDataFile
// null - Nothing is loaded or being loaded
AtomicReference<Object> data = new AtomicReference<>(null);
private final RenderFileHandler fileHandler;
private final RenderSourceFileHandler fileHandler;
private boolean doesFileExist;
@@ -46,11 +47,11 @@ public class RenderMetaDataFile extends AbstractMetaDataFile
* NOTE: should only be used if there is NOT an existing file.
* @throws IOException if a file already exists for this position
*/
public static RenderMetaDataFile createNewFileForPos(RenderFileHandler fileHandler, DhSectionPos pos) throws IOException
public static RenderMetaDataFile createNewFileForPos(RenderSourceFileHandler fileHandler, DhSectionPos pos) throws IOException
{
return new RenderMetaDataFile(fileHandler, pos);
}
private RenderMetaDataFile(RenderFileHandler fileHandler, DhSectionPos pos) throws IOException
private RenderMetaDataFile(RenderSourceFileHandler fileHandler, DhSectionPos pos) throws IOException
{
super(fileHandler.computeRenderFilePath(pos), pos);
this.fileHandler = fileHandler;
@@ -62,11 +63,11 @@ public class RenderMetaDataFile extends AbstractMetaDataFile
* NOTE: should only be used if there IS an existing file.
* @throws IOException if no file exists for this position
*/
public static RenderMetaDataFile createFromExistingFile(RenderFileHandler fileHandler, File path) throws IOException
public static RenderMetaDataFile createFromExistingFile(RenderSourceFileHandler fileHandler, File path) throws IOException
{
return new RenderMetaDataFile(fileHandler, path);
}
private RenderMetaDataFile(RenderFileHandler fileHandler, File path) throws IOException
private RenderMetaDataFile(RenderSourceFileHandler fileHandler, File path) throws IOException
{
super(path);
this.fileHandler = fileHandler;
@@ -2,7 +2,6 @@ package com.seibel.lod.core.file.renderfile;
import com.google.common.collect.HashMultimap;
import com.seibel.lod.core.datatype.full.IFullDataSource;
import com.seibel.lod.core.datatype.render.AbstractRenderSourceLoader;
import com.seibel.lod.core.datatype.render.ColumnRenderSource;
import com.seibel.lod.core.datatype.full.sources.ChunkSizedFullDataSource;
import com.seibel.lod.core.datatype.transform.DataRenderTransformer;
@@ -24,9 +23,10 @@ import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ExecutorService;
public class RenderFileHandler implements ILodRenderSourceProvider
public class RenderSourceFileHandler implements ILodRenderSourceProvider
{
public static final String RENDER_FILE_EXTENSION = ".rlod";
public static final long RENDER_SOURCE_TYPE_ID = ColumnRenderSource.TYPE_ID;
private static final Logger LOGGER = DhLoggerBuilder.getLogger();
@@ -42,7 +42,7 @@ public class RenderFileHandler implements ILodRenderSourceProvider
public RenderFileHandler(IFullDataSourceProvider sourceProvider, IDhClientLevel level, File saveRootDir)
public RenderSourceFileHandler(IFullDataSourceProvider sourceProvider, IDhClientLevel level, File saveRootDir)
{
this.fullDataSourceProvider = sourceProvider;
this.level = level;
@@ -339,9 +339,7 @@ public class RenderFileHandler implements ILodRenderSourceProvider
//file.metaData.dataVersion.set(newDataVersion);
file.metaData.dataLevel = currentRenderSource.getDataDetail();
file.loader = AbstractRenderSourceLoader.getLoader(currentRenderSource.getClass(), currentRenderSource.getRenderVersion());
file.dataType = currentRenderSource.getClass();
file.metaData.dataTypeId = file.loader.renderTypeId;
file.metaData.dataTypeId = RENDER_SOURCE_TYPE_ID;
file.metaData.loaderVersion = currentRenderSource.getRenderVersion();
file.save(currentRenderSource, this.level);
}
@@ -1,10 +1,10 @@
package com.seibel.lod.core.level;
import com.seibel.lod.core.file.fullDatafile.IFullDataSourceProvider;
import com.seibel.lod.core.file.renderfile.RenderSourceFileHandler;
import com.seibel.lod.core.render.LodQuadTree;
import com.seibel.lod.core.util.FileScanUtil;
import com.seibel.lod.core.file.fullDatafile.RemoteFullDataFileHandler;
import com.seibel.lod.core.file.renderfile.RenderFileHandler;
import com.seibel.lod.core.pos.DhBlockPos2D;
import com.seibel.lod.core.render.RenderBufferHandler;
import com.seibel.lod.core.file.structure.ClientOnlySaveStructure;
@@ -31,7 +31,7 @@ public class DhClientLevel implements IDhClientLevel
private static final IMinecraftClientWrapper MC_CLIENT = SingletonInjector.INSTANCE.get(IMinecraftClientWrapper.class);
public final ClientOnlySaveStructure save;
public final RemoteFullDataFileHandler dataFileHandler;
public final RenderFileHandler renderFileHandler;
public final RenderSourceFileHandler renderSourceFileHandler;
public final RenderBufferHandler renderBufferHandler; //TODO: Should this be owned by renderer?
public final IClientLevelWrapper level;
public LodRenderer renderer = null;
@@ -45,12 +45,12 @@ public class DhClientLevel implements IDhClientLevel
save.getDataFolder(level).mkdirs();
save.getRenderCacheFolder(level).mkdirs();
this.dataFileHandler = new RemoteFullDataFileHandler(this, save.getDataFolder(level));
this.renderFileHandler = new RenderFileHandler(this.dataFileHandler, this, save.getRenderCacheFolder(level));
this.renderSourceFileHandler = new RenderSourceFileHandler(this.dataFileHandler, this, save.getRenderCacheFolder(level));
this.tree = new LodQuadTree(this, Config.Client.Graphics.Quality.lodChunkRenderDistance.get() * 16,
MC_CLIENT.getPlayerBlockPos().x, MC_CLIENT.getPlayerBlockPos().z, this.renderFileHandler);
MC_CLIENT.getPlayerBlockPos().x, MC_CLIENT.getPlayerBlockPos().z, this.renderSourceFileHandler);
this.renderBufferHandler = new RenderBufferHandler(this.tree);
this.level = level;
FileScanUtil.scanFiles(save, level, this.dataFileHandler, this.renderFileHandler);
FileScanUtil.scanFiles(save, level, this.dataFileHandler, this.renderSourceFileHandler);
LOGGER.info("Started DHLevel for {} with saves at {}", level, save);
}
@@ -110,12 +110,12 @@ public class DhClientLevel implements IDhClientLevel
public int getMinY() { return this.level.getMinHeight(); }
@Override
public CompletableFuture<Void> saveAsync() { return this.renderFileHandler.flushAndSave(); }
public CompletableFuture<Void> saveAsync() { return this.renderSourceFileHandler.flushAndSave(); }
@Override
public void close()
{
this.renderFileHandler.close();
this.renderSourceFileHandler.close();
LOGGER.info("Closed DHLevel for {}", this.level);
}
@@ -7,6 +7,7 @@ import com.seibel.lod.core.datatype.full.sources.ChunkSizedFullDataSource;
import com.seibel.lod.core.datatype.full.sources.FullDataSource;
import com.seibel.lod.core.datatype.transform.ChunkToLodBuilder;
import com.seibel.lod.core.file.fullDatafile.IFullDataSourceProvider;
import com.seibel.lod.core.file.renderfile.RenderSourceFileHandler;
import com.seibel.lod.core.generation.BatchGenerator;
import com.seibel.lod.core.generation.WorldGenerationQueue;
import com.seibel.lod.core.pos.DhLodPos;
@@ -14,7 +15,6 @@ import com.seibel.lod.core.pos.DhSectionPos;
import com.seibel.lod.core.render.LodQuadTree;
import com.seibel.lod.core.file.fullDatafile.GeneratedFullDataFileHandler;
import com.seibel.lod.core.util.FileScanUtil;
import com.seibel.lod.core.file.renderfile.RenderFileHandler;
import com.seibel.lod.core.pos.DhBlockPos2D;
import com.seibel.lod.core.render.RenderBufferHandler;
import com.seibel.lod.core.file.structure.LocalSaveStructure;
@@ -130,7 +130,7 @@ public class DhClientServerLevel implements IDhClientLevel, IDhServerLevel
DhLodPos pos = data.getBBoxLodPos().convertToDetailLevel(FullDataSource.SECTION_SIZE_OFFSET);
if (renderState != null)
{
renderState.renderFileHandler.write(new DhSectionPos(pos.detailLevel, pos.x, pos.z), data);
renderState.renderSourceFileHandler.write(new DhSectionPos(pos.detailLevel, pos.x, pos.z), data);
}
else
{
@@ -264,7 +264,7 @@ public class DhClientServerLevel implements IDhClientLevel, IDhServerLevel
RenderState renderState = this.renderStateRef.get();
if (renderState != null)
{
return renderState.renderFileHandler.flushAndSave().thenCombine(this.dataFileHandler.flushAndSave(), (voidA, voidB) -> null);
return renderState.renderSourceFileHandler.flushAndSave().thenCombine(this.dataFileHandler.flushAndSave(), (voidA, voidB) -> null);
}
else
{
@@ -377,7 +377,7 @@ public class DhClientServerLevel implements IDhClientLevel, IDhServerLevel
{
public final IClientLevelWrapper clientLevel;
public final LodQuadTree quadtree;
public final RenderFileHandler renderFileHandler;
public final RenderSourceFileHandler renderSourceFileHandler;
public final LodRenderer renderer;
@@ -387,13 +387,13 @@ public class DhClientServerLevel implements IDhClientLevel, IDhServerLevel
DhClientServerLevel thisParent = DhClientServerLevel.this;
this.clientLevel = clientLevel;
this.renderFileHandler = new RenderFileHandler(thisParent.dataFileHandler, thisParent, thisParent.saveStructure.getRenderCacheFolder(thisParent.serverLevel));
this.renderSourceFileHandler = new RenderSourceFileHandler(thisParent.dataFileHandler, thisParent, thisParent.saveStructure.getRenderCacheFolder(thisParent.serverLevel));
this.quadtree = new LodQuadTree(DhClientServerLevel.this, Config.Client.Graphics.Quality.lodChunkRenderDistance.get() * LodUtil.CHUNK_WIDTH,
MC_CLIENT.getPlayerBlockPos().x, MC_CLIENT.getPlayerBlockPos().z, this.renderFileHandler);
MC_CLIENT.getPlayerBlockPos().x, MC_CLIENT.getPlayerBlockPos().z, this.renderSourceFileHandler);
RenderBufferHandler renderBufferHandler = new RenderBufferHandler(this.quadtree);
FileScanUtil.scanFiles(thisParent.saveStructure, thisParent.serverLevel, null, this.renderFileHandler);
FileScanUtil.scanFiles(thisParent.saveStructure, thisParent.serverLevel, null, this.renderSourceFileHandler);
this.renderer = new LodRenderer(renderBufferHandler);
}
@@ -403,7 +403,7 @@ public class DhClientServerLevel implements IDhClientLevel, IDhServerLevel
{
this.renderer.close();
this.quadtree.close();
return this.renderFileHandler.flushAndSave();
return this.renderSourceFileHandler.flushAndSave();
}
}