diff options
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/Frontend.cpp | 25 | ||||
-rw-r--r-- | src/core/Frontend.h | 2 | ||||
-rw-r--r-- | src/core/Pad.cpp | 14 |
3 files changed, 25 insertions, 16 deletions
diff --git a/src/core/Frontend.cpp b/src/core/Frontend.cpp index 9c33d48a..6768b901 100644 --- a/src/core/Frontend.cpp +++ b/src/core/Frontend.cpp @@ -812,7 +812,7 @@ CMenuManager::DoSettingsBeforeStartingAGame() } void -CMenuManager::DrawStandardMenus(bool drawCurrScreen) +CMenuManager::DrawStandardMenus(bool activeScreen) { float nextYToUse = 0.0f; // III leftover, set but unused in VC #ifdef PS2_LIKE_MENU @@ -1182,7 +1182,7 @@ CMenuManager::DrawStandardMenus(bool drawCurrScreen) } // Highlight trapezoid - if (drawCurrScreen && i == m_nCurrOption && itemsAreSelectable && section == 0) { + if (activeScreen && i == m_nCurrOption && itemsAreSelectable && section == 0) { int leftXMax, rightXMin; @@ -2460,16 +2460,16 @@ CMenuManager::DrawBackground(bool transitionCall) m_nMenuFadeAlpha = 255 - m_nMenuFadeAlpha; switch (m_nCurrScreen) { case MENUPAGE_SKIN_SELECT: - CMenuManager::DrawPlayerSetupScreen(); + DrawPlayerSetupScreen(false); break; case MENUPAGE_KEYBOARD_CONTROLS: - CMenuManager::DrawControllerSetupScreen(); + DrawControllerSetupScreen(); break; case MENUPAGE_OUTRO: - CMenuManager::DrawQuitGameScreen(); + DrawQuitGameScreen(); break; default: - CMenuManager::DrawStandardMenus(false); + DrawStandardMenus(false); break; } m_nCurrScreen = actualScreen; @@ -2479,7 +2479,7 @@ CMenuManager::DrawBackground(bool transitionCall) switch (m_nCurrScreen) { case MENUPAGE_SKIN_SELECT: - DrawPlayerSetupScreen(); + DrawPlayerSetupScreen(true); break; case MENUPAGE_KEYBOARD_CONTROLS: DrawControllerSetupScreen(); @@ -2530,7 +2530,7 @@ CMenuManager::DrawBackground(bool transitionCall) #endif void -CMenuManager::DrawPlayerSetupScreen() +CMenuManager::DrawPlayerSetupScreen(bool activeScreen) { CFont::SetBackgroundOff(); CFont::SetScale(MENU_X(MENUACTION_SCALE_MULT), MENU_Y(MENUACTION_SCALE_MULT)); @@ -2807,7 +2807,8 @@ CMenuManager::DrawPlayerSetupScreen() #endif } - CPlayerSkin::RenderFrontendSkinEdit(); + if (activeScreen) + CPlayerSkin::RenderFrontendSkinEdit(); // Big apply button if (strcmp(m_aSkinName, m_PrefsSkinFile) != 0) { @@ -4112,6 +4113,9 @@ CMenuManager::ProcessButtonPresses(uint8 goDown, uint8 goUp, uint8 optionSelecte int oldOption = m_nCurrOption; if (goDown) { + if (m_nCurrScreen != MENUPAGE_MAP) + DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_NEW_PAGE, 0); + m_nCurrOption++; if (m_nCurrOption == NUM_MENUROWS || (aScreens[m_nCurrScreen].m_aEntries[m_nCurrOption].m_Action == MENUACTION_NOTHING)) { m_nCurrOption = 0; @@ -4120,6 +4124,9 @@ CMenuManager::ProcessButtonPresses(uint8 goDown, uint8 goUp, uint8 optionSelecte m_nOptionHighlightTransitionBlend = 0; } if (goUp) { + if (m_nCurrScreen != MENUPAGE_MAP) + DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_NEW_PAGE, 0); + if (m_nCurrOption == (aScreens[m_nCurrScreen].m_aEntries[0].m_Action == MENUACTION_LABEL)) { while (m_nCurrOption != NUM_MENUROWS - 1 && aScreens[m_nCurrScreen].m_aEntries[m_nCurrOption + 1].m_Action != MENUACTION_NOTHING) { diff --git a/src/core/Frontend.h b/src/core/Frontend.h index 858ad1f3..456e9bd0 100644 --- a/src/core/Frontend.h +++ b/src/core/Frontend.h @@ -663,7 +663,7 @@ public: void DrawQuitGameScreen(); void DrawFrontEnd(); void DrawBackground(bool transitionCall); - void DrawPlayerSetupScreen(); + void DrawPlayerSetupScreen(bool); int FadeIn(int alpha); void FilterOutColorMarkersFromString(wchar*); int GetStartOptionsCntrlConfigScreens(); diff --git a/src/core/Pad.cpp b/src/core/Pad.cpp index 03d209cd..a8ccbc36 100644 --- a/src/core/Pad.cpp +++ b/src/core/Pad.cpp @@ -3105,10 +3105,11 @@ void CPad::PrintErrorMessage(void) { if ( bDisplayNoControllerMessage && !CGame::playingIntro && !FrontEndMenuManager.m_bMenuActive ) { - CFont::SetScale(0.85f, 1.0f); + CSprite2d::DrawRect(CRect(SCREEN_STRETCH_X(20.0f), SCREEN_SCALE_FROM_BOTTOM(130.0f), SCREEN_STRETCH_FROM_RIGHT(20.0f), SCREEN_SCALE_Y(140.0f)), CRGBA(50, 50, 50, 210)); + CFont::SetScale(SCREEN_SCALE_X(0.85f), SCREEN_SCALE_Y(1.0f)); CFont::SetJustifyOff(); CFont::SetBackgroundOff(); - CFont::SetCentreSize(SCREEN_WIDTH - 20); + CFont::SetCentreSize(SCREEN_STRETCH_FROM_RIGHT(50.0f)); CFont::SetCentreOn(); CFont::SetPropOn(); CFont::SetColor(CRGBA(255, 255, 200, 200)); @@ -3116,16 +3117,17 @@ void CPad::PrintErrorMessage(void) CFont::PrintString ( SCREEN_WIDTH / 2, - SCREEN_HEIGHT / 2, + SCREEN_HEIGHT / 2 - SCREEN_SCALE_Y(40.0f), TheText.Get("NOCONT") // Please reconnect an analog controller (DUALSHOCK@) or analog controller (DUALSHOCK@2). to controller port 1 to continue ); } else if ( bObsoleteControllerMessage ) { - CFont::SetScale(0.85f, 1.0f); + CSprite2d::DrawRect(CRect(SCREEN_STRETCH_X(20.0f), SCREEN_SCALE_FROM_BOTTOM(130.0f), SCREEN_STRETCH_FROM_RIGHT(20.0f), SCREEN_SCALE_Y(140.0f)), CRGBA(50, 50, 50, 210)); + CFont::SetScale(SCREEN_SCALE_X(0.85f), SCREEN_SCALE_Y(1.0f)); CFont::SetJustifyOff(); CFont::SetBackgroundOff(); - CFont::SetCentreSize(SCREEN_WIDTH - 20); + CFont::SetCentreSize(SCREEN_STRETCH_FROM_RIGHT(50.0f)); CFont::SetCentreOn(); CFont::SetPropOn(); CFont::SetColor(CRGBA(255, 255, 200, 200)); @@ -3133,7 +3135,7 @@ void CPad::PrintErrorMessage(void) CFont::PrintString ( SCREEN_WIDTH / 2, - SCREEN_HEIGHT / 2, + SCREEN_HEIGHT / 2 - SCREEN_SCALE_Y(40.0f), TheText.Get("WRCONT") // The controller connected to controller port 1 is an unsupported controller. Grand Theft Auto III requires an analog controller (DUALSHOCK@) or analog controller (DUALSHOCK@2). ); } |