Merge pull request #221 from an-anime-team/next

Release 3.7.5
This commit is contained in:
Observer KRypt0n_ 2023-07-14 08:42:26 +02:00 committed by GitHub
commit e7ddb3b62b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
33 changed files with 360 additions and 293 deletions

View file

@ -7,6 +7,25 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased] ## [Unreleased]
### Added
- Added support to the new wishes url cache location
### Fixed
- Fixed telemetry disabling
### Changed
- Updated Italian
- Updated Hungarian
- Updated Japanese
- Updated Indonesian
- Updated Spanish
- Updated Turkish
- Updated Chinese
- Disabled patch applying for new installations
## [3.7.4] (hotfix) - 19.06.2023 ## [3.7.4] (hotfix) - 19.06.2023
### Fixed ### Fixed

414
Cargo.lock generated

File diff suppressed because it is too large Load diff

View file

@ -17,7 +17,7 @@ glib-build-tools = "0.17"
[dependencies.anime-launcher-sdk] [dependencies.anime-launcher-sdk]
git = "https://github.com/an-anime-team/anime-launcher-sdk" git = "https://github.com/an-anime-team/anime-launcher-sdk"
tag = "1.8.4" tag = "1.8.5"
features = ["all", "genshin", "genshin-patch"] features = ["all", "genshin", "genshin-patch"]
# path = "../anime-launcher-sdk" # ! for dev purposes only # path = "../anime-launcher-sdk" # ! for dev purposes only

View file

@ -44,7 +44,7 @@ game-patching-error = Fallo al parchear el juego
# Disable telemetry # Disable telemetry
telemetry-servers-disabling-error = Failed to disable telemetry servers telemetry-servers-disabling-error = Fallo al desactivar servidores de telemetría
# Sandbox # Sandbox

View file

@ -52,8 +52,8 @@ patch-not-applied-tooltip = El parche no está aplicado
apply-main-patch = Aplicar parche principal apply-main-patch = Aplicar parche principal
apply-main-patch-description = Experimental. Deshabilitar esta opción te permitirá correr el juego sin aplicar el parche. Esto podría no funcionar, o requerir modificaciones manuales a los archivos. Úsalo sólo si sabes lo que estás haciendo apply-main-patch-description = Experimental. Deshabilitar esta opción te permitirá correr el juego sin aplicar el parche. Esto podría no funcionar, o requerir modificaciones manuales a los archivos. Úsalo sólo si sabes lo que estás haciendo
disable-mhypbase = Disable mhypbase disable-mhypbase = Desactivar mhypbase
disable-mhypbase-description = Experimental. If enabled, launcher will disable mhypbase.dll during the main patch applying, which is currently an equivalent to the xlua patch. Improves performance and reduces CPU usage disable-mhypbase-description = Experimental. Si se activa, el launcher desactivará mhypbase.dll durante la aplicación del parche principal, lo que actualmente es equivalente a usar el parche xlua. Mejora la performance y reduce el uso de CPU
ask-superuser-permissions = Pedir permisos de superusuario ask-superuser-permissions = Pedir permisos de superusuario
ask-superuser-permissions-description = El launcher usará los permisos para actualizar automáticamente tu archivo hosts. Esto no es necesario en la versión de Flatpak ask-superuser-permissions-description = El launcher usará los permisos para actualizar automáticamente tu archivo hosts. Esto no es necesario en la versión de Flatpak

View file

@ -55,7 +55,7 @@ launch = Iniciar
migrate-folders = Migrar carpetas migrate-folders = Migrar carpetas
migrate-folders-tooltip = Actualizar estructura de carpetas del juego migrate-folders-tooltip = Actualizar estructura de carpetas del juego
apply-patch = Aplicar parche apply-patch = Aplicar parche
disable-telemetry = Disable telemetry disable-telemetry = Desactivar telemetría
download-wine = Descargar wine download-wine = Descargar wine
create-prefix = Crear prefijo create-prefix = Crear prefijo
update = Actualizar update = Actualizar

