Preparations to 2.1.0

- updated readme
- added DXVK 1.9.4 and made it default;
  DXVK 1.8 and 1.8.1 now aren't recommended
- added Indonesian
- added Wine synchronization option in settings
  that can accept None, ESync or FSync
- added `xdelta3` package existing checking before patch applying;
  also added an error notification when patch repos are not available
This commit is contained in:
Observer KRypt0n_ 2022-01-25 20:04:08 +02:00
parent a7afc472c1
commit 2d7e1745b4
No known key found for this signature in database
GPG key ID: DC5D4EC1303465DA
19 changed files with 396 additions and 18 deletions

View file

@ -142,6 +142,7 @@ This is our current roadmap goals. You can find older ones [here](repository/pag
* <s>Use `LauncherLib.getGameVersion` function instead of the `config.json`'s `version` property</s> *(deprecated due to the new core functions)*
* <s>Fix button flickering at start when the launcher's state updates</s> *(fixed due to the new framework usage and proper state updating)*
* <s>Add downloading pause button</s> *(2.0.0 release)*
* Make notifications translations
* Dark progress bar design
* Statistics window
* Changelog window

View file

@ -1,4 +1,9 @@
[
{
"version": "1.9.4",
"uri": "https://github.com/doitsujin/dxvk/releases/download/v1.9.4/dxvk-1.9.4.tar.gz",
"recommended": true
},
{
"version": "1.9.3",
"uri": "https://github.com/doitsujin/dxvk/releases/download/v1.9.3/dxvk-1.9.3.tar.gz",
@ -22,12 +27,12 @@
{
"version": "1.8.1",
"uri": "https://github.com/doitsujin/dxvk/releases/download/v1.8.1/dxvk-1.8.1.tar.gz",
"recommended": true
"recommended": false
},
{
"version": "1.8",
"uri": "https://github.com/doitsujin/dxvk/releases/download/v1.8/dxvk-1.8.tar.gz",
"recommended": true
"recommended": false
},
{
"version": "1.7.3",

View file

@ -85,6 +85,7 @@ settings:
de-de: Deutsch
fr-fr: Français
it-it: Italiano
id-id: Bahasa Indonesia
uwu: Engwish
# Spiel sprachpaket auswahl
@ -134,6 +135,16 @@ settings:
none: Aus
dxvk: DXVK
mangohud: MangoHUD
# Wine synchronization
winesync:
title: Wine Synchronisation
tooltip: Esync ist ein Mechanismus zur Synchronisierung von Multi-Thread-Operationen womit die Leistung Ihres Spiels verbessert wird.
Fsync ist eine verbesserte Version von Esync, die auf bestimmten Kernel-Versionen funktioniert
items:
none: Aus
esync: Esync
fsync: Fsync
# GameMode
gamemode:

View file

@ -85,6 +85,7 @@ settings:
de-de: Deutsch
fr-fr: Français
it-it: Italiano
id-id: Bahasa Indonesia
uwu: Engwish
# Game voice pack language
@ -134,6 +135,16 @@ settings:
none: None
dxvk: DXVK
mangohud: MangoHUD
# Wine synchronization
winesync:
title: Wine synchronization
tooltip: ESync is a mechanism of synchronizing multi-thread operations. It can improve your game performance.
FSync is an improved version of ESync that works on specific kernel versions
items:
none: None
esync: ESync
fsync: FSync
# GameMode
gamemode:

View file

@ -85,6 +85,7 @@ settings:
de-de: Alemán
fr-fr: Francés
it-it: Italiano
id-id: Bahasa Indonesia
uwu: Inglés pero uwu
# Idioma del paquete de voz
@ -134,6 +135,16 @@ settings:
none: Ninguno
dxvk: DXVK
mangohud: MangoHUD
# Wine synchronization
winesync:
title: Wine synchronization
tooltip: ESync is a mechanism of synchronizing multi-thread operations. It can improve your game performance.
FSync is an improved version of ESync that works on specific kernel versions
items:
none: None
esync: ESync
fsync: FSync
# GameMode
gamemode:

View file

@ -86,6 +86,7 @@ settings:
de-de: Deutsch
fr-fr: Français
it-it: Italiano
id-id: Bahasa Indonesia
uwu: Engwish
# Game voice pack language
@ -136,6 +137,16 @@ settings:
none: None
dxvk: DXVK
mangohud: MangoHUD
# Wine synchronization
winesync:
title: Wine synchronization
tooltip: ESync is a mechanism of synchronizing multi-thread operations. It can improve your game performance.
FSync is an improved version of ESync that works on specific kernel versions
items:
none: None
esync: ESync
fsync: FSync
# GameMode
gamemode:

229
public/locales/id-id.yaml Normal file
View file

@ -0,0 +1,229 @@
# Splash window
splash:
title: Memuat peluncur
phrases:
- Doing some important stuff...
- Bullying Paimon...
- Pulling for Yae...
- Farming materials...
- Passing Abyss...
- Collecting achievements...
- Building phys Qiqi...
- Making sacrifices for 5*...
- Finding friends for co-op...
# Launcher window
launcher:
# Progress bar
progress:
pause: Berhenti
resume: Lanjutkan
# Game installation
game:
downloading: Mengunduh game...
unpacking: Membongkar game...
deleting_outdated: Menghapus file lama...
# Voice packages installation
voice:
deleting: Menghapus paket suara...
downloading: Mengunduh paket suara {voice}...
unpacking: Membongkar paket suara {voice}...
# Launcher states
states:
# When the game should be installed or updated
installation:
install_wine: Pasang Wine
install_dxvk: Pasang DXVK
install: Pasang
update: Perbarui
# When the game should be patched
patching:
# Patch unavailable
unavailable:
title: Patch tidak tersedia
hint: Versi game ini tidak memiliki patch anti-cheat.
Mohon tunggu beberapa hari sampai keluarnya versi uji coba maupun versi stabil
# Patch is in testing
test:
title: Pasang patch uji coba
hint: Versi game ini memiliki patch anti-cheat versi uji coba
Kamu dapat menunggu sampai stabil atau memasang dengan resiko kamu sendiri
# Patch is stable
stable: Pasang patch
# When the game is ready for playing
ready:
launch: Luncurkan
predownload: Pembaruan pra-unduh
# Launcher update
update:
title: 'Pembaruan peluncur tersedia: {from} -> {to}'
body: Kamu dapat mengunduh versi baru peluncur dari repositori proyek di {repository}
# Settings window
settings:
# General
general:
title: Umum
items:
# Language selection
lang:
# Launcher language
launcher:
title: Peluncur
items:
en-us: English (US)
ru-ru: Русский
de-de: Deutsch
fr-fr: Français
it-it: Italiano
id-id: Bahasa Indonesia
uwu: Engwish
# Game voice pack language
voice:
title: Paket suara
tooltip: Kamu harus memilih paket suara baru dari dalam game secara manual
items:
en-us: English (US)
ja-jp: Japanese
ko-kr: Korean
zn-cn: Chinese
# Launcher theme
theme:
title: Tema
items:
system: Sistem
light: Terang
dark: Gelap
# Discord RPC
discord:
title: Discord RPC
settings:
title: Discord RPC settings
items:
timer: Tampilkan perkiraan waktu yang dihabiskan
in-launcher: Teks peluncur
in-game: Teks in-game
selectIcon: Pilih ikon
# Some buttons
buttons:
winetricks: winetricks
winecfg: winecfg
launcher: folder peluncur
game: folder game
# Enhancements
enhancements:
title: Peningkatan
items:
# HUD
hud:
title: HUD
items:
none: Tidak ada
dxvk: DXVK
mangohud: MangoHUD
# Wine synchronization
winesync:
title: Wine synchronization
tooltip: ESync is a mechanism of synchronizing multi-thread operations. It can improve your game performance.
FSync is an improved version of ESync that works on specific kernel versions
items:
none: None
esync: ESync
fsync: FSync
# GameMode
gamemode:
title: Gunakan GameMode
tooltip:
enabled: Perangkat lunak yang dapat meningkatkan performa game
disabled: ⚠️ Kamu tidak memiliki paket gamemode terpasang
# AMD FSR
fsr:
title: Aktifkan AMD FSR
tooltip: Opsi ini mengaktifkan AMD FidelityFX Super Resolution (FSR)
yang akan menaikkan resolusi game tanpa mengurangi FPS
# Unlock FPS
fps_unlocker:
title: Unlock FPS
tooltip: Opsi ini akan melepaskan batasan 60 fps
# Delete logs
purge_logs:
# Game logs (DXVK)
game:
title: Hapus log DXVK
tooltip: Dengan mengaktifkan opsi ini, peluncur akan menghapus
log DXVK secara otomatis
# Launcher logs
launcher:
title: Hapus log peluncur
tooltip: Jangka waktu agar peluncur menghapus log file lama secara otomatis
items:
1d: 1 hari
3d: 3 hari
5d: 5 hari
7d: 1 minggu
14d: 2 minggu
never: Tidak pernah
# Runners
runners:
title: Versi wine
items:
recommended:
title: Tampilkan hanya pilihan yang direkomendasikan
tooltip: Opsi ini akan menyembunyikan versi wine yang bermasalah
# DXVKs
dxvks:
title: DXVK
items:
recommended:
title: Tampilkan hanya pilihan yang direkomendasikan
tooltip: Opsi ini akan menyembunyikan versi lama DXVK
# Shaders
shaders:
title: Shaders
items:
shaders:
title: Shaders
tooltip: Gunakan tombol Home di dalam game untuk mengaktifkan shaders
items:
none: Tidak ada
custom: Kustom
author: 'Pembuat: {author}'
no_images: Tidak ada gambar ditambahkan
not_installed: Kamu belum memasang vkBasalt dan librari reshade-shaders
# Environmantal variables manager
environment:
title: Lingkungan
items:
# Table rows
table:
name: Nama
value: Nilai
# Table buttons
buttons:
add: Tambah
delete: Hapus

View file

@ -85,6 +85,7 @@ settings:
de-de: Deutsch
fr-fr: Français
it-it: Italiano
id-id: Bahasa Indonesia
uwu: Engwish
# Game voice pack language
@ -133,6 +134,16 @@ settings:
none: None
dxvk: DXVK
mangohud: MangoHUD
# Wine synchronization
winesync:
title: Wine synchronization
tooltip: ESync is a mechanism of synchronizing multi-thread operations. It can improve your game performance.
FSync is an improved version of ESync that works on specific kernel versions
items:
none: None
esync: ESync
fsync: FSync
# GameMode
gamemode:

View file

@ -85,6 +85,7 @@ settings:
de-de: Deutsch
fr-fr: Français
it-it: Italiano
id-id: Bahasa Indonesia
uwu: Engwish
# Язык озвучки в игре
@ -134,6 +135,16 @@ settings:
none: Отключён
dxvk: DXVK
mangohud: MangoHUD
# Синхронизация Wine
winesync:
title: Синхронизация Wine
tooltip: ESync - это механизм синхронизации многопоточных операций. Он может улучшить производительность игры.
FSync - это улучшенная версия ESync, которая работает на некоторых версиях ядра Linux
items:
none: Отключена
esync: ESync
fsync: FSync
# GameMode
gamemode:

View file

@ -85,6 +85,7 @@ settings:
de-de: Deutsch
fr-fr: Français
it-it: Italiano
id-id: Bahasa Indonesia
uwu: Engwish
# Game voice pack language
@ -134,6 +135,16 @@ settings:
none: n-none
dxvk: DXVK
mangohud: MangoHUD
# Wine synchronization
winesync:
title: wine synchwonization
tooltip: Esync is a mechanism of synchwonizing muwti-thwead opewations. it can impwove youw game p-pewfowmance.
Fsync is an impwoved vewsion of esync that wowks on specific k-kewnew vewsions
items:
none: none
esync: Esync
fsync: Fsync
# GameMode
gamemode:

View file

@ -6,6 +6,7 @@
export let prop: string = '';
export let lang: string = '';
export let tooltip: string = '';
export let tooltip_size: 'medium' | 'large' = 'medium';
export let items = {};
export let valueChanged: (value: string) => void = () => {};
@ -60,9 +61,8 @@
</div>
<div
class="selected-item"
class="selected-item {tooltip !== '' ? `hint--${tooltip_size}` : ''}"
class:hint--left={tooltip !== ''}
class:hint--medium={tooltip !== ''}
aria-label={$_(tooltip)}
on:click={() => selectionOpen = !selectionOpen}
>

View file

@ -53,11 +53,9 @@ promisify(async () => {
*
* null to disable any
*
* @default { WINEESYNC: 1 }
* @default null
*/
env: {
WINEESYNC: 1
},
env: null,
/**
* Launcher theme
@ -76,6 +74,15 @@ promisify(async () => {
* @default "none"
*/
hud: 'none',
/**
* Wine synchronization
*
* Available options: none, esync, fsync
*
* @defaul "esync"
*/
winesync: 'esync',
/**
* vkBasalt preset to use

View file

@ -8,6 +8,7 @@ register('es-es', () => Locales.get('es-es'));
register('de-de', () => Locales.get('de-de'));
register('fr-fr', () => Locales.get('fr-fr'));
register('it-it', () => Locales.get('it-it'));
register('id-id', () => Locales.get('id-id'));
register('uwu', () => Locales.get('uwu'));
Locales.default().then((locale) => {

View file

@ -72,6 +72,16 @@
'mangohud': 'settings.enhancements.items.hud.items.mangohud'
};
/**
* Wine synchronizations
*/
const winesyncs = {
'none': 'settings.enhancements.items.winesync.items.none',
'esync': 'settings.enhancements.items.winesync.items.esync',
'fsync': 'settings.enhancements.items.winesync.items.fsync'
};
/**
* Delete launcher logs options
*/
@ -332,6 +342,14 @@
items={huds}
/>
<SelectionBox
lang="settings.enhancements.items.winesync.title"
prop="winesync"
tooltip="settings.enhancements.items.winesync.tooltip"
tooltip_size="large"
items={winesyncs}
/>
<Checkbox
lang="settings.enhancements.items.gamemode.title"
prop="gamemode"

View file

@ -33,7 +33,6 @@
await record.pop();
Window.current.hide();
Neutralino.app.exit();
}

View file

@ -13,6 +13,7 @@ type AvailableLocales =
| 'de-de'
| 'fr-fr'
| 'it-it'
| 'id-id'
| 'uwu';
declare const Neutralino;
@ -23,7 +24,7 @@ export default class Locales
* List of locales supported by the game's API
*/
public static readonly supportedLocales: AvailableLocales[] = [
'en-us', 'ru-ru', 'es-es', 'de-de', 'fr-fr'
'en-us', 'ru-ru', 'es-es', 'de-de', 'fr-fr', 'id-id'
];
/**

View file

@ -1,12 +1,24 @@
import type Launcher from '../../Launcher';
import Launcher from '../../Launcher';
import Patch from '../../Patch';
import Notifications from '../../core/Notifications';
import constants from '../../Constants';
export default (launcher: Launcher): Promise<void> => {
return new Promise(async (resolve) => {
Patch.latest.then((patch) => {
// Show an error notification if xdelta3 package is not installed
if (!await Launcher.isPackageAvailable('xdelta3'))
{
Notifications.show({
title: 'An Anime Game Launcher',
body: 'You must download xdelta3 package to apply the patch',
icon: `${constants.paths.appDir}/public/images/baal64-transparent.png`,
importance: 'critical'
});
resolve();
}
else Patch.latest.then((patch) => {
if (patch.applied)
resolve();
@ -76,6 +88,15 @@ export default (launcher: Launcher): Promise<void> => {
}
});
}
}).catch(() => {
Notifications.show({
title: 'An Anime Game Launcher',
body: 'All the patch repositories are not available. You\'ll be able to run the game, but launcher can\'t be sure is it patched properly',
icon: `${constants.paths.appDir}/public/images/baal64-transparent.png`,
importance: 'critical'
});
resolve();
});
});
};

View file

@ -9,9 +9,9 @@ export default (launcher: Launcher): Promise<void> => {
import('./CreatePrefix').then((module) => {
module.default(launcher).then(() => {
// And then download the DXVK
DXVK.download('1.9.3').then((stream) => {
DXVK.download('1.9.4').then((stream) => {
launcher.progressBar?.init({
label: 'Downloading DXVK 1.9.3...',
label: 'Downloading DXVK 1.9.4...',
showSpeed: true,
showEta: true,
showPercents: true,
@ -28,7 +28,7 @@ export default (launcher: Launcher): Promise<void> => {
stream?.unpackStart(() => {
launcher.progressBar?.init({
label: () => unpacking ? 'Unpacking DXVK 1.9.3...' : 'Applying DXVK 1.9.3...',
label: () => unpacking ? 'Unpacking DXVK 1.9.4...' : 'Applying DXVK 1.9.4...',
showSpeed: true,
showEta: true,
showPercents: true,
@ -44,10 +44,10 @@ export default (launcher: Launcher): Promise<void> => {
unpacking = false;
// Select this DXVK
await DXVK.current('1.9.3');
await DXVK.current('1.9.4');
// And apply it
DXVK.apply(await constants.paths.prefix.current, '1.9.3').then(() => {
DXVK.apply(await constants.paths.prefix.current, '1.9.4').then(() => {
launcher.progressBar?.hide();
resolve();

View file

@ -72,6 +72,25 @@ export default (launcher: Launcher): Promise<void> => {
break;
}
/**
* Wine synchronizations
*
* @link https://github.com/AdelKS/LinuxGamingGuide#wine-tkg
*/
switch (await Configs.get('winesync'))
{
case 'esync':
env['WINEESYNC'] = 1;
break;
case 'fsync':
env['WINEESYNC'] = 1;
env['WINEFSYNC'] = 1;
break;
}
/**
* AMD FSR
*/