#pragma once #include "UIScene.h" #define HAS_LANGUAGE_SYSTEM(exp) exp, #define HAS_LANGUAGE_EN_US(exp) exp, #define HAS_LANGUAGE_DE_DE(exp) exp, #define HAS_LANGUAGE_ES_ES(exp) exp, #define HAS_LANGUAGE_ES_MX(exp) exp, #define HAS_LANGUAGE_FR_FR(exp) exp, #define HAS_LANGUAGE_IT_IT(exp) exp, #define HAS_LANGUAGE_PT_PT(exp) exp, #define HAS_LANGUAGE_PT_BR(exp) exp, #define HAS_LANGUAGE_JA_JP(exp) exp, #define HAS_LANGUAGE_KO_KR(exp) exp, #define HAS_LANGUAGE_CN_TW(exp) exp, #ifdef _DURANGO #define HAS_LANGUAGE_CN_CN(exp) exp, #define HAS_LANGUAGE_SK_SK(exp) exp, #define HAS_LANGUAGE_CZ_CZ(exp) exp, #else #define HAS_LANGUAGE_CN_CN(exp) #define HAS_LANGUAGE_SK_SK(exp) #define HAS_LANGUAGE_CZ_CZ(exp) #endif #define HAS_LANGUAGE_DA_DK(exp) exp, #define HAS_LANGUAGE_FI_FI(exp) exp, #define HAS_LANGUAGE_NL_NL(exp) exp, #define HAS_LANGUAGE_PL_PL(exp) exp, #define HAS_LANGUAGE_RU_RU(exp) exp, #define HAS_LANGUAGE_SV_SE(exp) exp, #define HAS_LANGUAGE_NB_NO(exp) exp, #define HAS_LANGUAGE_EL_GR(exp) exp, #if defined(__ORBIS__) || defined(__PS3__) || defined(__PSVITA__) #define HAS_LANGUAGE_TR_TR(exp) exp, #else #define HAS_LANGUAGE_TR_TR(exp) #endif class UIScene_LanguageSelector : public UIScene { public: enum ELangButtons { eLanguageSelector_LabelNone = -1, HAS_LANGUAGE_SYSTEM(eLanguageSelector_system) HAS_LANGUAGE_EN_US( eLanguageSelector_EN_US) HAS_LANGUAGE_DE_DE(eLanguageSelector_DE_DE) HAS_LANGUAGE_ES_ES(eLanguageSelector_ES_ES) HAS_LANGUAGE_ES_MX( eLanguageSelector_ES_MX) HAS_LANGUAGE_FR_FR(eLanguageSelector_FR_FR) HAS_LANGUAGE_IT_IT(eLanguageSelector_IT_IT) HAS_LANGUAGE_PT_PT( eLanguageSelector_PT_PT) HAS_LANGUAGE_PT_BR(eLanguageSelector_PT_BR) HAS_LANGUAGE_JA_JP(eLanguageSelector_JA_JP) HAS_LANGUAGE_KO_KR( eLanguageSelector_KO_KR) HAS_LANGUAGE_CN_TW(eLanguageSelector_CN_TW) HAS_LANGUAGE_CN_CN(eLanguageSelector_CN_CN) HAS_LANGUAGE_DA_DK( eLanguageSelector_DA_DK) HAS_LANGUAGE_FI_FI(eLanguageSelector_FI_FI) HAS_LANGUAGE_NL_NL( eLanguageSelector_NL_NL) HAS_LANGUAGE_PL_PL(eLanguageSelector_PL_PL) HAS_LANGUAGE_RU_RU(eLanguageSelector_RU_RU) HAS_LANGUAGE_SV_SE( eLanguageSelector_SV_SE) HAS_LANGUAGE_NB_NO( eLanguageSelector_NB_NO) HAS_LANGUAGE_SK_SK( eLanguageSelector_SK_SK) HAS_LANGUAGE_CZ_CZ( eLanguageSelector_CZ_CZ) HAS_LANGUAGE_EL_GR( eLanguageSelector_EL_GR) HAS_LANGUAGE_TR_TR( eLanguageSelector_TR_TR) eLanguageSelector_MAX }; private: enum EControls { eControl_Buttons, }; static const unsigned int m_uiHTPButtonNameA[eLanguageSelector_MAX]; UIControl_DynamicButtonList m_buttonListHowTo; UI_BEGIN_MAP_ELEMENTS_AND_NAMES(UIScene) UI_MAP_ELEMENT(m_buttonListHowTo, "HowToList") UI_END_MAP_ELEMENTS_AND_NAMES() public: UIScene_LanguageSelector(int iPad, void* initData, UILayer* parentLayer); virtual EUIScene getSceneType() { return eUIScene_LanguageSelector; } virtual void updateTooltips(); virtual void updateComponents(); virtual void handleReload(); protected: // TODO: This should be pure virtual in this class virtual std::wstring getMoviePath(); public: // INPUT virtual void handleInput(int iPad, int key, bool repeat, bool pressed, bool released, bool& handled); protected: void handlePress(F64 controlId, F64 childId); }; const int uiLangMap[UIScene_LanguageSelector::eLanguageSelector_MAX] = { HAS_LANGUAGE_SYSTEM(MINECRAFT_LANGUAGE_DEFAULT) HAS_LANGUAGE_EN_US( XC_LANGUAGE_ENGLISH) HAS_LANGUAGE_DE_DE(XC_LANGUAGE_GERMAN) HAS_LANGUAGE_ES_ES(XC_LANGUAGE_SPANISH) HAS_LANGUAGE_ES_MX( XC_LANGUAGE_SPANISH) HAS_LANGUAGE_FR_FR(XC_LANGUAGE_FRENCH) HAS_LANGUAGE_IT_IT(XC_LANGUAGE_ITALIAN) HAS_LANGUAGE_PT_PT( XC_LANGUAGE_PORTUGUESE) HAS_LANGUAGE_PT_BR(XC_LANGUAGE_PORTUGUESE) HAS_LANGUAGE_JA_JP(XC_LANGUAGE_JAPANESE) HAS_LANGUAGE_KO_KR( XC_LANGUAGE_KOREAN) HAS_LANGUAGE_CN_TW(XC_LANGUAGE_TCHINESE) HAS_LANGUAGE_CN_CN(XC_LANGUAGE_SCHINESE) HAS_LANGUAGE_DA_DK( XC_LANGUAGE_DANISH) HAS_LANGUAGE_FI_FI(XC_LANGUAGE_FINISH) HAS_LANGUAGE_NL_NL(XC_LANGUAGE_DUTCH) HAS_LANGUAGE_PL_PL( XC_LANGUAGE_POLISH) HAS_LANGUAGE_RU_RU(XC_LANGUAGE_RUSSIAN) HAS_LANGUAGE_SV_SE(XC_LANGUAGE_SWEDISH) HAS_LANGUAGE_NB_NO(XC_LANGUAGE_BNORWEGIAN) HAS_LANGUAGE_SK_SK(XC_LANGUAGE_SLOVAK) HAS_LANGUAGE_CZ_CZ( XC_LANGUAGE_CZECH) HAS_LANGUAGE_EL_GR( XC_LANGUAGE_GREEK) HAS_LANGUAGE_TR_TR( XC_LANGUAGE_TURKISH)}; const int uiLocaleMap[UIScene_LanguageSelector::eLanguageSelector_MAX] = { HAS_LANGUAGE_SYSTEM(MINECRAFT_LANGUAGE_DEFAULT) HAS_LANGUAGE_EN_US( MINECRAFT_LANGUAGE_DEFAULT) HAS_LANGUAGE_DE_DE(MINECRAFT_LANGUAGE_DEFAULT) HAS_LANGUAGE_ES_ES(XC_LOCALE_SPAIN) HAS_LANGUAGE_ES_MX( XC_LOCALE_LATIN_AMERICA) HAS_LANGUAGE_FR_FR(MINECRAFT_LANGUAGE_DEFAULT) HAS_LANGUAGE_IT_IT(MINECRAFT_LANGUAGE_DEFAULT) HAS_LANGUAGE_PT_PT( XC_LOCALE_PORTUGAL) HAS_LANGUAGE_PT_BR(XC_LOCALE_BRAZIL) HAS_LANGUAGE_JA_JP(MINECRAFT_LANGUAGE_DEFAULT) HAS_LANGUAGE_KO_KR( MINECRAFT_LANGUAGE_DEFAULT) HAS_LANGUAGE_CN_TW(MINECRAFT_LANGUAGE_DEFAULT) HAS_LANGUAGE_CN_CN(MINECRAFT_LANGUAGE_DEFAULT) HAS_LANGUAGE_DA_DK( MINECRAFT_LANGUAGE_DEFAULT) HAS_LANGUAGE_FI_FI(MINECRAFT_LANGUAGE_DEFAULT) HAS_LANGUAGE_NL_NL( MINECRAFT_LANGUAGE_DEFAULT) HAS_LANGUAGE_PL_PL(MINECRAFT_LANGUAGE_DEFAULT) HAS_LANGUAGE_RU_RU(MINECRAFT_LANGUAGE_DEFAULT) HAS_LANGUAGE_SV_SE( MINECRAFT_LANGUAGE_DEFAULT) HAS_LANGUAGE_NB_NO( MINECRAFT_LANGUAGE_DEFAULT) HAS_LANGUAGE_SK_SK( MINECRAFT_LANGUAGE_DEFAULT) HAS_LANGUAGE_CZ_CZ( MINECRAFT_LANGUAGE_DEFAULT) HAS_LANGUAGE_EL_GR( MINECRAFT_LANGUAGE_DEFAULT) HAS_LANGUAGE_TR_TR( MINECRAFT_LANGUAGE_DEFAULT)};