View file

@ -44,7 +44,7 @@ game-patching-error = Sikertelen játék patchelés
# Disable telemetry # Disable telemetry
telemetry-servers-disabling-error = Failed to disable telemetry servers telemetry-servers-disabling-error = Telemetria kikapcsolása sikertelen
# Sandbox # Sandbox

View file

@ -52,8 +52,8 @@ patch-not-applied-tooltip = A patch nincs alkalmazva
apply-main-patch = Fő patch alkalmazása apply-main-patch = Fő patch alkalmazása
apply-main-patch-description = Kísérleti opció, a kikapcsolásával futtathatod a játékot patch nélkül. Lehet hogy nem fog működni, vagy a fájlokat manuálisan kell szerkesztened, akkor kapcsold ki ha tudod mit csinálsz. apply-main-patch-description = Kísérleti opció, a kikapcsolásával futtathatod a játékot patch nélkül. Lehet hogy nem fog működni, vagy a fájlokat manuálisan kell szerkesztened, akkor kapcsold ki ha tudod mit csinálsz.
disable-mhypbase = Disable mhypbase disable-mhypbase = mhypbase kikapcsolása
disable-mhypbase-description = Experimental. If enabled, launcher will disable mhypbase.dll during the main patch applying, which is currently an equivalent to the xlua patch. Improves performance and reduces CPU usage disable-mhypbase-description = Tesztelés alatt. Ha bekapcsolod, kikapcsolja a mhypbase.dll-t a patch telepítésénél, ami az xlua patch-el ér fel. Jobb teljesítmény és kisebb CPU használat
ask-superuser-permissions = Superuser engedély kérése ask-superuser-permissions = Superuser engedély kérése
ask-superuser-permissions-description = A Launcher autómatikusan használni fogja hogy frissítse a hosts fájlodat. A Flatpak verzióhoz nem kell ask-superuser-permissions-description = A Launcher autómatikusan használni fogja hogy frissítse a hosts fájlodat. A Flatpak verzióhoz nem kell

View file

@ -55,7 +55,7 @@ launch = Indítás
migrate-folders = Mappák migrálása migrate-folders = Mappák migrálása
migrate-folders-tooltip = Játékmappa struktúra frissítése migrate-folders-tooltip = Játékmappa struktúra frissítése
apply-patch = Patch alkalmazása apply-patch = Patch alkalmazása
disable-telemetry = Disable telemetry disable-telemetry = Telemetria kikapcsolása
download-wine = Wine letöltése download-wine = Wine letöltése
create-prefix = Prefix létrehozása create-prefix = Prefix létrehozása
update = Frissítés update = Frissítés

View file

@ -44,7 +44,7 @@ game-patching-error = Gagal melakukan patch pada game
# Disable telemetry # Disable telemetry
telemetry-servers-disabling-error = Failed to disable telemetry servers telemetry-servers-disabling-error = Gagal menonaktifkan server telemetri
# Sandbox # Sandbox

View file

@ -52,8 +52,8 @@ patch-not-applied-tooltip = Patch tidak diterapkan
apply-main-patch = Terapkan patch utama apply-main-patch = Terapkan patch utama
apply-main-patch-description = Eksperimental. Menonaktifkan opsi ini akan menginzinkan Anda menjalankan game tanpa menerapkan patch. Hal ini mungkin tidak bekerja, atau membutuhkan modifikasi file secara manual. Gunakan jika Anda tahu apa yang Anda lakukan apply-main-patch-description = Eksperimental. Menonaktifkan opsi ini akan menginzinkan Anda menjalankan game tanpa menerapkan patch. Hal ini mungkin tidak bekerja, atau membutuhkan modifikasi file secara manual. Gunakan jika Anda tahu apa yang Anda lakukan
disable-mhypbase = Disable mhypbase disable-mhypbase = Nonaktifkan mhypbase
disable-mhypbase-description = Experimental. If enabled, launcher will disable mhypbase.dll during the main patch applying, which is currently an equivalent to the xlua patch. Improves performance and reduces CPU usage disable-mhypbase-description = Masih dalam pengujicobaan. Jika diaktifkan, launcher akan menonaktifkan mhypbase.dll ketika menerapkan patch utama, yang saat ini sama dengan patch xlua. Menaikkan performa dan mengurangi penggunaan CPU
ask-superuser-permissions = Minta izin dari admin ask-superuser-permissions = Minta izin dari admin
ask-superuser-permissions-description = Launcher akan otomatis memperbarui file hosts Anda. Opsi ini tidak diperlukan jika Anda memakai edisi flatpak ask-superuser-permissions-description = Launcher akan otomatis memperbarui file hosts Anda. Opsi ini tidak diperlukan jika Anda memakai edisi flatpak

