Implement basic rename-based cache switching

This commit is contained in:
gsemaj 2021-05-06 14:39:09 -04:00
parent 812ddeb0b8
commit d09f06fb26

View File

@ -95,7 +95,36 @@ function loadServerList() {
function setGameInfo(serverUUID) { function setGameInfo(serverUUID) {
var result = serverarray.filter(function(obj) {return (obj.uuid === serverUUID);})[0]; var result = serverarray.filter(function(obj) {return (obj.uuid === serverUUID);})[0];
var gameversion = versionarray.filter(function(obj) {return (obj.name === result.version);})[0]; var gameversion = versionarray.filter(function(obj) {return (obj.name === result.version);})[0];
window.asseturl = gameversion.url // gameclient.js needs to access this
// Cache folder renaming
var cachedir = userdir + '\\..\\..\\LocalLow\\Unity\\Web Player\\Cache';
var curversion = cachedir + '\\Fusionfall';
var newversion = cachedir + '\\' + gameversion.name;
if (remotefs.existsSync(curversion)) {
// cache already exists
// find out what version it belongs to
if (remotefs.existsSync(userdir + '\\lastver')) {
var lastversion = remotefs.readFileSync(userdir + '\\lastver');
remotefs.renameSync(curversion, cachedir + '\\' + lastversion);
console.log('Cached version ' + lastversion);
} else {
console.log(
"Couldn't find last version record; cache will get overwritten"
);
}
}
if (remotefs.existsSync(newversion)) {
// rename saved cache to FusionFall
remotefs.renameSync(newversion, curversion);
console.log('Loaded cached ' + gameversion.name);
}
// make note of what version we are launching for next launch
remotefs.writeFileSync(userdir + '\\lastver', gameversion.name);
window.asseturl = gameversion.url; // gameclient.js needs to access this
remotefs.writeFileSync(__dirname+"\\assetInfo.php", asseturl); remotefs.writeFileSync(__dirname+"\\assetInfo.php", asseturl);
remotefs.writeFileSync(__dirname+"\\loginInfo.php", result.ip); remotefs.writeFileSync(__dirname+"\\loginInfo.php", result.ip);