diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1d7d26017d..3c57843127 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -913,8 +913,6 @@ add_library(${CoreLibName} ${CoreLinkType}
Core/HLE/scePauth.h
Core/HW/SimpleAT3Dec.cpp
Core/HW/SimpleAT3Dec.h
- Core/HW/atrac3plus.cpp
- Core/HW/atrac3plus.h
Core/HW/AsyncIOManager.cpp
Core/HW/AsyncIOManager.h
Core/HW/MediaEngine.cpp
@@ -1155,7 +1153,6 @@ set(NativeAppSource
UI/GamepadEmu.cpp
UI/UIShader.cpp
UI/OnScreenDisplay.cpp
- UI/PluginScreen.cpp
UI/ControlMappingScreen.cpp
UI/CwCheatScreen.cpp
UI/ui_atlas.cpp)
diff --git a/Core/Core.vcxproj b/Core/Core.vcxproj
index 38b685ce50..3ee7695ff4 100644
--- a/Core/Core.vcxproj
+++ b/Core/Core.vcxproj
@@ -250,7 +250,6 @@
-
@@ -492,7 +491,6 @@
-
diff --git a/Core/Core.vcxproj.filters b/Core/Core.vcxproj.filters
index 63a2df379c..f336712f86 100644
--- a/Core/Core.vcxproj.filters
+++ b/Core/Core.vcxproj.filters
@@ -433,9 +433,6 @@
HW
-
- HW
-
HW
@@ -861,9 +858,6 @@
HW
-
- HW
-
HW
diff --git a/Core/HW/atrac3plus.cpp b/Core/HW/atrac3plus.cpp
deleted file mode 100644
index af31e459ce..0000000000
--- a/Core/HW/atrac3plus.cpp
+++ /dev/null
@@ -1,223 +0,0 @@
-#ifdef _WIN32
-#include "Common/CommonWindows.h"
-#else
-#include
-#include
-#ifdef ANDROID
-#include
-#endif
-#endif // _WIN32
-
-#include
-#include
-
-#include "base/logging.h"
-#include "Core/Config.h"
-#include "Common/FileUtil.h"
-#include "Core/HW/atrac3plus.h"
-
-#ifdef __APPLE__
-#include "TargetConditionals.h"
-#if TARGET_OS_MAC
-#define MACOSX
-#endif
-#endif
-
-extern std::string externalDirectory;
-
-namespace Atrac3plus_Decoder {
-
- bool IsSupported() {
-#if (defined(_WIN32) && (defined(_M_IX86) || defined(_M_X64))) || defined(ARMEABI) || defined(ARMEABI_V7A) || defined(MACOSX) || defined(__linux__)
- return true;
-#else
- return false;
-#endif
- }
-
-#ifdef _WIN32
- HMODULE hlib = 0;
-#else
- static void *so;
-#endif // _WIN32
-
- typedef int (* ATRAC3PLUS_DECODEFRAME)(void* context, void* inbuf, int inbytes, int* channels, void** outbuf);
- typedef void* (* ATRAC3PLUS_OPENCONTEXT)();
- typedef int (* ATRAC3PLUS_CLOSECONTEXT)(void* context);
- ATRAC3PLUS_DECODEFRAME frame_decoder = 0;
- ATRAC3PLUS_OPENCONTEXT open_context = 0;
- ATRAC3PLUS_CLOSECONTEXT close_context = 0;
-
- std::string GetInstalledFilename() {
-#if defined(ANDROID) && defined(ARM)
- return g_Config.internalDataDirectory + "libat3plusdecoder.so";
-#elif defined(__linux__)
- return "/usr/lib/libat3plusdecoder.so";
-#elif defined(_WIN32)
-#ifdef _M_X64
- return "at3plusdecoder64.dll";
-#else
- return "at3plusdecoder.dll";
-#endif
-#elif defined(__APPLE__)
-#ifdef IOS
- return g_Config.memCardDirectory + "libat3plusdecoder.dylib";
-#else
- return "libat3plusdecoder.dylib";
-#endif
-#elif defined(BLACKBERRY)
- return g_Config.memCardDirectory + "libat3plusdecoder.so";
-#else
- return "libat3plusdecoder.so";
-#endif
- }
-
- std::string GetAutoInstallFilename() {
-#if ARMEABI_V7A
- return g_Config.memCardDirectory + "PSP/libs/armeabi-v7a/libat3plusdecoder.so";
-#else
- return g_Config.memCardDirectory + "PSP/libs/armeabi/libat3plusdecoder.so";
-#endif
- }
-
- // Android-only: From SD card. .so files must be in internal memory to load on many devices.
- bool CanAutoInstall() {
-#if defined(ANDROID) && defined(ARM)
- // Android will auto install from SD card
- if (File::Exists(GetAutoInstallFilename()))
- return true;
-#endif
-
- // Other platforms can't.
- return false;
- }
-
- bool IsInstalled() {
- return File::Exists(GetInstalledFilename());
- }
-
- bool DoAutoInstall() {
-#if defined(ANDROID) && defined(ARM)
- std::string internalFilename = g_Config.internalDataDirectory + "libat3plusdecoder.so";
-#if ARMEABI_V7A
- std::string sdFilename = g_Config.memCardDirectory + "PSP/libs/armeabi-v7a/libat3plusdecoder.so";
-#else
- std::string sdFilename = g_Config.memCardDirectory + "PSP/libs/armeabi/libat3plusdecoder.so";
-#endif
-
- // SD cards are often mounted no-exec.
- if (!File::Exists(internalFilename)) {
- if (!File::Copy(sdFilename, internalFilename)) {
- ELOG("Failed to copy %s to %s", sdFilename.c_str(), internalFilename.c_str());
- return false;
- }
- if (chmod(internalFilename.c_str(), 0777) < 0) {
- ELOG("Failed to chmod %s, continuing anyway", internalFilename.c_str());
- }
- }
-#else
- ELOG("Autoinstall is for android only");
-#endif
- return true;
- }
-
- int Init() {
- if (!g_Config.bEnableAtrac3plus)
- return -1;
-
- if (!IsInstalled()) {
- // Okay, we're screwed. Let's bail.
- return -1;
- }
-
-#ifdef _WIN32
-
-#ifdef _M_X64
- hlib = LoadLibraryA(GetInstalledFilename().c_str());
-#else
- hlib = LoadLibraryA(GetInstalledFilename().c_str());
-#endif
- if (hlib) {
- frame_decoder = (ATRAC3PLUS_DECODEFRAME)GetProcAddress(hlib, "Atrac3plusDecoder_decodeFrame");
- open_context = (ATRAC3PLUS_OPENCONTEXT)GetProcAddress(hlib, "Atrac3plusDecoder_openContext");
- close_context = (ATRAC3PLUS_CLOSECONTEXT)GetProcAddress(hlib, "Atrac3plusDecoder_closeContext");
- } else {
- return -1;
- }
-#else
- std::string filename = GetInstalledFilename();
-
- ILOG("Attempting to load atrac3plus decoder from %s", filename.c_str());
- so = dlopen(filename.c_str(), RTLD_LAZY);
- if (so) {
- frame_decoder = (ATRAC3PLUS_DECODEFRAME)dlsym(so, "Atrac3plusDecoder_decodeFrame");
- open_context = (ATRAC3PLUS_OPENCONTEXT)dlsym(so, "Atrac3plusDecoder_openContext");
- close_context = (ATRAC3PLUS_CLOSECONTEXT)dlsym(so, "Atrac3plusDecoder_closeContext");
- ILOG("Successfully loaded atrac3plus decoder from %s", filename.c_str());
- if (!frame_decoder || !open_context || !close_context) {
- ILOG("Found atrac3plus decoder at %s but failed to load functions", filename.c_str());
- return -1;
- }
- } else {
- if (errno == ENOEXEC) {
- ELOG("Failed to load atrac3plus decoder from %s. errno=%i, dlerror=%s", filename.c_str(), (int)(errno), dlerror());
- } else {
- ELOG("Failed to load atrac3plus decoder from %s. errno=%i", filename.c_str(), (int)(errno));
- }
- return -1;
- }
-#endif
-
- return 0;
- }
-
- int Shutdown() {
-#ifdef _WIN32
- if (hlib) {
- FreeLibrary(hlib);
- hlib = 0;
- }
-#else
- if (so) {
- dlclose(so);
- so = 0;
- }
-#endif // _WIN32
- frame_decoder = 0;
- open_context = 0;
- close_context = 0;
- return 0;
- }
-
- void* OpenContext() {
- if (!open_context)
- return 0;
- return open_context();
- }
-
- int CloseContext(Context *context) {
- if (!close_context || !context)
- return 0;
- close_context(*context);
- *context = 0;
- return 0;
- }
-
- bool Decode(Context context, void* inbuf, int inbytes, int *outbytes, void* outbuf) {
- if (!frame_decoder) {
- *outbytes = 0;
- return false;
- }
- int channels = 0;
- void* buf;
- int ret = frame_decoder(context, inbuf, inbytes, &channels, &buf);
- if (ret != 0) {
- *outbytes = 0;
- return false;
- }
- *outbytes = channels * 2 * 0x800;
- memcpy(outbuf, buf, *outbytes);
- return true;
- }
-
-} // Atrac3plus_Decoder
diff --git a/Core/HW/atrac3plus.h b/Core/HW/atrac3plus.h
deleted file mode 100644
index df1b55190d..0000000000
--- a/Core/HW/atrac3plus.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#pragma once
-
-#include "Core/HW/BufferQueue.h"
-
-namespace Atrac3plus_Decoder {
- bool IsSupported();
- bool IsInstalled();
- bool CanAutoInstall();
- bool DoAutoInstall();
- std::string GetInstalledFilename();
-
- int Init();
- int Shutdown();
-
- typedef void* Context;
-
- Context OpenContext();
- int CloseContext(Context *context);
- bool Decode(Context context, void* inbuf, int inbytes, int *outbytes, void* outbuf);
-}
diff --git a/UI/GameSettingsScreen.cpp b/UI/GameSettingsScreen.cpp
index 3267229331..8b433693db 100644
--- a/UI/GameSettingsScreen.cpp
+++ b/UI/GameSettingsScreen.cpp
@@ -15,13 +15,15 @@
// Official git repository and contact information can be found at
// https://github.com/hrydgard/ppsspp and http://www.ppsspp.org/.
+#include "base/colorutil.h"
+#include "base/timeutil.h"
+#include "math/curves.h"
#include "gfx_es2/draw_buffer.h"
#include "i18n/i18n.h"
#include "ui/view.h"
#include "ui/viewgroup.h"
#include "ui/ui_context.h"
#include "UI/EmuScreen.h"
-#include "UI/PluginScreen.h"
#include "UI/GameSettingsScreen.h"
#include "UI/GameInfoCache.h"
#include "UI/MiscScreens.h"
@@ -30,14 +32,10 @@
#include "Core/Config.h"
#include "Core/Host.h"
-#include "android/jni/TestRunner.h"
-#include "GPU/GPUInterface.h"
-#include "base/colorutil.h"
-#include "base/timeutil.h"
-#include "math/curves.h"
-#include "Core/HW/atrac3plus.h"
#include "Core/System.h"
#include "Core/Reporting.h"
+#include "android/jni/TestRunner.h"
+#include "GPU/GPUInterface.h"
#include "Common/KeyMap.h"
#ifdef _WIN32
@@ -189,10 +187,7 @@ void GameSettingsScreen::CreateViews() {
audioSettingsScroll->Add(audioSettings);
tabHolder->AddTab(ms->T("Audio"), audioSettingsScroll);
- std::string atracString;
- atracString.assign(Atrac3plus_Decoder::IsInstalled() ? "Redownload Atrac3+ plugin" : "Download Atrac3+ plugin");
audioSettings->Add(new ItemHeader(ms->T("Audio")));
- audioSettings->Add(new Choice(a->T(atracString.c_str())))->OnClick.Handle(this, &GameSettingsScreen::OnDownloadPlugin);
audioSettings->Add(new PopupSliderChoice(&g_Config.iSFXVolume, 0, 8, a->T("SFX volume"), screenManager()));
audioSettings->Add(new PopupSliderChoice(&g_Config.iBGMVolume, 0, 8, a->T("BGM volume"), screenManager()));
@@ -369,31 +364,20 @@ void GameSettingsScreen::sendMessage(const char *message, const char *value) {
}
}
-UI::EventReturn GameSettingsScreen::OnDownloadPlugin(UI::EventParams &e) {
- screenManager()->push(new PluginScreen());
- return UI::EVENT_DONE;
-}
-
UI::EventReturn GameSettingsScreen::OnBack(UI::EventParams &e) {
// If we're in-game, return to the game via DR_CANCEL.
- if(PSP_IsInited()) {
+ if (PSP_IsInited()) {
screenManager()->finishDialog(this, DR_CANCEL);
host->UpdateScreen();
} else {
screenManager()->finishDialog(this, DR_OK);
}
- if(g_Config.bEnableSound) {
- if(PSP_IsInited() && !IsAudioInitialised())
+ if (g_Config.bEnableSound) {
+ if (PSP_IsInited() && !IsAudioInitialised())
Audio_Init();
}
- // It doesn't matter if audio is inited or not, it'll still output no sound
- // if the mixer isn't available, so go ahead and init/shutdown at our leisure.
- if(Atrac3plus_Decoder::IsInstalled()) {
- if(g_Config.bEnableAtrac3plus)
- Atrac3plus_Decoder::Init();
- else Atrac3plus_Decoder::Shutdown();
- }
+
Reporting::Enable(enableReports_, "report.ppsspp.org");
g_Config.Save();
@@ -428,11 +412,6 @@ UI::EventReturn GameSettingsScreen::OnChangeNickname(UI::EventParams &e) {
return UI::EVENT_DONE;
}
-UI::EventReturn GameSettingsScreen::OnFactoryReset(UI::EventParams &e) {
- screenManager()->push(new PluginScreen());
- return UI::EVENT_DONE;
-}
-
UI::EventReturn GameSettingsScreen::OnLanguage(UI::EventParams &e) {
I18NCategory *de = GetI18NCategory("Developer");
auto langScreen = new NewLanguageScreen(de->T("Language"));
diff --git a/UI/GameSettingsScreen.h b/UI/GameSettingsScreen.h
index 12a0ffcfd8..f94cbb5926 100644
--- a/UI/GameSettingsScreen.h
+++ b/UI/GameSettingsScreen.h
@@ -58,7 +58,6 @@ private:
UI::EventReturn OnLanguageChange(UI::EventParams &e);
UI::EventReturn OnPostProcShader(UI::EventParams &e);
UI::EventReturn OnPostProcShaderChange(UI::EventParams &e);
- UI::EventReturn OnFactoryReset(UI::EventParams &e);
UI::EventReturn OnDeveloperTools(UI::EventParams &e);
UI::EventReturn OnChangeNickname(UI::EventParams &e);
UI::EventReturn OnClearRecents(UI::EventParams &e);
diff --git a/UI/MainScreen.cpp b/UI/MainScreen.cpp
index 9b688a7f7a..a37fa58a97 100644
--- a/UI/MainScreen.cpp
+++ b/UI/MainScreen.cpp
@@ -36,7 +36,6 @@
#include "UI/CwCheatScreen.h"
#include "UI/MiscScreens.h"
#include "UI/ControlMappingScreen.h"
-#include "UI/PluginScreen.h"
#include "UI/ui_atlas.h"
#include "Core/Config.h"
#include "GPU/GPUInterface.h"
diff --git a/UI/NativeApp.cpp b/UI/NativeApp.cpp
index 790220eb63..cddae0fb0a 100644
--- a/UI/NativeApp.cpp
+++ b/UI/NativeApp.cpp
@@ -39,12 +39,14 @@
#include "native/util/text/utf8.h"
#include "gfx_es2/gl_state.h"
#include "gfx_es2/draw_text.h"
+#include "gfx_es2/draw_buffer.h"
#include "gfx/gl_lost_manager.h"
#include "gfx/texture.h"
#include "i18n/i18n.h"
#include "input/input_state.h"
#include "math/math_util.h"
#include "math/lin/matrix4x4.h"
+#include "ui/ui.h"
#include "ui/screen.h"
#include "ui/ui_context.h"
#include "ui/view.h"
@@ -57,7 +59,6 @@
#include "Core/HLE/sceCtrl.h"
#include "Core/Host.h"
#include "Core/SaveState.h"
-#include "Core/HW/atrac3plus.h"
#include "Common/MemArena.h"
#include "ui_atlas.h"
@@ -65,8 +66,8 @@
#include "GameInfoCache.h"
#include "UIShader.h"
-#include "UI/PluginScreen.h"
#include "UI/OnScreenDisplay.h"
+#include "UI/MiscScreens.h"
// The new UI framework, for initialization
@@ -395,7 +396,7 @@ void NativeInit(int argc, const char *argv[],
}
#endif
}
-
+
if (skipLogo) {
screenManager->switchScreen(new EmuScreen(boot_filename));
} else {
@@ -585,7 +586,6 @@ void NativeUpdate(InputState &input) {
}
}
- UIUpdateMouse(0, input.pointer_x[0], input.pointer_y[0], input.pointer_down[0]);
screenManager->update(input);
}
diff --git a/UI/PluginScreen.cpp b/UI/PluginScreen.cpp
deleted file mode 100644
index 29dd04dfef..0000000000
--- a/UI/PluginScreen.cpp
+++ /dev/null
@@ -1,175 +0,0 @@
-// Copyright (c) 2012- PPSSPP Project.
-
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, version 2.0 or later versions.
-
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License 2.0 for more details.
-
-// A copy of the GPL 2.0 should have been included with the program.
-// If not, see http://www.gnu.org/licenses/
-
-// Official git repository and contact information can be found at
-// https://github.com/hrydgard/ppsspp and http://www.ppsspp.org/.
-
-#include "base/functional.h"
-#include "UI/PluginScreen.h"
-#include "ext/vjson/json.h"
-#include "i18n/i18n.h"
-#include "ui/view.h"
-#include "ui/viewgroup.h"
-#include "ui/ui_context.h"
-#include "UI/ui_atlas.h"
-#include "Core/HW/atrac3plus.h"
-
-#ifdef __APPLE__
-#include "TargetConditionals.h"
-#if TARGET_OS_MAC
-#define MACOSX
-#endif
-#endif
-
-PluginScreen::PluginScreen() {
- // Let's start by downloading the json. We'll find out in Update when it's finished.
- json_ = downloader_.StartDownload("http://www.ppsspp.org/update/at3plusdecoder.json", "");
-}
-
-void PluginScreen::CreateViews() {
- I18NCategory *p = GetI18NCategory("Plugin");
- I18NCategory *d = GetI18NCategory("Dialog");
- // Build the UI.
-
- using namespace UI;
-
- root_ = new LinearLayout(ORIENT_VERTICAL);
-
- Margins textMargins(20,17);
- Margins buttonMargins(10,10);
-
- root_->Add(new TextView(p->T("Atrac3+ Audio Support"), ALIGN_HCENTER, 1.5f, new LinearLayoutParams(textMargins)));
-
- ViewGroup *scroll = new ScrollView(ORIENT_VERTICAL, new LinearLayoutParams(1.0));
- LinearLayout *scrollContents = new LinearLayout(ORIENT_VERTICAL);
- root_->Add(scroll);
- scroll->Add(scrollContents);
-
- tvDescription_ = scrollContents->Add(new TextView(p->T("Looking for download..."), ALIGN_LEFT, 1.0f, new LinearLayoutParams(textMargins)));
-
- const char *legalityNotice =
- p->T("Origins are dubious", "* Mai's Atrac3+ decoder is currently required\n"
- "for background audio and voice in many games.\n"
- "Please note that the origins of this code are dubious.\n"
- "Choose More Information for more information.");
-
- scrollContents->Add(new TextView(legalityNotice, ALIGN_LEFT, 0.65f, new LinearLayoutParams(textMargins) ));
-
- progress_ = root_->Add(new ProgressBar());
- progress_->SetVisibility(V_GONE);
-
- ViewGroup *buttonBar = new LinearLayout(ORIENT_HORIZONTAL, new LinearLayoutParams(buttonMargins));
- root_->Add(buttonBar);
-
- buttonBack_ = new Button(d->T("Back"), new LinearLayoutParams(1.0));
- buttonBar->Add(buttonBack_)->OnClick.Handle(this, &UIScreen::OnBack);
- buttonDownload_ = new Button(p->T("Download and install"), new LinearLayoutParams(1.0));
- buttonDownload_->SetEnabled(false);
- buttonBar->Add(buttonDownload_)->OnClick.Handle(this, &PluginScreen::OnDownload);
- buttonBar->Add(new Button(p->T("More Information"), new LinearLayoutParams(1.0)))->OnClick.Handle(this, &PluginScreen::OnInformation);
-}
-
-void PluginScreen::update(InputState &input) {
- UIScreen::update(input);
-
- I18NCategory *p = GetI18NCategory("Plugin");
-
- downloader_.Update();
-
- if (json_.get() && json_->Done()) {
- if (json_->ResultCode() != 200) {
- char codeStr[18];
- sprintf(codeStr, "%i", json_->ResultCode());
- tvDescription_->SetText(p->T("Failed to reach server", "Failed to reach server.\nPlease try again later and check that you have a\nworking internet connection."));
- buttonDownload_->SetEnabled(false);
- } else {
- std::string json;
- json_->buffer().TakeAll(&json);
-
- JsonReader reader(json.data(), json.size());
- const json_value *root = reader.root();
-
- std::string abi = "";
-#if defined(_M_IX86) && defined(_WIN32)
- abi = "Win32";
-#elif defined(_M_X64) && defined(_WIN32)
- abi = "Win64";
-#elif defined(ARMEABI)
- abi = "armeabi";
-#elif defined(ARMEABI_V7A)
- abi = "armeabi-v7a";
-#elif defined(ANDROID) && defined(_M_IX86)
- abi = "android-x86";
-#elif defined(BLACKBERRY)
- abi = "blackberry10";
-#elif defined(IOS)
- abi = "ios";
-#elif defined(MACOSX)
- abi = "MacOSX64";
-#endif
- const char *notSupportedText = p->T("SorryNoDownload", "Sorry, there is no automatic download of the decoder\navailable for this platform.");
- if (!abi.empty()) {
- at3plusdecoderUrl_ = root->getString(abi.c_str(), "");
- if (at3plusdecoderUrl_.empty()) {
- buttonDownload_->SetEnabled(false);
- tvDescription_->SetText(notSupportedText);
- } else {
- buttonDownload_->SetEnabled(true);
- const char *notInstalledText = p->T("To download and install", "To download and install Mai's Atrac3+ decoding\n support, click Download.");
- const char *reInstallText = p->T("Already installed", "Mai's Atrac3+ decoder already installed.\nWould you like to redownload and reinstall it?");
- tvDescription_->SetText(Atrac3plus_Decoder::IsInstalled() ? reInstallText : notInstalledText);
- }
- } else {
- tvDescription_->SetText(notSupportedText);
- }
- }
-
- json_.reset();
- }
-
- if (at3plusdecoder_.get() && at3plusdecoder_->Done()) {
- // Done! yay.
- progress_->SetProgress(1.0);
-
- if (at3plusdecoder_->ResultCode() == 200) {
- // Yay!
- tvDescription_->SetText(p->T("Installed Correctly", "Mai Atrac3plus plugin downloaded and installed.\n"
- "Please press Back."));
- buttonDownload_->SetVisibility(UI::V_GONE);
- } else {
- char codeStr[18];
- sprintf(codeStr, "%i", at3plusdecoder_->ResultCode());
- tvDescription_->SetText(p->T("Failed to download plugin", "Failed to download plugin.\nPlease try again later."));
- progress_->SetVisibility(UI::V_GONE);
- buttonDownload_->SetEnabled(true);
- }
-
- at3plusdecoder_.reset();
- }
-}
-
-UI::EventReturn PluginScreen::OnDownload(UI::EventParams &e) {
- buttonDownload_->SetEnabled(false);
-
- std::string destination = Atrac3plus_Decoder::GetInstalledFilename();
- at3plusdecoder_ = downloader_.StartDownload(at3plusdecoderUrl_, destination);
- progress_->SetVisibility(UI::V_VISIBLE);
- return UI::EVENT_DONE;
-}
-
-UI::EventReturn PluginScreen::OnInformation(UI::EventParams &e) {
- LaunchBrowser("http://www.ppsspp.org/at3plusdecoder.html");
- return UI::EVENT_DONE;
-}
-
diff --git a/UI/PluginScreen.h b/UI/PluginScreen.h
deleted file mode 100644
index 1d95eaccca..0000000000
--- a/UI/PluginScreen.h
+++ /dev/null
@@ -1,59 +0,0 @@
-// Copyright (c) 2012- PPSSPP Project.
-
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, version 2.0 or later versions.
-
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License 2.0 for more details.
-
-// A copy of the GPL 2.0 should have been included with the program.
-// If not, see http://www.gnu.org/licenses/
-
-// Official git repository and contact information can be found at
-// https://github.com/hrydgard/ppsspp and http://www.ppsspp.org/.
-
-#pragma once
-
-#include
-#include
-#include