View file

@ -55,7 +55,7 @@ launch = Luncurkan
migrate-folders = Pindahkan folder migrate-folders = Pindahkan folder
migrate-folders-tooltip = Perbarui struktur folder game migrate-folders-tooltip = Perbarui struktur folder game
apply-patch = Terapkan patch apply-patch = Terapkan patch
disable-telemetry = Disable telemetry disable-telemetry = Nonaktifkan telemetri
download-wine = Unduh wine download-wine = Unduh wine
create-prefix = Buat prefix create-prefix = Buat prefix
update = Perbarui update = Perbarui

View file

@ -44,7 +44,7 @@ game-patching-error = Patching del gioco non riuscito
# Disable telemetry # Disable telemetry
telemetry-servers-disabling-error = Failed to disable telemetry servers telemetry-servers-disabling-error = Disattivazione dei server di telemetria non riuscita
# Sandbox # Sandbox

View file

@ -52,8 +52,8 @@ patch-not-applied-tooltip = La patch non è applicata
apply-main-patch = Applica la patch principale apply-main-patch = Applica la patch principale
apply-main-patch-description = Sperimentale. Disabilitandola ti permette di eseguite il gioco senza applicare la patch. Ciò potrebbe non funzionare o richiedere modifiche manuali ai file. Usala se sai cosa stai facendo apply-main-patch-description = Sperimentale. Disabilitandola ti permette di eseguite il gioco senza applicare la patch. Ciò potrebbe non funzionare o richiedere modifiche manuali ai file. Usala se sai cosa stai facendo
disable-mhypbase = Disable mhypbase disable-mhypbase = Disabilita mhypbase
disable-mhypbase-description = Experimental. If enabled, launcher will disable mhypbase.dll during the main patch applying, which is currently an equivalent to the xlua patch. Improves performance and reduces CPU usage disable-mhypbase-description = Sperimentale. Se abiliata, il launcher disabiliterà mhypbase.dll durante l'applicazione della patch principale, che attualmente equivalente ad applicare la patch xlua. Migliora le prestazioni e riduce l'utilizzo della CPU
ask-superuser-permissions = Chiedi permessi di amministratore ask-superuser-permissions = Chiedi permessi di amministratore
ask-superuser-permissions-description = Il launcher li userà per aggiornare automaticamente il tuo file hosts. Questo non è necessario nell'edizione flatpak ask-superuser-permissions-description = Il launcher li userà per aggiornare automaticamente il tuo file hosts. Questo non è necessario nell'edizione flatpak

View file

@ -55,7 +55,7 @@ launch = Lancia
migrate-folders = Migra cartelle migrate-folders = Migra cartelle
migrate-folders-tooltip = Aggiorna la struttura delle cartelle del gioco migrate-folders-tooltip = Aggiorna la struttura delle cartelle del gioco
apply-patch = Applica patch apply-patch = Applica patch
disable-telemetry = Disable telemetry disable-telemetry = Disabilita telemetria
download-wine = Scarica wine download-wine = Scarica wine
create-prefix = Crea prefisso create-prefix = Crea prefisso
update = Aggiorna update = Aggiorna

