mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-10-13 22:40:29 +02:00
Some work on the credits screen, main screen
This commit is contained in:
1 parent
84b491a4f8
commit
9ed3fc0eaa
56 files changed
+2979
-2964
No files matched your search
@@ -234,6 +234,7 @@ enum SystemProperty {
|
||||
SYSPROP_HAS_TRASH_BIN,
|
||||
|
||||
SYSPROP_USE_IAP,
|
||||
SYSPROP_SUPPORTS_SHARE_TEXT,
|
||||
};
|
||||
|
||||
enum class SystemNotification {
|
||||
|
||||
@@ -504,7 +504,7 @@ void KeyMappingNewMouseKeyDialog::axis(const AxisInput &axis) {
|
||||
}
|
||||
}
|
||||
|
||||
AnalogSetupScreen::AnalogSetupScreen(const Path &gamePath) : UIDialogScreenWithGameBackground(gamePath) {
|
||||
AnalogCalibrationScreen::AnalogCalibrationScreen(const Path &gamePath) : UIDialogScreenWithGameBackground(gamePath) {
|
||||
mapper_.SetCallbacks(
|
||||
[](int vkey, bool down) {},
|
||||
[](int vkey, float analogValue) {},
|
||||
@@ -519,7 +519,7 @@ AnalogSetupScreen::AnalogSetupScreen(const Path &gamePath) : UIDialogScreenWithG
|
||||
});
|
||||
}
|
||||
|
||||
void AnalogSetupScreen::update() {
|
||||
void AnalogCalibrationScreen::update() {
|
||||
mapper_.Update(time_now_d());
|
||||
// We ignore the secondary stick for now and just use the two views
|
||||
// for raw and psp input.
|
||||
@@ -532,7 +532,7 @@ void AnalogSetupScreen::update() {
|
||||
UIScreen::update();
|
||||
}
|
||||
|
||||
bool AnalogSetupScreen::key(const KeyInput &key) {
|
||||
bool AnalogCalibrationScreen::key(const KeyInput &key) {
|
||||
bool retval = UIScreen::key(key);
|
||||
|
||||
// Allow testing auto-rotation. If it collides with UI keys, too bad.
|
||||
@@ -546,7 +546,7 @@ bool AnalogSetupScreen::key(const KeyInput &key) {
|
||||
return retval;
|
||||
}
|
||||
|
||||
void AnalogSetupScreen::axis(const AxisInput &axis) {
|
||||
void AnalogCalibrationScreen::axis(const AxisInput &axis) {
|
||||
// We DON'T call UIScreen::Axis here! Otherwise it'll try to move the UI focus around.
|
||||
// UIScreen::axis(axis);
|
||||
|
||||
@@ -554,7 +554,7 @@ void AnalogSetupScreen::axis(const AxisInput &axis) {
|
||||
mapper_.Axis(&axis, 1);
|
||||
}
|
||||
|
||||
void AnalogSetupScreen::CreateViews() {
|
||||
void AnalogCalibrationScreen::CreateViews() {
|
||||
using namespace UI;
|
||||
|
||||
auto di = GetI18NCategory(I18NCat::DIALOG);
|
||||
@@ -580,7 +580,7 @@ void AnalogSetupScreen::CreateViews() {
|
||||
// TODO: This should probably be a slider.
|
||||
scrollContents->Add(new CheckBox(&g_Config.bAnalogIsCircular, co->T("Circular stick input")));
|
||||
scrollContents->Add(new PopupSliderChoiceFloat(&g_Config.fAnalogAutoRotSpeed, 0.1f, 20.0f, 8.0f, co->T("Auto-rotation speed"), 1.0f, screenManager()));
|
||||
scrollContents->Add(new Choice(co->T("Reset to defaults")))->OnClick.Handle(this, &AnalogSetupScreen::OnResetToDefaults);
|
||||
scrollContents->Add(new Choice(co->T("Reset to defaults")))->OnClick.Handle(this, &AnalogCalibrationScreen::OnResetToDefaults);
|
||||
|
||||
LinearLayout *theTwo = new LinearLayout(ORIENT_HORIZONTAL, new LinearLayoutParams(1.0f));
|
||||
|
||||
@@ -592,7 +592,7 @@ void AnalogSetupScreen::CreateViews() {
|
||||
AddStandardBack(leftColumn);
|
||||
}
|
||||
|
||||
void AnalogSetupScreen::OnResetToDefaults(UI::EventParams &e) {
|
||||
void AnalogCalibrationScreen::OnResetToDefaults(UI::EventParams &e) {
|
||||
g_Config.fAnalogDeadzone = 0.15f;
|
||||
g_Config.fAnalogInverseDeadzone = 0.0f;
|
||||
g_Config.fAnalogSensitivity = 1.1f;
|
||||
|
||||
@@ -120,9 +120,9 @@ private:
|
||||
|
||||
class JoystickHistoryView;
|
||||
|
||||
class AnalogSetupScreen : public UIDialogScreenWithGameBackground {
|
||||
class AnalogCalibrationScreen : public UIDialogScreenWithGameBackground {
|
||||
public:
|
||||
AnalogSetupScreen(const Path &gamePath);
|
||||
AnalogCalibrationScreen(const Path &gamePath);
|
||||
|
||||
bool key(const KeyInput &key) override;
|
||||
void axis(const AxisInput &axis) override;
|
||||
|
||||
@@ -794,7 +794,7 @@ void GameSettingsScreen::CreateControlsSettings(UI::ViewGroup *controlsSettings)
|
||||
screenManager()->push(new ControlMappingScreen(gamePath_));
|
||||
});
|
||||
controlsSettings->Add(new Choice(co->T("Calibrate Analog Stick")))->OnClick.Add([this](UI::EventParams &e) {
|
||||
screenManager()->push(new AnalogSetupScreen(gamePath_));
|
||||
screenManager()->push(new AnalogCalibrationScreen(gamePath_));
|
||||
});
|
||||
controlsSettings->Add(new PopupSliderChoiceFloat(&g_Config.fAnalogTriggerThreshold, 0.02f, 0.98f, 0.75f, co->T("Analog trigger threshold"), screenManager()));
|
||||
|
||||
|
||||
+1
-1
@@ -1296,7 +1296,7 @@ void MainScreen::CreateViews() {
|
||||
}
|
||||
|
||||
if (vertical) {
|
||||
LinearLayout *header = new LinearLayout(ORIENT_HORIZONTAL, new LinearLayoutParams(FILL_PARENT, WRAP_CONTENT));
|
||||
LinearLayout *header = new LinearLayout(ORIENT_HORIZONTAL, new LinearLayoutParams(FILL_PARENT, WRAP_CONTENT, Margins(0, 16, 0, 8)));
|
||||
header->SetSpacing(5.0f);
|
||||
header->Add(CreateLogoView(true, new LinearLayoutParams(WRAP_CONTENT, 80.0f, false)));
|
||||
|
||||
|
||||
+88
-80
@@ -907,74 +907,95 @@ void LogoScreen::DrawForeground(UIContext &dc) {
|
||||
dc.Flush();
|
||||
}
|
||||
|
||||
class CreditsScroller : public UI::View {
|
||||
public:
|
||||
CreditsScroller(UI::LayoutParams *layoutParams) : UI::View(layoutParams) {}
|
||||
bool Touch(const TouchInput &touch) override {
|
||||
if (touch.id != 0)
|
||||
return false;
|
||||
if (touch.flags & TOUCH_DOWN) {
|
||||
dragYStart_ = touch.y;
|
||||
dragYOffsetStart_ = dragOffset_;
|
||||
}
|
||||
if (touch.flags & TOUCH_UP) {
|
||||
dragYStart_ = -1.0f;
|
||||
}
|
||||
if (touch.flags & TOUCH_MOVE) {
|
||||
if (dragYStart_ >= 0.0f) {
|
||||
dragOffset_ = dragYOffsetStart_ + (touch.y - dragYStart_);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
void Draw(UIContext &dc);
|
||||
private:
|
||||
Instant startTime_ = Instant::Now();
|
||||
double dragYStart_ = -1.0;
|
||||
double dragOffset_ = 0.0;
|
||||
double dragYOffsetStart_ = 0.0;
|
||||
};
|
||||
|
||||
void CreditsScreen::CreateViews() {
|
||||
using namespace UI;
|
||||
auto di = GetI18NCategory(I18NCat::DIALOG);
|
||||
auto cr = GetI18NCategory(I18NCat::PSPCREDITS);
|
||||
auto mm = GetI18NCategory(I18NCat::MAINMENU);
|
||||
|
||||
root_ = new AnchorLayout(new LayoutParams(FILL_PARENT, FILL_PARENT));
|
||||
Button *back = root_->Add(new Button(di->T("Back"), new AnchorLayoutParams(260, 64, NONE, NONE, 10, 10, false)));
|
||||
const bool portrait = UsePortraitLayout();
|
||||
|
||||
root_ = new LinearLayout(ORIENT_VERTICAL, new LayoutParams(FILL_PARENT, FILL_PARENT));
|
||||
|
||||
Button *back = root_->Add(new Button(di->T("Back")));
|
||||
back->OnClick.Handle<UIScreen>(this, &UIScreen::OnOK);
|
||||
root_->SetDefaultFocusView(back);
|
||||
|
||||
const bool gold = System_GetPropertyBool(SYSPROP_APP_GOLD);
|
||||
|
||||
// Really need to redo this whole layout with some linear layouts...
|
||||
|
||||
int rightYOffset = 0;
|
||||
if (!System_GetPropertyBool(SYSPROP_APP_GOLD)) {
|
||||
ScreenManager *sm = screenManager();
|
||||
root_->Add(new Button(mm->T("Buy PPSSPP Gold"), new AnchorLayoutParams(260, 64, NONE, NONE, 10, 84, false)))->OnClick.Add([sm](UI::EventParams) {
|
||||
LaunchBuyGold(sm);
|
||||
});
|
||||
rightYOffset = 74;
|
||||
}
|
||||
root_->Add(new Button(cr->T("PPSSPP Forums"), new AnchorLayoutParams(260, 64, 10, NONE, NONE, 158, false)))->OnClick.Handle(this, &CreditsScreen::OnForums);
|
||||
root_->Add(new Button(cr->T("Discord"), new AnchorLayoutParams(260, 64, 10, NONE, NONE, 232, false)))->OnClick.Handle(this, &CreditsScreen::OnDiscord);
|
||||
root_->Add(new Button("www.ppsspp.org", new AnchorLayoutParams(260, 64, 10, NONE, NONE, 10, false)))->OnClick.Handle(this, &CreditsScreen::OnPPSSPPOrg);
|
||||
root_->Add(new Button(cr->T("Privacy Policy"), new AnchorLayoutParams(260, 64, 10, NONE, NONE, 84, false)))->OnClick.Handle(this, &CreditsScreen::OnPrivacy);
|
||||
root_->Add(new Button(cr->T("X @PPSSPP_emu"), new AnchorLayoutParams(260, 64, NONE, NONE, 10, rightYOffset + 84, false)))->OnClick.Handle(this, &CreditsScreen::OnX);
|
||||
|
||||
#if PPSSPP_PLATFORM(ANDROID) || PPSSPP_PLATFORM(IOS)
|
||||
root_->Add(new Button(cr->T("Share PPSSPP"), new AnchorLayoutParams(260, 64, NONE, NONE, 10, rightYOffset + 158, false)))->OnClick.Handle(this, &CreditsScreen::OnShare);
|
||||
#endif
|
||||
|
||||
/*
|
||||
if (System_GetPropertyBool(SYSPROP_APP_GOLD)) {
|
||||
root_->Add(new ShinyIcon(ImageID("I_ICON_GOLD"), new AnchorLayoutParams(WRAP_CONTENT, WRAP_CONTENT, 10, 10, NONE, NONE, false)))->SetScale(1.5f);
|
||||
} else {
|
||||
root_->Add(new ImageView(ImageID("I_ICON"), "", IS_DEFAULT, new AnchorLayoutParams(WRAP_CONTENT, WRAP_CONTENT, 10, 10, NONE, NONE, false)))->SetScale(1.5f);
|
||||
}*/
|
||||
|
||||
root_->Add(new CreditsScroller(new LinearLayoutParams(1.0f)));
|
||||
|
||||
LinearLayout *columns = root_->Add(new LinearLayout(ORIENT_HORIZONTAL));
|
||||
|
||||
LinearLayout *left = columns->Add(new LinearLayout(ORIENT_VERTICAL, new LinearLayoutParams(250.0f, WRAP_CONTENT)));
|
||||
LinearLayout *middle = columns->Add(new LinearLayout(ORIENT_VERTICAL, new LinearLayoutParams(1.0f)));
|
||||
LinearLayout *right = columns->Add(new LinearLayout(ORIENT_VERTICAL, new LinearLayoutParams(250.0f, WRAP_CONTENT)));
|
||||
|
||||
int rightYOffset = 0;
|
||||
if (!System_GetPropertyBool(SYSPROP_APP_GOLD)) {
|
||||
ScreenManager *sm = screenManager();
|
||||
left->Add(new Choice(mm->T("Buy PPSSPP Gold")))->OnClick.Add([sm](UI::EventParams) {
|
||||
LaunchBuyGold(sm);
|
||||
});
|
||||
rightYOffset = 74;
|
||||
}
|
||||
}
|
||||
left->Add(new Choice(cr->T("PPSSPP Forums"), ImageID("I_LINK_OUT")))->OnClick.Add([this](UI::EventParams &e) {
|
||||
System_LaunchUrl(LaunchUrlType::BROWSER_URL, "https://forums.ppsspp.org");
|
||||
});
|
||||
left->Add(new Choice(cr->T("Discord"), ImageID("I_LOGO_DISCORD")))->OnClick.Add([this](UI::EventParams &e) {
|
||||
System_LaunchUrl(LaunchUrlType::BROWSER_URL, "https://discord.gg/5NJB6dD");
|
||||
});
|
||||
left->Add(new Choice("www.ppsspp.org", ImageID("I_LINK_OUT")))->OnClick.Add([this](UI::EventParams &e) {
|
||||
System_LaunchUrl(LaunchUrlType::BROWSER_URL, "https://www.ppsspp.org");
|
||||
});
|
||||
right->Add(new Choice(cr->T("Privacy Policy"), ImageID("I_LINK_OUT")))->OnClick.Add([this](UI::EventParams &e) {
|
||||
System_LaunchUrl(LaunchUrlType::BROWSER_URL, "https://www.ppsspp.org/privacy");
|
||||
});
|
||||
right->Add(new Choice(cr->T("@PPSSPP_emu"), ImageID("I_LOGO_X")))->OnClick.Add([this](UI::EventParams &e) {
|
||||
System_LaunchUrl(LaunchUrlType::BROWSER_URL, "https://x.com/PPSSPP_emu");
|
||||
});
|
||||
|
||||
void CreditsScreen::OnX(UI::EventParams &e) {
|
||||
// Not sure we should change to x.com here, given various platform URL handlers etc. We can probably change it soon.
|
||||
System_LaunchUrl(LaunchUrlType::BROWSER_URL, "https://twitter.com/PPSSPP_emu");
|
||||
}
|
||||
|
||||
void CreditsScreen::OnPPSSPPOrg(UI::EventParams &e) {
|
||||
System_LaunchUrl(LaunchUrlType::BROWSER_URL, "https://www.ppsspp.org");
|
||||
}
|
||||
|
||||
void CreditsScreen::OnPrivacy(UI::EventParams &e) {
|
||||
System_LaunchUrl(LaunchUrlType::BROWSER_URL, "https://www.ppsspp.org/privacy");
|
||||
}
|
||||
|
||||
void CreditsScreen::OnForums(UI::EventParams &e) {
|
||||
System_LaunchUrl(LaunchUrlType::BROWSER_URL, "https://forums.ppsspp.org");
|
||||
}
|
||||
|
||||
void CreditsScreen::OnDiscord(UI::EventParams &e) {
|
||||
System_LaunchUrl(LaunchUrlType::BROWSER_URL, "https://discord.gg/5NJB6dD");
|
||||
}
|
||||
|
||||
void CreditsScreen::OnShare(UI::EventParams &e) {
|
||||
auto cr = GetI18NCategory(I18NCat::PSPCREDITS);
|
||||
System_ShareText(cr->T("CheckOutPPSSPP", "Check out PPSSPP, the awesome PSP emulator: https://www.ppsspp.org/"));
|
||||
}
|
||||
|
||||
CreditsScreen::CreditsScreen() {
|
||||
startTime_ = time_now_d();
|
||||
if (System_GetPropertyBool(SYSPROP_SUPPORTS_SHARE_TEXT)) {
|
||||
right->Add(new Choice(cr->T("Share PPSSPP"), ImageID("I_SHARE")))->OnClick.Add([this](UI::EventParams &e) {
|
||||
auto cr = GetI18NCategory(I18NCat::PSPCREDITS);
|
||||
System_ShareText(cr->T("CheckOutPPSSPP", "Check out PPSSPP, the awesome PSP emulator: https://www.ppsspp.org/"));
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
void CreditsScreen::update() {
|
||||
@@ -982,27 +1003,7 @@ void CreditsScreen::update() {
|
||||
UpdateUIState(UISTATE_MENU);
|
||||
}
|
||||
|
||||
void CreditsScreen::touch(const TouchInput &touch) {
|
||||
UIScreen::touch(touch);
|
||||
if (touch.id != 0)
|
||||
return;
|
||||
|
||||
if (touch.flags & TOUCH_DOWN) {
|
||||
dragYStart_ = touch.y;
|
||||
dragYOffsetStart_ = dragOffset_;
|
||||
}
|
||||
if (touch.flags & TOUCH_UP) {
|
||||
dragYStart_ = -1.0f;
|
||||
}
|
||||
if (touch.flags & TOUCH_MOVE) {
|
||||
if (dragYStart_ >= 0.0f) {
|
||||
dragOffset_ = dragYOffsetStart_ + (touch.y - dragYStart_);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void CreditsScreen::DrawForeground(UIContext &dc) {
|
||||
void CreditsScroller::Draw(UIContext &dc) {
|
||||
auto cr = GetI18NCategory(I18NCat::PSPCREDITS);
|
||||
|
||||
std::string specialthanksMaxim = "Maxim ";
|
||||
@@ -1160,25 +1161,32 @@ void CreditsScreen::DrawForeground(UIContext &dc) {
|
||||
credits[0] = (const char *)temp;
|
||||
|
||||
dc.Begin();
|
||||
const Bounds &bounds = dc.GetLayoutBounds();
|
||||
|
||||
const Bounds &bounds = bounds_;
|
||||
bounds.Inset(10.f, 10.f);
|
||||
const int numItems = ARRAY_SIZE(credits);
|
||||
int itemHeight = 36;
|
||||
int totalHeight = numItems * itemHeight + bounds.h + 200;
|
||||
int contentsHeight = numItems * itemHeight + bounds.h + 200;
|
||||
|
||||
float t = (float)(time_now_d() - startTime_) * 60.0;
|
||||
const float t = (float)(startTime_.ElapsedSeconds() * 60.0);
|
||||
|
||||
float y = bounds.y2() - fmodf(t - dragOffset_, (float)totalHeight);
|
||||
for (int i = 0; i < numItems; i++) {
|
||||
float alpha = linearInOut(y+32, 64, bounds.y2() - 192, 64);
|
||||
const float yOffset = fmodf(t - dragOffset_, (float)contentsHeight);
|
||||
|
||||
float y = bounds.h - yOffset;
|
||||
for (int i = 0; i < numItems; i++, y += itemHeight) {
|
||||
if (y + itemHeight < 0.0f)
|
||||
continue;
|
||||
if (y > bounds.h)
|
||||
continue;
|
||||
float fadeLength = 64.0f;
|
||||
float alpha = linearInOut(y, 64, bounds.h - fadeLength * 2.0f, 64);
|
||||
uint32_t textColor = colorAlpha(dc.GetTheme().infoStyle.fgColor, alpha);
|
||||
|
||||
if (alpha > 0.0f) {
|
||||
dc.SetFontScale(ease(alpha), ease(alpha));
|
||||
dc.DrawText(credits[i], bounds.centerX(), y, textColor, ALIGN_HCENTER);
|
||||
dc.DrawText(credits[i], bounds.centerX(), y + bounds.y, textColor, ALIGN_HCENTER);
|
||||
dc.SetFontScale(1.0f, 1.0f);
|
||||
}
|
||||
y += itemHeight;
|
||||
}
|
||||
|
||||
dc.Flush();
|
||||
|
||||
+1
-17
@@ -158,27 +158,11 @@ private:
|
||||
|
||||
class CreditsScreen : public UIDialogScreenWithBackground {
|
||||
public:
|
||||
CreditsScreen();
|
||||
void update() override;
|
||||
void DrawForeground(UIContext &ui) override;
|
||||
void touch(const TouchInput &touch) override;
|
||||
|
||||
protected:
|
||||
void CreateViews() override;
|
||||
|
||||
const char *tag() const override { return "Credits"; }
|
||||
|
||||
private:
|
||||
void OnPPSSPPOrg(UI::EventParams &e);
|
||||
void OnPrivacy(UI::EventParams &e);
|
||||
void OnForums(UI::EventParams &e);
|
||||
void OnDiscord(UI::EventParams &e);
|
||||
void OnShare(UI::EventParams &e);
|
||||
void OnX(UI::EventParams &e);
|
||||
|
||||
double startTime_ = 0.0;
|
||||
double dragYStart_ = -1.0;
|
||||
double dragOffset_ = 0.0;
|
||||
double dragYOffsetStart_ = 0.0;
|
||||
};
|
||||
|
||||
class SettingInfoMessage : public UI::LinearLayout {
|
||||
|
||||
@@ -143,6 +143,12 @@ static const ImageMeta imageIDs[] = {
|
||||
{"I_FILE_COPY", false},
|
||||
{"I_WEB_BROWSER", false},
|
||||
{"I_WIFI", false},
|
||||
{"I_LOGO_X", false},
|
||||
{"I_LOGO_DISCORD", false},
|
||||
{"I_LINK_OUT", false},
|
||||
{"I_SHARE", false},
|
||||
{"I_LOGO_PLAY_STORE", false},
|
||||
{"I_LOGO_APP_STORE", false},
|
||||
};
|
||||
|
||||
static std::string PNGNameFromID(std::string_view id) {
|
||||
|
||||
@@ -474,6 +474,8 @@ bool System_GetPropertyBool(SystemProperty prop) {
|
||||
return (androidVersion >= 21) && (deviceType != DEVICE_TYPE_VR); // when ACTION_OPEN_DOCUMENT_TREE was added
|
||||
case SYSPROP_SUPPORTS_OPEN_FILE_IN_EDITOR:
|
||||
return false; // Update if we add support in FileUtil.cpp: OpenFileInEditor
|
||||
case SYSPROP_SUPPORTS_SHARE_TEXT:
|
||||
return true;
|
||||
case SYSPROP_APP_GOLD:
|
||||
#ifdef GOLD
|
||||
return true;
|
||||
|
||||
@@ -1127,7 +1127,6 @@ translators5 =
|
||||
translators6 =
|
||||
website = الموقع الألكتروني
|
||||
written = مكتوب في لغة C++ من أجل السرعة والمتانة
|
||||
X @PPSSPP_emu = X @PPSSPP_emu
|
||||
|
||||
[RemoteISO]
|
||||
Browse Games = تصفح الألعاب
|
||||
|
||||
@@ -1119,7 +1119,6 @@ translators5 =
|
||||
translators6 =
|
||||
website = Check out the website:
|
||||
written = Written in C++ for speed and portability
|
||||
X @PPSSPP_emu = X @PPSSPP_emu
|
||||
|
||||
[RemoteISO]
|
||||
Browse Games = Browse games
|
||||
|
||||
@@ -1069,7 +1069,6 @@ translators5 =
|
||||
translators6 =
|
||||
website = Азнаёмцеся з вэб-сайтам:
|
||||
written = Напісана на C++ для хуткасці і партатыўнасці
|
||||
X @PPSSPP_emu = X @PPSSPP_emu
|
||||
|
||||
[MemStick]
|
||||
Already contains PSP data = Already contains PSP data
|
||||
|
||||
@@ -1119,7 +1119,6 @@ translators5 =
|
||||
translators6 =
|
||||
website = Хвърлете едно око на уеб сайта ни:
|
||||
written = Написано в C++ за бързина и съвместимост
|
||||
X @PPSSPP_emu = X @PPSSPP_emu
|
||||
|
||||
[RemoteISO]
|
||||
Browse Games = Browse games
|
||||
|
||||
@@ -1119,7 +1119,6 @@ translators5 =
|
||||
translators6 =
|
||||
website = Check out the website:
|
||||
written = Written in C++ for speed and portability
|
||||
X @PPSSPP_emu = X @PPSSPP_emu
|
||||
|
||||
[RemoteISO]
|
||||
Browse Games = Browse games
|
||||
|
||||
@@ -1119,7 +1119,6 @@ translators5 =
|
||||
translators6 =
|
||||
website = Navštivte naši stránku:
|
||||
written = Vytvořeno v jazyce C++ pro rychlost a přenosnost
|
||||
X @PPSSPP_emu = X @PPSSPP_emu
|
||||
|
||||
[RemoteISO]
|
||||
Browse Games = Browse games
|
||||
|
||||
@@ -1119,7 +1119,6 @@ translators5 =
|
||||
translators6 =
|
||||
website = Mere info på webside:
|
||||
written = Skrevet i C++ for hastighed og portabilitet
|
||||
X @PPSSPP_emu = X @PPSSPP_emu
|
||||
|
||||
[RemoteISO]
|
||||
Browse Games = Browse games
|
||||
|
||||
@@ -1109,7 +1109,6 @@ translators5 =
|
||||
translators6 =
|
||||
website = Mehr Infos auf der Webseite:
|
||||
written = Programmiert in C++ für Geschwindigkeit und Portabilität
|
||||
X @PPSSPP_emu = X @PPSSPP_emu
|
||||
|
||||
[RemoteISO]
|
||||
Browse Games = Spiele durchsuchen
|
||||
|
||||
@@ -1119,7 +1119,6 @@ translators5 =
|
||||
translators6 =
|
||||
website = Ollongngi todai situsna mane:
|
||||
written = Pake C++ digaraka yamo na malassi
|
||||
X @PPSSPP_emu = X @PPSSPP_emu
|
||||
|
||||
[RemoteISO]
|
||||
Browse Games = Browse games
|
||||
|
||||
@@ -1093,7 +1093,6 @@ translators5 =
|
||||
translators6 =
|
||||
website = Check out the website:
|
||||
written = Written in C++ for speed and portability
|
||||
X @PPSSPP_emu = X @PPSSPP_emu
|
||||
|
||||
[MemStick]
|
||||
Already contains PSP data = Already contains PSP data
|
||||
|
||||
@@ -1120,7 +1120,6 @@ translators5 =
|
||||
translators6 =
|
||||
website = Visita el sitio web:
|
||||
written = Escrito en C++ para una mejor portabilidad y velocidad
|
||||
X @PPSSPP_emu = X @PPSSPP_emu
|
||||
|
||||
[RemoteISO]
|
||||
Browse Games = Buscar juegos
|
||||
|
||||
@@ -1119,7 +1119,6 @@ translators5 =
|
||||
translators6 =
|
||||
website = Sitio web oficial
|
||||
written = Escrito en lenguaje C++ para una mejor portabilidad y velocidad
|
||||
X @PPSSPP_emu = X @PPSSPP_emu
|
||||
|
||||
[PSPSettings]
|
||||
|
||||
|
||||
@@ -1119,7 +1119,6 @@ translators5 =
|
||||
translators6 =
|
||||
website = :سری به وبسایت بزنید
|
||||
written = نوشته شده است C++ برای سریع و پرتابل بودن، نرم افزار با زبان برنامه نویسی
|
||||
X @PPSSPP_emu = توییتر @PPSSPP_emu
|
||||
|
||||
[RemoteISO]
|
||||
Browse Games = Browse games
|
||||
|
||||
@@ -1119,7 +1119,6 @@ translators5 =
|
||||
translators6 =
|
||||
website = Tutustu verkkosivustoon:
|
||||
written = Kirjoitettu C++:ssa nopeutta ja siirrettävyyttä varten
|
||||
X @PPSSPP_emu = X @PPSSPP_emu
|
||||
|
||||
[RemoteISO]
|
||||
Browse Games = Selaa pelejä
|
||||
|
||||
@@ -1110,7 +1110,6 @@ title = Un émulateur de PSP rapide et portable
|
||||
tools = Outils libres utilisés :
|
||||
website = Visitez notre site :
|
||||
written = Écrit en C++ pour la vitesse et la portabilité
|
||||
X @PPSSPP_emu = X de PPSSPP
|
||||
|
||||
[RemoteISO]
|
||||
Browse Games = Parcourir les jeux
|
||||
|
||||
@@ -1119,7 +1119,6 @@ translators5 =
|
||||
translators6 =
|
||||
website = Sitio web oficial:
|
||||
written = Escrito en linguaxe C++ para unha mellor portabilidade e velocidade
|
||||
X @PPSSPP_emu = X @PPSSPP_emu
|
||||
|
||||
[RemoteISO]
|
||||
Browse Games = Browse games
|
||||
|
||||
@@ -1119,7 +1119,6 @@ translators5 =
|
||||
translators6 =
|
||||
website = Επισκεφθείτε την ιστοσελίδα:
|
||||
written = Γραμμένο σε C++ για ταχύτητα και φορητότητα
|
||||
X @PPSSPP_emu = X @PPSSPP_emu
|
||||
|
||||
[RemoteISO]
|
||||
Browse Games = Περιήγηση παιχνιδιών
|
||||
|
||||
@@ -1119,7 +1119,6 @@ translators5 =
|
||||
translators6 =
|
||||
website = :כנסו אל האתר
|
||||
written = למהירות וניידות C++ נכתב ב
|
||||
X @PPSSPP_emu = X @PPSSPP_emu
|
||||
|
||||
[RemoteISO]
|
||||
Browse Games = Browse games
|
||||
|
||||
@@ -1116,7 +1116,6 @@ translators5 =
|
||||
translators6 =
|
||||
website = רתאה לא וסנכ:
|
||||
written = ב בתכנ ++C תודיינו תוריהמל
|
||||
X @PPSSPP_emu = X @PPSSPP_emu
|
||||
|
||||
[RemoteISO]
|
||||
Browse Games = Browse games
|
||||
|
||||
@@ -1119,7 +1119,6 @@ translators5 =
|
||||
translators6 =
|
||||
website = Pogledaj stranicu:
|
||||
written = Napisan u C++ za brzinu i za pokretnost
|
||||
X @PPSSPP_emu = X @PPSSPP_emu
|
||||
|
||||
[RemoteISO]
|
||||
Browse Games = Pretraži igre
|
||||
|
||||
@@ -1119,7 +1119,6 @@ translators5 =
|
||||
translators6 =
|
||||
website = Nézd meg a honlapot:
|
||||
written = C++ban írva a sebességért és portolhatóságért
|
||||
X @PPSSPP_emu = X @PPSSPP_emu
|
||||
|
||||
[RemoteISO]
|
||||
Browse Games = Játékok tallózása
|
||||
|
||||
@@ -1119,7 +1119,6 @@ translators5 = eerdfz
|
||||
translators6 = XForYouX
|
||||
website = Kunjungi situs:
|
||||
written = Ditulis dalam bahasa C++ demi kecepatan dan portabilitas
|
||||
X @PPSSPP_emu = X @PPSSPP_emu
|
||||
|
||||
[RemoteISO]
|
||||
Browse Games = Telusuri permainan
|
||||
|
||||
@@ -1089,7 +1089,6 @@ translators5 =
|
||||
translators6 =
|
||||
website = Da' un'occhiata al sito web:
|
||||
written = Scritto in C++ per velocità e portabilità
|
||||
X @PPSSPP_emu = X @PPSSPP_emu
|
||||
|
||||
[MemStick]
|
||||
Already contains PSP data = Contiene già dati PSP
|
||||
|
||||
@@ -1086,7 +1086,6 @@ translators5 =
|
||||
translators6 =
|
||||
website = ウェブサイトはこちら:
|
||||
written = 速度と移植性を保つためにC++で書かれています
|
||||
X @PPSSPP_emu = X @PPSSPP_emu
|
||||
|
||||
[MemStick]
|
||||
Already contains PSP data = 既にPSPデータが存在しています。
|
||||
|
||||
@@ -1119,7 +1119,6 @@ translators5 =
|
||||
translators6 =
|
||||
website = Ngunjungi situs web kita:
|
||||
written = Ditulis dalam C++ Kanggo kacepetan lan portabilitas
|
||||
X @PPSSPP_emu = X @PPSSPP_emu
|
||||
|
||||
[RemoteISO]
|
||||
Browse Games = Browse games
|
||||
|
||||
@@ -1069,7 +1069,6 @@ translators5 =
|
||||
translators6 =
|
||||
website = 웹사이트를 확인하세요:
|
||||
written = 속도와 이식성을 위해 C++로 작성되었습니다.
|
||||
X @PPSSPP_emu = X @PPSSPP_emu
|
||||
|
||||
[MemStick]
|
||||
Already contains PSP data = 이미 PSP 데이터가 포함되어 있습니다.
|
||||
|
||||
@@ -1083,7 +1083,6 @@ translators5 =
|
||||
translators6 =
|
||||
website = Check out the website:
|
||||
written = Written in C++ for speed and portability
|
||||
X @PPSSPP_emu = X @PPSSPP_emu
|
||||
|
||||
[MemStick]
|
||||
Already contains PSP data = Already contains PSP data
|
||||
|
||||
@@ -1119,7 +1119,6 @@ translators5 =
|
||||
translators6 =
|
||||
website = ກວດສອບຂໍ້ມູນທີ່ເວັບໄຊ:
|
||||
written = ຂຽນໂດຍພາສາ C++ ເພື່ອປະສິດທິພາບ, ຄວາມໄວ ແລະຄວາມສະຖຽນ
|
||||
X @PPSSPP_emu = X @PPSSPP_emu
|
||||
|
||||
[RemoteISO]
|
||||
Browse Games = Browse games
|
||||
|
||||
@@ -1119,7 +1119,6 @@ translators5 =
|
||||
translators6 =
|
||||
website = Check out the website:
|
||||
written = Parašyta C++ kalboje dėl greičio ir portabilumo
|
||||
X @PPSSPP_emu = X @PPSSPP_emu
|
||||
|
||||
[RemoteISO]
|
||||
Browse Games = Browse games
|
||||
|
||||
@@ -1119,7 +1119,6 @@ translators5 =
|
||||
translators6 =
|
||||
website = Lihat laman web:
|
||||
written = Ditulis dengan C++ untuk kelajuan dan mudah alih
|
||||
X @PPSSPP_emu = X @PPSSPP_emu
|
||||
|
||||
[RemoteISO]
|
||||
Browse Games = Browse games
|
||||
|
||||
@@ -1119,7 +1119,6 @@ translators5 =
|
||||
translators6 =
|
||||
website = Bezoek de website:
|
||||
written = Geschreven in C++ voor snelheid en draagbaarheid
|
||||
X @PPSSPP_emu = X @PPSSPP_emu
|
||||
|
||||
[RemoteISO]
|
||||
Browse Games = Games bladeren...
|
||||
|
||||
@@ -1119,7 +1119,6 @@ translators5 =
|
||||
translators6 =
|
||||
website = Check out the website:
|
||||
written = Written in C++ for speed and portability
|
||||
X @PPSSPP_emu = X @PPSSPP_emu
|
||||
|
||||
[RemoteISO]
|
||||
Browse Games = Browse games
|
||||
|
||||
@@ -1116,7 +1116,6 @@ translators5 =
|
||||
translators6 =
|
||||
website = Zajrzyj na stronę:
|
||||
written = Napisano w C++ dla wydajności i mobilności
|
||||
X @PPSSPP_emu = X: @PPSSPP_emu
|
||||
|
||||
[RemoteISO]
|
||||
Browse Games = Przeglądaj gry
|
||||
|
||||
@@ -1092,7 +1092,6 @@ translators5 =
|
||||
translators6 =
|
||||
website = Verifique o site da web:
|
||||
written = Escrito em C++ pela velocidade e portabilidade
|
||||
X @PPSSPP_emu = X @PPSSPP_emu
|
||||
|
||||
[MemStick]
|
||||
Already contains PSP data = Já contém dados do PSP
|
||||
|
||||
@@ -1112,7 +1112,6 @@ translators5 =
|
||||
translators6 =
|
||||
website = Verifica o website:
|
||||
written = PPSSPP foi escrito em C++ pela sua velocidade e portabilidade
|
||||
X @PPSSPP_emu = X @PPSSPP_emu
|
||||
|
||||
[MemStick]
|
||||
Already contains PSP data = Já contém dados da PSP
|
||||
|
||||
@@ -1120,7 +1120,6 @@ translators5 =
|
||||
translators6 =
|
||||
website = Uitați-vă la site:
|
||||
written = Scris in C++ pt. viteză si portabilitate
|
||||
X @PPSSPP_emu = X @PPSSPP_emu
|
||||
|
||||
[RemoteISO]
|
||||
Browse Games = Browse games
|
||||
|
||||
@@ -1086,7 +1086,6 @@ translators5 =
|
||||
translators6 =
|
||||
website = Посетите наш веб-сайт:
|
||||
written = Написан на C++ для скорости и портируемости
|
||||
X @PPSSPP_emu = X @PPSSPP_emu
|
||||
|
||||
[MemStick]
|
||||
Already contains PSP data = Уже содержит данные PSP
|
||||
|
||||
@@ -1070,7 +1070,6 @@ translators5 =
|
||||
translators6 =
|
||||
website = Kolla in webbsidan:
|
||||
written = Skriven i C++ - prestanda och portabilitet
|
||||
X @PPSSPP_emu = X @PPSSPP_emu
|
||||
|
||||
[PSPSettings]
|
||||
Auto = Auto
|
||||
|
||||
@@ -1120,7 +1120,6 @@ translators5 =
|
||||
translators6 =
|
||||
website = Puntahan ang Website:
|
||||
written = Nakasulat sa C++ para sa bilis at portability
|
||||
X @PPSSPP_emu = X @PPSSPP_emu
|
||||
|
||||
[RemoteISO]
|
||||
Browse Games = I-browse ang mga laro
|
||||
|
||||
@@ -1138,7 +1138,6 @@ translators5 =
|
||||
translators6 =
|
||||
website = เพิ่มเติมข้อมูลได้ที่เว็บไซต์:
|
||||
written = เขียนโดยใช้ภาษา C++ เพื่อความรวดเร็ว และความเสถียร
|
||||
X @PPSSPP_emu = ไปที่ X
|
||||
|
||||
[RemoteISO]
|
||||
Browse Games = ค้นหาไปยังเกม
|
||||
|
||||
@@ -1120,7 +1120,6 @@ translators5 =
|
||||
translators6 =
|
||||
website = PPSSPP.org
|
||||
written = Hız ve Taşınabilirlik için C++ ile Yazıldı
|
||||
X @PPSSPP_emu = X @PPSSPP_emu
|
||||
|
||||
[RemoteISO]
|
||||
Browse Games = Oyunlara Gözat
|
||||
|
||||
@@ -1119,7 +1119,6 @@ translators5 = ser.gutsalyuk@gmail.com
|
||||
translators6 =
|
||||
website = Відвідайте наш веб-сайт:
|
||||
written = Написаний на C++ для швидкості \nта підтримці декількох платформ.
|
||||
X @PPSSPP_emu = X @PPSSPP_emu
|
||||
|
||||
[RemoteISO]
|
||||
Browse Games = Перегляд ігор
|
||||
|
||||
@@ -1119,7 +1119,6 @@ translators5 = Huy Song Tử,
|
||||
translators6 =
|
||||
website = Xem trên website:
|
||||
written = Được viết bằng C++ cho tốc độ và portability
|
||||
X @PPSSPP_emu = X @PPSSPP_emu
|
||||
|
||||
[RemoteISO]
|
||||
Browse Games = Duyệt games
|
||||
|
||||
@@ -1120,7 +1120,6 @@ translators5 = wangdecode
|
||||
translators6 =
|
||||
website = 请查阅官方网站
|
||||
written = 使用C++编写以保证速度与移植性
|
||||
X @PPSSPP_emu = X @PPSSPP_emu
|
||||
|
||||
[RemoteISO]
|
||||
Browse Games = 浏览游戏
|
||||
|
||||
@@ -1086,7 +1086,6 @@ translators5 =
|
||||
translators6 =
|
||||
website = 歡迎造訪我們的網站:
|
||||
written = 使用 C++ 編寫,以保證建置速度和相容性
|
||||
X @PPSSPP_emu = X @PPSSPP_emu
|
||||
|
||||
[MemStick]
|
||||
Already contains PSP data = 已包含 PSP 資料
|
||||
|
||||
+2868
-2811
File diff suppressed because it is too large.
Load diff
|
Before Width: | Height: | Size: 208 KiB After Width: | Height: | Size: 206 KiB |
@@ -371,6 +371,8 @@ bool System_GetPropertyBool(SystemProperty prop) {
|
||||
return true;
|
||||
case SYSPROP_HAS_KEYBOARD:
|
||||
return true;
|
||||
case SYSPROP_SUPPORTS_SHARE_TEXT:
|
||||
return true;
|
||||
case SYSPROP_KEYBOARD_IS_SOFT:
|
||||
// If a hardware keyboard is connected, and we add support, we could return false here.
|
||||
return true;
|
||||
|
||||
Reference in new issue
Block a user