menu fixes

This commit is contained in:
Fire-Head 2020-06-29 10:29:02 +03:00
parent 0cd2ac7e5e
commit 63fdcf7e64
7 changed files with 73 additions and 60 deletions

2
librw

@ -1 +1 @@
Subproject commit 6ff378bb16007ad003b1a71996944a20f2e76556
Subproject commit 556f6af1b5a15d5ba1a2254a95076578cd160185

View File

@ -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);

View File

@ -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;
}
}

View File

@ -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.
@ -446,3 +447,5 @@ CMenuScreen aScreens[] = {
},
#endif
};
#endif

View File

@ -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

View File

@ -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();

View File

@ -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.