View file

@ -44,7 +44,7 @@ game-patching-error = ゲームのパッチに失敗しました。
# Disable telemetry # Disable telemetry
telemetry-servers-disabling-error = Failed to disable telemetry servers telemetry-servers-disabling-error = テレメトリサーバーの無効化に失敗しました。
# Sandbox # Sandbox

View file

@ -52,8 +52,8 @@ patch-not-applied-tooltip = パッチが適用されませんでした。
apply-main-patch = メインパッチを適用 apply-main-patch = メインパッチを適用
apply-main-patch-description = 実験的です。これを無効にするとパッチ無しでゲームを起動することができます。これが機能しない場合、手動でパッチを適用する必要があります。これが何を意味するのかを理解できない人は無効にするべきではないでしょう。 apply-main-patch-description = 実験的です。これを無効にするとパッチ無しでゲームを起動することができます。これが機能しない場合、手動でパッチを適用する必要があります。これが何を意味するのかを理解できない人は無効にするべきではないでしょう。
disable-mhypbase = Disable mhypbase disable-mhypbase = mhypbase を無効にする
disable-mhypbase-description = Experimental. If enabled, launcher will disable mhypbase.dll during the main patch applying, which is currently an equivalent to the xlua patch. Improves performance and reduces CPU usage disable-mhypbase-description = 試験的です。有効にすると、ランチャーはメインパッチの適用中にmhypbase.dllを無効にします。これは現在xluaパッチと同様です。パフォーマンスを向上させ、CPUへの負担を軽減します。
ask-superuser-permissions = スーパーユーザーを尋ねる。 ask-superuser-permissions = スーパーユーザーを尋ねる。
ask-superuser-permissions-description = あなたのホストのファイルを自動更新するために、 これらを利用します。flatpak版では必要ありません。 ask-superuser-permissions-description = あなたのホストのファイルを自動更新するために、 これらを利用します。flatpak版では必要ありません。

View file

@ -55,7 +55,7 @@ launch = 起動
migrate-folders = 移行ファイル migrate-folders = 移行ファイル
migrate-folders-tooltip = ゲームフォルダ構成を更新 migrate-folders-tooltip = ゲームフォルダ構成を更新
apply-patch = パッチを適用する apply-patch = パッチを適用する
disable-telemetry = Disable telemetry disable-telemetry = テレメトリを無効にする
download-wine = ワインをダウンロード download-wine = ワインをダウンロード
create-prefix = プレフィックスを作成 create-prefix = プレフィックスを作成
update = 更新 update = 更新

View file

@ -44,7 +44,7 @@ game-patching-error = Yamayı uygulamada sorun çıktı
# Disable telemetry # Disable telemetry
telemetry-servers-disabling-error = Failed to disable telemetry servers telemetry-servers-disabling-error = Bilgi toplama devre dışı bırakılamadı
# Sandbox # Sandbox

View file

@ -52,8 +52,8 @@ patch-not-applied-tooltip = Yama uygulanmamış
apply-main-patch = Ana yamayı uygula apply-main-patch = Ana yamayı uygula
apply-main-patch-description = Deneysel. Bunu devre dışı bırakmak yamayı uygulamadan oyunu çalıştırmanızı sağlar. Bu çalışmayabilir, ya da elle dosyaları değiştirmeyi gerektirebilir. Ne yaptığınızı biliyorsanız kullanın. apply-main-patch-description = Deneysel. Bunu devre dışı bırakmak yamayı uygulamadan oyunu çalıştırmanızı sağlar. Bu çalışmayabilir, ya da elle dosyaları değiştirmeyi gerektirebilir. Ne yaptığınızı biliyorsanız kullanın.
disable-mhypbase = Disable mhypbase disable-mhypbase = mhypbase'i devre dışı bırak
disable-mhypbase-description = Experimental. If enabled, launcher will disable mhypbase.dll during the main patch applying, which is currently an equivalent to the xlua patch. Improves performance and reduces CPU usage disable-mhypbase-description = Deneysel. Etkinleştirilirse, istemci ana yamayı uygularken mhypbase.dll'yi devre dışı bırakacaktır, bu xlua yamasına eşdeğerdir. Performansı arttırır ve işlemci kullanımını azaltır
ask-superuser-permissions = Yönetici izinlerini sor ask-superuser-permissions = Yönetici izinlerini sor
ask-superuser-permissions-description = İstemci yönetici iznini hostunuzun dosyalarını güncellemek için otomatik olarak kullanacaktır. Buna flatpak versiyonunda gerek yoktur ask-superuser-permissions-description = İstemci yönetici iznini hostunuzun dosyalarını güncellemek için otomatik olarak kullanacaktır. Buna flatpak versiyonunda gerek yoktur

