This commit is contained in:
Observer KRypt0n_ 2023-08-19 10:52:58 +02:00
commit 5f7aece21d
No known key found for this signature in database
GPG key ID: 844DA47BA25FE1E2
43 changed files with 799 additions and 352 deletions

View file

@ -7,15 +7,29 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
### Added
- Added feature to map wine drives
- Added Portuguese
- Added `%launch_args%` magic word for game launching command.
Now you can use `%bash_command% <script> %launch_args%` to run custom script
- Added 4.0.0 voiceovers sizes
### Fixed
- Fixed logo size in the first run window
### Changed
- Updated Turkish
- Updated Italian
- Updated Japanese
- Updated Swedish
- Improved files migration code. In the best case scenarios, it will work immediately now
### Fixed
### Removed
- Fixed logo size in the first run window
- Removed patch integration
## [1.3.0] - 02.08.2023

258
Cargo.lock generated
View file

@ -30,17 +30,17 @@ dependencies = [
[[package]]
name = "aho-corasick"
version = "1.0.2"
version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41"
checksum = "6748e8def348ed4d14996fa801f4122cd763fff530258cdc03f64b25f89d3a5a"
dependencies = [
"memchr",
]
[[package]]
name = "anime-game-core"
version = "1.13.5"
source = "git+https://github.com/an-anime-team/anime-game-core?tag=1.13.5#11e48e47563acf97a6885d3cc369875031dc5f61"
version = "1.15.0"
source = "git+https://github.com/an-anime-team/anime-game-core?tag=1.15.0#e34a35e04dd97d8268e47769f82591100b3354ae"
dependencies = [
"anyhow",
"bzip2",
@ -64,8 +64,8 @@ dependencies = [
[[package]]
name = "anime-launcher-sdk"
version = "1.8.13"
source = "git+https://github.com/an-anime-team/anime-launcher-sdk?tag=1.8.13#1669dceafce3eaa3e9332fb4ac6ff78ea9fb1639"
version = "1.11.0"
source = "git+https://github.com/an-anime-team/anime-launcher-sdk?tag=1.11.0#b858205ca74d3ce930d0d6cd36eb0b9dc749a7a7"
dependencies = [
"anime-game-core",
"anyhow",
@ -121,9 +121,9 @@ dependencies = [
[[package]]
name = "anstyle-wincon"
version = "1.0.1"
version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "180abfa45703aebe0093f79badacc01b8fd4ea2e35118747e5811127f926e188"
checksum = "c677ab05e09154296dd37acecd46420c17b9713e8366facafa8fc0885167cf4c"
dependencies = [
"anstyle",
"windows-sys",
@ -131,9 +131,9 @@ dependencies = [
[[package]]
name = "anyhow"
version = "1.0.72"
version = "1.0.75"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3b13c32d80ecc7ab747b80c3784bce54ee8a7a0cc4fbda9bf4cda2cf6fe90854"
checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6"
dependencies = [
"backtrace",
]
@ -246,9 +246,9 @@ dependencies = [
[[package]]
name = "async-lock"
version = "2.7.0"
version = "2.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fa24f727524730b077666307f2734b4a1a1c57acb79193127dcc8914d5242dd7"
checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b"
dependencies = [
"event-listener",
]
@ -279,7 +279,7 @@ checksum = "0e97ce7de6cf12de5d7226c73f5ba9811622f4db3a5b91b55c53e987e5f91cba"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.28",
"syn 2.0.29",
]
[[package]]
@ -316,13 +316,13 @@ checksum = "ecc7ab41815b3c653ccd2978ec3255c81349336702dfdf62ee6f7069b12a3aae"
[[package]]
name = "async-trait"
version = "0.1.72"
version = "0.1.73"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cc6dde6e4ed435a4c1ee4e73592f5ba9da2151af10076cc04858746af9352d09"
checksum = "bc00ceb34980c03614e35a3a4e218276a0a824e911d07651cd0d858a51e8c0f0"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.28",
"syn 2.0.29",
]
[[package]]
@ -378,9 +378,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
[[package]]
name = "bitflags"
version = "2.3.3"
version = "2.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42"
checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635"
[[package]]
name = "block"
@ -518,9 +518,9 @@ dependencies = [
[[package]]
name = "cc"
version = "1.0.81"
version = "1.0.82"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6c6b2562119bf28c3439f7f02db99faf0aa1a8cdfe5772a2ee155d32227239f0"
checksum = "305fe645edc1442a0fa8b6726ba61d422798d37a52e12eaecf4b022ebbb88f01"
dependencies = [
"jobserver",
"libc",
@ -697,9 +697,9 @@ dependencies = [
[[package]]
name = "deranged"
version = "0.3.6"
version = "0.3.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8810e7e2cf385b1e9b50d68264908ec367ba642c96d02edfe61c39e88e2a3c01"
checksum = "7684a49fb1af197853ef7b2ee694bc1f5b4179556f1e5710e1760c5db6f5e929"
[[package]]
name = "derivative"
@ -749,7 +749,7 @@ checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.28",
"syn 2.0.29",
]
[[package]]
@ -786,7 +786,7 @@ dependencies = [
"num-traits",
"proc-macro2",
"quote",
"syn 2.0.28",
"syn 2.0.29",
]
[[package]]
@ -807,7 +807,7 @@ checksum = "5e9a1f9f7d83e59740248a6e14ecf93929ade55027844dfcea78beafccc15745"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.28",
"syn 2.0.29",
]
[[package]]
@ -870,21 +870,21 @@ dependencies = [
[[package]]
name = "filetime"
version = "0.2.21"
version = "0.2.22"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5cbc844cecaee9d4443931972e1289c8ff485cb4cc2767cb03ca139ed6885153"
checksum = "d4029edd3e734da6fe05b6cd7bd2960760a616bd2ddd0d59a0124746d6272af0"
dependencies = [
"cfg-if",
"libc",
"redox_syscall 0.2.16",
"redox_syscall",
"windows-sys",
]
[[package]]
name = "flate2"
version = "1.0.26"
version = "1.0.27"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3b9429470923de8e8cbd4d2dc513535400b4b3fef0319fb5c4e1f520a7bef743"
checksum = "c6c98ee8095e9d1dcbf2fcc6d95acccb90d1c81db1e44725c6a984b1dbdfb010"
dependencies = [
"crc32fast",
"miniz_oxide",
@ -1084,7 +1084,7 @@ checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.28",
"syn 2.0.29",
]
[[package]]
@ -1264,9 +1264,9 @@ dependencies = [
[[package]]
name = "glib-build-tools"
version = "0.17.10"
version = "0.18.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7a65d79efe318ef2cbbbb37032b125866fd82c34ea44c816132621bbc552e716"
checksum = "3431c56f463443cba9bc3600248bc6d680cb614c2ee1cdd39dab5415bd12ac5c"
[[package]]
name = "glib-macros"
@ -1295,9 +1295,9 @@ dependencies = [
[[package]]
name = "globset"
version = "0.4.12"
version = "0.4.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "aca8bbd8e0707c1887a8bbb7e6b40e228f251ff5d62c8220a4a7a53c73aff006"
checksum = "759c97c1e17c55525b57192c06a267cda0ac5210b222d6b82189a2338fa1c13d"
dependencies = [
"aho-corasick",
"bstr",
@ -1626,7 +1626,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b"
dependencies = [
"hermit-abi",
"rustix 0.38.6",
"rustix 0.38.8",
"windows-sys",
]
@ -1748,9 +1748,9 @@ dependencies = [
[[package]]
name = "log"
version = "0.4.19"
version = "0.4.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4"
checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
dependencies = [
"value-bag",
]
@ -1787,9 +1787,9 @@ dependencies = [
[[package]]
name = "md5-asm"
version = "0.5.0"
version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "73b9a6f25ec11ea27e22d7fc8beafda909da44ece95f63e94f1eeb23d19bb5c7"
checksum = "61d33bc4cdfe5c60340e282bbbee0a6e2bc57f0b9279bb3489c5004d12492e5c"
dependencies = [
"cc",
]
@ -1971,9 +1971,9 @@ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
[[package]]
name = "open"
version = "4.2.0"
version = "5.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3a083c0c7e5e4a8ec4176346cf61f67ac674e8bfb059d9226e1c54a96b377c12"
checksum = "cfabf1927dce4d6fdf563d63328a0a506101ced3ec780ca2135747336c98cef8"
dependencies = [
"is-wsl",
"libc",
@ -2063,9 +2063,9 @@ checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447"
dependencies = [
"cfg-if",
"libc",
"redox_syscall 0.3.5",
"redox_syscall",
"smallvec",
"windows-targets 0.48.1",
"windows-targets 0.48.5",
]
[[package]]
@ -2105,29 +2105,29 @@ checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94"
[[package]]
name = "pin-project"
version = "1.1.2"
version = "1.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "030ad2bc4db10a8944cb0d837f158bdfec4d4a4873ab701a95046770d11f8842"
checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422"
dependencies = [
"pin-project-internal",
]
[[package]]
name = "pin-project-internal"
version = "1.1.2"
version = "1.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ec2e072ecce94ec471b13398d5402c188e76ac03cf74dd1a975161b23a3f6d9c"
checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.28",
"syn 2.0.29",
]
[[package]]
name = "pin-project-lite"
version = "0.2.10"
version = "0.2.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4c40d25201921e5ff0c862a505c6557ea88568a4e3ace775ab55e93f2f4f9d57"
checksum = "12cc1b0bf1727a77a54b6654e7b5f1af8604923edc8b81885f8ec92f9e3f0a05"
[[package]]
name = "pin-utils"
@ -2220,9 +2220,9 @@ dependencies = [
[[package]]
name = "quote"
version = "1.0.32"
version = "1.0.33"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "50f3b39ccfb720540debaa0164757101c08ecb8d326b15358ce76a62c7e85965"
checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
dependencies = [
"proc-macro2",
]
@ -2285,15 +2285,6 @@ dependencies = [
"num_cpus",
]
[[package]]
name = "redox_syscall"
version = "0.2.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
dependencies = [
"bitflags 1.3.2",
]
[[package]]
name = "redox_syscall"
version = "0.3.5"
@ -2305,9 +2296,9 @@ dependencies = [
[[package]]
name = "regex"
version = "1.9.1"
version = "1.9.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575"
checksum = "81bc1d4caf89fac26a70747fe603c130093b53c773888797a6329091246d651a"
dependencies = [
"aho-corasick",
"memchr",
@ -2317,9 +2308,9 @@ dependencies = [
[[package]]
name = "regex-automata"
version = "0.3.4"
version = "0.3.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b7b6d6190b7594385f61bd3911cd1be99dfddcfc365a4160cc2ab5bff4aed294"
checksum = "fed1ceff11a1dddaee50c9dc8e4938bd106e9d89ae372f192311e7da498e3b69"
dependencies = [
"aho-corasick",
"memchr",
@ -2334,9 +2325,9 @@ checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2"
[[package]]
name = "relm4"
version = "0.6.0"
version = "0.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c80ef6bb7a142b6aaa01b96961c33127fffcda4741eb0ad82f07e18c9186681d"
checksum = "813306b9bc23e2f1e719801eb9aa59e4c2f96830be951a6168ad0c53363c6196"
dependencies = [
"async-trait",
"flume",
@ -2352,13 +2343,13 @@ dependencies = [
[[package]]
name = "relm4-macros"
version = "0.6.0"
version = "0.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "848a6e1b4954b7aa8155d4a234516d46ed543a614666adc1ea73a922bc841e2a"
checksum = "8ad8d946cf33654b1df3e2e7d1c4952a154f008368cdda03a99c1840a6fcab3b"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.28",
"syn 2.0.29",
]
[[package]]
@ -2438,11 +2429,11 @@ dependencies = [
[[package]]
name = "rustix"
version = "0.38.6"
version = "0.38.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1ee020b1716f0a80e2ace9b03441a749e402e86712f15f16fe8a8f75afac732f"
checksum = "19ed4fa021d81c8392ce04db050a3da9a60299050b7ae1cf482d862b54a7218f"
dependencies = [
"bitflags 2.3.3",
"bitflags 2.4.0",
"errno",
"libc",
"linux-raw-sys 0.4.5",
@ -2559,29 +2550,29 @@ checksum = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918"
[[package]]
name = "serde"
version = "1.0.180"
version = "1.0.171"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0ea67f183f058fe88a4e3ec6e2788e003840893b91bac4559cabedd00863b3ed"
checksum = "30e27d1e4fd7659406c492fd6cfaf2066ba8773de45ca75e855590f856dc34a9"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
version = "1.0.180"
version = "1.0.171"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "24e744d7782b686ab3b73267ef05697159cc0e5abbed3f47f9933165e5219036"
checksum = "389894603bd18c46fa56231694f8d827779c0951a667087194cf9de94ed24682"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.28",
"syn 2.0.29",
]
[[package]]
name = "serde_json"
version = "1.0.104"
version = "1.0.105"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "076066c5f1078eac5b722a31827a8832fe108bed65dfa75e233c89f8206e976c"
checksum = "693151e1ac27563d6dbcec9dee9fbd5da8539b20fa14ad3752b2e6d363ace360"
dependencies = [
"itoa",
"ryu",
@ -2596,7 +2587,7 @@ checksum = "8725e1dfadb3a50f7e5ce0b1a540466f6ed3fe7a0fca2ac2b8b831d31316bd00"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.28",
"syn 2.0.29",
]
[[package]]
@ -2761,9 +2752,9 @@ dependencies = [
[[package]]
name = "syn"
version = "2.0.28"
version = "2.0.29"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "04361975b3f5e348b2189d8dc55bc942f278b2d482a6a0365de5bdd62d351567"
checksum = "c324c494eba9d92503e6f1ef2e6df781e78f6a7705a0202d9801b198807d518a"
dependencies = [
"proc-macro2",
"quote",
@ -2772,9 +2763,9 @@ dependencies = [
[[package]]
name = "sysinfo"
version = "0.29.7"
version = "0.29.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "165d6d8539689e3d3bc8b98ac59541e1f21c7de7c85d60dc80e43ae0ed2113db"
checksum = "d10ed79c22663a35a255d289a7fdcb43559fc77ff15df5ce6c341809e7867528"
dependencies = [
"cfg-if",
"core-foundation-sys",
@ -2800,9 +2791,9 @@ dependencies = [
[[package]]
name = "tar"
version = "0.4.39"
version = "0.4.40"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ec96d2ffad078296368d46ff1cb309be1c23c513b4ab0e22a45de0185275ac96"
checksum = "b16afcea1f22891c49a00c751c7b63b2233284064f11a200fc624137c51e2ddb"
dependencies = [
"filetime",
"libc",
@ -2817,35 +2808,35 @@ checksum = "9d0e916b1148c8e263850e1ebcbd046f333e0683c724876bb0da63ea4373dc8a"
[[package]]
name = "tempfile"
version = "3.7.0"
version = "3.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5486094ee78b2e5038a6382ed7645bc084dc2ec433426ca4c3cb61e2007b8998"
checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef"
dependencies = [
"cfg-if",
"fastrand 2.0.0",
"redox_syscall 0.3.5",
"rustix 0.38.6",
"redox_syscall",
"rustix 0.38.8",
"windows-sys",
]
[[package]]
name = "thiserror"
version = "1.0.44"
version = "1.0.47"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "611040a08a0439f8248d1990b111c95baa9c704c805fa1f62104b39655fd7f90"
checksum = "97a802ec30afc17eee47b2855fc72e0c4cd62be9b4efe6591edde0ec5bd68d8f"
dependencies = [
"thiserror-impl",
]
[[package]]
name = "thiserror-impl"
version = "1.0.44"
version = "1.0.47"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "090198534930841fab3a5d1bb637cde49e339654e606195f8d9c76eeb081dc96"
checksum = "6bb623b56e39ab7dcd4b1b98bb6c8f8d907ed255b18de254088016b27a8ee19b"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.28",
"syn 2.0.29",
]
[[package]]
@ -2860,9 +2851,9 @@ dependencies = [
[[package]]
name = "time"
version = "0.3.24"
version = "0.3.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b79eabcd964882a646b3584543ccabeae7869e9ac32a46f6f22b7a5bd405308b"
checksum = "a79d09ac6b08c1ab3906a2f7cc2e81a0e27c7ae89c63812df75e52bef0751e07"
dependencies = [
"deranged",
"serde",
@ -2901,11 +2892,10 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
[[package]]
name = "tokio"
version = "1.29.1"
version = "1.32.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "532826ff75199d5833b9d2c5fe410f29235e25704ee5f0ef599fb51c21f4a4da"
checksum = "17ed6077ed6cd6c74735e21f37eb16dc3935f96878b1fe961074089cc80893f9"
dependencies = [
"autocfg",
"backtrace",
"num_cpus",
"parking_lot",
@ -2921,7 +2911,7 @@ checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.28",
"syn 2.0.29",
]
[[package]]
@ -2978,7 +2968,7 @@ checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.28",
"syn 2.0.29",
]
[[package]]
@ -3220,7 +3210,7 @@ dependencies = [
"once_cell",
"proc-macro2",
"quote",
"syn 2.0.28",
"syn 2.0.29",
"wasm-bindgen-shared",
]
@ -3254,7 +3244,7 @@ checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.28",
"syn 2.0.29",
"wasm-bindgen-backend",
"wasm-bindgen-shared",
]
@ -3356,7 +3346,7 @@ version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
dependencies = [
"windows-targets 0.48.1",
"windows-targets 0.48.5",
]
[[package]]
@ -3376,17 +3366,17 @@ dependencies = [
[[package]]
name = "windows-targets"
version = "0.48.1"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f"
checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
dependencies = [
"windows_aarch64_gnullvm 0.48.0",
"windows_aarch64_msvc 0.48.0",
"windows_i686_gnu 0.48.0",
"windows_i686_msvc 0.48.0",
"windows_x86_64_gnu 0.48.0",
"windows_x86_64_gnullvm 0.48.0",
"windows_x86_64_msvc 0.48.0",
"windows_aarch64_gnullvm 0.48.5",
"windows_aarch64_msvc 0.48.5",
"windows_i686_gnu 0.48.5",
"windows_i686_msvc 0.48.5",
"windows_x86_64_gnu 0.48.5",
"windows_x86_64_gnullvm 0.48.5",
"windows_x86_64_msvc 0.48.5",
]
[[package]]
@ -3397,9 +3387,9 @@ checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
[[package]]
name = "windows_aarch64_gnullvm"
version = "0.48.0"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
[[package]]
name = "windows_aarch64_msvc"
@ -3409,9 +3399,9 @@ checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
[[package]]
name = "windows_aarch64_msvc"
version = "0.48.0"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
[[package]]
name = "windows_i686_gnu"
@ -3421,9 +3411,9 @@ checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
[[package]]
name = "windows_i686_gnu"
version = "0.48.0"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
[[package]]
name = "windows_i686_msvc"
@ -3433,9 +3423,9 @@ checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
[[package]]
name = "windows_i686_msvc"
version = "0.48.0"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
[[package]]
name = "windows_x86_64_gnu"
@ -3445,9 +3435,9 @@ checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
[[package]]
name = "windows_x86_64_gnu"
version = "0.48.0"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
[[package]]
name = "windows_x86_64_gnullvm"
@ -3457,9 +3447,9 @@ checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
[[package]]
name = "windows_x86_64_gnullvm"
version = "0.48.0"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
[[package]]
name = "windows_x86_64_msvc"
@ -3469,24 +3459,24 @@ checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
[[package]]
name = "windows_x86_64_msvc"
version = "0.48.0"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
[[package]]
name = "winnow"
version = "0.5.3"
version = "0.5.14"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f46aab759304e4d7b2075a9aecba26228bb073ee8c50db796b2c72c676b5d807"
checksum = "d09770118a7eb1ccaf4a594a221334119a44a814fcb0d31c5b85e83e97227a97"
dependencies = [
"memchr",
]
[[package]]
name = "xattr"
version = "0.2.3"
version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6d1526bbe5aaeb5eb06885f4d987bcdfa5e23187055de9b83fe00156a821fabc"
checksum = "f4686009f71ff3e5c4dbcf1a282d0a44db3f021ba69350cd42086b3e5f1c6985"
dependencies = [
"libc",
]

View file

@ -15,11 +15,11 @@ lto = true
opt-level = "s"
[build-dependencies]
glib-build-tools = "0.17"
glib-build-tools = "0.18"
[dependencies.anime-launcher-sdk]
git = "https://github.com/an-anime-team/anime-launcher-sdk"
tag = "1.8.13"
tag = "1.11.0"
features = ["all", "star-rail", "star-rail-patch"]
# path = "../anime-launcher-sdk" # ! for dev purposes only
@ -30,7 +30,7 @@ gtk = { package = "gtk4", version = "0.6", features = ["v4_8"] }
adw = { package = "libadwaita", version = "0.4", features = ["v1_2"] }
rfd = { version = "0.11", features = ["xdg-portal"], default-features = false }
open = "4.0"
open = "5.0.0"
whatadistro = "0.1.0"
serde_json = "1.0"

View file

@ -26,3 +26,4 @@ zh-cn = 简体中文
ja-jp = 日本語
hu-hu = Magyar
sv-se = Svenska
pt-br = Português

View file

@ -14,6 +14,12 @@ system = System
borderless-window = Randloses Fenster
virtual-desktop = Virtueller Desktop
map-drive-c = Laufwerk C: abbilden
map-drive-c-description = Symlink den drive_c ordner vom Wine-Prefix automatisch zu den DOS-Geräten
map-game-folder = Spielordner abbilden
map-game-folder-description = Symlink den Spielordner automatisch zu den DOS-Geräten
game = Spiel
hud = HUD

View file

@ -14,6 +14,12 @@ system = System
borderless-window = Borderless window
virtual-desktop = Virtual desktop
map-drive-c = Map drive C:
map-drive-c-description = Automatically symlink drive_c folder from the wine prefix to the dosdevices
map-game-folder = Map game folder
map-game-folder-description = Automatically symlink game folder to the dosdevices
game = Game
hud = HUD

View file

@ -14,6 +14,12 @@ system = Sistema
borderless-window = Ventana sin bordes
virtual-desktop = Escritorio virtual
map-drive-c = Map drive C:
map-drive-c-description = Automatically symlink drive_c folder from the wine prefix to the dosdevices
map-game-folder = Map game folder
map-game-folder-description = Automatically symlink game folder to the dosdevices
game = Juego
hud = HUD

View file

@ -14,6 +14,12 @@ system = Système
borderless-window = Utiliser une fenêtre sans bordure
virtual-desktop = Bureau virtuel
map-drive-c = Map drive C:
map-drive-c-description = Automatically symlink drive_c folder from the wine prefix to the dosdevices
map-game-folder = Map game folder
map-game-folder-description = Automatically symlink game folder to the dosdevices
game = Jeu
hud = HUD

View file

@ -14,6 +14,12 @@ system = Rendszer
borderless-window = Kerettelen ablak(borderless)
virtual-desktop = Virtuális asztal
map-drive-c = Map drive C:
map-drive-c-description = Automatically symlink drive_c folder from the wine prefix to the dosdevices
map-game-folder = Map game folder
map-game-folder-description = Automatically symlink game folder to the dosdevices
game = Játék
hud = HUD

View file

@ -14,6 +14,12 @@ system = Sistem
borderless-window = window tanpa border
virtual-desktop = Desktop virtual
map-drive-c = Petakan drive C:
map-drive-c-description = Otomatis menghubungkan folder drive_c secara simbolik dari prefiks wine ke dosdevices
map-game-folder = Petakan folder game
map-game-folder-description = Otomatis menghubungkan folder game secara simbolik ke dosdevices
game = Game
hud = HUD

View file

@ -14,6 +14,12 @@ system = Sistema
borderless-window = Finestra senza bordi
virtual-desktop = Desktop virtuale
map-drive-c = Mappa disco C:
map-drive-c-description = Crea automaticamente un collegamento simbolico dalla cartella drive_c del prefisso di Wine a dosdevices
map-game-folder = Mappa cartella del gioco
map-game-folder-description = Crea automaticamente un collegamento simbolico dalla cartella del gioco a dosdevices
game = Gioco
hud = HUD

View file

@ -14,6 +14,12 @@ system = システム
borderless-window = ボーダーレスウィンドウ
virtual-desktop = 仮想デスクトップ
map-drive-c = Cドライブを作成する
map-drive-c-description = DOSデバイスに、WineプレフィックスのCドライブのソフトリンクを自動的に作成します
map-game-folder = ゲームフォルダを作成する。
map-game-folder-description = DOSデバイスにゲームフォルダのソフトリンクを自動的に作成します
game = ゲーム
hud = HUD

View file

@ -0,0 +1,20 @@
components = Componentes
components-description = Configure suas versões Wine e DXVK
selected-version = Versão selecionada
recommended-only = Exclusivamente recomendada
wine-version = Versão Wine
wine-recommended-description = Mostrar somente versões wine recomendadas
wine-options = Opções Wine
wine-use-shared-libraries = Use libraries wine compartilhadas
wine-use-shared-libraries-description = sete variável LD_LIBRARY_PATH para carregar libraries do sistema da build wine selecionada
gstreamer-use-shared-libraries = Use libraries gstreamer compartilhadas
gstreamer-use-shared-libraries-description = Sete variável GST_PLUGIN_PATH para carregar libraries do gstreamer da build wine selecionada
dxvk-version = Versão DXVK
dxvk-selection-disabled = Seleção DXVK está desativada pelas suas preferências de grupo wine
dxvk-recommended-description = Mostrar somente versões dxvk recomendadas

View file

@ -0,0 +1,69 @@
game-settings-description = Configure opções de jogo e sessão de conta
sandbox-settings-description = Rode o jogo em uma sandbox, similar ao que Flatpak faz
environment-settings-description = Especifique variáveis de contexto e comandos de inicialização do jogo
wine = Wine
synchronization = Sincronização
wine-sync-description = Tecnologia usada para sincronizar eventos internos wine
language = Idioma
wine-lang-description = Idioma usado no contexto wine. Pode consertar problemas no layout do teclado
system = Sistema
borderless-window = Janela sem borda
virtual-desktop = Área de trabalho virtual
map-drive-c = Map drive C:
map-drive-c-description = Automatically symlink drive_c folder from the wine prefix to the dosdevices
map-game-folder = Map game folder
map-game-folder-description = Automatically symlink game folder to the dosdevices
game = Jogo
hud = HUD
fsr = FSR
fsr-description = Upscales game to your monitor size. To use select lower resolution in the game's settings and press Alt+Enter
ultra-quality = Ultra qualidade
quality = Qualidade
balanced = Balanceado
performance = Desempenho
gamemode = Gamemode
gamemode-description = Priorize o jogo sobre o resto dos processos
gamescope = Gamescope
gamescope-description = Gamescope é uma feramenta da Valve que permite jogos rodarem em uma instância isolada Xwayland e suporta GPUs AMD, Intel e Nvidia
discord-rpc = Discord RPC
discord-rpc-description = Discord RPC permite que tu providencie ao Discord a informação que está jogando para seus amigos saberem
icon = Ícone
title = Título
description = Descrição
fps-unlocker = Desbloqueador de FPS
enabled = Habilitado
fps-unlocker-description = Remove a limitação de renderização de frames modificando a memória do jogo. Pode ser detectado pelo anti-cheat
power-saving = Economia de energia
power-saving-description = Automaticamente seta o FPS limite para 10 e diminui prioridade do processo ao perder o foco do jogo (e.g. trocando janelas)
monitor = Monitor
monitor-description = Número do monitor que tu quer rodar o jogo
window-mode = Modo janela
borderless = Sem borda
popup = Popup
fullscreen = Tela cheia
priority = Prioridade
priority-description = Prioridade do processo do jogo
realtime = Tempo real
high = Alta
above-normal = Acima do normal
normal = Normal
below-normal = Abaixo do normal
low = Baixa

View file

@ -0,0 +1,7 @@
environment = Contexto
game-command = Comando de jogo
game-command-description = Comando usado para iniciar o jogo. %command% é gerado automaticamente pelo launcher. Por exemplo: gamemoderun '%command%'
new-variable = Nova variável
name = Nome
value = Valor
add = Adicionar

View file

@ -0,0 +1,66 @@
launcher-folder-opening-error = Falha ao abrir pasta do launcher
game-folder-opening-error = Falha ao abrir pasta do jogo
config-file-opening-error = Falha ao abrir arquivo de configuração
debug-file-opening-error = Falha ao abrir arquivo de debug
wish-url-search-failed = Nenhuma url de desejos encontrada
wish-url-opening-error = Erro ao abrir url de desejos
wine-run-error = Falha ao rodar {$executable} executável usando wine
game-launching-failed = Falha ao iniciar jogo
failed-get-selected-wine = Falha ao pegar versão wine selecionada
downloading-failed = Falha ao baixar
unpacking-failed = Falha na extração
kill-game-process-failed = Falha ao terminar o processo do jogo
game-file-repairing-error = Falha ao reparar os arquivos do jogo
integrity-files-getting-error = Falha ao pegar os arquivos de integridade
background-downloading-failed = Falha ao baixar a imagem de fundo
components-index-sync-failed = Falha ao sincronizar o índice de componentes
components-index-verify-failed = Falha ao verificar o índice de componentes
config-update-error = Falha ao salvar configurações
wine-prefix-update-failed = Falha ao atualizar o prefixo wine
dxvk-install-failed = Falha ao instalar DXVK
voice-package-deletion-error = Falha ao deletar o pacote de vozes
game-diff-finding-error = Falha ao encontrar diff do jogo
patch-info-fetching-error = Falha ao pegar info do patch
launcher-state-updating-error = Falha ao atualizar estado do launcher
package-not-available = Pacote não está disponível: {$package}
wine-download-error = Falha ao baixar wine
wine-unpack-errror = Falha ao extrair wine
wine-install-failed = Falha ao instalar wine
dxvk-download-error = Falha ao baixar DXVK
dxvk-unpack-error = Falha ao extrair DXVK
dxvk-apply-error = Falha ao aplicar DXVK
downloaded-wine-list-failed = Falha ao listar versões wine
patch-sync-failed = Falha ao sincronizar pasta do patch
patch-state-check-failed = Falha ao checar estado da pasta do patch
game-patching-error = Falha ao patchear jogo
# Desativar telemetria
telemetry-servers-disabling-error = Falha ao desativar os servidores de telemetria
# Sandbox
documentation-url-open-failed = Falha ao abrir o url da documentação
# Jogo
game-session-add-failed = Falha ao adicionar sessão do jogo
game-session-update-failed = Falha ao atualizar sessão do jogo
game-session-remove-failed = Falha ao remover sessão do jogo
game-session-set-current-failed = Falha ao setar sessão atual do jogo
game-session-apply-failed = Falha ao aplicar sessão do jogo
# Melhorias
discord-rpc-icons-fetch-failed = Falha ao pegar ícones do Discord RPC
discord-rpc-icon-download-failed = Falha ao baixar ícones do Discord RPC

View file

@ -0,0 +1,65 @@
welcome = Bem-vindo
welcome-page-message =
Olá! Seja bem-vindo An Anime Game Launcher
Precisamos preparar algumas coisas e baixar componentes padrões antes de poder rodar o jogo
tos-violation-warning = Aviso de violação dos TdS
tos-violation-warning-message =
Esse launcher é uma ferramenta não oficial, de nenhuma forma relacionada à {company-name} nem {company-alter-name}.
Essa ferramenta foi feita para facilitar jogar {game-name} no Linux, e foi construida com o único propósito de instalar e rodar o jogo com menos complicação.
Fazemos isso usando componentes existentes e fazendo a experiência mais simples para o usuário.
Porém, alguns componentes usados aqui provavelmente quebram os Termos de Serviço da {company-name} para {game-name}.
Se está usando esse launcher, sua conta de jogador pode ser identificada como desconforme pela {company-name}/{company-alter-name}.
Se isso acontecer, como sua conta estaria desobedecendo os Termos de Serviço, {company-name}/{company-alter-name} são livres para fazerem o que quiserem. Incluindo banir.
Se entende o risco de tentar jogar o jogo em capacidade não oficial, aperte OK para continuar
tos-dialog-title = Tem certeza que entende o que queremos dizer?
tos-dialog-message =
1. Não publique informação sobre esse projeto
2. Não abuse usando clientes modados
3. Pergunte somente em nossos servidores discord ou matrix
dependencies = Dependências
missing-dependencies-title = Algumas dependências estão faltando!
missing-dependencies-message = Instale alguns pacotes no seu sistema antes de continuar o processo de instalação
default-paths = Caminho padrão
choose-default-paths = escolha caminho padrão
show-all-folders = Eu sei o que estou fazendo
show-all-folders-subtitle = Mostre configuração de seleção de caminho adicional. Faça como eu digo...
runners-folder = Pasta dos Runners
dxvks-folder = Pasta dos DXVKs
wine-prefix-folder = Pasta dos prefixos Wine
global-game-installation-folder = Pasta de instalação da versão global
chinese-game-installation-folder = Pasta de instalação da versão chinesa
fps-unlocker-folder = Pasta do desbloqueador de FPS
components-index = Índice de componentes
patch-folder = Pasta do patch
temp-folder = Pasta do temp
migrate = Migrar
select-voice-packages = Selecione pacotes de voz
download-components = Baixar componentes
download-dxvk = Baixar DXVK
apply-dxvk = Aplicar DXVK
finish = Feito
finish-title = Está tudo feito!
finish-message = Todos os componentes base foram baixados. Pode agora reiniciar o launcher e baixar o jogo. Bem-vindo ao clube!

View file

@ -0,0 +1,7 @@
game-sessions = Sessões de jogo
active-sessions = Sessão ativa
active-session-description = Sessão de jogo atualmente selecionada. Atualizar após todo início de jogo
update-session = Atualizar sesssão usando versão atual dos valores de registor do prefixo wine
delete-session = Deletar sessão

View file

@ -0,0 +1,13 @@
game-resolution = Resolução de jogo
gamescope-resolution = Resolução gamescope
upscaling = Upscaling
integer-scaling = Escalamento inteiro
integer-scaling-description = Torna cada pixel em um grupo de números inteiros de mesma cor em forma de quadrado ou retângulo. Previne a perda de nitidez quando escalando Full HD para 4K
gamescope-fsr-description = Uma técnica de upscaling de código aberto desenvolvida pela AMD para melhor qualidade
nis-description = Uma técnica de upscaling de código aberto desenvolvida pela Nvidia como uma alternativa á solução DLSS proprietária, significa que funciona em GPUs AMD, Intel e Nvidia
other-settings = Outras configuraões
framerate-limit = Limite de taxa de quadros
unfocused-framerate-limit = Limite de taxa de quadros desfocado

View file

@ -0,0 +1,69 @@
appearance = Aparência
modern = Moderna
classic = Classica
update-background = Atualizar imagem de fundo
update-background-description = Baixar foto oficial de fundo para o launcher. Pode desativar para usar sua própria imagem personalizada
launcher-language = Idioma do launcher
launcher-language-description = Aplicado após reiniciar
game-edition = Edição do jogo
global = Global
china = China
game-environment = Contexto de jogo
game-environment-description = Acesse funcionalidades específicas como métodos de pagamento adicionais
game-voiceovers = Pacotes de voz do jogo
game-voiceovers-description = Lista de pacotes de voz baixados. Pode acessá-los nas configurações do jogo
english = Inglês
japanese = Japonês
korean = Coreano
chinese = Chinês
migrate-installation = Migrar instalação
migrate-installation-description = Abra janela especial onde pide mudar a pasta de instalação
repair-game = Reparar jogo
status = Status
game-version = Versão de jogo
game-not-installed = Não instalado
game-predownload-available = Pré-baixa da atualização do jogo disponível: {$old} -> {$new}
game-update-available = Atualização de jogo disponível: {$old} -> {$new}
game-outdated = Jogo está muito ultrapassado e não pode ser atualizado. Última versão: {$latest}
player-patch-version = Versão do patch do jogador
player-patch-version-description = Patch principal que permite jogar no linux
patch-not-available = Não disponível
patch-not-available-tooltip = Servidores do patch estão inalcançáveis
patch-outdated = Ultrapassado ({$current})
patch-outdated-tooltip = Patch está ultrapassado: {$current} -> {$latest}
patch-preparation = preparação
patch-preparation-tooltip = Patch está em desenvolvimento
patch-testing-tooltip = Patch teste está disponível
patch-not-applied-tooltip = Patch não está aplicado
apply-main-patch = Aplicar patch principal
apply-main-patch-description = Experimental. Desativar isso permite jogar o jogo sem aplicar o patch. Isso pode não funcionar, ou requer modificações de arquivo manuais. Use se sabe o que está fazendo
disable-mhypbase = Desative mhypbase
disable-mhypbase-description = Experimental. Se ativado, o launcher ira desativar mhypbase.dll durante a aplicação do patch principal, que é atualmente equivalente ao patch xlua. melhora performance e reduz uso da CPU
ask-superuser-permissions = Pede permissão de superusuário
ask-superuser-permissions-description = Launcher irá usa-lo para atualizar automaticamente os arquivos. Isso não é necessário na edição flatpak
launcher-behavior = Comportamento do launcher
launcher-behavior-description = O que a janela do launcher deve fazer ao abrir o jogo
wine-tools = Ferramentas wine
command-line = Linha de comando
registry-editor = Editor de registro
explorer = Explorador
task-manager = Gerenciador de tarefas
configuration = Configuração
debugger = Debugador

View file

@ -0,0 +1,75 @@
custom = Customizado
none = Nenhum
default = Padrão
details = Detalhes
options = Opções
width = Largura
height = Altura
# Menu items
launcher-folder = Pasta do launcher
game-folder = Pasta do jogo
config-file = Arquivo de configuração
debug-file = Arquivo de debugação
wish-url = Abrir desejos
about = Sobre
close = Fechar
hide = Esconder
nothing = Nada
save = Salvar
continue = Continuar
resume = Resumir
exit = Sair
check = Checar
restart = Reiniciar
agree = Concordar
loading-data = Carregando dados
downloading-background-picture = Baixando imagem de fundo
updating-components-index = Atualizando índice de componentes
loading-game-version = Carregando versão do jogo
loading-patch-status = Carregando status do patch
loading-launcher-state = Carregando status do launcher
loading-launcher-state--game = Loading launcher state: verificando versão do jogo
loading-launcher-state--voice = Loading launcher state: verificando pacote de voz {$locale}
loading-launcher-state--patch = Loading launcher state: verificando patch instalado
checking-free-space = Checando espaço livre
downloading = Baixando
unpacking = Extraindo
verifying-files = Verificando arquivos
repairing-files = Reparando arquivos
migrating-folders = Migrando pastas
applying-hdiff = Aplicando patches hdiff
removing-outdated = Removendo arquivos velhos
components-index-updated = Índice de componentes foi atualizado
launch = Iniciar
migrate-folders = Migrar pastas
migrate-folders-tooltip = Atualizar estrutura dos arquivos de jogo
apply-patch = Aplicar patch
disable-telemetry = Desativar telemetria
download-wine = Baixar wine
create-prefix = Criar prefixo
update = Atualizar
download = Baixar
predownload-update = Pre-baixar {$version} atualização ({$size})
kill-game-process = Terminar processo de jogo
main-window--patch-unavailable-tooltip = Servidores do patch estão indisponíveis e launcher não pode verificar o estado do patch de jogo. Pode jogar o jogo por sua conta e risco
main-window--patch-outdated-tooltip = Patch é antigo ou em estado de preparação, então indisponível para uso. Volte depois para checar seu estado
main-window--version-outdated-tooltip = Versão é antiga e não pode ser atualizada
preferences = Preferências
general = Geral
enhancements = Melhorias

View file

@ -0,0 +1,28 @@
sandbox = Sandbox
sandbox-description = Rode o jogo em um ambiente isolado, prevenindo-o de acessar seus dados
enable-sandboxing = Habilitar sandboxing
enable-sandboxing-description = Rode o jogo em uma cópia somente leitura do seu sistema de arquivo root
hide-home-directory = Esconder pasta home
hide-home-directory-description = Isolar as suas pastas /home, /var/home/$USER e $HOME do jogo
hostname = Hostname
additional-arguments = Argumentos adicionais
private-directories = Pastas privadas
private-directories-description = Essas pastas serão substituidas por um sistema virtual (tmpfs), e seu conteúdo original não será disponível ao jogo
path = Caminho
shared-directories = Pastas compartilhadas
shared-directories-description = Essas pastas serão symlinkadas à pastas nos seu sistema host
original-path = Caminho original
new-path = Novo caminho
read-only = Apenas leitura
read-only-description = Proibir o jogo de escrever qualquer dado nessa pasta
symlinks = Symlinks
symlinks-description = Symlink o caminho original para o novo dentro da sandbox

View file

@ -14,6 +14,12 @@ system = Системный
borderless-window = Окно без рамок
virtual-desktop = Виртуальный рабочий стол
map-drive-c = Создавать диск C:
map-drive-c-description = Автоматически создавать ссылку на папку drive_c из префикса Wine в dosdevices
map-game-folder = Создавать диск с папкой игры
map-game-folder-description = Автоматически создавать ссылку на папку с игрой в dosdevices
game = Игра
hud = HUD

View file

@ -4,7 +4,7 @@ environment-settings-description = Ange miljövariabler och kommando för att st
wine = Wine
synchronization = Synkronisation
synchronization = Synkronisering
wine-sync-description = Teknik som används för att synkronisera inre händelser i Wine
language = Språk
@ -14,6 +14,12 @@ system = System
borderless-window = Kantlöst fönster
virtual-desktop = Virtuellt skrivbord
map-drive-c = Mappa hårddisk C:
map-drive-c-description = Symlänka automatiskt mappen drive_c från Wine-prefixet till dosdevices
map-game-folder = Mappa spelets mapp
map-game-folder-description = Symlänka automatiskt spelets mapp till dosdevices
game = Spel
hud = HUD

View file

@ -1,5 +1,5 @@
environment = Miljö
game-command = Spel-kommando
game-command = Spelkommandon
game-command-description = Kommando som används för att starta spelet. Platshållaren %command% genereras automatiskt av startprogrammet. Exempelvis: gamemoderun '%command%'
new-variable = Ny variabel
name = Namn

View file

@ -4,4 +4,4 @@ active-sessions = Aktiv session
active-session-description = För närvarande vald spelsession. Uppdateras efter varje spelstart
update-session = Uppdatera sessionen med aktuella registervärden för Wine-prefix
delete-session = Ta bort sessionen
delete-session = Radera sessionen

View file

@ -43,10 +43,10 @@ loading-launcher-state--patch = Laddar starthanterarens tillstånd: verifierar i
checking-free-space = Kontrollerar ledigt utrymme
downloading = Laddar ner
unpacking = Packar upp
verifying-files = Verifierar filerna
repairing-files = Reparerar filerna
migrating-folders = Migrerar mapparna
applying-hdiff = Applicerar hdiff-patcharna
verifying-files = Verifierar filer
repairing-files = Reparerar filer
migrating-folders = Migrerar mappar
applying-hdiff = Applicerar hdiff-patchar
removing-outdated = Tar bort utdaterade filer
@ -71,5 +71,5 @@ main-window--patch-outdated-tooltip = Patchen är utdaterad eller i förberedels
main-window--version-outdated-tooltip = Versionen är för utdaterad och kan inte uppdateras
preferences = Preferenser
general = Allmän
general = Allmänt
enhancements = Förbättringar

View file

@ -14,6 +14,12 @@ system = Sistem
borderless-window = Köşesiz Pencere
virtual-desktop = Sanal Masaüstü
map-drive-c = Map drive C:
map-drive-c-description = Automatically symlink drive_c folder from the wine prefix to the dosdevices
map-game-folder = Map game folder
map-game-folder-description = Automatically symlink game folder to the dosdevices
game = Oyun
hud = HUD

View file

@ -14,6 +14,12 @@ system = 系统
borderless-window = 无边框窗口
virtual-desktop = 虚拟桌面
map-drive-c = Map drive C:
map-drive-c-description = Automatically symlink drive_c folder from the wine prefix to the dosdevices
map-game-folder = Map game folder
map-game-folder-description = Automatically symlink game folder to the dosdevices
game = 游戏
hud = HUD

View file

@ -21,7 +21,8 @@ pub const SUPPORTED_LANGUAGES: &[LanguageIdentifier] = &[
langid!("zh-cn"),
langid!("ja-jp"),
langid!("hu-hu"),
langid!("sv-se")
langid!("sv-se"),
langid!("pt-br")
];
pub static mut LANG: LanguageIdentifier = langid!("en-us");

View file

@ -15,7 +15,7 @@ use anime_launcher_sdk::anime_game_core::star_rail::prelude::*;
use tracing_subscriber::prelude::*;
use tracing_subscriber::filter::*;
pub mod move_folder;
pub mod move_files;
pub mod i18n;
pub mod background;
pub mod ui;

31
src/move_files.rs Normal file
View file

@ -0,0 +1,31 @@
use std::path::Path;
use std::io::Result;
/// Move files from one folder to another
pub fn move_files(from: impl AsRef<Path>, to: impl AsRef<Path>) -> Result<()> {
for entry in from.as_ref().read_dir()?.flatten() {
let source = entry.path();
let target = to.as_ref().join(entry.file_name());
if std::fs::rename(&source, &target).is_err() {
if source.is_dir() {
std::fs::create_dir_all(&target)
.and_then(|_| move_files(&source, &target))
.and_then(|_| std::fs::remove_dir_all(&source))?;
}
else if source.is_symlink() {
std::fs::read_link(&source)
.and_then(|link_target| std::os::unix::fs::symlink(link_target, &target))
.and_then(|_| std::fs::remove_file(&source))?;
}
else {
std::fs::copy(&source, &target)
.and_then(|_| std::fs::remove_file(&source))?;
}
}
}
Ok(())
}

View file

@ -1,26 +0,0 @@
use std::path::Path;
pub fn move_folder(from: &Path, to: &Path) -> std::io::Result<()> {
if !to.exists() {
std::fs::create_dir_all(to)?;
}
for entry in from.read_dir()?.flatten() {
let to_path = to.join(entry.file_name());
if entry.metadata()?.is_dir() {
move_folder(&entry.path(), &to_path)?;
}
else if entry.metadata()?.is_file() {
std::fs::copy(entry.path(), to_path)?;
std::fs::remove_file(entry.path())?;
}
// TODO: symlinks?
}
std::fs::remove_dir_all(from)?;
Ok(())
}

View file

@ -67,6 +67,7 @@ impl SimpleComponent for AboutDialog {
set_translator_credits: &[
"Русский, English — Nikita Podvirnyy https://github.com/krypt0nn",
"Deutsch — Marie Piontek https://github.com/Mar0xy",
"Deutsch — @caem",
"Français — @zeGolem https://github.com/zeGolem",
"Español — Lautaro Garavano https://github.com/Rattlehead15",
"Türkçe — @Kaozix https://github.com/Kaozix1776",
@ -77,6 +78,7 @@ impl SimpleComponent for AboutDialog {
"日本語 — @zozonteq https://github.com/zozonteq",
// Hungarian?
"Svenska — Jakob Fridesjö https://github.com/jakobfridesjo",
"Português — @kafushy"
].join("\n"),
set_debug_info: &[
@ -94,26 +96,32 @@ impl SimpleComponent for AboutDialog {
"<p>Added</p>",
"<ul>",
"<li>Added new gamescope version compatibility</li>",
"<li>Added \"launcher behavior\" option</li>",
"<li>Added \"kill game process\" button when chosen behavior keeps launcher window open</li>",
"<li>Bundled some icons into the app for consistency across the systems</li>",
"<li>Added better panics handler</li>",
"<li>Added Swedish</li>",
"<li>Added feature to map wine drives</li>",
"<li>Added Portuguese</li>",
"<li>Added `%launch_args%` magic word for game launching command</li>",
"<li>Added 4.0.0 voiceovers sizes</li>",
"</ul>",
"<p>Fixed</p>",
"<ul>",
"<li>Fixed predownload button sensitivity</li>",
"<li>Fixed logo size in the first run window</li>",
"</ul>",
"<p>Changed</p>",
"<ul>",
"<li>Improved pre-downloads state checking</li>",
"<li>Replaced translation functions by `tr!` macro</li>",
"<li>Reworked app resources structure</li>",
"<li>Updated Turkish</li>",
"<li>Updated Italian</li>",
"<li>Updated Japanese</li>",
"<li>Updated Swedish</li>",
"<li>Improved files migration code</li>",
"</ul>",
"<p>Removed</p>",
"<ul>",
"<li>Removed patch integration</li>",
"</ul>",
].join("\n"),

View file

@ -24,7 +24,6 @@ pub struct DefaultPathsApp {
game_global: PathBuf,
game_china: PathBuf,
components: PathBuf,
patch: PathBuf,
temp: PathBuf
}
@ -37,7 +36,6 @@ pub enum Folders {
GameGlobal,
GameChina,
Components,
Patch,
Temp
}
@ -181,17 +179,6 @@ impl SimpleAsyncComponent for DefaultPathsApp {
connect_activated => DefaultPathsAppMsg::ChoosePath(Folders::Components)
},
adw::ActionRow {
set_title: &tr!("patch-folder"),
set_icon_name: Some("folder-symbolic"),
set_activatable: true,
#[watch]
set_subtitle: model.patch.to_str().unwrap(),
connect_activated => DefaultPathsAppMsg::ChoosePath(Folders::Patch)
},
adw::ActionRow {
set_title: &tr!("temp-folder"),
set_icon_name: Some("folder-symbolic"),
@ -288,7 +275,6 @@ impl SimpleAsyncComponent for DefaultPathsApp {
game_global: CONFIG.game.path.global.clone(),
game_china: CONFIG.game.path.china.clone(),
components: CONFIG.components.path.clone(),
patch: CONFIG.patch.path.clone(),
#[allow(clippy::or_fun_call)]
temp: CONFIG.launcher.temp.clone().unwrap_or(std::env::temp_dir())
@ -368,7 +354,7 @@ impl SimpleAsyncComponent for DefaultPathsApp {
)));
if &from != to && from.exists() {
move_folder::move_folder(from, to).expect(&format!("Failed to move folder: {:?} -> {:?}", from, to));
move_files::move_files(from, to).expect(&format!("Failed to move folder: {:?} -> {:?}", from, to));
}
self.progress_bar.sender().send(ProgressBarMsg::UpdateProgress(i as u64 + 1, folders.len() as u64));
@ -419,7 +405,6 @@ impl DefaultPathsApp {
config.game.path.global = self.game_global.clone();
config.game.path.china = self.game_china.clone();
config.components.path = self.components.clone();
config.patch.path = self.patch.clone();
config.launcher.temp = Some(self.temp.clone());
Config::update_raw(config)

View file

@ -9,7 +9,6 @@ use anime_launcher_sdk::components::loader::ComponentsLoader;
use crate::*;
use super::welcome::*;
use super::tos_warning::*;
use super::dependencies::*;
use super::default_paths::*;
use super::download_components::*;
@ -21,7 +20,6 @@ pub static mut MAIN_WINDOW: Option<adw::ApplicationWindow> = None;
pub struct FirstRunApp {
welcome: AsyncController<WelcomeApp>,
tos_warning: AsyncController<TosWarningApp>,
dependencies: AsyncController<DependenciesApp>,
default_paths: AsyncController<DefaultPathsApp>,
download_components: AsyncController<DownloadComponentsApp>,
@ -38,7 +36,6 @@ pub struct FirstRunApp {
pub enum FirstRunAppMsg {
SetLoadingStatus(Option<Option<String>>),
ScrollToTosWarning,
ScrollToDependencies,
ScrollToDefaultPaths,
ScrollToDownloadComponents,
@ -97,7 +94,6 @@ impl SimpleComponent for FirstRunApp {
set_allow_scroll_wheel: false,
append = model.welcome.widget(),
append = model.tos_warning.widget(),
append = model.dependencies.widget(),
append = model.default_paths.widget(),
append = model.download_components.widget(),
@ -131,10 +127,6 @@ impl SimpleComponent for FirstRunApp {
.launch(())
.forward(sender.input_sender(), std::convert::identity),
tos_warning: TosWarningApp::builder()
.launch(())
.forward(sender.input_sender(), std::convert::identity),
dependencies: DependenciesApp::builder()
.launch(())
.forward(sender.input_sender(), std::convert::identity),
@ -182,12 +174,6 @@ impl SimpleComponent for FirstRunApp {
self.loading = status;
}
FirstRunAppMsg::ScrollToTosWarning => {
self.title = tr!("tos-violation-warning");
self.carousel.scroll_to(self.tos_warning.widget(), true);
}
FirstRunAppMsg::ScrollToDependencies => {
self.title = tr!("dependencies");

View file

@ -1,6 +1,5 @@
pub mod main;
pub mod welcome;
pub mod tos_warning;
pub mod dependencies;
pub mod default_paths;
pub mod download_components;

View file

@ -1,125 +0,0 @@
use relm4::prelude::*;
use relm4::component::*;
use adw::prelude::*;
use anime_launcher_sdk::is_available;
use crate::*;
use super::main::FirstRunAppMsg;
use super::main::MAIN_WINDOW;
pub struct TosWarningApp;
#[derive(Debug, Clone)]
pub enum TosWarningAppMsg {
Continue,
Exit
}
#[relm4::component(async, pub)]
impl SimpleAsyncComponent for TosWarningApp {
type Init = ();
type Input = TosWarningAppMsg;
type Output = FirstRunAppMsg;
view! {
adw::PreferencesPage {
set_hexpand: true,
add = &adw::PreferencesGroup {
set_valign: gtk::Align::Center,
set_vexpand: true,
gtk::Label {
set_label: &tr!("tos-violation-warning"),
add_css_class: "title-1"
}
},
add = &adw::PreferencesGroup {
gtk::Label {
set_label: &tr!("tos-violation-warning-message"),
set_wrap: true,
set_selectable: true
}
},
add = &adw::PreferencesGroup {
set_valign: gtk::Align::Center,
set_vexpand: true,
gtk::Box {
set_orientation: gtk::Orientation::Horizontal,
set_halign: gtk::Align::Center,
set_spacing: 8,
gtk::Button {
set_label: &tr!("continue"),
set_css_classes: &["suggested-action", "pill"],
connect_clicked => TosWarningAppMsg::Continue
},
gtk::Button {
set_label: &tr!("exit"),
add_css_class: "pill",
connect_clicked => TosWarningAppMsg::Exit
}
}
}
}
}
async fn init(
_init: Self::Init,
root: Self::Root,
_sender: AsyncComponentSender<Self>,
) -> AsyncComponentParts<Self> {
let model = Self;
let widgets = view_output!();
AsyncComponentParts { model, widgets }
}
async fn update(&mut self, msg: Self::Input, sender: AsyncComponentSender<Self>) {
match msg {
#[allow(unused_must_use)]
TosWarningAppMsg::Continue => {
let dialog = adw::MessageDialog::new(
unsafe { MAIN_WINDOW.as_ref() },
Some(&tr!("tos-dialog-title")),
Some(&tr!("tos-dialog-message"))
);
dialog.add_responses(&[
("exit", &tr!("exit")),
("continue", &tr!("agree"))
]);
dialog.connect_response(None, move |_, response| {
match response {
"exit" => relm4::main_application().quit(),
"continue" => {
if is_available("git") && is_available("xdelta3") {
sender.output(Self::Output::ScrollToDefaultPaths);
} else {
sender.output(Self::Output::ScrollToDependencies);
}
}
_ => unreachable!()
}
});
dialog.show();
}
TosWarningAppMsg::Exit => relm4::main_application().quit()
}
}
}

View file

@ -3,6 +3,8 @@ use relm4::component::*;
use adw::prelude::*;
use anime_launcher_sdk::is_available;
use crate::*;
use super::main::FirstRunAppMsg;
@ -83,7 +85,11 @@ impl SimpleAsyncComponent for WelcomeApp {
match msg {
#[allow(unused_must_use)]
WelcomeAppMsg::Continue => {
sender.output(Self::Output::ScrollToTosWarning);
if is_available("git") && is_available("xdelta3") {
sender.output(Self::Output::ScrollToDefaultPaths);
} else {
sender.output(Self::Output::ScrollToDependencies);
}
}
}
}

View file

@ -1,4 +1,5 @@
use std::process::Command;
use std::path::PathBuf;
use relm4::prelude::*;
@ -19,11 +20,25 @@ pub fn disable_telemetry(sender: ComponentSender<App>) {
.collect::<Vec<String>>()
.join(" ; ");
let output = Command::new("pkexec")
.arg("bash")
.arg("-c")
.arg(format!("echo '' >> /etc/hosts ; {telemetry} ; echo '' >> /etc/hosts"))
.spawn();
// TODO: perhaps find some another way? Or doesn't matter?
let use_root = std::env::var("LAUNCHER_USE_ROOT")
.map(|var| var == "1")
.unwrap_or_else(|_| !PathBuf::from("/.flatpak-info").exists());
let output = if use_root {
Command::new("pkexec")
.arg("bash")
.arg("-c")
.arg(format!("echo '' >> /etc/hosts ; {telemetry} ; echo '' >> /etc/hosts"))
.spawn()
}
else {
Command::new("bash")
.arg("-c")
.arg(format!("echo '' >> /etc/hosts ; {telemetry} ; echo '' >> /etc/hosts"))
.spawn()
};
match output.and_then(|child| child.wait_with_output()) {
Ok(output) => if !output.status.success() {

View file

@ -451,7 +451,6 @@ impl SimpleComponent for App {
Some(LauncherState::PredownloadAvailable { patch: JadeitePatchStatusVariant::Unsafe, .. }) => false,
Some(_) => true,
None => false
},
@ -466,7 +465,6 @@ impl SimpleComponent for App {
Some(LauncherState::PredownloadAvailable { patch: JadeitePatchStatusVariant::Unsafe, .. }) => &["error", "pill"],
Some(_) => &["suggested-action", "pill"],
None => &["pill"]
},

View file

@ -1,6 +1,11 @@
use relm4::prelude::*;
use relm4::component::*;
use relm4::factory::*;
use relm4::factory::{
AsyncFactoryComponent,
AsyncFactorySender,
AsyncFactoryVecDeque
};
use adw::prelude::*;
@ -285,6 +290,76 @@ impl SimpleAsyncComponent for EnhancementsApp {
if let Ok(mut config) = Config::get() {
config.game.wine.virtual_desktop.enabled = switch.state();
Config::update(config);
}
}
}
}
},
adw::ActionRow {
set_title: &tr!("map-drive-c"),
set_subtitle: &tr!("map-drive-c-description"),
add_suffix = &gtk::Switch {
set_valign: gtk::Align::Center,
set_state: CONFIG.game.wine.drives.drive_c,
connect_state_notify => |switch| {
if is_ready() {
if let Ok(mut config) = Config::get() {
config.game.wine.drives.drive_c = switch.state();
Config::update(config);
}
}
}
}
},
#[name = "map_game_folder_row"]
adw::ComboRow {
set_title: &tr!("map-game-folder"),
set_subtitle: &tr!("map-game-folder-description"),
#[wrap(Some)]
set_model = &gtk::StringList::new(&AllowedDrives::list().iter()
.map(|drive| drive.to_drive())
.collect::<Vec<_>>()),
set_selected: match CONFIG.game.wine.drives.game_folder {
Some(drive) => AllowedDrives::list().iter()
.position(|allowed| *allowed == drive)
.unwrap_or(8) as u32,
None => 8 // G:
},
connect_selected_notify => |row| {
if is_ready() {
if let Ok(mut config) = Config::get() {
config.game.wine.drives.game_folder = Some(AllowedDrives::list()[row.selected() as usize]);
Config::update(config);
}
}
},
add_suffix = &gtk::Switch {
set_valign: gtk::Align::Center,
set_state: CONFIG.game.wine.drives.game_folder.is_some(),
connect_state_notify[map_game_folder_row] => move |switch| {
if is_ready() {
if let Ok(mut config) = Config::get() {
if switch.state() {
config.game.wine.drives.game_folder = Some(AllowedDrives::list()[map_game_folder_row.selected() as usize]);
} else {
config.game.wine.drives.game_folder = None;
}
Config::update(config);
}
}

View file

@ -31,7 +31,6 @@ pub struct GeneralApp {
main_patch: Option<(Version, JadeitePatchStatusVariant)>,
style: LauncherStyle,
languages: Vec<String>
}
@ -465,7 +464,6 @@ impl SimpleAsyncComponent for GeneralApp {
main_patch: None,
style: CONFIG.launcher.style,
languages: SUPPORTED_LANGUAGES.iter().map(|lang| tr!(format_lang(lang).as_str())).collect()
};