mirror of
https://github.com/OpenFusionProject/Client.git
synced 2024-11-22 13:40:06 +00:00
Compare commits
3 Commits
043bf219e7
...
d4dc403e90
Author | SHA1 | Date | |
---|---|---|---|
|
d4dc403e90 | ||
|
ab5de9488d | ||
|
dabb8bf484 |
@ -61,7 +61,7 @@ function launchGame() {
|
|||||||
object.setAttribute("height", "661");
|
object.setAttribute("height", "661");
|
||||||
|
|
||||||
var embed = document.createElement("embed");
|
var embed = document.createElement("embed");
|
||||||
embed.setAttribute("type", "application/vnd.unity");
|
embed.setAttribute("type", "application/vnd.ffuwp");
|
||||||
embed.setAttribute(
|
embed.setAttribute(
|
||||||
"pluginspage",
|
"pluginspage",
|
||||||
"http://www.unity3d.com/unity-web-player-2.x"
|
"http://www.unity3d.com/unity-web-player-2.x"
|
||||||
@ -80,14 +80,6 @@ function launchGame() {
|
|||||||
"progressframeimage",
|
"progressframeimage",
|
||||||
"assets/img/unity-loadingframe.png"
|
"assets/img/unity-loadingframe.png"
|
||||||
);
|
);
|
||||||
embed.setAttribute(
|
|
||||||
"autoupdateurlsignature",
|
|
||||||
"42180ee5edc4e3d4dd706bcc17cedd8d6ec7b7ac463071fd34ab97fe181f1a78df31db5feb4526677e4f69ef53acaff44471591e68b87f041c80fd54765f0d5725b08aa28f5acf7716ffb2a04e971269f35925c7e38d57dd78f6a206530caaa3da7e32f07f19810efc0ebf29a4eae976a925ad9cc5beb4dd51564c67dc489033"
|
|
||||||
);
|
|
||||||
embed.setAttribute(
|
|
||||||
"autoupdateurl",
|
|
||||||
"http://wp-cartoonnetwork.unity3d.com/ff/big/beta-20111013/autodownload_webplugin_beta"
|
|
||||||
);
|
|
||||||
|
|
||||||
var div = document.getElementById("client");
|
var div = document.getElementById("client");
|
||||||
object.appendChild(embed);
|
object.appendChild(embed);
|
||||||
|
@ -280,10 +280,10 @@ function setGameInfo(serverUUID) {
|
|||||||
|
|
||||||
// DNS resolution. there is no synchronous version for some stupid reason
|
// DNS resolution. there is no synchronous version for some stupid reason
|
||||||
if (!address.match(/^[0-9.]+$/))
|
if (!address.match(/^[0-9.]+$/))
|
||||||
dns.resolve4(address, function (err, res) {
|
dns.lookup(address, family=4, function (err, resolvedAddress) {
|
||||||
if (!err) {
|
if (!err) {
|
||||||
console.log("Resolved " + address + " to " + res[0]);
|
console.log("Resolved " + address + " to " + resolvedAddress);
|
||||||
address = res[0];
|
address = resolvedAddress;
|
||||||
} else {
|
} else {
|
||||||
console.log("Err: " + err.code);
|
console.log("Err: " + err.code);
|
||||||
}
|
}
|
||||||
|
8
build/OpenFusionClient.exe.manifest
Normal file
8
build/OpenFusionClient.exe.manifest
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
|
||||||
|
<asmv3:application>
|
||||||
|
<asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2019/WindowsSettings">
|
||||||
|
<activeCodePage>UTF-8</activeCodePage>
|
||||||
|
<dpiAware>true</dpiAware>
|
||||||
|
</asmv3:windowsSettings>
|
||||||
|
</asmv3:application>
|
||||||
|
</assembly>
|
@ -1,9 +1,9 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<plist>
|
<plist>
|
||||||
<dict>
|
<dict>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
<string>2.5.5b4</string>
|
<string>2.5.5b4</string>
|
||||||
<key>UnityBuildNumber</key>
|
<key>UnityBuildNumber</key>
|
||||||
<string>50</string>
|
<string>50</string>
|
||||||
</dict>
|
</dict>
|
||||||
</plist>
|
</plist>
|
Binary file not shown.
@ -1,9 +1,9 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<plist>
|
<plist>
|
||||||
<dict>
|
<dict>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
<string>3.5.2f2</string>
|
<string>2.5.5b4</string>
|
||||||
<key>UnityBuildNumber</key>
|
<key>UnityBuildNumber</key>
|
||||||
<string>4c6ee796dacc</string>
|
<string>50</string>
|
||||||
</dict>
|
</dict>
|
||||||
</plist>
|
</plist>
|
@ -1,13 +1,13 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<plist>
|
<plist>
|
||||||
<dict>
|
<dict>
|
||||||
<key>CFBundleVersion</key>
|
<key>CFBundleVersion</key>
|
||||||
<string>2.5.5b4</string>
|
<string>2.5.5b4</string>
|
||||||
<key>UnityBuildNumber</key>
|
<key>UnityBuildNumber</key>
|
||||||
<string>50</string>
|
<string>50</string>
|
||||||
<key>monoVersion</key>
|
<key>monoVersion</key>
|
||||||
<string>fusion-2.x.x</string>
|
<string>fusion-2.x.x</string>
|
||||||
<key>monoMinimumRevision</key>
|
<key>monoMinimumRevision</key>
|
||||||
<string>2.0.0f6</string>
|
<string>2.0.0f6</string>
|
||||||
</dict>
|
</dict>
|
||||||
</plist>
|
</plist>
|
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.
@ -2,6 +2,10 @@
|
|||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
|
<meta
|
||||||
|
http-equiv="Content-Type"
|
||||||
|
contentType="text/html; charset=UTF-8"
|
||||||
|
/>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<title>OpenFusion: Server Selector</title>
|
<title>OpenFusion: Server Selector</title>
|
||||||
<link rel="stylesheet" href="assets/css/bootstrap.min.css" />
|
<link rel="stylesheet" href="assets/css/bootstrap.min.css" />
|
||||||
|
137
index.js
137
index.js
@ -6,60 +6,18 @@ var dialog = require("dialog");
|
|||||||
var BrowserWindow = require("browser-window");
|
var BrowserWindow = require("browser-window");
|
||||||
|
|
||||||
var mainWindow = null;
|
var mainWindow = null;
|
||||||
|
|
||||||
app.commandLine.appendSwitch("enable-npapi");
|
app.commandLine.appendSwitch("enable-npapi");
|
||||||
|
app.commandLine.appendSwitch("no-proxy-server");
|
||||||
|
|
||||||
function verifyMD5Hash(file, hash) {
|
var userData = app.getPath("userData");
|
||||||
if (fs.existsSync(file)) {
|
var unityHomeDir = __dirname + "\\..\\..\\WebPlayer";
|
||||||
var buffer = fs.readFileSync(file);
|
// if running in non-packaged / development mode, this dir will be slightly different
|
||||||
var computedHash = require("crypto")
|
if (process.env.npm_node_execpath) {
|
||||||
.createHash("md5")
|
unityHomeDir = app.getAppPath() + "\\build\\WebPlayer";
|
||||||
.update(buffer)
|
|
||||||
.digest("hex");
|
|
||||||
if (hash == computedHash) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function verifyUnity() {
|
process.env["UNITY_HOME_DIR"] = unityHomeDir;
|
||||||
var loaderPath =
|
process.env["UNITY_DISABLE_PLUGIN_UPDATES"] = "yes";
|
||||||
app.getPath("appData") +
|
|
||||||
"\\..\\LocalLow\\Unity\\WebPlayer\\loader\\npUnity3D32.dll";
|
|
||||||
var playerPath =
|
|
||||||
app.getPath("appData") +
|
|
||||||
"\\..\\LocalLow\\Unity\\WebPlayer\\player\\fusion-2.x.x\\webplayer_win.dll";
|
|
||||||
|
|
||||||
return (
|
|
||||||
verifyMD5Hash(loaderPath, "dbbac62d8379d2d870479b04b8157b99") &&
|
|
||||||
verifyMD5Hash(playerPath, "e5028405b4483de9e5e5fe9cd5f1e98f")
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
function installUnity(callback) {
|
|
||||||
var utilsDir = __dirname + "\\..\\..\\utils";
|
|
||||||
|
|
||||||
// if running in non-packaged / development mode, this dir will be slightly different
|
|
||||||
if (process.env.npm_node_execpath) {
|
|
||||||
utilsDir = app.getAppPath() + "\\build\\utils";
|
|
||||||
}
|
|
||||||
|
|
||||||
// run the installer silently
|
|
||||||
var child = require("child_process").spawn(
|
|
||||||
utilsDir + "\\UnityWebPlayer.exe",
|
|
||||||
["/quiet", "/S"]
|
|
||||||
);
|
|
||||||
child.on("exit", function () {
|
|
||||||
// overwrite 3.5.2 loader/player with FF's custom version
|
|
||||||
var dest = app.getPath("appData") + "\\..\\LocalLow\\Unity\\WebPlayer";
|
|
||||||
fs.copySync(utilsDir + "\\WebPlayer", dest, { clobber: true });
|
|
||||||
// avoids error reporter popping up when closing Electron
|
|
||||||
fs.removeSync(dest + "\\UnityBugReporter.exe");
|
|
||||||
console.log("Unity Web Player installed successfully.");
|
|
||||||
callback();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function initialSetup(firstTime) {
|
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
|
||||||
@ -70,46 +28,41 @@ function initialSetup(firstTime) {
|
|||||||
center: true,
|
center: true,
|
||||||
frame: false,
|
frame: false,
|
||||||
});
|
});
|
||||||
setupWindow.loadUrl("file://" + __dirname + "/initial-setup.html");
|
if (!firstTime) {
|
||||||
installUnity(function () {
|
// migration from pre-1.4
|
||||||
if (!firstTime) {
|
// Back everything up, just in case
|
||||||
// migration from pre-1.4
|
setupWindow.loadUrl("file://" + __dirname + "/initial-setup.html");
|
||||||
// Back everything up, just in case
|
fs.copySync(userData + "\\config.json", userData + "\\config.json.bak");
|
||||||
fs.copySync(
|
|
||||||
app.getPath("userData") + "\\config.json",
|
|
||||||
app.getPath("userData") + "\\config.json.bak"
|
|
||||||
);
|
|
||||||
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(
|
fs.copySync(
|
||||||
__dirname + "\\defaults\\versions.json",
|
userData + "\\servers.json",
|
||||||
app.getPath("userData") + "\\versions.json"
|
userData + "\\servers.json.bak"
|
||||||
);
|
);
|
||||||
fs.copySync(
|
fs.copySync(
|
||||||
__dirname + "\\defaults\\config.json",
|
userData + "\\versions.json",
|
||||||
app.getPath("userData") + "\\config.json"
|
userData + "\\versions.json.bak"
|
||||||
);
|
);
|
||||||
|
} else {
|
||||||
|
// first-time setup
|
||||||
|
// Copy default servers
|
||||||
|
fs.copySync(
|
||||||
|
__dirname + "\\defaults\\servers.json",
|
||||||
|
userData + "\\servers.json"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
console.log("JSON files copied.");
|
// Copy default versions and config
|
||||||
setupWindow.destroy();
|
fs.copySync(
|
||||||
showMainWindow();
|
__dirname + "\\defaults\\versions.json",
|
||||||
});
|
userData + "\\versions.json"
|
||||||
|
);
|
||||||
|
fs.copySync(
|
||||||
|
__dirname + "\\defaults\\config.json",
|
||||||
|
userData + "\\config.json"
|
||||||
|
);
|
||||||
|
|
||||||
|
console.log("JSON files copied.");
|
||||||
|
setupWindow.destroy();
|
||||||
|
showMainWindow();
|
||||||
}
|
}
|
||||||
|
|
||||||
ipc.on("exit", function (id) {
|
ipc.on("exit", function (id) {
|
||||||
@ -131,18 +84,20 @@ app.on("ready", function () {
|
|||||||
dialog.showErrorBox("Error!", errorMessage);
|
dialog.showErrorBox("Error!", errorMessage);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create the browser window.
|
// Create the browser window.
|
||||||
mainWindow = new BrowserWindow({
|
mainWindow = new BrowserWindow({
|
||||||
width: 1280,
|
width: 1280,
|
||||||
height: 720,
|
height: 720,
|
||||||
show: false,
|
show: false,
|
||||||
"web-preferences": { plugins: true },
|
"web-preferences": {
|
||||||
|
plugins: true,
|
||||||
|
"extra-plugin-dirs": [unityHomeDir + "\\loader"],
|
||||||
|
},
|
||||||
});
|
});
|
||||||
mainWindow.setMinimumSize(640, 480);
|
mainWindow.setMinimumSize(640, 480);
|
||||||
|
|
||||||
// Check for first run
|
// Check for first run
|
||||||
var configPath = app.getPath("userData") + "\\config.json";
|
var configPath = userData + "\\config.json";
|
||||||
try {
|
try {
|
||||||
if (!fs.existsSync(configPath)) {
|
if (!fs.existsSync(configPath)) {
|
||||||
console.log("Config file not found. Running initial setup.");
|
console.log("Config file not found. Running initial setup.");
|
||||||
@ -153,11 +108,7 @@ app.on("ready", function () {
|
|||||||
console.log("Pre-1.4 config detected. Running migration.");
|
console.log("Pre-1.4 config detected. Running migration.");
|
||||||
initialSetup(false);
|
initialSetup(false);
|
||||||
} else {
|
} else {
|
||||||
if (verifyUnity()) {
|
showMainWindow();
|
||||||
showMainWindow();
|
|
||||||
} else {
|
|
||||||
installUnity(showMainWindow);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (ex) {
|
} catch (ex) {
|
||||||
|
10
package.json
10
package.json
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "OpenFusionClient",
|
"name": "OpenFusionClient",
|
||||||
"version": "1.4.1",
|
"version": "1.4.2",
|
||||||
"description": "OpenFusionClient",
|
"description": "OpenFusionClient",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
@ -63,8 +63,12 @@
|
|||||||
"extraFiles": [
|
"extraFiles": [
|
||||||
"LICENSE.md",
|
"LICENSE.md",
|
||||||
{
|
{
|
||||||
"from": "build/utils",
|
"from": "build/OpenFusionClient.exe.manifest",
|
||||||
"to": "utils"
|
"to": "OpenFusionClient.exe.manifest"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"from": "build/WebPlayer",
|
||||||
|
"to": "WebPlayer"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"afterPack": "./build/after-pack.js"
|
"afterPack": "./build/after-pack.js"
|
||||||
|
Loading…
Reference in New Issue
Block a user