Change the cache directory - Shadowrs/osrs-refactor-revision-1 GitHub Wiki
Search for
user.home
to find this code:
System.getProperty("user.home");
Will find you the code which creates the cache files, .idx and .dat2, and also the random.dat and settings file.
try {
Class24.anInt238 = 16;
Class16.anInt116 = var14;
try {
Class64.aString513 = System.getProperty("os.name");
} catch (final Exception var20) {
Class64.aString513 = "Unknown";
}
Class90.aString716 = Class64.aString513.toLowerCase();
try {
Class104_Sub23.aString1181 = System.getProperty("user.home");
if (null != Class104_Sub23.aString1181)
Class104_Sub23.aString1181 = Class104_Sub23.aString1181 + "/";
} catch (final Exception var19) {
;
}
try {
if (Class90.aString716.startsWith("win")) {
if (Class104_Sub23.aString1181 == null)
Class104_Sub23.aString1181 = System.getenv("USERPROFILE");
} else if (null == Class104_Sub23.aString1181)
Class104_Sub23.aString1181 = System.getenv("HOME");
if (Class104_Sub23.aString1181 != null)
Class104_Sub23.aString1181 = Class104_Sub23.aString1181 + "/";
} catch (final Exception var18) {
;
}
if (null == Class104_Sub23.aString1181)
Class104_Sub23.aString1181 = "~/";
Class49.aStringArray415 = new String[] { "c:/rscache/", "/rscache/", "c:/windows/", "c:/winnt/", "c:/",
Class104_Sub23.aString1181, "/tmp/", "" };
Class7.aStringArray40 = new String[] { ".jagex_cache_" + Class16.anInt116,
".file_store_" + Class16.anInt116 };
label129: for (var3 = 0; var3 < 4; ++var3) {
Class24.aFile239 = Class70.method325("oldschool", var22, var3);
if (!Class24.aFile239.exists())
Class24.aFile239.mkdirs();
final File[] var23 = Class24.aFile239.listFiles();
if (var23 == null)
break;
final File[] var24 = var23;
int var16 = 0;
while (true) {
if (var16 >= var24.length)
break label129;
final File var29 = var24[var16];
boolean var30;
try {
final RandomAccessFile var26 = new RandomAccessFile(var29, "rw");
var9 = var26.read();
var26.seek(0L);
var26.write(var9);
var26.seek(0L);
var26.close();
var30 = true;
} catch (final Exception var17) {
var30 = false;
}
if (!var30)
break;
++var16;
}
}
Class72.method333(Class24.aFile239);
Class89.method406();
Class24.aClass96_242 = new Class96(
new Class94(Class75.method341("main_file_cache.dat2"), "rw", 1048576000L), 5200, 0);
Class24.aClass96_243 = new Class96(
new Class94(Class75.method341("main_file_cache.idx255"), "rw", 1048576L), 6000, 0);
Class22.aClass96Array227 = new Class96[Class24.anInt238];
for (var3 = 0; var3 < Class24.anInt238; ++var3)
Class22.aClass96Array227[var3] = new Class96(
new Class94(Class75.method341("main_file_cache.idx" + var3), "rw", 1048576L), 6000, 0);
} catch (final Exception var21) {
Class104_Sub9.method520((String) null, var21);
}
At this point, you can rename some classes and variables. Start off at the top.
Rename this variable to osName
Class64.aString513 = System.getProperty("os.name");
Rename aString1181 to userHome
Class104_Sub23.aString1181 = System.getProperty("user.home");
Further down, modify this String array to change rscache to something unique:
Class49.aStringArray415 = new String[] { "c:/servername-cache/", "/servername-cache/", "c:/windows/", "c:/winnt/", "c:/",
Class104_Sub23.aString1181, "/tmp/", "" };
Below that, either remove completely or change the name of this String paramater. It is the subdirectory within the above location.
Class24.aFile239 = Class70.method325("subdir-name", var22, var3);
or for no sub-directory:
Class24.aFile239 = Class70.method325("", var22, var3);
Optional
At the very bottom is where the file system is initialised. Rename these classes to match:
Class24.maindata = new FSManager( new JagFS(Class75.method341("main_file_cache.dat2"), "rw", 1048576000L), 5200, 0);
Class24.idx255 = new FSManager(new JagFS(Class75.method341("main_file_cache.idx255"), "rw", 1048576L), 6000, 0);
Class22.managers = new FSManager[Class24.idxCount];
Use google to read more about the cache format which OSRS uses. This file system (the system that manages cache files) has a different structure to pre-400 (317, 377s etc) and are therefore incompatible.