mirror of
https://github.com/GTAmodding/re3.git
synced 2024-12-01 20:35:41 +00:00
Don't show menu map and new languages if gamefiles isn't copied
This commit is contained in:
parent
c7ba01b034
commit
d224f8b7ee
6 changed files with 67 additions and 55 deletions
|
@ -3655,7 +3655,13 @@ CMenuManager::LoadAllTextures()
|
||||||
m_aMenuSprites[i].SetAddressing(rwTEXTUREADDRESSBORDER);
|
m_aMenuSprites[i].SetAddressing(rwTEXTUREADDRESSBORDER);
|
||||||
}
|
}
|
||||||
#ifdef MENU_MAP
|
#ifdef MENU_MAP
|
||||||
|
static bool menuOptionAdded = false;
|
||||||
for (int i = 0; i < ARRAY_SIZE(MapFilenames); i++) {
|
for (int i = 0; i < ARRAY_SIZE(MapFilenames); i++) {
|
||||||
|
if (!menuOptionAdded && RwTextureRead(MapFilenames[i][0], MapFilenames[i][1])) {
|
||||||
|
FrontendOptionSetCursor(MENUPAGE_PAUSE_MENU, 2, false);
|
||||||
|
FrontendOptionAddBuiltinAction("FEG_MAP", MENUACTION_CHANGEMENU, MENUPAGE_MAP, SAVESLOT_NONE);
|
||||||
|
menuOptionAdded = true;
|
||||||
|
}
|
||||||
m_aMapSprites[i].SetTexture(MapFilenames[i][0], MapFilenames[i][1]);
|
m_aMapSprites[i].SetTexture(MapFilenames[i][0], MapFilenames[i][1]);
|
||||||
m_aMapSprites[i].SetAddressing(rwTEXTUREADDRESSBORDER);
|
m_aMapSprites[i].SetAddressing(rwTEXTUREADDRESSBORDER);
|
||||||
}
|
}
|
||||||
|
|
|
@ -235,11 +235,11 @@ enum eMenuScreen
|
||||||
MENUPAGE_KEYBOARD_CONTROLS = 55,
|
MENUPAGE_KEYBOARD_CONTROLS = 55,
|
||||||
MENUPAGE_MOUSE_CONTROLS = 56,
|
MENUPAGE_MOUSE_CONTROLS = 56,
|
||||||
MENUPAGE_MISSION_RETRY = 57,
|
MENUPAGE_MISSION_RETRY = 57,
|
||||||
|
#ifdef CUSTOM_FRONTEND_OPTIONS
|
||||||
|
|
||||||
#ifdef MENU_MAP
|
#ifdef MENU_MAP
|
||||||
MENUPAGE_MAP = 58,
|
MENUPAGE_MAP = 58,
|
||||||
#endif
|
#endif
|
||||||
#ifdef CUSTOM_FRONTEND_OPTIONS
|
|
||||||
|
|
||||||
#ifdef GRAPHICS_MENU_OPTIONS
|
#ifdef GRAPHICS_MENU_OPTIONS
|
||||||
MENUPAGE_GRAPHICS_SETTINGS,
|
MENUPAGE_GRAPHICS_SETTINGS,
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -394,9 +394,6 @@ CMenuScreen aScreens[MENUPAGES] = {
|
||||||
{ "FET_PAU", 1, MENUPAGE_DISABLED, MENUPAGE_DISABLED, 0, 0,
|
{ "FET_PAU", 1, MENUPAGE_DISABLED, MENUPAGE_DISABLED, 0, 0,
|
||||||
MENUACTION_RESUME, "FEM_RES", SAVESLOT_NONE, MENUPAGE_NONE,
|
MENUACTION_RESUME, "FEM_RES", SAVESLOT_NONE, MENUPAGE_NONE,
|
||||||
MENUACTION_CHANGEMENU, "FEN_STA", SAVESLOT_NONE, MENUPAGE_NEW_GAME,
|
MENUACTION_CHANGEMENU, "FEN_STA", SAVESLOT_NONE, MENUPAGE_NEW_GAME,
|
||||||
#ifdef MENU_MAP
|
|
||||||
MENUACTION_CHANGEMENU, "FEG_MAP", SAVESLOT_NONE, MENUPAGE_MAP,
|
|
||||||
#endif
|
|
||||||
MENUACTION_CHANGEMENU, "FEP_STA", SAVESLOT_NONE, MENUPAGE_STATS,
|
MENUACTION_CHANGEMENU, "FEP_STA", SAVESLOT_NONE, MENUPAGE_STATS,
|
||||||
MENUACTION_CHANGEMENU, "FEP_BRI", SAVESLOT_NONE, MENUPAGE_BRIEFS,
|
MENUACTION_CHANGEMENU, "FEP_BRI", SAVESLOT_NONE, MENUPAGE_BRIEFS,
|
||||||
MENUACTION_CHANGEMENU, "FET_OPT", SAVESLOT_NONE, MENUPAGE_OPTIONS,
|
MENUACTION_CHANGEMENU, "FET_OPT", SAVESLOT_NONE, MENUPAGE_OPTIONS,
|
||||||
|
@ -441,14 +438,6 @@ CMenuScreen aScreens[MENUPAGES] = {
|
||||||
},
|
},
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef MENU_MAP
|
|
||||||
// MENUPAGE_MAP
|
|
||||||
{ "FEG_MAP", 1, MENUPAGE_NONE, MENUPAGE_NONE, 2, 2,
|
|
||||||
MENUACTION_UNK110, "", SAVESLOT_NONE, MENUPAGE_NONE, // to prevent cross/enter to go back
|
|
||||||
MENUACTION_CHANGEMENU, "FEDS_TB", SAVESLOT_NONE, MENUPAGE_NONE,
|
|
||||||
},
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// MENUPAGE_UNK
|
// MENUPAGE_UNK
|
||||||
{ "", 0, MENUPAGE_NONE, MENUPAGE_NONE, 0, 0,
|
{ "", 0, MENUPAGE_NONE, MENUPAGE_NONE, 0, 0,
|
||||||
|
|
||||||
|
|
|
@ -195,38 +195,6 @@ void IslandLoadingAfterChange(int8 before, int8 after) {
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef MORE_LANGUAGES
|
|
||||||
void LangPolSelect(int8 action)
|
|
||||||
{
|
|
||||||
if (action == FEOPTION_ACTION_SELECT) {
|
|
||||||
FrontEndMenuManager.m_PrefsLanguage = CMenuManager::LANGUAGE_POLISH;
|
|
||||||
FrontEndMenuManager.m_bFrontEnd_ReloadObrTxtGxt = true;
|
|
||||||
FrontEndMenuManager.InitialiseChangedLanguageSettings();
|
|
||||||
FrontEndMenuManager.SaveSettings();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void LangRusSelect(int8 action)
|
|
||||||
{
|
|
||||||
if (action == FEOPTION_ACTION_SELECT) {
|
|
||||||
FrontEndMenuManager.m_PrefsLanguage = CMenuManager::LANGUAGE_RUSSIAN;
|
|
||||||
FrontEndMenuManager.m_bFrontEnd_ReloadObrTxtGxt = true;
|
|
||||||
FrontEndMenuManager.InitialiseChangedLanguageSettings();
|
|
||||||
FrontEndMenuManager.SaveSettings();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void LangJapSelect(int8 action)
|
|
||||||
{
|
|
||||||
if (action == FEOPTION_ACTION_SELECT) {
|
|
||||||
FrontEndMenuManager.m_PrefsLanguage = CMenuManager::LANGUAGE_JAPANESE;
|
|
||||||
FrontEndMenuManager.m_bFrontEnd_ReloadObrTxtGxt = true;
|
|
||||||
FrontEndMenuManager.InitialiseChangedLanguageSettings();
|
|
||||||
FrontEndMenuManager.SaveSettings();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef MULTISAMPLING
|
#ifndef MULTISAMPLING
|
||||||
void GraphicsGoBack() {
|
void GraphicsGoBack() {
|
||||||
}
|
}
|
||||||
|
@ -497,11 +465,7 @@ CMenuScreenCustom aScreens[MENUPAGES] = {
|
||||||
MENUACTION_LANG_GER, "FEL_GER", { nil, SAVESLOT_NONE, MENUPAGE_LANGUAGE_SETTINGS },
|
MENUACTION_LANG_GER, "FEL_GER", { nil, SAVESLOT_NONE, MENUPAGE_LANGUAGE_SETTINGS },
|
||||||
MENUACTION_LANG_ITA, "FEL_ITA", { nil, SAVESLOT_NONE, MENUPAGE_LANGUAGE_SETTINGS },
|
MENUACTION_LANG_ITA, "FEL_ITA", { nil, SAVESLOT_NONE, MENUPAGE_LANGUAGE_SETTINGS },
|
||||||
MENUACTION_LANG_SPA, "FEL_SPA", { nil, SAVESLOT_NONE, MENUPAGE_LANGUAGE_SETTINGS },
|
MENUACTION_LANG_SPA, "FEL_SPA", { nil, SAVESLOT_NONE, MENUPAGE_LANGUAGE_SETTINGS },
|
||||||
#ifdef MORE_LANGUAGES
|
// CustomFrontendOptionsPopulate will add languages here, if files are found
|
||||||
MENUACTION_CFO_DYNAMIC, "FEL_POL", { new CCFODynamic(nil, nil, nil, nil, LangPolSelect) },
|
|
||||||
MENUACTION_CFO_DYNAMIC, "FEL_RUS", { new CCFODynamic(nil, nil, nil, nil, LangRusSelect) },
|
|
||||||
MENUACTION_CFO_DYNAMIC, "FEL_JAP", { new CCFODynamic(nil, nil, nil, nil, LangJapSelect) },
|
|
||||||
#endif
|
|
||||||
MENUACTION_CHANGEMENU, "FEDS_TB", { nil, SAVESLOT_NONE, MENUPAGE_NONE },
|
MENUACTION_CHANGEMENU, "FEDS_TB", { nil, SAVESLOT_NONE, MENUPAGE_NONE },
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -836,9 +800,7 @@ CMenuScreenCustom aScreens[MENUPAGES] = {
|
||||||
{ "FET_PAU", MENUPAGE_DISABLED, MENUPAGE_DISABLED, nil, nil,
|
{ "FET_PAU", MENUPAGE_DISABLED, MENUPAGE_DISABLED, nil, nil,
|
||||||
MENUACTION_RESUME, "FEM_RES", { nil, SAVESLOT_NONE, MENUPAGE_NONE },
|
MENUACTION_RESUME, "FEM_RES", { nil, SAVESLOT_NONE, MENUPAGE_NONE },
|
||||||
MENUACTION_CHANGEMENU, "FEN_STA", { nil, SAVESLOT_NONE, MENUPAGE_NEW_GAME },
|
MENUACTION_CHANGEMENU, "FEN_STA", { nil, SAVESLOT_NONE, MENUPAGE_NEW_GAME },
|
||||||
#ifdef MENU_MAP
|
// CMenuManager::LoadAllTextures will add map here, if MENU_MAP enabled and map textures are found
|
||||||
MENUACTION_CHANGEMENU, "FEG_MAP", { nil, SAVESLOT_NONE, MENUPAGE_MAP },
|
|
||||||
#endif
|
|
||||||
MENUACTION_CHANGEMENU, "FEP_STA", { nil, SAVESLOT_NONE, MENUPAGE_STATS },
|
MENUACTION_CHANGEMENU, "FEP_STA", { nil, SAVESLOT_NONE, MENUPAGE_STATS },
|
||||||
MENUACTION_CHANGEMENU, "FEP_BRI", { nil, SAVESLOT_NONE, MENUPAGE_BRIEFS },
|
MENUACTION_CHANGEMENU, "FEP_BRI", { nil, SAVESLOT_NONE, MENUPAGE_BRIEFS },
|
||||||
MENUACTION_CHANGEMENU, "FET_OPT", { nil, SAVESLOT_NONE, MENUPAGE_OPTIONS },
|
MENUACTION_CHANGEMENU, "FET_OPT", { nil, SAVESLOT_NONE, MENUPAGE_OPTIONS },
|
||||||
|
|
|
@ -312,7 +312,6 @@ enum Config {
|
||||||
# define PS2_MENU
|
# define PS2_MENU
|
||||||
//# define PS2_MENU_USEALLPAGEICONS
|
//# define PS2_MENU_USEALLPAGEICONS
|
||||||
#else
|
#else
|
||||||
# define MENU_MAP // VC-like menu map. Make sure you have new menu.txd
|
|
||||||
|
|
||||||
# ifdef XINPUT
|
# ifdef XINPUT
|
||||||
# define GAMEPAD_MENU // Add gamepad menu
|
# define GAMEPAD_MENU // Add gamepad menu
|
||||||
|
@ -326,6 +325,7 @@ enum Config {
|
||||||
# define CUSTOM_FRONTEND_OPTIONS
|
# define CUSTOM_FRONTEND_OPTIONS
|
||||||
|
|
||||||
# ifdef CUSTOM_FRONTEND_OPTIONS
|
# ifdef CUSTOM_FRONTEND_OPTIONS
|
||||||
|
# define MENU_MAP // VC-like menu map. Won't appear if you don't have our menu.txd
|
||||||
# define GRAPHICS_MENU_OPTIONS // otherwise Display settings will be scrollable
|
# define GRAPHICS_MENU_OPTIONS // otherwise Display settings will be scrollable
|
||||||
# define NO_ISLAND_LOADING // disable loadscreen between islands via loading all island data at once, consumes more memory and CPU
|
# define NO_ISLAND_LOADING // disable loadscreen between islands via loading all island data at once, consumes more memory and CPU
|
||||||
# define CUTSCENE_BORDERS_SWITCH
|
# define CUTSCENE_BORDERS_SWITCH
|
||||||
|
|
|
@ -85,16 +85,49 @@ mysrand(unsigned int seed)
|
||||||
#ifdef CUSTOM_FRONTEND_OPTIONS
|
#ifdef CUSTOM_FRONTEND_OPTIONS
|
||||||
#include "frontendoption.h"
|
#include "frontendoption.h"
|
||||||
|
|
||||||
|
#ifdef MORE_LANGUAGES
|
||||||
|
void LangPolSelect(int8 action)
|
||||||
|
{
|
||||||
|
if (action == FEOPTION_ACTION_SELECT) {
|
||||||
|
FrontEndMenuManager.m_PrefsLanguage = CMenuManager::LANGUAGE_POLISH;
|
||||||
|
FrontEndMenuManager.m_bFrontEnd_ReloadObrTxtGxt = true;
|
||||||
|
FrontEndMenuManager.InitialiseChangedLanguageSettings();
|
||||||
|
FrontEndMenuManager.SaveSettings();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void LangRusSelect(int8 action)
|
||||||
|
{
|
||||||
|
if (action == FEOPTION_ACTION_SELECT) {
|
||||||
|
FrontEndMenuManager.m_PrefsLanguage = CMenuManager::LANGUAGE_RUSSIAN;
|
||||||
|
FrontEndMenuManager.m_bFrontEnd_ReloadObrTxtGxt = true;
|
||||||
|
FrontEndMenuManager.InitialiseChangedLanguageSettings();
|
||||||
|
FrontEndMenuManager.SaveSettings();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void LangJapSelect(int8 action)
|
||||||
|
{
|
||||||
|
if (action == FEOPTION_ACTION_SELECT) {
|
||||||
|
FrontEndMenuManager.m_PrefsLanguage = CMenuManager::LANGUAGE_JAPANESE;
|
||||||
|
FrontEndMenuManager.m_bFrontEnd_ReloadObrTxtGxt = true;
|
||||||
|
FrontEndMenuManager.InitialiseChangedLanguageSettings();
|
||||||
|
FrontEndMenuManager.SaveSettings();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
void
|
void
|
||||||
CustomFrontendOptionsPopulate(void)
|
CustomFrontendOptionsPopulate(void)
|
||||||
{
|
{
|
||||||
// Moved to an array in MenuScreensCustom.cpp, but APIs are still available. see frontendoption.h
|
// Moved to an array in MenuScreensCustom.cpp, but APIs are still available. see frontendoption.h
|
||||||
|
|
||||||
// These work only if we have neo folder, so they're dynamically added
|
// These work only if we have neo folder, so they're dynamically added
|
||||||
|
int fd;
|
||||||
#ifdef EXTENDED_PIPELINES
|
#ifdef EXTENDED_PIPELINES
|
||||||
const char *vehPipelineNames[] = { "FED_MFX", "FED_NEO" };
|
const char *vehPipelineNames[] = { "FED_MFX", "FED_NEO" };
|
||||||
const char *off_on[] = { "FEM_OFF", "FEM_ON" };
|
const char *off_on[] = { "FEM_OFF", "FEM_ON" };
|
||||||
int fd = CFileMgr::OpenFile("neo/neo.txd","r");
|
fd = CFileMgr::OpenFile("neo/neo.txd","r");
|
||||||
if (fd) {
|
if (fd) {
|
||||||
#ifdef GRAPHICS_MENU_OPTIONS
|
#ifdef GRAPHICS_MENU_OPTIONS
|
||||||
FrontendOptionSetCursor(MENUPAGE_GRAPHICS_SETTINGS, -3, false);
|
FrontendOptionSetCursor(MENUPAGE_GRAPHICS_SETTINGS, -3, false);
|
||||||
|
@ -113,6 +146,28 @@ CustomFrontendOptionsPopulate(void)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// Add outsourced language translations, if files are found
|
||||||
|
#ifdef MORE_LANGUAGES
|
||||||
|
FrontendOptionSetCursor(MENUPAGE_LANGUAGE_SETTINGS, 5, false);
|
||||||
|
fd = CFileMgr::OpenFile("text/polish.gxt","r");
|
||||||
|
if (fd) {
|
||||||
|
FrontendOptionAddDynamic("FEL_POL", nil, nil, LangPolSelect, nil, nil);
|
||||||
|
CFileMgr::CloseFile(fd);
|
||||||
|
}
|
||||||
|
|
||||||
|
fd = CFileMgr::OpenFile("text/russian.gxt","r");
|
||||||
|
if (fd) {
|
||||||
|
FrontendOptionAddDynamic("FEL_RUS", nil, nil, LangRusSelect, nil, nil);
|
||||||
|
CFileMgr::CloseFile(fd);
|
||||||
|
}
|
||||||
|
|
||||||
|
fd = CFileMgr::OpenFile("text/japanese.gxt","r");
|
||||||
|
if (fd) {
|
||||||
|
FrontendOptionAddDynamic("FEL_JAP", nil, nil, LangJapSelect, nil, nil);
|
||||||
|
CFileMgr::CloseFile(fd);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue