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.exporters.InterfaceExporter;
import net.runelite.cache.definitions.loaders.InterfaceLoader; import net.runelite.cache.definitions.loaders.InterfaceLoader;
import net.runelite.cache.fs.Archive; import net.runelite.cache.fs.Archive;
import net.runelite.cache.fs.FSFile;
import net.runelite.cache.fs.Index; import net.runelite.cache.fs.Index;
import net.runelite.cache.fs.Store; import net.runelite.cache.fs.Store;
import net.runelite.cache.util.Namer; import net.runelite.cache.util.Namer;
@@ -58,7 +59,7 @@ public class InterfaceManager
{ {
int archiveId = archive.getArchiveId(); int archiveId = archive.getArchiveId();
for (net.runelite.cache.fs.File file : archive.getFiles()) for (FSFile file : archive.getFiles())
{ {
int fileId = file.getFileId(); 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.exporters.ItemExporter;
import net.runelite.cache.definitions.loaders.ItemLoader; import net.runelite.cache.definitions.loaders.ItemLoader;
import net.runelite.cache.fs.Archive; import net.runelite.cache.fs.Archive;
import net.runelite.cache.fs.FSFile;
import net.runelite.cache.fs.Index; import net.runelite.cache.fs.Index;
import net.runelite.cache.fs.Store; import net.runelite.cache.fs.Store;
import net.runelite.cache.util.Namer; import net.runelite.cache.util.Namer;
@@ -55,7 +56,7 @@ public class ItemManager
Index index = store.getIndex(IndexType.CONFIGS); Index index = store.getIndex(IndexType.CONFIGS);
Archive archive = index.getArchive(ConfigType.ITEM.getId()); 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()); ItemDefinition def = loader.load(f.getFileId(), f.getContents());
items.add(def); 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.TextureLoader;
import net.runelite.cache.definitions.loaders.UnderlayLoader; import net.runelite.cache.definitions.loaders.UnderlayLoader;
import net.runelite.cache.fs.Archive; 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.Index;
import net.runelite.cache.fs.Store; import net.runelite.cache.fs.Store;
import net.runelite.cache.region.Location; import net.runelite.cache.region.Location;
@@ -361,7 +361,7 @@ public class MapImageDumper
Index index = store.getIndex(IndexType.CONFIGS); Index index = store.getIndex(IndexType.CONFIGS);
Archive archive = index.getArchive(ConfigType.UNDERLAY.getId()); Archive archive = index.getArchive(ConfigType.UNDERLAY.getId());
for (File file : archive.getFiles()) for (FSFile file : archive.getFiles())
{ {
UnderlayLoader loader = new UnderlayLoader(); UnderlayLoader loader = new UnderlayLoader();
UnderlayDefinition underlay = loader.load(file.getFileId(), file.getContents()); UnderlayDefinition underlay = loader.load(file.getFileId(), file.getContents());
@@ -387,7 +387,7 @@ public class MapImageDumper
Index index = store.getIndex(IndexType.CONFIGS); Index index = store.getIndex(IndexType.CONFIGS);
Archive archive = index.getArchive(ConfigType.OVERLAY.getId()); Archive archive = index.getArchive(ConfigType.OVERLAY.getId());
for (File file : archive.getFiles()) for (FSFile file : archive.getFiles())
{ {
OverlayLoader loader = new OverlayLoader(); OverlayLoader loader = new OverlayLoader();
OverlayDefinition underlay = loader.load(file.getFileId(), file.getContents()); OverlayDefinition underlay = loader.load(file.getFileId(), file.getContents());
@@ -413,7 +413,7 @@ public class MapImageDumper
Index index = store.getIndex(IndexType.TEXTURES); Index index = store.getIndex(IndexType.TEXTURES);
Archive archive = index.getArchive(0); Archive archive = index.getArchive(0);
for (File file : archive.getFiles()) for (FSFile file : archive.getFiles())
{ {
TextureLoader loader = new TextureLoader(); TextureLoader loader = new TextureLoader();
TextureDefinition texture = loader.load(file.getFileId(), file.getContents()); TextureDefinition texture = loader.load(file.getFileId(), file.getContents());
@@ -443,11 +443,11 @@ public class MapImageDumper
for (Archive a : index.getArchives()) for (Archive a : index.getArchives())
{ {
List<File> files = a.getFiles(); List<FSFile> files = a.getFiles();
assert files.size() == 1; assert files.size() == 1;
File file = files.get(0); FSFile file = files.get(0);
byte[] contents = file.getContents(); byte[] contents = file.getContents();
SpriteLoader loader = new SpriteLoader(); SpriteLoader loader = new SpriteLoader();
@@ -534,7 +534,7 @@ public class MapImageDumper
ObjectLoader loader = new ObjectLoader(); ObjectLoader loader = new ObjectLoader();
for (File f : archive.getFiles()) for (FSFile f : archive.getFiles())
{ {
ObjectDefinition def = loader.load(f.getFileId(), f.getContents()); ObjectDefinition def = loader.load(f.getFileId(), f.getContents());
objects.put(def.getId(), def); 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.exporters.NpcExporter;
import net.runelite.cache.definitions.loaders.NpcLoader; import net.runelite.cache.definitions.loaders.NpcLoader;
import net.runelite.cache.fs.Archive; import net.runelite.cache.fs.Archive;
import net.runelite.cache.fs.FSFile;
import net.runelite.cache.fs.Index; import net.runelite.cache.fs.Index;
import net.runelite.cache.fs.Store; import net.runelite.cache.fs.Store;
import net.runelite.cache.util.Namer; import net.runelite.cache.util.Namer;
@@ -55,7 +56,7 @@ public class NpcManager
Index index = store.getIndex(IndexType.CONFIGS); Index index = store.getIndex(IndexType.CONFIGS);
Archive archive = index.getArchive(ConfigType.NPC.getId()); 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()); NpcDefinition npc = loader.load(f.getFileId(), f.getContents());
npcs.add(npc); 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.exporters.ObjectExporter;
import net.runelite.cache.definitions.loaders.ObjectLoader; import net.runelite.cache.definitions.loaders.ObjectLoader;
import net.runelite.cache.fs.Archive; import net.runelite.cache.fs.Archive;
import net.runelite.cache.fs.FSFile;
import net.runelite.cache.fs.Index; import net.runelite.cache.fs.Index;
import net.runelite.cache.fs.Store; import net.runelite.cache.fs.Store;
import net.runelite.cache.util.Namer; import net.runelite.cache.util.Namer;
@@ -55,7 +56,7 @@ public class ObjectManager
Index index = store.getIndex(IndexType.CONFIGS); Index index = store.getIndex(IndexType.CONFIGS);
Archive archive = index.getArchive(ConfigType.OBJECT.getId()); 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()); ObjectDefinition def = loader.load(f.getFileId(), f.getContents());
objects.add(def); 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.exporters.SpriteExporter;
import net.runelite.cache.definitions.loaders.SpriteLoader; import net.runelite.cache.definitions.loaders.SpriteLoader;
import net.runelite.cache.fs.Archive; import net.runelite.cache.fs.Archive;
import net.runelite.cache.fs.FSFile;
import net.runelite.cache.fs.Index; import net.runelite.cache.fs.Index;
import net.runelite.cache.fs.Store; import net.runelite.cache.fs.Store;
@@ -52,11 +53,11 @@ public class SpriteManager
for (Archive a : index.getArchives()) for (Archive a : index.getArchives())
{ {
List<net.runelite.cache.fs.File> files = a.getFiles(); List<FSFile> files = a.getFiles();
assert files.size() == 1; assert files.size() == 1;
net.runelite.cache.fs.File file = files.get(0); FSFile file = files.get(0);
byte[] contents = file.getContents(); byte[] contents = file.getContents();
SpriteLoader loader = new SpriteLoader(); 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.TextureDefinition;
import net.runelite.cache.definitions.loaders.TextureLoader; import net.runelite.cache.definitions.loaders.TextureLoader;
import net.runelite.cache.fs.Archive; 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.Index;
import net.runelite.cache.fs.Store; import net.runelite.cache.fs.Store;
@@ -50,7 +50,7 @@ public class TextureManager
TextureLoader loader = new TextureLoader(); TextureLoader loader = new TextureLoader();
for (File file : archive.getFiles()) for (FSFile file : archive.getFiles())
{ {
TextureDefinition texture = loader.load(file.getFileId(), file.getContents()); TextureDefinition texture = loader.load(file.getFileId(), file.getContents());
textures.add(texture); textures.add(texture);

View File

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

View File

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

View File

@@ -28,6 +28,7 @@ import com.google.common.io.Files;
import io.netty.buffer.ByteBuf; import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled; import io.netty.buffer.Unpooled;
import java.io.Closeable; import java.io.Closeable;
import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.nio.charset.Charset; import java.nio.charset.Charset;
import java.util.ArrayList; import java.util.ArrayList;
@@ -288,9 +289,9 @@ public class Index implements Closeable
this.whirlpool = res.whirlpool; 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(); idx.mkdirs();
for (Archive a : archives) for (Archive a : archives)
@@ -298,13 +299,13 @@ public class Index implements Closeable
a.saveTree(idx); 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()); 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()) 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); revision = Integer.parseInt(str);
Collections.sort(archives, (ar1, ar2) -> Integer.compare(ar1.getArchiveId(), ar2.getArchiveId())); 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) for (index2 = 0; index2 < a.getFiles().size(); ++index2)
{ {
File file = a.getFiles().get(index2); FSFile file = a.getFiles().get(index2);
int offset = file.getFileId(); int offset = file.getFileId();
if (index2 != 0) if (index2 != 0)
{ {
File prev = a.getFiles().get(index2 - 1); FSFile prev = a.getFiles().get(index2 - 1);
offset -= prev.getFileId(); offset -= prev.getFileId();
} }
@@ -619,7 +620,7 @@ public class Index implements Closeable
for (index2 = 0; index2 < a.getFiles().size(); ++index2) for (index2 = 0; index2 < a.getFiles().size(); ++index2)
{ {
File file = a.getFiles().get(index2); FSFile file = a.getFiles().get(index2);
stream.writeInt(file.getNameHash()); 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) 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()) if (!idx.isDirectory())
{ {

View File

@@ -27,12 +27,13 @@ package net.runelite.cache;
import com.google.common.io.Files; import com.google.common.io.Files;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.google.gson.GsonBuilder; import com.google.gson.GsonBuilder;
import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.nio.charset.Charset; import java.nio.charset.Charset;
import net.runelite.cache.definitions.AreaDefinition; import net.runelite.cache.definitions.AreaDefinition;
import net.runelite.cache.definitions.loaders.AreaLoader; import net.runelite.cache.definitions.loaders.AreaLoader;
import net.runelite.cache.fs.Archive; 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.Index;
import net.runelite.cache.fs.Store; import net.runelite.cache.fs.Store;
import org.junit.Rule; import org.junit.Rule;
@@ -53,7 +54,7 @@ public class AreaDumper
@Test @Test
public void extract() throws IOException public void extract() throws IOException
{ {
java.io.File base = StoreLocation.LOCATION, File base = StoreLocation.LOCATION,
outDir = folder.newFolder(); outDir = folder.newFolder();
int count = 0; int count = 0;
@@ -65,12 +66,12 @@ public class AreaDumper
Index index = store.getIndex(IndexType.CONFIGS); Index index = store.getIndex(IndexType.CONFIGS);
Archive archive = index.getArchive(ConfigType.AREA.getId()); Archive archive = index.getArchive(ConfigType.AREA.getId());
for (File file : archive.getFiles()) for (FSFile file : archive.getFiles())
{ {
AreaLoader loader = new AreaLoader(); AreaLoader loader = new AreaLoader();
AreaDefinition area = loader.load(file.getContents(), file.getFileId()); AreaDefinition area = loader.load(file.getContents(), file.getFileId());
Files.write(gson.toJson(area), new java.io.File(outDir, file.getFileId() + ".json"), Charset.defaultCharset()); Files.write(gson.toJson(area), new File(outDir, file.getFileId() + ".json"), Charset.defaultCharset());
++count; ++count;
} }
} }

View File

@@ -34,6 +34,7 @@ import java.nio.charset.Charset;
import net.runelite.cache.definitions.EnumDefinition; import net.runelite.cache.definitions.EnumDefinition;
import net.runelite.cache.definitions.loaders.EnumLoader; import net.runelite.cache.definitions.loaders.EnumLoader;
import net.runelite.cache.fs.Archive; import net.runelite.cache.fs.Archive;
import net.runelite.cache.fs.FSFile;
import net.runelite.cache.fs.Index; import net.runelite.cache.fs.Index;
import net.runelite.cache.fs.Store; import net.runelite.cache.fs.Store;
import org.junit.Rule; import org.junit.Rule;
@@ -66,7 +67,7 @@ public class EnumDumperTest
EnumLoader loader = new EnumLoader(); EnumLoader loader = new EnumLoader();
for (net.runelite.cache.fs.File file : archive.getFiles()) for (FSFile file : archive.getFiles())
{ {
byte[] b = file.getContents(); byte[] b = file.getContents();

View File

@@ -27,6 +27,7 @@ package net.runelite.cache;
import com.google.common.io.Files; import com.google.common.io.Files;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.google.gson.GsonBuilder; import com.google.gson.GsonBuilder;
import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.nio.charset.Charset; import java.nio.charset.Charset;
import java.util.ArrayList; import java.util.ArrayList;
@@ -36,7 +37,7 @@ import net.runelite.cache.definitions.FramemapDefinition;
import net.runelite.cache.definitions.loaders.FrameLoader; import net.runelite.cache.definitions.loaders.FrameLoader;
import net.runelite.cache.definitions.loaders.FramemapLoader; import net.runelite.cache.definitions.loaders.FramemapLoader;
import net.runelite.cache.fs.Archive; 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.Index;
import net.runelite.cache.fs.Store; import net.runelite.cache.fs.Store;
import org.junit.Rule; import org.junit.Rule;
@@ -57,7 +58,7 @@ public class FrameDumper
//@Test //@Test
public void extract() throws IOException public void extract() throws IOException
{ {
java.io.File base = StoreLocation.LOCATION, File base = StoreLocation.LOCATION,
outDir = folder.newFolder(); outDir = folder.newFolder();
int count = 0; int count = 0;
@@ -73,7 +74,7 @@ public class FrameDumper
{ {
List<FrameDefinition> frames = new ArrayList<>(); List<FrameDefinition> frames = new ArrayList<>();
for (File file : archive.getFiles()) for (FSFile file : archive.getFiles())
{ {
byte[] contents = file.getContents(); byte[] contents = file.getContents();
@@ -81,7 +82,7 @@ public class FrameDumper
Archive framemapArchive = framemapIndex.getArchives().get(framemapArchiveId); Archive framemapArchive = framemapIndex.getArchives().get(framemapArchiveId);
assert framemapArchive.getFiles().size() == 1; assert framemapArchive.getFiles().size() == 1;
File framemapFile = framemapArchive.getFiles().get(0); FSFile framemapFile = framemapArchive.getFiles().get(0);
FramemapLoader fmloader = new FramemapLoader(); FramemapLoader fmloader = new FramemapLoader();
FramemapDefinition framemap = fmloader.load(framemapFile.getFileId(), framemapFile.getContents()); FramemapDefinition framemap = fmloader.load(framemapFile.getFileId(), framemapFile.getContents());
@@ -92,7 +93,7 @@ public class FrameDumper
frames.add(frame); frames.add(frame);
} }
Files.write(gson.toJson(frames), new java.io.File(outDir, archive.getArchiveId() + ".json"), Charset.defaultCharset()); Files.write(gson.toJson(frames), new File(outDir, archive.getArchiveId() + ".json"), Charset.defaultCharset());
++count; ++count;
} }
} }

View File

@@ -27,12 +27,13 @@ package net.runelite.cache;
import com.google.common.io.Files; import com.google.common.io.Files;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.google.gson.GsonBuilder; import com.google.gson.GsonBuilder;
import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.nio.charset.Charset; import java.nio.charset.Charset;
import net.runelite.cache.definitions.FramemapDefinition; import net.runelite.cache.definitions.FramemapDefinition;
import net.runelite.cache.definitions.loaders.FramemapLoader; import net.runelite.cache.definitions.loaders.FramemapLoader;
import net.runelite.cache.fs.Archive; 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.Index;
import net.runelite.cache.fs.Store; import net.runelite.cache.fs.Store;
import org.junit.Rule; import org.junit.Rule;
@@ -53,7 +54,7 @@ public class FramemapDumper
@Test @Test
public void extract() throws IOException public void extract() throws IOException
{ {
java.io.File base = StoreLocation.LOCATION, File base = StoreLocation.LOCATION,
outDir = folder.newFolder(); outDir = folder.newFolder();
int count = 0; int count = 0;
@@ -66,12 +67,12 @@ public class FramemapDumper
for (Archive archive : index.getArchives()) for (Archive archive : index.getArchives())
{ {
assert archive.getFiles().size() == 1; assert archive.getFiles().size() == 1;
File file = archive.getFiles().get(0); FSFile file = archive.getFiles().get(0);
FramemapLoader loader = new FramemapLoader(); FramemapLoader loader = new FramemapLoader();
FramemapDefinition framemap = loader.load(file.getFileId(), file.getContents()); FramemapDefinition framemap = loader.load(file.getFileId(), file.getContents());
Files.write(gson.toJson(framemap), new java.io.File(outDir, archive.getArchiveId() + ".json"), Charset.defaultCharset()); Files.write(gson.toJson(framemap), new File(outDir, archive.getArchiveId() + ".json"), Charset.defaultCharset());
++count; ++count;
} }
} }

View File

@@ -27,12 +27,13 @@ package net.runelite.cache;
import com.google.common.io.Files; import com.google.common.io.Files;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.google.gson.GsonBuilder; import com.google.gson.GsonBuilder;
import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.nio.charset.Charset; import java.nio.charset.Charset;
import net.runelite.cache.definitions.InventoryDefinition; import net.runelite.cache.definitions.InventoryDefinition;
import net.runelite.cache.definitions.loaders.InventoryLoader; import net.runelite.cache.definitions.loaders.InventoryLoader;
import net.runelite.cache.fs.Archive; 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.Index;
import net.runelite.cache.fs.Store; import net.runelite.cache.fs.Store;
import org.junit.Rule; import org.junit.Rule;
@@ -53,7 +54,7 @@ public class InventoryDumper
@Test @Test
public void extract() throws IOException public void extract() throws IOException
{ {
java.io.File base = StoreLocation.LOCATION, File base = StoreLocation.LOCATION,
outDir = folder.newFolder(); outDir = folder.newFolder();
int count = 0; int count = 0;
@@ -65,12 +66,12 @@ public class InventoryDumper
Index index = store.getIndex(IndexType.CONFIGS); Index index = store.getIndex(IndexType.CONFIGS);
Archive archive = index.getArchive(ConfigType.INV.getId()); Archive archive = index.getArchive(ConfigType.INV.getId());
for (File file : archive.getFiles()) for (FSFile file : archive.getFiles())
{ {
InventoryLoader loader = new InventoryLoader(); InventoryLoader loader = new InventoryLoader();
InventoryDefinition inv = loader.load(file.getContents()); InventoryDefinition inv = loader.load(file.getContents());
Files.write(gson.toJson(inv), new java.io.File(outDir, file.getFileId() + ".json"), Charset.defaultCharset()); Files.write(gson.toJson(inv), new File(outDir, file.getFileId() + ".json"), Charset.defaultCharset());
++count; ++count;
} }
} }

View File

@@ -33,6 +33,7 @@ import java.nio.charset.Charset;
import net.runelite.cache.definitions.KitDefinition; import net.runelite.cache.definitions.KitDefinition;
import net.runelite.cache.definitions.loaders.KitLoader; import net.runelite.cache.definitions.loaders.KitLoader;
import net.runelite.cache.fs.Archive; import net.runelite.cache.fs.Archive;
import net.runelite.cache.fs.FSFile;
import net.runelite.cache.fs.Index; import net.runelite.cache.fs.Index;
import net.runelite.cache.fs.Store; import net.runelite.cache.fs.Store;
import org.junit.Rule; import org.junit.Rule;
@@ -65,7 +66,7 @@ public class KitDumperTest
KitLoader loader = new KitLoader(); KitLoader loader = new KitLoader();
for (net.runelite.cache.fs.File file : archive.getFiles()) for (FSFile file : archive.getFiles())
{ {
byte[] b = file.getContents(); byte[] b = file.getContents();

View File

@@ -28,10 +28,11 @@ package net.runelite.cache;
import com.google.common.io.Files; import com.google.common.io.Files;
import com.google.gson.Gson; import com.google.gson.Gson;
import java.io.File;
import java.io.IOException; import java.io.IOException;
import net.runelite.cache.definitions.loaders.ModelLoader; import net.runelite.cache.definitions.loaders.ModelLoader;
import net.runelite.cache.fs.Archive; 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.Index;
import net.runelite.cache.fs.Store; import net.runelite.cache.fs.Store;
import org.junit.Rule; import org.junit.Rule;
@@ -52,7 +53,7 @@ public class ModelDumperTest
@Test @Test
public void test() throws IOException public void test() throws IOException
{ {
java.io.File modelDir = folder.newFolder("models"); File modelDir = folder.newFolder("models");
int count = 0; int count = 0;
try (Store store = new Store(StoreLocation.LOCATION)) try (Store store = new Store(StoreLocation.LOCATION))
@@ -65,14 +66,14 @@ public class ModelDumperTest
{ {
assert archive.getFiles().size() == 1; assert archive.getFiles().size() == 1;
File file = archive.getFiles().get(0); FSFile file = archive.getFiles().get(0);
byte[] contents = file.getContents(); byte[] contents = file.getContents();
ModelLoader loader = new ModelLoader(); ModelLoader loader = new ModelLoader();
loader.load(archive.getArchiveId(), contents); loader.load(archive.getArchiveId(), contents);
Files.write(contents, new java.io.File(modelDir, archive.getArchiveId() + ".model")); Files.write(contents, new File(modelDir, archive.getArchiveId() + ".model"));
//Files.write(gson.toJson(loader), new java.io.File(modelDir, archive.getArchiveId() + ".json"), Charset.defaultCharset()); //Files.write(gson.toJson(loader), new File(modelDir, archive.getArchiveId() + ".json"), Charset.defaultCharset());
++count; ++count;
} }
} }

View File

@@ -27,12 +27,13 @@ package net.runelite.cache;
import com.google.common.io.Files; import com.google.common.io.Files;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.google.gson.GsonBuilder; import com.google.gson.GsonBuilder;
import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.nio.charset.Charset; import java.nio.charset.Charset;
import net.runelite.cache.definitions.OverlayDefinition; import net.runelite.cache.definitions.OverlayDefinition;
import net.runelite.cache.definitions.loaders.OverlayLoader; import net.runelite.cache.definitions.loaders.OverlayLoader;
import net.runelite.cache.fs.Archive; 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.Index;
import net.runelite.cache.fs.Store; import net.runelite.cache.fs.Store;
import org.junit.Rule; import org.junit.Rule;
@@ -53,7 +54,7 @@ public class OverlayDumper
@Test @Test
public void extract() throws IOException public void extract() throws IOException
{ {
java.io.File base = StoreLocation.LOCATION, File base = StoreLocation.LOCATION,
outDir = folder.newFolder(); outDir = folder.newFolder();
int count = 0; int count = 0;
@@ -65,12 +66,12 @@ public class OverlayDumper
Index index = store.getIndex(IndexType.CONFIGS); Index index = store.getIndex(IndexType.CONFIGS);
Archive archive = index.getArchive(ConfigType.OVERLAY.getId()); Archive archive = index.getArchive(ConfigType.OVERLAY.getId());
for (File file : archive.getFiles()) for (FSFile file : archive.getFiles())
{ {
OverlayLoader loader = new OverlayLoader(); OverlayLoader loader = new OverlayLoader();
OverlayDefinition overlay = loader.load(file.getFileId(), file.getContents()); OverlayDefinition overlay = loader.load(file.getFileId(), file.getContents());
Files.write(gson.toJson(overlay), new java.io.File(outDir, file.getFileId() + ".json"), Charset.defaultCharset()); Files.write(gson.toJson(overlay), new File(outDir, file.getFileId() + ".json"), Charset.defaultCharset());
++count; ++count;
} }
} }

View File

@@ -27,12 +27,13 @@ package net.runelite.cache;
import com.google.common.io.Files; import com.google.common.io.Files;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.google.gson.GsonBuilder; import com.google.gson.GsonBuilder;
import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.nio.charset.Charset; import java.nio.charset.Charset;
import net.runelite.cache.definitions.SequenceDefinition; import net.runelite.cache.definitions.SequenceDefinition;
import net.runelite.cache.definitions.loaders.SequenceLoader; import net.runelite.cache.definitions.loaders.SequenceLoader;
import net.runelite.cache.fs.Archive; 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.Index;
import net.runelite.cache.fs.Store; import net.runelite.cache.fs.Store;
import net.runelite.cache.io.InputStream; import net.runelite.cache.io.InputStream;
@@ -54,7 +55,7 @@ public class SequenceDumper
@Test @Test
public void extract() throws IOException public void extract() throws IOException
{ {
java.io.File base = StoreLocation.LOCATION, File base = StoreLocation.LOCATION,
outDir = folder.newFolder(); outDir = folder.newFolder();
int count = 0; int count = 0;
@@ -66,12 +67,12 @@ public class SequenceDumper
Index index = store.getIndex(IndexType.CONFIGS); Index index = store.getIndex(IndexType.CONFIGS);
Archive archive = index.getArchive(ConfigType.SEQUENCE.getId()); Archive archive = index.getArchive(ConfigType.SEQUENCE.getId());
for (File file : archive.getFiles()) for (FSFile file : archive.getFiles())
{ {
SequenceLoader loader = new SequenceLoader(); SequenceLoader loader = new SequenceLoader();
SequenceDefinition seq = loader.load(file.getFileId(), file.getContents()); SequenceDefinition seq = loader.load(file.getFileId(), file.getContents());
Files.write(gson.toJson(seq), new java.io.File(outDir, file.getFileId() + ".json"), Charset.defaultCharset()); Files.write(gson.toJson(seq), new File(outDir, file.getFileId() + ".json"), Charset.defaultCharset());
++count; ++count;
} }
} }

View File

@@ -33,6 +33,7 @@ import java.nio.charset.Charset;
import net.runelite.cache.definitions.loaders.sound.SoundEffectLoader; import net.runelite.cache.definitions.loaders.sound.SoundEffectLoader;
import net.runelite.cache.definitions.sound.SoundEffectDefinition; import net.runelite.cache.definitions.sound.SoundEffectDefinition;
import net.runelite.cache.fs.Archive; import net.runelite.cache.fs.Archive;
import net.runelite.cache.fs.FSFile;
import net.runelite.cache.fs.Index; import net.runelite.cache.fs.Index;
import net.runelite.cache.fs.Store; import net.runelite.cache.fs.Store;
import org.junit.Rule; import org.junit.Rule;
@@ -66,7 +67,7 @@ public class SoundEffectsDumperTest
{ {
assert archive.getFiles().size() == 1; assert archive.getFiles().size() == 1;
net.runelite.cache.fs.File file = archive.getFiles().get(0); FSFile file = archive.getFiles().get(0);
SoundEffectLoader soundEffectLoader = new SoundEffectLoader(); SoundEffectLoader soundEffectLoader = new SoundEffectLoader();
SoundEffectDefinition soundEffect = soundEffectLoader.load(file.getContents()); SoundEffectDefinition soundEffect = soundEffectLoader.load(file.getContents());

View File

@@ -27,6 +27,7 @@ package net.runelite.cache;
import com.google.common.io.Files; import com.google.common.io.Files;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.google.gson.GsonBuilder; import com.google.gson.GsonBuilder;
import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.nio.charset.Charset; import java.nio.charset.Charset;
import net.runelite.cache.definitions.TextureDefinition; import net.runelite.cache.definitions.TextureDefinition;
@@ -49,7 +50,7 @@ public class TextureDumper
@Test @Test
public void extract() throws IOException public void extract() throws IOException
{ {
java.io.File base = StoreLocation.LOCATION, File base = StoreLocation.LOCATION,
outDir = folder.newFolder(); outDir = folder.newFolder();
int count = 0; int count = 0;
@@ -63,7 +64,7 @@ public class TextureDumper
for (TextureDefinition texture : tm.getTextures()) for (TextureDefinition texture : tm.getTextures())
{ {
Files.write(gson.toJson(texture), new java.io.File(outDir, texture.getId() + ".json"), Charset.defaultCharset()); Files.write(gson.toJson(texture), new File(outDir, texture.getId() + ".json"), Charset.defaultCharset());
++count; ++count;
} }
} }

View File

@@ -25,10 +25,11 @@
package net.runelite.cache; package net.runelite.cache;
import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.nio.file.Files; import java.nio.file.Files;
import net.runelite.cache.fs.Archive; 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.Index;
import net.runelite.cache.fs.Store; import net.runelite.cache.fs.Store;
import org.junit.Rule; import org.junit.Rule;
@@ -47,7 +48,7 @@ public class TitleDumper
@Test @Test
public void extract() throws IOException public void extract() throws IOException
{ {
java.io.File base = StoreLocation.LOCATION, File base = StoreLocation.LOCATION,
outFile = folder.newFolder(); outFile = folder.newFolder();
try (Store store = new Store(base)) try (Store store = new Store(base))
@@ -56,7 +57,7 @@ public class TitleDumper
Index index = store.getIndex(IndexType.BINARY); Index index = store.getIndex(IndexType.BINARY);
Archive a = index.findArchiveByName("title.jpg"); Archive a = index.findArchiveByName("title.jpg");
File file = a.getFiles().get(0); FSFile file = a.getFiles().get(0);
Files.write(outFile.toPath(), file.getContents()); Files.write(outFile.toPath(), file.getContents());
} }

View File

@@ -33,6 +33,7 @@ import javax.sound.midi.Sequencer;
import net.runelite.cache.definitions.TrackDefinition; import net.runelite.cache.definitions.TrackDefinition;
import net.runelite.cache.definitions.loaders.TrackLoader; import net.runelite.cache.definitions.loaders.TrackLoader;
import net.runelite.cache.fs.Archive; import net.runelite.cache.fs.Archive;
import net.runelite.cache.fs.FSFile;
import net.runelite.cache.fs.Index; import net.runelite.cache.fs.Index;
import net.runelite.cache.fs.Store; import net.runelite.cache.fs.Store;
import net.runelite.cache.util.Djb2Manager; import net.runelite.cache.util.Djb2Manager;
@@ -88,7 +89,7 @@ public class TrackDumperTest
{ {
assert archive.getFiles().size() == 1; assert archive.getFiles().size() == 1;
net.runelite.cache.fs.File file = archive.getFiles().get(0); FSFile file = archive.getFiles().get(0);
TrackLoader loader = new TrackLoader(); TrackLoader loader = new TrackLoader();
TrackDefinition def = loader.load(file.getContents()); TrackDefinition def = loader.load(file.getContents());

View File

@@ -27,12 +27,13 @@ package net.runelite.cache;
import com.google.common.io.Files; import com.google.common.io.Files;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.google.gson.GsonBuilder; import com.google.gson.GsonBuilder;
import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.nio.charset.Charset; import java.nio.charset.Charset;
import net.runelite.cache.definitions.UnderlayDefinition; import net.runelite.cache.definitions.UnderlayDefinition;
import net.runelite.cache.definitions.loaders.UnderlayLoader; import net.runelite.cache.definitions.loaders.UnderlayLoader;
import net.runelite.cache.fs.Archive; 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.Index;
import net.runelite.cache.fs.Store; import net.runelite.cache.fs.Store;
import org.junit.Rule; import org.junit.Rule;
@@ -53,7 +54,7 @@ public class UnderlayDumper
@Test @Test
public void extract() throws IOException public void extract() throws IOException
{ {
java.io.File base = StoreLocation.LOCATION, File base = StoreLocation.LOCATION,
outDir = folder.newFolder(); outDir = folder.newFolder();
int count = 0; int count = 0;
@@ -65,12 +66,12 @@ public class UnderlayDumper
Index index = store.getIndex(IndexType.CONFIGS); Index index = store.getIndex(IndexType.CONFIGS);
Archive archive = index.getArchive(ConfigType.UNDERLAY.getId()); Archive archive = index.getArchive(ConfigType.UNDERLAY.getId());
for (File file : archive.getFiles()) for (FSFile file : archive.getFiles())
{ {
UnderlayLoader loader = new UnderlayLoader(); UnderlayLoader loader = new UnderlayLoader();
UnderlayDefinition underlay = loader.load(file.getFileId(), file.getContents()); UnderlayDefinition underlay = loader.load(file.getFileId(), file.getContents());
Files.write(gson.toJson(underlay), new java.io.File(outDir, file.getFileId() + ".json"), Charset.defaultCharset()); Files.write(gson.toJson(underlay), new File(outDir, file.getFileId() + ".json"), Charset.defaultCharset());
++count; ++count;
} }
} }

View File

@@ -33,6 +33,7 @@ import java.nio.charset.Charset;
import net.runelite.cache.definitions.VarbitDefinition; import net.runelite.cache.definitions.VarbitDefinition;
import net.runelite.cache.definitions.loaders.VarbitLoader; import net.runelite.cache.definitions.loaders.VarbitLoader;
import net.runelite.cache.fs.Archive; import net.runelite.cache.fs.Archive;
import net.runelite.cache.fs.FSFile;
import net.runelite.cache.fs.Index; import net.runelite.cache.fs.Index;
import net.runelite.cache.fs.Store; import net.runelite.cache.fs.Store;
import org.junit.Rule; import org.junit.Rule;
@@ -65,7 +66,7 @@ public class VarbitDumper
Index index = store.getIndex(IndexType.CONFIGS); Index index = store.getIndex(IndexType.CONFIGS);
Archive archive = index.getArchive(ConfigType.VARBIT.getId()); Archive archive = index.getArchive(ConfigType.VARBIT.getId());
for (net.runelite.cache.fs.File file : archive.getFiles()) for (FSFile file : archive.getFiles())
{ {
VarbitLoader loader = new VarbitLoader(); VarbitLoader loader = new VarbitLoader();
VarbitDefinition varbit = loader.load(file.getFileId(), file.getContents()); VarbitDefinition varbit = loader.load(file.getFileId(), file.getContents());

View File

@@ -33,6 +33,7 @@ import java.nio.charset.Charset;
import net.runelite.cache.definitions.WorldMapDefinition; import net.runelite.cache.definitions.WorldMapDefinition;
import net.runelite.cache.definitions.loaders.WorldMapLoader; import net.runelite.cache.definitions.loaders.WorldMapLoader;
import net.runelite.cache.fs.Archive; import net.runelite.cache.fs.Archive;
import net.runelite.cache.fs.FSFile;
import net.runelite.cache.fs.Index; import net.runelite.cache.fs.Index;
import net.runelite.cache.fs.Store; import net.runelite.cache.fs.Store;
import org.junit.Rule; import org.junit.Rule;
@@ -65,7 +66,7 @@ public class WorldMapDumperTest
Index index = store.getIndex(IndexType.WORLDMAP); Index index = store.getIndex(IndexType.WORLDMAP);
Archive archive = index.getArchive(0); // there is also archive 1/2, but their data format is not this Archive archive = index.getArchive(0); // there is also archive 1/2, but their data format is not this
for (net.runelite.cache.fs.File file : archive.getFiles()) for (FSFile file : archive.getFiles())
{ {
WorldMapLoader loader = new WorldMapLoader(); WorldMapLoader loader = new WorldMapLoader();
WorldMapDefinition def = loader.load(file.getContents(), file.getFileId()); WorldMapDefinition def = loader.load(file.getContents(), file.getFileId());

View File

@@ -25,6 +25,7 @@
package net.runelite.cache.fs; package net.runelite.cache.fs;
import com.google.common.io.Files; import com.google.common.io.Files;
import java.io.File;
import java.io.IOException; import java.io.IOException;
import net.runelite.cache.StoreLocation; import net.runelite.cache.StoreLocation;
import org.junit.Assert; import org.junit.Assert;
@@ -56,10 +57,10 @@ public class StoreLoadTest
{ {
store.load(); store.load();
java.io.File testStoreFile = folder.newFolder(); File testStoreFile = folder.newFolder();
for (java.io.File f : StoreLocation.LOCATION.listFiles()) for (File f : StoreLocation.LOCATION.listFiles())
{ {
Files.copy(f, new java.io.File(testStoreFile, f.getName())); Files.copy(f, new File(testStoreFile, f.getName()));
} }
try (Store testStore = new Store(testStoreFile)) try (Store testStore = new Store(testStoreFile))
@@ -80,7 +81,7 @@ public class StoreLoadTest
@Ignore @Ignore
public void unpackStore() throws IOException public void unpackStore() throws IOException
{ {
java.io.File base = StoreLocation.LOCATION; File base = StoreLocation.LOCATION;
try (Store store = new Store(base)) try (Store store = new Store(base))
{ {
store.load(); store.load();
@@ -95,7 +96,7 @@ public class StoreLoadTest
{ {
try (Store store = new Store(folder.newFolder())) try (Store store = new Store(folder.newFolder()))
{ {
store.loadTree(new java.io.File("C:\\rs\\temp\\tree")); store.loadTree(new File("C:\\rs\\temp\\tree"));
try (Store store2 = new Store(StoreLocation.LOCATION)) try (Store store2 = new Store(StoreLocation.LOCATION))
{ {
@@ -110,10 +111,10 @@ public class StoreLoadTest
@Ignore @Ignore
public void saveTree() throws IOException public void saveTree() throws IOException
{ {
try (Store store = new Store(new java.io.File("d:/rs/07/temp/cache"))) try (Store store = new Store(new File("d:/rs/07/temp/cache")))
{ {
store.load(); store.load();
store.saveTree(new java.io.File("d:/rs/07/temp/tree")); store.saveTree(new File("d:/rs/07/temp/tree"));
} }
} }
} }

View File

@@ -24,6 +24,7 @@
*/ */
package net.runelite.cache.fs; package net.runelite.cache.fs;
import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.util.Random; import java.util.Random;
import net.runelite.cache.StoreLocation; import net.runelite.cache.StoreLocation;
@@ -46,7 +47,7 @@ public class StoreTest
{ {
Index index = store.addIndex(0); Index index = store.addIndex(0);
Archive archive = index.addArchive(0); Archive archive = index.addArchive(0);
File file = archive.addFile(0); FSFile file = archive.addFile(0);
file.setNameHash(7); file.setNameHash(7);
file.setContents("test".getBytes()); file.setContents("test".getBytes());
@@ -65,7 +66,7 @@ public class StoreTest
public void testManyFiles() throws IOException public void testManyFiles() throws IOException
{ {
Random random = new Random(42L); Random random = new Random(42L);
java.io.File root = folder.newFolder(); File root = folder.newFolder();
try (Store store = new Store(root)) try (Store store = new Store(root))
{ {
@@ -75,7 +76,7 @@ public class StoreTest
for (int i = 0; i < NUMBER_OF_FILES; ++i) for (int i = 0; i < NUMBER_OF_FILES; ++i)
{ {
File file = archive.addFile(i); FSFile file = archive.addFile(i);
file.setNameHash(random.nextInt()); file.setNameHash(random.nextInt());
byte[] data = new byte[random.nextInt(1024)]; byte[] data = new byte[random.nextInt(1024)];
random.nextBytes(data); random.nextBytes(data);
@@ -97,7 +98,7 @@ public class StoreTest
public void testMultipleArchives() throws IOException public void testMultipleArchives() throws IOException
{ {
Random random = new Random(43L); Random random = new Random(43L);
java.io.File root = folder.newFolder(); File root = folder.newFolder();
try (Store store = new Store(root)) try (Store store = new Store(root))
{ {
@@ -113,7 +114,7 @@ public class StoreTest
for (int i = 0; i < NUMBER_OF_FILES; ++i) for (int i = 0; i < NUMBER_OF_FILES; ++i)
{ {
File file = archive.addFile(i); FSFile file = archive.addFile(i);
file.setNameHash(random.nextInt(Integer.MAX_VALUE)); file.setNameHash(random.nextInt(Integer.MAX_VALUE));
byte[] data = new byte[random.nextInt(1024)]; byte[] data = new byte[random.nextInt(1024)];
random.nextBytes(data); random.nextBytes(data);
@@ -122,7 +123,7 @@ public class StoreTest
for (int i = 0; i < NUMBER_OF_FILES; ++i) for (int i = 0; i < NUMBER_OF_FILES; ++i)
{ {
File file = archive2.addFile(i); FSFile file = archive2.addFile(i);
file.setNameHash(random.nextInt(Integer.MAX_VALUE)); file.setNameHash(random.nextInt(Integer.MAX_VALUE));
byte[] data = new byte[random.nextInt(1024)]; byte[] data = new byte[random.nextInt(1024)];
random.nextBytes(data); random.nextBytes(data);
@@ -131,7 +132,7 @@ public class StoreTest
for (int i = 0; i < NUMBER_OF_FILES; ++i) for (int i = 0; i < NUMBER_OF_FILES; ++i)
{ {
File file = archive3.addFile(i); FSFile file = archive3.addFile(i);
file.setNameHash(random.nextInt(Integer.MAX_VALUE)); file.setNameHash(random.nextInt(Integer.MAX_VALUE));
byte[] data = new byte[random.nextInt(1024)]; byte[] data = new byte[random.nextInt(1024)];
random.nextBytes(data); random.nextBytes(data);
@@ -148,7 +149,7 @@ public class StoreTest
} }
// Test tree save/load // Test tree save/load
java.io.File tree = folder.newFolder(); File tree = folder.newFolder();
store.saveTree(tree); store.saveTree(tree);
try (Store store2 = new Store(folder.newFolder())) try (Store store2 = new Store(folder.newFolder()))

View File

@@ -25,13 +25,14 @@
package net.runelite.cache.script.disassembler; package net.runelite.cache.script.disassembler;
import com.google.common.io.Files; import com.google.common.io.Files;
import java.io.File;
import java.io.IOException; import java.io.IOException;
import net.runelite.cache.IndexType; import net.runelite.cache.IndexType;
import net.runelite.cache.StoreLocation; import net.runelite.cache.StoreLocation;
import net.runelite.cache.definitions.ScriptDefinition; import net.runelite.cache.definitions.ScriptDefinition;
import net.runelite.cache.definitions.loaders.ScriptLoader; import net.runelite.cache.definitions.loaders.ScriptLoader;
import net.runelite.cache.fs.Archive; 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.Index;
import net.runelite.cache.fs.Store; import net.runelite.cache.fs.Store;
import net.runelite.cache.script.Instructions; import net.runelite.cache.script.Instructions;
@@ -51,7 +52,7 @@ public class DisassemblerTest
@Test @Test
public void test() throws IOException public void test() throws IOException
{ {
java.io.File outDir = folder.newFolder(); File outDir = folder.newFolder();
int count = 0; int count = 0;
Instructions.init(); Instructions.init();
@@ -67,12 +68,12 @@ public class DisassemblerTest
{ {
assert archive.getFiles().size() == 1; assert archive.getFiles().size() == 1;
File file = archive.getFiles().get(0); FSFile file = archive.getFiles().get(0);
byte[] contents = file.getContents(); byte[] contents = file.getContents();
ScriptDefinition script = loader.load(file.getFileId(), contents); ScriptDefinition script = loader.load(file.getFileId(), contents);
java.io.File outFile = new java.io.File(outDir, archive.getArchiveId() + ".rs2asm"); File outFile = new File(outDir, archive.getArchiveId() + ".rs2asm");
Disassembler disassembler = new Disassembler(); Disassembler disassembler = new Disassembler();
String out = disassembler.disassemble(script); String out = disassembler.disassemble(script);

View File

@@ -24,11 +24,12 @@
*/ */
package net.runelite.cache.server; package net.runelite.cache.server;
import java.io.File;
import java.io.FileNotFoundException; import java.io.FileNotFoundException;
import net.runelite.cache.StoreLocation; import net.runelite.cache.StoreLocation;
import net.runelite.cache.client.CacheClient; import net.runelite.cache.client.CacheClient;
import net.runelite.cache.fs.Archive; 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.Index;
import net.runelite.cache.fs.Store; import net.runelite.cache.fs.Store;
import org.junit.Assert; import org.junit.Assert;
@@ -49,7 +50,7 @@ public class CacheServerTest
@Ignore @Ignore
public void run() throws Exception public void run() throws Exception
{ {
try (Store store = new Store(new java.io.File("D:\\rs\\07\\temp\\cache139")); try (Store store = new Store(new File("D:\\rs\\07\\temp\\cache139"));
CacheServer server = new CacheServer(store, REVISION)) CacheServer server = new CacheServer(store, REVISION))
{ {
store.load(); store.load();
@@ -103,7 +104,7 @@ public class CacheServerTest
Archive archive = index.getArchive(0); Archive archive = index.getArchive(0);
archive.decompressAndLoad(null); // cache client doesn't decompress archive archive.decompressAndLoad(null); // cache client doesn't decompress archive
File file = archive.getFiles().get(0); FSFile file = archive.getFiles().get(0);
Assert.assertArrayEquals("test".getBytes(), file.getContents()); Assert.assertArrayEquals("test".getBytes(), file.getContents());
} }
} }
@@ -113,7 +114,7 @@ public class CacheServerTest
{ {
Index index = store.addIndex(0); Index index = store.addIndex(0);
Archive archive = index.addArchive(0); Archive archive = index.addArchive(0);
File file = archive.addFile(0); FSFile file = archive.addFile(0);
file.setNameHash(7); file.setNameHash(7);
file.setContents("test".getBytes()); file.setContents("test".getBytes());
} }