mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-05-29 00:21:34 +08:00
Merge pull request #21682 from hrydgard/cheat-downloads
Some checks failed
Generate Linux AppImage / build (aarch64) (push) Has been cancelled
Generate Linux AppImage / build (x86_64) (push) Has been cancelled
Build / build-windows (ARM64) (push) Has been cancelled
Build / build-windows (x64) (push) Has been cancelled
Build / build-uwp (push) Has been cancelled
Build / build (ios) (push) Has been cancelled
Build / build (macos) (push) Has been cancelled
Build / build (clang-normal) (push) Has been cancelled
Build / build (gcc-normal) (push) Has been cancelled
Build / build (macos-libretro) (push) Has been cancelled
Build / build (android-libretro) (push) Has been cancelled
Build / build (qt) (push) Has been cancelled
Build / build (android-vr) (push) Has been cancelled
Build / build (android-arm64) (push) Has been cancelled
Build / build (android-arm32) (push) Has been cancelled
Build / build (android-x86_64) (push) Has been cancelled
Build / build (clang-libretro) (push) Has been cancelled
Build / build (gcc-libretro) (push) Has been cancelled
Build / test-headless-alpine (push) Has been cancelled
Generate Docker Layer / build (push) Has been cancelled
Build / test-windows (push) Has been cancelled
Build / test (macos-latest) (push) Has been cancelled
Build / test (ubuntu-latest) (push) Has been cancelled
Some checks failed
Generate Linux AppImage / build (aarch64) (push) Has been cancelled
Generate Linux AppImage / build (x86_64) (push) Has been cancelled
Build / build-windows (ARM64) (push) Has been cancelled
Build / build-windows (x64) (push) Has been cancelled
Build / build-uwp (push) Has been cancelled
Build / build (ios) (push) Has been cancelled
Build / build (macos) (push) Has been cancelled
Build / build (clang-normal) (push) Has been cancelled
Build / build (gcc-normal) (push) Has been cancelled
Build / build (macos-libretro) (push) Has been cancelled
Build / build (android-libretro) (push) Has been cancelled
Build / build (qt) (push) Has been cancelled
Build / build (android-vr) (push) Has been cancelled
Build / build (android-arm64) (push) Has been cancelled
Build / build (android-arm32) (push) Has been cancelled
Build / build (android-x86_64) (push) Has been cancelled
Build / build (clang-libretro) (push) Has been cancelled
Build / build (gcc-libretro) (push) Has been cancelled
Build / test-headless-alpine (push) Has been cancelled
Generate Docker Layer / build (push) Has been cancelled
Build / test-windows (push) Has been cancelled
Build / test (macos-latest) (push) Has been cancelled
Build / test (ubuntu-latest) (push) Has been cancelled
Add simple way to download cheat databases
This commit is contained in:
@@ -57,6 +57,7 @@ enum class Log {
|
||||
GeDebugger,
|
||||
UI,
|
||||
IAP,
|
||||
CwCheats,
|
||||
|
||||
sceAudio,
|
||||
sceCtrl,
|
||||
|
||||
@@ -96,6 +96,7 @@ static const char * const g_logTypeNames[] = {
|
||||
"GEDEBUGGER",
|
||||
"UI",
|
||||
"IAP",
|
||||
"CWCHEATS",
|
||||
"SCEAUDIO",
|
||||
"SCECTRL",
|
||||
"SCEDISP",
|
||||
|
||||
@@ -34,9 +34,6 @@ public:
|
||||
level_ = level;
|
||||
text_ = text;
|
||||
}
|
||||
void SetSquishy(bool squishy) {
|
||||
squishy_ = squishy;
|
||||
}
|
||||
void SetWrapText(bool wrapText) {
|
||||
wrapText_ = wrapText;
|
||||
}
|
||||
@@ -53,8 +50,7 @@ private:
|
||||
std::string iconName_;
|
||||
NoticeLevel level_;
|
||||
mutable float height1_ = 0.0f;
|
||||
bool squishy_ = false;
|
||||
bool wrapText_ = false;
|
||||
bool wrapText_ = true;
|
||||
};
|
||||
|
||||
ImageID GetOSDIcon(NoticeLevel level);
|
||||
|
||||
@@ -816,6 +816,7 @@ void AskForInput(ScreenManager *screenManager, RequesterToken token, UI::View *s
|
||||
|
||||
PopupTextInputChoice::PopupTextInputChoice(RequesterToken token, std::string *value, std::string_view title, std::string_view placeholder, int maxLen, ScreenManager *screenManager, LayoutParams *layoutParams)
|
||||
: AbstractChoiceWithValueDisplay(title, layoutParams), screenManager_(screenManager), value_(value), placeHolder_(placeholder), maxLen_(maxLen), token_(token), restriction_(StringRestriction::None) {
|
||||
_dbg_assert_(value);
|
||||
OnClick.Handle(this, &PopupTextInputChoice::HandleClick);
|
||||
}
|
||||
|
||||
|
||||
@@ -18,29 +18,132 @@
|
||||
#include "ppsspp_config.h"
|
||||
#include "ext/xxhash.h"
|
||||
#include "Common/UI/UI.h"
|
||||
#include "Common/UI/PopupScreens.h"
|
||||
|
||||
#include "Common/Data/Text/I18n.h"
|
||||
#include "Common/Data/Encoding/Utf8.h"
|
||||
#include "Common/File/FileUtil.h"
|
||||
#include "Common/Net/HTTPClient.h"
|
||||
#include "Common/StringUtils.h"
|
||||
#include "Common/System/System.h"
|
||||
#include "Common/System/Request.h"
|
||||
#include "Common/UI/PopupScreens.h"
|
||||
#include "Core/System.h"
|
||||
#include "Core/Config.h"
|
||||
#include "Core/CwCheat.h"
|
||||
#include "Core/MIPS/JitCommon/JitCommon.h"
|
||||
|
||||
#undef new
|
||||
#ifdef SYSTEM_RAPIDJSON
|
||||
#include <rapidjson/document.h>
|
||||
#else
|
||||
#include "ext/rapidjson/include/rapidjson/document.h"
|
||||
#endif
|
||||
#include "Common/DbgNew.h"
|
||||
#include "UI/GameInfoCache.h"
|
||||
#include "UI/CwCheatScreen.h"
|
||||
#include "UI/MiscViews.h"
|
||||
|
||||
static const int FILE_CHECK_FRAME_INTERVAL = 53;
|
||||
|
||||
constexpr char g_cheatDBListUrl[] = "https://metadata.ppsspp.org/cheats.json";
|
||||
|
||||
static Path GetGlobalCheatFilePath() {
|
||||
return GetSysDirectory(DIRECTORY_CHEATS) / "cheat.db";
|
||||
}
|
||||
|
||||
struct CheatDatabaseDownloadInfo {
|
||||
std::string name;
|
||||
std::string maintainer;
|
||||
std::string url;
|
||||
};
|
||||
|
||||
// Use rapidjson to parse the cheat database list.
|
||||
std::vector<CheatDatabaseDownloadInfo> ParseJson(std::string_view json) {
|
||||
rapidjson::Document d;
|
||||
d.Parse(json.data(), json.size());
|
||||
|
||||
std::vector<CheatDatabaseDownloadInfo> downloads;
|
||||
|
||||
if (d.HasParseError()) {
|
||||
ERROR_LOG(Log::CwCheats, "Failed to parse cheat database list: %.*s", STR_VIEW(json));
|
||||
return downloads;
|
||||
}
|
||||
if (!d.IsObject()) {
|
||||
ERROR_LOG(Log::CwCheats, "1");
|
||||
return downloads;
|
||||
}
|
||||
if (!d.HasMember("databases") || !d["databases"].IsArray()) {
|
||||
ERROR_LOG(Log::CwCheats, "databases is not an array");
|
||||
return downloads;
|
||||
}
|
||||
|
||||
const auto& dbs = d["databases"];
|
||||
for (auto& db : dbs.GetArray()) {
|
||||
if (!db.IsObject())
|
||||
continue;
|
||||
CheatDatabaseDownloadInfo info;
|
||||
if (!db.HasMember("name") || !db["name"].IsString())
|
||||
continue;
|
||||
info.name = db["name"].GetString();
|
||||
if (!db.HasMember("maintainer") || !db["maintainer"].IsString())
|
||||
continue;
|
||||
info.maintainer = db["maintainer"].GetString();
|
||||
if (!db.HasMember("url") || !db["url"].IsString())
|
||||
continue;
|
||||
info.url = db["url"].GetString();
|
||||
downloads.push_back(info);
|
||||
}
|
||||
return downloads;
|
||||
}
|
||||
|
||||
class CwCheatDownloadPopupScreen : public UI::PopupScreen {
|
||||
public:
|
||||
CwCheatDownloadPopupScreen();
|
||||
|
||||
void CreatePopupContents(UI::ViewGroup *parent) override;
|
||||
void update() override;
|
||||
|
||||
const char *tag() const override { return "CwCheatDownloadScreen"; }
|
||||
|
||||
const std::string &ChosenUrl() const { return chosenUrl_; }
|
||||
|
||||
private:
|
||||
std::shared_ptr<http::Request> cheatsRequest_;
|
||||
std::string chosenUrl_;
|
||||
std::vector<CheatDatabaseDownloadInfo> cheatDbs_;
|
||||
};
|
||||
|
||||
CwCheatDownloadPopupScreen::CwCheatDownloadPopupScreen() : PopupScreen(T(I18NCat::DIALOG, "Back")) {
|
||||
cheatsRequest_ = g_DownloadManager.StartDownload(g_cheatDBListUrl, Path(), http::RequestFlags::KeepInMemory, nullptr, "cheatdblist");
|
||||
}
|
||||
|
||||
void CwCheatDownloadPopupScreen::update() {
|
||||
UI::PopupScreen::update();
|
||||
if (cheatsRequest_ && cheatsRequest_->Done()) {
|
||||
std::string data;
|
||||
cheatsRequest_->buffer().TakeAll(&data);
|
||||
cheatDbs_ = ParseJson(data);
|
||||
cheatsRequest_.reset();
|
||||
RecreateViews();
|
||||
}
|
||||
}
|
||||
|
||||
void CwCheatDownloadPopupScreen::CreatePopupContents(UI::ViewGroup *parent) {
|
||||
using namespace UI;
|
||||
auto cw = GetI18NCategory(I18NCat::CWCHEATS);
|
||||
|
||||
if (File::Exists(GetGlobalCheatFilePath())) {
|
||||
parent->Add(new NoticeView(NoticeLevel::WARN, cw->T("A cheat database already exists. Downloading a new one will overwrite it."), ""));
|
||||
}
|
||||
|
||||
for (auto &db : cheatDbs_) {
|
||||
parent->Add(new Choice(db.name + " - " + db.maintainer, ImageID("I_DOWNLOAD")))->OnClick.Add([this, url = db.url](UI::EventParams &) {
|
||||
INFO_LOG(Log::CwCheats, "Chosen cheat database URL: %s", url.c_str());
|
||||
chosenUrl_ = url;
|
||||
TriggerFinish(DialogResult::DR_OK);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
CwCheatScreen::CwCheatScreen(const Path &gamePath)
|
||||
: UITwoPaneBaseDialogScreen(gamePath, TwoPaneFlags::Default) {
|
||||
}
|
||||
@@ -61,8 +164,7 @@ bool CwCheatScreen::TryLoadCheatInfo() {
|
||||
return false;
|
||||
}
|
||||
gameID = info->GetParamSFO().GetValueString("DISC_ID");
|
||||
if ((info->id.empty() || !info->disc_total)
|
||||
&& gamePath_.FilePathContainsNoCase("PSP/GAME/")) {
|
||||
if ((info->id.empty() || !info->disc_total) && gamePath_.FilePathContainsNoCase("PSP/GAME/")) {
|
||||
gameID = g_paramSFO.GenerateFakeID(gamePath_);
|
||||
}
|
||||
|
||||
@@ -100,6 +202,19 @@ bool CwCheatScreen::key(const KeyInput &input) {
|
||||
return UITwoPaneBaseDialogScreen::key(input);
|
||||
}
|
||||
|
||||
void CwCheatScreen::dialogFinished(const Screen *dialog, DialogResult result) {
|
||||
if (auto downloadScreen = dynamic_cast<const CwCheatDownloadPopupScreen *>(dialog)) {
|
||||
if (downloadRequest_) {
|
||||
ERROR_LOG(Log::CwCheats, "Download already in progress, ignoring new download request.");
|
||||
return;
|
||||
}
|
||||
INFO_LOG(Log::CwCheats, "Starting download of cheat database from %s", downloadScreen->ChosenUrl().c_str());
|
||||
downloadRequest_ = g_DownloadManager.StartDownload(downloadScreen->ChosenUrl(), GetGlobalCheatFilePath(), http::RequestFlags::ProgressBar, nullptr, "cheatdbdownload");
|
||||
} else {
|
||||
UITwoPaneBaseDialogScreen::dialogFinished(dialog, result);
|
||||
}
|
||||
}
|
||||
|
||||
void CwCheatScreen::CreateSettingsViews(UI::ViewGroup *leftColumn) {
|
||||
using namespace UI;
|
||||
auto cw = GetI18NCategory(I18NCat::CWCHEATS);
|
||||
@@ -109,6 +224,10 @@ void CwCheatScreen::CreateSettingsViews(UI::ViewGroup *leftColumn) {
|
||||
//leftColumn->Add(new Choice(cw->T("Add Cheat")))->OnClick.Handle(this, &CwCheatScreen::OnAddCheat);
|
||||
leftColumn->Add(new ItemHeader(cw->T("Import Cheats")));
|
||||
|
||||
leftColumn->Add(new Choice(cw->T("Download cheat database")))->OnClick.Add([this](UI::EventParams &) {
|
||||
screenManager()->push(new CwCheatDownloadPopupScreen());
|
||||
});
|
||||
|
||||
Path cheatPath = GetGlobalCheatFilePath();
|
||||
|
||||
std::string root = GetSysDirectory(DIRECTORY_MEMSTICK_ROOT).ToString();
|
||||
@@ -222,6 +341,16 @@ void CwCheatScreen::update() {
|
||||
fileCheckCounter_ = 0;
|
||||
}
|
||||
|
||||
if (downloadRequest_ && downloadRequest_->Done()) {
|
||||
if (!downloadRequest_->Failed()) {
|
||||
INFO_LOG(Log::CwCheats, "Cheat database downloaded successfully to %s.", GetGlobalCheatFilePath().ToVisualString().c_str());
|
||||
RecreateViews();
|
||||
} else {
|
||||
ERROR_LOG(Log::CwCheats, "Failed to download cheat database");
|
||||
}
|
||||
downloadRequest_.reset();
|
||||
}
|
||||
|
||||
UIBaseDialogScreen::update();
|
||||
}
|
||||
|
||||
@@ -313,7 +442,7 @@ void CwCheatScreen::OnImportBrowse(UI::EventParams ¶ms) {
|
||||
return;
|
||||
}
|
||||
Path path(value);
|
||||
INFO_LOG(Log::System, "Attempting to load cheats from: '%s'", path.ToVisualString().c_str());
|
||||
INFO_LOG(Log::CwCheats, "Attempting to load cheats from: '%s'", path.ToVisualString().c_str());
|
||||
int cheatsFound = 0;
|
||||
ImportAndReport(path);
|
||||
});
|
||||
@@ -327,12 +456,12 @@ void CwCheatScreen::OnImportCheat(UI::EventParams ¶ms) {
|
||||
bool CwCheatScreen::ImportCheats(const Path &cheatFile, int *cheatsFound) {
|
||||
FILE *in = File::OpenCFile(cheatFile, "rt");
|
||||
if (!in) {
|
||||
WARN_LOG(Log::Common, "Unable to open %s\n", cheatFile.c_str());
|
||||
WARN_LOG(Log::CwCheats, "Unable to open %s\n", cheatFile.c_str());
|
||||
return false;
|
||||
}
|
||||
|
||||
if (gameID_.length() != 9 || !engine_) {
|
||||
WARN_LOG(Log::Common, "CWCHEAT: Incorrect ID(%s) - can't import cheats.", gameID_.c_str());
|
||||
WARN_LOG(Log::CwCheats, "CWCHEAT: Incorrect ID(%s) - can't import cheats.", gameID_.c_str());
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@@ -26,6 +26,7 @@
|
||||
#include "UI/BaseScreens.h"
|
||||
#include "UI/SimpleDialogScreen.h"
|
||||
#include "UI/MiscViews.h"
|
||||
#include "Common/Net/HTTPClient.h"
|
||||
|
||||
struct CheatFileInfo;
|
||||
class CWCheatEngine;
|
||||
@@ -58,6 +59,8 @@ protected:
|
||||
void CreateContentViews(UI::ViewGroup *) override;
|
||||
std::string_view GetTitle() const override;
|
||||
|
||||
void dialogFinished(const Screen *dialog, DialogResult result) override;
|
||||
|
||||
private:
|
||||
void OnCheckBox(int index);
|
||||
bool ImportCheats(const Path &cheatFile, int *cheatsFound);
|
||||
@@ -80,4 +83,6 @@ private:
|
||||
|
||||
UI::ViewGroup *cheatList_ = nullptr;
|
||||
ViewSearch search_;
|
||||
|
||||
std::shared_ptr<http::Request> downloadRequest_;
|
||||
};
|
||||
|
||||
@@ -439,10 +439,6 @@ void NoticeView::GetContentDimensionsBySpec(const UIContext &dc, UI::MeasureSpec
|
||||
ApplyBoundBySpec(layoutWidth, horiz);
|
||||
const int align = wrapText_ ? FLAG_WRAP_TEXT : 0;
|
||||
MeasureNotice(dc, level_, text_, detailsText_, iconName_, align, layoutWidth, &w, &h, &height1_);
|
||||
// Layout hack! Some weird problems with the layout that I can't figure out right now..
|
||||
if (squishy_) {
|
||||
w = 50.0;
|
||||
}
|
||||
}
|
||||
|
||||
void NoticeView::Draw(UIContext &dc) {
|
||||
|
||||
@@ -197,6 +197,7 @@ static const ImageMeta g_uiImageIDs[] = {
|
||||
{"I_ARCHIVE_ZIP", false},
|
||||
{"I_ARCHIVE_7Z", false},
|
||||
{"I_ARCHIVE_RAR", false},
|
||||
{"I_DOWNLOAD", false},
|
||||
};
|
||||
|
||||
static std::string PNGNameFromID(std::string_view id) {
|
||||
|
||||
@@ -1185,6 +1185,7 @@
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||
</None>
|
||||
<None Include="..\assets\cheats.json" />
|
||||
<None Include="..\assets\compat.ini" />
|
||||
<None Include="..\assets\compatvr.ini" />
|
||||
<None Include="..\assets\infra-dns.json">
|
||||
|
||||
@@ -845,6 +845,9 @@
|
||||
<None Include="..\assets\shaders\defaultshaders.ini">
|
||||
<Filter>assets</Filter>
|
||||
</None>
|
||||
<None Include="..\assets\cheats.json">
|
||||
<Filter>assets</Filter>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="ppsspp.rc">
|
||||
|
||||
9
assets/cheats.json
Normal file
9
assets/cheats.json
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"databases": [
|
||||
{
|
||||
"name": "CWCheat-Database-Plus",
|
||||
"maintainer": "Saramagrean",
|
||||
"url": "https://raw.githubusercontent.com/Saramagrean/CWCheat-Database-Plus-/refs/heads/master/cheat.db"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -203,8 +203,10 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
A cheat database already exists. Downloading a new one will overwrite it. = قاعدة بيانات الغش موجودة بالفعل. تنزيل جديدة سيؤدي إلى استبدالها. # AI translated
|
||||
Added %1 cheats for this game = تمت إضافة %1 غش لهذه اللعبة # AI translated
|
||||
Cheats = الغش
|
||||
Download cheat database = قم بتنزيل قاعدة بيانات الغش # AI translated
|
||||
Edit Cheat File = عدل ملف الغش
|
||||
Import Cheats = إستورد من cheat.db
|
||||
Import from %s = إستورد من %s
|
||||
|
||||
@@ -195,8 +195,10 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
A cheat database already exists. Downloading a new one will overwrite it. = Artıq bir fırıldaq verilənlər bazası mövcuddur. Yeni birini yükləmək onu əvəz edəcək. # AI translated
|
||||
Added %1 cheats for this game = %1 kod oyuna əlavə edildi # AI translated
|
||||
Cheats = Hiylələr
|
||||
Download cheat database = Davam et edin cheat verilənlər bazası # AI translated
|
||||
Edit Cheat File = Hiylə faylını düzəlt
|
||||
Import Cheats = Cheat.db'dən götür
|
||||
Import from %s = %s yerindən götür
|
||||
|
||||
@@ -195,8 +195,10 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
A cheat database already exists. Downloading a new one will overwrite it. = База дадзеных чыт-кода ўжо існуе. Спампоўка новай зьменіць яе. # AI translated
|
||||
Added %1 cheats for this game = Дададзена %1 чыт для гэтай гульні # AI translated
|
||||
Cheats = Чыты
|
||||
Download cheat database = Скачайце базу даных чыт # AI translated
|
||||
Edit Cheat File = Рэдагаваць файл чытаў
|
||||
Import Cheats = Імпарт з cheat.db
|
||||
Import from %s = Імпарт з %s
|
||||
|
||||
@@ -195,8 +195,10 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
A cheat database already exists. Downloading a new one will overwrite it. = Базата с кодове вече съществува. Изтеглянето на нова ще я замени. # AI translated
|
||||
Added %1 cheats for this game = Добавени са %1 чийтове за тази игра # AI translated
|
||||
Cheats = Чийтове
|
||||
Download cheat database = Изтеглете базата данни с трикове # AI translated
|
||||
Edit Cheat File = Редактиране на чийтове файл
|
||||
Import Cheats = Внеси от cheat.db
|
||||
Import from %s = Внеси от %s
|
||||
|
||||
@@ -195,8 +195,10 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
A cheat database already exists. Downloading a new one will overwrite it. = Ja existeix una base de dades de trucs. Descarregar-ne una nova la sobrescriurà. # AI translated
|
||||
Added %1 cheats for this game = S'han afegit %1 trucs per a aquest joc # AI translated
|
||||
Cheats = Trucs
|
||||
Download cheat database = Descarrega la base de dades de trics # AI translated
|
||||
Edit Cheat File = Editar el fitxer de trucs
|
||||
Import Cheats = Importar «cheat.db»
|
||||
Import from %s = Importar %s
|
||||
|
||||
@@ -195,8 +195,10 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
A cheat database already exists. Downloading a new one will overwrite it. = Databáze cheatů již existuje. Stáhnutí nové ji přepíše. # AI translated
|
||||
Added %1 cheats for this game = Přidáno %1 cheatů pro tuto hru # AI translated
|
||||
Cheats = Cheaty
|
||||
Download cheat database = Stáhnout databázi cheatů # AI translated
|
||||
Edit Cheat File = Upravit soubor s cheaty
|
||||
Import Cheats = Importovat z cheat.db
|
||||
Import from %s = Importovat z %s
|
||||
|
||||
@@ -195,8 +195,10 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
A cheat database already exists. Downloading a new one will overwrite it. = En snyde-database eksisterer allerede. Download af en ny vil overskrive den. # AI translated
|
||||
Added %1 cheats for this game = Tilføjet %1 snyd til dette spil # AI translated
|
||||
Cheats = Snyd
|
||||
Download cheat database = Download cheat-database # AI translated
|
||||
Edit Cheat File = Editer snydefil
|
||||
Import Cheats = Import from cheat.db
|
||||
Import from %s = Importer fra %s
|
||||
|
||||
@@ -195,8 +195,10 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
A cheat database already exists. Downloading a new one will overwrite it. = Eine Cheat-Datenbank existiert bereits. Das Herunterladen einer neuen wird sie überschreiben. # AI translated
|
||||
Added %1 cheats for this game = Es wurden %1 Cheats für dieses Spiel hinzugefügt # AI translated
|
||||
Cheats = Cheats
|
||||
Download cheat database = Cheat-Datenbank herunterladen # AI translated
|
||||
Edit Cheat File = Cheat-Datei ändern
|
||||
Import Cheats = Cheats importieren (aus cheat.db)
|
||||
Import from %s = Importieren von %s
|
||||
|
||||
@@ -195,8 +195,10 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
A cheat database already exists. Downloading a new one will overwrite it. = Database cheat sudah ada. Mengunduh yang baru akan menimpanya. # AI translated
|
||||
Added %1 cheats for this game = Ditambahkan %1 cheat untuk game ini # AI translated
|
||||
Cheats = Cheat
|
||||
Download cheat database = Unduh database cheat # AI translated
|
||||
Edit Cheat File = Edit cheat file
|
||||
Import Cheats = Patamanni cheat.db
|
||||
Import from %s = Patamanni %s
|
||||
|
||||
@@ -219,8 +219,10 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
A cheat database already exists. Downloading a new one will overwrite it. = A cheat database already exists. Downloading a new one will overwrite it.
|
||||
Added %1 cheats for this game = Added %1 cheats for this game
|
||||
Cheats = Cheats
|
||||
Download cheat database = Download cheat database
|
||||
Edit Cheat File = Edit cheat file
|
||||
Import Cheats = Import from cheat.db
|
||||
Import from %s = Import from %s
|
||||
|
||||
@@ -196,8 +196,10 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
A cheat database already exists. Downloading a new one will overwrite it. = Ya existe una base de datos de trucos. Descargar una nueva la sobrescribirá. # AI translated
|
||||
Added %1 cheats for this game = Añadidos %1 trucos para este juego # AI translated
|
||||
Cheats = Trucos
|
||||
Download cheat database = Descargar base de datos de trampas # AI translated
|
||||
Edit Cheat File = Editar archivo de trucos
|
||||
Import Cheats = Importar archivo cheat.db
|
||||
Import from %s = Importar desde %s
|
||||
|
||||
@@ -195,8 +195,10 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
A cheat database already exists. Downloading a new one will overwrite it. = Ya existe una base de datos de trucos. Descargar una nueva la sobrescribirá. # AI translated
|
||||
Added %1 cheats for this game = Se añadieron %1 trucos para este juego # AI translated
|
||||
Cheats = Trucos
|
||||
Download cheat database = Descargar base de datos de trucos # AI translated
|
||||
Edit Cheat File = Editar archivo de trucos
|
||||
Import Cheats = Importar archivo cheat.db
|
||||
Import from %s = Importar desde %s
|
||||
|
||||
@@ -195,8 +195,10 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
A cheat database already exists. Downloading a new one will overwrite it. = یک پایگاه داده تقلب already موجود است. دانلود یک پایگاه داده جدید آن را جایگزین خواهد کرد. # AI translated
|
||||
Added %1 cheats for this game = به این بازی %1 تقلب اضافه شد # AI translated
|
||||
Cheats = کدهای تقلب
|
||||
Download cheat database = دانلود پایگاه داده تقلب # AI translated
|
||||
Edit Cheat File = ویرایش فایل کدها
|
||||
Import Cheats = cheat.db وارد کردن از
|
||||
Import from %s = وارد کردن از %s
|
||||
|
||||
@@ -195,8 +195,10 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
A cheat database already exists. Downloading a new one will overwrite it. = Huijaustietokanta on jo olemassa. Uuden lataaminen korvasi sen. # AI translated
|
||||
Added %1 cheats for this game = Lisätty %1 koodia tälle pelille # AI translated
|
||||
Cheats = Huijaukset
|
||||
Download cheat database = Lataa huijaustietokanta # AI translated
|
||||
Edit Cheat File = Muokkaa huijaustiedostoa
|
||||
Import Cheats = Tuo huijauksia
|
||||
Import from %s = %s
|
||||
|
||||
@@ -219,8 +219,10 @@ X = Axe X
|
||||
Y = Axe Y
|
||||
|
||||
[CwCheats]
|
||||
A cheat database already exists. Downloading a new one will overwrite it. = Une base de données de triches existe déjà. Télécharger une nouvelle l'écrasera. # AI translated
|
||||
Added %1 cheats for this game = Ajout de %1 astuces pour ce jeu # AI translated
|
||||
Cheats = Codes de triche
|
||||
Download cheat database = Télécharger la base de données de triche # AI translated
|
||||
Edit Cheat File = Modifier le fichier de triche
|
||||
Import Cheats = Importer des codes de triche
|
||||
Import from %s = Importer de %s
|
||||
|
||||
@@ -195,8 +195,10 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
A cheat database already exists. Downloading a new one will overwrite it. = Xa existe unha base de datos de trampas. Descargar unha nova sobrescribirá a existente. # AI translated
|
||||
Added %1 cheats for this game = Engadidos %1 trucos para este xogo # AI translated
|
||||
Cheats = Trucos
|
||||
Download cheat database = Descarga a base de datos de trucos # AI translated
|
||||
Edit Cheat File = Editar arquivo de trucos
|
||||
Import Cheats = Importar cheat.db
|
||||
Import from %s = Importar %s
|
||||
|
||||
@@ -195,8 +195,10 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
A cheat database already exists. Downloading a new one will overwrite it. = Μια βάση δεδομένων cheat υπάρχει ήδη. Η λήψη μιας νέας θα την αντικαταστήσει. # AI translated
|
||||
Added %1 cheats for this game = Προστέθηκαν %1 cheats για αυτό το παιχνίδι # AI translated
|
||||
Cheats = Κωδικοί
|
||||
Download cheat database = Κατεβάστε τη βάση δεδομένων cheat # AI translated
|
||||
Edit Cheat File = Επεξεργασία αρχείου κωδικών
|
||||
Import Cheats = Εισαγωγή από cheat.db
|
||||
Import from %s = Εισαγωγή από %s
|
||||
|
||||
@@ -195,8 +195,10 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
A cheat database already exists. Downloading a new one will overwrite it. = מאגר נתוני רמאות קיים כבר. הורדת אחד חדש תחליף אותו. # AI translated
|
||||
Added %1 cheats for this game = הוספו %1 קודי רמאות למשחק הזה # AI translated
|
||||
Cheats = Cheats
|
||||
Download cheat database = הורד את מסד הנתונים של ההונאות # AI translated
|
||||
Edit Cheat File = Edit cheat file
|
||||
Import Cheats = Import from cheat.db
|
||||
Import from %s = Import from %s
|
||||
|
||||
@@ -195,8 +195,10 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
A cheat database already exists. Downloading a new one will overwrite it. = מאגר נתוני רמאות קיים כבר. הורדת אחד חדש תחליף אותו. # AI translated
|
||||
Added %1 cheats for this game = המשחק הזה קיבל %1 קודי רמאות # AI translated
|
||||
Cheats = Cheats
|
||||
Download cheat database = שדר מסד הנתונים של ההונאות # AI translated
|
||||
Edit Cheat File = Edit cheat file
|
||||
Import Cheats = Import from cheat.db
|
||||
Import from %s = Import from %s
|
||||
|
||||
@@ -195,8 +195,10 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
A cheat database already exists. Downloading a new one will overwrite it. = Baza podataka o prevarama već postoji. Preuzimanje nove će je prebrisati. # AI translated
|
||||
Added %1 cheats for this game = Dodano %1 varanja za ovu igru # AI translated
|
||||
Cheats = Šifre
|
||||
Download cheat database = Preuzmi bazu podataka s podvalama # AI translated
|
||||
Edit Cheat File = Izmijeni cheat datoteku
|
||||
Import Cheats = Uvezi iz cheat.db
|
||||
Import from %s = Uvezi iz %s
|
||||
|
||||
@@ -195,8 +195,10 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
A cheat database already exists. Downloading a new one will overwrite it. = A csalás adatbázis már létezik. Egy új letöltése felülírja ezt. # AI translated
|
||||
Added %1 cheats for this game = %1 csalást adtunk hozzá ehhez a játékhoz # AI translated
|
||||
Cheats = Csalások
|
||||
Download cheat database = Töltse le a csalás adatbázist # AI translated
|
||||
Edit Cheat File = Csalás fájl szerkesztése
|
||||
Import Cheats = Importálás cheat.db-ből
|
||||
Import from %s = Importálás innen: %s
|
||||
|
||||
@@ -195,8 +195,10 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
A cheat database already exists. Downloading a new one will overwrite it. = Database kecurangan sudah ada. Mengunduh yang baru akan menimpanya. # AI translated
|
||||
Added %1 cheats for this game = Ditambahkan %1 cheat untuk permainan ini # AI translated
|
||||
Cheats = Cheat
|
||||
Download cheat database = Unduh basis data cheat # AI translated
|
||||
Edit Cheat File = Edit berkas cheat
|
||||
Import Cheats = Impor dari cheat.db
|
||||
Import from %s = Impor dari %s
|
||||
|
||||
@@ -195,8 +195,10 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
A cheat database already exists. Downloading a new one will overwrite it. = Esiste già un database di trucchi. Scaricare uno nuovo lo sovrascriverà. # AI translated
|
||||
Added %1 cheats for this game = Aggiunti %1 trucchi per questo gioco # AI translated
|
||||
Cheats = Trucchi
|
||||
Download cheat database = Scarica il database dei cheat # AI translated
|
||||
Edit Cheat File = Modifica file Trucchi
|
||||
Import Cheats = Importa da cheat.db
|
||||
Import from %s = Importa da %s
|
||||
|
||||
@@ -195,8 +195,10 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
A cheat database already exists. Downloading a new one will overwrite it. = チートデータベースはすでに存在します。新しいものをダウンロードすると上書きされます。 # AI translated
|
||||
Added %1 cheats for this game = このゲームに%1 チートが追加されました # AI translated
|
||||
Cheats = チート
|
||||
Download cheat database = チートデータベースをダウンロード # AI translated
|
||||
Edit Cheat File = チートファイルを編集する
|
||||
Import Cheats = cheat.dbからインポートする
|
||||
Import from %s = %sからインポートする
|
||||
|
||||
@@ -195,8 +195,10 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
A cheat database already exists. Downloading a new one will overwrite it. = Database curang wis ana. Ngundhuh anyar bakal ngowahi. # AI translated
|
||||
Added %1 cheats for this game = Dianyari %1 curang kanggo game iki # AI translated
|
||||
Cheats = Mbeling
|
||||
Download cheat database = Download database cheat # AI translated
|
||||
Edit Cheat File = Sunting berkas mbeling
|
||||
Import Cheats = Import from cheat.db
|
||||
Import from %s = Njokot soko %s
|
||||
|
||||
@@ -195,8 +195,10 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
A cheat database already exists. Downloading a new one will overwrite it. = 치트 데이터베이스가 이미 존재합니다. 새로 다운로드하면 덮어쓰게 됩니다. # AI translated
|
||||
Added %1 cheats for this game = 이 게임에 %1 치트가 추가되었습니다 # AI translated
|
||||
Cheats = 치트
|
||||
Download cheat database = 치트 데이터베이스 다운로드 # AI translated
|
||||
Edit Cheat File = 치트 파일 수정
|
||||
Import Cheats = cheat.db에서 가져오기
|
||||
Import from %s = %s에서 가져오기
|
||||
|
||||
@@ -208,8 +208,10 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
A cheat database already exists. Downloading a new one will overwrite it. = Danezana cheat heye. Daneyek nû dakêşan wê ew lê bigire. # AI translated
|
||||
Added %1 cheats for this game = Lihevhatin %1 tîkîne ji bo vê lîstikê # AI translated
|
||||
Cheats = Cheats
|
||||
Download cheat database = Download cheat database # AI translated
|
||||
Edit Cheat File = Edit cheat file
|
||||
Import Cheats = Import from cheat.db
|
||||
Import from %s = Import from %s
|
||||
|
||||
@@ -195,8 +195,10 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
A cheat database already exists. Downloading a new one will overwrite it. = ລົບລູກວິທີບໍ່ມີໃບອະທິບາຍແລ້ວ. ການດາວໂອນໃໝ່ຈະປ່ອນໃຫມ່. # AI translated
|
||||
Added %1 cheats for this game = ເພີ່ມເຂົ້າແບບ %1 ສໍາລັບເກมນີ້ # AI translated
|
||||
Cheats = ການໃຊ້ສູດໂກງ
|
||||
Download cheat database = ດາວ໌ໍ່ສູງປະເພດຂອງຄອບຂໍ້ມູນ # AI translated
|
||||
Edit Cheat File = ປັບແຕ່ງໄຟລ໌ສູດໂກງ
|
||||
Import Cheats = Import from cheat.db
|
||||
Import from %s = ນຳເຂົ້າຈາກໄຟລ໌ສູດໂກງ %s
|
||||
|
||||
@@ -195,8 +195,10 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
A cheat database already exists. Downloading a new one will overwrite it. = Apgaulės duomenų bazė jau egzistuoja. Atsisiųsti naują ją perrašys. # AI translated
|
||||
Added %1 cheats for this game = Pridėta %1 sukčiavimų šiai žaidimui # AI translated
|
||||
Cheats = Kodai
|
||||
Download cheat database = Atsisiųsti apgaulės duomenų bazę # AI translated
|
||||
Edit Cheat File = Redaguoti kodų failą
|
||||
Import Cheats = Importuoti iš cheat.db
|
||||
Import from %s = Importuoti iš %s
|
||||
|
||||
@@ -195,8 +195,10 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
A cheat database already exists. Downloading a new one will overwrite it. = Pangkalan data penipuan sudah ada. Memuat turun yang baru akan menimpanya. # AI translated
|
||||
Added %1 cheats for this game = Ditambahkan %1 helah untuk permainan ini # AI translated
|
||||
Cheats = Cheat
|
||||
Download cheat database = Muat turun pangkalan data cheat # AI translated
|
||||
Edit Cheat File = Ubah cheat file
|
||||
Import Cheats = Import dari cheat.db
|
||||
Import from %s = Import dari %s
|
||||
|
||||
@@ -195,8 +195,10 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
A cheat database already exists. Downloading a new one will overwrite it. = Een cheat-database bestaat al. Het downloaden van een nieuwe zal deze overschrijven. # AI translated
|
||||
Added %1 cheats for this game = Toegevoegd %1 cheats voor dit spel # AI translated
|
||||
Cheats = Cheats
|
||||
Download cheat database = Download cheat-database # AI translated
|
||||
Edit Cheat File = Cheatbestand bewerken
|
||||
Import Cheats = Importeren van cheat.db
|
||||
Import from %s = Importeren van %s
|
||||
|
||||
@@ -195,8 +195,10 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
A cheat database already exists. Downloading a new one will overwrite it. = En juksedatabase finnes allerede. Nedlasting av en ny vil overskrive den. # AI translated
|
||||
Added %1 cheats for this game = Lagt til %1 jukse for dette spillet # AI translated
|
||||
Cheats = Cheats
|
||||
Download cheat database = Last ned juksedatabase # AI translated
|
||||
Edit Cheat File = Edit cheat file
|
||||
Import Cheats = Import from cheat.db
|
||||
Import from %s = Import from %s
|
||||
|
||||
@@ -195,8 +195,10 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
A cheat database already exists. Downloading a new one will overwrite it. = Baza danych cheatu już istnieje. Pobranie nowej ją nadpisze. # AI translated
|
||||
Added %1 cheats for this game = Dodano %1 cheatów do tej gry # AI translated
|
||||
Cheats = Kody
|
||||
Download cheat database = Pobierz bazę danych oszustw # AI translated
|
||||
Edit Cheat File = Edytuj plik kodów
|
||||
Import Cheats = Importuj z pliku cheat.db
|
||||
Import from %s = Importuj z pliku %s
|
||||
|
||||
@@ -219,8 +219,10 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
A cheat database already exists. Downloading a new one will overwrite it. = Uma base de dados de cheats já existe. Baixar uma nova a substituirá. # AI translated
|
||||
Added %1 cheats for this game = Adicionou %1 trapaças pra este jogo
|
||||
Cheats = Trapaças
|
||||
Download cheat database = Baixar banco de dados de trapaças # AI translated
|
||||
Edit Cheat File = Editar arquivo de trapaças
|
||||
Import Cheats = Importar do cheat.db
|
||||
Import from %s = Importar do %s
|
||||
|
||||
@@ -219,8 +219,10 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
A cheat database already exists. Downloading a new one will overwrite it. = Uma base de dados de cheats já existe. Baixar uma nova sobrescrevê-la-á. # AI translated
|
||||
Added %1 cheats for this game = Adicionados %1 cheats para este jogo # AI translated
|
||||
Cheats = Cheats
|
||||
Download cheat database = Descarregar base de dados de truques # AI translated
|
||||
Edit Cheat File = Editar ficheiro de Cheats
|
||||
Import Cheats = Importar de cheat.db
|
||||
Import from %s = Importar de %s
|
||||
|
||||
@@ -195,8 +195,10 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
A cheat database already exists. Downloading a new one will overwrite it. = O bază de date cu cheats există deja. Descărcarea uneia noi o va suprascrie. # AI translated
|
||||
Added %1 cheats for this game = Adăugate %1 cheats pentru acest joc # AI translated
|
||||
Cheats = Trișare
|
||||
Download cheat database = Descărcați baza de date pentru cheat-uri # AI translated
|
||||
Edit Cheat File = Editare fișier trișare
|
||||
Import Cheats = Importă din cheat.db
|
||||
#Import %s = Importă din %s
|
||||
|
||||
@@ -195,8 +195,10 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
A cheat database already exists. Downloading a new one will overwrite it. = База данных чит-кодов уже существует. Загрузка новой перезапишет её. # AI translated
|
||||
Added %1 cheats for this game = Добавлено %1 читов для этой игры
|
||||
Cheats = Читы
|
||||
Download cheat database = Скачать базу данных читов # AI translated
|
||||
Edit Cheat File = Изменить файл чита
|
||||
Import Cheats = Импортировать из cheat.db
|
||||
Import from %s = Импортировать из %s
|
||||
|
||||
@@ -195,8 +195,10 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
A cheat database already exists. Downloading a new one will overwrite it. = En fus database finns redan. Nedladdning av en ny kommer att skriva över den. # AI translated
|
||||
Added %1 cheats for this game = Lade till %1 fusk för det här spelet
|
||||
Cheats = Fusk
|
||||
Download cheat database = Ladda ner fuskdatabas # AI translated
|
||||
Edit Cheat File = Redigera fuskfil
|
||||
Import Cheats = Importera från cheat.db
|
||||
Import from %s = Importera från %s
|
||||
|
||||
@@ -195,8 +195,10 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
A cheat database already exists. Downloading a new one will overwrite it. = Маъхазаи хидоят аллакай мавҷуд аст. Иқтибос кардани нав онро иваз мекунад. # AI translated
|
||||
Added %1 cheats for this game = Эҳтимолҳои %1 барои ин бозӣ илова карда шуданд # AI translated
|
||||
Cheats = Mga Daya
|
||||
Download cheat database = Загрузить базу данных для обмана # AI translated
|
||||
Edit Cheat File = I-edit ang Cheat File
|
||||
Import Cheats = I-import ang mga daya mula sa cheat.db
|
||||
Import from %s = I-Import ang mga daya mula sa %s
|
||||
|
||||
@@ -195,8 +195,10 @@ X = แกน X
|
||||
Y = แกน Y
|
||||
|
||||
[CwCheats]
|
||||
A cheat database already exists. Downloading a new one will overwrite it. = ฐานข้อมูลการโกงมีอยู่แล้ว การดาวน์โหลดใหม่จะเขียนทับมัน. # AI translated
|
||||
Added %1 cheats for this game = เพิ่ม %1 สูตรโกงสำหรับเกมนี้
|
||||
Cheats = การใช้สูตรโกง
|
||||
Download cheat database = ดาวน์โหลดฐานข้อมูลโกง # AI translated
|
||||
Edit Cheat File = ปรับแต่งไฟล์สูตรโกง
|
||||
Import Cheats = นำเข้าจากไฟล์สูตรโกง
|
||||
Import from %s = นำเข้าจาก %s
|
||||
|
||||
@@ -195,8 +195,10 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
A cheat database already exists. Downloading a new one will overwrite it. = Bir hile veritabanı zaten var. Yeni bir indirmek onu üzerine yazacaktır. # AI translated
|
||||
Added %1 cheats for this game = Bu oyun için %1 hile eklendi # AI translated
|
||||
Cheats = Hileler
|
||||
Download cheat database = Hile veritabanını indir # AI translated
|
||||
Edit Cheat File = Hile Dosyası Düzenle
|
||||
Import Cheats = Hileleri İçe Aktar
|
||||
Import from %s = Şuradan Aktar %s
|
||||
|
||||
@@ -195,8 +195,10 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
A cheat database already exists. Downloading a new one will overwrite it. = База даних читів вже існує. Завантаження нової перепише її. # AI translated
|
||||
Added %1 cheats for this game = Додано %1 читів для цієї гри # AI translated
|
||||
Cheats = Чіт-коди
|
||||
Download cheat database = Скачати базу даних чітів # AI translated
|
||||
Edit Cheat File = Змінити файл чіт-коду
|
||||
Import Cheats = Імпортувати з cheat.db
|
||||
Import from %s = Імпортувати з %s
|
||||
|
||||
@@ -195,8 +195,10 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
A cheat database already exists. Downloading a new one will overwrite it. = Một cơ sở dữ liệu gian lận đã tồn tại. Tải xuống một cái mới sẽ ghi đè nó. # AI translated
|
||||
Added %1 cheats for this game = Đã thêm %1 mã gian lận cho trò chơi này # AI translated
|
||||
Cheats = Cheats
|
||||
Download cheat database = Tải về cơ sở dữ liệu cheat # AI translated
|
||||
Edit Cheat File = Sửa mục cheat
|
||||
Import Cheats = Nhập mã từ cheat.db
|
||||
Import from %s = Nhập mã từ %s
|
||||
|
||||
@@ -195,8 +195,10 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
A cheat database already exists. Downloading a new one will overwrite it. = 作弊数据库已经存在。下载新版本将覆盖它。 # AI translated
|
||||
Added %1 cheats for this game = 为此游戏添加了 %1 作弊码 # AI translated
|
||||
Cheats = 金手指
|
||||
Download cheat database = 下载作弊数据库 # AI translated
|
||||
Edit Cheat File = 编辑金手指文件
|
||||
Import Cheats = 从cheat.db导入
|
||||
Import from %s = 从%s导入
|
||||
|
||||
@@ -195,8 +195,10 @@ X = X
|
||||
Y = Y
|
||||
|
||||
[CwCheats]
|
||||
A cheat database already exists. Downloading a new one will overwrite it. = 作弊數據庫已經存在。下載新的將覆蓋它。 # AI translated
|
||||
Added %1 cheats for this game = 為此遊戲添加了 %1 作弊碼 # AI translated
|
||||
Cheats = 密技
|
||||
Download cheat database = 下載作弊資料庫 # AI translated
|
||||
Edit Cheat File = 編輯密技檔案
|
||||
Import Cheats = 從 cheat.db 匯入
|
||||
Import from %s = 從 %s 匯入
|
||||
|
||||
@@ -23,9 +23,9 @@
|
||||
inkscape:pagecheckerboard="true"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:document-units="px"
|
||||
inkscape:zoom="4"
|
||||
inkscape:cx="361.75"
|
||||
inkscape:cy="499.625"
|
||||
inkscape:zoom="5.6568542"
|
||||
inkscape:cx="331.63308"
|
||||
inkscape:cy="448.74764"
|
||||
inkscape:window-width="3840"
|
||||
inkscape:window-height="2071"
|
||||
inkscape:window-x="-9"
|
||||
@@ -125,7 +125,7 @@
|
||||
transform="matrix(0.51483133,0,0,0.48865723,85.611849,129.89633)"
|
||||
aria-label="SD" /></g></g><path
|
||||
style="baseline-shift:baseline;display:inline;overflow:visible;opacity:1;vector-effect:none;fill:#ffffff;marker:none;enable-background:accumulate;stop-color:#000000;stop-opacity:1"
|
||||
d="m 50.070957,117.73958 -1.123047,2.20508 v 8.18946 h 11.127879 v -8.34376 l -0.503906,-0.34765 h -4.096629 l -0.835938,-1.70313 z m 0.357422,0.58399 h 3.847656 l 0.833984,1.70508 h 4.280223 l 0.101563,0.0684 v 7.45117 h -9.957957 v -7.4668 z"
|
||||
d="m 48.549603,117.73958 -1.123047,2.20508 v 8.18946 h 11.127879 v -8.34376 l -0.503906,-0.34765 H 53.9539 l -0.835938,-1.70313 z m 0.357422,0.58399 h 3.847656 l 0.833984,1.70508 h 4.280223 l 0.101563,0.0684 v 7.45117 h -9.957957 v -7.4668 z"
|
||||
id="I_FOLDER"
|
||||
sodipodi:nodetypes="cccccccccccccccccc" /><path
|
||||
id="I_FOLDER_OPEN"
|
||||
@@ -603,7 +603,7 @@
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccc" /></g><g
|
||||
id="I_FOLDER_PINNED"
|
||||
transform="translate(-4.1408315,76.176737)"><path
|
||||
transform="translate(-12.40906,76.176737)"><path
|
||||
id="path59"
|
||||
style="baseline-shift:baseline;display:inline;overflow:visible;vector-effect:none;fill:#ffffff;marker:none;enable-background:accumulate;stop-color:#000000"
|
||||
d="m 85.961667,41.562832 -1.122929,2.205034 v 8.189163 h 11.548648 v -8.343676 l -0.503845,-0.347782 h -4.517553 l -0.836125,-1.702739 z m 0.357601,0.583944 h 3.84731 l 0.834058,1.704805 h 4.701521 l 0.101286,0.06821 v 7.451224 H 85.424749 v -7.466727 z m 5.557283,1.927014 a 0.22366586,0.22366586 0 0 0 -0.128674,0.0124 0.22366586,0.22366586 0 0 0 -0.138493,0.206706 v 1.02526 l -2.105298,2.105815 h -1.025777 a 0.22366586,0.22366586 0 0 0 -0.15813,0.382922 l 0.959115,0.958598 -2.077909,2.078426 0.316259,0.316259 2.077909,-2.077909 0.961182,0.960665 a 0.22366586,0.22366586 0 0 0 0.380855,-0.15813 v -1.02526 l 2.105298,-2.105815 h 1.02526 a 0.22366586,0.22366586 0 0 0 0.158647,-0.382405 l -2.236556,-2.236556 a 0.22366586,0.22366586 0 0 0 -0.113688,-0.06098 z m 0.179834,0.76016 1.472778,1.472778 h -0.577742 a 0.22366586,0.22366586 0 0 0 -0.158647,0.0646 l -2.236039,2.236039 a 0.22366586,0.22366586 0 0 0 -0.06666,0.15813 v 0.578259 l -0.736389,-0.736389 -0.735872,-0.736389 h 0.577742 a 0.22366586,0.22366586 0 0 0 0.15813,-0.06408 l 2.236556,-2.236556 a 0.22366586,0.22366586 0 0 0 0.06615,-0.15813 z" /></g><g
|
||||
@@ -1018,7 +1018,7 @@
|
||||
<path
|
||||
id="I_FOLDER_UPLOAD"
|
||||
style="baseline-shift:baseline;display:inline;overflow:visible;opacity:1;vector-effect:none;fill:#ffffff;marker:none;enable-background:accumulate;stop-color:#000000;stop-opacity:1"
|
||||
d="m 65.945839,117.7396 -1.12293,2.20503 v 7.86176 h 3.79873 v -0.58601 H 65.4084 v -7.13933 l 0.89452,-1.75751 h 3.84783 l 0.834058,1.7048 h 4.701 l 0.1018,0.0682 v 7.12383 h -3.16673 v 0.58601 h 3.75068 v -8.01628 l -0.50385,-0.34778 h -4.51755 l -0.83613,-1.70274 z m 4.60385,3.50521 -2.63498,2.80293 2.045869,0.0191 v 4.25236 h 1.19321 v -4.25236 l 2.03191,-0.0191 z"
|
||||
d="m 60.984902,118.07033 -1.12293,2.20503 v 7.86176 h 3.79873 v -0.58601 h -3.213239 v -7.13933 l 0.89452,-1.75751 h 3.84783 l 0.834058,1.7048 h 4.701 l 0.1018,0.0682 v 7.12383 h -3.16673 v 0.58601 h 3.75068 v -8.01628 l -0.50385,-0.34778 h -4.51755 l -0.83613,-1.70274 z m 4.60385,3.50521 -2.63498,2.80293 2.045869,0.0191 v 4.25236 h 1.19321 v -4.25236 l 2.03191,-0.0191 z"
|
||||
sodipodi:nodetypes="ccccccccccccccccccccccccccccc" /><path
|
||||
id="I_FILE"
|
||||
style="color:#000000;fill:#ffffff;stroke-miterlimit:4.8;-inkscape-stroke:none"
|
||||
@@ -1585,7 +1585,10 @@
|
||||
d="m 89.313398,164.24009 -1.051615,2.06499 v 7.66826 h 10.420034 v -7.81296 l -0.471805,-0.32556 h -3.835941 l -0.782898,-1.59473 z m 0.334863,0.54673 h 3.602881 l 0.780831,1.5968 h 4.007506 l 0.09508,0.0641 v 6.97684 h -9.323977 v -6.99182 z m 1.329118,2.9683 v 0.42219 h 1.857251 l -1.644861,3.1688 h 0.513664 l 1.552876,-3.05304 v -0.53795 z m 2.633431,0.8971 v 0.37362 h 1.350821 l -1.408699,1.98489 v 0.33538 h 1.980241 v -0.37879 h -1.442289 l 1.415417,-1.99212 v -0.32298 z" /><path
|
||||
id="I_ARCHIVE_RAR"
|
||||
style="baseline-shift:baseline;display:inline;overflow:visible;opacity:1;vector-effect:none;fill:#ffffff;stroke-width:0.936365;marker:none;enable-background:accumulate;stop-color:#000000;stop-opacity:1"
|
||||
d="M 89.379544 174.82341 L 88.327929 176.8884 L 88.327929 184.55667 L 98.747963 184.55667 L 98.747963 176.74371 L 98.276158 176.41815 L 94.440217 176.41815 L 93.657319 174.82341 L 89.379544 174.82341 z M 89.714407 175.37015 L 93.317288 175.37015 L 94.098119 176.96695 L 98.105625 176.96695 L 98.20071 177.03103 L 98.20071 184.00786 L 88.876733 184.00786 L 88.876733 177.01604 L 89.714407 175.37015 z M 93.285248 179.17043 C 93.132516 179.17043 92.978176 179.18491 92.822228 179.21384 C 92.66628 179.24277 92.546161 179.26929 92.46256 179.29342 L 92.46256 179.75386 L 92.489431 179.75386 C 92.63091 179.69436 92.772216 179.64952 92.913695 179.61898 C 93.055174 179.58685 93.178163 179.57093 93.282665 179.57093 C 93.371089 179.57093 93.456929 179.57718 93.54053 179.59005 C 93.624129 179.60131 93.69504 179.62539 93.75292 179.66239 C 93.810799 179.69775 93.855642 179.74839 93.887796 179.81432 C 93.919949 179.87863 93.936371 179.96401 93.936371 180.07012 L 93.936371 180.15694 C 93.69843 180.1698 93.476566 180.18955 93.270779 180.21688 C 93.064992 180.24261 92.886537 180.29038 92.735411 180.35951 C 92.564994 180.43668 92.440052 180.54083 92.361274 180.67267 C 92.282497 180.80289 92.243452 180.9616 92.243452 181.14809 C 92.243452 181.26866 92.265157 181.38344 92.308564 181.49277 C 92.351972 181.60049 92.409849 181.69115 92.482197 181.76511 C 92.557759 181.84067 92.645034 181.89952 92.744713 181.94132 C 92.844391 181.98312 92.950041 182.00385 93.060973 182.00385 C 93.196021 182.00385 93.300177 181.99279 93.374132 181.97026 C 93.449694 181.94773 93.52784 181.91543 93.608226 181.87363 C 93.666103 181.84472 93.725416 181.80614 93.78651 181.75787 C 93.849208 181.70804 93.899391 181.66945 93.936371 181.64212 L 93.936371 181.92944 L 94.38699 181.92944 L 94.38699 180.08666 C 94.38699 179.91784 94.362876 179.7751 94.314643 179.65774 C 94.266411 179.54037 94.193605 179.44437 94.095535 179.37042 C 93.994249 179.29485 93.879929 179.24277 93.75292 179.21384 C 93.625911 179.18491 93.470135 179.17043 93.285248 179.17043 z M 90.73605 179.23555 L 90.73605 181.92892 L 91.189253 181.92892 L 91.189253 180.01689 C 91.296969 179.91241 91.411289 179.83328 91.531867 179.78021 C 91.652446 179.72715 91.774 179.70063 91.896186 179.70063 C 91.949238 179.70063 91.994082 179.70247 92.031062 179.7058 C 92.069648 179.7074 92.105822 179.71319 92.139582 179.72285 L 92.16387 179.72285 L 92.16387 179.25053 C 92.13493 179.2452 92.108402 179.24153 92.084288 179.2402 C 92.061784 179.23686 92.027045 179.23555 91.980419 179.23555 C 91.864663 179.23555 91.745062 179.26595 91.621268 179.32701 C 91.499082 179.3865 91.354847 179.48922 91.189253 179.63552 L 91.189253 179.23555 L 90.73605 179.23555 z M 95.023643 179.23555 L 95.023643 181.92892 L 95.477362 181.92892 L 95.477362 180.01689 C 95.585079 179.91241 95.698882 179.83328 95.81946 179.78021 C 95.940038 179.72715 96.061593 179.70063 96.183779 179.70063 C 96.236831 179.70063 96.281675 179.70247 96.318655 179.7058 C 96.357242 179.7074 96.393415 179.71319 96.427175 179.72285 L 96.451463 179.72285 L 96.451463 179.25053 C 96.422523 179.2452 96.395995 179.24153 96.371881 179.2402 C 96.349376 179.23686 96.314638 179.23555 96.268012 179.23555 C 96.152256 179.23555 96.032654 179.26595 95.908861 179.32701 C 95.786675 179.3865 95.642957 179.48922 95.477362 179.63552 L 95.477362 179.23555 L 95.023643 179.23555 z M 93.936371 180.51867 L 93.936371 181.26591 C 93.835085 181.35591 93.726565 181.43262 93.61081 181.49536 C 93.495055 181.55642 93.365289 181.58682 93.222203 181.58682 C 93.055001 181.58682 92.928165 181.54726 92.841348 181.46848 C 92.754532 181.3897 92.711123 181.27349 92.711123 181.11915 C 92.711123 180.9825 92.750685 180.87639 92.829462 180.80082 C 92.90824 180.72368 93.007573 180.66626 93.128152 180.62926 C 93.229438 180.59872 93.362075 180.57556 93.526061 180.5595 C 93.691655 180.54183 93.828655 180.52834 93.936371 180.51867 z " /></g><style
|
||||
d="M 89.379544 174.82341 L 88.327929 176.8884 L 88.327929 184.55667 L 98.747963 184.55667 L 98.747963 176.74371 L 98.276158 176.41815 L 94.440217 176.41815 L 93.657319 174.82341 L 89.379544 174.82341 z M 89.714407 175.37015 L 93.317288 175.37015 L 94.098119 176.96695 L 98.105625 176.96695 L 98.20071 177.03103 L 98.20071 184.00786 L 88.876733 184.00786 L 88.876733 177.01604 L 89.714407 175.37015 z M 93.285248 179.17043 C 93.132516 179.17043 92.978176 179.18491 92.822228 179.21384 C 92.66628 179.24277 92.546161 179.26929 92.46256 179.29342 L 92.46256 179.75386 L 92.489431 179.75386 C 92.63091 179.69436 92.772216 179.64952 92.913695 179.61898 C 93.055174 179.58685 93.178163 179.57093 93.282665 179.57093 C 93.371089 179.57093 93.456929 179.57718 93.54053 179.59005 C 93.624129 179.60131 93.69504 179.62539 93.75292 179.66239 C 93.810799 179.69775 93.855642 179.74839 93.887796 179.81432 C 93.919949 179.87863 93.936371 179.96401 93.936371 180.07012 L 93.936371 180.15694 C 93.69843 180.1698 93.476566 180.18955 93.270779 180.21688 C 93.064992 180.24261 92.886537 180.29038 92.735411 180.35951 C 92.564994 180.43668 92.440052 180.54083 92.361274 180.67267 C 92.282497 180.80289 92.243452 180.9616 92.243452 181.14809 C 92.243452 181.26866 92.265157 181.38344 92.308564 181.49277 C 92.351972 181.60049 92.409849 181.69115 92.482197 181.76511 C 92.557759 181.84067 92.645034 181.89952 92.744713 181.94132 C 92.844391 181.98312 92.950041 182.00385 93.060973 182.00385 C 93.196021 182.00385 93.300177 181.99279 93.374132 181.97026 C 93.449694 181.94773 93.52784 181.91543 93.608226 181.87363 C 93.666103 181.84472 93.725416 181.80614 93.78651 181.75787 C 93.849208 181.70804 93.899391 181.66945 93.936371 181.64212 L 93.936371 181.92944 L 94.38699 181.92944 L 94.38699 180.08666 C 94.38699 179.91784 94.362876 179.7751 94.314643 179.65774 C 94.266411 179.54037 94.193605 179.44437 94.095535 179.37042 C 93.994249 179.29485 93.879929 179.24277 93.75292 179.21384 C 93.625911 179.18491 93.470135 179.17043 93.285248 179.17043 z M 90.73605 179.23555 L 90.73605 181.92892 L 91.189253 181.92892 L 91.189253 180.01689 C 91.296969 179.91241 91.411289 179.83328 91.531867 179.78021 C 91.652446 179.72715 91.774 179.70063 91.896186 179.70063 C 91.949238 179.70063 91.994082 179.70247 92.031062 179.7058 C 92.069648 179.7074 92.105822 179.71319 92.139582 179.72285 L 92.16387 179.72285 L 92.16387 179.25053 C 92.13493 179.2452 92.108402 179.24153 92.084288 179.2402 C 92.061784 179.23686 92.027045 179.23555 91.980419 179.23555 C 91.864663 179.23555 91.745062 179.26595 91.621268 179.32701 C 91.499082 179.3865 91.354847 179.48922 91.189253 179.63552 L 91.189253 179.23555 L 90.73605 179.23555 z M 95.023643 179.23555 L 95.023643 181.92892 L 95.477362 181.92892 L 95.477362 180.01689 C 95.585079 179.91241 95.698882 179.83328 95.81946 179.78021 C 95.940038 179.72715 96.061593 179.70063 96.183779 179.70063 C 96.236831 179.70063 96.281675 179.70247 96.318655 179.7058 C 96.357242 179.7074 96.393415 179.71319 96.427175 179.72285 L 96.451463 179.72285 L 96.451463 179.25053 C 96.422523 179.2452 96.395995 179.24153 96.371881 179.2402 C 96.349376 179.23686 96.314638 179.23555 96.268012 179.23555 C 96.152256 179.23555 96.032654 179.26595 95.908861 179.32701 C 95.786675 179.3865 95.642957 179.48922 95.477362 179.63552 L 95.477362 179.23555 L 95.023643 179.23555 z M 93.936371 180.51867 L 93.936371 181.26591 C 93.835085 181.35591 93.726565 181.43262 93.61081 181.49536 C 93.495055 181.55642 93.365289 181.58682 93.222203 181.58682 C 93.055001 181.58682 92.928165 181.54726 92.841348 181.46848 C 92.754532 181.3897 92.711123 181.27349 92.711123 181.11915 C 92.711123 180.9825 92.750685 180.87639 92.829462 180.80082 C 92.90824 180.72368 93.007573 180.66626 93.128152 180.62926 C 93.229438 180.59872 93.362075 180.57556 93.526061 180.5595 C 93.691655 180.54183 93.828655 180.52834 93.936371 180.51867 z " /><path
|
||||
id="I_DOWNLOAD"
|
||||
style="fill:#ffffff;fill-opacity:1;stroke-width:0.488462"
|
||||
d="m 90.222903,118.34955 c -0.20232,0 -0.366385,0.16406 -0.366385,0.36639 v 5.40638 l -1.317232,-1.44073 c -0.136525,-0.14933 -0.367954,-0.15978 -0.517281,-0.0233 -0.149323,0.13653 -0.15978,0.36848 -0.02325,0.5178 l 1.953886,2.13682 c 0.06941,0.0759 0.167397,0.11937 0.270267,0.11937 0.10287,0 0.200858,-0.0435 0.270268,-0.11937 l 1.953886,-2.13682 c 0.136525,-0.14932 0.126068,-0.38127 -0.02326,-0.5178 -0.149323,-0.13652 -0.380756,-0.12607 -0.517281,0.0233 l -1.317232,1.44073 v -5.40638 c 0,-0.20233 -0.164065,-0.36639 -0.366386,-0.36639 z m -4.600752,5.85494 c -0.09745,0.002 -0.161747,0.0275 -0.161747,0.154 v 0.0269 c -1e-5,0.66802 -9.1e-5,1.42548 0.05684,1.84898 0.05911,0.43966 0.185543,0.8098 0.479557,1.10381 0.294015,0.29405 0.66414,0.42045 1.103809,0.47955 0.423481,0.0569 0.961859,0.0568 1.629874,0.0568 h 2.984831 c 0.66802,0 1.206378,6e-5 1.629874,-0.0568 0.439665,-0.0591 0.809755,-0.1855 1.103809,-0.47955 0.294005,-0.29401 0.420453,-0.66415 0.479557,-1.10381 0.05691,-0.4235 0.05684,-1.18096 0.05684,-1.84898 v -0.0269 c 0,-0.20232 -0.164065,-0.14728 -0.366386,-0.14728 -0.202321,0 -0.366386,-0.055 -0.366386,0.14728 0,0.70113 -5.37e-4,1.4092 -0.05013,1.77818 -0.04821,0.35843 -0.136612,0.54796 -0.271818,0.68316 -0.135206,0.13521 -0.324729,0.22361 -0.683163,0.27182 -0.368983,0.0496 -0.857939,0.0501 -1.559077,0.0501 H 88.75736 c -0.701142,0 -1.190118,-5.4e-4 -1.559078,-0.0501 -0.358418,-0.0482 -0.547975,-0.13661 -0.683162,-0.27182 -0.135187,-0.1352 -0.223631,-0.32473 -0.271818,-0.68316 -0.04961,-0.36898 -0.05013,-1.07705 -0.05013,-1.77818 0,-0.20232 -0.164055,-0.14728 -0.366386,-0.14728 -0.07587,0 -0.146169,-0.008 -0.204639,-0.007 z" /></g><style
|
||||
type="text/css"
|
||||
id="style1">
|
||||
.st0{fill:#000000;}
|
||||
|
||||
|
Before Width: | Height: | Size: 164 KiB After Width: | Height: | Size: 165 KiB |
Reference in New Issue
Block a user