diff options
author | LawnCable <lawncable.tmw2@simonlaux.de> | 2018-05-22 18:22:02 -0400 |
---|---|---|
committer | LawnCable <lawncable.tmw2@simonlaux.de> | 2018-05-22 18:22:02 -0400 |
commit | 2e97e2f4265ab946be252c1a1090b168d114db7f (patch) | |
tree | 22a91bff8c250d16d45d6a64abddc6d2df07271c /src/main/manaplus/manaplus.ts | |
parent | 6537f4538509f190a39c7188684ca454209dd710 (diff) | |
download | electron-2e97e2f4265ab946be252c1a1090b168d114db7f.tar.gz electron-2e97e2f4265ab946be252c1a1090b168d114db7f.tar.bz2 electron-2e97e2f4265ab946be252c1a1090b168d114db7f.tar.xz electron-2e97e2f4265ab946be252c1a1090b168d114db7f.zip |
Test Download and running is working now for windows - but it is not done yet
Diffstat (limited to 'src/main/manaplus/manaplus.ts')
-rw-r--r-- | src/main/manaplus/manaplus.ts | 57 |
1 files changed, 43 insertions, 14 deletions
diff --git a/src/main/manaplus/manaplus.ts b/src/main/manaplus/manaplus.ts index dfa86a7..22e4ffd 100644 --- a/src/main/manaplus/manaplus.ts +++ b/src/main/manaplus/manaplus.ts @@ -1,6 +1,10 @@ import { ManaPlusApp } from './ManaApp/manaApp.interface'; import { ManaPlusAppWindows } from './ManaApp/windows'; import * as os from 'os'; +import * as path from 'path'; +import * as fs from 'fs-extra'; +import { app } from 'electron'; +import { Status } from '../status'; let ManaPlusInstance:ManaPlusApp; @@ -23,9 +27,15 @@ export namespace ManaPlus{ return await ManaPlusInstance.update(); } - export async function start(server: any,engine: any,port: any,username: any,password: any){ - - const params = makeParams(server,engine,port,username,password); + export async function start(server: any,port: any,engine: any,username: any,password: any){ + let params:string[]; + try { + params = await makeParams(server,port,engine,username,password); + } catch (e){ + console.log(e); + Status.showError("Launch Preperation Failed", e.message, "Launch preparation failed") + return; + } let willUpdate:boolean=false; // check if it is installed willUpdate = !ManaPlusInstance.isInstalled(); @@ -47,15 +57,34 @@ function wasInitilized(){ return typeof(ManaPlusInstance) !== "undefined" && typeof(ManaPlusInstance) !== "undefined"; } -function makeParams(server: any,engine: any,port: any,username: any,password: any):string[]{ - // TODO check if everything is there - var parameters = [ - "-s"+server, - "-y"+engine, - "-p"+port, - "-U"+username, - "-P"+password, - ]; - // TODO make this function real - return []; +async function makeParams(server: any,port: any,engine: any,username?: any,password?: any):Promise<string[]>{ + let parameters:string[] = []; + if(server && engine && port){ + parameters.push(...[ + "-s", server, + "-y", engine, + "-p", port + ]); + if(username && password){ + parameters.push(...[ + "-U", username, + "-P", password + ]); + } + } + // Setup Paths and stuff + const configDir = path.normalize(app.getPath('userData')+"/mana_config"); + const localDataDir = path.normalize(app.getPath('userData')+"/mana_local_data"); + const screenshotsDir = path.normalize(app.getPath('userData')+`/screenshots/${server}`); + await fs.ensureDir(configDir); + await fs.ensureDir(localDataDir); + await fs.ensureDir(screenshotsDir); + parameters.push(...[ + "-C", configDir, + "-L", localDataDir, + "--screenshot-dir", screenshotsDir + ]); + console.log(parameters); + + return parameters; } |