View file

@ -55,7 +55,7 @@ launch = Çalıştır
migrate-folders = Dosyaları aktar migrate-folders = Dosyaları aktar
migrate-folders-tooltip = Oyun dosyaları yapısını güncelle migrate-folders-tooltip = Oyun dosyaları yapısını güncelle
apply-patch = Yamayı uygula apply-patch = Yamayı uygula
disable-telemetry = Disable telemetry disable-telemetry = Bilgi toplamayı devre dışı bırak
download-wine = Wine indir download-wine = Wine indir
create-prefix = Prefix oluştur create-prefix = Prefix oluştur
update = Güncelle update = Güncelle

View file

@ -1,5 +1,5 @@
components = Components components = 组件
components-description = Manage your Wine and DXVK versions components-description = 管理 Wine 和 DXVK 版本
selected-version = 选择版本 selected-version = 选择版本
recommended-only = 仅显示推荐版本 recommended-only = 仅显示推荐版本
@ -7,13 +7,13 @@ recommended-only = 仅显示推荐版本
wine-version = Wine 版本 wine-version = Wine 版本
wine-recommended-description = 仅显示推荐的 Wine 版本 wine-recommended-description = 仅显示推荐的 Wine 版本
wine-options = Wine options wine-options = Wine 选项
wine-use-shared-libraries = Use wine shared libraries wine-use-shared-libraries = 使用 Wine 共享库
wine-use-shared-libraries-description = Set LD_LIBRARY_PATH variable to load system libraries from selected wine build wine-use-shared-libraries-description = 设置 LD_LIBRARY_PATH 环境变量,从选中的 Wine 版本加载系统库
gstreamer-use-shared-libraries = Use gstreamer shared libraries gstreamer-use-shared-libraries = 使用 gstreamer 共享库
gstreamer-use-shared-libraries-description = Set GST_PLUGIN_PATH variable to load gstreamer libraries from selected wine build gstreamer-use-shared-libraries-description = 设置 GST_PLUGIN_PATH 环境变量,从选中的 Wine 版本加载 gstreamer 库
dxvk-version = DXVK 版本 dxvk-version = DXVK 版本
dxvk-selection-disabled = 您的葡萄酒组首选项禁用 DXVK 选择 dxvk-selection-disabled = 您的葡萄酒组首选项禁用 DXVK 选择

View file

@ -1,6 +1,6 @@
game-settings-description = Manage in-game settings and account session game-settings-description = 管理游戏内设置和帐号会话
sandbox-settings-description = Run the game in a bubblewrap sandbox, similar to what Flatpak does sandbox-settings-description = 在 bubblewrap 沙盒中运行游戏,与 Flatpak 的行为类似
environment-settings-description = Specify environment variables and game launching command environment-settings-description = 指定环境变量和游戏启动命令
wine = Wine wine = Wine

View file

