Merge pull request #20262 from hrydgard/sdl-audio-buffer

SDL: Allow configuring the audio buffer size
This commit is contained in:
Henrik Rydgård authored and GitHub committed 2025-04-15 20:47:37 +02:00
commit 2c52c1df33
55 files changed
+174 -29

No files matched your search

+2
View File
@@ -208,6 +208,7 @@ EventReturn PopupSliderChoice::HandleClick(EventParams &e) {
SliderPopupScreen *popupScreen = new SliderPopupScreen(value_, minValue_, maxValue_, defaultValue_, ChopTitle(text_), step_, units_, liveUpdate_);
if (!negativeLabel_.empty())
popupScreen->SetNegativeDisable(negativeLabel_);
popupScreen->RestrictChoices(fixedChoices_, numFixedChoices_);
popupScreen->OnChange.Handle(this, &PopupSliderChoice::HandleChange);
if (e.v)
popupScreen->SetPopupOrigin(e.v);
@@ -369,6 +370,7 @@ void SliderPopupScreen::CreatePopupContents(UI::ViewGroup *parent) {
LinearLayout *vert = parent->Add(new LinearLayout(ORIENT_VERTICAL, new LinearLayoutParams(UI::Margins(10, 10))));
slider_ = new Slider(&sliderValue_, minValue_, maxValue_, new LinearLayoutParams(UI::Margins(10, 10)));
slider_->OnChange.Handle(this, &SliderPopupScreen::OnSliderChange);
slider_->RestrictChoices(fixedChoices_, numFixedChoices_);
vert->Add(slider_);
LinearLayout *lin = vert->Add(new LinearLayout(ORIENT_HORIZONTAL, new LinearLayoutParams(UI::Margins(10, 10))));
+12
View File
@@ -88,6 +88,10 @@ public:
negativeLabel_ = str;
disabled_ = *value_ < 0;
}
void RestrictChoices(const int *fixedChoices, size_t numFixedChoices) {
fixedChoices_ = fixedChoices;
numFixedChoices_ = numFixedChoices;
}
const char *tag() const override { return "SliderPopup"; }
@@ -113,6 +117,8 @@ private:
bool liveUpdate_;
bool changing_ = false;
bool disabled_ = false;
const int *fixedChoices_ = nullptr;
size_t numFixedChoices_ = 0;
};
class SliderFloatPopupScreen : public PopupScreen {
@@ -310,6 +316,10 @@ public:
void SetNegativeDisable(std::string_view str) {
negativeLabel_ = str;
}
void RestrictChoices(const int *fixedChoices, size_t numFixedChoices) {
fixedChoices_ = fixedChoices;
numFixedChoices_ = numFixedChoices;
}
Event OnChange;
@@ -332,6 +342,8 @@ private:
ScreenManager *screenManager_;
bool restoreFocus_ = false;
bool liveUpdate_ = false;
const int *fixedChoices_ = nullptr;
size_t numFixedChoices_ = 0;
};
class PopupSliderChoiceFloat : public AbstractChoiceWithValueDisplay {
+91 -25
View File
@@ -1484,32 +1484,71 @@ bool Slider::Key(const KeyInput &input) {
}
bool Slider::ApplyKey(InputKeyCode keyCode) {
switch (keyCode) {
case NKCODE_DPAD_LEFT:
case NKCODE_MINUS:
case NKCODE_NUMPAD_SUBTRACT:
*value_ -= step_;
break;
case NKCODE_DPAD_RIGHT:
case NKCODE_PLUS:
case NKCODE_NUMPAD_ADD:
*value_ += step_;
break;
case NKCODE_PAGE_UP:
*value_ -= step_ * 10;
break;
case NKCODE_PAGE_DOWN:
*value_ += step_ * 10;
break;
case NKCODE_MOVE_HOME:
*value_ = minValue_;
break;
case NKCODE_MOVE_END:
*value_ = maxValue_;
break;
default:
return false;
SnapToFixed();
if (numFixedChoices_) {
// Find the current one.
int curIndex = -1;
for (int i = 0; i < numFixedChoices_; i++) {
if (*value_ == fixedChoices_[i]) {
curIndex = i;
}
}
switch (keyCode) {
case NKCODE_DPAD_LEFT:
case NKCODE_MINUS:
case NKCODE_NUMPAD_SUBTRACT:
case NKCODE_PAGE_DOWN:
if (curIndex >= 1) {
*value_ = fixedChoices_[curIndex - 1];
}
break;
case NKCODE_DPAD_RIGHT:
case NKCODE_PLUS:
case NKCODE_NUMPAD_ADD:
case NKCODE_PAGE_UP:
if (curIndex < numFixedChoices_ - 1) {
*value_ = fixedChoices_[curIndex + 1];
}
break;
case NKCODE_MOVE_HOME:
*value_ = fixedChoices_[0];
break;
case NKCODE_MOVE_END:
*value_ = fixedChoices_[numFixedChoices_ - 1];
break;
default:
return false;
}
} else {
switch (keyCode) {
case NKCODE_DPAD_LEFT:
case NKCODE_MINUS:
case NKCODE_NUMPAD_SUBTRACT:
*value_ -= step_;
break;
case NKCODE_DPAD_RIGHT:
case NKCODE_PLUS:
case NKCODE_NUMPAD_ADD:
*value_ += step_;
break;
case NKCODE_PAGE_UP:
*value_ -= step_ * 10;
break;
case NKCODE_PAGE_DOWN:
*value_ += step_ * 10;
break;
case NKCODE_MOVE_HOME:
*value_ = minValue_;
break;
case NKCODE_MOVE_END:
*value_ = maxValue_;
break;
default:
return false;
}
}
EventParams params{};
params.v = this;
params.a = (uint32_t)(*value_);
@@ -1544,6 +1583,9 @@ void Slider::Clamp() {
// Clamp the value to be a multiple of the nearest step (e.g. if step == 5, value == 293, it'll round down to 290).
*value_ = *value_ - fmodf(*value_, step_);
// If it's a fixed set, snap it.
SnapToFixed();
}
void Slider::Draw(UIContext &dc) {
@@ -1588,6 +1630,30 @@ void Slider::Update() {
}
}
void Slider::SnapToFixed() {
if (!numFixedChoices_) {
return;
}
int val = *value_;
// Find the closest value.
int minDist = 999999999;
int best = -1;
for (int i = 0; i < numFixedChoices_; i++) {
int dist = val - fixedChoices_[i];
if (dist < 0)
dist = -dist;
if (dist < minDist) {
minDist = dist;
best = i;
}
}
if (best >= 0) {
*value_ = fixedChoices_[best];
}
}
void Slider::GetContentDimensions(const UIContext &dc, float &w, float &h) const {
// TODO
w = 100;
+7
View File
@@ -624,6 +624,10 @@ public:
void Update() override;
void GetContentDimensions(const UIContext &dc, float &w, float &h) const override;
void SetShowPercent(bool s) { showPercent_ = s; }
void RestrictChoices(const int *fixedChoices, size_t numFixedChoices) {
fixedChoices_ = fixedChoices;
numFixedChoices_ = numFixedChoices;
}
// OK to call this from the outside after having modified *value_
void Clamp();
@@ -632,6 +636,7 @@ public:
private:
bool ApplyKey(InputKeyCode keyCode);
void SnapToFixed();
int *value_;
bool showPercent_;
@@ -641,6 +646,8 @@ private:
float paddingRight_;
int step_;
int repeat_ = 0;
const int *fixedChoices_ = nullptr;
size_t numFixedChoices_ = 0;
InputKeyCode repeatCode_ = NKCODE_UNKNOWN;
};
+1
View File
@@ -769,6 +769,7 @@ static const ConfigSetting soundSettings[] = {
ConfigSetting("Enable", &g_Config.bEnableSound, true, CfgFlag::PER_GAME),
ConfigSetting("AudioBackend", &g_Config.iAudioBackend, 0, CfgFlag::PER_GAME),
ConfigSetting("ExtraAudioBuffering", &g_Config.bExtraAudioBuffering, false, CfgFlag::DEFAULT),
ConfigSetting("AudioBufferSize", &g_Config.iSDLAudioBufferSize, 256, CfgFlag::DEFAULT),
// Legacy volume settings, these get auto upgraded through default handlers on the new settings. NOTE: Must be before the new ones in the order here.
// The default settings here are still relevant, they will get propagated into the new ones.
+1
View File
@@ -286,6 +286,7 @@ public:
// Sound
bool bEnableSound;
int iAudioBackend;
int iSDLAudioBufferSize;
// Legacy volume settings, 0-10. These get auto-upgraded and should not be used.
int iLegacyGameVolume;
+2
View File
@@ -32,6 +32,8 @@ constexpr int PSP_DEFAULT_FIRMWARE = 660;
constexpr int VOLUME_OFF = 0;
constexpr int VOLUME_FULL = 10;
constexpr int VOLUMEHI_FULL = 100; // for newer volume params. will convert them all later
constexpr int AUDIOSAMPLES_MIN = 0;
constexpr int AUDIOSAMPLES_MAX = 2048;
// This matches exactly the old shift-based curve.
float Volume10ToMultiplier(int volume);
+1 -1
View File
@@ -87,7 +87,7 @@ static void InitSDLAudioDevice() {
fmt.freq = 44100;
fmt.format = AUDIO_S16;
fmt.channels = 2;
fmt.samples = 256;
fmt.samples = std::max(g_Config.iSDLAudioBufferSize, 128);
fmt.callback = &mixaudio;
fmt.userdata = nullptr;
+4 -2
View File
@@ -146,7 +146,7 @@ static void InitSDLAudioDevice(const std::string &name = "") {
fmt.freq = g_sampleRate;
fmt.format = AUDIO_S16;
fmt.channels = 2;
fmt.samples = 256;
fmt.samples = std::max(g_Config.iSDLAudioBufferSize, 128);
fmt.callback = &sdl_mixaudio_callback;
fmt.userdata = nullptr;
@@ -163,7 +163,9 @@ static void InitSDLAudioDevice(const std::string &name = "") {
}
}
if (audioDev <= 0) {
INFO_LOG(Log::Audio, "SDL: Trying a different audio device");
if (audioDev < 0) {
INFO_LOG(Log::Audio, "SDL: Error: %s. Trying a different audio device", SDL_GetError());
}
audioDev = SDL_OpenAudioDevice(nullptr, 0, &fmt, &g_retFmt, SDL_AUDIO_ALLOW_FREQUENCY_CHANGE);
}
if (audioDev <= 0) {
+9
View File
@@ -615,6 +615,7 @@ void GameSettingsScreen::CreateAudioSettings(UI::ViewGroup *audioSettings) {
auto a = GetI18NCategory(I18NCat::AUDIO);
auto ac = GetI18NCategory(I18NCat::ACHIEVEMENTS);
auto ms = GetI18NCategory(I18NCat::MAINSETTINGS);
auto di = GetI18NCategory(I18NCat::DIALOG);
#if PPSSPP_PLATFORM(IOS)
CheckBox *respectSilentMode = audioSettings->Add(new CheckBox(&g_Config.bAudioRespectSilentMode, a->T("Respect silent mode")));
@@ -693,6 +694,14 @@ void GameSettingsScreen::CreateAudioSettings(UI::ViewGroup *audioSettings) {
PopupMultiChoiceDynamic *audioDevice = audioSettings->Add(new PopupMultiChoiceDynamic(&g_Config.sAudioDevice, a->T("Device"), audioDeviceList, I18NCat::NONE, screenManager()));
audioDevice->OnChoice.Handle(this, &GameSettingsScreen::OnAudioDevice);
sdlAudio = true;
static const int bufferSizes[] = {128, 256, 512, 1024, 2048};
PopupSliderChoice *bufferSize = audioSettings->Add(new PopupSliderChoice(&g_Config.iSDLAudioBufferSize, 0, 2048, 256, a->T("Buffer size"), screenManager()));
bufferSize->RestrictChoices(bufferSizes, ARRAY_SIZE(bufferSizes));
bufferSize->OnChange.Add([=](EventParams& e) {
settingInfo_->Show(di->T("This change will not take effect until PPSSPP is restarted."), e.v);
return UI::EVENT_CONTINUE;
});
#endif
if (sdlAudio || g_Config.iAudioBackend == AUDIO_BACKEND_WASAPI) {
-1
View File
@@ -770,7 +770,6 @@ namespace MainWindow {
case ID_DEBUG_SAVEFRAMEDUMP:
{
System_PostUIMessage(UIMessage::SAVE_FRAME_DUMP);
break;
}
+1
View File
@@ -468,6 +468,7 @@ SSID = SSID
Submit = ‎تقديم
Supported = مدعوم
There is no data = ‎ليس هناك بيانات.
This change will not take effect until PPSSPP is restarted. = This change will not take effect until PPSSPP is restarted.
Toggle All = ‎تبديل الكل
Toggle List = Toggle list
Top Center = Top center
+1
View File
@@ -460,6 +460,7 @@ SSID = SSID
Submit = Submit
Supported = Supported
There is no data = Veri yoxdur
This change will not take effect until PPSSPP is restarted. = This change will not take effect until PPSSPP is restarted.
Toggle All = Toggle all
Toggle List = Toggle list
Top Center = Top center
+1
View File
@@ -460,6 +460,7 @@ SSID = SSID
Submit = Submit
Supported = Supported
There is no data = Няма данни.
This change will not take effect until PPSSPP is restarted. = This change will not take effect until PPSSPP is restarted.
Toggle All = Toggle all
Toggle List = Toggle list
Top Center = Top center
+1
View File
@@ -460,6 +460,7 @@ SSID = SSID
Submit = Enviar
Supported = Suportat
There is no data = No hi han dades
This change will not take effect until PPSSPP is restarted. = This change will not take effect until PPSSPP is restarted.
Toggle All = Canviar tot
Toggle List = Veure llista
Top Center = Top center
+1
View File
@@ -460,6 +460,7 @@ SSID = SSID
Submit = Odeslat
Supported = Supported
There is no data = Žádná data k dispozici.
This change will not take effect until PPSSPP is restarted. = This change will not take effect until PPSSPP is restarted.
Toggle All = Přepnout vše
Toggle List = Toggle list
Top Center = Top center
+1
View File
@@ -460,6 +460,7 @@ SSID = SSID
Submit = Indsend
Supported = Supported
There is no data = Der findes ingen data.
This change will not take effect until PPSSPP is restarted. = This change will not take effect until PPSSPP is restarted.
Toggle All = Skift alle
Toggle List = Toggle list
Top Center = Top center
+1
View File
@@ -460,6 +460,7 @@ SSID = SSID
Submit = Absenden
Supported = Unterstützt
There is no data = Keine Daten vorhanden
This change will not take effect until PPSSPP is restarted. = This change will not take effect until PPSSPP is restarted.
Toggle All = Alle umschalten
Toggle List = Toggle list
Top Center = Mitte oben
+1
View File
@@ -460,6 +460,7 @@ SSID = SSID
Submit = Submit
Supported = Supported
There is no data = Ai edda data mane.
This change will not take effect until PPSSPP is restarted. = This change will not take effect until PPSSPP is restarted.
Toggle All = Toggle all
Toggle List = Toggle list
Top Center = Top center
+1
View File
@@ -484,6 +484,7 @@ SSID = SSID
Submit = Submit
Supported = Supported
There is no data = There is no data.
This change will not take effect until PPSSPP is restarted. = This change will not take effect until PPSSPP is restarted.
Toggle All = Toggle all
Toggle List = Toggle list
Top Center = Top center
+1
View File
@@ -461,6 +461,7 @@ SSID = SSID
Submit = Enviar
Supported = Soportado
There is no data = No hay datos.
This change will not take effect until PPSSPP is restarted. = This change will not take effect until PPSSPP is restarted.
Toggle All = Cambiar todo
Toggle List = Ver lista
Top Center = Superior centrado
+1
View File
@@ -460,6 +460,7 @@ SSID = SSID
Submit = Enviar
Supported = Soportado
There is no data = No se han encontrado datos del juego.
This change will not take effect until PPSSPP is restarted. = This change will not take effect until PPSSPP is restarted.
Toggle All = Cambiar todo
Toggle List = Cambiar lista
Top Center = Arriba
+1
View File
@@ -460,6 +460,7 @@ SSID = SSID
Submit = تایید کردن
Supported = حمایت میشود
There is no data = ‎.داده‌ای وجود ندارد
This change will not take effect until PPSSPP is restarted. = This change will not take effect until PPSSPP is restarted.
Toggle All = تغییر وضعیت همه
Toggle List = تغییر وضعیت لیست
Top Center = Top center
+1
View File
@@ -460,6 +460,7 @@ SSID = SSID
Submit = Submit
Supported = Tuettu
There is no data = Dataa ei ole.
This change will not take effect until PPSSPP is restarted. = This change will not take effect until PPSSPP is restarted.
Toggle All = Toggle all
Toggle List = Toggle list
Top Center = Top center
+1
View File
@@ -460,6 +460,7 @@ SSID = SSID
Submit = Envoyer
Supported = Supporté
There is no data = Aucune donnée trouvée.
This change will not take effect until PPSSPP is restarted. = This change will not take effect until PPSSPP is restarted.
Toggle All = Tout cocher
Toggle List = Afficher liste
Top Center = En haut au centre
+1
View File
@@ -460,6 +460,7 @@ SSID = SSID
Submit = Enviar
Supported = Supported
There is no data = A tarxeta de memoria está baleira.
This change will not take effect until PPSSPP is restarted. = This change will not take effect until PPSSPP is restarted.
Toggle All = Cambiar todo
Toggle List = Toggle list
Top Center = Top center
+1
View File
@@ -460,6 +460,7 @@ SSID = SSID
Submit = ΥΠΟΒΟΛΗ
Supported = Supported
There is no data = ΔΕΝ ΥΠΑΡΧΟΥΝ ΔΕΔΟΜΕΝΑ
This change will not take effect until PPSSPP is restarted. = This change will not take effect until PPSSPP is restarted.
Toggle All = ΕΝΑΛΛΑΓΗ ΟΛΩΝ
Toggle List = Toggle list
Top Center = Top center
+1
View File
@@ -460,6 +460,7 @@ SSID = SSID
Submit = Submit
Supported = Supported
There is no data = .םינותנ ןיא
This change will not take effect until PPSSPP is restarted. = This change will not take effect until PPSSPP is restarted.
Toggle All = Toggle all
Toggle List = Toggle list
Top Center = Top center
+1
View File
@@ -460,6 +460,7 @@ SSID = SSID
Submit = Submit
Supported = Supported
There is no data = .םינותנ ןיא
This change will not take effect until PPSSPP is restarted. = This change will not take effect until PPSSPP is restarted.
Toggle All = Toggle all
Toggle List = Toggle list
Top Center = Top center
+1
View File
@@ -460,6 +460,7 @@ SSID = SSID
Submit = Submit
Supported = Podržano
There is no data = Nema date.
This change will not take effect until PPSSPP is restarted. = This change will not take effect until PPSSPP is restarted.
Toggle All = Uključi sve
Toggle List = Toggle list
Top Center = Top center
+1
View File
@@ -460,6 +460,7 @@ SSID = SSID
Submit = Elküld
Supported = Támogatott
There is no data = Nincs adat.
This change will not take effect until PPSSPP is restarted. = This change will not take effect until PPSSPP is restarted.
Toggle All = Összes át-\nkapcsolása
Toggle List = Lista
Top Center = Felül középen
+1
View File
@@ -460,6 +460,7 @@ SSID = SSID
Submit = Ajukan
Supported = Didukung
There is no data = Tidak ada data.
This change will not take effect until PPSSPP is restarted. = This change will not take effect until PPSSPP is restarted.
Toggle All = Alihkan semua
Toggle List = Daftar pengalihan
Top Center = Tengah atas
+1
View File
@@ -460,6 +460,7 @@ SSID = SSID
Submit = Invia
Supported = Supportato
There is no data = Non ci sono dati.
This change will not take effect until PPSSPP is restarted. = This change will not take effect until PPSSPP is restarted.
Toggle All = Attiva Tutto
Toggle List = Mostra lista
Top Center = In alto al centro
+1
View File
@@ -460,6 +460,7 @@ SSID = SSID
Submit = 決定
Supported = サポートしています
There is no data = データがありません。
This change will not take effect until PPSSPP is restarted. = This change will not take effect until PPSSPP is restarted.
Toggle All = 全て反転する
Toggle List = 切り替えリスト
Top Center = 上中央
+1
View File
@@ -460,6 +460,7 @@ SSID = SSID
Submit = Kerem
Supported = Supported
There is no data = Ora ana data.
This change will not take effect until PPSSPP is restarted. = This change will not take effect until PPSSPP is restarted.
Toggle All = Peleh kabeh
Toggle List = Toggle list
Top Center = Top center
+1
View File
@@ -460,6 +460,7 @@ SSID = SSID
Submit = 전송
Supported = 지원
There is no data = 데이터가 없습니다.
This change will not take effect until PPSSPP is restarted. = This change will not take effect until PPSSPP is restarted.
Toggle All = 모두 토글
Toggle List = 토글 목록
Top Center = 상단 중앙
+1
View File
@@ -474,6 +474,7 @@ SSID = SSID
Submit = Submit
Supported = Supported
There is no data = زانیاری بوونی نیە لەسەری
This change will not take effect until PPSSPP is restarted. = This change will not take effect until PPSSPP is restarted.
Toggle All = Toggle all
Toggle List = Toggle list
Top Center = Top center
+1
View File
@@ -460,6 +460,7 @@ SSID = SSID
Submit = ຍອມຮັບ
Supported = Supported
There is no data = ບໍ່ມີຂໍ້ມູນ.
This change will not take effect until PPSSPP is restarted. = This change will not take effect until PPSSPP is restarted.
Toggle All = ເລືອກທັງໝົດ
Toggle List = Toggle list
Top Center = Top center
+1
View File
@@ -460,6 +460,7 @@ SSID = SSID
Submit = Patvirtinti
Supported = Supported
There is no data = Čia nėra jokių duomenų.
This change will not take effect until PPSSPP is restarted. = This change will not take effect until PPSSPP is restarted.
Toggle All = Perjungti visus
Toggle List = Toggle list
Top Center = Top center
+1
View File
@@ -460,6 +460,7 @@ SSID = SSID
Submit = Submit
Supported = Supported
There is no data = Tiada data disini.
This change will not take effect until PPSSPP is restarted. = This change will not take effect until PPSSPP is restarted.
Toggle All = Periksa semua
Toggle List = Toggle list
Top Center = Top center
+1
View File
@@ -460,6 +460,7 @@ SSID = SSID
Submit = Verzenden
Supported = Ondersteund
There is no data = Er zijn geen data.
This change will not take effect until PPSSPP is restarted. = This change will not take effect until PPSSPP is restarted.
Toggle All = Alles schakelen
Toggle List = Toggle list
Top Center = Top center
+1
View File
@@ -460,6 +460,7 @@ SSID = SSID
Submit = Submit
Supported = Supported
There is no data = Det finnes ingen data.
This change will not take effect until PPSSPP is restarted. = This change will not take effect until PPSSPP is restarted.
Toggle All = Toggle all
Toggle List = Toggle list
Top Center = Top center
+1
View File
@@ -460,6 +460,7 @@ SSID = SSID
Submit = Wyślij
Supported = Wspierane
There is no data = Brak danych.
This change will not take effect until PPSSPP is restarted. = This change will not take effect until PPSSPP is restarted.
Toggle All = Wybierz wszystko
Toggle List = Wybierz listę
Top Center = Górny środek
+1
View File
@@ -484,6 +484,7 @@ SSID = SSID
Submit = Submeter
Supported = Suportado
There is no data = Não há dados.
This change will not take effect until PPSSPP is restarted. = This change will not take effect until PPSSPP is restarted.
Toggle All = Alternar todos
Toggle List = Alternar lista
Top Center = No centro do topo
+1
View File
@@ -484,6 +484,7 @@ SSID = SSID
Submit = Enviar
Supported = Compatível
There is no data = Não existem dados.
This change will not take effect until PPSSPP is restarted. = This change will not take effect until PPSSPP is restarted.
Toggle All = Alternar todos
Toggle List = Alternar lista
Top Center = Centro superior
+1
View File
@@ -461,6 +461,7 @@ SSID = SSID
Submit = Trimite
Supported = Supported
There is no data = Salvare inexistentă
This change will not take effect until PPSSPP is restarted. = This change will not take effect until PPSSPP is restarted.
Toggle All = Schimbă tot
Toggle List = Toggle list
Top Center = Top center
+1
View File
@@ -460,6 +460,7 @@ SSID = SSID
Submit = Выполнение
Supported = Поддерживается
There is no data = Нет данных
This change will not take effect until PPSSPP is restarted. = This change will not take effect until PPSSPP is restarted.
Toggle All = Переключить все
Toggle List = Переключить список
Top Center = Вверху в центре
+1
View File
@@ -461,6 +461,7 @@ SSID = SSID
Submit = Skicka
Supported = Stöds
There is no data = Det finns ingen data.
This change will not take effect until PPSSPP is restarted. = This change will not take effect until PPSSPP is restarted.
Toggle All = Vänd alla
Toggle List = Vänd lista
Top Center = Överkant centrerad
+1
View File
@@ -461,6 +461,7 @@ SSID = SSID
Submit = I-Submit
Supported = Suportado
There is no data = Walang Datos
This change will not take effect until PPSSPP is restarted. = This change will not take effect until PPSSPP is restarted.
Toggle All = I-toggle lahat
Toggle List = I-Toggle list
Top Center = Gitnang paitaas
+1
View File
@@ -470,6 +470,7 @@ SSID = SSID
Submit = ตกลง
Supported = รองรับ
There is no data = ไม่มีข้อมูล
This change will not take effect until PPSSPP is restarted. = This change will not take effect until PPSSPP is restarted.
Toggle All = ทั้งหมด
Toggle List = รายการ
Top Center = มุมบนกลางจอ
+1
View File
@@ -462,6 +462,7 @@ SSID = SSID
Submit = Gönder
Supported = Destekleniyor
There is no data = Veri yok.
This change will not take effect until PPSSPP is restarted. = This change will not take effect until PPSSPP is restarted.
Toggle All = Hepsini değiştir
Toggle List = Listeyi değiştir
Top Center = Orta üst
+1
View File
@@ -460,6 +460,7 @@ SSID = SSID
Submit = Виконання
Supported = Підтримується
There is no data = Немає даних
This change will not take effect until PPSSPP is restarted. = This change will not take effect until PPSSPP is restarted.
Toggle All = Переключити все
Toggle List = Переключити список
Top Center = Верхній центр
+1
View File
@@ -460,6 +460,7 @@ SSID = SSID
Submit = Gửi đi
Supported = Được hỗ trợ
There is no data = Không có dữ liệu.
This change will not take effect until PPSSPP is restarted. = This change will not take effect until PPSSPP is restarted.
Toggle All = Tất cả
Toggle List = Toggle list
Top Center = Top center
+1
View File
@@ -460,6 +460,7 @@ SSID = 网络名称
Submit = 提交
Supported = 支持
There is no data = 存档不存在。
This change will not take effect until PPSSPP is restarted. = This change will not take effect until PPSSPP is restarted.
Toggle All = 全选/不选
Toggle List = 展开列表
Top Center = 正上方
+1
View File
@@ -460,6 +460,7 @@ SSID = SSID
Submit = 提交
Supported = 支援
There is no data = 沒有資料
This change will not take effect until PPSSPP is restarted. = This change will not take effect until PPSSPP is restarted.
Toggle All = 切換全部
Toggle List = 切換清單
Top Center = 正上