Merge pull request from gsemaj/onedotfour

This commit is contained in:
Gent Semaj 2021-09-19 10:56:41 -04:00 committed by GitHub
commit a0f2ec90d0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
28 changed files with 88 additions and 69 deletions

3
.gitignore vendored

@ -1,12 +1,11 @@
locales/ locales/
*.dll
*.pak *.pak
*.bin *.bin
*.php *.php
rankurl.txt rankurl.txt
OpenFusionClient.exe
icudtl.dat icudtl.dat
version version
resources/app/files/rankurl.txt resources/app/files/rankurl.txt
node_modules/ node_modules/
dist/ dist/
UnityBugReporter.exe

@ -4,6 +4,7 @@ var remotefs = remote.require('fs-extra');
var userdir = remote.require('app').getPath('userData'); var userdir = remote.require('app').getPath('userData');
var versionarray var versionarray
var serverarray var serverarray
var config
function enableServerListButtons() { function enableServerListButtons() {
$('#of-connect-button').removeClass('disabled'); $('#of-connect-button').removeClass('disabled');
@ -80,9 +81,9 @@ function loadGameVersions() {
} }
function loadConfig() { function loadConfig() {
// TODO: actually use these values // load config object globally
var configjson = JSON.parse(remotefs.readFileSync(userdir+"\\config.json")); config = JSON.parse(remotefs.readFileSync(userdir+"\\config.json"));
} }
function loadServerList() { function loadServerList() {
var serverjson = JSON.parse(remotefs.readFileSync(userdir+"\\servers.json")); var serverjson = JSON.parse(remotefs.readFileSync(userdir+"\\servers.json"));
@ -120,34 +121,36 @@ 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];
// Cache folder renaming if(config['cache-swapping']) { // if cache swapping property exists AND is `true`, run cache swapping logic
var cachedir = userdir + '\\..\\..\\LocalLow\\Unity\\Web Player\\Cache'; // Cache folder renaming
var curversion = cachedir + '\\Fusionfall'; var cachedir = userdir + '\\..\\..\\LocalLow\\Unity\\Web Player\\Cache';
var newversion = cachedir + '\\' + gameversion.name; var curversion = cachedir + '\\Fusionfall';
var record = userdir + '\\.lastver'; var newversion = cachedir + '\\' + gameversion.name;
var record = userdir + '\\.lastver';
if (remotefs.existsSync(curversion)) { if (remotefs.existsSync(curversion)) {
// cache already exists // cache already exists
// find out what version it belongs to // find out what version it belongs to
if (remotefs.existsSync(record)) { if (remotefs.existsSync(record)) {
var lastversion = remotefs.readFileSync(record); var lastversion = remotefs.readFileSync(record);
remotefs.renameSync(curversion, cachedir + '\\' + lastversion); remotefs.renameSync(curversion, cachedir + '\\' + lastversion);
console.log('Cached version ' + lastversion); console.log('Cached version ' + lastversion);
} else { } else {
console.log( console.log(
"Couldn't find last version record; cache may get overwritten" "Couldn't find last version record; cache may get overwritten"
); );
}
} }
}
if (remotefs.existsSync(newversion)) { if (remotefs.existsSync(newversion)) {
// rename saved cache to FusionFall // rename saved cache to FusionFall
remotefs.renameSync(newversion, curversion); remotefs.renameSync(newversion, curversion);
console.log('Loaded cached ' + gameversion.name); console.log('Loaded cached ' + gameversion.name);
} }
// make note of what version we are launching for next launch // make note of what version we are launching for next launch
remotefs.writeFileSync(record, gameversion.name); remotefs.writeFileSync(record, gameversion.name);
}
window.asseturl = gameversion.url; // gameclient.js needs to access this window.asseturl = gameversion.url; // gameclient.js needs to access this

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

@ -1,5 +1,5 @@
{ {
"autoupdate-check": true, "autoupdate-check": true,
"cache-swapping": false, "cache-swapping": true,
"initial-setup-completed": true "last-version-initialized": "1.4"
} }

@ -2,107 +2,107 @@
"versions": [ "versions": [
{ {
"name": "beta-20100104", "name": "beta-20100104",
"url": "http://ht.cdn.turner.com/ff/big/beta-20100104/" "url": "http://cdn.dexlabs.systems/ff/big/beta-20100104/"
}, },
{ {
"name": "beta-20100119", "name": "beta-20100119",
"url": "http://ht.cdn.turner.com/ff/big/beta-20100119/" "url": "http://cdn.dexlabs.systems/ff/big/beta-20100119/"
}, },
{ {
"name": "beta-20100207", "name": "beta-20100207",
"url": "http://ht.cdn.turner.com/ff/big/beta-20100207/" "url": "http://cdn.dexlabs.systems/ff/big/beta-20100207/"
}, },
{ {
"name": "beta-20100307", "name": "beta-20100307",
"url": "http://ht.cdn.turner.com/ff/big/beta-20100307/" "url": "http://cdn.dexlabs.systems/ff/big/beta-20100307/"
}, },
{ {
"name": "beta-20100322", "name": "beta-20100322",
"url": "http://ht.cdn.turner.com/ff/big/beta-20100322/" "url": "http://cdn.dexlabs.systems/ff/big/beta-20100322/"
}, },
{ {
"name": "beta-20100413", "name": "beta-20100413",
"url": "http://ht.cdn.turner.com/ff/big/beta-20100413/" "url": "http://cdn.dexlabs.systems/ff/big/beta-20100413/"
}, },
{ {
"name": "beta-20100502", "name": "beta-20100502",
"url": "http://ht.cdn.turner.com/ff/big/beta-20100502/" "url": "http://cdn.dexlabs.systems/ff/big/beta-20100502/"
}, },
{ {
"name": "beta-20100524", "name": "beta-20100524",
"url": "http://ht.cdn.turner.com/ff/big/beta-20100524/" "url": "http://cdn.dexlabs.systems/ff/big/beta-20100524/"
}, },
{ {
"name": "beta-20100604", "name": "beta-20100604",
"url": "http://ht.cdn.turner.com/ff/big/beta-20100604/" "url": "http://cdn.dexlabs.systems/ff/big/beta-20100604/"
}, },
{ {
"name": "beta-20100616", "name": "beta-20100616",
"url": "http://ht.cdn.turner.com/ff/big/beta-20100616/" "url": "http://cdn.dexlabs.systems/ff/big/beta-20100616/"
}, },
{ {
"name": "beta-20100711", "name": "beta-20100711",
"url": "http://ht.cdn.turner.com/ff/big/beta-20100711/" "url": "http://cdn.dexlabs.systems/ff/big/beta-20100711/"
}, },
{ {
"name": "beta-20100728", "name": "beta-20100728",
"url": "http://ht.cdn.turner.com/ff/big/beta-20100728/" "url": "http://cdn.dexlabs.systems/ff/big/beta-20100728/"
}, },
{ {
"name": "beta-20100909", "name": "beta-20100909",
"url": "http://ht.cdn.turner.com/ff/big/beta-20100909/" "url": "http://cdn.dexlabs.systems/ff/big/beta-20100909/"
}, },
{ {
"name": "beta-20101003", "name": "beta-20101003",
"url": "http://ht.cdn.turner.com/ff/big/beta-20101003/" "url": "http://cdn.dexlabs.systems/ff/big/beta-20101003/"
}, },
{ {
"name": "beta-20101011", "name": "beta-20101011",
"url": "http://ht.cdn.turner.com/ff/big/beta-20101011/" "url": "http://cdn.dexlabs.systems/ff/big/beta-20101011/"
}, },
{ {
"name": "beta-20101028", "name": "beta-20101028",
"url": "http://ht.cdn.turner.com/ff/big/beta-20101028/" "url": "http://cdn.dexlabs.systems/ff/big/beta-20101028/"
}, },
{ {
"name": "beta-20101123", "name": "beta-20101123",
"url": "http://ht.cdn.turner.com/ff/big/beta-20101123/" "url": "http://cdn.dexlabs.systems/ff/big/beta-20101123/"
}, },
{ {
"name": "beta-20110213", "name": "beta-20110213",
"url": "http://ht.cdn.turner.com/ff/big/beta-20110213/" "url": "http://cdn.dexlabs.systems/ff/big/beta-20110213/"
}, },
{ {
"name": "beta-20110314", "name": "beta-20110314",
"url": "http://ht.cdn.turner.com/ff/big/beta-20110314/" "url": "http://cdn.dexlabs.systems/ff/big/beta-20110314/"
}, },
{ {
"name": "beta-20110330", "name": "beta-20110330",
"url": "http://ht.cdn.turner.com/ff/big/beta-20110330/" "url": "http://cdn.dexlabs.systems/ff/big/beta-20110330/"
}, },
{ {
"name": "beta-20110424", "name": "beta-20110424",
"url": "http://ht.cdn.turner.com/ff/big/beta-20110424/" "url": "http://cdn.dexlabs.systems/ff/big/beta-20110424/"
}, },
{ {
"name": "beta-20110523", "name": "beta-20110523",
"url": "http://ht.cdn.turner.com/ff/big/beta-20110523/" "url": "http://cdn.dexlabs.systems/ff/big/beta-20110523/"
}, },
{ {
"name": "beta-20110725", "name": "beta-20110725",
"url": "http://ht.cdn.turner.com/ff/big/beta-20110725/" "url": "http://cdn.dexlabs.systems/ff/big/beta-20110725/"
}, },
{ {
"name": "beta-20110818", "name": "beta-20110818",
"url": "http://ht.cdn.turner.com/ff/big/beta-20110818/" "url": "http://cdn.dexlabs.systems/ff/big/beta-20110818/"
}, },
{ {
"name": "beta-20110912", "name": "beta-20110912",
"url": "http://ht.cdn.turner.com/ff/big/beta-20110912/" "url": "http://cdn.dexlabs.systems/ff/big/beta-20110912/"
}, },
{ {
"name": "beta-20111013", "name": "beta-20111013",
"url": "http://ht.cdn.turner.com/ff/big/beta-20111013/" "url": "http://cdn.dexlabs.systems/ff/big/beta-20111013/"
} }
] ]
} }

