cache: rename File to FSFile

This commit is contained in:
Adam
2017-09-03 16:46:34 -04:00
parent 0bfdf1d39a
commit 684bf70719
31 changed files with 162 additions and 135 deletions

View File

@@ -33,6 +33,7 @@ import net.runelite.cache.definitions.InterfaceDefinition;
import net.runelite.cache.definitions.exporters.InterfaceExporter;
import net.runelite.cache.definitions.loaders.InterfaceLoader;
import net.runelite.cache.fs.Archive;
import net.runelite.cache.fs.FSFile;
import net.runelite.cache.fs.Index;
import net.runelite.cache.fs.Store;
import net.runelite.cache.util.Namer;
@@ -58,7 +59,7 @@ public class InterfaceManager
{
int archiveId = archive.getArchiveId();
for (net.runelite.cache.fs.File file : archive.getFiles())
for (FSFile file : archive.getFiles())
{
int fileId = file.getFileId();

View File

@@ -33,6 +33,7 @@ import net.runelite.cache.definitions.ItemDefinition;
import net.runelite.cache.definitions.exporters.ItemExporter;
import net.runelite.cache.definitions.loaders.ItemLoader;
import net.runelite.cache.fs.Archive;
import net.runelite.cache.fs.FSFile;
import net.runelite.cache.fs.Index;
import net.runelite.cache.fs.Store;
import net.runelite.cache.util.Namer;
@@ -55,7 +56,7 @@ public class ItemManager
Index index = store.getIndex(IndexType.CONFIGS);
Archive archive = index.getArchive(ConfigType.ITEM.getId());
for (net.runelite.cache.fs.File f : archive.getFiles())
for (FSFile f : archive.getFiles())
{
ItemDefinition def = loader.load(f.getFileId(), f.getContents());
items.add(def);

View File

@@ -46,7 +46,7 @@ import net.runelite.cache.definitions.loaders.SpriteLoader;
import net.runelite.cache.definitions.loaders.TextureLoader;
import net.runelite.cache.definitions.loaders.UnderlayLoader;
import net.runelite.cache.fs.Archive;
import net.runelite.cache.fs.File;
import net.runelite.cache.fs.FSFile;
import net.runelite.cache.fs.Index;
import net.runelite.cache.fs.Store;
import net.runelite.cache.region.Location;
@@ -361,7 +361,7 @@ public class MapImageDumper
Index index = store.getIndex(IndexType.CONFIGS);
Archive archive = index.getArchive(ConfigType.UNDERLAY.getId());
for (File file : archive.getFiles())
for (FSFile file : archive.getFiles())
{
UnderlayLoader loader = new UnderlayLoader();
UnderlayDefinition underlay = loader.load(file.getFileId(), file.getContents());
@@ -387,7 +387,7 @@ public class MapImageDumper
Index index = store.getIndex(IndexType.CONFIGS);
Archive archive = index.getArchive(ConfigType.OVERLAY.getId());
for (File file : archive.getFiles())
for (FSFile file : archive.getFiles())
{
OverlayLoader loader = new OverlayLoader();
OverlayDefinition underlay = loader.load(file.getFileId(), file.getContents());
@@ -413,7 +413,7 @@ public class MapImageDumper
Index index = store.getIndex(IndexType.TEXTURES);
Archive archive = index.getArchive(0);
for (File file : archive.getFiles())
for (FSFile file : archive.getFiles())
{
TextureLoader loader = new TextureLoader();
TextureDefinition texture = loader.load(file.getFileId(), file.getContents());
@@ -443,11 +443,11 @@ public class MapImageDumper
for (Archive a : index.getArchives())
{
List<File> files = a.getFiles();
List<FSFile> files = a.getFiles();
assert files.size() == 1;
File file = files.get(0);
FSFile file = files.get(0);
byte[] contents = file.getContents();
SpriteLoader loader = new SpriteLoader();
@@ -534,7 +534,7 @@ public class MapImageDumper
ObjectLoader loader = new ObjectLoader();
for (File f : archive.getFiles())
for (FSFile f : archive.getFiles())
{
ObjectDefinition def = loader.load(f.getFileId(), f.getContents());
objects.put(def.getId(), def);

View File

@@ -33,6 +33,7 @@ import net.runelite.cache.definitions.NpcDefinition;
import net.runelite.cache.definitions.exporters.NpcExporter;
import net.runelite.cache.definitions.loaders.NpcLoader;
import net.runelite.cache.fs.Archive;
import net.runelite.cache.fs.FSFile;
import net.runelite.cache.fs.Index;
import net.runelite.cache.fs.Store;
import net.runelite.cache.util.Namer;
@@ -55,7 +56,7 @@ public class NpcManager
Index index = store.getIndex(IndexType.CONFIGS);
Archive archive = index.getArchive(ConfigType.NPC.getId());
for (net.runelite.cache.fs.File f : archive.getFiles())
for (FSFile f : archive.getFiles())
{
NpcDefinition npc = loader.load(f.getFileId(), f.getContents());
npcs.add(npc);

View File

@@ -33,6 +33,7 @@ import net.runelite.cache.definitions.ObjectDefinition;
import net.runelite.cache.definitions.exporters.ObjectExporter;
import net.runelite.cache.definitions.loaders.ObjectLoader;
import net.runelite.cache.fs.Archive;
import net.runelite.cache.fs.FSFile;
import net.runelite.cache.fs.Index;
import net.runelite.cache.fs.Store;
import net.runelite.cache.util.Namer;
@@ -55,7 +56,7 @@ public class ObjectManager
Index index = store.getIndex(IndexType.CONFIGS);
Archive archive = index.getArchive(ConfigType.OBJECT.getId());
for (net.runelite.cache.fs.File f : archive.getFiles())
for (FSFile f : archive.getFiles())
{
ObjectDefinition def = loader.load(f.getFileId(), f.getContents());
objects.add(def);

View File

@@ -33,6 +33,7 @@ import net.runelite.cache.definitions.SpriteDefinition;
import net.runelite.cache.definitions.exporters.SpriteExporter;
import net.runelite.cache.definitions.loaders.SpriteLoader;
import net.runelite.cache.fs.Archive;
import net.runelite.cache.fs.FSFile;
import net.runelite.cache.fs.Index;
import net.runelite.cache.fs.Store;
@@ -52,11 +53,11 @@ public class SpriteManager
for (Archive a : index.getArchives())
{
List<net.runelite.cache.fs.File> files = a.getFiles();
List<FSFile> files = a.getFiles();
assert files.size() == 1;
net.runelite.cache.fs.File file = files.get(0);
FSFile file = files.get(0);
byte[] contents = file.getContents();
SpriteLoader loader = new SpriteLoader();

View File

@@ -29,7 +29,7 @@ import java.util.List;
import net.runelite.cache.definitions.TextureDefinition;
import net.runelite.cache.definitions.loaders.TextureLoader;
import net.runelite.cache.fs.Archive;
import net.runelite.cache.fs.File;
import net.runelite.cache.fs.FSFile;
import net.runelite.cache.fs.Index;
import net.runelite.cache.fs.Store;
@@ -50,7 +50,7 @@ public class TextureManager
TextureLoader loader = new TextureLoader();
for (File file : archive.getFiles())
for (FSFile file : archive.getFiles())
{
TextureDefinition texture = loader.load(file.getFileId(), file.getContents());
textures.add(texture);

View File

@@ -25,6 +25,7 @@
package net.runelite.cache.fs;
import com.google.common.io.Files;
import java.io.File;
import java.io.IOException;
import java.nio.charset.Charset;
import java.util.ArrayList;
@@ -52,7 +53,7 @@ public class Archive
private int revision;
private int compression;
private List<File> files = new ArrayList<>();
private List<FSFile> files = new ArrayList<>();
public Archive(Index index, int id)
{
@@ -112,9 +113,9 @@ public class Archive
this.data = data;
}
public File addFile(int id)
public FSFile addFile(int id)
{
File file = new File(this, id);
FSFile file = new FSFile(this, id);
this.files.add(file);
return file;
}
@@ -127,7 +128,7 @@ public class Archive
{
int fileId = archive += protocol >= 7 ? stream.readBigSmart() : stream.readUnsignedShort();
File file = new File(this, fileId);
FSFile file = new FSFile(this, fileId);
this.files.add(file);
}
}
@@ -228,7 +229,7 @@ public class Archive
for (int i = 0; i < filesCount; ++i)
{
File f = this.getFiles().get(i);
FSFile f = this.getFiles().get(i);
f.setContents(fileContents[i]);
}
}
@@ -241,12 +242,12 @@ public class Archive
if (filesCount == 1)
{
File file = this.getFiles().get(0);
FSFile file = this.getFiles().get(0);
stream.writeBytes(file.getContents());
}
else
{
for (File file : this.getFiles())
for (FSFile file : this.getFiles())
{
byte[] contents = file.getContents();
stream.writeBytes(contents);
@@ -254,7 +255,7 @@ public class Archive
int offset = 0;
for (File file : this.getFiles())
for (FSFile file : this.getFiles())
{
int chunkSize = file.getSize();
@@ -273,63 +274,63 @@ public class Archive
return fileData;
}
public void saveTree(java.io.File to) throws IOException
public void saveTree(File to) throws IOException
{
if (data != null)
{
assert files.size() == 1; // this is the maps
File file = files.get(0);
FSFile file = files.get(0);
java.io.File archiveFile = new java.io.File(to, this.getArchiveId() + "-"
File archiveFile = new File(to, this.getArchiveId() + "-"
+ file.getFileId() + "-" + Integer.toHexString(file.getNameHash()) + ".datc");
Files.write(data, archiveFile);
archiveFile = new java.io.File(to, this.getArchiveId() + ".rev");
archiveFile = new File(to, this.getArchiveId() + ".rev");
Files.write("" + this.getRevision(), archiveFile, Charset.defaultCharset());
archiveFile = new java.io.File(to, this.getArchiveId() + ".name");
archiveFile = new File(to, this.getArchiveId() + ".name");
Files.write("" + this.getNameHash(), archiveFile, Charset.defaultCharset());
return;
}
if (files.size() == 1)
{
File file = this.getFiles().get(0);
FSFile file = this.getFiles().get(0);
java.io.File archiveFile = new java.io.File(to, this.getArchiveId() + "-"
File archiveFile = new File(to, this.getArchiveId() + "-"
+ file.getFileId() + "-" + Integer.toHexString(file.getNameHash()) + ".dat");
byte[] contents = file.getContents();
Files.write(contents, archiveFile);
archiveFile = new java.io.File(to, this.getArchiveId() + ".rev");
archiveFile = new File(to, this.getArchiveId() + ".rev");
Files.write("" + this.getRevision(), archiveFile, Charset.defaultCharset());
archiveFile = new java.io.File(to, this.getArchiveId() + ".name");
archiveFile = new File(to, this.getArchiveId() + ".name");
Files.write("" + this.getNameHash(), archiveFile, Charset.defaultCharset());
return;
}
java.io.File archiveFile = new java.io.File(to, this.getArchiveId() + ".rev");
File archiveFile = new File(to, this.getArchiveId() + ".rev");
Files.write("" + this.getRevision(), archiveFile, Charset.defaultCharset());
archiveFile = new java.io.File(to, this.getArchiveId() + ".name");
archiveFile = new File(to, this.getArchiveId() + ".name");
Files.write("" + this.getNameHash(), archiveFile, Charset.defaultCharset());
java.io.File archiveFolder = new java.io.File(to, "" + this.getArchiveId());
File archiveFolder = new File(to, "" + this.getArchiveId());
archiveFolder.mkdirs();
for (File file : files)
for (FSFile file : files)
{
archiveFile = new java.io.File(archiveFolder, file.getFileId() + "-"
archiveFile = new File(archiveFolder, file.getFileId() + "-"
+ Integer.toHexString(file.getNameHash()) + ".dat");
byte[] contents = file.getContents();
Files.write(contents, archiveFile);
}
}
public void loadTreeData(java.io.File parent, java.io.File from) throws IOException
public void loadTreeData(File parent, File from) throws IOException
{
//archiveId-fileId-fileName
String[] parts = Files.getNameWithoutExtension(from.getName()).split("-");
@@ -343,21 +344,21 @@ public class Archive
data = Files.toByteArray(from);
File file = new File(this, fileId);
FSFile file = new FSFile(this, fileId);
file.setNameHash(nameHash);
files.add(file);
java.io.File archiveFile = new java.io.File(parent, this.getArchiveId() + ".rev");
File archiveFile = new File(parent, this.getArchiveId() + ".rev");
int rev = Integer.parseInt(Files.readFirstLine(archiveFile, Charset.defaultCharset()));
this.setRevision(rev);
archiveFile = new java.io.File(parent, this.getArchiveId() + ".name");
archiveFile = new File(parent, this.getArchiveId() + ".name");
int name = Integer.parseInt(Files.readFirstLine(archiveFile, Charset.defaultCharset()));
this.setNameHash(name);
}
public void loadTreeSingleFile(java.io.File parent, java.io.File from) throws IOException
public void loadTreeSingleFile(File parent, File from) throws IOException
{
//archiveId-fileId-fileName
String[] parts = Files.getNameWithoutExtension(from.getName()).split("-");
@@ -369,7 +370,7 @@ public class Archive
assert archiveId == this.getArchiveId();
File file = new File(this, fileId);
FSFile file = new FSFile(this, fileId);
file.setNameHash(nameHash);
byte[] contents = Files.toByteArray(from);
@@ -377,18 +378,18 @@ public class Archive
files.add(file);
java.io.File archiveFile = new java.io.File(parent, this.getArchiveId() + ".rev");
File archiveFile = new File(parent, this.getArchiveId() + ".rev");
int rev = Integer.parseInt(Files.readFirstLine(archiveFile, Charset.defaultCharset()));
this.setRevision(rev);
archiveFile = new java.io.File(parent, this.getArchiveId() + ".name");
archiveFile = new File(parent, this.getArchiveId() + ".name");
int name = Integer.parseInt(Files.readFirstLine(archiveFile, Charset.defaultCharset()));
this.setNameHash(name);
}
public void loadTree(java.io.File parent, java.io.File from) throws IOException
public void loadTree(File parent, File from) throws IOException
{
for (java.io.File file : from.listFiles())
for (File file : from.listFiles())
{
//fileId-fileName.dat
String[] split = Files.getNameWithoutExtension(file.getName()).split("-");
@@ -397,7 +398,7 @@ public class Archive
int fileId = Integer.parseInt(split[0]);
int fileName = (int) Long.parseLong(split[1], 16);
File f = new File(this, fileId);
FSFile f = new FSFile(this, fileId);
f.setNameHash(fileName);
byte[] contents = Files.toByteArray(file);
@@ -406,11 +407,11 @@ public class Archive
files.add(f);
}
java.io.File archiveFile = new java.io.File(parent, this.getArchiveId() + ".rev");
File archiveFile = new File(parent, this.getArchiveId() + ".rev");
int rev = Integer.parseInt(Files.readFirstLine(archiveFile, Charset.defaultCharset()));
this.setRevision(rev);
archiveFile = new java.io.File(parent, this.getArchiveId() + ".name");
archiveFile = new File(parent, this.getArchiveId() + ".name");
int name = Integer.parseInt(Files.readFirstLine(archiveFile, Charset.defaultCharset()));
this.setNameHash(name);
@@ -422,7 +423,7 @@ public class Archive
{
for (int i = 0; i < numberOfFiles; ++i)
{
File file = this.files.get(i);
FSFile file = this.files.get(i);
int name = stream.readInt();
file.setNameHash(name);
}
@@ -483,7 +484,7 @@ public class Archive
this.compression = compression;
}
public List<File> getFiles()
public List<FSFile> getFiles()
{
return files;
}

View File

@@ -27,14 +27,14 @@ package net.runelite.cache.fs;
import java.util.Arrays;
public class File
public class FSFile
{
private Archive archive;
private int fileId;
private int nameHash;
private byte[] contents;
public File(Archive archive, int fileId)
public FSFile(Archive archive, int fileId)
{
this.archive = archive;
this.fileId = fileId;
@@ -61,7 +61,7 @@ public class File
{
return false;
}
final File other = (File) obj;
final FSFile other = (FSFile) obj;
if (this.fileId != other.fileId)
{
return false;

View File

@@ -28,6 +28,7 @@ import com.google.common.io.Files;
import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;
import java.io.Closeable;
import java.io.File;
import java.io.IOException;
import java.nio.charset.Charset;
import java.util.ArrayList;
@@ -288,9 +289,9 @@ public class Index implements Closeable
this.whirlpool = res.whirlpool;
}
public void saveTree(java.io.File to) throws IOException
public void saveTree(File to) throws IOException
{
java.io.File idx = new java.io.File(to, "" + this.getId());
File idx = new File(to, "" + this.getId());
idx.mkdirs();
for (Archive a : archives)
@@ -298,13 +299,13 @@ public class Index implements Closeable
a.saveTree(idx);
}
java.io.File rev = new java.io.File(to, this.getId() + ".rev");
File rev = new File(to, this.getId() + ".rev");
Files.write("" + this.getRevision(), rev, Charset.defaultCharset());
}
public void loadTree(java.io.File parent, java.io.File to) throws IOException
public void loadTree(File parent, File to) throws IOException
{
for (java.io.File f : to.listFiles())
for (File f : to.listFiles())
{
if (f.isDirectory())
{
@@ -338,7 +339,7 @@ public class Index implements Closeable
}
}
String str = Files.readFirstLine(new java.io.File(parent, this.getId() + ".rev"), Charset.defaultCharset());
String str = Files.readFirstLine(new File(parent, this.getId() + ".rev"), Charset.defaultCharset());
revision = Integer.parseInt(str);
Collections.sort(archives, (ar1, ar2) -> Integer.compare(ar1.getArchiveId(), ar2.getArchiveId()));
@@ -591,12 +592,12 @@ public class Index implements Closeable
for (index2 = 0; index2 < a.getFiles().size(); ++index2)
{
File file = a.getFiles().get(index2);
FSFile file = a.getFiles().get(index2);
int offset = file.getFileId();
if (index2 != 0)
{
File prev = a.getFiles().get(index2 - 1);
FSFile prev = a.getFiles().get(index2 - 1);
offset -= prev.getFileId();
}
@@ -619,7 +620,7 @@ public class Index implements Closeable
for (index2 = 0; index2 < a.getFiles().size(); ++index2)
{
File file = a.getFiles().get(index2);
FSFile file = a.getFiles().get(index2);
stream.writeInt(file.getNameHash());
}
}

View File

@@ -167,7 +167,7 @@ public class Store implements Closeable
}
}
public void saveTree(java.io.File to) throws IOException
public void saveTree(File to) throws IOException
{
for (Index i : indexes)
{
@@ -175,9 +175,9 @@ public class Store implements Closeable
}
}
public void loadTree(java.io.File from) throws IOException
public void loadTree(File from) throws IOException
{
for (java.io.File idx : from.listFiles())
for (File idx : from.listFiles())
{
if (!idx.isDirectory())
{