import { invoke } from '@tauri-apps/api' import { getConfig } from './configuration' export async function getGameExecutable() { const config = await getConfig() if (!config.game_install_path) { return null } const pathArr = config.game_install_path.replace(/\\/g, '/').split('/') return pathArr[pathArr.length - 1] } export async function getGameFolder() { const config = await getConfig() if (!config.game_install_path) { return null } const pathArr = config.game_install_path.replace(/\\/g, '/').split('/') pathArr.pop() const path = pathArr.join('/') return path } export async function getGameDataFolder() { const gameExec = await getGameExecutable() if (!gameExec) { return null } return (await getGameFolder()) + '\\' + gameExec.replace('.exe', '_Data') } export async function getGameVersion() { const GameData = await getGameDataFolder() if (!GameData) { return null } const settings = JSON.parse( await invoke('read_file', { path: GameData + '\\StreamingAssets\\asb_settings.json', }) ) const versionRaw = settings.variance.split('.') const version = { major: parseInt(versionRaw[0]), minor: parseInt(versionRaw[1].split('_')[0]), release: parseInt(versionRaw[1].split('_')[1]), } return version }