From d09f06fb26ee712a4b87ea8723a901f12de6f08e Mon Sep 17 00:00:00 2001 From: gsemaj Date: Thu, 6 May 2021 14:39:09 -0400 Subject: [PATCH] Implement basic rename-based cache switching --- assets/js/serverselector.js | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/assets/js/serverselector.js b/assets/js/serverselector.js index d4c5778..5795b3e 100644 --- a/assets/js/serverselector.js +++ b/assets/js/serverselector.js @@ -95,7 +95,36 @@ function loadServerList() { function setGameInfo(serverUUID) { var result = serverarray.filter(function(obj) {return (obj.uuid === serverUUID);})[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+"\\loginInfo.php", result.ip);