From 36aedc24c41cf30ea8352226505998033ba35aa9 Mon Sep 17 00:00:00 2001 From: Zalo Date: Sat, 5 Jan 2019 13:18:57 +0100 Subject: [PATCH] swapping preiews with + button --- source/menu.cpp | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/source/menu.cpp b/source/menu.cpp index 5ab4b85..fd4e858 100644 --- a/source/menu.cpp +++ b/source/menu.cpp @@ -928,8 +928,15 @@ static int MenuGameSelection() gameBrowser.SetPosition(20, 98); ResetBrowser(); + GuiTrigger trigPlusMinus; + trigPlusMinus.SetButtonOnlyTrigger(-1, WPAD_BUTTON_PLUS | WPAD_CLASSIC_BUTTON_PLUS, PAD_TRIGGER_Z, WIIDRC_BUTTON_PLUS); + GuiImage bgPreview(&bgPreviewImg); - bgPreview.SetPosition(365, 98); + GuiButton bgPreviewBtn(bgPreview.GetWidth(), bgPreview.GetHeight()); + bgPreviewBtn.SetImage(&bgPreview); + bgPreviewBtn.SetPosition(365, 98); + bgPreviewBtn.SetTrigger(&trigPlusMinus); + int previousPreviewImg = GCSettings.PreviewImage; GuiImage preview; preview.SetAlignment(ALIGN_CENTRE, ALIGN_MIDDLE); @@ -944,7 +951,7 @@ static int MenuGameSelection() mainWindow->Append(&titleTxt); mainWindow->Append(&gameBrowser); mainWindow->Append(&buttonWindow); - mainWindow->Append(&bgPreview); + mainWindow->Append(&bgPreviewBtn); mainWindow->Append(&preview); ResumeGui(); @@ -1018,9 +1025,10 @@ static int MenuGameSelection() } //update gamelist image - if(previousBrowserIndex != browser.selIndex) + if(previousBrowserIndex != browser.selIndex || previousPreviewImg != GCSettings.PreviewImage) { previousBrowserIndex = browser.selIndex; + previousPreviewImg = GCSettings.PreviewImage; snprintf(imagePath, MAXJOLIET, "%s%s/%s.png", pathPrefix[GCSettings.LoadMethod], ImageFolder(), browserList[browser.selIndex].displayname); AllocSaveBuffer(); @@ -1048,6 +1056,11 @@ static int MenuGameSelection() menu = MENU_SETTINGS; else if(exitBtn.GetState() == STATE_CLICKED) ExitRequested = 1; + else if(bgPreviewBtn.GetState() == STATE_CLICKED) + { + GCSettings.PreviewImage = (GCSettings.PreviewImage + 1) % 3; + bgPreviewBtn.ResetState(); + } } HaltParseThread(); // halt parsing @@ -1056,7 +1069,7 @@ static int MenuGameSelection() mainWindow->Remove(&titleTxt); mainWindow->Remove(&buttonWindow); mainWindow->Remove(&gameBrowser); - mainWindow->Remove(&bgPreview); + mainWindow->Remove(&bgPreviewBtn); mainWindow->Remove(&preview); MEM_DEALLOC(imgBuffer); return menu;