mirror of
https://gitlab.com/GaryOderNichts/re3-wiiu.git
synced 2024-11-27 11:34:14 +01:00
Merge pull request #1026 from Sergeanur/VC/ControllerMenu
Controller menu
This commit is contained in:
commit
9d8e32d9b2
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
gamefiles/models/frontend_ds2.txd
Normal file
BIN
gamefiles/models/frontend_ds2.txd
Normal file
Binary file not shown.
BIN
gamefiles/models/frontend_ds3.txd
Normal file
BIN
gamefiles/models/frontend_ds3.txd
Normal file
Binary file not shown.
BIN
gamefiles/models/frontend_ds4.txd
Normal file
BIN
gamefiles/models/frontend_ds4.txd
Normal file
Binary file not shown.
BIN
gamefiles/models/frontend_x360.txd
Normal file
BIN
gamefiles/models/frontend_x360.txd
Normal file
Binary file not shown.
BIN
gamefiles/models/frontend_xone.txd
Normal file
BIN
gamefiles/models/frontend_xone.txd
Normal file
Binary file not shown.
BIN
gamefiles/models/ps3btns.txd
Normal file
BIN
gamefiles/models/ps3btns.txd
Normal file
Binary file not shown.
Binary file not shown.
@ -2421,7 +2421,7 @@ int32 CControllerConfigManager::GetNumOfSettingsForAction(e_ControllerAction act
|
|||||||
#define VFB(b)
|
#define VFB(b)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define CONTROLLER_BUTTONS(T, O, X, Q, L1, L2, L3, R1, R2, R3, SELECT, RSL, RSR) \
|
#define CONTROLLER_BUTTONS(T, O, X, Q, L1, L2, L3, R1, R2, R3, SELECT, RSU, RSD, RSL, RSR) \
|
||||||
{{ \
|
{{ \
|
||||||
O, /* PED_FIREWEAPON */ \
|
O, /* PED_FIREWEAPON */ \
|
||||||
R2, /* PED_CYCLE_WEAPON_RIGHT */ \
|
R2, /* PED_CYCLE_WEAPON_RIGHT */ \
|
||||||
@ -2532,7 +2532,7 @@ int32 CControllerConfigManager::GetNumOfSettingsForAction(e_ControllerAction act
|
|||||||
O, /* PED_SPRINT */ \
|
O, /* PED_SPRINT */ \
|
||||||
R3, /* PED_LOOKBEHIND */ \
|
R3, /* PED_LOOKBEHIND */ \
|
||||||
L3, /* PED_DUCK */ \
|
L3, /* PED_DUCK */ \
|
||||||
L1, /* PED_ANSWER_PHONE */ \
|
T, /* PED_ANSWER_PHONE */ \
|
||||||
VFB(O) /* VEHICLE_FIREWEAPON */ \
|
VFB(O) /* VEHICLE_FIREWEAPON */ \
|
||||||
X, /* VEHICLE_ACCELERATE */ \
|
X, /* VEHICLE_ACCELERATE */ \
|
||||||
Q, /* VEHICLE_BRAKE */ \
|
Q, /* VEHICLE_BRAKE */ \
|
||||||
@ -2579,10 +2579,10 @@ int32 CControllerConfigManager::GetNumOfSettingsForAction(e_ControllerAction act
|
|||||||
X, /* PED_SPRINT */ \
|
X, /* PED_SPRINT */ \
|
||||||
R3, /* PED_LOOKBEHIND */ \
|
R3, /* PED_LOOKBEHIND */ \
|
||||||
L3, /* PED_DUCK */ \
|
L3, /* PED_DUCK */ \
|
||||||
L1, /* PED_ANSWER_PHONE */ \
|
O, /* PED_ANSWER_PHONE */ \
|
||||||
VFB(R1) /* VEHICLE_FIREWEAPON */ \
|
VFB(R1) /* VEHICLE_FIREWEAPON */ \
|
||||||
nil, /* VEHICLE_ACCELERATE */ \
|
RSU, /* VEHICLE_ACCELERATE */ \
|
||||||
nil, /* VEHICLE_BRAKE */ \
|
RSD, /* VEHICLE_BRAKE */ \
|
||||||
O, /* VEHICLE_CHANGE_RADIO_STATION */ \
|
O, /* VEHICLE_CHANGE_RADIO_STATION */ \
|
||||||
L3, /* VEHICLE_HORN */ \
|
L3, /* VEHICLE_HORN */ \
|
||||||
Q, /* TOGGLE_SUBMISSIONS */ \
|
Q, /* TOGGLE_SUBMISSIONS */ \
|
||||||
@ -2623,10 +2623,10 @@ int32 CControllerConfigManager::GetNumOfSettingsForAction(e_ControllerAction act
|
|||||||
#define RIGHT "RIGHT"
|
#define RIGHT "RIGHT"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const char *XboxButtons_noIcons[][MAX_CONTROLLERACTIONS] = CONTROLLER_BUTTONS("Y", "B", "A", "X", "LB", "LT", "LS", "RB", "RT", "RS", "BACK", "right stick left", "right stick right");
|
const char *XboxButtons_noIcons[][MAX_CONTROLLERACTIONS] = CONTROLLER_BUTTONS("Y", "B", "A", "X", "LB", "LT", "LS", "RB", "RT", "RS", "BACK", "right stick up", "right stick down", "right stick left", "right stick right");
|
||||||
|
|
||||||
#ifdef BUTTON_ICONS
|
#ifdef BUTTON_ICONS
|
||||||
const char *XboxButtons[][MAX_CONTROLLERACTIONS] = CONTROLLER_BUTTONS("~T~", "~O~", "~X~", "~Q~", "~K~", "~M~", "~A~", "~J~", "~V~", "~C~", "BACK", "~(~", "~)~");
|
const char *XboxButtons[][MAX_CONTROLLERACTIONS] = CONTROLLER_BUTTONS("~T~", "~O~", "~X~", "~Q~", "~K~", "~M~", "~A~", "~J~", "~V~", "~C~", "BACK", "~H~", "~L~", "~(~", "~)~");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
@ -2635,11 +2635,6 @@ const char *XboxButtons[][MAX_CONTROLLERACTIONS] = CONTROLLER_BUTTONS("~T~", "~O
|
|||||||
#define PS2_CIRCLE "|"
|
#define PS2_CIRCLE "|"
|
||||||
#define PS2_CROSS "/"
|
#define PS2_CROSS "/"
|
||||||
#define PS2_SQUARE "^"
|
#define PS2_SQUARE "^"
|
||||||
#elif defined(BUTTON_ICONS)
|
|
||||||
#define PS2_TRIANGLE "~T~"
|
|
||||||
#define PS2_CIRCLE "~O~"
|
|
||||||
#define PS2_CROSS "~X~"
|
|
||||||
#define PS2_SQUARE "~Q~"
|
|
||||||
#else
|
#else
|
||||||
#define PS2_TRIANGLE "TRIANGLE"
|
#define PS2_TRIANGLE "TRIANGLE"
|
||||||
#define PS2_CIRCLE "CIRCLE"
|
#define PS2_CIRCLE "CIRCLE"
|
||||||
@ -2648,11 +2643,11 @@ const char *XboxButtons[][MAX_CONTROLLERACTIONS] = CONTROLLER_BUTTONS("~T~", "~O
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
const char *PlayStationButtons_noIcons[][MAX_CONTROLLERACTIONS] =
|
const char *PlayStationButtons_noIcons[][MAX_CONTROLLERACTIONS] =
|
||||||
CONTROLLER_BUTTONS(PS2_TRIANGLE, PS2_CIRCLE, PS2_CROSS, PS2_SQUARE, "L1", "L2", "L3", "R1", "R2", "R3", "SELECT", "right stick left", "right stick right");
|
CONTROLLER_BUTTONS(PS2_TRIANGLE, PS2_CIRCLE, PS2_CROSS, PS2_SQUARE, "L1", "L2", "L3", "R1", "R2", "R3", "SELECT", "right stick up", "right stick down", "right stick left", "right stick right");
|
||||||
|
|
||||||
#ifdef BUTTON_ICONS
|
#ifdef BUTTON_ICONS
|
||||||
const char *PlayStationButtons[][MAX_CONTROLLERACTIONS] =
|
const char *PlayStationButtons[][MAX_CONTROLLERACTIONS] =
|
||||||
CONTROLLER_BUTTONS(PS2_TRIANGLE, PS2_CIRCLE, PS2_CROSS, PS2_SQUARE, "~K~", "~M~", "~A~", "~J~", "~V~", "~C~", "SELECT", "~(~", "~)~");
|
CONTROLLER_BUTTONS("~T~", "~O~", "~X~", "~Q~", "~K~", "~M~", "~A~", "~J~", "~V~", "~C~", "SELECT", "~H~", "~L~", "~(~", "~)~");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#undef PS2_TRIANGLE
|
#undef PS2_TRIANGLE
|
||||||
@ -2674,11 +2669,36 @@ void CControllerConfigManager::GetWideStringOfCommandKeys(uint16 action, wchar *
|
|||||||
if (CPad::GetPad(0)->IsAffectedByController) {
|
if (CPad::GetPad(0)->IsAffectedByController) {
|
||||||
wchar wstr[16];
|
wchar wstr[16];
|
||||||
|
|
||||||
// TODO: INI and/or menu setting for Xbox/PS switch
|
const char* (*Buttons)[MAX_CONTROLLERACTIONS];
|
||||||
|
|
||||||
#ifdef BUTTON_ICONS
|
#ifdef BUTTON_ICONS
|
||||||
const char *(*Buttons)[MAX_CONTROLLERACTIONS] = CFont::ButtonsSlot != -1 ? XboxButtons : XboxButtons_noIcons;
|
#ifdef GAMEPAD_MENU
|
||||||
|
switch (FrontEndMenuManager.m_PrefsControllerType)
|
||||||
|
{
|
||||||
|
case CMenuManager::CONTROLLER_DUALSHOCK2:
|
||||||
|
case CMenuManager::CONTROLLER_DUALSHOCK3:
|
||||||
|
case CMenuManager::CONTROLLER_DUALSHOCK4:
|
||||||
|
Buttons = CFont::ButtonsSlot != -1 ? PlayStationButtons : PlayStationButtons_noIcons;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
#endif
|
||||||
|
Buttons = CFont::ButtonsSlot != -1 ? XboxButtons : XboxButtons_noIcons;
|
||||||
|
#ifdef GAMEPAD_MENU
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
#else
|
#else
|
||||||
const char *(*Buttons)[MAX_CONTROLLERACTIONS] = XboxButtons_noIcons;
|
switch (FrontEndMenuManager.m_PrefsControllerType)
|
||||||
|
{
|
||||||
|
case CMenuManager::CONTROLLER_DUALSHOCK2:
|
||||||
|
case CMenuManager::CONTROLLER_DUALSHOCK3:
|
||||||
|
case CMenuManager::CONTROLLER_DUALSHOCK4:
|
||||||
|
Buttons = PlayStationButtons_noIcons;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
Buttons = XboxButtons_noIcons;
|
||||||
|
break;
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
assert(Buttons[CPad::GetPad(0)->Mode][action] != nil); // we cannot use these
|
assert(Buttons[CPad::GetPad(0)->Mode][action] != nil); // we cannot use these
|
||||||
|
@ -125,6 +125,10 @@ bool CMenuManager::m_PrefsMarketing = false;
|
|||||||
bool CMenuManager::m_PrefsDisableTutorials = false;
|
bool CMenuManager::m_PrefsDisableTutorials = false;
|
||||||
#endif // !MASTER
|
#endif // !MASTER
|
||||||
|
|
||||||
|
#ifdef GAMEPAD_MENU
|
||||||
|
uint32 TimeToStopPadShaking;
|
||||||
|
#endif
|
||||||
|
|
||||||
const char* FrontendFilenames[][2] = {
|
const char* FrontendFilenames[][2] = {
|
||||||
{"background", ""},
|
{"background", ""},
|
||||||
{"vc_logo", "vc_logom"},
|
{"vc_logo", "vc_logom"},
|
||||||
@ -151,7 +155,14 @@ const char* FrontendFilenames[][2] = {
|
|||||||
{"downOff", "buttonA"},
|
{"downOff", "buttonA"},
|
||||||
{"downOn", "buttonA"},
|
{"downOn", "buttonA"},
|
||||||
{"upOff", "buttonA"},
|
{"upOff", "buttonA"},
|
||||||
{"upOn", "buttonA"}
|
{"upOn", "buttonA"},
|
||||||
|
#ifdef GAMEPAD_MENU
|
||||||
|
{"fe_controller", "" },
|
||||||
|
{"fe_arrows1", "" },
|
||||||
|
{"fe_arrows2", "" },
|
||||||
|
{"fe_arrows3", "" },
|
||||||
|
{"fe_arrows4", "" },
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
#define MENU_X_RIGHT_ALIGNED(x) SCALE_AND_CENTER_X(DEFAULT_SCREEN_WIDTH - (x))
|
#define MENU_X_RIGHT_ALIGNED(x) SCALE_AND_CENTER_X(DEFAULT_SCREEN_WIDTH - (x))
|
||||||
@ -526,6 +537,10 @@ CMenuManager::CMenuManager()
|
|||||||
#ifdef NO_ISLAND_LOADING
|
#ifdef NO_ISLAND_LOADING
|
||||||
m_PrefsIslandLoading = ISLAND_LOADING_LOW;
|
m_PrefsIslandLoading = ISLAND_LOADING_LOW;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef GAMEPAD_MENU
|
||||||
|
m_PrefsControllerType = CONTROLLER_XBOXONE;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -1074,7 +1089,7 @@ CMenuManager::DrawStandardMenus(bool activeScreen)
|
|||||||
}
|
}
|
||||||
|
|
||||||
switch (aScreens[m_nCurrScreen].m_aEntries[i].m_Action) {
|
switch (aScreens[m_nCurrScreen].m_aEntries[i].m_Action) {
|
||||||
#ifdef LEGACY_MENU_OPTIONS
|
#ifdef GAMEPAD_MENU
|
||||||
case MENUACTION_CTRLVIBRATION:
|
case MENUACTION_CTRLVIBRATION:
|
||||||
if (m_PrefsUseVibration)
|
if (m_PrefsUseVibration)
|
||||||
rightText = TheText.Get("FEM_ON");
|
rightText = TheText.Get("FEM_ON");
|
||||||
@ -1539,6 +1554,11 @@ CMenuManager::DrawStandardMenus(bool activeScreen)
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
switch (m_nCurrScreen) {
|
switch (m_nCurrScreen) {
|
||||||
|
#ifdef GAMEPAD_MENU
|
||||||
|
case MENUPAGE_CONTROLLER_SETTINGS:
|
||||||
|
PrintController();
|
||||||
|
break;
|
||||||
|
#endif
|
||||||
case MENUPAGE_STATS:
|
case MENUPAGE_STATS:
|
||||||
case MENUPAGE_CONTROLLER_PC:
|
case MENUPAGE_CONTROLLER_PC:
|
||||||
case MENUPAGE_SOUND_SETTINGS:
|
case MENUPAGE_SOUND_SETTINGS:
|
||||||
@ -2948,12 +2968,19 @@ CMenuManager::LoadAllTextures()
|
|||||||
CTxdStore::AddRef(frontendTxdSlot2);
|
CTxdStore::AddRef(frontendTxdSlot2);
|
||||||
CTxdStore::SetCurrentTxd(frontendTxdSlot2);
|
CTxdStore::SetCurrentTxd(frontendTxdSlot2);
|
||||||
|
|
||||||
|
#ifdef GAMEPAD_MENU
|
||||||
|
for (int i = 3; i < MENUSPRITE_CONTROLLER; i++) {
|
||||||
|
#else
|
||||||
for (int i = 3; i < NUM_MENU_SPRITES; i++) {
|
for (int i = 3; i < NUM_MENU_SPRITES; i++) {
|
||||||
|
#endif
|
||||||
m_aFrontEndSprites[i].SetTexture(FrontendFilenames[i][0], FrontendFilenames[i][1]);
|
m_aFrontEndSprites[i].SetTexture(FrontendFilenames[i][0], FrontendFilenames[i][1]);
|
||||||
m_aFrontEndSprites[i].SetAddressing(rwTEXTUREADDRESSBORDER);
|
m_aFrontEndSprites[i].SetAddressing(rwTEXTUREADDRESSBORDER);
|
||||||
}
|
}
|
||||||
|
|
||||||
CTxdStore::PopCurrentTxd();
|
CTxdStore::PopCurrentTxd();
|
||||||
|
#ifdef GAMEPAD_MENU
|
||||||
|
LoadController(m_PrefsControllerType);
|
||||||
|
#endif
|
||||||
CStreaming::IHaveUsedStreamingMemory();
|
CStreaming::IHaveUsedStreamingMemory();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4896,6 +4923,16 @@ CMenuManager::ProcessUserInput(uint8 goDown, uint8 goUp, uint8 optionSelected, u
|
|||||||
|
|
||||||
if (changeAmount != 0) {
|
if (changeAmount != 0) {
|
||||||
switch (aScreens[m_nCurrScreen].m_aEntries[m_nCurrOption].m_Action) {
|
switch (aScreens[m_nCurrScreen].m_aEntries[m_nCurrOption].m_Action) {
|
||||||
|
#ifdef GAMEPAD_MENU
|
||||||
|
case MENUACTION_CTRLCONFIG:
|
||||||
|
CPad::GetPad(0)->Mode += changeAmount;
|
||||||
|
if (CPad::GetPad(0)->Mode > 3)
|
||||||
|
CPad::GetPad(0)->Mode = 0;
|
||||||
|
else if (CPad::GetPad(0)->Mode < 0)
|
||||||
|
CPad::GetPad(0)->Mode = 3;
|
||||||
|
SaveSettings();
|
||||||
|
break;
|
||||||
|
#endif
|
||||||
case MENUACTION_RADIO:
|
case MENUACTION_RADIO:
|
||||||
ChangeRadioStation(changeAmount);
|
ChangeRadioStation(changeAmount);
|
||||||
break;
|
break;
|
||||||
@ -5037,14 +5074,14 @@ void
|
|||||||
CMenuManager::ProcessOnOffMenuOptions()
|
CMenuManager::ProcessOnOffMenuOptions()
|
||||||
{
|
{
|
||||||
switch (aScreens[m_nCurrScreen].m_aEntries[m_nCurrOption].m_Action) {
|
switch (aScreens[m_nCurrScreen].m_aEntries[m_nCurrOption].m_Action) {
|
||||||
#ifdef LEGACY_MENU_OPTIONS
|
#ifdef GAMEPAD_MENU
|
||||||
case MENUACTION_CTRLVIBRATION:
|
case MENUACTION_CTRLVIBRATION:
|
||||||
m_PrefsUseVibration = !m_PrefsUseVibration;
|
m_PrefsUseVibration = !m_PrefsUseVibration;
|
||||||
break;
|
if (m_PrefsUseVibration) {
|
||||||
case MENUACTION_CTRLCONFIG:
|
CPad::GetPad(0)->StartShake(350, 150);
|
||||||
CPad::GetPad(0)->Mode++;
|
TimeToStopPadShaking = CTimer::GetTimeInMillisecondsPauseMode() + 500;
|
||||||
if (CPad::GetPad(0)->Mode > 3)
|
}
|
||||||
CPad::GetPad(0)->Mode = 0;
|
SaveSettings();
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
case MENUACTION_INVERTPADY:
|
case MENUACTION_INVERTPADY:
|
||||||
@ -5510,6 +5547,14 @@ CMenuManager::SwitchMenuOnAndOff()
|
|||||||
|
|
||||||
m_bStartUpFrontEndRequested = false;
|
m_bStartUpFrontEndRequested = false;
|
||||||
m_bShutDownFrontEndRequested = false;
|
m_bShutDownFrontEndRequested = false;
|
||||||
|
|
||||||
|
#ifdef GAMEPAD_MENU
|
||||||
|
// Reset pad shaking.
|
||||||
|
if (TimeToStopPadShaking && TimeToStopPadShaking < CTimer::GetTimeInMillisecondsPauseMode()) {
|
||||||
|
CPad::StopPadsShaking();
|
||||||
|
TimeToStopPadShaking = 0;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -5534,6 +5579,13 @@ CMenuManager::UnloadTextures()
|
|||||||
m_aFrontEndSprites[i].Delete();
|
m_aFrontEndSprites[i].Delete();
|
||||||
|
|
||||||
CTxdStore::RemoveTxd(frontend2);
|
CTxdStore::RemoveTxd(frontend2);
|
||||||
|
|
||||||
|
#ifdef GAMEPAD_MENU
|
||||||
|
// Unload controller txd
|
||||||
|
int frontend_controller = CTxdStore::FindTxdSlot("frontend_controller");
|
||||||
|
if (frontend_controller != -1)
|
||||||
|
CTxdStore::RemoveTxd(frontend_controller);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
m_bSpritesLoaded = false;
|
m_bSpritesLoaded = false;
|
||||||
@ -5781,5 +5833,753 @@ uint8 CMenuManager::GetNumberOfMenuOptions()
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef GAMEPAD_MENU
|
||||||
|
const char* controllerTypesPaths[] = {
|
||||||
|
"MODELS/FRONTEND_DS2.TXD",
|
||||||
|
"MODELS/FRONTEND_DS3.TXD",
|
||||||
|
"MODELS/FRONTEND_DS4.TXD",
|
||||||
|
"MODELS/FRONTEND_X360.TXD",
|
||||||
|
"MODELS/FRONTEND_XONE.TXD",
|
||||||
|
};
|
||||||
|
|
||||||
|
void
|
||||||
|
CMenuManager::PrintController(void)
|
||||||
|
{
|
||||||
|
// Don't print anything if controller texture is missing
|
||||||
|
if (!m_aFrontEndSprites[MENUSPRITE_CONTROLLER].m_pTexture) return;
|
||||||
|
|
||||||
|
const float scale = 0.9f;
|
||||||
|
const float CONTROLLER_SIZE_X = 235.2f;
|
||||||
|
const float CONTROLLER_SIZE_Y = 175.2f;
|
||||||
|
const float CONTROLLER_POS_X = (DEFAULT_SCREEN_WIDTH - CONTROLLER_SIZE_X) / 2.0f;
|
||||||
|
const float CONTROLLER_POS_Y = 220.0f;
|
||||||
|
|
||||||
|
float centerX = CONTROLLER_POS_X + CONTROLLER_SIZE_X / 2;
|
||||||
|
float centerY = CONTROLLER_POS_Y + CONTROLLER_SIZE_Y / 2;
|
||||||
|
|
||||||
|
#define X(f) ((f)*scale + centerX)
|
||||||
|
#define Y(f) ((f)*scale + centerY)
|
||||||
|
|
||||||
|
m_aFrontEndSprites[MENUSPRITE_CONTROLLER].Draw(MENU_X_LEFT_ALIGNED(X(-CONTROLLER_SIZE_X / 2)), MENU_Y(Y(-CONTROLLER_SIZE_Y / 2)), MENU_X(CONTROLLER_SIZE_X * scale), MENU_Y(CONTROLLER_SIZE_Y * scale), CRGBA(255, 255, 255, FadeIn(255)));
|
||||||
|
if (m_DisplayControllerOnFoot) {
|
||||||
|
if ((int)CTimer::GetTimeInMillisecondsPauseMode() & 0x400)
|
||||||
|
m_aFrontEndSprites[MENUSPRITE_ARROWS1].Draw(MENU_X_LEFT_ALIGNED(X(-CONTROLLER_SIZE_X / 2)), MENU_Y(Y(-CONTROLLER_SIZE_Y / 2)), MENU_X(CONTROLLER_SIZE_X * scale), MENU_Y(CONTROLLER_SIZE_Y * scale), CRGBA(255, 255, 255, FadeIn(255)));
|
||||||
|
else
|
||||||
|
m_aFrontEndSprites[MENUSPRITE_ARROWS3].Draw(MENU_X_LEFT_ALIGNED(X(-CONTROLLER_SIZE_X / 2)), MENU_Y(Y(-CONTROLLER_SIZE_Y / 2)), MENU_X(CONTROLLER_SIZE_X * scale), MENU_Y(CONTROLLER_SIZE_Y * scale), CRGBA(255, 255, 255, FadeIn(255)));
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if ((int)CTimer::GetTimeInMillisecondsPauseMode() & 0x400)
|
||||||
|
m_aFrontEndSprites[MENUSPRITE_ARROWS2].Draw(MENU_X_LEFT_ALIGNED(X(-CONTROLLER_SIZE_X / 2)), MENU_Y(Y(-CONTROLLER_SIZE_Y / 2)), MENU_X(CONTROLLER_SIZE_X * scale), MENU_Y(CONTROLLER_SIZE_Y * scale), CRGBA(255, 255, 255, FadeIn(255)));
|
||||||
|
else
|
||||||
|
m_aFrontEndSprites[MENUSPRITE_ARROWS4].Draw(MENU_X_LEFT_ALIGNED(X(-CONTROLLER_SIZE_X / 2)), MENU_Y(Y(-CONTROLLER_SIZE_Y / 2)), MENU_X(CONTROLLER_SIZE_X * scale), MENU_Y(CONTROLLER_SIZE_Y * scale), CRGBA(255, 255, 255, FadeIn(255)));
|
||||||
|
}
|
||||||
|
|
||||||
|
CFont::SetFontStyle(FONT_LOCALE(FONT_STANDARD));
|
||||||
|
|
||||||
|
CFont::SetScale(MENU_X(SMALLESTTEXT_X_SCALE * 2 * scale * 0.9f), MENU_Y(SMALLESTTEXT_Y_SCALE * scale * 0.9f)); // X
|
||||||
|
|
||||||
|
CFont::SetDropColor(CRGBA(0, 0, 0, FadeIn(255)));
|
||||||
|
CFont::SetDropShadowPosition(0);
|
||||||
|
CFont::SetColor(CRGBA(0, 0, 0, FadeIn(255)));
|
||||||
|
CFont::SetWrapx(SCREEN_WIDTH);
|
||||||
|
|
||||||
|
float TEXT_L2_X = 85.0f + CONTROLLER_POS_X - centerX, TEXT_L2_Y = -14.0f + CONTROLLER_POS_Y - centerY;
|
||||||
|
float TEXT_L1_X = -4.0f + CONTROLLER_POS_X - centerX, TEXT_L1_Y = 27.0f + CONTROLLER_POS_Y - centerY, TEXT_L1_Y_VEH = 3.0f + TEXT_L1_Y;
|
||||||
|
float TEXT_DPAD_X = -4.0f + CONTROLLER_POS_X - centerX, TEXT_DPAD_Y = 67.0f + CONTROLLER_POS_Y - centerY;
|
||||||
|
float TEXT_LSTICK_X = -4.0f + CONTROLLER_POS_X - centerX, TEXT_LSTICK_Y = 97.0f + CONTROLLER_POS_Y - centerY;
|
||||||
|
float TEXT_SELECT_X = 170.0f + CONTROLLER_POS_X - centerX, TEXT_SELECT_Y = 141.0f + CONTROLLER_POS_Y - centerY;
|
||||||
|
float TEXT_START_X = 130.0f + CONTROLLER_POS_X - centerX, TEXT_START_Y = 128.0f + CONTROLLER_POS_Y - centerY;
|
||||||
|
float TEXT_R2_X = 164.0f + CONTROLLER_POS_X - centerX, TEXT_R2_Y = -14.0f + CONTROLLER_POS_Y - centerY;
|
||||||
|
float TEXT_R1_X = 242.0f + CONTROLLER_POS_X - centerX, TEXT_R1_Y = 27.0f + CONTROLLER_POS_Y - centerY;
|
||||||
|
|
||||||
|
float TEXT_SQUARE_X = 147.0f + CONTROLLER_POS_X - centerX, TEXT_SQUARE_Y = 30.0f + CONTROLLER_POS_Y - centerY;
|
||||||
|
float TEXT_TRIANGLE_X = 242.0f + CONTROLLER_POS_X - centerX, TEXT_TRIANGLE_Y = 55.0f + CONTROLLER_POS_Y - centerY;
|
||||||
|
float TEXT_CIRCLE_X = 242.0f + CONTROLLER_POS_X - centerX, TEXT_CIRCLE_Y = 67.0f + CONTROLLER_POS_Y - centerY;
|
||||||
|
float TEXT_CROSS_X = 242.0f + CONTROLLER_POS_X - centerX, TEXT_CROSS_Y = 80.0f + CONTROLLER_POS_Y - centerY;
|
||||||
|
float TEXT_RSTICK_X = 242.0f + CONTROLLER_POS_X - centerX, TEXT_RSTICK_Y = 97.0f + CONTROLLER_POS_Y - centerY;
|
||||||
|
float TEXT_R3_X = 242.0f + CONTROLLER_POS_X - centerX, TEXT_R3_Y = 110.0f + CONTROLLER_POS_Y - centerY;
|
||||||
|
float TEXT_L3_X = 94.0f + CONTROLLER_POS_X - centerX, TEXT_L3_Y = 162.0f + CONTROLLER_POS_Y - centerY;
|
||||||
|
float TEXT_L2R2_X = 120.0f + CONTROLLER_POS_X - centerX, TEXT_L2R2_Y = -4.0f + CONTROLLER_POS_Y - centerY;
|
||||||
|
|
||||||
|
switch (m_PrefsControllerType)
|
||||||
|
{
|
||||||
|
case CONTROLLER_DUALSHOCK4:
|
||||||
|
TEXT_L1_Y += 7.0f;
|
||||||
|
TEXT_L1_Y_VEH = TEXT_L1_Y;
|
||||||
|
TEXT_R1_Y += 7.0f;
|
||||||
|
TEXT_TRIANGLE_Y -= 1.0f;
|
||||||
|
TEXT_CIRCLE_Y -= 1.0f;
|
||||||
|
TEXT_CROSS_Y -= 1.0f;
|
||||||
|
TEXT_RSTICK_Y -= 4.0f;
|
||||||
|
TEXT_R3_Y -= 4.0f;
|
||||||
|
TEXT_DPAD_Y -= 2.0f;
|
||||||
|
TEXT_LSTICK_Y -= 6.0f;
|
||||||
|
TEXT_L3_X -= 2.0f;
|
||||||
|
break;
|
||||||
|
case CONTROLLER_XBOXONE:
|
||||||
|
TEXT_L2_X -= 2.0f;
|
||||||
|
TEXT_R2_X += 2.0f;
|
||||||
|
TEXT_L1_Y += 15.0f;
|
||||||
|
TEXT_L1_Y_VEH = TEXT_L1_Y;
|
||||||
|
TEXT_R1_Y += 15.0f;
|
||||||
|
TEXT_TRIANGLE_Y += 4.0f;
|
||||||
|
TEXT_CIRCLE_Y += 4.0f;
|
||||||
|
TEXT_CROSS_Y += 4.0f;
|
||||||
|
TEXT_RSTICK_Y += 1.0f;
|
||||||
|
TEXT_R3_Y += 1.0f;
|
||||||
|
TEXT_DPAD_Y += 29.0f;
|
||||||
|
TEXT_LSTICK_Y -= 20.0f;
|
||||||
|
TEXT_L3_X -= 36.0f;
|
||||||
|
TEXT_L2R2_Y += 5.0f;
|
||||||
|
TEXT_SELECT_X += 4.0f;
|
||||||
|
break;
|
||||||
|
case CONTROLLER_XBOX360:
|
||||||
|
TEXT_L2_X += 8.0f;
|
||||||
|
TEXT_R2_X -= 8.0f;
|
||||||
|
TEXT_L1_Y += 15.0f;
|
||||||
|
TEXT_L1_Y_VEH = TEXT_L1_Y;
|
||||||
|
TEXT_R1_Y += 15.0f;
|
||||||
|
TEXT_TRIANGLE_Y += 4.0f;
|
||||||
|
TEXT_CIRCLE_Y += 4.0f;
|
||||||
|
TEXT_CROSS_Y += 4.0f;
|
||||||
|
TEXT_RSTICK_Y += 4.0f;
|
||||||
|
TEXT_R3_Y += 4.0f;
|
||||||
|
TEXT_DPAD_Y += 30.0f;
|
||||||
|
TEXT_LSTICK_Y -= 19.0f;
|
||||||
|
TEXT_L3_X -= 36.0f;
|
||||||
|
TEXT_L2R2_Y += 5.0f;
|
||||||
|
TEXT_SELECT_X += 3.0f;
|
||||||
|
break;
|
||||||
|
};
|
||||||
|
|
||||||
|
if (m_DisplayControllerOnFoot) {
|
||||||
|
switch (CPad::GetPad(0)->Mode) {
|
||||||
|
case 0:
|
||||||
|
CFont::SetRightJustifyOn();
|
||||||
|
switch (m_PrefsLanguage)
|
||||||
|
{
|
||||||
|
case LANGUAGE_FRENCH:
|
||||||
|
case LANGUAGE_SPANISH:
|
||||||
|
TEXT_L2_X -= 45.0f;
|
||||||
|
CFont::SetRightJustifyWrap(MENU_X_LEFT_ALIGNED(X(TEXT_L1_X)) - SCREEN_SCALE_X(85));
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
CFont::SetRightJustifyWrap(0);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_L2_X)), MENU_Y(Y(TEXT_L2_Y)), TheText.Get("FEC_CWL"));
|
||||||
|
CFont::SetRightJustifyWrap(0);
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_L1_X)), MENU_Y(Y(TEXT_L1_Y)), TheText.Get("FEC_LOF"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_DPAD_X)), MENU_Y(Y(TEXT_DPAD_Y)), TheText.Get("FEC_MOV"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_LSTICK_X)), MENU_Y(Y(TEXT_LSTICK_Y)), TheText.Get("FEC_MOV"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_LSTICK_X)), MENU_Y(Y(TEXT_R3_Y)), TheText.Get("FEC_CR3"));
|
||||||
|
CFont::SetRightJustifyOn();
|
||||||
|
switch (m_PrefsLanguage)
|
||||||
|
{
|
||||||
|
case LANGUAGE_GERMAN:
|
||||||
|
TEXT_SELECT_X += 20.0f;
|
||||||
|
break;
|
||||||
|
case LANGUAGE_SPANISH:
|
||||||
|
TEXT_SELECT_X += 15.0f;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_SELECT_X)), MENU_Y(Y(TEXT_SELECT_Y)), TheText.Get("FEC_CAM"));
|
||||||
|
CFont::SetJustifyOn();
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_START_X)), MENU_Y(Y(TEXT_START_Y)), TheText.Get("FEC_PAU"));
|
||||||
|
switch (m_PrefsLanguage)
|
||||||
|
{
|
||||||
|
case LANGUAGE_FRENCH:
|
||||||
|
case LANGUAGE_SPANISH:
|
||||||
|
TEXT_R2_X += 30.0f;
|
||||||
|
CFont::SetJustifyOff();
|
||||||
|
CFont::SetWrapx(MENU_X_LEFT_ALIGNED(X(TEXT_R2_X)) + SCREEN_SCALE_X(120));
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_R2_X)), MENU_Y(Y(TEXT_R2_Y)), TheText.Get("FEC_CWR"));
|
||||||
|
CFont::SetJustifyOn();
|
||||||
|
CFont::SetWrapx(SCREEN_WIDTH);
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_R1_X)), MENU_Y(Y(TEXT_R1_Y)), TheText.Get("FEC_TAR"));
|
||||||
|
CFont::SetRightJustifyOn();
|
||||||
|
CFont::PrintStringFromBottom(MENU_X_LEFT_ALIGNED(X(TEXT_SQUARE_X)), MENU_Y(Y(TEXT_SQUARE_Y)), TheText.Get("FEC_JUM"));
|
||||||
|
CFont::SetJustifyOn();
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_TRIANGLE_X)), MENU_Y(Y(TEXT_TRIANGLE_Y)), TheText.Get("FEC_ENV"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_CIRCLE_X)), MENU_Y(Y(TEXT_CIRCLE_Y)), TheText.Get("FEC_ATT"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_CROSS_X)), MENU_Y(Y(TEXT_CROSS_Y)), TheText.Get("FEC_RUN"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_RSTICK_X)), MENU_Y(Y(TEXT_RSTICK_Y)), TheText.Get("FEC_FPC"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_R3_X)), MENU_Y(Y(TEXT_R3_Y)), TheText.Get("FEC_LB3"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_R3_X)), MENU_Y(Y(TEXT_R3_Y + 13.0f)), TheText.Get("FEC_R3"));
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
CFont::SetRightJustifyOn();
|
||||||
|
switch (m_PrefsLanguage)
|
||||||
|
{
|
||||||
|
case LANGUAGE_FRENCH:
|
||||||
|
case LANGUAGE_SPANISH:
|
||||||
|
TEXT_L2_X -= 45.0f;
|
||||||
|
CFont::SetRightJustifyWrap(MENU_X_LEFT_ALIGNED(X(TEXT_L1_X)) - SCREEN_SCALE_X(85));
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
CFont::SetRightJustifyWrap(0);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_L2_X)), MENU_Y(Y(TEXT_L2_Y)), TheText.Get("FEC_CWL"));
|
||||||
|
CFont::SetRightJustifyWrap(0);
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_L1_X)), MENU_Y(Y(TEXT_L1_Y)), TheText.Get("FEC_LOF"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_DPAD_X)), MENU_Y(Y(TEXT_DPAD_Y)), TheText.Get("FEC_CAM"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_LSTICK_X)), MENU_Y(Y(TEXT_LSTICK_Y)), TheText.Get("FEC_MOV"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_LSTICK_X)), MENU_Y(Y(TEXT_R3_Y)), TheText.Get("FEC_CR3"));
|
||||||
|
switch (m_PrefsLanguage)
|
||||||
|
{
|
||||||
|
case LANGUAGE_GERMAN:
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_SELECT_X)), MENU_Y(Y(TEXT_SELECT_Y)), TheText.Get("FEC_NA"));
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_SELECT_X - 50)), MENU_Y(Y(TEXT_SELECT_Y)), TheText.Get("FEC_NA"));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
CFont::SetJustifyOn();
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_START_X)), MENU_Y(Y(TEXT_START_Y)), TheText.Get("FEC_PAU"));
|
||||||
|
switch (m_PrefsLanguage)
|
||||||
|
{
|
||||||
|
case LANGUAGE_FRENCH:
|
||||||
|
case LANGUAGE_SPANISH:
|
||||||
|
TEXT_R2_X += 30.0f;
|
||||||
|
CFont::SetJustifyOff();
|
||||||
|
CFont::SetWrapx(MENU_X_LEFT_ALIGNED(X(TEXT_R2_X)) + SCREEN_SCALE_X(120));
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_R2_X)), MENU_Y(Y(TEXT_R2_Y)), TheText.Get("FEC_CWR"));
|
||||||
|
CFont::SetJustifyOn();
|
||||||
|
CFont::SetWrapx(SCREEN_WIDTH);
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_R1_X)), MENU_Y(Y(TEXT_R1_Y)), TheText.Get("FEC_TAR"));
|
||||||
|
CFont::SetRightJustifyOn();
|
||||||
|
CFont::PrintStringFromBottom(MENU_X_LEFT_ALIGNED(X(TEXT_SQUARE_X)), MENU_Y(Y(TEXT_SQUARE_Y)), TheText.Get("FEC_JUM"));
|
||||||
|
CFont::SetJustifyOn();
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_TRIANGLE_X)), MENU_Y(Y(TEXT_TRIANGLE_Y)), TheText.Get("FEC_ENV"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_CIRCLE_X)), MENU_Y(Y(TEXT_CIRCLE_Y)), TheText.Get("FEC_ATT"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_CROSS_X)), MENU_Y(Y(TEXT_CROSS_Y)), TheText.Get("FEC_RUN"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_RSTICK_X)), MENU_Y(Y(TEXT_RSTICK_Y)), TheText.Get("FEC_FPC"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_R3_X)), MENU_Y(Y(TEXT_R3_Y)), TheText.Get("FEC_LB3"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_R3_X)), MENU_Y(Y(TEXT_R3_Y + 13.0f)), TheText.Get("FEC_R3"));
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
CFont::SetRightJustifyOn();
|
||||||
|
switch (m_PrefsLanguage)
|
||||||
|
{
|
||||||
|
case LANGUAGE_FRENCH:
|
||||||
|
case LANGUAGE_SPANISH:
|
||||||
|
TEXT_L2_X -= 45.0f;
|
||||||
|
CFont::SetRightJustifyWrap(MENU_X_LEFT_ALIGNED(X(TEXT_L1_X)) - SCREEN_SCALE_X(85));
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
CFont::SetRightJustifyWrap(0);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_L2_X)), MENU_Y(Y(TEXT_L2_Y)), TheText.Get("FEC_CWL"));
|
||||||
|
CFont::SetRightJustifyWrap(0);
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_L1_X)), MENU_Y(Y(TEXT_L1_Y)), TheText.Get("FEC_ENV"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_DPAD_X)), MENU_Y(Y(TEXT_DPAD_Y)), TheText.Get("FEC_MOV"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_LSTICK_X)), MENU_Y(Y(TEXT_LSTICK_Y)), TheText.Get("FEC_MOV"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_LSTICK_X)), MENU_Y(Y(TEXT_R3_Y)), TheText.Get("FEC_CR3"));
|
||||||
|
CFont::SetRightJustifyOn();
|
||||||
|
switch (m_PrefsLanguage)
|
||||||
|
{
|
||||||
|
case LANGUAGE_GERMAN:
|
||||||
|
TEXT_SELECT_X += 20.0f;
|
||||||
|
break;
|
||||||
|
case LANGUAGE_SPANISH:
|
||||||
|
TEXT_SELECT_X += 15.0f;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_SELECT_X)), MENU_Y(Y(TEXT_SELECT_Y)), TheText.Get("FEC_CAM"));
|
||||||
|
CFont::SetJustifyOn();
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_START_X)), MENU_Y(Y(TEXT_START_Y)), TheText.Get("FEC_PAU"));
|
||||||
|
switch (m_PrefsLanguage)
|
||||||
|
{
|
||||||
|
case LANGUAGE_FRENCH:
|
||||||
|
case LANGUAGE_SPANISH:
|
||||||
|
TEXT_R2_X += 30.0f;
|
||||||
|
CFont::SetJustifyOff();
|
||||||
|
CFont::SetWrapx(MENU_X_LEFT_ALIGNED(X(TEXT_R2_X)) + SCREEN_SCALE_X(120));
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_R2_X)), MENU_Y(Y(TEXT_R2_Y)), TheText.Get("FEC_CWR"));
|
||||||
|
CFont::SetJustifyOn();
|
||||||
|
CFont::SetWrapx(SCREEN_WIDTH);
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_R1_X)), MENU_Y(Y(TEXT_R1_Y)), TheText.Get("FEC_TAR"));
|
||||||
|
CFont::SetRightJustifyOn();
|
||||||
|
CFont::PrintStringFromBottom(MENU_X_LEFT_ALIGNED(X(TEXT_SQUARE_X)), MENU_Y(Y(TEXT_SQUARE_Y)), TheText.Get("FEC_JUM"));
|
||||||
|
CFont::SetJustifyOn();
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_TRIANGLE_X)), MENU_Y(Y(TEXT_TRIANGLE_Y)), TheText.Get("FEC_LOF"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_CIRCLE_X)), MENU_Y(Y(TEXT_CIRCLE_Y)), TheText.Get("FEC_RUN"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_CROSS_X)), MENU_Y(Y(TEXT_CROSS_Y)), TheText.Get("FEC_ATT"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_RSTICK_X)), MENU_Y(Y(TEXT_RSTICK_Y)), TheText.Get("FEC_FPC"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_R3_X)), MENU_Y(Y(TEXT_R3_Y)), TheText.Get("FEC_LB3"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_R3_X)), MENU_Y(Y(TEXT_R3_Y + 13.0f)), TheText.Get("FEC_R3"));
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
CFont::SetRightJustifyOn();
|
||||||
|
switch (m_PrefsLanguage)
|
||||||
|
{
|
||||||
|
case LANGUAGE_FRENCH:
|
||||||
|
case LANGUAGE_SPANISH:
|
||||||
|
TEXT_L2_X -= 45.0f;
|
||||||
|
CFont::SetRightJustifyWrap(MENU_X_LEFT_ALIGNED(X(TEXT_L1_X)) - SCREEN_SCALE_X(85));
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
CFont::SetRightJustifyWrap(0);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_L2_X)), MENU_Y(Y(TEXT_L2_Y)), TheText.Get("FEC_CWL"));
|
||||||
|
CFont::SetRightJustifyWrap(0);
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_L1_X)), MENU_Y(Y(TEXT_L1_Y)), TheText.Get("FEC_TAR"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_DPAD_X)), MENU_Y(Y(TEXT_DPAD_Y)), TheText.Get("FEC_NA"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_LSTICK_X)), MENU_Y(Y(TEXT_LSTICK_Y)), TheText.Get("FEC_MOV"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_LSTICK_X)), MENU_Y(Y(TEXT_R3_Y)), TheText.Get("FEC_CR3"));
|
||||||
|
CFont::SetRightJustifyOn();
|
||||||
|
switch (m_PrefsLanguage)
|
||||||
|
{
|
||||||
|
case LANGUAGE_GERMAN:
|
||||||
|
TEXT_SELECT_X += 20.0f;
|
||||||
|
break;
|
||||||
|
case LANGUAGE_SPANISH:
|
||||||
|
TEXT_SELECT_X += 15.0f;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_SELECT_X)), MENU_Y(Y(TEXT_SELECT_Y)), TheText.Get("FEC_CAM"));
|
||||||
|
CFont::SetJustifyOn();
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_START_X)), MENU_Y(Y(TEXT_START_Y)), TheText.Get("FEC_PAU"));
|
||||||
|
switch (m_PrefsLanguage)
|
||||||
|
{
|
||||||
|
case LANGUAGE_FRENCH:
|
||||||
|
case LANGUAGE_SPANISH:
|
||||||
|
TEXT_R2_X += 30.0f;
|
||||||
|
CFont::SetJustifyOff();
|
||||||
|
CFont::SetWrapx(MENU_X_LEFT_ALIGNED(X(TEXT_R2_X)) + SCREEN_SCALE_X(120));
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_R2_X)), MENU_Y(Y(TEXT_R2_Y)), TheText.Get("FEC_CWR"));
|
||||||
|
CFont::SetJustifyOn();
|
||||||
|
CFont::SetWrapx(SCREEN_WIDTH);
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_R1_X)), MENU_Y(Y(TEXT_R1_Y)), TheText.Get("FEC_ATT"));
|
||||||
|
CFont::SetRightJustifyOn();
|
||||||
|
CFont::PrintStringFromBottom(MENU_X_LEFT_ALIGNED(X(TEXT_SQUARE_X)), MENU_Y(Y(TEXT_SQUARE_Y)), TheText.Get("FEC_JUM"));
|
||||||
|
CFont::SetJustifyOn();
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_TRIANGLE_X)), MENU_Y(Y(TEXT_TRIANGLE_Y)), TheText.Get("FEC_ENV"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_CIRCLE_X)), MENU_Y(Y(TEXT_CIRCLE_Y)), TheText.Get("FEC_LOF"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_CROSS_X)), MENU_Y(Y(TEXT_CROSS_Y)), TheText.Get("FEC_RUN"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_RSTICK_X)), MENU_Y(Y(TEXT_RSTICK_Y)), TheText.Get("FEC_FPC"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_R3_X)), MENU_Y(Y(TEXT_R3_Y)), TheText.Get("FEC_LB3"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_R3_X)), MENU_Y(Y(TEXT_R3_Y + 13.0f)), TheText.Get("FEC_R3"));
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
CFont::SetCentreOn();
|
||||||
|
switch (m_PrefsLanguage)
|
||||||
|
{
|
||||||
|
case LANGUAGE_ITALIAN:
|
||||||
|
if (m_PrefsControllerType != CONTROLLER_XBOX360)
|
||||||
|
break;
|
||||||
|
case LANGUAGE_FRENCH:
|
||||||
|
case LANGUAGE_GERMAN:
|
||||||
|
CFont::SetScale(MENU_X(SMALLESTTEXT_X_SCALE * 2 * scale * 0.65f), MENU_Y(SMALLESTTEXT_Y_SCALE * scale * 0.65f));
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(0.0f)), MENU_Y(Y(TEXT_L2R2_Y)), TheText.Get("FEC_LB"));
|
||||||
|
CFont::SetScale(MENU_X(SMALLESTTEXT_X_SCALE * 2 * scale * 0.9f), MENU_Y(SMALLESTTEXT_Y_SCALE* scale * 0.9f));
|
||||||
|
switch (CPad::GetPad(0)->Mode) {
|
||||||
|
case 0:
|
||||||
|
CFont::SetRightJustifyOn();
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_L2_X)), MENU_Y(Y(TEXT_L2_Y)), TheText.Get("FEC_LL"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_L1_X)), MENU_Y(Y(TEXT_L1_Y_VEH)), TheText.Get("FEC_RSC"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_DPAD_X)), MENU_Y(Y(TEXT_DPAD_Y)), TheText.Get("FEC_VES"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_LSTICK_X)), MENU_Y(Y(TEXT_LSTICK_Y)), TheText.Get("FEC_VES"));
|
||||||
|
CFont::SetRightJustifyOn();
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_L3_X)), MENU_Y(Y(TEXT_L3_Y)), TheText.Get("FEC_HO3"));
|
||||||
|
switch (m_PrefsLanguage)
|
||||||
|
{
|
||||||
|
case LANGUAGE_FRENCH:
|
||||||
|
TEXT_SELECT_X -= 5.0f;
|
||||||
|
break;
|
||||||
|
case LANGUAGE_GERMAN:
|
||||||
|
TEXT_SELECT_X += 20.0f;
|
||||||
|
break;
|
||||||
|
case LANGUAGE_SPANISH:
|
||||||
|
TEXT_SELECT_X += 15.0f;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
CFont::SetRightJustifyWrap(MENU_X_LEFT_ALIGNED(X(TEXT_SELECT_X)) - SCREEN_SCALE_X(80));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_SELECT_X)), MENU_Y(Y(TEXT_SELECT_Y)), TheText.Get("FEC_CAM"));
|
||||||
|
CFont::SetJustifyOn();
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_START_X)), MENU_Y(Y(TEXT_START_Y)), TheText.Get("FEC_PAU"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_R2_X)), MENU_Y(Y(TEXT_R2_Y)), TheText.Get("FEC_LR"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_R1_X)), MENU_Y(Y(TEXT_R1_Y)), TheText.Get("FEC_HAB"));
|
||||||
|
CFont::SetJustifyOn();
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_TRIANGLE_X)), MENU_Y(Y(TEXT_TRIANGLE_Y)), TheText.Get("FEC_EXV"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_CIRCLE_X)), MENU_Y(Y(TEXT_CIRCLE_Y)), TheText.Get("FEC_CAW"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_CROSS_X)), MENU_Y(Y(TEXT_CROSS_Y)), TheText.Get("FEC_ACC"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_RSTICK_X)), MENU_Y(Y(TEXT_RSTICK_Y)), TheText.Get("FEC_TUC"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_R3_X)), MENU_Y(Y(TEXT_R3_Y)), TheText.Get("FEC_SM3"));
|
||||||
|
CFont::SetRightJustifyOn();
|
||||||
|
switch (m_PrefsControllerType)
|
||||||
|
{
|
||||||
|
case CONTROLLER_XBOXONE:
|
||||||
|
case CONTROLLER_XBOX360:
|
||||||
|
CFont::SetScale(MENU_X(SMALLESTTEXT_X_SCALE * 2 * scale * 0.65f), MENU_Y(SMALLESTTEXT_Y_SCALE * scale * 0.65f));
|
||||||
|
switch (m_PrefsLanguage)
|
||||||
|
{
|
||||||
|
case LANGUAGE_FRENCH:
|
||||||
|
TEXT_SQUARE_X += 3.0f;
|
||||||
|
CFont::SetRightJustifyWrap(MENU_X_LEFT_ALIGNED(X(TEXT_SQUARE_X)) - SCREEN_SCALE_X(90));
|
||||||
|
break;
|
||||||
|
case LANGUAGE_GERMAN:
|
||||||
|
case LANGUAGE_SPANISH:
|
||||||
|
TEXT_SQUARE_X += 18.0f;
|
||||||
|
CFont::SetRightJustifyWrap(MENU_X_LEFT_ALIGNED(X(TEXT_SQUARE_X)) - SCREEN_SCALE_X(90));
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
CFont::SetRightJustifyWrap(MENU_X_LEFT_ALIGNED(X(TEXT_SQUARE_X)) - SCREEN_SCALE_X(60));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
switch (m_PrefsLanguage)
|
||||||
|
{
|
||||||
|
case LANGUAGE_FRENCH:
|
||||||
|
TEXT_SQUARE_X -= 15.0f;
|
||||||
|
TEXT_SQUARE_Y += 5.0f;
|
||||||
|
CFont::SetScale(MENU_X(SMALLESTTEXT_X_SCALE * 2 * scale * 0.65f), MENU_Y(SMALLESTTEXT_Y_SCALE * scale * 0.65f));
|
||||||
|
CFont::SetRightJustifyWrap(MENU_X_LEFT_ALIGNED(X(TEXT_SQUARE_X)) - SCREEN_SCALE_X(60));
|
||||||
|
break;
|
||||||
|
case LANGUAGE_GERMAN:
|
||||||
|
TEXT_SQUARE_X -= 15.0f;
|
||||||
|
TEXT_SQUARE_Y += 10.0f;
|
||||||
|
CFont::SetScale(MENU_X(SMALLESTTEXT_X_SCALE * 2 * scale * 0.65f), MENU_Y(SMALLESTTEXT_Y_SCALE* scale * 0.65f));
|
||||||
|
CFont::SetRightJustifyWrap(MENU_X_LEFT_ALIGNED(X(TEXT_SQUARE_X)) - SCREEN_SCALE_X(60));
|
||||||
|
break;
|
||||||
|
case LANGUAGE_SPANISH:
|
||||||
|
TEXT_SQUARE_X += 15.0f;
|
||||||
|
case LANGUAGE_ITALIAN:
|
||||||
|
CFont::SetScale(MENU_X(SMALLESTTEXT_X_SCALE * 2 * scale * 0.65f), MENU_Y(SMALLESTTEXT_Y_SCALE * scale * 0.65f));
|
||||||
|
default:
|
||||||
|
CFont::SetRightJustifyWrap(MENU_X_LEFT_ALIGNED(X(TEXT_SQUARE_X)) - SCREEN_SCALE_X(100));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
CFont::PrintStringFromBottom(MENU_X_LEFT_ALIGNED(X(TEXT_SQUARE_X)), MENU_Y(Y(TEXT_SQUARE_Y)), TheText.Get("FEC_BRA"));
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
CFont::SetRightJustifyOn();
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_L2_X)), MENU_Y(Y(TEXT_L2_Y)), TheText.Get("FEC_LL"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_L1_X)), MENU_Y(Y(TEXT_L1_Y_VEH)), TheText.Get("FEC_HOR"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_DPAD_X)), MENU_Y(Y(TEXT_DPAD_Y)), TheText.Get("FEC_CAM"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_LSTICK_X)), MENU_Y(Y(TEXT_LSTICK_Y)), TheText.Get("FEC_VES"));
|
||||||
|
CFont::SetRightJustifyOn();
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_L3_X)), MENU_Y(Y(TEXT_L3_Y)), TheText.Get("FEC_NA"));
|
||||||
|
switch (m_PrefsLanguage)
|
||||||
|
{
|
||||||
|
case LANGUAGE_GERMAN:
|
||||||
|
TEXT_SELECT_X += 20.0f;
|
||||||
|
break;
|
||||||
|
case LANGUAGE_SPANISH:
|
||||||
|
TEXT_SELECT_X += 12.0f;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
CFont::SetRightJustifyWrap(MENU_X_LEFT_ALIGNED(X(TEXT_SELECT_X)) - SCREEN_SCALE_X(80));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_SELECT_X)), MENU_Y(Y(TEXT_SELECT_Y)), TheText.Get("FEC_RSC"));
|
||||||
|
CFont::SetJustifyOn();
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_START_X)), MENU_Y(Y(TEXT_START_Y)), TheText.Get("FEC_PAU"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_R2_X)), MENU_Y(Y(TEXT_R2_Y)), TheText.Get("FEC_LR"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_R1_X)), MENU_Y(Y(TEXT_R1_Y)), TheText.Get("FEC_HAB"));
|
||||||
|
CFont::SetJustifyOn();
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_TRIANGLE_X)), MENU_Y(Y(TEXT_TRIANGLE_Y)), TheText.Get("FEC_EXV"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_CIRCLE_X)), MENU_Y(Y(TEXT_CIRCLE_Y)), TheText.Get("FEC_CAW"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_CROSS_X)), MENU_Y(Y(TEXT_CROSS_Y)), TheText.Get("FEC_ACC"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_RSTICK_X)), MENU_Y(Y(TEXT_RSTICK_Y)), TheText.Get("FEC_TUC"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_R3_X)), MENU_Y(Y(TEXT_R3_Y)), TheText.Get("FEC_SM3"));
|
||||||
|
CFont::SetRightJustifyOn();
|
||||||
|
switch (m_PrefsControllerType)
|
||||||
|
{
|
||||||
|
case CONTROLLER_XBOXONE:
|
||||||
|
case CONTROLLER_XBOX360:
|
||||||
|
CFont::SetScale(MENU_X(SMALLESTTEXT_X_SCALE * 2 * scale * 0.65f), MENU_Y(SMALLESTTEXT_Y_SCALE * scale * 0.65f));
|
||||||
|
switch (m_PrefsLanguage)
|
||||||
|
{
|
||||||
|
case LANGUAGE_FRENCH:
|
||||||
|
TEXT_SQUARE_X += 3.0f;
|
||||||
|
CFont::SetRightJustifyWrap(MENU_X_LEFT_ALIGNED(X(TEXT_SQUARE_X)) - SCREEN_SCALE_X(90));
|
||||||
|
break;
|
||||||
|
case LANGUAGE_GERMAN:
|
||||||
|
case LANGUAGE_SPANISH:
|
||||||
|
TEXT_SQUARE_X += 18.0f;
|
||||||
|
CFont::SetRightJustifyWrap(MENU_X_LEFT_ALIGNED(X(TEXT_SQUARE_X)) - SCREEN_SCALE_X(90));
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
CFont::SetRightJustifyWrap(MENU_X_LEFT_ALIGNED(X(TEXT_SQUARE_X)) - SCREEN_SCALE_X(60));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
switch (m_PrefsLanguage)
|
||||||
|
{
|
||||||
|
case LANGUAGE_FRENCH:
|
||||||
|
TEXT_SQUARE_X -= 15.0f;
|
||||||
|
TEXT_SQUARE_Y += 5.0f;
|
||||||
|
CFont::SetScale(MENU_X(SMALLESTTEXT_X_SCALE * 2 * scale * 0.65f), MENU_Y(SMALLESTTEXT_Y_SCALE * scale * 0.65f));
|
||||||
|
CFont::SetRightJustifyWrap(MENU_X_LEFT_ALIGNED(X(TEXT_SQUARE_X)) - SCREEN_SCALE_X(60));
|
||||||
|
break;
|
||||||
|
case LANGUAGE_GERMAN:
|
||||||
|
TEXT_SQUARE_X -= 15.0f;
|
||||||
|
TEXT_SQUARE_Y += 10.0f;
|
||||||
|
CFont::SetScale(MENU_X(SMALLESTTEXT_X_SCALE * 2 * scale * 0.65f), MENU_Y(SMALLESTTEXT_Y_SCALE * scale * 0.65f));
|
||||||
|
CFont::SetRightJustifyWrap(MENU_X_LEFT_ALIGNED(X(TEXT_SQUARE_X)) - SCREEN_SCALE_X(60));
|
||||||
|
break;
|
||||||
|
case LANGUAGE_SPANISH:
|
||||||
|
TEXT_SQUARE_X += 15.0f;
|
||||||
|
case LANGUAGE_ITALIAN:
|
||||||
|
CFont::SetScale(MENU_X(SMALLESTTEXT_X_SCALE * 2 * scale * 0.65f), MENU_Y(SMALLESTTEXT_Y_SCALE * scale * 0.65f));
|
||||||
|
default:
|
||||||
|
CFont::SetRightJustifyWrap(MENU_X_LEFT_ALIGNED(X(TEXT_SQUARE_X)) - SCREEN_SCALE_X(100));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
CFont::PrintStringFromBottom(MENU_X_LEFT_ALIGNED(X(TEXT_SQUARE_X)), MENU_Y(Y(TEXT_SQUARE_Y)), TheText.Get("FEC_BRA"));
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
CFont::SetRightJustifyOn();
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_L2_X)), MENU_Y(Y(TEXT_L2_Y)), TheText.Get("FEC_LL"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_L1_X)), MENU_Y(Y(TEXT_L1_Y_VEH)), TheText.Get("FEC_EXV"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_DPAD_X)), MENU_Y(Y(TEXT_DPAD_Y)), TheText.Get("FEC_VES"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_LSTICK_X)), MENU_Y(Y(TEXT_LSTICK_Y)), TheText.Get("FEC_VES"));
|
||||||
|
CFont::SetRightJustifyOn();
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_L3_X)), MENU_Y(Y(TEXT_L3_Y)), TheText.Get("FEC_RS3"));
|
||||||
|
switch (m_PrefsLanguage)
|
||||||
|
{
|
||||||
|
case LANGUAGE_FRENCH:
|
||||||
|
TEXT_SELECT_X -= 5.0f;
|
||||||
|
break;
|
||||||
|
case LANGUAGE_GERMAN:
|
||||||
|
TEXT_SELECT_X += 20.0f;
|
||||||
|
break;
|
||||||
|
case LANGUAGE_SPANISH:
|
||||||
|
TEXT_SELECT_X += 15.0f;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
CFont::SetRightJustifyWrap(MENU_X_LEFT_ALIGNED(X(TEXT_SELECT_X)) - SCREEN_SCALE_X(80));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_SELECT_X)), MENU_Y(Y(TEXT_SELECT_Y)), TheText.Get("FEC_CAM"));
|
||||||
|
CFont::SetJustifyOn();
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_START_X)), MENU_Y(Y(TEXT_START_Y)), TheText.Get("FEC_PAU"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_R2_X)), MENU_Y(Y(TEXT_R2_Y)), TheText.Get("FEC_LR"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_R1_X)), MENU_Y(Y(TEXT_R1_Y)), TheText.Get("FEC_HOR"));
|
||||||
|
CFont::SetJustifyOn();
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_TRIANGLE_X)), MENU_Y(Y(TEXT_TRIANGLE_Y)), TheText.Get("FEC_HAB"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_CIRCLE_X)), MENU_Y(Y(TEXT_CIRCLE_Y)), TheText.Get("FEC_CAW"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_CROSS_X)), MENU_Y(Y(TEXT_CROSS_Y)), TheText.Get("FEC_ACC"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_RSTICK_X)), MENU_Y(Y(TEXT_RSTICK_Y)), TheText.Get("FEC_TUC"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_R3_X)), MENU_Y(Y(TEXT_R3_Y)), TheText.Get("FEC_SM3"));
|
||||||
|
CFont::SetRightJustifyOn();
|
||||||
|
switch (m_PrefsControllerType)
|
||||||
|
{
|
||||||
|
case CONTROLLER_XBOXONE:
|
||||||
|
case CONTROLLER_XBOX360:
|
||||||
|
CFont::SetScale(MENU_X(SMALLESTTEXT_X_SCALE * 2 * scale * 0.65f), MENU_Y(SMALLESTTEXT_Y_SCALE * scale * 0.65f));
|
||||||
|
switch (m_PrefsLanguage)
|
||||||
|
{
|
||||||
|
case LANGUAGE_FRENCH:
|
||||||
|
TEXT_SQUARE_X += 3.0f;
|
||||||
|
CFont::SetRightJustifyWrap(MENU_X_LEFT_ALIGNED(X(TEXT_SQUARE_X)) - SCREEN_SCALE_X(90));
|
||||||
|
break;
|
||||||
|
case LANGUAGE_GERMAN:
|
||||||
|
case LANGUAGE_SPANISH:
|
||||||
|
TEXT_SQUARE_X += 18.0f;
|
||||||
|
CFont::SetRightJustifyWrap(MENU_X_LEFT_ALIGNED(X(TEXT_SQUARE_X)) - SCREEN_SCALE_X(90));
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
CFont::SetRightJustifyWrap(MENU_X_LEFT_ALIGNED(X(TEXT_SQUARE_X)) - SCREEN_SCALE_X(60));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
switch (m_PrefsLanguage)
|
||||||
|
{
|
||||||
|
case LANGUAGE_FRENCH:
|
||||||
|
TEXT_SQUARE_X -= 15.0f;
|
||||||
|
TEXT_SQUARE_Y += 5.0f;
|
||||||
|
CFont::SetScale(MENU_X(SMALLESTTEXT_X_SCALE * 2 * scale * 0.65f), MENU_Y(SMALLESTTEXT_Y_SCALE * scale * 0.65f));
|
||||||
|
CFont::SetRightJustifyWrap(MENU_X_LEFT_ALIGNED(X(TEXT_SQUARE_X)) - SCREEN_SCALE_X(60));
|
||||||
|
break;
|
||||||
|
case LANGUAGE_GERMAN:
|
||||||
|
TEXT_SQUARE_X -= 15.0f;
|
||||||
|
TEXT_SQUARE_Y += 10.0f;
|
||||||
|
CFont::SetScale(MENU_X(SMALLESTTEXT_X_SCALE * 2 * scale * 0.65f), MENU_Y(SMALLESTTEXT_Y_SCALE * scale * 0.65f));
|
||||||
|
CFont::SetRightJustifyWrap(MENU_X_LEFT_ALIGNED(X(TEXT_SQUARE_X)) - SCREEN_SCALE_X(60));
|
||||||
|
break;
|
||||||
|
case LANGUAGE_SPANISH:
|
||||||
|
TEXT_SQUARE_X += 15.0f;
|
||||||
|
case LANGUAGE_ITALIAN:
|
||||||
|
CFont::SetScale(MENU_X(SMALLESTTEXT_X_SCALE * 2 * scale * 0.65f), MENU_Y(SMALLESTTEXT_Y_SCALE * scale * 0.65f));
|
||||||
|
default:
|
||||||
|
CFont::SetRightJustifyWrap(MENU_X_LEFT_ALIGNED(X(TEXT_SQUARE_X)) - SCREEN_SCALE_X(100));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
CFont::PrintStringFromBottom(MENU_X_LEFT_ALIGNED(X(TEXT_SQUARE_X)), MENU_Y(Y(TEXT_SQUARE_Y)), TheText.Get("FEC_BRA"));
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
CFont::SetRightJustifyOn();
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_L2_X)), MENU_Y(Y(TEXT_L2_Y)), TheText.Get("FEC_LL"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_L1_X)), MENU_Y(Y(TEXT_L1_Y_VEH)), TheText.Get("FEC_HAB"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_DPAD_X)), MENU_Y(Y(TEXT_DPAD_Y)), TheText.Get("FEC_TUC"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_LSTICK_X)), MENU_Y(Y(TEXT_LSTICK_Y)), TheText.Get("FEC_VES"));
|
||||||
|
CFont::SetRightJustifyOn();
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_L3_X)), MENU_Y(Y(TEXT_L3_Y)), TheText.Get("FEC_HO3"));
|
||||||
|
switch (m_PrefsLanguage)
|
||||||
|
{
|
||||||
|
case LANGUAGE_FRENCH:
|
||||||
|
TEXT_SELECT_X -= 5.0f;
|
||||||
|
break;
|
||||||
|
case LANGUAGE_GERMAN:
|
||||||
|
TEXT_SELECT_X += 20.0f;
|
||||||
|
break;
|
||||||
|
case LANGUAGE_SPANISH:
|
||||||
|
TEXT_SELECT_X += 15.0f;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
CFont::SetRightJustifyWrap(MENU_X_LEFT_ALIGNED(X(TEXT_SELECT_X)) - SCREEN_SCALE_X(80));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_SELECT_X)), MENU_Y(Y(TEXT_SELECT_Y)), TheText.Get("FEC_CAM"));
|
||||||
|
CFont::SetJustifyOn();
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_START_X)), MENU_Y(Y(TEXT_START_Y)), TheText.Get("FEC_PAU"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_R2_X)), MENU_Y(Y(TEXT_R2_Y)), TheText.Get("FEC_LR"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_R1_X)), MENU_Y(Y(TEXT_R1_Y)), TheText.Get("FEC_CAW"));
|
||||||
|
CFont::SetJustifyOn();
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_TRIANGLE_X)), MENU_Y(Y(TEXT_TRIANGLE_Y)), TheText.Get("FEC_EXV"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_CIRCLE_X)), MENU_Y(Y(TEXT_CIRCLE_Y)), TheText.Get("FEC_RSC"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_CROSS_X)), MENU_Y(Y(TEXT_CROSS_Y)), TheText.Get("FEC_NA"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_RSTICK_X)), MENU_Y(Y(TEXT_RSTICK_Y)), TheText.Get("FEC_ACC"));
|
||||||
|
CFont::PrintString(MENU_X_LEFT_ALIGNED(X(TEXT_R3_X)), MENU_Y(Y(TEXT_R3_Y)), TheText.Get("FEC_BRA"));
|
||||||
|
CFont::SetRightJustifyOn();
|
||||||
|
CFont::SetRightJustifyWrap(0);
|
||||||
|
switch (m_PrefsControllerType)
|
||||||
|
{
|
||||||
|
case CONTROLLER_XBOXONE:
|
||||||
|
case CONTROLLER_XBOX360:
|
||||||
|
CFont::SetScale(MENU_X(SMALLESTTEXT_X_SCALE * 2 * scale * 0.65f), MENU_Y(SMALLESTTEXT_Y_SCALE * scale * 0.65f));
|
||||||
|
CFont::PrintStringFromBottom(MENU_X_LEFT_ALIGNED(X(TEXT_SQUARE_X)), MENU_Y(Y(TEXT_SQUARE_Y)), TheText.Get("FEC_SMT"));
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
switch (m_PrefsLanguage)
|
||||||
|
{
|
||||||
|
case LANGUAGE_GERMAN:
|
||||||
|
TEXT_SQUARE_X += 5.0f;
|
||||||
|
case LANGUAGE_FRENCH:
|
||||||
|
case LANGUAGE_ITALIAN:
|
||||||
|
CFont::SetScale(MENU_X(SMALLESTTEXT_X_SCALE * 2 * scale * 0.65f), MENU_Y(SMALLESTTEXT_Y_SCALE * scale * 0.65f));
|
||||||
|
CFont::PrintStringFromBottom(MENU_X_LEFT_ALIGNED(X(TEXT_SQUARE_X)), MENU_Y(Y(TEXT_SQUARE_Y)), TheText.Get("FEC_SMT"));
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
CFont::PrintStringFromBottom(MENU_X_LEFT_ALIGNED(X(TEXT_SQUARE_X + 16.0f)), MENU_Y(Y(TEXT_SQUARE_Y)), TheText.Get("FEC_SMT"));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
CFont::SetDropShadowPosition(0); // X
|
||||||
|
|
||||||
|
#undef X
|
||||||
|
#undef Y
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
CMenuManager::LoadController(int8 type)
|
||||||
|
{
|
||||||
|
switch (type)
|
||||||
|
{
|
||||||
|
case CONTROLLER_DUALSHOCK2:
|
||||||
|
case CONTROLLER_DUALSHOCK3:
|
||||||
|
case CONTROLLER_DUALSHOCK4:
|
||||||
|
CFont::LoadButtons("MODELS/PS3BTNS.TXD");
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
CFont::LoadButtons("MODELS/X360BTNS.TXD");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Unload current textures
|
||||||
|
for (int i = MENUSPRITE_CONTROLLER; i <= MENUSPRITE_ARROWS4; i++)
|
||||||
|
m_aFrontEndSprites[i].Delete();
|
||||||
|
|
||||||
|
// Unload txd
|
||||||
|
int frontend_controller = CTxdStore::FindTxdSlot("frontend_controller");
|
||||||
|
if (frontend_controller != -1)
|
||||||
|
CTxdStore::RemoveTxd(frontend_controller);
|
||||||
|
|
||||||
|
// Find the new txd to load
|
||||||
|
bool bTxdMissing = true;
|
||||||
|
if (controllerTypesPaths[type])
|
||||||
|
if (int file = CFileMgr::OpenFile(controllerTypesPaths[type])) {
|
||||||
|
CFileMgr::CloseFile(file);
|
||||||
|
bTxdMissing = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
int txdSlot = -1;
|
||||||
|
|
||||||
|
if (bTxdMissing)
|
||||||
|
// Not found, fall back to original textures
|
||||||
|
txdSlot = CTxdStore::FindTxdSlot("frontend2");
|
||||||
|
else {
|
||||||
|
// Found, load txd
|
||||||
|
txdSlot = frontend_controller;
|
||||||
|
if (txdSlot == -1)
|
||||||
|
txdSlot = CTxdStore::AddTxdSlot("frontend_controller");
|
||||||
|
CTxdStore::LoadTxd(txdSlot, controllerTypesPaths[type]);
|
||||||
|
CTxdStore::AddRef(txdSlot);
|
||||||
|
}
|
||||||
|
|
||||||
|
assert(txdSlot != -1);
|
||||||
|
// Load new textures
|
||||||
|
CTxdStore::SetCurrentTxd(txdSlot);
|
||||||
|
for (int i = MENUSPRITE_CONTROLLER; i <= MENUSPRITE_ARROWS4; i++) {
|
||||||
|
m_aFrontEndSprites[i].SetTexture(FrontendFilenames[i][0], FrontendFilenames[i][1]);
|
||||||
|
m_aFrontEndSprites[i].SetAddressing(rwTEXTUREADDRESSBORDER);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif // GAMEPAD_MENU
|
||||||
|
|
||||||
#undef GetBackJustUp
|
#undef GetBackJustUp
|
||||||
#undef GetBackJustDown
|
#undef GetBackJustDown
|
||||||
|
@ -137,6 +137,13 @@ enum eMenuSprites
|
|||||||
MENUSPRITE_DOWNON,
|
MENUSPRITE_DOWNON,
|
||||||
MENUSPRITE_UPOFF,
|
MENUSPRITE_UPOFF,
|
||||||
MENUSPRITE_UPON,
|
MENUSPRITE_UPON,
|
||||||
|
#ifdef GAMEPAD_MENU
|
||||||
|
MENUSPRITE_CONTROLLER,
|
||||||
|
MENUSPRITE_ARROWS1,
|
||||||
|
MENUSPRITE_ARROWS2,
|
||||||
|
MENUSPRITE_ARROWS3,
|
||||||
|
MENUSPRITE_ARROWS4,
|
||||||
|
#endif
|
||||||
NUM_MENU_SPRITES
|
NUM_MENU_SPRITES
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -192,8 +199,10 @@ enum eMenuScreen
|
|||||||
MENUPAGE_MOUSE_CONTROLS = 31,
|
MENUPAGE_MOUSE_CONTROLS = 31,
|
||||||
MENUPAGE_PAUSE_MENU = 32,
|
MENUPAGE_PAUSE_MENU = 32,
|
||||||
MENUPAGE_NONE = 33, // Then chooses main menu or pause menu
|
MENUPAGE_NONE = 33, // Then chooses main menu or pause menu
|
||||||
#ifdef LEGACY_MENU_OPTIONS
|
#ifdef GAMEPAD_MENU
|
||||||
MENUPAGE_CONTROLLER_SETTINGS,
|
MENUPAGE_CONTROLLER_SETTINGS,
|
||||||
|
#endif
|
||||||
|
#ifdef LEGACY_MENU_OPTIONS
|
||||||
MENUPAGE_DEBUG_MENU,
|
MENUPAGE_DEBUG_MENU,
|
||||||
MENUPAGE_CONTROLLER_PC_OLD1,
|
MENUPAGE_CONTROLLER_PC_OLD1,
|
||||||
MENUPAGE_CONTROLLER_PC_OLD2,
|
MENUPAGE_CONTROLLER_PC_OLD2,
|
||||||
@ -275,7 +284,7 @@ enum eMenuAction
|
|||||||
MENUACTION_DRAWDIST,
|
MENUACTION_DRAWDIST,
|
||||||
MENUACTION_MOUSESENS,
|
MENUACTION_MOUSESENS,
|
||||||
MENUACTION_MP3VOLUMEBOOST,
|
MENUACTION_MP3VOLUMEBOOST,
|
||||||
#ifdef LEGACY_MENU_OPTIONS
|
#ifdef GAMEPAD_MENU
|
||||||
MENUACTION_CTRLVIBRATION,
|
MENUACTION_CTRLVIBRATION,
|
||||||
MENUACTION_CTRLCONFIG,
|
MENUACTION_CTRLCONFIG,
|
||||||
#endif
|
#endif
|
||||||
@ -668,6 +677,18 @@ public:
|
|||||||
int8 m_nDisplayMSAALevel;
|
int8 m_nDisplayMSAALevel;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef GAMEPAD_MENU
|
||||||
|
enum
|
||||||
|
{
|
||||||
|
CONTROLLER_DUALSHOCK2 = 0,
|
||||||
|
CONTROLLER_DUALSHOCK3,
|
||||||
|
CONTROLLER_DUALSHOCK4,
|
||||||
|
CONTROLLER_XBOX360,
|
||||||
|
CONTROLLER_XBOXONE,
|
||||||
|
};
|
||||||
|
|
||||||
|
int8 m_PrefsControllerType;
|
||||||
|
#endif
|
||||||
enum LANGUAGE
|
enum LANGUAGE
|
||||||
{
|
{
|
||||||
LANGUAGE_AMERICAN,
|
LANGUAGE_AMERICAN,
|
||||||
@ -788,6 +809,10 @@ public:
|
|||||||
int8 GetPreviousPageOption();
|
int8 GetPreviousPageOption();
|
||||||
|
|
||||||
// uint8 GetNumberOfMenuOptions();
|
// uint8 GetNumberOfMenuOptions();
|
||||||
|
#ifdef GAMEPAD_MENU
|
||||||
|
void LoadController(int8 type);
|
||||||
|
void PrintController(void);
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifndef IMPROVED_VIDEOMODE
|
#ifndef IMPROVED_VIDEOMODE
|
||||||
|
@ -277,13 +277,6 @@ CMenuScreen aScreens[] = {
|
|||||||
{ "", 0, 0, },
|
{ "", 0, 0, },
|
||||||
|
|
||||||
#ifdef LEGACY_MENU_OPTIONS
|
#ifdef LEGACY_MENU_OPTIONS
|
||||||
// MENUPAGE_CONTROLLER_SETTINGS
|
|
||||||
{ "FET_CON", MENUPAGE_OPTIONS, 0,
|
|
||||||
MENUACTION_CTRLCONFIG, "FEC_CCF", SAVESLOT_NONE, MENUPAGE_CONTROLLER_SETTINGS, 0, 0, 0,
|
|
||||||
MENUACTION_CTRLVIBRATION, "FEC_VIB", SAVESLOT_NONE, MENUPAGE_CONTROLLER_SETTINGS, 0, 0, 0,
|
|
||||||
MENUACTION_GOBACK, "FEDS_TB", SAVESLOT_NONE, MENUPAGE_NONE, 0, 0, 0,
|
|
||||||
},
|
|
||||||
|
|
||||||
// MENUPAGE_DEBUG_MENU
|
// MENUPAGE_DEBUG_MENU
|
||||||
{ "FED_DBG", MENUPAGE_NONE, 0,
|
{ "FED_DBG", MENUPAGE_NONE, 0,
|
||||||
MENUACTION_RELOADIDE, "FED_RID", SAVESLOT_NONE, MENUPAGE_NONE, 0, 0, 0,
|
MENUACTION_RELOADIDE, "FED_RID", SAVESLOT_NONE, MENUPAGE_NONE, 0, 0, 0,
|
||||||
|
@ -78,11 +78,17 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef INVERT_LOOK_FOR_PAD
|
#ifdef INVERT_LOOK_FOR_PAD
|
||||||
#define INVERT_PAD_SELECTOR MENUACTION_CFO_SELECT, "FEC_ILU", { new CCFOSelect((int8*)&CPad::bInvertLook4Pad, "Controller", "InvertPad", off_on, 2, false) }, 150, 0, MENUALIGN_LEFT,
|
#define INVERT_PAD_SELECTOR MENUACTION_CFO_SELECT, "FEC_ILU", { new CCFOSelect((int8*)&CPad::bInvertLook4Pad, "Controller", "InvertPad", off_on, 2, false) }, 0, 0, MENUALIGN_LEFT,
|
||||||
#else
|
#else
|
||||||
#define INVERT_PAD_SELECTOR
|
#define INVERT_PAD_SELECTOR
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef GAMEPAD_MENU
|
||||||
|
#define SELECT_CONTROLLER_TYPE MENUACTION_CFO_SELECT, "FEC_TYP", { new CCFOSelect((int8*)&FrontEndMenuManager.m_PrefsControllerType, "Controller", "Type", controllerTypes, ARRAY_SIZE(controllerTypes), false, ControllerTypeAfterChange) }, 0, 0, MENUALIGN_LEFT,
|
||||||
|
#else
|
||||||
|
#define SELECT_CONTROLLER_TYPE
|
||||||
|
#endif
|
||||||
|
|
||||||
const char *filterNames[] = { "FEM_NON", "FEM_SIM", "FEM_NRM", "FEM_MOB" };
|
const char *filterNames[] = { "FEM_NON", "FEM_SIM", "FEM_NRM", "FEM_MOB" };
|
||||||
const char *off_on[] = { "FEM_OFF", "FEM_ON" };
|
const char *off_on[] = { "FEM_OFF", "FEM_ON" };
|
||||||
|
|
||||||
@ -377,6 +383,14 @@ void DetectJoystickGoBack() {
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef GAMEPAD_MENU
|
||||||
|
const char* controllerTypes[] = { "FEC_DS2", "FEC_DS3", "FEC_DS4", "FEC_360", "FEC_ONE" };
|
||||||
|
void ControllerTypeAfterChange(int8 before, int8 after)
|
||||||
|
{
|
||||||
|
FrontEndMenuManager.LoadController(after);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
CMenuScreenCustom aScreens[] = {
|
CMenuScreenCustom aScreens[] = {
|
||||||
// MENUPAGE_STATS = 0
|
// MENUPAGE_STATS = 0
|
||||||
{ "FEH_STA", MENUPAGE_NONE, nil, nil,
|
{ "FEH_STA", MENUPAGE_NONE, nil, nil,
|
||||||
@ -612,11 +626,13 @@ CMenuScreenCustom aScreens[] = {
|
|||||||
#else
|
#else
|
||||||
MENUACTION_KEYBOARDCTRLS,"FEC_RED", {nil, SAVESLOT_NONE, MENUPAGE_KEYBOARD_CONTROLS}, 320, 150, MENUALIGN_CENTER,
|
MENUACTION_KEYBOARDCTRLS,"FEC_RED", {nil, SAVESLOT_NONE, MENUPAGE_KEYBOARD_CONTROLS}, 320, 150, MENUALIGN_CENTER,
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef GAMEPAD_MENU
|
||||||
|
MENUACTION_CHANGEMENU, "FET_AGS", {nil, SAVESLOT_NONE, MENUPAGE_CONTROLLER_SETTINGS}, 0, 0, MENUALIGN_CENTER,
|
||||||
|
#endif
|
||||||
#ifdef DETECT_JOYSTICK_MENU
|
#ifdef DETECT_JOYSTICK_MENU
|
||||||
MENUACTION_CHANGEMENU, "FEC_JOD", {nil, SAVESLOT_NONE, MENUPAGE_DETECT_JOYSTICK}, 0, 0, MENUALIGN_CENTER,
|
MENUACTION_CHANGEMENU, "FEC_JOD", {nil, SAVESLOT_NONE, MENUPAGE_DETECT_JOYSTICK}, 0, 0, MENUALIGN_CENTER,
|
||||||
#endif
|
#endif
|
||||||
MENUACTION_CHANGEMENU, "FEC_MOU", {nil, SAVESLOT_NONE, MENUPAGE_MOUSE_CONTROLS}, 0, 0, MENUALIGN_CENTER,
|
MENUACTION_CHANGEMENU, "FEC_MOU", {nil, SAVESLOT_NONE, MENUPAGE_MOUSE_CONTROLS}, 0, 0, MENUALIGN_CENTER,
|
||||||
INVERT_PAD_SELECTOR
|
|
||||||
MENUACTION_RESTOREDEF, "FET_DEF", {nil, SAVESLOT_NONE, MENUPAGE_CONTROLLER_PC}, 320, 0, MENUALIGN_CENTER,
|
MENUACTION_RESTOREDEF, "FET_DEF", {nil, SAVESLOT_NONE, MENUPAGE_CONTROLLER_PC}, 320, 0, MENUALIGN_CENTER,
|
||||||
MENUACTION_GOBACK, "FEDS_TB", {nil, SAVESLOT_NONE, 0}, 320, 0, MENUALIGN_CENTER,
|
MENUACTION_GOBACK, "FEDS_TB", {nil, SAVESLOT_NONE, 0}, 320, 0, MENUALIGN_CENTER,
|
||||||
},
|
},
|
||||||
@ -656,8 +672,12 @@ CMenuScreenCustom aScreens[] = {
|
|||||||
{ "FEC_MOU", MENUPAGE_CONTROLLER_PC, nil, nil,
|
{ "FEC_MOU", MENUPAGE_CONTROLLER_PC, nil, nil,
|
||||||
MENUACTION_MOUSESENS, "FEC_MSH", {nil, SAVESLOT_NONE, MENUPAGE_MOUSE_CONTROLS}, 40, 170, MENUALIGN_LEFT,
|
MENUACTION_MOUSESENS, "FEC_MSH", {nil, SAVESLOT_NONE, MENUPAGE_MOUSE_CONTROLS}, 40, 170, MENUALIGN_LEFT,
|
||||||
MENUACTION_INVVERT, "FEC_IVV", {nil, SAVESLOT_NONE, MENUPAGE_MOUSE_CONTROLS}, 0, 0, MENUALIGN_LEFT,
|
MENUACTION_INVVERT, "FEC_IVV", {nil, SAVESLOT_NONE, MENUPAGE_MOUSE_CONTROLS}, 0, 0, MENUALIGN_LEFT,
|
||||||
|
#ifndef GAMEPAD_MENU
|
||||||
|
INVERT_PAD_SELECTOR
|
||||||
|
#endif
|
||||||
MENUACTION_MOUSESTEER, "FET_MST", {nil, SAVESLOT_NONE, MENUPAGE_MOUSE_CONTROLS}, 0, 0, MENUALIGN_LEFT,
|
MENUACTION_MOUSESTEER, "FET_MST", {nil, SAVESLOT_NONE, MENUPAGE_MOUSE_CONTROLS}, 0, 0, MENUALIGN_LEFT,
|
||||||
MENUACTION_GOBACK, "FEDS_TB", {nil, SAVESLOT_NONE, 0}, 320, 260, MENUALIGN_CENTER,
|
MENUACTION_GOBACK, "FEDS_TB", {nil, SAVESLOT_NONE, 0}, 320, 0, MENUALIGN_CENTER,
|
||||||
|
//MENUACTION_GOBACK, "FEDS_TB", {nil, SAVESLOT_NONE, 0}, 320, 260, MENUALIGN_CENTER, // original y
|
||||||
},
|
},
|
||||||
|
|
||||||
// MENUPAGE_PAUSE_MENU = 32
|
// MENUPAGE_PAUSE_MENU = 32
|
||||||
@ -674,15 +694,17 @@ CMenuScreenCustom aScreens[] = {
|
|||||||
// MENUPAGE_NONE = 33
|
// MENUPAGE_NONE = 33
|
||||||
{ "", 0, nil, nil, },
|
{ "", 0, nil, nil, },
|
||||||
|
|
||||||
|
#ifdef GAMEPAD_MENU
|
||||||
#ifdef LEGACY_MENU_OPTIONS
|
{ "FET_AGS", MENUPAGE_CONTROLLER_PC, new CCustomScreenLayout({40, 78, 25, true, true}), nil,
|
||||||
// MENUPAGE_CONTROLLER_SETTINGS = 4
|
MENUACTION_CTRLCONFIG, "FEC_CCF", { nil, SAVESLOT_NONE, MENUPAGE_CONTROLLER_SETTINGS }, 40, 76, MENUALIGN_LEFT,
|
||||||
{ "FET_CON", MENUPAGE_OPTIONS, nil, nil,
|
MENUACTION_CTRLDISPLAY, "FEC_CDP", { nil, SAVESLOT_NONE, MENUPAGE_CONTROLLER_SETTINGS }, 0, 0, MENUALIGN_LEFT,
|
||||||
MENUACTION_CTRLCONFIG, "FEC_CCF", {nil, SAVESLOT_NONE, MENUPAGE_CONTROLLER_SETTINGS}, 0, 0, 0,
|
INVERT_PAD_SELECTOR
|
||||||
MENUACTION_CTRLVIBRATION, "FEC_VIB", {nil, SAVESLOT_NONE, MENUPAGE_CONTROLLER_SETTINGS}, 0, 0, 0,
|
MENUACTION_CTRLVIBRATION, "FEC_VIB", { nil, SAVESLOT_NONE, MENUPAGE_CONTROLLER_SETTINGS }, 0, 0, MENUALIGN_LEFT,
|
||||||
MENUACTION_GOBACK, "FEDS_TB", {nil, SAVESLOT_NONE, MENUPAGE_NONE}, 0, 0, 0,
|
SELECT_CONTROLLER_TYPE
|
||||||
|
MENUACTION_GOBACK, "FEDS_TB", { nil, SAVESLOT_NONE, MENUPAGE_NONE }, 0, 0, MENUALIGN_LEFT,
|
||||||
},
|
},
|
||||||
|
#endif
|
||||||
|
#ifdef LEGACY_MENU_OPTIONS
|
||||||
// MENUPAGE_DEBUG_MENU = 18
|
// MENUPAGE_DEBUG_MENU = 18
|
||||||
{ "FED_DBG", MENUPAGE_NONE, nil, nil,
|
{ "FED_DBG", MENUPAGE_NONE, nil, nil,
|
||||||
MENUACTION_RELOADIDE, "FED_RID", {nil, SAVESLOT_NONE, MENUPAGE_NONE}, 0, 0, 0,
|
MENUACTION_RELOADIDE, "FED_RID", {nil, SAVESLOT_NONE, MENUPAGE_NONE}, 0, 0, 0,
|
||||||
|
@ -320,6 +320,9 @@ enum Config {
|
|||||||
//# define PS2_MENU_USEALLPAGEICONS
|
//# define PS2_MENU_USEALLPAGEICONS
|
||||||
#else
|
#else
|
||||||
# define MAP_ENHANCEMENTS // Adding waypoint and better mouse support
|
# define MAP_ENHANCEMENTS // Adding waypoint and better mouse support
|
||||||
|
# ifdef XINPUT
|
||||||
|
# define GAMEPAD_MENU // Add gamepad menu
|
||||||
|
# endif
|
||||||
# define TRIANGLE_BACK_BUTTON
|
# define TRIANGLE_BACK_BUTTON
|
||||||
//# define CIRCLE_BACK_BUTTON
|
//# define CIRCLE_BACK_BUTTON
|
||||||
#define LEGACY_MENU_OPTIONS // i.e. frame sync(vsync)
|
#define LEGACY_MENU_OPTIONS // i.e. frame sync(vsync)
|
||||||
@ -476,6 +479,7 @@ static_assert(false, "SUPPORT_XBOX_SCRIPT and SUPPORT_MOBILE_SCRIPT are mutually
|
|||||||
#undef RADIO_OFF_TEXT
|
#undef RADIO_OFF_TEXT
|
||||||
|
|
||||||
#undef MAP_ENHANCEMENTS
|
#undef MAP_ENHANCEMENTS
|
||||||
|
#undef GAMEPAD_MENU
|
||||||
#undef MUCH_SHORTER_OUTRO_SCREEN
|
#undef MUCH_SHORTER_OUTRO_SCREEN
|
||||||
#undef CUSTOM_FRONTEND_OPTIONS
|
#undef CUSTOM_FRONTEND_OPTIONS
|
||||||
|
|
||||||
|
@ -409,6 +409,7 @@ bool LoadINISettings()
|
|||||||
ReadIniIfExists("Controller", "HorizantalMouseSens", &TheCamera.m_fMouseAccelHorzntl);
|
ReadIniIfExists("Controller", "HorizantalMouseSens", &TheCamera.m_fMouseAccelHorzntl);
|
||||||
ReadIniIfExists("Controller", "InvertMouseVertically", &MousePointerStateHelper.bInvertVertically);
|
ReadIniIfExists("Controller", "InvertMouseVertically", &MousePointerStateHelper.bInvertVertically);
|
||||||
ReadIniIfExists("Controller", "DisableMouseSteering", &CVehicle::m_bDisableMouseSteering);
|
ReadIniIfExists("Controller", "DisableMouseSteering", &CVehicle::m_bDisableMouseSteering);
|
||||||
|
ReadIniIfExists("Controller", "Vibration", &FrontEndMenuManager.m_PrefsUseVibration);
|
||||||
ReadIniIfExists("Audio", "SfxVolume", &FrontEndMenuManager.m_PrefsSfxVolume);
|
ReadIniIfExists("Audio", "SfxVolume", &FrontEndMenuManager.m_PrefsSfxVolume);
|
||||||
ReadIniIfExists("Audio", "MusicVolume", &FrontEndMenuManager.m_PrefsMusicVolume);
|
ReadIniIfExists("Audio", "MusicVolume", &FrontEndMenuManager.m_PrefsMusicVolume);
|
||||||
ReadIniIfExists("Audio", "MP3BoostVolume", &FrontEndMenuManager.m_PrefsMP3BoostVolume);
|
ReadIniIfExists("Audio", "MP3BoostVolume", &FrontEndMenuManager.m_PrefsMP3BoostVolume);
|
||||||
@ -501,6 +502,7 @@ void SaveINISettings()
|
|||||||
StoreIni("Controller", "HorizantalMouseSens", TheCamera.m_fMouseAccelHorzntl);
|
StoreIni("Controller", "HorizantalMouseSens", TheCamera.m_fMouseAccelHorzntl);
|
||||||
StoreIni("Controller", "InvertMouseVertically", MousePointerStateHelper.bInvertVertically);
|
StoreIni("Controller", "InvertMouseVertically", MousePointerStateHelper.bInvertVertically);
|
||||||
StoreIni("Controller", "DisableMouseSteering", CVehicle::m_bDisableMouseSteering);
|
StoreIni("Controller", "DisableMouseSteering", CVehicle::m_bDisableMouseSteering);
|
||||||
|
StoreIni("Controller", "Vibration", FrontEndMenuManager.m_PrefsUseVibration);
|
||||||
StoreIni("Audio", "SfxVolume", FrontEndMenuManager.m_PrefsSfxVolume);
|
StoreIni("Audio", "SfxVolume", FrontEndMenuManager.m_PrefsSfxVolume);
|
||||||
StoreIni("Audio", "MusicVolume", FrontEndMenuManager.m_PrefsMusicVolume);
|
StoreIni("Audio", "MusicVolume", FrontEndMenuManager.m_PrefsMusicVolume);
|
||||||
StoreIni("Audio", "MP3BoostVolume", FrontEndMenuManager.m_PrefsMP3BoostVolume);
|
StoreIni("Audio", "MP3BoostVolume", FrontEndMenuManager.m_PrefsMP3BoostVolume);
|
||||||
|
@ -289,11 +289,26 @@ CFont::Initialise(void)
|
|||||||
SetDropShadowPosition(0);
|
SetDropShadowPosition(0);
|
||||||
CTxdStore::PopCurrentTxd();
|
CTxdStore::PopCurrentTxd();
|
||||||
|
|
||||||
|
#if !defined(GAMEPAD_MENU) && defined(BUTTON_ICONS)
|
||||||
|
// loaded in CMenuManager with GAMEPAD_MENU defined
|
||||||
|
LoadButtons("MODELS/X360BTNS.TXD");
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef BUTTON_ICONS
|
#ifdef BUTTON_ICONS
|
||||||
if (int file = CFileMgr::OpenFile("MODELS/X360BTNS.TXD")) {
|
void
|
||||||
|
CFont::LoadButtons(const char *txdPath)
|
||||||
|
{
|
||||||
|
if (int file = CFileMgr::OpenFile(txdPath)) {
|
||||||
CFileMgr::CloseFile(file);
|
CFileMgr::CloseFile(file);
|
||||||
|
if (ButtonsSlot == -1)
|
||||||
ButtonsSlot = CTxdStore::AddTxdSlot("buttons");
|
ButtonsSlot = CTxdStore::AddTxdSlot("buttons");
|
||||||
CTxdStore::LoadTxd(ButtonsSlot, "MODELS/X360BTNS.TXD");
|
else {
|
||||||
|
for (int i = 0; i < MAX_BUTTON_ICONS; i++)
|
||||||
|
ButtonSprite[i].Delete();
|
||||||
|
CTxdStore::RemoveTxd(ButtonsSlot);
|
||||||
|
}
|
||||||
|
CTxdStore::LoadTxd(ButtonsSlot, txdPath);
|
||||||
CTxdStore::AddRef(ButtonsSlot);
|
CTxdStore::AddRef(ButtonsSlot);
|
||||||
CTxdStore::PushCurrentTxd();
|
CTxdStore::PushCurrentTxd();
|
||||||
CTxdStore::SetCurrentTxd(ButtonsSlot);
|
CTxdStore::SetCurrentTxd(ButtonsSlot);
|
||||||
@ -311,12 +326,22 @@ CFont::Initialise(void)
|
|||||||
ButtonSprite[BUTTON_R1].SetTexture("r1");
|
ButtonSprite[BUTTON_R1].SetTexture("r1");
|
||||||
ButtonSprite[BUTTON_R2].SetTexture("r2");
|
ButtonSprite[BUTTON_R2].SetTexture("r2");
|
||||||
ButtonSprite[BUTTON_R3].SetTexture("r3");
|
ButtonSprite[BUTTON_R3].SetTexture("r3");
|
||||||
|
ButtonSprite[BUTTON_RSTICK_UP].SetTexture("thumbryu");
|
||||||
|
ButtonSprite[BUTTON_RSTICK_DOWN].SetTexture("thumbryd");
|
||||||
ButtonSprite[BUTTON_RSTICK_LEFT].SetTexture("thumbrxl");
|
ButtonSprite[BUTTON_RSTICK_LEFT].SetTexture("thumbrxl");
|
||||||
ButtonSprite[BUTTON_RSTICK_RIGHT].SetTexture("thumbrxr");
|
ButtonSprite[BUTTON_RSTICK_RIGHT].SetTexture("thumbrxr");
|
||||||
CTxdStore::PopCurrentTxd();
|
CTxdStore::PopCurrentTxd();
|
||||||
}
|
}
|
||||||
#endif // BUTTON_ICONS
|
else {
|
||||||
|
if (ButtonsSlot != -1) {
|
||||||
|
for (int i = 0; i < MAX_BUTTON_ICONS; i++)
|
||||||
|
ButtonSprite[i].Delete();
|
||||||
|
CTxdStore::RemoveTxdSlot(ButtonsSlot);
|
||||||
|
ButtonsSlot = -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
#endif // BUTTON_ICONS
|
||||||
|
|
||||||
#ifdef MORE_LANGUAGES
|
#ifdef MORE_LANGUAGES
|
||||||
void
|
void
|
||||||
@ -369,6 +394,7 @@ CFont::Shutdown(void)
|
|||||||
for (int i = 0; i < MAX_BUTTON_ICONS; i++)
|
for (int i = 0; i < MAX_BUTTON_ICONS; i++)
|
||||||
ButtonSprite[i].Delete();
|
ButtonSprite[i].Delete();
|
||||||
CTxdStore::RemoveTxdSlot(ButtonsSlot);
|
CTxdStore::RemoveTxdSlot(ButtonsSlot);
|
||||||
|
ButtonsSlot = -1;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
Sprite[0].Delete();
|
Sprite[0].Delete();
|
||||||
@ -1437,6 +1463,8 @@ CFont::ParseToken(wchar* str, CRGBA &color, bool &flash, bool &bold)
|
|||||||
case 'J': PS2Symbol = BUTTON_R1; break;
|
case 'J': PS2Symbol = BUTTON_R1; break;
|
||||||
case 'V': PS2Symbol = BUTTON_R2; break;
|
case 'V': PS2Symbol = BUTTON_R2; break;
|
||||||
case 'C': PS2Symbol = BUTTON_R3; break;
|
case 'C': PS2Symbol = BUTTON_R3; break;
|
||||||
|
case 'H': PS2Symbol = BUTTON_RSTICK_UP; break;
|
||||||
|
case 'L': PS2Symbol = BUTTON_RSTICK_DOWN; break;
|
||||||
case '(': PS2Symbol = BUTTON_RSTICK_LEFT; break;
|
case '(': PS2Symbol = BUTTON_RSTICK_LEFT; break;
|
||||||
case ')': PS2Symbol = BUTTON_RSTICK_RIGHT; break;
|
case ')': PS2Symbol = BUTTON_RSTICK_RIGHT; break;
|
||||||
#endif
|
#endif
|
||||||
@ -1488,6 +1516,8 @@ CFont::ParseToken(wchar *s, bool japShit)
|
|||||||
case 'J': PS2Symbol = BUTTON_R1; break;
|
case 'J': PS2Symbol = BUTTON_R1; break;
|
||||||
case 'V': PS2Symbol = BUTTON_R2; break;
|
case 'V': PS2Symbol = BUTTON_R2; break;
|
||||||
case 'C': PS2Symbol = BUTTON_R3; break;
|
case 'C': PS2Symbol = BUTTON_R3; break;
|
||||||
|
case 'H': PS2Symbol = BUTTON_RSTICK_UP; break;
|
||||||
|
case 'L': PS2Symbol = BUTTON_RSTICK_DOWN; break;
|
||||||
case '(': PS2Symbol = BUTTON_RSTICK_LEFT; break;
|
case '(': PS2Symbol = BUTTON_RSTICK_LEFT; break;
|
||||||
case ')': PS2Symbol = BUTTON_RSTICK_RIGHT; break;
|
case ')': PS2Symbol = BUTTON_RSTICK_RIGHT; break;
|
||||||
#endif
|
#endif
|
||||||
@ -1612,6 +1642,8 @@ CFont::ParseToken(wchar *s)
|
|||||||
case 'J': PS2Symbol = BUTTON_R1; break;
|
case 'J': PS2Symbol = BUTTON_R1; break;
|
||||||
case 'V': PS2Symbol = BUTTON_R2; break;
|
case 'V': PS2Symbol = BUTTON_R2; break;
|
||||||
case 'C': PS2Symbol = BUTTON_R3; break;
|
case 'C': PS2Symbol = BUTTON_R3; break;
|
||||||
|
case 'H': PS2Symbol = BUTTON_RSTICK_UP; break;
|
||||||
|
case 'L': PS2Symbol = BUTTON_RSTICK_DOWN; break;
|
||||||
case '(': PS2Symbol = BUTTON_RSTICK_LEFT; break;
|
case '(': PS2Symbol = BUTTON_RSTICK_LEFT; break;
|
||||||
case ')': PS2Symbol = BUTTON_RSTICK_RIGHT; break;
|
case ')': PS2Symbol = BUTTON_RSTICK_RIGHT; break;
|
||||||
#endif
|
#endif
|
||||||
|
@ -111,6 +111,8 @@ enum
|
|||||||
BUTTON_R1,
|
BUTTON_R1,
|
||||||
BUTTON_R2,
|
BUTTON_R2,
|
||||||
BUTTON_R3,
|
BUTTON_R3,
|
||||||
|
BUTTON_RSTICK_UP,
|
||||||
|
BUTTON_RSTICK_DOWN,
|
||||||
BUTTON_RSTICK_LEFT,
|
BUTTON_RSTICK_LEFT,
|
||||||
BUTTON_RSTICK_RIGHT,
|
BUTTON_RSTICK_RIGHT,
|
||||||
MAX_BUTTON_ICONS
|
MAX_BUTTON_ICONS
|
||||||
@ -138,6 +140,7 @@ public:
|
|||||||
static CSprite2d ButtonSprite[MAX_BUTTON_ICONS];
|
static CSprite2d ButtonSprite[MAX_BUTTON_ICONS];
|
||||||
static int PS2Symbol;
|
static int PS2Symbol;
|
||||||
|
|
||||||
|
static void LoadButtons(const char *txdPath);
|
||||||
static void DrawButton(float x, float y);
|
static void DrawButton(float x, float y);
|
||||||
#endif // BUTTON_ICONS
|
#endif // BUTTON_ICONS
|
||||||
|
|
||||||
|
@ -4456,11 +4456,11 @@ Press the ~h~~k~~TOGGLE_SUBMISSIONS~ button~w~ to toggle Paramedic missions on o
|
|||||||
[GUN_H1]
|
[GUN_H1]
|
||||||
~w~Press the~h~ ~k~~PED_SPRINT~ ~w~button to buy. Press the~h~ ~k~~VEHICLE_ENTER_EXIT~ ~w~button to exit.
|
~w~Press the~h~ ~k~~PED_SPRINT~ ~w~button to buy. Press the~h~ ~k~~VEHICLE_ENTER_EXIT~ ~w~button to exit.
|
||||||
|
|
||||||
[PU_CF3]
|
[PU_CF3] { reVC update }
|
||||||
Press the ~h~~k~~VEHICLE_ENTER_EXIT~ ~w~button to replace current weapon in this slot.
|
Press the ~h~~k~~PED_ANSWER_PHONE~ ~w~button to replace current weapon in this slot.
|
||||||
|
|
||||||
[PU_CF4]
|
[PU_CF4] { reVC update }
|
||||||
Press the ~h~~k~~VEHICLE_ENTER_EXIT~ ~w~button to replace current weapon in this slot.
|
Press the ~h~~k~~PED_ANSWER_PHONE~ ~w~button to replace current weapon in this slot.
|
||||||
|
|
||||||
[HELP9_B]
|
[HELP9_B]
|
||||||
Press the~h~ ~k~~PED_FIREWEAPON~ button ~w~to ~h~fire~w~ the sniper rifle.
|
Press the~h~ ~k~~PED_FIREWEAPON~ button ~w~to ~h~fire~w~ the sniper rifle.
|
||||||
@ -6484,8 +6484,9 @@ Press the ~h~~k~~PED_FIREWEAPON~~w~ button to ~h~fire~w~ the sniper rifle.
|
|||||||
[PLANE_H]
|
[PLANE_H]
|
||||||
Use the ~h~~k~~VEHICLE_ACCELERATE~~w~ button to accelerate, Left and right to turn.
|
Use the ~h~~k~~VEHICLE_ACCELERATE~~w~ button to accelerate, Left and right to turn.
|
||||||
|
|
||||||
[PLANE_4]
|
[PLANE_4] { reVC update }
|
||||||
Use the ~h~~k~~VEHICLE_ACCELERATE~~w~ button to accelerate, Left and right to turn.
|
{ Use the ~h~~k~~VEHICLE_ACCELERATE~~w~ button to accelerate, Left and right to turn. }
|
||||||
|
Use the right analog stick to accelerate, pull back on the left analog stick to climb, push forwards to descend. Left and right to turn.
|
||||||
|
|
||||||
[HELP55]
|
[HELP55]
|
||||||
Press the ~h~~k~~PED_FIREWEAPON~~w~ button to attack the chef.
|
Press the ~h~~k~~PED_FIREWEAPON~~w~ button to attack the chef.
|
||||||
@ -13980,8 +13981,9 @@ To ~h~pick up a bomb~w~, simply maneuver the RC helicopter next to it. The RC He
|
|||||||
[TEX3_37:SERG3]
|
[TEX3_37:SERG3]
|
||||||
Pushing ~h~back on the analog stick ~w~decreases the rotor speed, causing the helicopter to~h~ descend.
|
Pushing ~h~back on the analog stick ~w~decreases the rotor speed, causing the helicopter to~h~ descend.
|
||||||
|
|
||||||
[TEX3_38:SERG3]
|
[TEX3_38:SERG3] { reVC update }
|
||||||
Pressing the ~h~~k~~VEHICLE_ACCELERATE~ ~w~button increases the rotor speed, causing the helicopter to ~h~ascend.
|
{ Pressing the ~h~~k~~VEHICLE_ACCELERATE~ ~w~button increases the rotor speed, causing the helicopter to ~h~ascend. }
|
||||||
|
Pushing ~h~forward on the analog stick ~w~increases the rotor speed, causing the helicopter to ~h~ascend.
|
||||||
|
|
||||||
[TEX3_39:SERG3]
|
[TEX3_39:SERG3]
|
||||||
~g~To drop a bomb press the ~h~~k~~VEHICLE_HANDBRAKE~ ~g~button.
|
~g~To drop a bomb press the ~h~~k~~VEHICLE_HANDBRAKE~ ~g~button.
|
||||||
@ -14400,6 +14402,27 @@ NONE
|
|||||||
[FEA_FMN]
|
[FEA_FMN]
|
||||||
RADIO OFF
|
RADIO OFF
|
||||||
|
|
||||||
|
[FEC_DS2]
|
||||||
|
DUALSHOCK 2
|
||||||
|
|
||||||
|
[FEC_DS3]
|
||||||
|
DUALSHOCK 3
|
||||||
|
|
||||||
|
[FEC_DS4]
|
||||||
|
DUALSHOCK 4
|
||||||
|
|
||||||
|
[FEC_360]
|
||||||
|
XBOX 360 CONTROLLER
|
||||||
|
|
||||||
|
[FEC_ONE]
|
||||||
|
XBOX ONE CONTROLLER
|
||||||
|
|
||||||
|
[FEC_TYP]
|
||||||
|
GAMEPAD TYPE
|
||||||
|
|
||||||
|
[FET_AGS]
|
||||||
|
GAMEPAD SETTINGS
|
||||||
|
|
||||||
{ end of file }
|
{ end of file }
|
||||||
[DUMMY]
|
[DUMMY]
|
||||||
THIS LABEL NEEDS TO BE HERE !!!
|
THIS LABEL NEEDS TO BE HERE !!!
|
||||||
|
@ -6214,11 +6214,11 @@ Appuie sur la ~h~~k~~TOGGLE_SUBMISSIONS~~w~ pour activer ou désactiver les miss
|
|||||||
[GUN_H1]
|
[GUN_H1]
|
||||||
~w~Appuie sur la~h~ ~k~~PED_SPRINT~~w~ pour acheter. ~w~Appuie sur la~h~ ~k~~VEHICLE_ENTER_EXIT~~w~ pour quitter.
|
~w~Appuie sur la~h~ ~k~~PED_SPRINT~~w~ pour acheter. ~w~Appuie sur la~h~ ~k~~VEHICLE_ENTER_EXIT~~w~ pour quitter.
|
||||||
|
|
||||||
[PU_CF3]
|
[PU_CF3] { reVC update }
|
||||||
Appuie sur la ~h~~k~~VEHICLE_ENTER_EXIT~~w~ pour remplacer l'arme actuelle dans cet emplacement.
|
Appuie sur la ~h~~k~~PED_ANSWER_PHONE~~w~ pour remplacer l'arme actuelle dans cet emplacement.
|
||||||
|
|
||||||
[PU_CF4]
|
[PU_CF4] { reVC update }
|
||||||
Appuie sur la ~h~~k~~VEHICLE_ENTER_EXIT~~w~ pour remplacer l'arme actuelle dans cet emplacement.
|
Appuie sur la ~h~~k~~PED_ANSWER_PHONE~~w~ pour remplacer l'arme actuelle dans cet emplacement.
|
||||||
|
|
||||||
[HELP9_B]
|
[HELP9_B]
|
||||||
Appuie sur la~h~ ~k~~PED_FIREWEAPON~ ~w~pour ~h~tirer~w~ avec le fusil à lunette.
|
Appuie sur la~h~ ~k~~PED_FIREWEAPON~ ~w~pour ~h~tirer~w~ avec le fusil à lunette.
|
||||||
@ -6688,8 +6688,9 @@ Appuie sur la touche ~h~~k~~PED_FIREWEAPON~~w~ ~w~pour ~h~tirer~w~ avec le fusil
|
|||||||
[PLANE_H]
|
[PLANE_H]
|
||||||
Utilise la touche ~h~~k~~VEHICLE_ACCELERATE~~w~ pour accélérer. Gauche et droite pour tourner.
|
Utilise la touche ~h~~k~~VEHICLE_ACCELERATE~~w~ pour accélérer. Gauche et droite pour tourner.
|
||||||
|
|
||||||
[PLANE_4]
|
[PLANE_4] { reVC update }
|
||||||
Utilise la touche ~h~~k~~VEHICLE_ACCELERATE~~w~ pour accélérer. Gauche et droite pour tourner.
|
{Utilise la touche ~h~~k~~VEHICLE_ACCELERATE~~w~ pour accélérer. Gauche et droite pour tourner.}
|
||||||
|
Utilise le joystick analogique droit pour accélérer, appuie vers le bas sur le joystick analogique gauche pour monter et vers le haut pour descendre. Gauche et droite pour tourner.
|
||||||
|
|
||||||
[HELP55]
|
[HELP55]
|
||||||
Appuie sur la touche ~h~~k~~PED_FIREWEAPON~~w~ pour attaquer le chef.
|
Appuie sur la touche ~h~~k~~PED_FIREWEAPON~~w~ pour attaquer le chef.
|
||||||
@ -14262,8 +14263,9 @@ Pour ~h~ramasser une bombe~w~, manoeuvre l'hélico radiocommandé à côté. Il
|
|||||||
[TEX3_37:SERG3]
|
[TEX3_37:SERG3]
|
||||||
Pousse le ~h~joystick analogique droit vers le haut ~w~pour vitesse la vitesse du rotor et ainsi faire ~h~ monter l'hélicoptère.
|
Pousse le ~h~joystick analogique droit vers le haut ~w~pour vitesse la vitesse du rotor et ainsi faire ~h~ monter l'hélicoptère.
|
||||||
|
|
||||||
[TEX3_38:SERG3]
|
[TEX3_38:SERG3] { reVC update }
|
||||||
Pousse le ~h~~k~~VEHICLE_ACCELERATE~ ~w~pour augmenter la réduire du rotor et ainsi faire ~h~ descendre l'hélicoptère.
|
{Pousse le ~h~~k~~VEHICLE_ACCELERATE~ ~w~pour augmenter la réduire du rotor et ainsi faire ~h~ descendre l'hélicoptère.}
|
||||||
|
Pousse le ~h~joystick analogique droit vers la bas ~w~pour augmenter la réduire du rotor et ainsi faire ~h~ descendre l'hélicoptère.
|
||||||
|
|
||||||
[TEX3_39:SERG3]
|
[TEX3_39:SERG3]
|
||||||
~g~Appuie sur la touche ~h~~k~~VEHICLE_HANDBRAKE~ ~g~pour larguer une bombe.
|
~g~Appuie sur la touche ~h~~k~~VEHICLE_HANDBRAKE~ ~g~pour larguer une bombe.
|
||||||
|
@ -6175,11 +6175,11 @@ Drücke die ~h~~k~~TOGGLE_SUBMISSIONS~~w~, um Krankenwagen-Missionen an- oder ab
|
|||||||
[GUN_H1]
|
[GUN_H1]
|
||||||
~w~Drück die~h~ ~k~~PED_SPRINT~~w~, um zu kaufen. ~w~Drück die~h~ ~k~~VEHICLE_ENTER_EXIT~~w~, um zu gehen.
|
~w~Drück die~h~ ~k~~PED_SPRINT~~w~, um zu kaufen. ~w~Drück die~h~ ~k~~VEHICLE_ENTER_EXIT~~w~, um zu gehen.
|
||||||
|
|
||||||
[PU_CF3]
|
[PU_CF3] { reVC update }
|
||||||
Drück die ~h~~k~~VEHICLE_ENTER_EXIT~~w~, um die augenblickliche Waffe in diesem Slot auszutauschen.
|
Drück die ~h~~k~~PED_ANSWER_PHONE~~w~, um die augenblickliche Waffe in diesem Slot auszutauschen.
|
||||||
|
|
||||||
[PU_CF4]
|
[PU_CF4] { reVC update }
|
||||||
Drück die ~h~~k~~VEHICLE_ENTER_EXIT~~w~, um die augenblickliche Waffe in diesem Slot auszutauschen.
|
Drück die ~h~~k~~PED_ANSWER_PHONE~~w~, um die augenblickliche Waffe in diesem Slot auszutauschen.
|
||||||
|
|
||||||
[HELP9_B]
|
[HELP9_B]
|
||||||
Drücke die~h~ ~k~~PED_FIREWEAPON~~w~, um das Prãzisionsgewehr ~h~abzufeuern~w~.
|
Drücke die~h~ ~k~~PED_FIREWEAPON~~w~, um das Prãzisionsgewehr ~h~abzufeuern~w~.
|
||||||
@ -6640,8 +6640,9 @@ Drücke die ~h~~k~~PED_FIREWEAPON~~w~-Taste, um das Prãzisionsgewehr ~h~abzufeu
|
|||||||
[PLANE_H]
|
[PLANE_H]
|
||||||
Benutze die ~h~~k~~VEHICLE_ACCELERATE~~w~-Taste, um zu beschleunigen. Links bzw. Rechts für Richtungswechsel.
|
Benutze die ~h~~k~~VEHICLE_ACCELERATE~~w~-Taste, um zu beschleunigen. Links bzw. Rechts für Richtungswechsel.
|
||||||
|
|
||||||
[PLANE_4]
|
[PLANE_4] { reVC update }
|
||||||
Benutze die ~h~~k~~VEHICLE_ACCELERATE~~w~-Taste, um zu beschleunigen. Links bzw. Rechts für Richtungswechsel.
|
{Benutze die ~h~~k~~VEHICLE_ACCELERATE~~w~-Taste, um zu beschleunigen. Links bzw. Rechts für Richtungswechsel.}
|
||||||
|
Benutze den rechten Analog-Stick, um zu beschleunigen. Ziehe den linken Analog-Stick, um zu steigen oder drücke ihn nach vorn, um zu sinken. Links bzw. Rechts für Richtungswechsel.
|
||||||
|
|
||||||
[HELP55]
|
[HELP55]
|
||||||
Drücke die ~h~~k~~PED_FIREWEAPON~~w~-Taste, um den Küchenchef anzugreifen.
|
Drücke die ~h~~k~~PED_FIREWEAPON~~w~-Taste, um den Küchenchef anzugreifen.
|
||||||
@ -14262,8 +14263,9 @@ Um ~h~eine Bombe aufzunehmen~w~, steuere den Helikopter direkt über sie. Der He
|
|||||||
[TEX3_37:SERG3]
|
[TEX3_37:SERG3]
|
||||||
Zieh den ~h~ Rechten Analog-Stick zurück~w~, um die Rotorgeschwindigkeit zu erhöhen, der Helikopter ~h~ gewinnt dann an Höhe.
|
Zieh den ~h~ Rechten Analog-Stick zurück~w~, um die Rotorgeschwindigkeit zu erhöhen, der Helikopter ~h~ gewinnt dann an Höhe.
|
||||||
|
|
||||||
[TEX3_38:SERG3]
|
[TEX3_38:SERG3] { reVC update }
|
||||||
Drück den ~h~ ~k~~VEHICLE_ACCELERATE~~w~, um die Rotorgeschwindigkeit zu verringern, der Helikopter ~h~ verliert dann an Höhe.
|
{Drück den ~h~ ~k~~VEHICLE_ACCELERATE~~w~, um die Rotorgeschwindigkeit zu verringern, der Helikopter ~h~ verliert dann an Höhe.}
|
||||||
|
Drück den ~h~ Rechten Analog-Stick nach vorn~w~, um die Rotorgeschwindigkeit zu verringern, der Helikopter ~h~ verliert dann an Höhe.
|
||||||
|
|
||||||
[TEX3_39:SERG3]
|
[TEX3_39:SERG3]
|
||||||
Um eine Bombe abzuwerfen, drücke die ~h~~k~~VEHICLE_HANDBRAKE~~g~-Taste.
|
Um eine Bombe abzuwerfen, drücke die ~h~~k~~VEHICLE_HANDBRAKE~~g~-Taste.
|
||||||
|
@ -6007,11 +6007,11 @@ Premi il ~h~~k~~TOGGLE_SUBMISSIONS~~w~ per attivare o disattivare le missioni In
|
|||||||
[GUN_H1]
|
[GUN_H1]
|
||||||
~w~Premi il ~h~~k~~PED_SPRINT~~w~ per comprare. ~w~Premi il ~h~~k~~VEHICLE_ENTER_EXIT~~w~ per uscire.
|
~w~Premi il ~h~~k~~PED_SPRINT~~w~ per comprare. ~w~Premi il ~h~~k~~VEHICLE_ENTER_EXIT~~w~ per uscire.
|
||||||
|
|
||||||
[PU_CF3]
|
[PU_CF3] { reVC update }
|
||||||
Premi il ~h~~k~~VEHICLE_ENTER_EXIT~~w~ per sostituire l'arma attuale con quella presente in questo slot.
|
Premi il ~h~~k~~PED_ANSWER_PHONE~~w~ per sostituire l'arma attuale con quella presente in questo slot.
|
||||||
|
|
||||||
[PU_CF4]
|
[PU_CF4] { reVC update }
|
||||||
Premi il ~h~~k~~VEHICLE_ENTER_EXIT~~w~ per sostituire l'arma attuale con quella presente in questo slot.
|
Premi il ~h~~k~~PED_ANSWER_PHONE~~w~ per sostituire l'arma attuale con quella presente in questo slot.
|
||||||
|
|
||||||
[HELP9_B]
|
[HELP9_B]
|
||||||
Premi il ~h~~k~~PED_FIREWEAPON~~w~ per sparare con il fucile di precisione.
|
Premi il ~h~~k~~PED_FIREWEAPON~~w~ per sparare con il fucile di precisione.
|
||||||
@ -6694,8 +6694,9 @@ Premi il tasto ~h~~k~~PED_FIREWEAPON~~w~ per ~h~sparare~w~ col fucile di precisi
|
|||||||
[PLANE_H]
|
[PLANE_H]
|
||||||
Usa il tasto ~h~~k~~VEHICLE_ACCELERATE~~w~ per accelerare e a sinistra e a destra per curvare.
|
Usa il tasto ~h~~k~~VEHICLE_ACCELERATE~~w~ per accelerare e a sinistra e a destra per curvare.
|
||||||
|
|
||||||
[PLANE_4]
|
[PLANE_4] { reVC update }
|
||||||
Usa il tasto ~h~~k~~VEHICLE_ACCELERATE~~w~ per accelerare e a sinistra e a destra per curvare.
|
{Usa il tasto ~h~~k~~VEHICLE_ACCELERATE~~w~ per accelerare e a sinistra e a destra per curvare.}
|
||||||
|
Usa la levetta analogica destra per accelerare, premi la levetta analogica sinistra in basso per salire, in alto per scendere e a sinistra e a destra per curvare.
|
||||||
|
|
||||||
[HELP55]
|
[HELP55]
|
||||||
Premi il tasto ~h~~k~~PED_FIREWEAPON~~w~ per attaccare lo chef.
|
Premi il tasto ~h~~k~~PED_FIREWEAPON~~w~ per attaccare lo chef.
|
||||||
@ -14271,8 +14272,9 @@ Per raccogliere una bomba, avvicinaci l'elicottero radiocomandato. L'elicottero
|
|||||||
[TEX3_37:SERG3]
|
[TEX3_37:SERG3]
|
||||||
Sposta ~h~in basso la levetta analogica destra~w~ per aumentare la velocità del rotore e ~h~far salire~w~ l'elicottero.
|
Sposta ~h~in basso la levetta analogica destra~w~ per aumentare la velocità del rotore e ~h~far salire~w~ l'elicottero.
|
||||||
|
|
||||||
[TEX3_38:SERG3]
|
[TEX3_38:SERG3] { reVC update }
|
||||||
Sposta ~h~~k~~VEHICLE_ACCELERATE~~w~ per ridurre la velocità del rotore e ~h~far scendere~w~ l'elicottero.
|
{Sposta ~h~~k~~VEHICLE_ACCELERATE~~w~ per ridurre la velocità del rotore e ~h~far scendere~w~ l'elicottero.}
|
||||||
|
Sposta ~h~in alto la levetta analogica destra~w~ per ridurre la velocità del rotore e ~h~far scendere~w~ l'elicottero.
|
||||||
|
|
||||||
[TEX3_39:SERG3]
|
[TEX3_39:SERG3]
|
||||||
~g~Per sganciare una bomba, premi il tasto ~h~~k~~VEHICLE_HANDBRAKE~~g~.
|
~g~Per sganciare una bomba, premi il tasto ~h~~k~~VEHICLE_HANDBRAKE~~g~.
|
||||||
|
@ -5834,11 +5834,11 @@ Pulsa ~h~~k~~TOGGLE_SUBMISSIONS~~w~ para comenzar o cancelar las misiones de ATS
|
|||||||
[GUN_H1]
|
[GUN_H1]
|
||||||
~w~Pulsa ~h~~k~~PED_SPRINT~~w~ para comprar. ~w~Pulsa ~h~~k~~VEHICLE_ENTER_EXIT~~w~ para salir.
|
~w~Pulsa ~h~~k~~PED_SPRINT~~w~ para comprar. ~w~Pulsa ~h~~k~~VEHICLE_ENTER_EXIT~~w~ para salir.
|
||||||
|
|
||||||
[PU_CF3]
|
[PU_CF3] { reVC update }
|
||||||
Pulsa ~h~~k~~VEHICLE_ENTER_EXIT~~w~ para reemplazar tu arma actual en esta ranura.
|
Pulsa ~h~~k~~PED_ANSWER_PHONE~~w~ para reemplazar tu arma actual en esta ranura.
|
||||||
|
|
||||||
[PU_CF4]
|
[PU_CF4] { reVC update }
|
||||||
Pulsa ~h~~k~~VEHICLE_ENTER_EXIT~~w~ para reemplazar tu arma actual en esta ranura.
|
Pulsa ~h~~k~~PED_ANSWER_PHONE~~w~ para reemplazar tu arma actual en esta ranura.
|
||||||
|
|
||||||
[HELP9_B]
|
[HELP9_B]
|
||||||
Pulsa ~h~~k~~PED_FIREWEAPON~ ~w~para ~h~disparar~w~ el rifle de francotirador.
|
Pulsa ~h~~k~~PED_FIREWEAPON~ ~w~para ~h~disparar~w~ el rifle de francotirador.
|
||||||
@ -6485,8 +6485,9 @@ Pulsa ~h~~k~~PED_FIREWEAPON~~w~ para ~h~disparar~w~ el rifle de francotirador.
|
|||||||
[PLANE_H]
|
[PLANE_H]
|
||||||
Mueve ~h~~k~~VEHICLE_ACCELERATE~~w~ hacia delante para acelerar y a izquierda o derecha para girar.
|
Mueve ~h~~k~~VEHICLE_ACCELERATE~~w~ hacia delante para acelerar y a izquierda o derecha para girar.
|
||||||
|
|
||||||
[PLANE_4]
|
[PLANE_4] { reVC update }
|
||||||
Mueve ~h~~k~~VEHICLE_ACCELERATE~~w~ hacia delante para acelerar y a izquierda o derecha para girar.
|
{Mueve ~h~~k~~VEHICLE_ACCELERATE~~w~ hacia delante para acelerar y a izquierda o derecha para girar.}
|
||||||
|
Utiliza el joystick analógico derecho para acelerar, tira hacia atrás el joystick analógico izquierdo para ascender, empújalo hacia adelante para descender. Para girar muévelo a izquierda o derecha.
|
||||||
|
|
||||||
[HELP55]
|
[HELP55]
|
||||||
Pulsa ~h~~k~~PED_FIREWEAPON~~w~ para atacar al chef.
|
Pulsa ~h~~k~~PED_FIREWEAPON~~w~ para atacar al chef.
|
||||||
@ -13952,8 +13953,9 @@ Para ~h~recoger una bomba~w~, simplemente dirige el helicóptero RC hasta ella.
|
|||||||
[TEX3_37:SERG3]
|
[TEX3_37:SERG3]
|
||||||
Si empujas ~h~el joystick analógico derecho hacia atrás~w~, aumentarás la velocidad del rotor y así ~h~ascenderá~w~.
|
Si empujas ~h~el joystick analógico derecho hacia atrás~w~, aumentarás la velocidad del rotor y así ~h~ascenderá~w~.
|
||||||
|
|
||||||
[TEX3_38:SERG3]
|
[TEX3_38:SERG3] { reVC update }
|
||||||
Pulsa ~h~~k~~VEHICLE_ACCELERATE~~w~ para aumentar la velocidad del rotor y así ~h~ascender~w~.
|
{Pulsa ~h~~k~~VEHICLE_ACCELERATE~~w~ para aumentar la velocidad del rotor y así ~h~ascender~w~.}
|
||||||
|
Si empujas ~h~el joystick analógico derecho hacia adelante ~w~la velocidad del rotor aumenta, haciendo que el helicóptero ~h~descienda.
|
||||||
|
|
||||||
[TEX3_39:SERG3]
|
[TEX3_39:SERG3]
|
||||||
~g~Para soltar una bomba pulsa ~h~~k~~VEHICLE_HANDBRAKE~~w~.
|
~g~Para soltar una bomba pulsa ~h~~k~~VEHICLE_HANDBRAKE~~w~.
|
||||||
|
Loading…
Reference in New Issue
Block a user