mirror of
https://github.com/LostArtefacts/TRX.git
synced 2025-04-29 21:27:59 +03:00
parent
99178701b5
commit
43ae1920c0
18 changed files with 84 additions and 72 deletions
|
@ -5,6 +5,7 @@
|
||||||
- added an inverted look camera option (#700)
|
- added an inverted look camera option (#700)
|
||||||
- added a camera speed option for the manual camera (#815)
|
- added a camera speed option for the manual camera (#815)
|
||||||
- added an option to fix original texture issues (#826)
|
- added an option to fix original texture issues (#826)
|
||||||
|
- added menu specific controls meaning arrow keys, return, and escape now always function in menus (#814, regression from 2.12)
|
||||||
- fixed sounds stopping instead of pausing if game sounds in inventory are disabled (#717)
|
- fixed sounds stopping instead of pausing if game sounds in inventory are disabled (#717)
|
||||||
- fixed ceiling heights at times being miscalculated, resulting in camera issues and Lara being able to jump into the ceiling (#323)
|
- fixed ceiling heights at times being miscalculated, resulting in camera issues and Lara being able to jump into the ceiling (#323)
|
||||||
- fixed Lara not being able to jump off trapdoors or crumbling floors if the sidestep descent fix is enabled (#830)
|
- fixed Lara not being able to jump off trapdoors or crumbling floors if the sidestep descent fix is enabled (#830)
|
||||||
|
|
|
@ -33,7 +33,7 @@ bool Game_Cutscene_Control(int32_t nframes)
|
||||||
}
|
}
|
||||||
|
|
||||||
Input_Update();
|
Input_Update();
|
||||||
if (g_InputDB.deselect || g_InputDB.select) {
|
if (g_InputDB.menu_confirm || g_InputDB.menu_back) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -64,8 +64,8 @@ bool Game_Demo_ProcessInput(void)
|
||||||
.step_left = (bool)(*m_DemoPtr & (1 << 10)),
|
.step_left = (bool)(*m_DemoPtr & (1 << 10)),
|
||||||
.step_right = (bool)(*m_DemoPtr & (1 << 11)),
|
.step_right = (bool)(*m_DemoPtr & (1 << 11)),
|
||||||
.roll = (bool)(*m_DemoPtr & (1 << 12)),
|
.roll = (bool)(*m_DemoPtr & (1 << 12)),
|
||||||
.select = (bool)(*m_DemoPtr & (1 << 20)),
|
.menu_confirm = (bool)(*m_DemoPtr & (1 << 20)),
|
||||||
.deselect = (bool)(*m_DemoPtr & (1 << 21)),
|
.menu_back = (bool)(*m_DemoPtr & (1 << 21)),
|
||||||
.save = (bool)(*m_DemoPtr & (1 << 22)),
|
.save = (bool)(*m_DemoPtr & (1 << 22)),
|
||||||
.load = (bool)(*m_DemoPtr & (1 << 23)),
|
.load = (bool)(*m_DemoPtr & (1 << 23)),
|
||||||
};
|
};
|
||||||
|
|
|
@ -100,7 +100,12 @@ void Input_Update(void)
|
||||||
g_Input = S_Input_GetCurrentState(
|
g_Input = S_Input_GetCurrentState(
|
||||||
g_Config.input.layout, g_Config.input.cntlr_layout);
|
g_Config.input.layout, g_Config.input.cntlr_layout);
|
||||||
|
|
||||||
g_Input.select |= g_Input.action;
|
g_Input.menu_up |= g_Input.forward;
|
||||||
|
g_Input.menu_down |= g_Input.back;
|
||||||
|
g_Input.menu_left |= g_Input.left;
|
||||||
|
g_Input.menu_right |= g_Input.right;
|
||||||
|
g_Input.menu_confirm |= g_Input.action;
|
||||||
|
g_Input.menu_back |= g_Input.option;
|
||||||
g_Input.option &= g_Camera.type != CAM_CINEMATIC;
|
g_Input.option &= g_Camera.type != CAM_CINEMATIC;
|
||||||
g_Input.roll |= g_Input.forward && g_Input.back;
|
g_Input.roll |= g_Input.forward && g_Input.back;
|
||||||
if (g_Input.left && g_Input.right) {
|
if (g_Input.left && g_Input.right) {
|
||||||
|
|
|
@ -8,7 +8,6 @@
|
||||||
extern INPUT_STATE g_Input;
|
extern INPUT_STATE g_Input;
|
||||||
extern INPUT_STATE g_InputDB;
|
extern INPUT_STATE g_InputDB;
|
||||||
extern INPUT_STATE g_OldInputDB;
|
extern INPUT_STATE g_OldInputDB;
|
||||||
extern bool g_ConflictLayout[INPUT_ROLE_NUMBER_OF];
|
|
||||||
|
|
||||||
void Input_Init(void);
|
void Input_Init(void);
|
||||||
void Input_Shutdown(void);
|
void Input_Shutdown(void);
|
||||||
|
|
|
@ -112,7 +112,8 @@ static void Inv_Draw(RING_INFO *ring, IMOTION_INFO *imo)
|
||||||
}
|
}
|
||||||
} else if (
|
} else if (
|
||||||
ring->number_of_objects == 1
|
ring->number_of_objects == 1
|
||||||
|| (!g_Input.left && !g_Input.right) || !g_Input.left) {
|
|| (!g_Input.menu_left && !g_Input.menu_right)
|
||||||
|
|| !g_Input.menu_left) {
|
||||||
g_LsAdder = HIGH_LIGHT;
|
g_LsAdder = HIGH_LIGHT;
|
||||||
inv_item->y_rot += 256;
|
inv_item->y_rot += 256;
|
||||||
}
|
}
|
||||||
|
@ -459,7 +460,7 @@ static int32_t Inv_ConstructAndDisplay(int inv_mode)
|
||||||
if (imo.status == RNG_OPEN || imo.status == RNG_SELECTING
|
if (imo.status == RNG_OPEN || imo.status == RNG_SELECTING
|
||||||
|| imo.status == RNG_SELECTED || imo.status == RNG_DESELECTING
|
|| imo.status == RNG_SELECTED || imo.status == RNG_DESELECTING
|
||||||
|| imo.status == RNG_DESELECT || imo.status == RNG_CLOSING_ITEM) {
|
|| imo.status == RNG_DESELECT || imo.status == RNG_CLOSING_ITEM) {
|
||||||
if (!ring.rotating && !g_Input.left && !g_Input.right) {
|
if (!ring.rotating && !g_Input.menu_left && !g_Input.menu_right) {
|
||||||
INVENTORY_ITEM *inv_item = ring.list[ring.current_object];
|
INVENTORY_ITEM *inv_item = ring.list[ring.current_object];
|
||||||
Inv_Ring_Active(inv_item);
|
Inv_Ring_Active(inv_item);
|
||||||
}
|
}
|
||||||
|
@ -495,18 +496,18 @@ static int32_t Inv_ConstructAndDisplay(int inv_mode)
|
||||||
if ((g_InvMode == INV_SAVE_MODE || g_InvMode == INV_SAVE_CRYSTAL_MODE
|
if ((g_InvMode == INV_SAVE_MODE || g_InvMode == INV_SAVE_CRYSTAL_MODE
|
||||||
|| g_InvMode == INV_LOAD_MODE || g_InvMode == INV_DEATH_MODE)
|
|| g_InvMode == INV_LOAD_MODE || g_InvMode == INV_DEATH_MODE)
|
||||||
&& !pass_mode_open) {
|
&& !pass_mode_open) {
|
||||||
g_InputDB = (INPUT_STATE) { 0, .select = 1 };
|
g_InputDB = (INPUT_STATE) { 0, .menu_confirm = 1 };
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (imo.status) {
|
switch (imo.status) {
|
||||||
case RNG_OPEN:
|
case RNG_OPEN:
|
||||||
if (g_Input.right && ring.number_of_objects > 1) {
|
if (g_Input.menu_right && ring.number_of_objects > 1) {
|
||||||
Inv_Ring_RotateLeft(&ring);
|
Inv_Ring_RotateLeft(&ring);
|
||||||
Sound_Effect(SFX_MENU_ROTATE, NULL, SPM_ALWAYS);
|
Sound_Effect(SFX_MENU_ROTATE, NULL, SPM_ALWAYS);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (g_Input.left && ring.number_of_objects > 1) {
|
if (g_Input.menu_left && ring.number_of_objects > 1) {
|
||||||
Inv_Ring_RotateRight(&ring);
|
Inv_Ring_RotateRight(&ring);
|
||||||
Sound_Effect(SFX_MENU_ROTATE, NULL, SPM_ALWAYS);
|
Sound_Effect(SFX_MENU_ROTATE, NULL, SPM_ALWAYS);
|
||||||
break;
|
break;
|
||||||
|
@ -537,7 +538,7 @@ static int32_t Inv_ConstructAndDisplay(int inv_mode)
|
||||||
g_InputDB = (INPUT_STATE) { 0 };
|
g_InputDB = (INPUT_STATE) { 0 };
|
||||||
}
|
}
|
||||||
|
|
||||||
if (g_InputDB.select) {
|
if (g_InputDB.menu_confirm) {
|
||||||
if ((g_InvMode == INV_SAVE_MODE
|
if ((g_InvMode == INV_SAVE_MODE
|
||||||
|| g_InvMode == INV_SAVE_CRYSTAL_MODE
|
|| g_InvMode == INV_SAVE_CRYSTAL_MODE
|
||||||
|| g_InvMode == INV_LOAD_MODE
|
|| g_InvMode == INV_LOAD_MODE
|
||||||
|
@ -597,7 +598,7 @@ static int32_t Inv_ConstructAndDisplay(int inv_mode)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (g_InputDB.forward && g_InvMode != INV_TITLE_MODE
|
if (g_InputDB.menu_up && g_InvMode != INV_TITLE_MODE
|
||||||
&& g_InvMode != INV_KEYS_MODE) {
|
&& g_InvMode != INV_KEYS_MODE) {
|
||||||
if (ring.type == RT_MAIN) {
|
if (ring.type == RT_MAIN) {
|
||||||
if (g_InvKeysObjects) {
|
if (g_InvKeysObjects) {
|
||||||
|
@ -628,7 +629,7 @@ static int32_t Inv_ConstructAndDisplay(int inv_mode)
|
||||||
g_InputDB = (INPUT_STATE) { 0 };
|
g_InputDB = (INPUT_STATE) { 0 };
|
||||||
}
|
}
|
||||||
} else if (
|
} else if (
|
||||||
g_InputDB.back && g_InvMode != INV_TITLE_MODE
|
g_InputDB.menu_down && g_InvMode != INV_TITLE_MODE
|
||||||
&& g_InvMode != INV_KEYS_MODE) {
|
&& g_InvMode != INV_KEYS_MODE) {
|
||||||
if (ring.type == RT_KEYS) {
|
if (ring.type == RT_KEYS) {
|
||||||
if (g_InvMainObjects) {
|
if (g_InvMainObjects) {
|
||||||
|
@ -756,7 +757,7 @@ static int32_t Inv_ConstructAndDisplay(int inv_mode)
|
||||||
if (!busy && !g_IDelay) {
|
if (!busy && !g_IDelay) {
|
||||||
Option_DoInventory(inv_item);
|
Option_DoInventory(inv_item);
|
||||||
|
|
||||||
if (g_InputDB.deselect) {
|
if (g_InputDB.menu_back) {
|
||||||
inv_item->sprlist = NULL;
|
inv_item->sprlist = NULL;
|
||||||
Inv_Ring_MotionSetup(
|
Inv_Ring_MotionSetup(
|
||||||
&ring, RNG_CLOSING_ITEM, RNG_DESELECT, 0);
|
&ring, RNG_CLOSING_ITEM, RNG_DESELECT, 0);
|
||||||
|
@ -772,7 +773,7 @@ static int32_t Inv_ConstructAndDisplay(int inv_mode)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (g_InputDB.select) {
|
if (g_InputDB.menu_confirm) {
|
||||||
inv_item->sprlist = NULL;
|
inv_item->sprlist = NULL;
|
||||||
g_InvChosen = inv_item->object_number;
|
g_InvChosen = inv_item->object_number;
|
||||||
if (ring.type == RT_MAIN) {
|
if (ring.type == RT_MAIN) {
|
||||||
|
|
|
@ -70,7 +70,7 @@ void Option_DoInventory(INVENTORY_ITEM *inv_item)
|
||||||
case O_PICKUP_OPTION1:
|
case O_PICKUP_OPTION1:
|
||||||
case O_PICKUP_OPTION2:
|
case O_PICKUP_OPTION2:
|
||||||
case O_SCION_OPTION:
|
case O_SCION_OPTION:
|
||||||
g_InputDB.select = 1;
|
g_InputDB.menu_confirm = 1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case O_GUN_AMMO_OPTION:
|
case O_GUN_AMMO_OPTION:
|
||||||
|
@ -80,7 +80,7 @@ void Option_DoInventory(INVENTORY_ITEM *inv_item)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
if (g_InputDB.deselect || g_InputDB.select) {
|
if (g_InputDB.menu_confirm || g_InputDB.menu_back) {
|
||||||
inv_item->goal_frame = 0;
|
inv_item->goal_frame = 0;
|
||||||
inv_item->anim_direction = -1;
|
inv_item->anim_direction = -1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -131,7 +131,7 @@ void Option_Compass(INVENTORY_ITEM *inv_item)
|
||||||
Text_ChangeText(m_Text[TEXT_TIME], buf);
|
Text_ChangeText(m_Text[TEXT_TIME], buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (g_InputDB.deselect || g_InputDB.select) {
|
if (g_InputDB.menu_confirm || g_InputDB.menu_back) {
|
||||||
for (int i = 0; i < TEXT_NUMBER_OF; i++) {
|
for (int i = 0; i < TEXT_NUMBER_OF; i++) {
|
||||||
Text_Remove(m_Text[i]);
|
Text_Remove(m_Text[i]);
|
||||||
m_Text[i] = NULL;
|
m_Text[i] = NULL;
|
||||||
|
|
|
@ -517,16 +517,16 @@ static INPUT_LAYOUT Option_ControlChangeLayout(CONTROL_MODE mode)
|
||||||
{
|
{
|
||||||
INPUT_LAYOUT layout_num = INPUT_LAYOUT_DEFAULT;
|
INPUT_LAYOUT layout_num = INPUT_LAYOUT_DEFAULT;
|
||||||
if (mode == CM_KEYBOARD) {
|
if (mode == CM_KEYBOARD) {
|
||||||
g_Config.input.layout += g_InputDB.left ? -1 : 0;
|
g_Config.input.layout += g_InputDB.menu_left ? -1 : 0;
|
||||||
g_Config.input.layout += g_InputDB.right ? 1 : 0;
|
g_Config.input.layout += g_InputDB.menu_right ? 1 : 0;
|
||||||
g_Config.input.layout += INPUT_LAYOUT_NUMBER_OF;
|
g_Config.input.layout += INPUT_LAYOUT_NUMBER_OF;
|
||||||
g_Config.input.layout %= INPUT_LAYOUT_NUMBER_OF;
|
g_Config.input.layout %= INPUT_LAYOUT_NUMBER_OF;
|
||||||
layout_num = g_Config.input.layout;
|
layout_num = g_Config.input.layout;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mode == CM_CONTROLLER) {
|
if (mode == CM_CONTROLLER) {
|
||||||
g_Config.input.cntlr_layout += g_InputDB.left ? -1 : 0;
|
g_Config.input.cntlr_layout += g_InputDB.menu_left ? -1 : 0;
|
||||||
g_Config.input.cntlr_layout += g_InputDB.right ? 1 : 0;
|
g_Config.input.cntlr_layout += g_InputDB.menu_right ? 1 : 0;
|
||||||
g_Config.input.cntlr_layout += INPUT_LAYOUT_NUMBER_OF;
|
g_Config.input.cntlr_layout += INPUT_LAYOUT_NUMBER_OF;
|
||||||
g_Config.input.cntlr_layout %= INPUT_LAYOUT_NUMBER_OF;
|
g_Config.input.cntlr_layout %= INPUT_LAYOUT_NUMBER_OF;
|
||||||
layout_num = g_Config.input.cntlr_layout;
|
layout_num = g_Config.input.cntlr_layout;
|
||||||
|
@ -680,8 +680,8 @@ CONTROL_MODE Option_Control(INVENTORY_ITEM *inv_item, CONTROL_MODE mode)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (g_InputDB.deselect
|
if (g_InputDB.menu_back
|
||||||
|| (g_InputDB.select && m_ControlMenu.cur_role == KC_TITLE)) {
|
|| (g_InputDB.menu_confirm && m_ControlMenu.cur_role == KC_TITLE)) {
|
||||||
Option_ControlShutdownText();
|
Option_ControlShutdownText();
|
||||||
m_KeyMode = KM_INACTIVE;
|
m_KeyMode = KM_INACTIVE;
|
||||||
g_Input = (INPUT_STATE) { 0 };
|
g_Input = (INPUT_STATE) { 0 };
|
||||||
|
@ -689,16 +689,16 @@ CONTROL_MODE Option_Control(INVENTORY_ITEM *inv_item, CONTROL_MODE mode)
|
||||||
return CM_PICK;
|
return CM_PICK;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((g_InputDB.left || g_InputDB.right)
|
if ((g_InputDB.menu_left || g_InputDB.menu_right)
|
||||||
&& m_ControlMenu.cur_role == KC_TITLE) {
|
&& m_ControlMenu.cur_role == KC_TITLE) {
|
||||||
layout_num = Option_ControlChangeLayout(mode);
|
layout_num = Option_ControlChangeLayout(mode);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (g_InputDB.select) {
|
if (g_InputDB.menu_confirm) {
|
||||||
if (layout_num > INPUT_LAYOUT_DEFAULT) {
|
if (layout_num > INPUT_LAYOUT_DEFAULT) {
|
||||||
m_KeyMode = KM_BROWSEKEYUP;
|
m_KeyMode = KM_BROWSEKEYUP;
|
||||||
}
|
}
|
||||||
} else if (g_InputDB.forward) {
|
} else if (g_InputDB.menu_up) {
|
||||||
if (m_ControlMenu.cur_role == KC_TITLE) {
|
if (m_ControlMenu.cur_role == KC_TITLE) {
|
||||||
m_ControlMenu.row_num = m_ControlMenu.vis_options - 1;
|
m_ControlMenu.row_num = m_ControlMenu.vis_options - 1;
|
||||||
m_ControlMenu.cur_role = m_ControlMenu.last_role;
|
m_ControlMenu.cur_role = m_ControlMenu.last_role;
|
||||||
|
@ -727,7 +727,7 @@ CONTROL_MODE Option_Control(INVENTORY_ITEM *inv_item, CONTROL_MODE mode)
|
||||||
}
|
}
|
||||||
Option_ControlUpdateText(mode, layout_num);
|
Option_ControlUpdateText(mode, layout_num);
|
||||||
Option_ControlFlashConflicts(mode, layout_num);
|
Option_ControlFlashConflicts(mode, layout_num);
|
||||||
} else if (g_InputDB.back) {
|
} else if (g_InputDB.menu_down) {
|
||||||
if (m_ControlMenu.cur_role == KC_TITLE) {
|
if (m_ControlMenu.cur_role == KC_TITLE) {
|
||||||
m_ControlMenu.row_num++;
|
m_ControlMenu.row_num++;
|
||||||
m_ControlMenu.cur_role = m_ControlMenu.first_role;
|
m_ControlMenu.cur_role = m_ControlMenu.first_role;
|
||||||
|
|
|
@ -61,7 +61,7 @@ CONTROL_MODE Option_ControlPick(void)
|
||||||
Option_ControlPickInitText();
|
Option_ControlPickInitText();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (g_InputDB.forward && g_OptionSelected > TEXT_OPTION_MIN) {
|
if (g_InputDB.menu_up && g_OptionSelected > TEXT_OPTION_MIN) {
|
||||||
Text_RemoveOutline(m_Text[g_OptionSelected]);
|
Text_RemoveOutline(m_Text[g_OptionSelected]);
|
||||||
Text_RemoveBackground(m_Text[g_OptionSelected]);
|
Text_RemoveBackground(m_Text[g_OptionSelected]);
|
||||||
--g_OptionSelected;
|
--g_OptionSelected;
|
||||||
|
@ -70,7 +70,7 @@ CONTROL_MODE Option_ControlPick(void)
|
||||||
Text_AddOutline(m_Text[g_OptionSelected], true, TS_REQUESTED);
|
Text_AddOutline(m_Text[g_OptionSelected], true, TS_REQUESTED);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (g_InputDB.back && g_OptionSelected < TEXT_OPTION_MAX) {
|
if (g_InputDB.menu_down && g_OptionSelected < TEXT_OPTION_MAX) {
|
||||||
Text_RemoveOutline(m_Text[g_OptionSelected]);
|
Text_RemoveOutline(m_Text[g_OptionSelected]);
|
||||||
Text_RemoveBackground(m_Text[g_OptionSelected]);
|
Text_RemoveBackground(m_Text[g_OptionSelected]);
|
||||||
++g_OptionSelected;
|
++g_OptionSelected;
|
||||||
|
@ -81,7 +81,7 @@ CONTROL_MODE Option_ControlPick(void)
|
||||||
|
|
||||||
switch (g_OptionSelected) {
|
switch (g_OptionSelected) {
|
||||||
case TEXT_KEYBOARD:
|
case TEXT_KEYBOARD:
|
||||||
if (g_InputDB.select) {
|
if (g_InputDB.menu_confirm) {
|
||||||
Option_ControlPickShutdownText();
|
Option_ControlPickShutdownText();
|
||||||
g_Input = (INPUT_STATE) { 0 };
|
g_Input = (INPUT_STATE) { 0 };
|
||||||
g_InputDB = (INPUT_STATE) { 0 };
|
g_InputDB = (INPUT_STATE) { 0 };
|
||||||
|
@ -90,7 +90,7 @@ CONTROL_MODE Option_ControlPick(void)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TEXT_CONTROLLER:
|
case TEXT_CONTROLLER:
|
||||||
if (g_InputDB.select) {
|
if (g_InputDB.menu_confirm) {
|
||||||
Option_ControlPickShutdownText();
|
Option_ControlPickShutdownText();
|
||||||
g_Input = (INPUT_STATE) { 0 };
|
g_Input = (INPUT_STATE) { 0 };
|
||||||
g_InputDB = (INPUT_STATE) { 0 };
|
g_InputDB = (INPUT_STATE) { 0 };
|
||||||
|
@ -99,7 +99,7 @@ CONTROL_MODE Option_ControlPick(void)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (g_InputDB.deselect) {
|
if (g_InputDB.menu_back) {
|
||||||
Option_ControlPickShutdownText();
|
Option_ControlPickShutdownText();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -304,7 +304,7 @@ void Option_Graphics(INVENTORY_ITEM *inv_item)
|
||||||
m_IsTextInit = true;
|
m_IsTextInit = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (g_InputDB.forward && g_OptionSelected > TEXT_OPTION_MIN) {
|
if (g_InputDB.menu_up && g_OptionSelected > TEXT_OPTION_MIN) {
|
||||||
g_OptionSelected--;
|
g_OptionSelected--;
|
||||||
Text_AddBackground(
|
Text_AddBackground(
|
||||||
m_Text[TEXT_ROW_SELECT], ROW_WIDTH - 7, 0, 0,
|
m_Text[TEXT_ROW_SELECT], ROW_WIDTH - 7, 0, 0,
|
||||||
|
@ -312,7 +312,7 @@ void Option_Graphics(INVENTORY_ITEM *inv_item)
|
||||||
Text_AddOutline(m_Text[TEXT_ROW_SELECT], true, TS_REQUESTED);
|
Text_AddOutline(m_Text[TEXT_ROW_SELECT], true, TS_REQUESTED);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (g_InputDB.back && g_OptionSelected < TEXT_OPTION_MAX) {
|
if (g_InputDB.menu_down && g_OptionSelected < TEXT_OPTION_MAX) {
|
||||||
g_OptionSelected++;
|
g_OptionSelected++;
|
||||||
Text_AddBackground(
|
Text_AddBackground(
|
||||||
m_Text[TEXT_ROW_SELECT], ROW_WIDTH - 7, 0, 0,
|
m_Text[TEXT_ROW_SELECT], ROW_WIDTH - 7, 0, 0,
|
||||||
|
@ -322,7 +322,7 @@ void Option_Graphics(INVENTORY_ITEM *inv_item)
|
||||||
|
|
||||||
int32_t reset = -1;
|
int32_t reset = -1;
|
||||||
|
|
||||||
if (g_InputDB.right) {
|
if (g_InputDB.menu_right) {
|
||||||
switch (g_OptionSelected) {
|
switch (g_OptionSelected) {
|
||||||
case TEXT_PERSPECTIVE:
|
case TEXT_PERSPECTIVE:
|
||||||
if (!g_Config.rendering.enable_perspective_filter) {
|
if (!g_Config.rendering.enable_perspective_filter) {
|
||||||
|
@ -372,7 +372,7 @@ void Option_Graphics(INVENTORY_ITEM *inv_item)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (g_InputDB.left) {
|
if (g_InputDB.menu_left) {
|
||||||
switch (g_OptionSelected) {
|
switch (g_OptionSelected) {
|
||||||
case TEXT_PERSPECTIVE:
|
case TEXT_PERSPECTIVE:
|
||||||
if (g_Config.rendering.enable_perspective_filter) {
|
if (g_Config.rendering.enable_perspective_filter) {
|
||||||
|
@ -422,7 +422,7 @@ void Option_Graphics(INVENTORY_ITEM *inv_item)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (g_InputDB.deselect || g_InputDB.select) {
|
if (g_InputDB.menu_confirm || g_InputDB.menu_back) {
|
||||||
reset = TEXT_NUMBER_OF;
|
reset = TEXT_NUMBER_OF;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -317,7 +317,7 @@ static void Option_PassportLoadGame(void)
|
||||||
if (!(g_SavegameRequester.item_flags[g_SavegameRequester.requested]
|
if (!(g_SavegameRequester.item_flags[g_SavegameRequester.requested]
|
||||||
& RIF_BLOCKED)
|
& RIF_BLOCKED)
|
||||||
|| !(g_SavegameRequester.flags & RIF_BLOCKABLE)) {
|
|| !(g_SavegameRequester.flags & RIF_BLOCKABLE)) {
|
||||||
if (g_InputDB.right) {
|
if (g_InputDB.menu_right) {
|
||||||
g_GameInfo.current_save_slot = g_SavegameRequester.requested;
|
g_GameInfo.current_save_slot = g_SavegameRequester.requested;
|
||||||
Text_Hide(m_Text[TEXT_LEVEL_ARROW_RIGHT], true);
|
Text_Hide(m_Text[TEXT_LEVEL_ARROW_RIGHT], true);
|
||||||
Requester_Remove(&g_SavegameRequester);
|
Requester_Remove(&g_SavegameRequester);
|
||||||
|
@ -355,7 +355,7 @@ static void Option_PassportLoadGame(void)
|
||||||
|
|
||||||
static void Option_PassportSelectLevel(void)
|
static void Option_PassportSelectLevel(void)
|
||||||
{
|
{
|
||||||
if (g_InputDB.left) {
|
if (g_InputDB.menu_left) {
|
||||||
Text_Hide(m_Text[TEXT_LEVEL_ARROW_LEFT], true);
|
Text_Hide(m_Text[TEXT_LEVEL_ARROW_LEFT], true);
|
||||||
Requester_Remove(&m_SelectLevelRequester);
|
Requester_Remove(&m_SelectLevelRequester);
|
||||||
Option_PassportInitSaveRequester(PASSPORT_PAGE_1);
|
Option_PassportInitSaveRequester(PASSPORT_PAGE_1);
|
||||||
|
@ -397,8 +397,8 @@ void Option_Passport(INVENTORY_ITEM *inv_item)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (g_InvMode == INV_SAVE_MODE || g_InvMode == INV_SAVE_CRYSTAL_MODE) {
|
if (g_InvMode == INV_SAVE_MODE || g_InvMode == INV_SAVE_CRYSTAL_MODE) {
|
||||||
g_InputDB.left = 0;
|
g_InputDB.menu_left = 0;
|
||||||
g_InputDB.right = 0;
|
g_InputDB.menu_right = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (page) {
|
switch (page) {
|
||||||
|
@ -416,7 +416,7 @@ void Option_Passport(INVENTORY_ITEM *inv_item)
|
||||||
Text_ChangeText(
|
Text_ChangeText(
|
||||||
m_Text[TEXT_PAGE_NAME],
|
m_Text[TEXT_PAGE_NAME],
|
||||||
g_GameFlow.strings[GS_PASSPORT_LOAD_GAME]);
|
g_GameFlow.strings[GS_PASSPORT_LOAD_GAME]);
|
||||||
if (g_InputDB.select || g_InvMode == INV_LOAD_MODE) {
|
if (g_InputDB.menu_confirm || g_InvMode == INV_LOAD_MODE) {
|
||||||
g_SavegameRequester.flags |= RIF_BLOCKABLE;
|
g_SavegameRequester.flags |= RIF_BLOCKABLE;
|
||||||
Option_PassportInitSaveRequester(page);
|
Option_PassportInitSaveRequester(page);
|
||||||
m_PassportMode = PASSPORT_MODE_SHOW_SAVES;
|
m_PassportMode = PASSPORT_MODE_SHOW_SAVES;
|
||||||
|
@ -439,7 +439,7 @@ void Option_Passport(INVENTORY_ITEM *inv_item)
|
||||||
Text_Hide(m_Text[TEXT_LEFT_ARROW], false);
|
Text_Hide(m_Text[TEXT_LEFT_ARROW], false);
|
||||||
Text_Hide(m_Text[TEXT_RIGHT_ARROW], false);
|
Text_Hide(m_Text[TEXT_RIGHT_ARROW], false);
|
||||||
if (g_SavedGamesCount == 0) {
|
if (g_SavedGamesCount == 0) {
|
||||||
g_InputDB.left = 0;
|
g_InputDB.menu_left = 0;
|
||||||
Text_Hide(m_Text[TEXT_LEFT_ARROW], true);
|
Text_Hide(m_Text[TEXT_LEFT_ARROW], true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -464,7 +464,7 @@ void Option_Passport(INVENTORY_ITEM *inv_item)
|
||||||
g_GameFlow.strings[GS_PASSPORT_SAVE_GAME]);
|
g_GameFlow.strings[GS_PASSPORT_SAVE_GAME]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (g_InputDB.select || g_InvMode == INV_SAVE_MODE
|
if (g_InputDB.menu_confirm || g_InvMode == INV_SAVE_MODE
|
||||||
|| g_InvMode == INV_SAVE_CRYSTAL_MODE) {
|
|| g_InvMode == INV_SAVE_CRYSTAL_MODE) {
|
||||||
Text_Hide(m_Text[TEXT_LEFT_ARROW], true);
|
Text_Hide(m_Text[TEXT_LEFT_ARROW], true);
|
||||||
Text_Hide(m_Text[TEXT_RIGHT_ARROW], true);
|
Text_Hide(m_Text[TEXT_RIGHT_ARROW], true);
|
||||||
|
@ -516,7 +516,7 @@ void Option_Passport(INVENTORY_ITEM *inv_item)
|
||||||
true,
|
true,
|
||||||
};
|
};
|
||||||
|
|
||||||
if (g_InputDB.left && (g_SavedGamesCount || page > PASSPORT_PAGE_1)) {
|
if (g_InputDB.menu_left && (g_SavedGamesCount || page > PASSPORT_PAGE_1)) {
|
||||||
while (--page >= PASSPORT_PAGE_1) {
|
while (--page >= PASSPORT_PAGE_1) {
|
||||||
if (pages_available[page]) {
|
if (pages_available[page]) {
|
||||||
break;
|
break;
|
||||||
|
@ -533,7 +533,7 @@ void Option_Passport(INVENTORY_ITEM *inv_item)
|
||||||
g_InputDB = (INPUT_STATE) { 0 };
|
g_InputDB = (INPUT_STATE) { 0 };
|
||||||
}
|
}
|
||||||
|
|
||||||
if (g_InputDB.right) {
|
if (g_InputDB.menu_right) {
|
||||||
g_Input = (INPUT_STATE) { 0 };
|
g_Input = (INPUT_STATE) { 0 };
|
||||||
g_InputDB = (INPUT_STATE) { 0 };
|
g_InputDB = (INPUT_STATE) { 0 };
|
||||||
|
|
||||||
|
@ -550,7 +550,7 @@ void Option_Passport(INVENTORY_ITEM *inv_item)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (g_InputDB.deselect) {
|
if (g_InputDB.menu_back) {
|
||||||
if (g_InvMode == INV_DEATH_MODE) {
|
if (g_InvMode == INV_DEATH_MODE) {
|
||||||
g_Input = (INPUT_STATE) { 0 };
|
g_Input = (INPUT_STATE) { 0 };
|
||||||
g_InputDB = (INPUT_STATE) { 0 };
|
g_InputDB = (INPUT_STATE) { 0 };
|
||||||
|
@ -566,7 +566,7 @@ void Option_Passport(INVENTORY_ITEM *inv_item)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (g_InputDB.select) {
|
if (g_InputDB.menu_confirm) {
|
||||||
g_GameInfo.passport_page = page;
|
g_GameInfo.passport_page = page;
|
||||||
if (page == PASSPORT_PAGE_3) {
|
if (page == PASSPORT_PAGE_3) {
|
||||||
inv_item->anim_direction = 1;
|
inv_item->anim_direction = 1;
|
||||||
|
|
|
@ -74,7 +74,7 @@ void Option_Sound(INVENTORY_ITEM *inv_item)
|
||||||
Option_SoundInitText();
|
Option_SoundInitText();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (g_InputDB.forward && g_OptionSelected > TEXT_OPTION_MIN) {
|
if (g_InputDB.menu_up && g_OptionSelected > TEXT_OPTION_MIN) {
|
||||||
Text_RemoveOutline(m_Text[g_OptionSelected]);
|
Text_RemoveOutline(m_Text[g_OptionSelected]);
|
||||||
Text_RemoveBackground(m_Text[g_OptionSelected]);
|
Text_RemoveBackground(m_Text[g_OptionSelected]);
|
||||||
--g_OptionSelected;
|
--g_OptionSelected;
|
||||||
|
@ -85,7 +85,7 @@ void Option_Sound(INVENTORY_ITEM *inv_item)
|
||||||
Text_SetPos(m_Text[TEXT_RIGHT_ARROW], 40, 0);
|
Text_SetPos(m_Text[TEXT_RIGHT_ARROW], 40, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (g_InputDB.back && g_OptionSelected < TEXT_OPTION_MAX) {
|
if (g_InputDB.menu_down && g_OptionSelected < TEXT_OPTION_MAX) {
|
||||||
Text_RemoveOutline(m_Text[g_OptionSelected]);
|
Text_RemoveOutline(m_Text[g_OptionSelected]);
|
||||||
Text_RemoveBackground(m_Text[g_OptionSelected]);
|
Text_RemoveBackground(m_Text[g_OptionSelected]);
|
||||||
++g_OptionSelected;
|
++g_OptionSelected;
|
||||||
|
@ -98,7 +98,7 @@ void Option_Sound(INVENTORY_ITEM *inv_item)
|
||||||
|
|
||||||
switch (g_OptionSelected) {
|
switch (g_OptionSelected) {
|
||||||
case TEXT_MUSIC_VOLUME:
|
case TEXT_MUSIC_VOLUME:
|
||||||
if (g_Input.left && g_Config.music_volume > MIN_VOLUME) {
|
if (g_Input.menu_left && g_Config.music_volume > MIN_VOLUME) {
|
||||||
g_Config.music_volume--;
|
g_Config.music_volume--;
|
||||||
g_IDelay = true;
|
g_IDelay = true;
|
||||||
g_IDCount = 10;
|
g_IDCount = 10;
|
||||||
|
@ -107,7 +107,7 @@ void Option_Sound(INVENTORY_ITEM *inv_item)
|
||||||
sprintf(buf, "| %2d", g_Config.music_volume);
|
sprintf(buf, "| %2d", g_Config.music_volume);
|
||||||
Text_ChangeText(m_Text[TEXT_MUSIC_VOLUME], buf);
|
Text_ChangeText(m_Text[TEXT_MUSIC_VOLUME], buf);
|
||||||
Config_Write();
|
Config_Write();
|
||||||
} else if (g_Input.right && g_Config.music_volume < MAX_VOLUME) {
|
} else if (g_Input.menu_right && g_Config.music_volume < MAX_VOLUME) {
|
||||||
g_Config.music_volume++;
|
g_Config.music_volume++;
|
||||||
g_IDelay = true;
|
g_IDelay = true;
|
||||||
g_IDCount = 10;
|
g_IDCount = 10;
|
||||||
|
@ -130,7 +130,7 @@ void Option_Sound(INVENTORY_ITEM *inv_item)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case TEXT_SOUND_VOLUME:
|
case TEXT_SOUND_VOLUME:
|
||||||
if (g_Input.left && g_Config.sound_volume > MIN_VOLUME) {
|
if (g_Input.menu_left && g_Config.sound_volume > MIN_VOLUME) {
|
||||||
g_Config.sound_volume--;
|
g_Config.sound_volume--;
|
||||||
g_IDelay = true;
|
g_IDelay = true;
|
||||||
g_IDCount = 10;
|
g_IDCount = 10;
|
||||||
|
@ -139,7 +139,7 @@ void Option_Sound(INVENTORY_ITEM *inv_item)
|
||||||
sprintf(buf, "} %2d", g_Config.sound_volume);
|
sprintf(buf, "} %2d", g_Config.sound_volume);
|
||||||
Text_ChangeText(m_Text[TEXT_SOUND_VOLUME], buf);
|
Text_ChangeText(m_Text[TEXT_SOUND_VOLUME], buf);
|
||||||
Config_Write();
|
Config_Write();
|
||||||
} else if (g_Input.right && g_Config.sound_volume < MAX_VOLUME) {
|
} else if (g_Input.menu_right && g_Config.sound_volume < MAX_VOLUME) {
|
||||||
g_Config.sound_volume++;
|
g_Config.sound_volume++;
|
||||||
g_IDelay = true;
|
g_IDelay = true;
|
||||||
g_IDCount = 10;
|
g_IDCount = 10;
|
||||||
|
@ -162,7 +162,7 @@ void Option_Sound(INVENTORY_ITEM *inv_item)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (g_InputDB.deselect || g_InputDB.select) {
|
if (g_InputDB.menu_confirm || g_InputDB.menu_back) {
|
||||||
for (int i = 0; i < TEXT_NUMBER_OF; i++) {
|
for (int i = 0; i < TEXT_NUMBER_OF; i++) {
|
||||||
Text_Remove(m_Text[i]);
|
Text_Remove(m_Text[i]);
|
||||||
m_Text[i] = NULL;
|
m_Text[i] = NULL;
|
||||||
|
|
|
@ -132,7 +132,7 @@ int32_t Requester_Display(REQUEST_INFO *req)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (g_InputDB.back) {
|
if (g_InputDB.menu_down) {
|
||||||
if (req->requested < req->items - 1) {
|
if (req->requested < req->items - 1) {
|
||||||
req->requested++;
|
req->requested++;
|
||||||
}
|
}
|
||||||
|
@ -144,7 +144,7 @@ int32_t Requester_Display(REQUEST_INFO *req)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (g_InputDB.forward) {
|
if (g_InputDB.menu_up) {
|
||||||
if (req->requested) {
|
if (req->requested) {
|
||||||
req->requested--;
|
req->requested--;
|
||||||
}
|
}
|
||||||
|
@ -156,7 +156,7 @@ int32_t Requester_Display(REQUEST_INFO *req)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (g_InputDB.select) {
|
if (g_InputDB.menu_confirm) {
|
||||||
if ((req->item_flags[req->requested] & RIF_BLOCKED)
|
if ((req->item_flags[req->requested] & RIF_BLOCKED)
|
||||||
&& (req->flags & RIF_BLOCKABLE)) {
|
&& (req->flags & RIF_BLOCKABLE)) {
|
||||||
g_Input = (INPUT_STATE) { 0 };
|
g_Input = (INPUT_STATE) { 0 };
|
||||||
|
@ -165,7 +165,7 @@ int32_t Requester_Display(REQUEST_INFO *req)
|
||||||
Requester_Remove(req);
|
Requester_Remove(req);
|
||||||
return req->requested + 1;
|
return req->requested + 1;
|
||||||
}
|
}
|
||||||
} else if (g_InputDB.deselect) {
|
} else if (g_InputDB.menu_back) {
|
||||||
Requester_Remove(req);
|
Requester_Remove(req);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -369,7 +369,7 @@ void Stats_Show(int32_t level_num)
|
||||||
Input_Update();
|
Input_Update();
|
||||||
Text_Draw();
|
Text_Draw();
|
||||||
Output_DumpScreen();
|
Output_DumpScreen();
|
||||||
} while (!g_InputDB.select && !g_InputDB.deselect);
|
} while (!g_InputDB.menu_confirm && !g_InputDB.menu_back);
|
||||||
|
|
||||||
Output_FadeToBlack(false);
|
Output_FadeToBlack(false);
|
||||||
Text_RemoveAll();
|
Text_RemoveAll();
|
||||||
|
@ -529,7 +529,7 @@ void Stats_ShowTotal(const char *filename)
|
||||||
Input_Update();
|
Input_Update();
|
||||||
Text_Draw();
|
Text_Draw();
|
||||||
Output_DumpScreen();
|
Output_DumpScreen();
|
||||||
} while (!g_InputDB.select && !g_InputDB.deselect);
|
} while (!g_InputDB.menu_confirm && !g_InputDB.menu_back);
|
||||||
|
|
||||||
// fade out
|
// fade out
|
||||||
Output_FadeToBlack(true);
|
Output_FadeToBlack(true);
|
||||||
|
|
|
@ -2006,8 +2006,6 @@ typedef union INPUT_STATE {
|
||||||
uint64_t step_right : 1;
|
uint64_t step_right : 1;
|
||||||
uint64_t roll : 1;
|
uint64_t roll : 1;
|
||||||
uint64_t pause : 1;
|
uint64_t pause : 1;
|
||||||
uint64_t select : 1;
|
|
||||||
uint64_t deselect : 1;
|
|
||||||
uint64_t save : 1;
|
uint64_t save : 1;
|
||||||
uint64_t load : 1;
|
uint64_t load : 1;
|
||||||
uint64_t fly_cheat : 1;
|
uint64_t fly_cheat : 1;
|
||||||
|
@ -2029,6 +2027,12 @@ typedef union INPUT_STATE {
|
||||||
uint64_t toggle_bilinear_filter : 1;
|
uint64_t toggle_bilinear_filter : 1;
|
||||||
uint64_t toggle_perspective_filter : 1;
|
uint64_t toggle_perspective_filter : 1;
|
||||||
uint64_t toggle_fps_counter : 1;
|
uint64_t toggle_fps_counter : 1;
|
||||||
|
uint64_t menu_up : 1;
|
||||||
|
uint64_t menu_down : 1;
|
||||||
|
uint64_t menu_left : 1;
|
||||||
|
uint64_t menu_right : 1;
|
||||||
|
uint64_t menu_confirm : 1;
|
||||||
|
uint64_t menu_back : 1;
|
||||||
};
|
};
|
||||||
} INPUT_STATE;
|
} INPUT_STATE;
|
||||||
|
|
||||||
|
|
|
@ -2185,7 +2185,7 @@ static void S_FMV_RefreshLoopWaitEvent(VideoState *is, SDL_Event *event)
|
||||||
event, 1, SDL_GETEVENT, SDL_FIRSTEVENT, SDL_LASTEVENT)) {
|
event, 1, SDL_GETEVENT, SDL_FIRSTEVENT, SDL_LASTEVENT)) {
|
||||||
|
|
||||||
Input_Update();
|
Input_Update();
|
||||||
if (g_InputDB.deselect || g_InputDB.select) {
|
if (g_InputDB.menu_confirm || g_InputDB.menu_back) {
|
||||||
is->abort_request = true;
|
is->abort_request = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -608,7 +608,7 @@ static const char *S_Input_GetButtonName(SDL_GameControllerButton button)
|
||||||
case SDL_CONTROLLER_BUTTON_DPAD_DOWN: return "\202 ";
|
case SDL_CONTROLLER_BUTTON_DPAD_DOWN: return "\202 ";
|
||||||
case SDL_CONTROLLER_BUTTON_DPAD_LEFT: return "\200 ";
|
case SDL_CONTROLLER_BUTTON_DPAD_LEFT: return "\200 ";
|
||||||
case SDL_CONTROLLER_BUTTON_DPAD_RIGHT: return "\201 ";
|
case SDL_CONTROLLER_BUTTON_DPAD_RIGHT: return "\201 ";
|
||||||
case SDL_CONTROLLER_BUTTON_MISC1: return "MIC"; /* Xbox Series X share button, PS5 microphone button, Nintendo Switch Pro capture button, Amazon Luna microphone button */
|
case SDL_CONTROLLER_BUTTON_MISC1: return "MIC"; /* PS5 microphone button */
|
||||||
case SDL_CONTROLLER_BUTTON_PADDLE1: return "PADDLE 1"; /* Xbox Elite paddle P1 (upper left, facing the back) */
|
case SDL_CONTROLLER_BUTTON_PADDLE1: return "PADDLE 1"; /* Xbox Elite paddle P1 (upper left, facing the back) */
|
||||||
case SDL_CONTROLLER_BUTTON_PADDLE2: return "PADDLE 2"; /* Xbox Elite paddle P3 (upper right, facing the back) */
|
case SDL_CONTROLLER_BUTTON_PADDLE2: return "PADDLE 2"; /* Xbox Elite paddle P3 (upper right, facing the back) */
|
||||||
case SDL_CONTROLLER_BUTTON_PADDLE3: return "PADDLE 3"; /* Xbox Elite paddle P2 (lower left, facing the back) */
|
case SDL_CONTROLLER_BUTTON_PADDLE3: return "PADDLE 3"; /* Xbox Elite paddle P2 (lower left, facing the back) */
|
||||||
|
@ -637,7 +637,7 @@ static const char *S_Input_GetButtonName(SDL_GameControllerButton button)
|
||||||
case SDL_CONTROLLER_BUTTON_DPAD_DOWN: return "\202 ";
|
case SDL_CONTROLLER_BUTTON_DPAD_DOWN: return "\202 ";
|
||||||
case SDL_CONTROLLER_BUTTON_DPAD_LEFT: return "\200 ";
|
case SDL_CONTROLLER_BUTTON_DPAD_LEFT: return "\200 ";
|
||||||
case SDL_CONTROLLER_BUTTON_DPAD_RIGHT: return "\201 ";
|
case SDL_CONTROLLER_BUTTON_DPAD_RIGHT: return "\201 ";
|
||||||
case SDL_CONTROLLER_BUTTON_MISC1: return "CAPTURE"; /* Xbox Series X share button, PS5 microphone button, Nintendo Switch Pro capture button, Amazon Luna microphone button */
|
case SDL_CONTROLLER_BUTTON_MISC1: return "CAPTURE"; /* Nintendo Switch capture button */
|
||||||
case SDL_CONTROLLER_BUTTON_PADDLE1: return "PADDLE 1"; /* Xbox Elite paddle P1 (upper left, facing the back) */
|
case SDL_CONTROLLER_BUTTON_PADDLE1: return "PADDLE 1"; /* Xbox Elite paddle P1 (upper left, facing the back) */
|
||||||
case SDL_CONTROLLER_BUTTON_PADDLE2: return "PADDLE 2"; /* Xbox Elite paddle P3 (upper right, facing the back) */
|
case SDL_CONTROLLER_BUTTON_PADDLE2: return "PADDLE 2"; /* Xbox Elite paddle P3 (upper right, facing the back) */
|
||||||
case SDL_CONTROLLER_BUTTON_PADDLE3: return "PADDLE 3"; /* Xbox Elite paddle P2 (lower left, facing the back) */
|
case SDL_CONTROLLER_BUTTON_PADDLE3: return "PADDLE 3"; /* Xbox Elite paddle P2 (lower left, facing the back) */
|
||||||
|
@ -666,7 +666,7 @@ static const char *S_Input_GetButtonName(SDL_GameControllerButton button)
|
||||||
case SDL_CONTROLLER_BUTTON_DPAD_DOWN: return "\202 ";
|
case SDL_CONTROLLER_BUTTON_DPAD_DOWN: return "\202 ";
|
||||||
case SDL_CONTROLLER_BUTTON_DPAD_LEFT: return "\200 ";
|
case SDL_CONTROLLER_BUTTON_DPAD_LEFT: return "\200 ";
|
||||||
case SDL_CONTROLLER_BUTTON_DPAD_RIGHT: return "\201 ";
|
case SDL_CONTROLLER_BUTTON_DPAD_RIGHT: return "\201 ";
|
||||||
case SDL_CONTROLLER_BUTTON_MISC1: return "SHARE"; /* Xbox Series X share button, PS5 microphone button, Nintendo Switch Pro capture button, Amazon Luna microphone button */
|
case SDL_CONTROLLER_BUTTON_MISC1: return "SHARE"; /* Xbox Series X share button */
|
||||||
case SDL_CONTROLLER_BUTTON_PADDLE1: return "PADDLE 1"; /* Xbox Elite paddle P1 (upper left, facing the back) */
|
case SDL_CONTROLLER_BUTTON_PADDLE1: return "PADDLE 1"; /* Xbox Elite paddle P1 (upper left, facing the back) */
|
||||||
case SDL_CONTROLLER_BUTTON_PADDLE2: return "PADDLE 2"; /* Xbox Elite paddle P3 (upper right, facing the back) */
|
case SDL_CONTROLLER_BUTTON_PADDLE2: return "PADDLE 2"; /* Xbox Elite paddle P3 (upper right, facing the back) */
|
||||||
case SDL_CONTROLLER_BUTTON_PADDLE3: return "PADDLE 3"; /* Xbox Elite paddle P2 (lower left, facing the back) */
|
case SDL_CONTROLLER_BUTTON_PADDLE3: return "PADDLE 3"; /* Xbox Elite paddle P2 (lower left, facing the back) */
|
||||||
|
@ -832,12 +832,10 @@ static INPUT_STATE S_Input_GetControllerState(
|
||||||
state.slow |= S_Input_GetBindState(INPUT_ROLE_SLOW, cntlr_layout_num);
|
state.slow |= S_Input_GetBindState(INPUT_ROLE_SLOW, cntlr_layout_num);
|
||||||
state.jump |= S_Input_GetBindState(INPUT_ROLE_JUMP, cntlr_layout_num);
|
state.jump |= S_Input_GetBindState(INPUT_ROLE_JUMP, cntlr_layout_num);
|
||||||
state.action |= S_Input_GetBindState(INPUT_ROLE_ACTION, cntlr_layout_num);
|
state.action |= S_Input_GetBindState(INPUT_ROLE_ACTION, cntlr_layout_num);
|
||||||
state.select |= S_Input_GetBindState(INPUT_ROLE_ACTION, cntlr_layout_num);
|
|
||||||
state.draw |= S_Input_GetBindState(INPUT_ROLE_DRAW, cntlr_layout_num);
|
state.draw |= S_Input_GetBindState(INPUT_ROLE_DRAW, cntlr_layout_num);
|
||||||
state.look |= S_Input_GetBindState(INPUT_ROLE_LOOK, cntlr_layout_num);
|
state.look |= S_Input_GetBindState(INPUT_ROLE_LOOK, cntlr_layout_num);
|
||||||
state.roll |= S_Input_GetBindState(INPUT_ROLE_ROLL, cntlr_layout_num);
|
state.roll |= S_Input_GetBindState(INPUT_ROLE_ROLL, cntlr_layout_num);
|
||||||
state.option |= S_Input_GetBindState(INPUT_ROLE_OPTION, cntlr_layout_num);
|
state.option |= S_Input_GetBindState(INPUT_ROLE_OPTION, cntlr_layout_num);
|
||||||
state.deselect |= S_Input_GetBindState(INPUT_ROLE_OPTION, cntlr_layout_num);
|
|
||||||
state.pause |= S_Input_GetBindState(INPUT_ROLE_PAUSE, cntlr_layout_num);
|
state.pause |= S_Input_GetBindState(INPUT_ROLE_PAUSE, cntlr_layout_num);
|
||||||
state.camera_up |= S_Input_GetBindState(INPUT_ROLE_CAMERA_UP, cntlr_layout_num);
|
state.camera_up |= S_Input_GetBindState(INPUT_ROLE_CAMERA_UP, cntlr_layout_num);
|
||||||
state.camera_down |= S_Input_GetBindState(INPUT_ROLE_CAMERA_DOWN, cntlr_layout_num);
|
state.camera_down |= S_Input_GetBindState(INPUT_ROLE_CAMERA_DOWN, cntlr_layout_num);
|
||||||
|
@ -937,8 +935,12 @@ INPUT_STATE S_Input_GetCurrentState(
|
||||||
linput.use_small_medi = S_Input_Key(INPUT_ROLE_USE_SMALL_MEDI, layout_num);
|
linput.use_small_medi = S_Input_Key(INPUT_ROLE_USE_SMALL_MEDI, layout_num);
|
||||||
linput.use_big_medi = S_Input_Key(INPUT_ROLE_USE_BIG_MEDI, layout_num);
|
linput.use_big_medi = S_Input_Key(INPUT_ROLE_USE_BIG_MEDI, layout_num);
|
||||||
|
|
||||||
linput.select = S_Input_Key(INPUT_ROLE_ACTION, layout_num);
|
linput.menu_up = KEY_DOWN(SDL_SCANCODE_UP);
|
||||||
linput.deselect = S_Input_Key(INPUT_ROLE_OPTION, layout_num);
|
linput.menu_down = KEY_DOWN(SDL_SCANCODE_DOWN);
|
||||||
|
linput.menu_left = KEY_DOWN(SDL_SCANCODE_LEFT);
|
||||||
|
linput.menu_right = KEY_DOWN(SDL_SCANCODE_RIGHT);
|
||||||
|
linput.menu_confirm = KEY_DOWN(SDL_SCANCODE_RETURN);
|
||||||
|
linput.menu_back = KEY_DOWN(SDL_SCANCODE_ESCAPE);
|
||||||
|
|
||||||
linput.save = S_Input_Key(INPUT_ROLE_SAVE, layout_num);
|
linput.save = S_Input_Key(INPUT_ROLE_SAVE, layout_num);
|
||||||
linput.load = S_Input_Key(INPUT_ROLE_LOAD, layout_num);
|
linput.load = S_Input_Key(INPUT_ROLE_LOAD, layout_num);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue