From 63fdcf7e64655767d3c56917d50141602b565447 Mon Sep 17 00:00:00 2001 From: Fire-Head Date: Mon, 29 Jun 2020 10:29:02 +0300 Subject: menu fixes --- librw | 2 +- src/audio/AudioManager.h | 4 +-- src/core/Frontend_PS2.cpp | 86 +++++++++++++++++++++++------------------------ src/core/MenuScreens.cpp | 5 ++- src/core/config.h | 27 ++++++++++----- src/core/re3.cpp | 6 ++-- src/skel/win/win.cpp | 3 +- 7 files changed, 73 insertions(+), 60 deletions(-) diff --git a/librw b/librw index 6ff378bb..556f6af1 160000 --- a/librw +++ b/librw @@ -1 +1 @@ -Subproject commit 6ff378bb16007ad003b1a71996944a20f2e76556 +Subproject commit 556f6af1b5a15d5ba1a2254a95076578cd160185 diff --git a/src/audio/AudioManager.h b/src/audio/AudioManager.h index 0e9ef51a..52c26552 100644 --- a/src/audio/AudioManager.h +++ b/src/audio/AudioManager.h @@ -444,14 +444,14 @@ public: void ServiceSoundEffects(); int8 SetCurrent3DProvider(uint8 which); void SetDynamicAcousticModelingStatus(uint8 status); - void SetEffectsFadeVolume(uint8 volume) const; + void SetEffectsFadeVol(uint8 volume) const; void SetEffectsMasterVolume(uint8 volume) const; void SetEntityStatus(int32 id, uint8 status); uint32 SetLoopingCollisionRequestedSfxFreqAndGetVol(const cAudioCollision &audioCollision); void SetMissionAudioLocation(float x, float y, float z); void SetMissionScriptPoliceAudio(int32 sfx) const; void SetMonoMode(uint8 mono); - void SetMusicFadeVolume(uint8 volume) const; + void SetMusicFadeVol(uint8 volume) const; void SetMusicMasterVolume(uint8 volume) const; void SetSpeakerConfig(int32 conf) const; void SetUpLoopingCollisionSound(const cAudioCollision &col, uint8 counter); diff --git a/src/core/Frontend_PS2.cpp b/src/core/Frontend_PS2.cpp index d236a9a1..8e604978 100644 --- a/src/core/Frontend_PS2.cpp +++ b/src/core/Frontend_PS2.cpp @@ -2431,10 +2431,10 @@ CMenuManager::ProcessDPadLeftJustDown(void) if ( MenuSaveZoneSSL_1.m_numOptions < 2 ) ; else - DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_DENIED, 0); + DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_NAVIGATION, 0); } else - DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_DENIED, 0); + DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_NAVIGATION, 0); } } else @@ -2453,7 +2453,7 @@ CMenuManager::ProcessDPadLeftJustDown(void) m_nPageRightTimer = 0; m_nChangePageTimer = CTimer::GetTimeInMillisecondsPauseMode() + 250; field_18 = m_newPage; - DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_COMPLETED, 0); + DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_NEW_PAGE, 0); } } @@ -2465,7 +2465,7 @@ CMenuManager::ProcessDPadLeftJustDown(void) if ( pActiveMenuPage ) pActiveMenuPage->GoLeftMenuOnPage(); - DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_DENIED, 0); + DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_NAVIGATION, 0); break; } @@ -2483,14 +2483,14 @@ CMenuManager::ProcessDPadLeftJustDown(void) else if ( pActiveMenuPage->m_pCurrentControl == &MenuAudio_2 ) ; else - DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_DENIED, 0); + DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_NAVIGATION, 0); } else if ( m_currentPage == PAGE_DISPLAY) { if ( pActiveMenuPage->m_pCurrentControl == &MenuDisplay_1 ) ; else - DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_DENIED, 0); + DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_NAVIGATION, 0); } else { @@ -2499,17 +2499,17 @@ CMenuManager::ProcessDPadLeftJustDown(void) if ( MenuSaveDG_2.m_numOptions < 2 ) ; else - DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_DENIED, 0); + DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_NAVIGATION, 0); } else if ( pActiveMenuPage->m_pCurrentControl == &MenuSaveLG_2 ) { if ( MenuSaveLG_2.m_numOptions < 2 ) ; else - DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_DENIED, 0); + DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_NAVIGATION, 0); } else - DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_DENIED, 0); + DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_NAVIGATION, 0); } } @@ -2533,10 +2533,10 @@ CMenuManager::ProcessDPadRightJustDown(void) if ( MenuSaveZoneSSL_1.m_numOptions < 2 ) ; else - DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_DENIED, 0); + DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_NAVIGATION, 0); } else - DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_DENIED, 0); + DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_NAVIGATION, 0); } } else @@ -2555,7 +2555,7 @@ CMenuManager::ProcessDPadRightJustDown(void) m_nPageRightTimer = CTimer::GetTimeInMillisecondsPauseMode() + 300; m_nChangePageTimer = CTimer::GetTimeInMillisecondsPauseMode() + 250; field_18 = m_newPage; - DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_COMPLETED, 0); + DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_NEW_PAGE, 0); } } @@ -2567,7 +2567,7 @@ CMenuManager::ProcessDPadRightJustDown(void) if ( pActiveMenuPage ) pActiveMenuPage->GoRightMenuOnPage(); - DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_DENIED, 0); + DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_NAVIGATION, 0); break; } @@ -2585,14 +2585,14 @@ CMenuManager::ProcessDPadRightJustDown(void) else if ( pActiveMenuPage->m_pCurrentControl == &MenuAudio_2 ) ; else - DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_DENIED, 0); + DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_NAVIGATION, 0); } else if ( m_currentPage == PAGE_DISPLAY) { if ( pActiveMenuPage->m_pCurrentControl == &MenuDisplay_1 ) ; else - DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_DENIED, 0); + DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_NAVIGATION, 0); } else { @@ -2601,17 +2601,17 @@ CMenuManager::ProcessDPadRightJustDown(void) if ( MenuSaveDG_2.m_numOptions < 2 ) ; else - DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_DENIED, 0); + DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_NAVIGATION, 0); } else if ( pActiveMenuPage->m_pCurrentControl == &MenuSaveLG_2 ) { if ( MenuSaveLG_2.m_numOptions < 2 ) ; else - DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_DENIED, 0); + DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_NAVIGATION, 0); } else - DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_DENIED, 0); + DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_NAVIGATION, 0); } } @@ -2635,10 +2635,10 @@ CMenuManager::ProcessDPadUpJustDown(void) if ( MenuSaveZoneSSL_1.m_numOptions < 2 ) ; else - DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_DENIED, 0); + DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_NAVIGATION, 0); } else - DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_DENIED, 0); + DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_NAVIGATION, 0); } } else @@ -2653,7 +2653,7 @@ CMenuManager::ProcessDPadUpJustDown(void) if ( pActiveMenuPage ) pActiveMenuPage->GoUpMenuOnPage(); - DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_DENIED, 0); + DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_NAVIGATION, 0); break; } @@ -2668,17 +2668,17 @@ CMenuManager::ProcessDPadUpJustDown(void) if ( MenuSaveDG_2.m_numOptions < 2 ) ; else - DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_DENIED, 0); + DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_NAVIGATION, 0); } else if ( pActiveMenuPage->m_pCurrentControl == &MenuSaveLG_2 ) { if ( MenuSaveLG_2.m_numOptions < 2 ) ; else - DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_DENIED, 0); + DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_NAVIGATION, 0); } else - DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_DENIED, 0); + DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_NAVIGATION, 0); } break; @@ -2701,10 +2701,10 @@ CMenuManager::ProcessDPadDownJustDown(void) if ( MenuSaveZoneSSL_1.m_numOptions < 2 ) ; else - DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_DENIED, 0); + DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_NAVIGATION, 0); } else - DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_DENIED, 0); + DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_NAVIGATION, 0); } } else @@ -2719,7 +2719,7 @@ CMenuManager::ProcessDPadDownJustDown(void) if ( pActiveMenuPage ) pActiveMenuPage->GoDownMenuOnPage(); - DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_DENIED, 0); + DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_NAVIGATION, 0); break; } @@ -2735,17 +2735,17 @@ CMenuManager::ProcessDPadDownJustDown(void) if ( MenuSaveDG_2.m_numOptions < 2 ) ; else - DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_DENIED, 0); + DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_NAVIGATION, 0); } else if ( pActiveMenuPage->m_pCurrentControl == &MenuSaveLG_2 ) { if ( MenuSaveLG_2.m_numOptions < 2 ) ; else - DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_DENIED, 0); + DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_NAVIGATION, 0); } else - DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_DENIED, 0); + DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_NAVIGATION, 0); } break; } @@ -2765,9 +2765,9 @@ CMenuManager::ProcessDPadTriangleJustDown(void) if ( bIgnoreTriangleButton ) { if ( m_bInSaveZone ) - DMAudio.PlayFrontEndSound(SOUND_FRONTEND_EXIT, 0); + DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_BACK, 0); else if ( pActiveMenuPage->m_pCurrentControl == &MenuSaveDG_2 || pActiveMenuPage->m_pCurrentControl == &MenuSaveLG_2 ) - DMAudio.PlayFrontEndSound(SOUND_FRONTEND_EXIT, 0); + DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_BACK, 0); } else if ( !bIgnoreTriangleButton ) { @@ -2779,7 +2779,7 @@ CMenuManager::ProcessDPadTriangleJustDown(void) case PAGESTATE_HIGHLIGHTED: m_pageState = PAGESTATE_NORMAL; - DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_COMPLETED, 0); + DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_NEW_PAGE, 0); break; case PAGESTATE_SELECTED: @@ -2790,10 +2790,10 @@ CMenuManager::ProcessDPadTriangleJustDown(void) if ( pActiveMenuPage->m_numControls == 1 ) { m_pageState = PAGESTATE_NORMAL; - DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_COMPLETED, 0); + DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_NEW_PAGE, 0); } else - DMAudio.PlayFrontEndSound(SOUND_FRONTEND_EXIT, 0); + DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_BACK, 0); } break; } @@ -2813,7 +2813,7 @@ CMenuManager::ProcessDPadTriangleJustDown(void) case PAGESTATE_HIGHLIGHTED: m_pageState = PAGESTATE_NORMAL; - DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_COMPLETED, 0); + DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_NEW_PAGE, 0); break; case PAGESTATE_SELECTED: @@ -2824,10 +2824,10 @@ CMenuManager::ProcessDPadTriangleJustDown(void) if ( pActiveMenuPage->m_numControls == 1 ) { m_pageState = PAGESTATE_NORMAL; - DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_COMPLETED, 0); + DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_NEW_PAGE, 0); } else - DMAudio.PlayFrontEndSound(SOUND_FRONTEND_EXIT, 0); + DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_BACK, 0); } break; } @@ -2844,7 +2844,7 @@ CMenuManager::ProcessDPadCrossJustDown(void) if ( pActiveMenuPage ) pActiveMenuPage->SelectCurrentOptionUnderCursor(); - DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_SUCCESS, 0); + DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_SETTING_CHANGE, 0); } else { @@ -2885,7 +2885,7 @@ CMenuManager::ProcessDPadCrossJustDown(void) } } - DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_SUCCESS, 0); + DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_SETTING_CHANGE, 0); break; } @@ -2907,14 +2907,14 @@ CMenuManager::ProcessDPadCrossJustDown(void) case PAGE_AUDIO: { if ( pActiveMenuPage->m_pCurrentControl != &MenuAudio_4 ) - DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_SUCCESS, 0); + DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_SETTING_CHANGE, 0); break; } default: { - DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_SUCCESS, 0); + DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_SETTING_CHANGE, 0); DMAudio.StopFrontEndTrack(); gMusicPlaying = false; break; @@ -2948,7 +2948,7 @@ CMenuManager::ProcessDPadCrossJustDown(void) } } - DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_SUCCESS, 0); + DMAudio.PlayFrontEndSound(SOUND_FRONTEND_MENU_SETTING_CHANGE, 0); break; } } diff --git a/src/core/MenuScreens.cpp b/src/core/MenuScreens.cpp index 7b66a27a..4685918e 100644 --- a/src/core/MenuScreens.cpp +++ b/src/core/MenuScreens.cpp @@ -1,5 +1,6 @@ #include "common.h" #include "Frontend.h" +#ifdef PC_MENU // If you want to add new options, please don't do that here and see CustomFrontendOptionsPopulate in re3.cpp. @@ -445,4 +446,6 @@ CMenuScreen aScreens[] = { MENUACTION_CHANGEMENU, "FEDS_TB", SAVESLOT_NONE, MENUPAGE_NONE, }, #endif -}; \ No newline at end of file +}; + +#endif \ No newline at end of file diff --git a/src/core/config.h b/src/core/config.h index 98f031b3..ed36a493 100644 --- a/src/core/config.h +++ b/src/core/config.h @@ -216,22 +216,31 @@ enum Config { #define REGISTER_START_BUTTON // Hud, frontend and radar -#define TRIANGULAR_BLIPS // height indicating triangular radar blips, as in VC -#define PS2_SAVE_DIALOG // PS2 style save dialog with transparent black box -// #define PS2_LIKE_MENU // An effort to recreate PS2 menu, cycling through tabs, different bg etc. -#define MENU_MAP // VC-like menu map. Make sure you have new menu.txd -#define SCROLLABLE_STATS_PAGE // only draggable by mouse atm -#define TRIANGLE_BACK_BUTTON -// #define CIRCLE_BACK_BUTTON #define HUD_ENHANCEMENTS // Adjusts some aspects to make the HUD look/behave a little bit better. #define BETA_SLIDING_TEXT -#define CUSTOM_FRONTEND_OPTIONS +#define TRIANGULAR_BLIPS // height indicating triangular radar blips, as in VC +#define PC_MENU + +#ifndef PC_MENU +# define PS2_MENU +//# define PS2_MENU_USEALLPAGEICONS +#else +# define PS2_SAVE_DIALOG // PS2 style save dialog with transparent black box +//# define PS2_LIKE_MENU // An effort to recreate PS2 menu, cycling through tabs, different bg etc. +# define MENU_MAP // VC-like menu map. Make sure you have new menu.txd +# define SCROLLABLE_STATS_PAGE // only draggable by mouse atm +# define TRIANGLE_BACK_BUTTON +//# define CIRCLE_BACK_BUTTON +# define CUSTOM_FRONTEND_OPTIONS +#endif // Script #define USE_DEBUG_SCRIPT_LOADER // Loads main.scm by default. Hold R for main_freeroam.scm and D for main_d.scm #define USE_MEASUREMENTS_IN_METERS // makes game use meters instead of feet in script #define USE_PRECISE_MEASUREMENT_CONVERTION // makes game convert feet to meeters more precisely -#define MISSION_REPLAY // mobile feature +#ifdef PC_MENU +# define MISSION_REPLAY // mobile feature +#endif //#define SIMPLIER_MISSIONS // apply simplifications from mobile #define USE_ADVANCED_SCRIPT_DEBUG_OUTPUT #define SCRIPT_LOG_FILE_LEVEL 1 // 0 == no log, 1 == overwrite every frame, 2 == full log diff --git a/src/core/re3.cpp b/src/core/re3.cpp index 56ee9aa7..b21bff58 100644 --- a/src/core/re3.cpp +++ b/src/core/re3.cpp @@ -83,7 +83,7 @@ void ReloadFrontendOptions(void) void LangPolSelect(int8 action) { if (action == FEOPTION_ACTION_SELECT) { - FrontEndMenuManager.m_PrefsLanguage = LANGUAGE_POLISH; + FrontEndMenuManager.m_PrefsLanguage = CMenuManager::LANGUAGE_POLISH; FrontEndMenuManager.m_bFrontEnd_ReloadObrTxtGxt = true; FrontEndMenuManager.InitialiseChangedLanguageSettings(); FrontEndMenuManager.SaveSettings(); @@ -93,7 +93,7 @@ void LangPolSelect(int8 action) void LangRusSelect(int8 action) { if (action == FEOPTION_ACTION_SELECT) { - FrontEndMenuManager.m_PrefsLanguage = LANGUAGE_RUSSIAN; + FrontEndMenuManager.m_PrefsLanguage = CMenuManager::LANGUAGE_RUSSIAN; FrontEndMenuManager.m_bFrontEnd_ReloadObrTxtGxt = true; FrontEndMenuManager.InitialiseChangedLanguageSettings(); FrontEndMenuManager.SaveSettings(); @@ -103,7 +103,7 @@ void LangRusSelect(int8 action) void LangJapSelect(int8 action) { if (action == FEOPTION_ACTION_SELECT) { - FrontEndMenuManager.m_PrefsLanguage = LANGUAGE_JAPANESE; + FrontEndMenuManager.m_PrefsLanguage = CMenuManager::LANGUAGE_JAPANESE; FrontEndMenuManager.m_bFrontEnd_ReloadObrTxtGxt = true; FrontEndMenuManager.InitialiseChangedLanguageSettings(); FrontEndMenuManager.SaveSettings(); diff --git a/src/skel/win/win.cpp b/src/skel/win/win.cpp index d923d93d..d7216d2e 100644 --- a/src/skel/win/win.cpp +++ b/src/skel/win/win.cpp @@ -1929,12 +1929,13 @@ WinMain(HINSTANCE instance, StaticPatcher::Apply(); SystemParametersInfo(SPI_SETFOREGROUNDLOCKTIMEOUT, 0, nil, SPIF_SENDCHANGE); +/* // TODO: make this an option somewhere AllocConsole(); freopen("CONIN$", "r", stdin); freopen("CONOUT$", "w", stdout); freopen("CONOUT$", "w", stderr); - +*/ /* * Initialize the platform independent data. -- cgit v1.2.3