mirror of
https://github.com/an-anime-team/an-anime-game-launcher.git
synced 2024-12-19 16:33:04 +03:00
Conspiracy update, part 2
- core class was renamed to the LauncherLib - added upper- and lowercased secret names variants
This commit is contained in:
parent
c3ed135a63
commit
36d130ead6
6 changed files with 93 additions and 81 deletions
|
@ -1,28 +1,28 @@
|
|||
const { ipcRenderer } = require('electron');
|
||||
|
||||
import $ from 'cash-dom';
|
||||
import { Genshinlib } from './lib/Genshinlib';
|
||||
import { LauncherLib } from './lib/LauncherLib';
|
||||
import { LauncherUI } from './lib/LauncherUI';
|
||||
|
||||
$(() => {
|
||||
LauncherUI.updateLang(Genshinlib.getConfig('lang.launcher'));
|
||||
LauncherUI.updateLang(LauncherLib.getConfig('lang.launcher'));
|
||||
|
||||
$('#participate').on('click', async () => {
|
||||
await fetch(`https://an-anime-game-launcher.000webhostapp.com${ !$('#share-country').hasClass('checkbox-active') ? '/?hide-geo' : '' }`);
|
||||
|
||||
Genshinlib.updateConfig('analytics', Genshinlib.version);
|
||||
LauncherLib.updateConfig('analytics', LauncherLib.version);
|
||||
|
||||
ipcRenderer.invoke('hide-analytics-participation');
|
||||
});
|
||||
|
||||
$('#skip').on('click', () => {
|
||||
Genshinlib.updateConfig('analytics', Genshinlib.version);
|
||||
LauncherLib.updateConfig('analytics', LauncherLib.version);
|
||||
|
||||
ipcRenderer.invoke('hide-analytics-participation');
|
||||
});
|
||||
|
||||
$('#skip-and-ignore').on('click', () => {
|
||||
Genshinlib.updateConfig('analytics', null);
|
||||
LauncherLib.updateConfig('analytics', null);
|
||||
|
||||
ipcRenderer.invoke('hide-analytics-participation');
|
||||
});
|
||||
|
|
|
@ -8,7 +8,7 @@ const semver = require('semver');
|
|||
import $ from 'cash-dom';
|
||||
|
||||
import { constants } from './lib/constants';
|
||||
import { Genshinlib } from './lib/Genshinlib';
|
||||
import { LauncherLib } from './lib/LauncherLib';
|
||||
import { LauncherUI } from './lib/LauncherUI';
|
||||
import { Tools } from './lib/Tools';
|
||||
import { DiscordRPC } from './lib/DiscordRPC';
|
||||
|
@ -25,11 +25,11 @@ if (!fs.existsSync(constants.dxvksDir))
|
|||
fs.mkdirSync(constants.dxvksDir, { recursive: true });
|
||||
|
||||
$(() => {
|
||||
if (Genshinlib.version !== null)
|
||||
document.title = `${constants.gamePlaceholder.full} Linux Launcher - ${Genshinlib.version}`;
|
||||
if (LauncherLib.version !== null)
|
||||
document.title = `${constants.gamePlaceholder.uppercase.full} Linux Launcher - ${LauncherLib.version}`;
|
||||
|
||||
// On Start configuration of LauncherUI
|
||||
LauncherUI.updateLang(Genshinlib.getConfig('lang.launcher') ?? 'en-us');
|
||||
LauncherUI.updateLang(LauncherLib.getConfig('lang.launcher') ?? 'en-us');
|
||||
LauncherUI.setState('game-launch-available');
|
||||
LauncherUI.updateBackground();
|
||||
LauncherUI.updateSocial();
|
||||
|
@ -40,7 +40,7 @@ $(() => {
|
|||
LauncherUI.updateSocial();
|
||||
});
|
||||
|
||||
if (Genshinlib.getConfig('rpc'))
|
||||
if (LauncherLib.getConfig('rpc'))
|
||||
DiscordRPC.init();
|
||||
|
||||
ipcRenderer.on('rpc-toggle', () => {
|
||||
|
@ -51,14 +51,14 @@ $(() => {
|
|||
|
||||
// FIXME
|
||||
/*ipcRenderer.on('updateVP', (event: void, remotedata: any) => {
|
||||
Genshinlib.getData().then(data => {
|
||||
LauncherLib.getData().then(data => {
|
||||
LauncherUI.initProgressBar();
|
||||
|
||||
let voicePack = data.game.latest.voice_packs[1]; // en-us
|
||||
let old;
|
||||
|
||||
for (let i = 0; i < data.game.latest.voice_packs.length; ++i)
|
||||
if (data.game.latest.voice_packs[i].language == Genshinlib.getConfig('lang.voice'))
|
||||
if (data.game.latest.voice_packs[i].language == LauncherLib.getConfig('lang.voice'))
|
||||
{
|
||||
voicePack = data.game.latest.voice_packs[i];
|
||||
|
||||
|
@ -76,26 +76,26 @@ $(() => {
|
|||
let oldstring = old.name.replace(`_${data.game.latest.version}.zip`, '');
|
||||
|
||||
// Check if the directory and file exists to prevent errors.
|
||||
if (fs.existsSync(path.join(Genshinlib.gameDir, oldstring + '_pkg_version')))
|
||||
fs.rmSync(path.join(Genshinlib.gameDir, oldstring + '_pkg_version'));
|
||||
if (fs.existsSync(path.join(LauncherLib.gameDir, oldstring + '_pkg_version')))
|
||||
fs.rmSync(path.join(LauncherLib.gameDir, oldstring + '_pkg_version'));
|
||||
|
||||
if (fs.existsSync(path.join(Genshinlib.gameDir, 'GenshinImpact_Data', 'StreamingAssets', 'Audio', 'GeneratedSoundBanks', 'Windows', oldstring.replace('Audio_', ''))))
|
||||
fs.rmSync(path.join(Genshinlib.gameDir, 'GenshinImpact_Data', 'StreamingAssets', 'Audio', 'GeneratedSoundBanks', 'Windows', oldstring.replace('Audio_', '')), { recursive: true });
|
||||
if (fs.existsSync(path.join(LauncherLib.gameDir, 'GenshinImpact_Data', 'StreamingAssets', 'Audio', 'GeneratedSoundBanks', 'Windows', oldstring.replace('Audio_', ''))))
|
||||
fs.rmSync(path.join(LauncherLib.gameDir, 'GenshinImpact_Data', 'StreamingAssets', 'Audio', 'GeneratedSoundBanks', 'Windows', oldstring.replace('Audio_', '')), { recursive: true });
|
||||
|
||||
console.log(`%c> Downloading voice data...`, 'font-size: 16px');
|
||||
|
||||
// For some reason this keeps breaking and locking up most of the time.
|
||||
Tools.downloadFile(voicePack.path, path.join(Genshinlib.launcherDir, voicePack.name), (current: number, total: number, difference: number) => {
|
||||
Tools.downloadFile(voicePack.path, path.join(LauncherLib.launcherDir, voicePack.name), (current: number, total: number, difference: number) => {
|
||||
LauncherUI.updateProgressBar(LauncherUI.i18n.translate('Downloading'), current, total, difference);
|
||||
}).then(() => {
|
||||
console.log(`%c> Unpacking voice data...`, 'font-size: 16px');
|
||||
|
||||
LauncherUI.initProgressBar();
|
||||
|
||||
Tools.unzip(path.join(Genshinlib.launcherDir, voicePack.name), Genshinlib.gameDir, (current: number, total: number, difference: number) => {
|
||||
Tools.unzip(path.join(LauncherLib.launcherDir, voicePack.name), LauncherLib.gameDir, (current: number, total: number, difference: number) => {
|
||||
LauncherUI.updateProgressBar(LauncherUI.i18n.translate('Unpack'), current, total, difference);
|
||||
}).then(() => {
|
||||
fs.unlinkSync(path.join(Genshinlib.launcherDir, voicePack.name));
|
||||
fs.unlinkSync(path.join(LauncherLib.launcherDir, voicePack.name));
|
||||
LauncherUI.setState('game-launch-available');
|
||||
})
|
||||
});
|
||||
|
@ -113,18 +113,18 @@ $(() => {
|
|||
}
|
||||
});
|
||||
|
||||
if (Genshinlib.getConfig('analytics') !== null && Genshinlib.getConfig('analytics') !== Genshinlib.version)
|
||||
if (LauncherLib.getConfig('analytics') !== null && LauncherLib.getConfig('analytics') !== LauncherLib.version)
|
||||
ipcRenderer.invoke('open-analytics-participation');
|
||||
|
||||
Genshinlib.getData().then(async data => {
|
||||
let patchInfo = await Genshinlib.getPatchInfo();
|
||||
LauncherLib.getData().then(async data => {
|
||||
let patchInfo = await LauncherLib.getPatchInfo();
|
||||
|
||||
// Update available
|
||||
if (Genshinlib.version != data.game.latest.version)
|
||||
LauncherUI.setState(Genshinlib.version === null ? 'game-installation-available' : 'game-update-available');
|
||||
if (LauncherLib.version != data.game.latest.version)
|
||||
LauncherUI.setState(LauncherLib.version === null ? 'game-installation-available' : 'game-update-available');
|
||||
|
||||
// Patch version is incorrect
|
||||
else if (Genshinlib.getConfig('patch') && Genshinlib.getConfig('patch.version') != patchInfo.version)
|
||||
else if (LauncherLib.getConfig('patch') && LauncherLib.getConfig('patch.version') != patchInfo.version)
|
||||
{
|
||||
// Patch is not available
|
||||
if (patchInfo.version !== data.game.latest.version)
|
||||
|
@ -140,7 +140,7 @@ $(() => {
|
|||
|
||||
LauncherUI.setState('patch-applying');
|
||||
|
||||
Genshinlib.patchGame(() => {
|
||||
LauncherLib.patchGame(() => {
|
||||
LauncherUI.setState('game-launch-available');
|
||||
}, data => console.log(data.toString()));
|
||||
}
|
||||
|
@ -152,27 +152,27 @@ $(() => {
|
|||
|
||||
// Current patch is in testing phase,
|
||||
// but stable is available
|
||||
else if (Genshinlib.getConfig('patch') && Genshinlib.getConfig('patch.version') == patchInfo.version && Genshinlib.getConfig('patch.state') == 'testing' && patchInfo.state == 'stable')
|
||||
else if (LauncherLib.getConfig('patch') && LauncherLib.getConfig('patch.version') == patchInfo.version && LauncherLib.getConfig('patch.state') == 'testing' && patchInfo.state == 'stable')
|
||||
{
|
||||
console.log(`%c> Applying patch...`, 'font-size: 16px');
|
||||
|
||||
LauncherUI.setState('patch-applying');
|
||||
|
||||
Genshinlib.patchGame(() => {
|
||||
LauncherLib.patchGame(() => {
|
||||
LauncherUI.setState('game-launch-available');
|
||||
}, data => console.log(data.toString()));
|
||||
}
|
||||
|
||||
$('#launch').on('click', async () => {
|
||||
// Creating wine prefix
|
||||
if (!Genshinlib.isPrefixInstalled(constants.prefixDir))
|
||||
if (!LauncherLib.isPrefixInstalled(constants.prefixDir))
|
||||
{
|
||||
console.log(`%c> Creating wineprefix...`, 'font-size: 16px');
|
||||
|
||||
$('#launch').css('display', 'none');
|
||||
$('#downloader-panel').css('display', 'block');
|
||||
|
||||
await Genshinlib.installPrefix(constants.prefixDir, (output: string, current: number, total: number) => {
|
||||
await LauncherLib.installPrefix(constants.prefixDir, (output: string, current: number, total: number) => {
|
||||
output = output.trim();
|
||||
|
||||
console.log(output);
|
||||
|
@ -192,7 +192,7 @@ $(() => {
|
|||
{
|
||||
console.log(`%c> Starting the game...`, 'font-size: 16px');
|
||||
|
||||
if (!await Genshinlib.isTelemetryDisabled())
|
||||
if (!await LauncherLib.isTelemetryDisabled())
|
||||
{
|
||||
console.log('miHoYo\'s telemetry servers doesn\'t disabled!');
|
||||
|
||||
|
@ -206,19 +206,19 @@ $(() => {
|
|||
{
|
||||
let wineExeutable = 'wine';
|
||||
|
||||
if (Genshinlib.getConfig('runner') !== null)
|
||||
if (LauncherLib.getConfig('runner') !== null)
|
||||
{
|
||||
wineExeutable = path.join(
|
||||
constants.runnersDir,
|
||||
Genshinlib.getConfig('runner.folder'),
|
||||
Genshinlib.getConfig('runner.executable')
|
||||
LauncherLib.getConfig('runner.folder'),
|
||||
LauncherLib.getConfig('runner.executable')
|
||||
);
|
||||
|
||||
if (!fs.existsSync(wineExeutable))
|
||||
{
|
||||
wineExeutable = 'wine';
|
||||
|
||||
Genshinlib.updateConfig('runner', null);
|
||||
LauncherLib.updateConfig('runner', null);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -239,7 +239,7 @@ $(() => {
|
|||
env: {
|
||||
...process.env,
|
||||
WINEPREFIX: constants.prefixDir,
|
||||
...Genshinlib.getConfig('env')
|
||||
...LauncherLib.getConfig('env')
|
||||
}
|
||||
}, (err: any, stdout: any, stderr: any) => {
|
||||
console.log(`%c> Game closed`, 'font-size: 16px');
|
||||
|
@ -271,7 +271,7 @@ $(() => {
|
|||
|
||||
LauncherUI.setState('patch-applying');
|
||||
|
||||
Genshinlib.patchGame(() => {
|
||||
LauncherLib.patchGame(() => {
|
||||
LauncherUI.setState('game-launch-available');
|
||||
}, data => console.log(data.toString()));
|
||||
}
|
||||
|
@ -288,7 +288,7 @@ $(() => {
|
|||
};
|
||||
|
||||
for (let i = 0; i < data.game.diffs.length; ++i)
|
||||
if (data.game.diffs[i].version == Genshinlib.version)
|
||||
if (data.game.diffs[i].version == LauncherLib.version)
|
||||
{
|
||||
diff = data.game.diffs[i];
|
||||
|
||||
|
@ -332,7 +332,7 @@ $(() => {
|
|||
let voicePack = diff.voice_packs[1]; // en-us
|
||||
|
||||
for (let i = 0; i < diff.voice_packs.length; ++i)
|
||||
if (diff.voice_packs[i].language == Genshinlib.getConfig('lang.voice'))
|
||||
if (diff.voice_packs[i].language == LauncherLib.getConfig('lang.voice'))
|
||||
{
|
||||
voicePack = diff.voice_packs[i];
|
||||
|
||||
|
@ -367,7 +367,7 @@ $(() => {
|
|||
});
|
||||
}
|
||||
|
||||
Genshinlib.updateConfig('version', data.game.latest.version);
|
||||
LauncherLib.updateConfig('version', data.game.latest.version);
|
||||
|
||||
// Patch available
|
||||
if (patchInfo.version === data.game.latest.version)
|
||||
|
@ -381,7 +381,7 @@ $(() => {
|
|||
$('#speed').text('');
|
||||
$('#eta').text('');
|
||||
|
||||
Genshinlib.patchGame(() => {
|
||||
LauncherLib.patchGame(() => {
|
||||
LauncherUI.setState('game-launch-available');
|
||||
|
||||
ipcRenderer.send('notification', {
|
||||
|
|
|
@ -56,7 +56,7 @@ type DXVK = {
|
|||
uri: string
|
||||
};
|
||||
|
||||
export class Genshinlib
|
||||
export class LauncherLib
|
||||
{
|
||||
public static get version(): string|null
|
||||
{
|
||||
|
@ -225,7 +225,7 @@ export class Genshinlib
|
|||
});
|
||||
}
|
||||
|
||||
// WINEPREFIX='/home/observer/genshin-impact-launcher/wineprefix' winetricks corefonts usetakefocus=n
|
||||
// WINEPREFIX='...../wineprefix' winetricks corefonts usetakefocus=n
|
||||
public static async installPrefix (prefixpath: string, progress: (output: string, current: number, total: number) => void): Promise<void>
|
||||
{
|
||||
let installationSteps = [
|
||||
|
@ -282,7 +282,7 @@ export class Genshinlib
|
|||
|
||||
public static patchGame (onFinish: () => void, onData: (data: string) => void)
|
||||
{
|
||||
Genshinlib.getPatchInfo().then(pathInfo => {
|
||||
this.getPatchInfo().then(pathInfo => {
|
||||
Tools.downloadFile(constants.patchUri, path.join(constants.launcherDir, 'patch.zip'), (current: number, total: number, difference: number) => null).then(() => {
|
||||
Tools.unzip(path.join(constants.launcherDir, 'patch.zip'), constants.launcherDir, (current: number, total: number, difference: number) => null).then(() => {
|
||||
// Delete zip file and assign patch directory.
|
||||
|
@ -330,8 +330,8 @@ export class Genshinlib
|
|||
patcherAntiCrashProcess.stdout.on('data', (data: string) => onData(data));
|
||||
|
||||
patcherAntiCrashProcess.on('close', () => {
|
||||
Genshinlib.updateConfig('patch.version', pathInfo.version);
|
||||
Genshinlib.updateConfig('patch.state', pathInfo.state);
|
||||
this.updateConfig('patch.version', pathInfo.version);
|
||||
this.updateConfig('patch.state', pathInfo.state);
|
||||
|
||||
fs.rmSync(path.join(constants.launcherDir, 'gi-on-linux'), { recursive: true });
|
||||
|
|
@ -1,5 +1,7 @@
|
|||
import $ from 'cash-dom';
|
||||
import { Genshinlib } from './Genshinlib';
|
||||
|
||||
import { constants } from './constants';
|
||||
import { LauncherLib } from './LauncherLib';
|
||||
import { i18n } from './i18n';
|
||||
|
||||
type LauncherState =
|
||||
|
@ -12,6 +14,8 @@ type LauncherState =
|
|||
|
||||
export class LauncherUI
|
||||
{
|
||||
public static readonly socialUri = `https://${constants.gamePlaceholder.lowercase.first}.${constants.gamePlaceholder.lowercase.company}.com/launcher/10/${LauncherLib.getConfig('lang.launcher')}?api_url=https%3A%2F%2Fapi-os-takumi.${constants.gamePlaceholder.lowercase.company}.com%2Fhk4e_global&prev=false`;
|
||||
|
||||
protected static _launcherState: LauncherState = 'game-launch-available';
|
||||
protected static _i18n: any;
|
||||
|
||||
|
@ -161,7 +165,7 @@ export class LauncherUI
|
|||
|
||||
public static updateBackground (): void
|
||||
{
|
||||
Genshinlib.getBackgroundUri().then(uri => {
|
||||
LauncherLib.getBackgroundUri().then(uri => {
|
||||
uri = `url(${uri})`;
|
||||
|
||||
if ($('body').css('background-image') != uri)
|
||||
|
@ -171,7 +175,7 @@ export class LauncherUI
|
|||
|
||||
public static updateSocial (): void
|
||||
{
|
||||
fetch(`https://genshin.mihoyo.com/launcher/10/${Genshinlib.getConfig('lang.launcher')}?api_url=https%3A%2F%2Fapi-os-takumi.mihoyo.com%2Fhk4e_global&prev=false`)
|
||||
fetch(this.socialUri)
|
||||
.then(res => res.text())
|
||||
.then(body => {
|
||||
$('#__layout').remove();
|
||||
|
|
|
@ -4,21 +4,29 @@ const os = require('os');
|
|||
export class constants
|
||||
{
|
||||
public static readonly gamePlaceholder = {
|
||||
first: Buffer.from('R2Vuc2hpbg==', 'base64').toString(),
|
||||
second: Buffer.from('SW1wYWN0', 'base64').toString(),
|
||||
full: Buffer.from('R2Vuc2hpbiBJbXBhY3Q=', 'base64').toString(),
|
||||
company: Buffer.from('bWlob3lv', 'base64').toString()
|
||||
uppercase:
|
||||
{
|
||||
first: Buffer.from('R2Vuc2hpbg==', 'base64').toString(),
|
||||
second: Buffer.from('SW1wYWN0', 'base64').toString(),
|
||||
full: Buffer.from('R2Vuc2hpbiBJbXBhY3Q=', 'base64').toString()
|
||||
},
|
||||
|
||||
lowercase:
|
||||
{
|
||||
first: Buffer.from('Z2Vuc2hpbg==', 'base64').toString(),
|
||||
company: Buffer.from('bWlob3lv', 'base64').toString()
|
||||
}
|
||||
};
|
||||
|
||||
public static readonly launcherDir: string = path.join(os.homedir(), '.local', 'share', 'anime-game-launcher');
|
||||
|
||||
public static readonly prefixDir: string = path.join(this.launcherDir, 'game');
|
||||
public static readonly gameDir: string = path.join(this.prefixDir, 'drive_c', 'Program Files', this.gamePlaceholder.full);
|
||||
public static readonly gameDir: string = path.join(this.prefixDir, 'drive_c', 'Program Files', this.gamePlaceholder.uppercase.full);
|
||||
public static readonly runnersDir: string = path.join(this.launcherDir, 'runners');
|
||||
public static readonly dxvksDir: string = path.join(this.launcherDir, 'dxvks');
|
||||
|
||||
public static readonly versionsUri: string = `https://sdk-os-static.${this.gamePlaceholder.company}.com/hk4e_global/mdk/launcher/api/resource?key=gcStgarh&launcher_id=10`;
|
||||
public static readonly backgroundUri: string = `https://sdk-os-static.${this.gamePlaceholder.company}.com/hk4e_global/mdk/launcher/api/content?filter_adv=true&launcher_id=10&language=`;
|
||||
public static readonly versionsUri: string = `https://sdk-os-static.${this.gamePlaceholder.lowercase.company}.com/hk4e_global/mdk/launcher/api/resource?key=gcStgarh&launcher_id=10`;
|
||||
public static readonly backgroundUri: string = `https://sdk-os-static.${this.gamePlaceholder.lowercase.company}.com/hk4e_global/mdk/launcher/api/content?filter_adv=true&launcher_id=10&language=`;
|
||||
|
||||
public static readonly patchUri: string = 'https://notabug.org/Krock/GI-on-Linux/archive/master.zip';
|
||||
|
||||
|
|
|
@ -6,13 +6,13 @@ const { exec } = require('child_process');
|
|||
import $ from 'cash-dom';
|
||||
|
||||
import { constants } from './lib/constants';
|
||||
import { Genshinlib } from './lib/Genshinlib';
|
||||
import { LauncherLib } from './lib/LauncherLib';
|
||||
import { LauncherUI } from './lib/LauncherUI';
|
||||
import { Tools } from './lib/Tools';
|
||||
|
||||
$(() => {
|
||||
// Make sure settings is shown in correct language.
|
||||
LauncherUI.updateLang(Genshinlib.getConfig('lang.launcher') ?? 'en-us');
|
||||
LauncherUI.updateLang(LauncherLib.getConfig('lang.launcher') ?? 'en-us');
|
||||
|
||||
$('.menu-item').on('click', (e) => {
|
||||
$('.settings')[0]!.scrollTop = document.getElementById(e.target.getAttribute('anchor'))!.offsetTop - 16;
|
||||
|
@ -29,12 +29,12 @@ $(() => {
|
|||
});
|
||||
|
||||
$('#language').on('selectionChanged', (e, data: any) => {
|
||||
let activeLang = Genshinlib.getConfig('lang.launcher');
|
||||
let activeLang = LauncherLib.getConfig('lang.launcher');
|
||||
|
||||
if (activeLang != data.value)
|
||||
{
|
||||
Genshinlib.updateConfig('lang.launcher', data.value);
|
||||
Genshinlib.updateConfig('background.time', null);
|
||||
LauncherLib.updateConfig('lang.launcher', data.value);
|
||||
LauncherLib.updateConfig('background.time', null);
|
||||
|
||||
LauncherUI.updateLang(data.value);
|
||||
|
||||
|
@ -44,26 +44,26 @@ $(() => {
|
|||
});
|
||||
|
||||
// Select the saved options in launcher.json on load
|
||||
// $(`#voice-list option[value="${Genshinlib.getConfig('lang.voice')}"]`).prop('selected', true);
|
||||
// $(`#voice-list option[value="${LauncherLib.getConfig('lang.voice')}"]`).prop('selected', true);
|
||||
|
||||
$(`#language li[value=${Genshinlib.getConfig('lang.launcher')}]`).addClass('selected');
|
||||
$('#language .selected-item span').text($(`#language li[value=${Genshinlib.getConfig('lang.launcher')}]`).text());
|
||||
$(`#language li[value=${LauncherLib.getConfig('lang.launcher')}]`).addClass('selected');
|
||||
$('#language .selected-item span').text($(`#language li[value=${LauncherLib.getConfig('lang.launcher')}]`).text());
|
||||
|
||||
if (Genshinlib.getConfig('rpc'))
|
||||
if (LauncherLib.getConfig('rpc'))
|
||||
$('#discord-rpc').addClass('checkbox-active');
|
||||
|
||||
$('#discord-rpc').on('classChange', () => {
|
||||
Genshinlib.updateConfig('rpc', $('#discord-rpc').hasClass('checkbox-active'));
|
||||
LauncherLib.updateConfig('rpc', $('#discord-rpc').hasClass('checkbox-active'));
|
||||
|
||||
ipcRenderer.send('rpc-toggle');
|
||||
});
|
||||
|
||||
/*$('#voice-list').on('change', (e) => {
|
||||
let activeVP = Genshinlib.getConfig('voice');
|
||||
let activeVP = LauncherLib.getConfig('voice');
|
||||
|
||||
if (activeVP != e.target.value)
|
||||
{
|
||||
Genshinlib.updateConfig('lang.voice', e.target.value);
|
||||
LauncherLib.updateConfig('lang.voice', e.target.value);
|
||||
|
||||
ipcRenderer.send('updateVP', { 'oldvp': activeVP });
|
||||
|
||||
|
@ -76,23 +76,23 @@ $(() => {
|
|||
|
||||
$('#env-list').on('propertyNameChanged', (e, data) => {
|
||||
if (data.value != '')
|
||||
Genshinlib.updateConfig(`env.${data.name.after}`, data.value);
|
||||
LauncherLib.updateConfig(`env.${data.name.after}`, data.value);
|
||||
|
||||
if (data.name.before != '')
|
||||
Genshinlib.deleteConfig(`env.${data.name.before}`);
|
||||
LauncherLib.deleteConfig(`env.${data.name.before}`);
|
||||
});
|
||||
|
||||
$('#env-list').on('propertyValueChanged', (e, data) => {
|
||||
if (data.name != '')
|
||||
Genshinlib.updateConfig(`env.${data.name}`, data.value.after);
|
||||
LauncherLib.updateConfig(`env.${data.name}`, data.value.after);
|
||||
});
|
||||
|
||||
$('#env-list').on('propertyDeleted', (e, data) => {
|
||||
if (data.name != '')
|
||||
Genshinlib.deleteConfig(`env.${data.name}`);
|
||||
LauncherLib.deleteConfig(`env.${data.name}`);
|
||||
});
|
||||
|
||||
let env = Genshinlib.getConfig('env');
|
||||
let env = LauncherLib.getConfig('env');
|
||||
|
||||
Object.keys(env).forEach((property: string) => {
|
||||
$('#env-list .button#add')[0]!.click();
|
||||
|
@ -107,9 +107,9 @@ $(() => {
|
|||
td.last().find('span').text(value);
|
||||
});
|
||||
|
||||
let activeRunner = Genshinlib.getConfig('runner');
|
||||
let activeRunner = LauncherLib.getConfig('runner');
|
||||
|
||||
Genshinlib.getRunners().then(runners => {
|
||||
LauncherLib.getRunners().then(runners => {
|
||||
runners.forEach(category => {
|
||||
$(`<h3>${category.title}</h3>`).appendTo('#runners-list');
|
||||
|
||||
|
@ -164,9 +164,9 @@ $(() => {
|
|||
|
||||
if (item.find('div').css('display') === 'none')
|
||||
{
|
||||
Genshinlib.updateConfig('runner.name', runner.name);
|
||||
Genshinlib.updateConfig('runner.folder', runner.folder);
|
||||
Genshinlib.updateConfig('runner.executable', runner.executable);
|
||||
LauncherLib.updateConfig('runner.name', runner.name);
|
||||
LauncherLib.updateConfig('runner.folder', runner.folder);
|
||||
LauncherLib.updateConfig('runner.executable', runner.executable);
|
||||
|
||||
$('#runners-list > .list-item').removeClass('list-item-active');
|
||||
item.addClass('list-item-active');
|
||||
|
@ -177,9 +177,9 @@ $(() => {
|
|||
});
|
||||
});
|
||||
|
||||
let activeDXVK = Genshinlib.getConfig('dxvk');
|
||||
let activeDXVK = LauncherLib.getConfig('dxvk');
|
||||
|
||||
Genshinlib.getDXVKs().then(dxvks => {
|
||||
LauncherLib.getDXVKs().then(dxvks => {
|
||||
dxvks.forEach(dxvk => {
|
||||
let item = $(`<div class="list-item">${dxvk.version}<div><img src="../images/download.png"></div></div>`).appendTo('#dxvk-list');
|
||||
|
||||
|
@ -239,7 +239,7 @@ $(() => {
|
|||
});
|
||||
|
||||
installer.on('close', () => {
|
||||
Genshinlib.updateConfig('dxvk', dxvk.version);
|
||||
LauncherLib.updateConfig('dxvk', dxvk.version);
|
||||
|
||||
$('#dxvk-list > .list-item').removeClass('list-item-active');
|
||||
item.addClass('list-item-active');
|
||||
|
|
Loading…
Reference in a new issue