@ -44,21 +44,21 @@ game-patching-error = 应用游戏补丁失败
# Disable telemetry # Disable telemetry
telemetry-servers-disabling-error = Failed to disable telemetry servers telemetry-servers-disabling-error = 禁用监测服务器
# Sandbox # Sandbox
documentation-url-open-failed = Failed to open documentation URL documentation-url-open-failed = 打开文档 URL 失败
# Game # Game
game-session-add-failed = Failed to add game session game-session-add-failed = 添加游戏会话失败
game-session-update-failed = Failed to update game session game-session-update-failed = 更新游戏会话失败
game-session-remove-failed = Failed to remove game session game-session-remove-failed = 删除游戏会话失败
game-session-set-current-failed = Failed to set current game session game-session-set-current-failed = 设置当前游戏会话失败
game-session-apply-failed = Failed to apply game session game-session-apply-failed = 应用游戏会话失败
# Enhancements # Enhancements
discord-rpc-icons-fetch-failed = Failed to fetch Discord RPC icons discord-rpc-icons-fetch-failed = 获取 Discord RPC 图标失败
discord-rpc-icon-download-failed = Failed to download Discord RPC icon discord-rpc-icon-download-failed = 下载 Discord RPC 图标失败

View file

@ -23,11 +23,11 @@ tos-violation-warning-message =
如果你了解并接受通过非官方许可方式玩这款游戏所带来的风险,请单击“确定”。让我们一直抢过提瓦特大陆吧! 如果你了解并接受通过非官方许可方式玩这款游戏所带来的风险,请单击“确定”。让我们一直抢过提瓦特大陆吧!
tos-dialog-title = Are you sure you understand what we want to say? tos-dialog-title = 你确定了解我们所说的意思吗?
tos-dialog-message = tos-dialog-message =
1. Don't publish any information about this project 1. 不要公开这个项目的任何信息
2. Don't abuse it by using some modded clients and so 2. 不要滥用它的功能,包含且不仅限于运行修改过的客户端
3. Ask questions exceptionally in our discord or matrix server 3. 有问题就到我们的 Discord 或者 Matrix 服务器上提
dependencies = 依赖 dependencies = 依赖
missing-dependencies-title = 你缺少某些依赖组件 missing-dependencies-title = 你缺少某些依赖组件

View file

@ -1,7 +1,7 @@
game-sessions = Game sessions game-sessions = 游戏会话
active-sessions = Active session active-sessions = 当前会话
active-session-description = Currently selected game session. Updates after each game launch active-session-description = 当前选中的游戏会话。每次游戏运行后都会更新
update-session = Update session using current wine prefix registry values update-session = 将游戏会话的注册表内容更新为当前 Wine prefix 的注册表
delete-session = Delete session delete-session = 删除会话

View file

@ -49,19 +49,19 @@ patch-preparation-tooltip = 补丁还在开发中
patch-testing-tooltip = 有测试版补丁可用 patch-testing-tooltip = 有测试版补丁可用
patch-not-applied-tooltip = 补丁未应用 patch-not-applied-tooltip = 补丁未应用
apply-main-patch = Apply main patch apply-main-patch = 应用主补丁
apply-main-patch-description = Experimental. Disabling this allows you to run the game without applying the patch. This may not work, or require manual files modifications. Use if you know what you're doing apply-main-patch-description = 实验性功能。禁用此选项可以允许在没有打补丁的情况下尝试运行游戏。此时游戏可能无法正常运行,或者需要手动修改文件。请确保你知道自己在做什么
disable-mhypbase = Disable mhypbase disable-mhypbase = 禁用 mhypbase
disable-mhypbase-description = Experimental. If enabled, launcher will disable mhypbase.dll during the main patch applying, which is currently an equivalent to the xlua patch. Improves performance and reduces CPU usage disable-mhypbase-description = 实验性功能。启用此选项后,启动器会在应用主补丁的同时禁用 mhypbase.dll。目前与 xLua 补丁效果相同,可以提升性能,降低 CPU 使用率。
ask-superuser-permissions = 请求超级用户权限 ask-superuser-permissions = 请求超级用户权限
ask-superuser-permissions-description = 启动器需要超级用户权限来修改 hosts 文件。flatpak 版无需此权限 ask-superuser-permissions-description = 启动器需要超级用户权限来修改 hosts 文件。Flatpak 版无需此权限
wine-tools = Wine 工具 wine-tools = Wine 工具
command-line = 命令行 command-line = 命令行
registry-editor = 注册表编辑器 registry-editor = 注册表编辑器
explorer = 资源管理器 explorer = 资源管理器
task-manager = 任务管理器 task-manager = 任务管理器
configuration = wine 设置 configuration = Wine 设置
debugger = 调试器 debugger = 调试器

