mirror of
https://github.com/hrydgard/ppsspp.git
synced 2024-11-23 05:19:56 +00:00
UI updates
Touch&hold now goes to game menu and single click goes directly to the game, so I removed bDirectLoad. There's now a linear game list view for the game browser. Assorted fixes.
This commit is contained in:
parent
5f11ac4142
commit
73990bcc32
@ -54,7 +54,6 @@ void Config::Load(const char *iniFileName)
|
||||
general->Get("AutoLoadLast", &bAutoLoadLast, false);
|
||||
general->Get("AutoRun", &bAutoRun, true);
|
||||
general->Get("Browse", &bBrowse, false);
|
||||
general->Get("DirectLoad", &bDirectLoad, false);
|
||||
general->Get("ConfirmOnQuit", &bConfirmOnQuit, false);
|
||||
general->Get("IgnoreBadMemAccess", &bIgnoreBadMemAccess, true);
|
||||
general->Get("CurrentDirectory", ¤tDirectory, "");
|
||||
@ -213,7 +212,6 @@ void Config::Save()
|
||||
general->Set("AutoLoadLast", bAutoLoadLast);
|
||||
general->Set("AutoRun", bAutoRun);
|
||||
general->Set("Browse", bBrowse);
|
||||
general->Set("DirectLoad", bDirectLoad);
|
||||
general->Set("ConfirmOnQuit", bConfirmOnQuit);
|
||||
general->Set("IgnoreBadMemAccess", bIgnoreBadMemAccess);
|
||||
general->Set("CurrentDirectory", currentDirectory);
|
||||
|
@ -50,7 +50,6 @@ public:
|
||||
int iNumWorkerThreads;
|
||||
bool bScreenshotsAsPNG;
|
||||
bool bEnableLogging;
|
||||
bool bDirectLoad;
|
||||
|
||||
// Core
|
||||
bool bIgnoreBadMemAccess;
|
||||
|
@ -274,6 +274,9 @@ public:
|
||||
info_->id_version = info_->paramSFO.GetValueString("DISC_ID") + "_" + info_->paramSFO.GetValueString("DISC_VERSION");
|
||||
|
||||
info_->paramSFOLoaded = true;
|
||||
} else {
|
||||
// Fall back to the filename for title if ISO is broken
|
||||
info_->title = gamePath_;
|
||||
}
|
||||
|
||||
ReadFileToString(&umd, "/PSP_GAME/ICON0.PNG", &info_->iconTextureData, &info_->lock);
|
||||
@ -283,6 +286,7 @@ public:
|
||||
ReadFileToString(&umd, "/PSP_GAME/PIC1.PNG", &info_->pic1TextureData, &info_->lock);
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
;
|
||||
}
|
||||
|
@ -51,9 +51,9 @@ void GameScreen::CreateViews() {
|
||||
leftColumn->Add(new Choice(g->T("Back"), "", false, new AnchorLayoutParams(150, WRAP_CONTENT, 10, NONE, NONE, 10)))->OnClick.Handle(this, &GameScreen::OnSwitchBack);
|
||||
if (info) {
|
||||
texvGameIcon_ = leftColumn->Add(new TextureView(0, IS_DEFAULT, new AnchorLayoutParams(144 * 2, 80 * 2, 10, 10, NONE, NONE)));
|
||||
tvTitle_ = leftColumn->Add(new TextView(0, info->title, ALIGN_LEFT, 1.0f, new AnchorLayoutParams(10, 200, NONE, NONE)));
|
||||
tvGameSize_ = leftColumn->Add(new TextView(0, "...", ALIGN_LEFT, 1.0f, new AnchorLayoutParams(10, 250, NONE, NONE)));
|
||||
tvSaveDataSize_ = leftColumn->Add(new TextView(0, "...", ALIGN_LEFT, 1.0f, new AnchorLayoutParams(10, 290, NONE, NONE)));
|
||||
tvTitle_ = leftColumn->Add(new TextView(info->title, ALIGN_LEFT, 1.0f, new AnchorLayoutParams(10, 200, NONE, NONE)));
|
||||
tvGameSize_ = leftColumn->Add(new TextView("...", ALIGN_LEFT, 1.0f, new AnchorLayoutParams(10, 250, NONE, NONE)));
|
||||
tvSaveDataSize_ = leftColumn->Add(new TextView("...", ALIGN_LEFT, 1.0f, new AnchorLayoutParams(10, 290, NONE, NONE)));
|
||||
}
|
||||
|
||||
ViewGroup *rightColumn = new ScrollView(ORIENT_VERTICAL, new LinearLayoutParams(300, FILL_PARENT, actionMenuMargins));
|
||||
|
@ -231,9 +231,6 @@ void GameSettingsScreen::CreateViews() {
|
||||
graphicsSettings->Add(new CheckBox(&g_Config.bShowDebugStats, gs->T("Show Debug Statistics")));
|
||||
graphicsSettings->Add(new CheckBox(&cap60FPS_, gs->T("Force 60 FPS or less (helps GoW)")));
|
||||
|
||||
graphicsSettings->Add(new ItemHeader(gs->T("Anisotropic Filtering")));
|
||||
static const char *anisoLevels[] = { "Off", "2x", "4x", "8x", "16x" };
|
||||
graphicsSettings->Add(new PopupMultiChoice(&g_Config.iAnisotropyLevel, gs->T("Anisotropic Filtering"), anisoLevels, 0, 5, gs, screenManager()));
|
||||
graphicsSettings->Add(new ItemHeader(gs->T("Texture Scaling")));
|
||||
#ifndef USING_GLES2
|
||||
static const char *texScaleLevels[] = {"Off", "2x", "3x","4x", "5x"};
|
||||
@ -246,8 +243,10 @@ void GameSettingsScreen::CreateViews() {
|
||||
graphicsSettings->Add(new PopupMultiChoice(&g_Config.iTexScalingType, gs->T("Upscale Type"), texScaleAlgos, 0, 4, gs, screenManager()));
|
||||
graphicsSettings->Add(new CheckBox(&g_Config.bTexDeposterize, gs->T("Deposterize")));
|
||||
graphicsSettings->Add(new ItemHeader(gs->T("Texture Filtering")));
|
||||
static const char *anisoLevels[] = { "Off", "2x", "4x", "8x", "16x" };
|
||||
graphicsSettings->Add(new PopupMultiChoice(&g_Config.iAnisotropyLevel, gs->T("Anisotropic Filtering"), anisoLevels, 0, 5, gs, screenManager()));
|
||||
static const char *texFilters[] = { "Auto", "Nearest", "Linear", "Linear on FMV", };
|
||||
graphicsSettings->Add(new PopupMultiChoice(&g_Config.iTexFiltering, gs->T("Upscale Type"), texFilters, 1, 4, gs, screenManager()));
|
||||
graphicsSettings->Add(new PopupMultiChoice(&g_Config.iTexFiltering, gs->T("Texture Filter"), texFilters, 1, 4, gs, screenManager()));
|
||||
|
||||
// Audio
|
||||
ViewGroup *audioSettingsScroll = new ScrollView(ORIENT_VERTICAL, new LinearLayoutParams(FILL_PARENT, FILL_PARENT));
|
||||
@ -363,7 +362,6 @@ void GlobalSettingsScreen::CreateViews() {
|
||||
list->Add(new CheckBox(&enableReports_, gs->T("Enable Compatibility Server Reports")));
|
||||
list->Add(new CheckBox(&g_Config.bEnableCheats, gs->T("Enable Cheats")));
|
||||
list->Add(new CheckBox(&g_Config.bScreenshotsAsPNG, gs->T("Screenshots as PNG")));
|
||||
list->Add(new CheckBox(&g_Config.bDirectLoad, gs->T("Enable Direct Load")));
|
||||
list->Add(new Choice(gs->T("System Language")))->OnClick.Handle(this, &GlobalSettingsScreen::OnLanguage);
|
||||
list->Add(new Choice(gs->T("Developer Tools")))->OnClick.Handle(this, &GlobalSettingsScreen::OnDeveloperTools);
|
||||
list->Add(new Choice(g->T("Back")))->OnClick.Handle(this, &GlobalSettingsScreen::OnBack);
|
||||
|
@ -46,14 +46,20 @@ namespace MainWindow {
|
||||
|
||||
class GameButton : public UI::Clickable {
|
||||
public:
|
||||
GameButton(const std::string &gamePath, UI::LayoutParams *layoutParams = 0)
|
||||
: UI::Clickable(layoutParams), gamePath_(gamePath), holdFrameCount_(0) {}
|
||||
GameButton(const std::string &gamePath, bool gridStyle, UI::LayoutParams *layoutParams = 0)
|
||||
: UI::Clickable(layoutParams), gridStyle_(gridStyle), gamePath_(gamePath), holdFrameCount_(0) {}
|
||||
|
||||
virtual void Draw(UIContext &dc);
|
||||
virtual void GetContentDimensions(const UIContext &dc, float &w, float &h) const {
|
||||
w = 144;
|
||||
h = 80;
|
||||
if (gridStyle_) {
|
||||
w = 144;
|
||||
h = 80;
|
||||
} else {
|
||||
w = 500;
|
||||
h = 50;
|
||||
}
|
||||
}
|
||||
|
||||
const std::string &GamePath() const { return gamePath_; }
|
||||
virtual void Touch(const TouchInput &input) {
|
||||
UI::Clickable::Touch(input);
|
||||
@ -68,9 +74,11 @@ public:
|
||||
holdFrameCount_ = 0;
|
||||
// Hold button for 1.5 seconds to launch the game directly
|
||||
if (holdFrameCount_ > 90) {
|
||||
holdFrameCount_ = 0;
|
||||
UI::EventParams e;
|
||||
e.v = this;
|
||||
e.s = gamePath_;
|
||||
down_ = false;
|
||||
OnHoldClick.Trigger(e);
|
||||
}
|
||||
}
|
||||
@ -78,8 +86,9 @@ public:
|
||||
UI::Event OnHoldClick;
|
||||
|
||||
private:
|
||||
bool gridStyle_;
|
||||
std::string gamePath_;
|
||||
|
||||
|
||||
int holdFrameCount_;
|
||||
};
|
||||
|
||||
@ -90,15 +99,24 @@ void GameButton::Draw(UIContext &dc) {
|
||||
|
||||
if (ginfo->iconTexture) {
|
||||
texture = ginfo->iconTexture;
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
|
||||
int x = bounds_.x;
|
||||
int y = bounds_.y;
|
||||
int w = bounds_.w;
|
||||
int w = 144;
|
||||
int h = bounds_.h;
|
||||
|
||||
UI::Style style = dc.theme->itemStyle;
|
||||
|
||||
if (!gridStyle_ || !texture) {
|
||||
// w = 144 * 80 / 50;
|
||||
h = 50;
|
||||
if (HasFocus())
|
||||
style = down_ ? dc.theme->itemDownStyle : dc.theme->itemFocusedStyle;
|
||||
|
||||
dc.FillRect(style.background, bounds_);
|
||||
}
|
||||
|
||||
if (texture) {
|
||||
color = whiteAlpha(ease((time_now_d() - ginfo->timeIconWasLoaded) * 2));
|
||||
shadowColor = blackAlpha(ease((time_now_d() - ginfo->timeIconWasLoaded) * 2));
|
||||
@ -144,8 +162,15 @@ void GameButton::Draw(UIContext &dc) {
|
||||
dc.Draw()->DrawTexRect(x, y, x+w, y+h, 0, 0, 1, 1, color);
|
||||
dc.Draw()->Flush();
|
||||
dc.RebindTexture();
|
||||
}
|
||||
|
||||
if (!gridStyle_) {
|
||||
dc.Draw()->DrawText(0, ginfo->title.c_str(), bounds_.x + 150, bounds_.centerY(), style.fgColor, ALIGN_VCENTER);
|
||||
} else {
|
||||
dc.FillRect(dc.theme->buttonStyle.background, bounds_);
|
||||
dc.PushScissor(bounds_);
|
||||
if (!texture)
|
||||
dc.Draw()->DrawText(0, ginfo->title.c_str(), bounds_.x + 4, bounds_.centerY(), style.fgColor, ALIGN_VCENTER);
|
||||
dc.PopScissor();
|
||||
}
|
||||
}
|
||||
|
||||
@ -168,6 +193,16 @@ public:
|
||||
else
|
||||
return "";
|
||||
}
|
||||
std::string GetFriendlyPath() {
|
||||
std::string str = GetPath();
|
||||
#ifdef ANDROID
|
||||
if (!memcmp(str.c_str(), g_Config.memCardDirectory.c_str(), g_Config.memCardDirectory.size()))
|
||||
{
|
||||
str = str.substr(g_Config.memCardDirectory.size());
|
||||
}
|
||||
#endif
|
||||
return str;
|
||||
}
|
||||
|
||||
std::string path_;
|
||||
};
|
||||
@ -236,40 +271,80 @@ void PathBrowser::Navigate(const std::string &path) {
|
||||
}
|
||||
}
|
||||
|
||||
class GameBrowser : public UI::GridLayout {
|
||||
class GameBrowser : public UI::LinearLayout {
|
||||
public:
|
||||
GameBrowser(std::string path, bool allowBrowsing, UI::LayoutParams *layoutParams = 0);
|
||||
GameBrowser(std::string path, bool allowBrowsing, std::string lastText, std::string lastLink, UI::LayoutParams *layoutParams = 0);
|
||||
|
||||
UI::Event OnChoice;
|
||||
UI::Event OnHoldChoice;
|
||||
|
||||
virtual void Update(const InputState &input_state) {
|
||||
UI::GridLayout::Update(input_state);
|
||||
}
|
||||
|
||||
private:
|
||||
void Refresh();
|
||||
|
||||
UI::EventReturn GameButtonClick(UI::EventParams &e);
|
||||
UI::EventReturn GameButtonHoldClick(UI::EventParams &e);
|
||||
UI::EventReturn NavigateClick(UI::EventParams &e);
|
||||
UI::EventReturn LayoutChange(UI::EventParams &e);
|
||||
UI::EventReturn LastClick(UI::EventParams &e);
|
||||
UI::EventReturn HomeClick(UI::EventParams &e);
|
||||
|
||||
UI::ViewGroup *gameList_;
|
||||
PathBrowser path_;
|
||||
bool allowBrowsing_;
|
||||
bool gridStyle_;
|
||||
std::string lastText_;
|
||||
std::string lastLink_;
|
||||
};
|
||||
|
||||
GameBrowser::GameBrowser(std::string path, bool allowBrowsing, UI::LayoutParams *layoutParams)
|
||||
: UI::GridLayout(UI::GridLayoutSettings(150, 85), layoutParams), path_(path), allowBrowsing_(allowBrowsing) {
|
||||
GameBrowser::GameBrowser(std::string path, bool allowBrowsing, std::string lastText, std::string lastLink, UI::LayoutParams *layoutParams)
|
||||
: LinearLayout(UI::ORIENT_VERTICAL, layoutParams), path_(path), allowBrowsing_(allowBrowsing), gameList_(0), lastText_(lastText), lastLink_(lastLink) {
|
||||
using namespace UI;
|
||||
gridStyle_ = true;
|
||||
Refresh();
|
||||
}
|
||||
|
||||
UI::EventReturn GameBrowser::LayoutChange(UI::EventParams &e) {
|
||||
gridStyle_ = e.a == 0 ? true : false;
|
||||
Refresh();
|
||||
return UI::EVENT_DONE;
|
||||
}
|
||||
|
||||
UI::EventReturn GameBrowser::LastClick(UI::EventParams &e) {
|
||||
LaunchBrowser(lastLink_.c_str());
|
||||
return UI::EVENT_DONE;
|
||||
}
|
||||
|
||||
UI::EventReturn GameBrowser::HomeClick(UI::EventParams &e) {
|
||||
path_.SetPath(g_Config.memCardDirectory);
|
||||
return UI::EVENT_DONE;
|
||||
}
|
||||
|
||||
void GameBrowser::Refresh() {
|
||||
// Kill all the buttons
|
||||
for (size_t i = 0; i < views_.size(); i++) {
|
||||
delete views_[i];
|
||||
using namespace UI;
|
||||
|
||||
// Kill all the contents
|
||||
Clear();
|
||||
|
||||
if (allowBrowsing_) {
|
||||
LinearLayout *topBar = new LinearLayout(ORIENT_HORIZONTAL, new LinearLayoutParams(FILL_PARENT, WRAP_CONTENT));
|
||||
#ifdef ANDROID
|
||||
topBar->Add(new TextView(path_.GetFriendlyPath().c_str(), ALIGN_VCENTER, 1.0f, new LinearLayoutParams(WRAP_CONTENT, FILL_PARENT, 1.0f)));
|
||||
topBar->Add(new Choice("Home"))->OnClick.Handle(this, &GameBrowser::HomeClick);
|
||||
#endif
|
||||
ChoiceStrip *layoutChoice = topBar->Add(new ChoiceStrip(ORIENT_HORIZONTAL));
|
||||
layoutChoice->AddChoice("Grid");
|
||||
layoutChoice->AddChoice("Linear");
|
||||
layoutChoice->SetSelection(gridStyle_ ? 0 : 1);
|
||||
layoutChoice->OnChoice.Handle(this, &GameBrowser::LayoutChange);
|
||||
Add(topBar);
|
||||
}
|
||||
views_.clear();
|
||||
|
||||
if (gridStyle_) {
|
||||
gameList_ = new UI::GridLayout(UI::GridLayoutSettings(150, 85), new LinearLayoutParams(FILL_PARENT, WRAP_CONTENT));
|
||||
} else {
|
||||
gameList_ = new UI::LinearLayout(UI::ORIENT_VERTICAL, new LinearLayoutParams(FILL_PARENT, WRAP_CONTENT));
|
||||
}
|
||||
Add(gameList_);
|
||||
|
||||
// Find games in the current directory and create new ones.
|
||||
std::vector<UI::Button *> dirButtons;
|
||||
@ -277,7 +352,7 @@ void GameBrowser::Refresh() {
|
||||
|
||||
if (path_.GetPath() == "!RECENT") {
|
||||
for (size_t i = 0; i < g_Config.recentIsos.size(); i++) {
|
||||
gameButtons.push_back(new GameButton(g_Config.recentIsos[i]));
|
||||
gameButtons.push_back(new GameButton(g_Config.recentIsos[i], gridStyle_));
|
||||
}
|
||||
} else {
|
||||
std::vector<FileInfo> fileInfo;
|
||||
@ -288,24 +363,29 @@ void GameBrowser::Refresh() {
|
||||
if (allowBrowsing_)
|
||||
dirButtons.push_back(new UI::Button(fileInfo[i].name.c_str(), new UI::LinearLayoutParams(UI::FILL_PARENT, UI::FILL_PARENT)));
|
||||
} else {
|
||||
gameButtons.push_back(new GameButton(fileInfo[i].fullName));
|
||||
gameButtons.push_back(new GameButton(fileInfo[i].fullName, gridStyle_, new UI::LinearLayoutParams(gridStyle_ == true ? UI::WRAP_CONTENT : UI::FILL_PARENT, UI::WRAP_CONTENT)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (allowBrowsing_)
|
||||
Add(new UI::Button("..", new UI::LinearLayoutParams(UI::FILL_PARENT, UI::FILL_PARENT)))->
|
||||
gameList_->Add(new UI::Button("..", new UI::LinearLayoutParams(UI::FILL_PARENT, UI::FILL_PARENT)))->
|
||||
OnClick.Handle(this, &GameBrowser::NavigateClick);
|
||||
|
||||
for (size_t i = 0; i < dirButtons.size(); i++) {
|
||||
Add(dirButtons[i])->OnClick.Handle(this, &GameBrowser::NavigateClick);
|
||||
gameList_->Add(dirButtons[i])->OnClick.Handle(this, &GameBrowser::NavigateClick);
|
||||
}
|
||||
|
||||
for (size_t i = 0; i < gameButtons.size(); i++) {
|
||||
GameButton *b = Add(gameButtons[i]);
|
||||
GameButton *b = gameList_->Add(gameButtons[i]);
|
||||
b->OnClick.Handle(this, &GameBrowser::GameButtonClick);
|
||||
b->OnHoldClick.Handle(this, &GameBrowser::GameButtonHoldClick);
|
||||
}
|
||||
|
||||
if (!lastText_.empty()) {
|
||||
Add(new Spacer());
|
||||
Add(new Choice(lastText_))->OnClick.Handle(this, &GameBrowser::LastClick);
|
||||
}
|
||||
}
|
||||
|
||||
UI::EventReturn GameBrowser::GameButtonClick(UI::EventParams &e) {
|
||||
@ -335,7 +415,6 @@ UI::EventReturn GameBrowser::NavigateClick(UI::EventParams &e) {
|
||||
return UI::EVENT_DONE;
|
||||
}
|
||||
|
||||
|
||||
void MainScreen::CreateViews() {
|
||||
// Information in the top left.
|
||||
// Back button to the bottom left.
|
||||
@ -355,9 +434,15 @@ void MainScreen::CreateViews() {
|
||||
ScrollView *scrollAllGames = new ScrollView(ORIENT_VERTICAL, new LinearLayoutParams(FILL_PARENT, WRAP_CONTENT));
|
||||
ScrollView *scrollHomebrew = new ScrollView(ORIENT_VERTICAL, new LinearLayoutParams(FILL_PARENT, WRAP_CONTENT));
|
||||
|
||||
GameBrowser *tabRecentGames = new GameBrowser("!RECENT", false, new LinearLayoutParams(FILL_PARENT, FILL_PARENT));
|
||||
GameBrowser *tabAllGames = new GameBrowser(g_Config.currentDirectory, true, new LinearLayoutParams(FILL_PARENT, FILL_PARENT));
|
||||
GameBrowser *tabHomebrew = new GameBrowser(g_Config.memCardDirectory + "PSP/GAME/", false, new LinearLayoutParams(FILL_PARENT, FILL_PARENT));
|
||||
GameBrowser *tabRecentGames = new GameBrowser(
|
||||
"!RECENT", false, m->T("How to get games"), "http://www.ppsspp.org/faq.html",
|
||||
new LinearLayoutParams(FILL_PARENT, FILL_PARENT));
|
||||
GameBrowser *tabAllGames = new GameBrowser(g_Config.currentDirectory, true,
|
||||
m->T("How to get games"), "http://www.ppsspp.org/faq.html",
|
||||
new LinearLayoutParams(FILL_PARENT, FILL_PARENT));
|
||||
GameBrowser *tabHomebrew = new GameBrowser(g_Config.memCardDirectory + "PSP/GAME/", false,
|
||||
m->T("Download demos (non-affiliated site)"), "http://www.pspdemocenter.com/",
|
||||
new LinearLayoutParams(FILL_PARENT, FILL_PARENT));
|
||||
|
||||
scrollRecentGames->Add(tabRecentGames);
|
||||
scrollAllGames->Add(tabAllGames);
|
||||
@ -367,12 +452,12 @@ void MainScreen::CreateViews() {
|
||||
leftColumn->AddTab(m->T("Games"), scrollAllGames);
|
||||
leftColumn->AddTab(m->T("Homebrew & Demos"), scrollHomebrew);
|
||||
|
||||
tabRecentGames->OnChoice.Handle(this, &MainScreen::OnGameSelected);
|
||||
tabAllGames->OnChoice.Handle(this, &MainScreen::OnGameSelected);
|
||||
tabHomebrew->OnChoice.Handle(this, &MainScreen::OnGameSelected);
|
||||
tabRecentGames->OnHoldChoice.Handle(this, &MainScreen::OnGameHoldSelected);
|
||||
tabAllGames->OnHoldChoice.Handle(this, &MainScreen::OnGameHoldSelected);
|
||||
tabHomebrew->OnHoldChoice.Handle(this, &MainScreen::OnGameHoldSelected);
|
||||
tabRecentGames->OnChoice.Handle(this, &MainScreen::OnGameSelectedInstant);
|
||||
tabAllGames->OnChoice.Handle(this, &MainScreen::OnGameSelectedInstant);
|
||||
tabHomebrew->OnChoice.Handle(this, &MainScreen::OnGameSelectedInstant);
|
||||
tabRecentGames->OnHoldChoice.Handle(this, &MainScreen::OnGameSelected);
|
||||
tabAllGames->OnHoldChoice.Handle(this, &MainScreen::OnGameSelected);
|
||||
tabHomebrew->OnHoldChoice.Handle(this, &MainScreen::OnGameSelected);
|
||||
|
||||
/*
|
||||
if (info) {
|
||||
@ -392,6 +477,7 @@ void MainScreen::CreateViews() {
|
||||
#ifdef _WIN32
|
||||
rightColumnItems->Add(new Choice(m->T("Load","Load...")))->OnClick.Handle(this, &MainScreen::OnLoadFile);
|
||||
#endif
|
||||
rightColumnItems->Add(new Choice(m->T("Game Settings")))->OnClick.Handle(this, &MainScreen::OnGameSettings);
|
||||
rightColumnItems->Add(new Choice(m->T("Settings")))->OnClick.Handle(this, &MainScreen::OnSettings);
|
||||
rightColumnItems->Add(new Choice(m->T("Exit")))->OnClick.Handle(this, &MainScreen::OnExit);
|
||||
rightColumnItems->Add(new Choice(m->T("Credits")))->OnClick.Handle(this, &MainScreen::OnCredits);
|
||||
@ -417,22 +503,22 @@ UI::EventReturn MainScreen::OnLoadFile(UI::EventParams &e) {
|
||||
}
|
||||
|
||||
UI::EventReturn MainScreen::OnGameSelected(UI::EventParams &e) {
|
||||
if(g_Config.bDirectLoad) {
|
||||
// Go directly into the game.
|
||||
screenManager()->switchScreen(new EmuScreen(e.s));
|
||||
} else {
|
||||
// Goto Game Menu.
|
||||
screenManager()->push(new GameScreen(e.s));
|
||||
}
|
||||
screenManager()->push(new GameScreen(e.s));
|
||||
return UI::EVENT_DONE;
|
||||
}
|
||||
|
||||
UI::EventReturn MainScreen::OnGameHoldSelected(UI::EventParams &e) {
|
||||
UI::EventReturn MainScreen::OnGameSelectedInstant(UI::EventParams &e) {
|
||||
// Go directly into the game.
|
||||
screenManager()->switchScreen(new EmuScreen(e.s));
|
||||
return UI::EVENT_DONE;
|
||||
}
|
||||
|
||||
UI::EventReturn MainScreen::OnGameSettings(UI::EventParams &e) {
|
||||
// screenManager()->push(new SettingsScreen());
|
||||
screenManager()->push(new GameSettingsScreen("",""));
|
||||
return UI::EVENT_DONE;
|
||||
}
|
||||
|
||||
UI::EventReturn MainScreen::OnSettings(UI::EventParams &e) {
|
||||
// screenManager()->push(new SettingsScreen());
|
||||
screenManager()->push(new GlobalSettingsScreen());
|
||||
|
@ -37,10 +37,11 @@ protected:
|
||||
|
||||
private:
|
||||
UI::EventReturn OnGameSelected(UI::EventParams &e);
|
||||
UI::EventReturn OnGameHoldSelected(UI::EventParams &e);
|
||||
UI::EventReturn OnGameSelectedInstant(UI::EventParams &e);
|
||||
// Event handlers
|
||||
UI::EventReturn OnLoadFile(UI::EventParams &e);
|
||||
UI::EventReturn OnSettings(UI::EventParams &e);
|
||||
UI::EventReturn OnGameSettings(UI::EventParams &e);
|
||||
UI::EventReturn OnCredits(UI::EventParams &e);
|
||||
UI::EventReturn OnSupport(UI::EventParams &e);
|
||||
UI::EventReturn OnExit(UI::EventParams &e);
|
||||
|
@ -60,7 +60,7 @@ void PromptScreen::CreateViews() {
|
||||
ViewGroup *leftColumn = new AnchorLayout(new LinearLayoutParams(1.0f));
|
||||
root_->Add(leftColumn);
|
||||
|
||||
leftColumn->Add(new TextView(0, message_, ALIGN_LEFT, 1.0f, new AnchorLayoutParams(10, 10, NONE, NONE)));
|
||||
leftColumn->Add(new TextView(message_, ALIGN_LEFT, 1.0f, new AnchorLayoutParams(10, 10, NONE, NONE)));
|
||||
|
||||
ViewGroup *rightColumnItems = new LinearLayout(ORIENT_VERTICAL, new LinearLayoutParams(300, FILL_PARENT, actionMenuMargins));
|
||||
root_->Add(rightColumnItems);
|
||||
|
@ -48,14 +48,14 @@ void PluginScreen::CreateViews() {
|
||||
Margins textMargins(20,17);
|
||||
Margins buttonMargins(10,10);
|
||||
|
||||
root_->Add(new TextView(UBUNTU24, p->T("Atrac3+ Audio Support"), ALIGN_HCENTER, 1.5f, new LinearLayoutParams(textMargins)));
|
||||
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(0, "Looking for download...", ALIGN_LEFT, 1.0f, new LinearLayoutParams(textMargins)));
|
||||
tvDescription_ = scrollContents->Add(new TextView("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"
|
||||
@ -63,7 +63,7 @@ void PluginScreen::CreateViews() {
|
||||
"Please note that the origins of this code are dubious.\n"
|
||||
"Choose More Information for more information.");
|
||||
|
||||
scrollContents->Add(new TextView(0, legalityNotice, ALIGN_LEFT, 0.65f, new LinearLayoutParams(textMargins) ));
|
||||
scrollContents->Add(new TextView(legalityNotice, ALIGN_LEFT, 0.65f, new LinearLayoutParams(textMargins) ));
|
||||
|
||||
progress_ = root_->Add(new ProgressBar());
|
||||
progress_->SetVisibility(V_GONE);
|
||||
|
2
native
2
native
@ -1 +1 @@
|
||||
Subproject commit 1353a9d73d1cdc0935b87f3e1d37edf516cf936a
|
||||
Subproject commit c3ea52bad545439454ca60612efd56071e0b94d9
|
Loading…
Reference in New Issue
Block a user