@ -56,7 +56,7 @@
<h4 class="modal-title">About OpenFusionClient</h4><button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> <h4 class="modal-title">About OpenFusionClient</h4><button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<p class="text-monospace">Version 1.3</p> <p class="text-monospace">Version 1.4</p>
<p>©2020-2021 OpenFusion Contributors<br>OpenFusion is licensed under MIT.<br></p> <p>©2020-2021 OpenFusion Contributors<br>OpenFusion is licensed under MIT.<br></p>
</div> </div>
<div class="modal-footer"> <div class="modal-footer">

@ -9,7 +9,7 @@ var mainWindow = null;
app.commandLine.appendSwitch('--enable-npapi'); app.commandLine.appendSwitch('--enable-npapi');
function initialSetup() { function initialSetup(firstTime) {
// Display a small window to inform the user that the app is working // Display a small window to inform the user that the app is working
setupWindow = new BrowserWindow({width: 275, height: 450, resizable: false, center:true, frame:false}); setupWindow = new BrowserWindow({width: 275, height: 450, resizable: false, center:true, frame:false});
setupWindow.loadUrl('file://' + __dirname + '/initialsetup.html'); setupWindow.loadUrl('file://' + __dirname + '/initialsetup.html');
@ -17,10 +17,20 @@ function initialSetup() {
var child = require('child_process').spawn('cmd.exe', ['/c', 'utils\\installUnity.bat']); var child = require('child_process').spawn('cmd.exe', ['/c', 'utils\\installUnity.bat']);
child.on('exit', function() { child.on('exit', function() {
console.log("Unity installed."); console.log("Unity installed.");
// Copy over files with default values if(!firstTime) { // migration from pre-1.4
copySync(__dirname+"\\defaults\\config.json", app.getPath('userData')+"\\config.json"); // Back everything up, just in case
copySync(__dirname+"\\defaults\\servers.json", app.getPath('userData')+"\\servers.json"); fs.copySync(app.getPath('userData')+"\\config.json", app.getPath('userData')+"\\config.json.bak");
copySync(__dirname+"\\defaults\\versions.json", app.getPath('userData')+"\\versions.json"); fs.copySync(app.getPath('userData')+"\\servers.json", app.getPath('userData')+"\\servers.json.bak");
fs.copySync(app.getPath('userData')+"\\versions.json", app.getPath('userData')+"\\versions.json.bak");
} else { // first-time setup
// Copy default servers
fs.copySync(__dirname+"\\defaults\\servers.json", app.getPath('userData')+"\\servers.json");
}
// Copy default versions and config
fs.copySync(__dirname+"\\defaults\\versions.json", app.getPath('userData')+"\\versions.json");
fs.copySync(__dirname+"\\defaults\\config.json", app.getPath('userData')+"\\config.json");
console.log("JSON files copied."); console.log("JSON files copied.");
setupWindow.destroy(); setupWindow.destroy();
showMainWindow(); showMainWindow();
@ -54,12 +64,19 @@ app.on('ready', function() {
mainWindow.setMinimumSize(640, 480); mainWindow.setMinimumSize(640, 480);
// Check for first run // Check for first run
var configPath = app.getPath('userData') + "\\config.json";
try { try {
if (!fs.existsSync(app.getPath('userData')+"\\config.json")) { if (!fs.existsSync(configPath)) {
console.log("Config file not found. Running initial setup."); console.log("Config file not found. Running initial setup.");
initialSetup(); initialSetup(true);
} else { } else {
showMainWindow(); var config = fs.readJsonSync(configPath);
if(!config['last-version-initialized']) {
console.log("Pre-1.4 config detected. Running migration.");
initialSetup(false);
} else {
showMainWindow();
}
} }
} catch(e) { } catch(e) {
console.log("An error occurred while checking for the config."); console.log("An error occurred while checking for the config.");

2
package-lock.json generated

@ -1,6 +1,6 @@
{ {
"name": "openfusionclient", "name": "openfusionclient",
"version": "1.3.1", "version": "1.4.0",
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true, "requires": true,
"dependencies": { "dependencies": {

@ -1,6 +1,6 @@
{ {
"name": "openfusionclient", "name": "openfusionclient",
"version": "1.3.1", "version": "1.4.0",
"description": "OpenFusionClient", "description": "OpenFusionClient",
"main": "index.js", "main": "index.js",
"scripts": { "scripts": {