View file

@ -2,7 +2,7 @@ custom = 自定义
none = 无 none = 无
default = 默认 default = 默认
details = 详细 details = 详细
options = Options options = 选项
width = 宽 width = 宽
height = 高 height = 高
@ -20,11 +20,11 @@ about = 关于
close = 关闭 close = 关闭
save = 保存 save = 保存
continue = 继续 continue = 继续
resume = Resume resume = 恢复
exit = 退出 exit = 退出
check = 检查 check = 检查
restart = 重启 restart = 重启
agree = Agree agree = 同意
loading-data = 正在加载数据 loading-data = 正在加载数据
@ -55,7 +55,7 @@ launch = 启动
migrate-folders = 迁移目录 migrate-folders = 迁移目录
migrate-folders-tooltip = 更新游戏目录结构 migrate-folders-tooltip = 更新游戏目录结构
apply-patch = 安装补丁 apply-patch = 安装补丁
disable-telemetry = Disable telemetry disable-telemetry = 禁用监测
download-wine = 下载 Wine download-wine = 下载 Wine
create-prefix = 创建 Wine prefix create-prefix = 创建 Wine prefix
update = 更新 update = 更新

View file

@ -13,6 +13,7 @@ use tracing_subscriber::prelude::*;
use tracing_subscriber::filter::*; use tracing_subscriber::filter::*;
use std::path::PathBuf; use std::path::PathBuf;
use std::sync::atomic::{AtomicBool, Ordering};
pub mod move_folder; pub mod move_folder;
pub mod i18n; pub mod i18n;
@ -27,13 +28,13 @@ pub const APP_VERSION: &str = env!("CARGO_PKG_VERSION");
pub const APP_DEBUG: bool = cfg!(debug_assertions); pub const APP_DEBUG: bool = cfg!(debug_assertions);
/// Sets to `true` when the `App` component is ready (fully initialized) /// Sets to `true` when the `App` component is ready (fully initialized)
pub static mut READY: bool = false; pub static READY: AtomicBool = AtomicBool::new(false);
// TODO: get rid of using this function in all the components' events // TODO: get rid of using this function in all the components' events
// e.g. by converting preferences pages into Relm4 Components // e.g. by converting preferences pages into Relm4 Components
/// Check if the app is ready /// Check if the app is ready
pub fn is_ready() -> bool { pub fn is_ready() -> bool {
unsafe { READY } READY.load(Ordering::Relaxed)
} }
lazy_static::lazy_static! { lazy_static::lazy_static! {

View file

@ -104,10 +104,29 @@ impl SimpleComponent for AboutDialog {
set_release_notes_version: &APP_VERSION, set_release_notes_version: &APP_VERSION,
set_release_notes: &[ set_release_notes: &[
"<p>Added</p>",
"<ul>",
"<li>Added support to the new wishes url cache location</li>",
"</ul>",
"<p>Fixed</p>", "<p>Fixed</p>",
"<ul>", "<ul>",
"<li>Fixed main patch applying</li>", "<li>Fixed telemetry disabling</li>",
"</ul>",
"<p>Changed</p>",
"<ul>",
"<li>Updated Italian</li>",
"<li>Updated Hungarian</li>",
"<li>Updated Japanese</li>",
"<li>Updated Indonesian</li>",
"<li>Updated Spanish</li>",
"<li>Updated Turkish</li>",
"<li>Updated Chinese</li>",
"<li>Disabled patch applying for new installations</li>",
"</ul>", "</ul>",
].join("\n"), ].join("\n"),

View file

@ -174,10 +174,10 @@ impl SimpleComponent for FirstRunApp {
unsafe { unsafe {
MAIN_WINDOW = Some(widgets.window.clone()); MAIN_WINDOW = Some(widgets.window.clone());
crate::READY = true;
} }
crate::READY.store(true, Ordering::Relaxed);
tracing::info!("First run window initialized. App is ready"); tracing::info!("First run window initialized. App is ready");
ComponentParts { model, widgets } // will return soon ComponentParts { model, widgets } // will return soon

View file

@ -16,26 +16,22 @@ pub fn disable_telemetry(sender: ComponentSender<App>) {
let telemetry = config.launcher.edition let telemetry = config.launcher.edition
.telemetry_servers() .telemetry_servers()
.iter() .iter()
.map(|server| format!("0.0.0.0 {server}")) .map(|server| format!("echo '0.0.0.0 {server}' >> /etc/hosts"))
.collect::<Vec<String>>() .collect::<Vec<String>>()
.join("\\n"); .join(" ; ");
let output = if config.patch.root { let output = if config.patch.root {
Command::new("pkexec") Command::new("pkexec")
.arg("echo") .arg("bash")
.arg("-e") .arg("-c")
.arg(format!("\\n{telemetry}\\n")) .arg(format!("echo '' >> /etc/hosts ; {telemetry} ; echo '' >> /etc/hosts"))
.arg(">>")
.arg("/etc/hosts")
.spawn() .spawn()
} }
else { else {
Command::new("echo") Command::new("bash")
.arg("-e") .arg("-c")
.arg(format!("\\n{telemetry}\\n")) .arg(format!("echo '' >> /etc/hosts ; {telemetry} ; echo '' >> /etc/hosts"))
.arg(">>")
.arg("/etc/hosts")
.spawn() .spawn()
}; };

View file

@ -651,19 +651,28 @@ impl SimpleComponent for App {
let web_cache = config.game.path.for_edition(config.launcher.edition) let web_cache = config.game.path.for_edition(config.launcher.edition)
.join(config.launcher.edition.data_folder()) .join(config.launcher.edition.data_folder())
.join("webCaches/Cache/Cache_Data/data_2"); .join("webCaches");
if !web_cache.exists() { // Find newest cache folder
tracing::error!("Couldn't find wishes URL: cache file doesn't exist"); let mut web_cache_id = None;
sender.input(AppMsg::Toast { if let Ok(entries) = web_cache.read_dir() {
title: tr("wish-url-search-failed"), for entry in entries.flatten() {
description: None if entry.path().is_dir() &&
}); entry.file_name().to_string_lossy().trim_matches(|c| "0123456789.".contains(c)).is_empty() &&
Some(entry.file_name()) > web_cache_id
{
web_cache_id = Some(entry.file_name());
}
}
} }
else { if let Some(web_cache_id) = web_cache_id {
match std::fs::read(&web_cache) { let web_cache = web_cache
.join(web_cache_id)
.join("Cache/Cache_Data/data_2");
match std::fs::read(web_cache) {
Ok(web_cache) => { Ok(web_cache) => {
let web_cache = String::from_utf8_lossy(&web_cache); let web_cache = String::from_utf8_lossy(&web_cache);
@ -702,6 +711,15 @@ impl SimpleComponent for App {
} }
} }
} }
else {
tracing::error!("Couldn't find wishes URL: cache file doesn't exist");
sender.input(AppMsg::Toast {
title: tr("wish-url-search-failed"),
description: None
});
}
})); }));
}))); })));
@ -873,9 +891,7 @@ impl SimpleComponent for App {
}); });
// Mark app as loaded // Mark app as loaded
unsafe { crate::READY.store(true, Ordering::Relaxed);
crate::READY = true;
}
tracing::info!("App is ready"); tracing::info!("App is ready");
}); });