#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 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) };