mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-05-29 00:21:34 +08:00
Add support for installing plugins directly from zip files
This commit is contained in:
@@ -468,14 +468,14 @@ void DetectZipFileContents(zip_t *z, ZipFileInfo *info) {
|
||||
bool isSaveStates = false;
|
||||
bool isFrameDump = false;
|
||||
int stripChars = 0;
|
||||
int isoFileIndex = -1;
|
||||
int stripCharsTexturePack = -1;
|
||||
int textureIniIndex = -1;
|
||||
int filesInRoot = 0;
|
||||
int directoriesInRoot = 0;
|
||||
bool hasParamSFO = false;
|
||||
bool isExtractedISO = false;
|
||||
bool hasIcon0PNG = false;
|
||||
bool hasPRX = false;
|
||||
bool hasPluginIni = false;
|
||||
s64 totalFileSize = 0;
|
||||
|
||||
// TODO: It might be cleaner to write separate detection functions, but this big loop doing it all at once
|
||||
@@ -514,10 +514,10 @@ void DetectZipFileContents(zip_t *z, ZipFileInfo *info) {
|
||||
// We only do this if the ISO file is in the root or one level down.
|
||||
isZippedISO = true;
|
||||
INFO_LOG(Log::HLE, "ISO found in zip: %s", zippedName.c_str());
|
||||
if (isoFileIndex != -1) {
|
||||
if (info->isoFileIndex != -1) {
|
||||
INFO_LOG(Log::HLE, "More than one ISO file found in zip. Ignoring additional ones.");
|
||||
} else {
|
||||
isoFileIndex = i;
|
||||
info->isoFileIndex = i;
|
||||
info->contentName = zippedName;
|
||||
}
|
||||
}
|
||||
@@ -526,11 +526,11 @@ void DetectZipFileContents(zip_t *z, ZipFileInfo *info) {
|
||||
if (stripCharsTexturePack == -1 || slashLocation < stripCharsTexturePack + 1) {
|
||||
stripCharsTexturePack = slashLocation + 1;
|
||||
isTexturePack = true;
|
||||
textureIniIndex = i;
|
||||
info->textureIniIndex = i;
|
||||
}
|
||||
} else if (endsWith(zippedName, ".ppdmp")) {
|
||||
isFrameDump = true;
|
||||
isoFileIndex = i;
|
||||
info->isoFileIndex = i;
|
||||
info->contentName = zippedName;
|
||||
} else if (endsWith(zippedName, ".ppst")) {
|
||||
int slashLocation = (int)zippedName.find_last_of('/');
|
||||
@@ -561,6 +561,12 @@ void DetectZipFileContents(zip_t *z, ZipFileInfo *info) {
|
||||
}
|
||||
} else if (endsWith(zippedName, "/icon0.png")) {
|
||||
hasIcon0PNG = true;
|
||||
} else if (endsWith(zippedName, "/plugin.ini") && slashCount == 1) {
|
||||
hasPluginIni = true;
|
||||
ZipExtractFileToMemory(z, i, &info->iniContents);
|
||||
info->contentName = zippedName.substr(0, zippedName.find_last_of('/'));
|
||||
} else if (endsWith(zippedName, ".prx") && slashCount == 1) {
|
||||
hasPRX = true;
|
||||
}
|
||||
if (slashCount == 0) {
|
||||
filesInRoot++;
|
||||
@@ -569,8 +575,6 @@ void DetectZipFileContents(zip_t *z, ZipFileInfo *info) {
|
||||
|
||||
info->stripChars = stripChars;
|
||||
info->numFiles = numFiles;
|
||||
info->isoFileIndex = isoFileIndex;
|
||||
info->textureIniIndex = textureIniIndex;
|
||||
info->ignoreMetaFiles = false;
|
||||
info->totalFileSize = totalFileSize;
|
||||
|
||||
@@ -592,6 +596,8 @@ void DetectZipFileContents(zip_t *z, ZipFileInfo *info) {
|
||||
info->contents = ZipFileContents::SAVE_STATES;
|
||||
} else if (isExtractedISO && hasParamSFO) {
|
||||
info->contents = ZipFileContents::EXTRACTED_GAME;
|
||||
} else if (hasPluginIni && hasPRX) {
|
||||
info->contents = ZipFileContents::PRX_PLUGIN;
|
||||
} else {
|
||||
info->contents = ZipFileContents::UNKNOWN;
|
||||
}
|
||||
|
||||
@@ -173,21 +173,23 @@ enum class ZipFileContents {
|
||||
FRAME_DUMP,
|
||||
EXTRACTED_GAME,
|
||||
SAVE_STATES,
|
||||
PRX_PLUGIN,
|
||||
};
|
||||
|
||||
struct ZipFileInfo {
|
||||
ZipFileContents contents;
|
||||
int numFiles;
|
||||
int stripChars; // for PSP game - how much to strip from the path.
|
||||
int isoFileIndex; // for ISO
|
||||
int textureIniIndex; // for textures
|
||||
bool ignoreMetaFiles;
|
||||
ZipFileContents contents = ZipFileContents::NOT_A_ZIP_FILE;
|
||||
int numFiles = 0;
|
||||
int stripChars = 0; // for PSP game - how much to strip from the path.
|
||||
int isoFileIndex = -1; // for ISO
|
||||
int textureIniIndex = -1; // for textures
|
||||
bool ignoreMetaFiles = false;
|
||||
std::string gameTitle; // from PARAM.SFO if available
|
||||
std::string savedataTitle;
|
||||
std::string savedataDetails;
|
||||
std::string savedataDir;
|
||||
std::string mTime;
|
||||
s64 totalFileSize;
|
||||
std::string iniContents;
|
||||
s64 totalFileSize = 0;
|
||||
|
||||
std::string contentName;
|
||||
};
|
||||
|
||||
@@ -171,7 +171,7 @@ void GameManager::Update() {
|
||||
}
|
||||
}
|
||||
|
||||
bool CanExtractWithoutOverwrite(struct zip *z, const Path &destination, int maxOkFiles) {
|
||||
bool ZipCanExtractWithoutOverwrite(struct zip *z, const Path &destination, int maxOkFiles) {
|
||||
int numFiles = zip_get_num_files(z);
|
||||
if (numFiles > maxOkFiles && maxOkFiles >= 0) {
|
||||
// Ignore the check, just assume we can't.
|
||||
@@ -192,6 +192,19 @@ bool CanExtractWithoutOverwrite(struct zip *z, const Path &destination, int maxO
|
||||
return true;
|
||||
}
|
||||
|
||||
static std::string ZipReadFileByIndex(struct zip *z, int file_index) {
|
||||
struct zip_stat zstat;
|
||||
zip_stat_index(z, file_index, 0, &zstat);
|
||||
std::string buffer;
|
||||
buffer.resize(zstat.size);
|
||||
zip_file *zf = zip_fopen_index(z, file_index, 0);
|
||||
if (zip_fread(zf, &buffer[0], buffer.size()) != (zip_int64_t)zstat.size) {
|
||||
return {};
|
||||
}
|
||||
zip_fclose(zf);
|
||||
return buffer;
|
||||
}
|
||||
|
||||
// Parameters need to be by value, since this is a thread func.
|
||||
void GameManager::InstallZipContents(ZipFileTask task) {
|
||||
SetCurrentThreadName("InstallZipContents");
|
||||
@@ -308,6 +321,12 @@ void GameManager::InstallZipContents(ZipFileTask task) {
|
||||
success = ExtractZipContents(z, pspSaveData, zipInfo, true);
|
||||
break;
|
||||
}
|
||||
case ZipFileContents::PRX_PLUGIN:
|
||||
{
|
||||
Path pspPlugins = GetSysDirectory(DIRECTORY_PLUGINS);
|
||||
success = ExtractZipContents(z, pspPlugins, zipInfo, true);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
ERROR_LOG(Log::HLE, "File not a PSP game, no EBOOT.PBP found.");
|
||||
SetInstallError(sy->T("Not a PSP game"));
|
||||
@@ -337,10 +356,8 @@ bool GameManager::DetectTexturePackDest(struct zip *z, int iniIndex, Path &dest)
|
||||
return false;
|
||||
}
|
||||
|
||||
std::string buffer;
|
||||
buffer.resize(zstat.size);
|
||||
zip_file *zf = zip_fopen_index(z, iniIndex, 0);
|
||||
if (zip_fread(zf, &buffer[0], buffer.size()) != (zip_int64_t)zstat.size) {
|
||||
std::string buffer = ZipReadFileByIndex(z, iniIndex);
|
||||
if (buffer.empty()) {
|
||||
SetInstallError(iz->T("Zip archive corrupt"));
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -119,4 +119,4 @@ private:
|
||||
|
||||
extern GameManager g_GameManager;
|
||||
|
||||
bool CanExtractWithoutOverwrite(struct zip *z, const Path &destination, int maxOkFiles);
|
||||
bool ZipCanExtractWithoutOverwrite(struct zip *z, const Path &destination, int maxOkFiles);
|
||||
|
||||
104
Tools/langtool/Cargo.lock
generated
104
Tools/langtool/Cargo.lock
generated
@@ -63,9 +63,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "anyhow"
|
||||
version = "1.0.101"
|
||||
version = "1.0.102"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5f0e0fee31ef5ed1ba1316088939cea399010ed7731dba877ed44aeb407a75ea"
|
||||
checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c"
|
||||
|
||||
[[package]]
|
||||
name = "atomic-waker"
|
||||
@@ -127,9 +127,9 @@ checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a"
|
||||
|
||||
[[package]]
|
||||
name = "bumpalo"
|
||||
version = "3.20.1"
|
||||
version = "3.20.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5c6f81257d10a0f602a294ae4182251151ff97dbb504ef9afcdda4a64b24d9b4"
|
||||
checksum = "5d20789868f4b01b2f2caec9f5c4e0213b41e3e5702a50157d699ae31ced2fcb"
|
||||
|
||||
[[package]]
|
||||
name = "bytes"
|
||||
@@ -169,9 +169,9 @@ checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724"
|
||||
|
||||
[[package]]
|
||||
name = "clap"
|
||||
version = "4.5.59"
|
||||
version = "4.5.60"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c5caf74d17c3aec5495110c34cc3f78644bfa89af6c8993ed4de2790e49b6499"
|
||||
checksum = "2797f34da339ce31042b27d23607e051786132987f595b02ba4f6a6dffb7030a"
|
||||
dependencies = [
|
||||
"clap_builder",
|
||||
"clap_derive",
|
||||
@@ -179,9 +179,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "clap_builder"
|
||||
version = "4.5.59"
|
||||
version = "4.5.60"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "370daa45065b80218950227371916a1633217ae42b2715b2287b606dcd618e24"
|
||||
checksum = "24a241312cea5059b13574bb9b3861cabf758b879c15190b37b6d6fd63ab6876"
|
||||
dependencies = [
|
||||
"anstream",
|
||||
"anstyle",
|
||||
@@ -198,7 +198,7 @@ dependencies = [
|
||||
"heck",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.116",
|
||||
"syn 2.0.117",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -302,7 +302,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.116",
|
||||
"syn 2.0.117",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -820,9 +820,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "js-sys"
|
||||
version = "0.3.85"
|
||||
version = "0.3.90"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8c942ebf8e95485ca0d52d97da7c5a2c387d0e7f0ba4c35e93bfcaee045955b3"
|
||||
checksum = "14dc6f6450b3f6d4ed5b16327f38fed626d375a886159ca555bd7822c0c3a5a6"
|
||||
dependencies = [
|
||||
"once_cell",
|
||||
"wasm-bindgen",
|
||||
@@ -855,9 +855,9 @@ checksum = "6800badb6cb2082ffd7b6a67e6125bb39f18782f793520caee8cb8846be06112"
|
||||
|
||||
[[package]]
|
||||
name = "linux-raw-sys"
|
||||
version = "0.11.0"
|
||||
version = "0.12.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039"
|
||||
checksum = "32a66949e030da00e8c7d4434b251670a91556f4144941d37452769c25d58a53"
|
||||
|
||||
[[package]]
|
||||
name = "litemap"
|
||||
@@ -1056,7 +1056,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"syn 2.0.116",
|
||||
"syn 2.0.117",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -1193,9 +1193,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "regex-syntax"
|
||||
version = "0.8.9"
|
||||
version = "0.8.10"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a96887878f22d7bad8a3b6dc5b7440e0ada9a245242924394987b21cf2210a4c"
|
||||
checksum = "dc897dd8d9e8bd1ed8cdad82b5966c3e0ecae09fb1907d58efaa013543185d0a"
|
||||
|
||||
[[package]]
|
||||
name = "reqwest"
|
||||
@@ -1261,9 +1261,9 @@ checksum = "357703d41365b4b27c590e3ed91eabb1b663f07c4c084095e60cbed4362dff0d"
|
||||
|
||||
[[package]]
|
||||
name = "rustix"
|
||||
version = "1.1.3"
|
||||
version = "1.1.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "146c9e247ccc180c1f61615433868c99f3de3ae256a30a43b49f67c2d9171f34"
|
||||
checksum = "b6fe4565b9518b83ef4f91bb47ce29620ca828bd32cb7e408f0062e9930ba190"
|
||||
dependencies = [
|
||||
"bitflags 2.11.0",
|
||||
"errno",
|
||||
@@ -1274,9 +1274,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "rustls"
|
||||
version = "0.23.36"
|
||||
version = "0.23.37"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c665f33d38cea657d9614f766881e4d510e0eda4239891eea56b4cadcf01801b"
|
||||
checksum = "758025cb5fccfd3bc2fd74708fd4682be41d99e5dff73c377c0646c6012c73a4"
|
||||
dependencies = [
|
||||
"aws-lc-rs",
|
||||
"once_cell",
|
||||
@@ -1373,9 +1373,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "security-framework"
|
||||
version = "3.6.0"
|
||||
version = "3.7.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "d17b898a6d6948c3a8ee4372c17cb384f90d2e6e912ef00895b14fd7ab54ec38"
|
||||
checksum = "b7f4bc775c73d9a02cde8bf7b2ec4c9d12743edf609006c7facc23998404cd1d"
|
||||
dependencies = [
|
||||
"bitflags 2.11.0",
|
||||
"core-foundation 0.10.1",
|
||||
@@ -1386,9 +1386,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "security-framework-sys"
|
||||
version = "2.16.0"
|
||||
version = "2.17.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "321c8673b092a9a42605034a9879d73cb79101ed5fd117bc9a597b89b4e9e61a"
|
||||
checksum = "6ce2691df843ecc5d231c0b14ece2acc3efb62c0a398c7e1d875f3983ce020e3"
|
||||
dependencies = [
|
||||
"core-foundation-sys",
|
||||
"libc",
|
||||
@@ -1427,7 +1427,7 @@ checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.116",
|
||||
"syn 2.0.117",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -1508,9 +1508,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "syn"
|
||||
version = "2.0.116"
|
||||
version = "2.0.117"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3df424c70518695237746f84cede799c9c58fcb37450d7b23716568cc8bc69cb"
|
||||
checksum = "e665b8803e7b1d2a727f4023456bbbbe74da67099c585258af0ad9c5013b9b99"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
@@ -1534,7 +1534,7 @@ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.116",
|
||||
"syn 2.0.117",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -1560,9 +1560,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "tempfile"
|
||||
version = "3.25.0"
|
||||
version = "3.26.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0136791f7c95b1f6dd99f9cc786b91bb81c3800b639b3478e561ddb7be95e5f1"
|
||||
checksum = "82a72c767771b47409d2345987fda8628641887d5466101319899796367354a0"
|
||||
dependencies = [
|
||||
"fastrand",
|
||||
"getrandom 0.4.1",
|
||||
@@ -1597,7 +1597,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.116",
|
||||
"syn 2.0.117",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -1608,7 +1608,7 @@ checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.116",
|
||||
"syn 2.0.117",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -1841,9 +1841,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "wasm-bindgen"
|
||||
version = "0.2.108"
|
||||
version = "0.2.113"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "64024a30ec1e37399cf85a7ffefebdb72205ca1c972291c51512360d90bd8566"
|
||||
checksum = "60722a937f594b7fde9adb894d7c092fc1bb6612897c46368d18e7a20208eff2"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"once_cell",
|
||||
@@ -1854,9 +1854,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "wasm-bindgen-futures"
|
||||
version = "0.4.58"
|
||||
version = "0.4.63"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "70a6e77fd0ae8029c9ea0063f87c46fde723e7d887703d74ad2616d792e51e6f"
|
||||
checksum = "8a89f4650b770e4521aa6573724e2aed4704372151bd0de9d16a3bbabb87441a"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"futures-util",
|
||||
@@ -1868,9 +1868,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "wasm-bindgen-macro"
|
||||
version = "0.2.108"
|
||||
version = "0.2.113"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "008b239d9c740232e71bd39e8ef6429d27097518b6b30bdf9086833bd5b6d608"
|
||||
checksum = "0fac8c6395094b6b91c4af293f4c79371c163f9a6f56184d2c9a85f5a95f3950"
|
||||
dependencies = [
|
||||
"quote",
|
||||
"wasm-bindgen-macro-support",
|
||||
@@ -1878,22 +1878,22 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "wasm-bindgen-macro-support"
|
||||
version = "0.2.108"
|
||||
version = "0.2.113"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5256bae2d58f54820e6490f9839c49780dff84c65aeab9e772f15d5f0e913a55"
|
||||
checksum = "ab3fabce6159dc20728033842636887e4877688ae94382766e00b180abac9d60"
|
||||
dependencies = [
|
||||
"bumpalo",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.116",
|
||||
"syn 2.0.117",
|
||||
"wasm-bindgen-shared",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "wasm-bindgen-shared"
|
||||
version = "0.2.108"
|
||||
version = "0.2.113"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1f01b580c9ac74c8d8f0c0e4afb04eeef2acf145458e52c03845ee9cd23e3d12"
|
||||
checksum = "de0e091bdb824da87dc01d967388880d017a0a9bc4f3bdc0d86ee9f9336e3bb5"
|
||||
dependencies = [
|
||||
"unicode-ident",
|
||||
]
|
||||
@@ -1993,9 +1993,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "web-sys"
|
||||
version = "0.3.85"
|
||||
version = "0.3.90"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "312e32e551d92129218ea9a2452120f4aabc03529ef03e4d0d82fb2780608598"
|
||||
checksum = "705eceb4ce901230f8625bd1d665128056ccbe4b7408faa625eec1ba80f59a97"
|
||||
dependencies = [
|
||||
"js-sys",
|
||||
"wasm-bindgen",
|
||||
@@ -2347,7 +2347,7 @@ dependencies = [
|
||||
"heck",
|
||||
"indexmap",
|
||||
"prettyplease",
|
||||
"syn 2.0.116",
|
||||
"syn 2.0.117",
|
||||
"wasm-metadata",
|
||||
"wit-bindgen-core",
|
||||
"wit-component",
|
||||
@@ -2363,7 +2363,7 @@ dependencies = [
|
||||
"prettyplease",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.116",
|
||||
"syn 2.0.117",
|
||||
"wit-bindgen-core",
|
||||
"wit-bindgen-rust",
|
||||
]
|
||||
@@ -2485,7 +2485,7 @@ checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.116",
|
||||
"syn 2.0.117",
|
||||
"synstructure",
|
||||
]
|
||||
|
||||
@@ -2506,7 +2506,7 @@ checksum = "4122cd3169e94605190e77839c9a40d40ed048d305bfdc146e7df40ab0f3e517"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.116",
|
||||
"syn 2.0.117",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -2526,7 +2526,7 @@ checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.116",
|
||||
"syn 2.0.117",
|
||||
"synstructure",
|
||||
]
|
||||
|
||||
@@ -2566,7 +2566,7 @@ checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.116",
|
||||
"syn 2.0.117",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
||||
@@ -23,11 +23,13 @@
|
||||
#include "Common/File/FileUtil.h"
|
||||
#include "Common/Data/Text/I18n.h"
|
||||
#include "Common/Data/Text/Parsers.h"
|
||||
#include "Common/Data/Format/IniFile.h"
|
||||
|
||||
#include "Core/Config.h"
|
||||
#include "Core/System.h"
|
||||
#include "Core/Util/GameManager.h"
|
||||
#include "Core/Util/PathUtil.h"
|
||||
#include "Core/Util/GameDB.h"
|
||||
#include "Core/Loaders.h"
|
||||
|
||||
#include "UI/InstallZipScreen.h"
|
||||
@@ -87,6 +89,7 @@ void InstallZipScreen::CreateSettingsViews(UI::ViewGroup *parent) {
|
||||
case ZipFileContents::TEXTURE_PACK:
|
||||
case ZipFileContents::SAVE_DATA:
|
||||
case ZipFileContents::SAVE_STATES:
|
||||
case ZipFileContents::PRX_PLUGIN:
|
||||
installChoice_ = parent->Add(new Choice(iz->T("Install"), ImageID("I_FOLDER_UPLOAD")));
|
||||
installChoice_->OnClick.Handle(this, &InstallZipScreen::OnInstall);
|
||||
showDeleteCheckbox = true;
|
||||
@@ -178,6 +181,34 @@ void InstallZipScreen::CreateContentViews(UI::ViewGroup *parent) {
|
||||
showDeleteCheckbox = true;
|
||||
break;
|
||||
}
|
||||
case ZipFileContents::PRX_PLUGIN:
|
||||
{
|
||||
leftColumn->Add(new TextView(iz->T("Install plugin from ZIP file?")));
|
||||
leftColumn->Add(new TextView(GetFriendlyPath(zipPath_)));
|
||||
Path pluginsDir = GetSysDirectory(DIRECTORY_PLUGINS);
|
||||
ZipContainer zipFile = ZipOpenPath(zipPath_);
|
||||
overwrite = !ZipCanExtractWithoutOverwrite(zipFile, pluginsDir, 50);
|
||||
ZipClose(zipFile);
|
||||
std::stringstream sstream(zipFileInfo_.iniContents);
|
||||
IniFile ini;
|
||||
ini.Load(sstream);
|
||||
if (Section *games = ini.GetSection("games")) {
|
||||
leftColumn->Add(new TextView(iz->T("Supported games:")));
|
||||
for (const auto &line : games->Lines()) {
|
||||
std::string gameID(line.Key());
|
||||
std::vector<GameDBInfo> infos;
|
||||
if (g_gameDB.GetGameInfos(gameID, &infos)) {
|
||||
for (const auto &info : infos) {
|
||||
leftColumn->Add(new TextView(info.title + " - " + gameID));
|
||||
break; // Let's just show the first match for each gameID, it gets messy otherwise.
|
||||
}
|
||||
} else {
|
||||
leftColumn->Add(new TextView(gameID));
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
case ZipFileContents::SAVE_STATES:
|
||||
{
|
||||
std::string_view question = iz->T("Import savestates from ZIP file");
|
||||
@@ -187,7 +218,7 @@ void InstallZipScreen::CreateContentViews(UI::ViewGroup *parent) {
|
||||
|
||||
Path savestateDir = GetSysDirectory(DIRECTORY_SAVESTATE);
|
||||
ZipContainer zipFile = ZipOpenPath(zipPath_);
|
||||
overwrite = !CanExtractWithoutOverwrite(zipFile, savestateDir, 50);
|
||||
overwrite = !ZipCanExtractWithoutOverwrite(zipFile, savestateDir, 50);
|
||||
ZipClose(zipFile);
|
||||
|
||||
destFolders_.push_back(savestateDir);
|
||||
@@ -204,7 +235,7 @@ void InstallZipScreen::CreateContentViews(UI::ViewGroup *parent) {
|
||||
|
||||
Path savedataDir = GetSysDirectory(DIRECTORY_SAVEDATA);
|
||||
ZipContainer zipFile = ZipOpenPath(zipPath_);
|
||||
overwrite = !CanExtractWithoutOverwrite(zipFile, savedataDir, 50);
|
||||
overwrite = !ZipCanExtractWithoutOverwrite(zipFile, savedataDir, 50);
|
||||
ZipClose(zipFile);
|
||||
|
||||
destFolders_.push_back(savedataDir);
|
||||
|
||||
@@ -786,9 +786,11 @@ Import savedata from ZIP file = Import savedata from ZIP file
|
||||
Install = تثبيت
|
||||
Install game from ZIP file? = تثبيت اللعبة من الملف المضغوط ?
|
||||
Install into folder = Install into folder
|
||||
Install plugin from ZIP file? = تثبيت الإضافة من ملف ZIP؟ # AI translated
|
||||
Install textures from ZIP file? = Install textures from ZIP file?
|
||||
Installation failed = فشل في التثبيت
|
||||
Installed! = مثبت!
|
||||
Supported games: = الألعاب المدعومة: # AI translated
|
||||
Texture pack doesn't support install = Texture pack doesn't support install
|
||||
Zip archive corrupt = ZIP archive corrupt
|
||||
ZIP file = ملف ZIP
|
||||
|
||||
@@ -780,9 +780,11 @@ Import savedata from ZIP file = Qorunuş verilənini ZIP fayldan götür
|
||||
Install = Quraşdır
|
||||
Install game from ZIP file? = Oyun ZIP fayldan quraşdırılsın?
|
||||
Install into folder = Qovluqda quraşdır
|
||||
Install plugin from ZIP file? = ZIP faylından plagin quraşdırın? # AI translated
|
||||
Install textures from ZIP file? = Toxumalar ZIP fayldan quraşdırılsın?
|
||||
Installation failed = Quraşdırma uğursuz oldu
|
||||
Installed! = Quraşdırıldı!
|
||||
Supported games: = Dəstəklənən oyunlar: # AI translated
|
||||
Texture pack doesn't support install = Toxuma bağlaması quraşdırmanı dəstəkləmir
|
||||
Zip archive corrupt = ZIP arxivi korlanıb
|
||||
ZIP file = ZIP faylı
|
||||
|
||||
@@ -778,9 +778,11 @@ Import savedata from ZIP file = Import savedata from ZIP file
|
||||
Install = Усталяваць
|
||||
Install game from ZIP file? = Install game from ZIP file?
|
||||
Install into folder = Усталяваць у тэчку
|
||||
Install plugin from ZIP file? = Усталяваць плагін з ZIP-файла? # AI translated
|
||||
Install textures from ZIP file? = Install textures from ZIP file?
|
||||
Installation failed = Installation failed
|
||||
Installed! = Усталявана!
|
||||
Supported games: = Падтрымліваемыя гульні: # AI translated
|
||||
Texture pack doesn't support install = Texture pack doesn't support install
|
||||
Zip archive corrupt = ZIP archive corrupt
|
||||
ZIP file = Файл ZIP
|
||||
|
||||
@@ -778,9 +778,11 @@ Import savedata from ZIP file = Импортиране на запазени д
|
||||
Install = Инсталирай
|
||||
Install game from ZIP file? = Инсталирай игра от ZIP архив?
|
||||
Install into folder = Инсталиране в папка
|
||||
Install plugin from ZIP file? = Инсталирайте плъгин от ZIP файл? # AI translated
|
||||
Install textures from ZIP file? = Инсталиране на текстури от ZIP файл?
|
||||
Installation failed = Инсталацията не бе успешна
|
||||
Installed! = Инсталирано!
|
||||
Supported games: = Поддържани игри: # AI translated
|
||||
Texture pack doesn't support install = Текстурният пакет не поддържа инсталиране
|
||||
Zip archive corrupt = ZIP архивът е повреден
|
||||
ZIP file = ZIP файл
|
||||
|
||||
@@ -778,9 +778,11 @@ Import savedata from ZIP file = Import savedata from ZIP file
|
||||
Install = Install
|
||||
Install game from ZIP file? = Install game from ZIP file?
|
||||
Install into folder = Install into folder
|
||||
Install plugin from ZIP file? = Instal·la el complement des d'un fitxer ZIP? # AI translated
|
||||
Install textures from ZIP file? = Install textures from ZIP file?
|
||||
Installation failed = Installation failed
|
||||
Installed! = Installed!
|
||||
Supported games: = Jocs compatibles: # AI translated
|
||||
Texture pack doesn't support install = Texture pack doesn't support install
|
||||
Zip archive corrupt = ZIP archive corrupt
|
||||
ZIP file = Fitxer ZIP
|
||||
|
||||
@@ -778,9 +778,11 @@ Import savedata from ZIP file = Import savedata from ZIP file
|
||||
Install = Nainstalovat
|
||||
Install game from ZIP file? = Instalovat hru ze souboru ZIP?
|
||||
Install into folder = Install into folder
|
||||
Install plugin from ZIP file? = Nainstalovat plugin z ZIP souboru? # AI translated
|
||||
Install textures from ZIP file? = Install textures from ZIP file?
|
||||
Installation failed = Installation failed
|
||||
Installed! = Instalováno!
|
||||
Supported games: = Podporované hry: # AI translated
|
||||
Texture pack doesn't support install = Texture pack doesn't support install
|
||||
Zip archive corrupt = ZIP archive corrupt
|
||||
ZIP file = ZIP soubor
|
||||
|
||||
@@ -778,9 +778,11 @@ Import savedata from ZIP file = Import savedata from ZIP file
|
||||
Install = Installer
|
||||
Install game from ZIP file? = Installer spil fra ZIP fil?
|
||||
Install into folder = Install into folder
|
||||
Install plugin from ZIP file? = Installer plugin fra ZIP-fil? # AI translated
|
||||
Install textures from ZIP file? = Install textures from ZIP file?
|
||||
Installation failed = Installation failed
|
||||
Installed! = Installeret!
|
||||
Supported games: = Understøttede spil: # AI translated
|
||||
Texture pack doesn't support install = Texture pack doesn't support install
|
||||
Zip archive corrupt = ZIP archive corrupt
|
||||
ZIP file = ZIP-fil
|
||||
|
||||
@@ -777,9 +777,11 @@ Import savedata from ZIP file = Gespeicherte Daten aus ZIP-Datei importieren
|
||||
Install = Installieren
|
||||
Install game from ZIP file? = Spiel aus ZIP-Datei installieren?
|
||||
Install into folder = In Ordner installieren
|
||||
Install plugin from ZIP file? = Plugin aus ZIP-Datei installieren? # AI translated
|
||||
Install textures from ZIP file? = Texturen von ZIP-Datei installieren?
|
||||
Installation failed = Installation fehlgeschlagen
|
||||
Installed! = Installiert!
|
||||
Supported games: = Unterstützte Spiele: # AI translated
|
||||
Texture pack doesn't support install = Texturpaket unterstützt keine Installation
|
||||
Zip archive corrupt = ZIP-Archiv beschädigt
|
||||
ZIP file = ZIP-Datei
|
||||
|
||||
@@ -778,9 +778,11 @@ Import savedata from ZIP file = Import savedata from ZIP file
|
||||
Install = Install
|
||||
Install game from ZIP file? = Install game from ZIP file?
|
||||
Install into folder = Install into folder
|
||||
Install plugin from ZIP file? = Pasang plugin dari file ZIP? # AI translated
|
||||
Install textures from ZIP file? = Install textures from ZIP file?
|
||||
Installation failed = Installation failed
|
||||
Installed! = Installed!
|
||||
Supported games: = Game yang didukung: # AI translated
|
||||
Texture pack doesn't support install = Texture pack doesn't support install
|
||||
Zip archive corrupt = ZIP archive corrupt
|
||||
ZIP file = File ZIP
|
||||
|
||||
@@ -779,9 +779,11 @@ Import savedata from ZIP file = Importar datos guardados desde archivo ZIP
|
||||
Install = Instalar
|
||||
Install game from ZIP file? = ¿Instalar juego desde archivo ZIP?
|
||||
Install into folder = Instalar en carpeta
|
||||
Install plugin from ZIP file? = ¿Instalar el plugin desde un archivo ZIP? # AI translated
|
||||
Install textures from ZIP file? = ¿Instalar texturas desde archivo ZIP?
|
||||
Installation failed = Instalación fallida
|
||||
Installed! = ¡Instalado!
|
||||
Supported games: = Juegos compatibles: # AI translated
|
||||
Texture pack doesn't support install = El paquete de texturas no admite instalación
|
||||
Zip archive corrupt = Archivo ZIP dañado
|
||||
ZIP file = Archivo ZIP
|
||||
|
||||
@@ -778,9 +778,11 @@ Import savedata from ZIP file = Import savedata from ZIP file
|
||||
Install = Instalar
|
||||
Install game from ZIP file? = ¿Instalar juego desde un archivo ZIP?
|
||||
Install into folder = Install into folder
|
||||
Install plugin from ZIP file? = ¿Instalar el complemento desde un archivo ZIP? # AI translated
|
||||
Install textures from ZIP file? = ¿Instalar texturas desde un archivo ZIP?
|
||||
Installation failed = Instalación fallida
|
||||
Installed! = ¡Instalado!
|
||||
Supported games: = Juegos compatibles: # AI translated
|
||||
Texture pack doesn't support install = El paquete de texturas no es compatible con la instalación.
|
||||
Zip archive corrupt = El archivo ZIP está dañado.
|
||||
ZIP file = Archivo ZIP
|
||||
|
||||
@@ -778,9 +778,11 @@ Import savedata from ZIP file = Import savedata from ZIP file
|
||||
Install = Install
|
||||
Install game from ZIP file? = Install game from ZIP file?
|
||||
Install into folder = Install into folder
|
||||
Install plugin from ZIP file? = نصب پلاگین از فایل ZIP؟ # AI translated
|
||||
Install textures from ZIP file? = Install textures from ZIP file?
|
||||
Installation failed = Installation failed
|
||||
Installed! = Installed!
|
||||
Supported games: = بازیهای پشتیبانیشده: # AI translated
|
||||
Texture pack doesn't support install = Texture pack doesn't support install
|
||||
Zip archive corrupt = ZIP archive corrupt
|
||||
ZIP file = فایل ZIP
|
||||
|
||||
@@ -779,9 +779,11 @@ Import savedata from ZIP file = Import savedata from ZIP file
|
||||
Install = Asenna
|
||||
Install game from ZIP file? = Asenna peli ZIP-tiedostosta?
|
||||
Install into folder = Install into folder
|
||||
Install plugin from ZIP file? = Asenna liitännäinen ZIP-tiedostosta? # AI translated
|
||||
Install textures from ZIP file? = Asenna tekstuureja ZIP-tiedostosta?
|
||||
Installation failed = Installation failed
|
||||
Installed! = Asenettu!
|
||||
Supported games: = Tuetut pelit: # AI translated
|
||||
Texture pack doesn't support install = Tekstuuripakkaus ei tue asennusta
|
||||
Zip archive corrupt = ZIP-arkisto on korruptoitunut
|
||||
ZIP file = ZIP-tiedosto
|
||||
|
||||
@@ -778,9 +778,11 @@ Import savedata from ZIP file = Import savedata from ZIP file
|
||||
Install = Installer
|
||||
Install game from ZIP file? = Installer le jeu depuis le fichier ZIP ?
|
||||
Install into folder = Install into folder
|
||||
Install plugin from ZIP file? = Installer le plugin à partir d'un fichier ZIP ? # AI translated
|
||||
Install textures from ZIP file? = Installer les textures depuis le fichier ZIP ?
|
||||
Installation failed = Installation failed
|
||||
Installed! = Installé !
|
||||
Supported games: = Jeux pris en charge : # AI translated
|
||||
Texture pack doesn't support install = Le pack de textures ne peut pas être installé
|
||||
Zip archive corrupt = Archive ZIP corrompue
|
||||
ZIP file = Fichier ZIP
|
||||
|
||||
@@ -778,9 +778,11 @@ Import savedata from ZIP file = Import savedata from ZIP file
|
||||
Install = Instalar
|
||||
Install game from ZIP file? = Instalar xogo dende un arquivo ZIP?
|
||||
Install into folder = Install into folder
|
||||
Install plugin from ZIP file? = Instala o complemento desde un arquivo ZIP? # AI translated
|
||||
Install textures from ZIP file? = Install textures from ZIP file?
|
||||
Installation failed = Installation failed
|
||||
Installed! = ¡Instalado!
|
||||
Supported games: = Xogos compatibles: # AI translated
|
||||
Texture pack doesn't support install = Texture pack doesn't support install
|
||||
Zip archive corrupt = ZIP archive corrupt
|
||||
ZIP file = Arquivo ZIP
|
||||
|
||||
@@ -778,9 +778,11 @@ Import savedata from ZIP file = Import savedata from ZIP file
|
||||
Install = Εγκατάσταση
|
||||
Install game from ZIP file? = Εγκατάσταση παιχνιδιού από το αρχείο ZIP?
|
||||
Install into folder = Install into folder
|
||||
Install plugin from ZIP file? = Εγκατάσταση πρόσθετου από ZIP αρχείο; # AI translated
|
||||
Install textures from ZIP file? = Install textures from ZIP file?
|
||||
Installation failed = Installation failed
|
||||
Installed! = Εγκαταστάθηκε!
|
||||
Supported games: = Υποστηριζόμενα παιχνίδια: # AI translated
|
||||
Texture pack doesn't support install = Το πακέτο υφής δεν υποστηρίζει την εγκατάσταση
|
||||
Zip archive corrupt = Το αρχείο ZIP είναι κατεστραμμένο
|
||||
ZIP file = Αρχείο ZIP
|
||||
|
||||
@@ -778,9 +778,11 @@ Import savedata from ZIP file = Import savedata from ZIP file
|
||||
Install = Install
|
||||
Install game from ZIP file? = Install game from ZIP file?
|
||||
Install into folder = Install into folder
|
||||
Install plugin from ZIP file? = התקנת תוסף מקובץ ZIP? # AI translated
|
||||
Install textures from ZIP file? = Install textures from ZIP file?
|
||||
Installation failed = Installation failed
|
||||
Installed! = Installed!
|
||||
Supported games: = משחקים נתמכים: # AI translated
|
||||
Texture pack doesn't support install = Texture pack doesn't support install
|
||||
Zip archive corrupt = ZIP archive corrupt
|
||||
ZIP file = קובץ ZIP
|
||||
|
||||
@@ -778,9 +778,11 @@ Import savedata from ZIP file = Import savedata from ZIP file
|
||||
Install = Install
|
||||
Install game from ZIP file? = Install game from ZIP file?
|
||||
Install into folder = Install into folder
|
||||
Install plugin from ZIP file? = התקנת קובץ ZIP מתוסף? # AI translated
|
||||
Install textures from ZIP file? = Install textures from ZIP file?
|
||||
Installation failed = Installation failed
|
||||
Installed! = Installed!
|
||||
Supported games: = דתמנגשימ : # AI translated
|
||||
Texture pack doesn't support install = Texture pack doesn't support install
|
||||
Zip archive corrupt = ZIP archive corrupt
|
||||
ZIP file = קובץ ZIP
|
||||
|
||||
@@ -778,9 +778,11 @@ Import savedata from ZIP file = Import savedata from ZIP file
|
||||
Install = Instaliraj
|
||||
Install game from ZIP file? = Instaliraj igru iz ZIP datoteke?
|
||||
Install into folder = Install into folder
|
||||
Install plugin from ZIP file? = Instalirajte dodatak iz ZIP datoteke? # AI translated
|
||||
Install textures from ZIP file? = Instaliraj teksture iz ZIP datoteke?
|
||||
Installation failed = Installation failed
|
||||
Installed! = Instalirano!
|
||||
Supported games: = Podržane igre: # AI translated
|
||||
Texture pack doesn't support install = Texture pack ne podržava instaliranje
|
||||
Zip archive corrupt = Koruptana ZIP arhiva
|
||||
ZIP file = ZIP datoteka
|
||||
|
||||
@@ -778,9 +778,11 @@ Import savedata from ZIP file = Import savedata from ZIP file
|
||||
Install = Telepítés
|
||||
Install game from ZIP file? = Játék telepítése ZIP fájlból?
|
||||
Install into folder = Telepítés mappába
|
||||
Install plugin from ZIP file? = Plugin telepítése ZIP fájlból? # AI translated
|
||||
Install textures from ZIP file? = Textúrák telepítése ZIP fájlból?
|
||||
Installation failed = Sikertelen telepítés
|
||||
Installed! = Telepítve!
|
||||
Supported games: = Támogatott játékok: # AI translated
|
||||
Texture pack doesn't support install = A textúra csomag nem támogatja a telepítést
|
||||
Zip archive corrupt = A ZIP archívum sérült
|
||||
ZIP file = ZIP fájl
|
||||
|
||||
@@ -778,9 +778,11 @@ Import savedata from ZIP file = Import savedata from ZIP file
|
||||
Install = Pasang
|
||||
Install game from ZIP file? = Pasang game dari berkas ZIP?
|
||||
Install into folder = Pasang di folder
|
||||
Install plugin from ZIP file? = Pasang plugin dari file ZIP? # AI translated
|
||||
Install textures from ZIP file? = Pasang tekstur dari file ZIP?
|
||||
Installation failed = Pemasangan gagal
|
||||
Installed! = Terpasang!
|
||||
Supported games: = Game yang didukung: # AI translated
|
||||
Texture pack doesn't support install = Paket tekstur tidak mendukung pemasangan
|
||||
Zip archive corrupt = Arzip ZIP rusak
|
||||
ZIP file = File ZIP
|
||||
|
||||
@@ -779,9 +779,11 @@ Import savedata from ZIP file = Importa i dati salvati dal file ZIP
|
||||
Install = Installa
|
||||
Install game from ZIP file? = Installare il gioco dal file ZIP?
|
||||
Install into folder = Installa nella cartella
|
||||
Install plugin from ZIP file? = Installa plugin da file ZIP? # AI translated
|
||||
Install textures from ZIP file? = Installare le texture dal file ZIP?
|
||||
Installation failed = Installazione fallita
|
||||
Installed! = Installato!
|
||||
Supported games: = Giochi supportati: # AI translated
|
||||
Texture pack doesn't support install = Il texture pack non supporta l'installazione
|
||||
Zip archive corrupt = Archivio ZIP corrotto
|
||||
ZIP file = File ZIP
|
||||
|
||||
@@ -778,9 +778,11 @@ Import savedata from ZIP file = ZIPファイルからセーブデータをイン
|
||||
Install = インストールする
|
||||
Install game from ZIP file? = ZIPファイルからゲームをインストールしますか?
|
||||
Install into folder = フォルダにインストール
|
||||
Install plugin from ZIP file? = ZIPファイルからプラグインをインストールしますか? # AI translated
|
||||
Install textures from ZIP file? = ZIPファイルからテクスチャをインストールしますか?
|
||||
Installation failed = インストール失敗
|
||||
Installed! = インストールしました
|
||||
Supported games: = サポートされているゲーム: # AI translated
|
||||
Texture pack doesn't support install = テクスチャパックがインストールをサポートしていません
|
||||
Zip archive corrupt = ZIPアーカイブが破損しています
|
||||
ZIP file = ZIPファイル
|
||||
|
||||
@@ -778,9 +778,11 @@ Import savedata from ZIP file = Import savedata from ZIP file
|
||||
Install = Nginstal
|
||||
Install game from ZIP file? = Nginstal dolanan saka berkas ZIP?
|
||||
Install into folder = Install into folder
|
||||
Install plugin from ZIP file? = Instalasi plugin saka file ZIP? # AI translated
|
||||
Install textures from ZIP file? = Install textures from ZIP file?
|
||||
Installation failed = Installation failed
|
||||
Installed! = Keinstal!
|
||||
Supported games: = Game sing didhukung: # AI translated
|
||||
Texture pack doesn't support install = Texture pack doesn't support install
|
||||
Zip archive corrupt = ZIP archive corrupt
|
||||
ZIP file = File ZIP
|
||||
|
||||
@@ -778,9 +778,11 @@ Import savedata from ZIP file = ZIP 파일에서 저장된 데이터 가져오
|
||||
Install = 설치
|
||||
Install game from ZIP file? = ZIP 파일에서 게임을 설치할까요?
|
||||
Install into folder = 폴더에 설치
|
||||
Install plugin from ZIP file? = ZIP 파일에서 플러그인을 설치하시겠습니까? # AI translated
|
||||
Install textures from ZIP file? = ZIP 파일에서 텍스처를 설치하겠습니까?
|
||||
Installation failed = 설치 실패
|
||||
Installed! = 설치되었습니다!
|
||||
Supported games: = 지원되는 게임: # AI translated
|
||||
Texture pack doesn't support install = 텍스처 팩은 설치를 지원하지 않습니다.
|
||||
Zip archive corrupt = ZIP 아카이브가 손상되었습니다.
|
||||
ZIP file = ZIP 파일
|
||||
|
||||
@@ -792,9 +792,11 @@ Import savedata from ZIP file = Import savedata from ZIP file
|
||||
Install = Install
|
||||
Install game from ZIP file? = Install game from ZIP file?
|
||||
Install into folder = Install into folder
|
||||
Install plugin from ZIP file? = Plugini ji pelê ZIP-ê re saz bike? # AI translated
|
||||
Install textures from ZIP file? = Install textures from ZIP file?
|
||||
Installation failed = Installation failed
|
||||
Installed! = Installed!
|
||||
Supported games: = Ludan piştgirî: # AI translated
|
||||
Texture pack doesn't support install = Texture pack doesn't support install
|
||||
Zip archive corrupt = ZIP archive corrupt
|
||||
ZIP file = Pelê ZIP
|
||||
|
||||
@@ -778,9 +778,11 @@ Import savedata from ZIP file = Import savedata from ZIP file
|
||||
Install = ຕິດຕັ້ງ
|
||||
Install game from ZIP file? = ຕິດຕັ້ງເກມຈາກໄຟລ໌ ZIP ຫຼືບໍ່?
|
||||
Install into folder = Install into folder
|
||||
Install plugin from ZIP file? = ແຕ່ງຕິດຕັ້ງສິນຄ້າຈາກໄຟລ໌ ZIP? # AI translated
|
||||
Install textures from ZIP file? = Install textures from ZIP file?
|
||||
Installation failed = Installation failed
|
||||
Installed! = ຕິດຕັ້ງແລ້ວ!
|
||||
Supported games: = ເກມທີ່ໄດ້ຮັບການສະໜັບສະໜູນ: # AI translated
|
||||
Texture pack doesn't support install = Texture pack doesn't support install
|
||||
Zip archive corrupt = ZIP archive corrupt
|
||||
ZIP file = File ZIP
|
||||
|
||||
@@ -778,9 +778,11 @@ Import savedata from ZIP file = Import savedata from ZIP file
|
||||
Install = Instaliuoti
|
||||
Install game from ZIP file? = Instaliuoti žaidimą iš ZIP failo?
|
||||
Install into folder = Install into folder
|
||||
Install plugin from ZIP file? = Įdiekite plėtinį iš ZIP failo? # AI translated
|
||||
Install textures from ZIP file? = Install textures from ZIP file?
|
||||
Installation failed = Installation failed
|
||||
Installed! = Instaliuota!
|
||||
Supported games: = Palaikomi žaidimai: # AI translated
|
||||
Texture pack doesn't support install = Texture pack doesn't support install
|
||||
Zip archive corrupt = ZIP archive corrupt
|
||||
ZIP file = ZIP failas
|
||||
|
||||
@@ -778,9 +778,11 @@ Import savedata from ZIP file = Import savedata from ZIP file
|
||||
Install = Pasang
|
||||
Install game from ZIP file? = Pasang permainan dari fail ZIP?
|
||||
Install into folder = Install into folder
|
||||
Install plugin from ZIP file? = Pasang pemalam dari fail ZIP? # AI translated
|
||||
Install textures from ZIP file? = Install textures from ZIP file?
|
||||
Installation failed = Installation failed
|
||||
Installed! = Dipasang!
|
||||
Supported games: = Permainan yang disokong: # AI translated
|
||||
Texture pack doesn't support install = Texture pack doesn't support install
|
||||
Zip archive corrupt = ZIP archive corrupt
|
||||
ZIP file = Fail ZIP
|
||||
|
||||
@@ -778,9 +778,11 @@ Import savedata from ZIP file = Import savedata from ZIP file
|
||||
Install = Installeren
|
||||
Install game from ZIP file? = Game installeren vanuit het ZIP-bestand?
|
||||
Install into folder = Install into folder
|
||||
Install plugin from ZIP file? = Plugin installeren vanaf ZIP-bestand? # AI translated
|
||||
Install textures from ZIP file? = Install textures from ZIP file?
|
||||
Installation failed = Installation failed
|
||||
Installed! = Installatie voltooid!
|
||||
Supported games: = Ondersteunde spellen: # AI translated
|
||||
Texture pack doesn't support install = Texture pack doesn't support install
|
||||
Zip archive corrupt = ZIP archive corrupt
|
||||
ZIP file = ZIP-bestand
|
||||
|
||||
@@ -778,9 +778,11 @@ Import savedata from ZIP file = Import savedata from ZIP file
|
||||
Install = Install
|
||||
Install game from ZIP file? = Install game from ZIP file?
|
||||
Install into folder = Install into folder
|
||||
Install plugin from ZIP file? = Installer plugin fra ZIP-fil? # AI translated
|
||||
Install textures from ZIP file? = Install textures from ZIP file?
|
||||
Installation failed = Installation failed
|
||||
Installed! = Installed!
|
||||
Supported games: = Støttede spill: # AI translated
|
||||
Texture pack doesn't support install = Texture pack doesn't support install
|
||||
Zip archive corrupt = ZIP archive corrupt
|
||||
ZIP file = ZIP-fil
|
||||
|
||||
@@ -782,9 +782,11 @@ Import savedata from ZIP file = Zaimportuj pliki zapisu z pliku ZIP
|
||||
Install = Zainstaluj
|
||||
Install game from ZIP file? = Zainstalować grę z pliku ZIP?
|
||||
Install into folder = Zainstaluj do folderu
|
||||
Install plugin from ZIP file? = Zainstaluj wtyczkę z pliku ZIP? # AI translated
|
||||
Install textures from ZIP file? = Czy zainstalować teksturę z archiwum ZIP?
|
||||
Installation failed = Instalacja zakończona porażką
|
||||
Installed! = Zainstalowano!
|
||||
Supported games: = Obsługiwane gry: # AI translated
|
||||
Texture pack doesn't support install = Paczka tekstur nie obsługuje instalacji
|
||||
Zip archive corrupt = Niepoprawne archiwum ZIP
|
||||
ZIP file = Plik ZIP
|
||||
|
||||
@@ -802,9 +802,11 @@ Import savedata from ZIP file = Importar dados salvos do arquivo ZIP
|
||||
Install = Instalar
|
||||
Install game from ZIP file? = Instalar o jogo do arquivo ZIP?
|
||||
Install into folder = Instalar na pasta
|
||||
Install plugin from ZIP file? = Instalar plugin a partir do arquivo ZIP? # AI translated
|
||||
Install textures from ZIP file? = Instalar as texturas do arquivo ZIP?
|
||||
Installation failed = A instalação falhou
|
||||
Installed! = Instalado!
|
||||
Supported games: = Jogos suportados: # AI translated
|
||||
Texture pack doesn't support install = O pacote das texturas não suporta a instalação
|
||||
Zip archive corrupt = Arquivo ZIP corrompido
|
||||
ZIP file = Arquivo ZIP
|
||||
|
||||
@@ -803,9 +803,11 @@ Import savedata from ZIP file = Importar dados salvos do ficheiro .zip
|
||||
Install = Instalar
|
||||
Install game from ZIP file? = Instalar o jogo do ficheiro .zip?
|
||||
Install into folder = Instalar para pasta
|
||||
Install plugin from ZIP file? = Instalar plugin a partir do ficheiro ZIP? # AI translated
|
||||
Install textures from ZIP file? = Instalar as texturas do ficheiro .zip?
|
||||
Installation failed = Erro ao instalar
|
||||
Installed! = Instalado!
|
||||
Supported games: = Jogos suportados: # AI translated
|
||||
Texture pack doesn't support install = O pacote de texturas não é compatível com a instalação.
|
||||
Zip archive corrupt = Ficheiro .zip corrompido.
|
||||
ZIP file = Ficheiro .zip
|
||||
|
||||
@@ -779,9 +779,11 @@ Import savedata from ZIP file = Import savedata from ZIP file
|
||||
Install = Instalează
|
||||
Install game from ZIP file? = Instalează joc din fișier ZIP?
|
||||
Install into folder = Install into folder
|
||||
Install plugin from ZIP file? = Instalare plugin din fișier ZIP? # AI translated
|
||||
Install textures from ZIP file? = Install textures from ZIP file?
|
||||
Installation failed = Installation failed
|
||||
Installed! = Instalat!
|
||||
Supported games: = Jocuri suportate: # AI translated
|
||||
Texture pack doesn't support install = Texture pack doesn't support install
|
||||
Zip archive corrupt = ZIP archive corrupt
|
||||
ZIP file = Fișier ZIP
|
||||
|
||||
@@ -778,9 +778,11 @@ Import savedata from ZIP file = Импорт сохранённых данных
|
||||
Install = Установить
|
||||
Install game from ZIP file? = Установить игру из файла ZIP?
|
||||
Install into folder = Установить в папку
|
||||
Install plugin from ZIP file? = Установить плагин из ZIP-файла? # AI translated
|
||||
Install textures from ZIP file? = Установить текстуры из файла ZIP?
|
||||
Installation failed = Не удалось установить
|
||||
Installed! = Установлено!
|
||||
Supported games: = Поддерживаемые игры: # AI translated
|
||||
Texture pack doesn't support install = Набор текстур не поддерживает установку
|
||||
Zip archive corrupt = ZIP-архив повреждён
|
||||
ZIP file = Файл ZIP
|
||||
|
||||
@@ -779,9 +779,11 @@ Import savedata from ZIP file = Importera sparade data från ZIP-fil
|
||||
Install = Installera
|
||||
Install game from ZIP file? = Installera spel från ZIP-fil?
|
||||
Install into folder = Installera i mapp
|
||||
Install plugin from ZIP file? = Installera plugin från ZIP-fil? # AI translated
|
||||
Install textures from ZIP file? = Installera texturer från ZIP-fil?
|
||||
Installation failed = Installation misslyckades
|
||||
Installed! = Installerad!
|
||||
Supported games: = Stödda spel: # AI translated
|
||||
Texture pack doesn't support install = Texturpaketet stöder ej installation
|
||||
Zip archive corrupt = ZIP-filen är korrupt
|
||||
ZIP file = ZIP-fil
|
||||
|
||||
@@ -779,9 +779,11 @@ Import savedata from ZIP file = Import savedata from ZIP file
|
||||
Install = Install
|
||||
Install game from ZIP file? = I-install ang laro mula sa ZIP file?
|
||||
Install into folder = Install into folder
|
||||
Install plugin from ZIP file? = Насбт кардани плагин аз файли ZIP? # AI translated
|
||||
Install textures from ZIP file? = I-install ang texture mula sa ZIP file?
|
||||
Installation failed = Hindi mainstall
|
||||
Installed! = Naka-install na!
|
||||
Supported games: = Бозии дастгиришударо: # AI translated
|
||||
Texture pack doesn't support install = Hindi sinusuportahan ng texture pack ang pag-install
|
||||
Zip archive corrupt = Sira ang ZIP archive
|
||||
ZIP file = ZIP файл
|
||||
|
||||
@@ -795,9 +795,11 @@ Import savedata from ZIP file = นำเข้าข้อมูลเซฟเ
|
||||
Install = ติดตั้ง
|
||||
Install game from ZIP file? = ต้องการติดตั้งเกมจากไฟล์ ZIP เลยหรือไม่?
|
||||
Install into folder = Install into folder
|
||||
Install plugin from ZIP file? = ติดตั้งปลั๊กอินจากไฟล์ ZIP? # AI translated
|
||||
Install textures from ZIP file? = ต้องการติดตั้งเท็คเจอร์จากไฟล์ ZIP เลยหรือไม่?
|
||||
Installation failed = การติดตั้งล้มเหลว
|
||||
Installed! = ติดตั้งเสร็จสิ้น!
|
||||
Supported games: = เกมที่รองรับ: # AI translated
|
||||
Texture pack doesn't support install = เท็คเจอร์แพ็คนี้ไม่รองรับการติดตั้ง
|
||||
Zip archive corrupt = ไฟล์ ZIP ไม่สมบูรณ์ (เสียจ้า)
|
||||
ZIP file = ไฟล์ ZIP
|
||||
|
||||
@@ -780,9 +780,11 @@ Import savedata from ZIP file = Kayıtlı verileri ZIP dosyasından içe aktar
|
||||
Install = Kur
|
||||
Install game from ZIP file? = ZIP dosyasından oyun kurulsun mu?
|
||||
Install into folder = Klasöre kur
|
||||
Install plugin from ZIP file? = ZIP dosyasından eklenti yükle? # AI translated
|
||||
Install textures from ZIP file? = ZIP dosyasından dokular kurulsun mu?
|
||||
Installation failed = Kurulum başarısız
|
||||
Installed! = Kuruldu!
|
||||
Supported games: = Desteklenen oyunlar: # AI translated
|
||||
Texture pack doesn't support install = Doku paketi kurulumu desteklemiyor
|
||||
Zip archive corrupt = ZIP arşivi bozuk
|
||||
ZIP file = ZIP dosyası
|
||||
|
||||
@@ -778,9 +778,11 @@ Import savedata from ZIP file = Імпорт збережених даних і
|
||||
Install = Встановити
|
||||
Install game from ZIP file? = Встановити гру з ZIP-файлу?
|
||||
Install into folder = Встановити в папку
|
||||
Install plugin from ZIP file? = Встановити плагін з ZIP-файлу? # AI translated
|
||||
Install textures from ZIP file? = Встановити текстури з ZIP-файлу?
|
||||
Installation failed = Помилка встановлення
|
||||
Installed! = Встановлено!
|
||||
Supported games: = Підтримувані ігри: # AI translated
|
||||
Texture pack doesn't support install = Пакет текстур не підтримує встановлення
|
||||
Zip archive corrupt = ZIP-архів пошкоджено
|
||||
ZIP file = ZIP файл
|
||||
|
||||
@@ -778,9 +778,11 @@ Import savedata from ZIP file = Import savedata from ZIP file
|
||||
Install = Cài đặt
|
||||
Install game from ZIP file? = Cài đặt trò chơi từ file ZIP?
|
||||
Install into folder = Install into folder
|
||||
Install plugin from ZIP file? = Cài đặt plugin từ tệp ZIP? # AI translated
|
||||
Install textures from ZIP file? = Install textures from ZIP file?
|
||||
Installation failed = Installation failed
|
||||
Installed! = Đã cài xong!
|
||||
Supported games: = Trò chơi được hỗ trợ: # AI translated
|
||||
Texture pack doesn't support install = Texture pack doesn't support install
|
||||
Zip archive corrupt = ZIP archive corrupt
|
||||
ZIP file = Tập tin ZIP
|
||||
|
||||
@@ -778,9 +778,11 @@ Import savedata from ZIP file = 从ZIP文件导入保存的数据
|
||||
Install = 安装
|
||||
Install game from ZIP file? = 从ZIP文件安装游戏?
|
||||
Install into folder = 在文件夹中安装
|
||||
Install plugin from ZIP file? = 从ZIP文件安装插件? # AI translated
|
||||
Install textures from ZIP file? = 从ZIP文件安装纹理包?
|
||||
Installation failed = 安装失败!
|
||||
Installed! = 安装完成!
|
||||
Supported games: = 支持的游戏: # AI translated
|
||||
Texture pack doesn't support install = 这个纹理包不支持安装使用
|
||||
Zip archive corrupt = ZIP文档损坏
|
||||
ZIP file = ZIP 文件
|
||||
|
||||
@@ -778,9 +778,11 @@ Import savedata from ZIP file = 從ZIP檔案匯入儲存的資料
|
||||
Install = 安裝
|
||||
Install game from ZIP file? = 從 ZIP 檔案安裝遊戲?
|
||||
Install into folder = 在資料夾中安裝
|
||||
Install plugin from ZIP file? = 從ZIP檔案安裝插件? # AI translated
|
||||
Install textures from ZIP file? = 從 ZIP 檔案安裝紋理?
|
||||
Installation failed = 安裝失敗
|
||||
Installed! = 已安裝!
|
||||
Supported games: = 支援的遊戲: # AI translated
|
||||
Texture pack doesn't support install = 紋理套件不支援安裝
|
||||
Zip archive corrupt = ZIP 封存損毀
|
||||
ZIP file = ZIP 檔案
|
||||
|
||||
Submodule ext/libchdr updated: 7891cbee2e...8bba7745d7
Reference in New Issue
Block a user