mirror of
https://github.com/ClassiCube/ClassiCube.git
synced 2025-09-15 18:45:23 -04:00
Mobile: Move 'Chat' and 'Fog' into main touch menu instead of touch controls menu
This commit is contained in:
parent
cfa8944d1a
commit
cba3fd587b
53
src/Menus.c
53
src/Menus.c
@ -3794,7 +3794,7 @@ void TouchOnscreenScreen_Show(void) {
|
|||||||
/*########################################################################################################################*
|
/*########################################################################################################################*
|
||||||
*---------------------------------------------------TouchControlsScreen---------------------------------------------------*
|
*---------------------------------------------------TouchControlsScreen---------------------------------------------------*
|
||||||
*#########################################################################################################################*/
|
*#########################################################################################################################*/
|
||||||
#define TOUCHCTRLS_BTNS 6
|
#define TOUCHCTRLS_BTNS 4
|
||||||
static struct TouchCtrlsScreen {
|
static struct TouchCtrlsScreen {
|
||||||
Screen_Body
|
Screen_Body
|
||||||
struct ButtonWidget back;
|
struct ButtonWidget back;
|
||||||
@ -3805,19 +3805,18 @@ static struct TouchCtrlsScreen {
|
|||||||
static struct Widget* touchCtrls_widgets[1 + TOUCHCTRLS_BTNS] = {
|
static struct Widget* touchCtrls_widgets[1 + TOUCHCTRLS_BTNS] = {
|
||||||
(struct Widget*)&TouchCtrlsScreen.back, (struct Widget*)&TouchCtrlsScreen.btns[0],
|
(struct Widget*)&TouchCtrlsScreen.back, (struct Widget*)&TouchCtrlsScreen.btns[0],
|
||||||
(struct Widget*)&TouchCtrlsScreen.btns[1], (struct Widget*)&TouchCtrlsScreen.btns[2],
|
(struct Widget*)&TouchCtrlsScreen.btns[1], (struct Widget*)&TouchCtrlsScreen.btns[2],
|
||||||
(struct Widget*)&TouchCtrlsScreen.btns[3], (struct Widget*)&TouchCtrlsScreen.btns[4],
|
(struct Widget*)&TouchCtrlsScreen.btns[3]
|
||||||
(struct Widget*)&TouchCtrlsScreen.btns[5]
|
|
||||||
};
|
};
|
||||||
#define TOUCHCTRLS_MAX_VERTICES (BUTTONWIDGET_MAX + TOUCHCTRLS_BTNS * BUTTONWIDGET_MAX)
|
#define TOUCHCTRLS_MAX_VERTICES (BUTTONWIDGET_MAX + TOUCHCTRLS_BTNS * BUTTONWIDGET_MAX)
|
||||||
|
|
||||||
static void TouchCtrls_UpdateTapText(void* screen) {
|
static void TouchCtrls_UpdateTapText(void* screen) {
|
||||||
struct TouchCtrlsScreen* s = (struct TouchCtrlsScreen*)screen;
|
struct TouchCtrlsScreen* s = (struct TouchCtrlsScreen*)screen;
|
||||||
ButtonWidget_SetConst(&s->btns[2], Input_TapPlace ? "Tap: Place" : "Tap: Delete", &s->font);
|
ButtonWidget_SetConst(&s->btns[0], Input_TapPlace ? "Tap: Place" : "Tap: Delete", &s->font);
|
||||||
s->dirty = true;
|
s->dirty = true;
|
||||||
}
|
}
|
||||||
static void TouchCtrls_UpdateHoldText(void* screen) {
|
static void TouchCtrls_UpdateHoldText(void* screen) {
|
||||||
struct TouchCtrlsScreen* s = (struct TouchCtrlsScreen*)screen;
|
struct TouchCtrlsScreen* s = (struct TouchCtrlsScreen*)screen;
|
||||||
ButtonWidget_SetConst(&s->btns[3], Input_HoldPlace ? "Hold: Place" : "Hold: Delete", &s->font);
|
ButtonWidget_SetConst(&s->btns[1], Input_HoldPlace ? "Hold: Place" : "Hold: Delete", &s->font);
|
||||||
s->dirty = true;
|
s->dirty = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3828,15 +3827,10 @@ static void TouchCtrls_UpdateSensitivity(void* screen) {
|
|||||||
|
|
||||||
String_AppendConst(&value, "Sensitivity: ");
|
String_AppendConst(&value, "Sensitivity: ");
|
||||||
MiscOptionsScreen_GetSensitivity(&value);
|
MiscOptionsScreen_GetSensitivity(&value);
|
||||||
ButtonWidget_Set(&s->btns[4], &value, &s->font);
|
ButtonWidget_Set(&s->btns[2], &value, &s->font);
|
||||||
s->dirty = true;
|
s->dirty = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void TouchCtrls_Chat(void* s, void* w) {
|
|
||||||
Gui_Remove((struct Screen*)&TouchCtrlsScreen);
|
|
||||||
ChatScreen_OpenInput(&String_Empty);
|
|
||||||
}
|
|
||||||
static void TouchCtrls_Fog(void* s, void* w) { Game_CycleViewDistance(); }
|
|
||||||
static void TouchCtrls_More(void* s, void* w) { TouchMoreScreen_Show(); }
|
static void TouchCtrls_More(void* s, void* w) { TouchMoreScreen_Show(); }
|
||||||
static void TouchCtrls_Onscreen(void* s, void* w) { TouchOnscreenScreen_Show(); }
|
static void TouchCtrls_Onscreen(void* s, void* w) { TouchOnscreenScreen_Show(); }
|
||||||
|
|
||||||
@ -3866,14 +3860,12 @@ static void TouchCtrls_Sensitivity(void* screen, void* w) {
|
|||||||
MenuInputOverlay_Show(&desc, &value, TouchCtrls_OnDone, true);
|
MenuInputOverlay_Show(&desc, &value, TouchCtrls_OnDone, true);
|
||||||
/* Fix Sensitivity button getting stuck as 'active' */
|
/* Fix Sensitivity button getting stuck as 'active' */
|
||||||
/* (input overlay swallows subsequent pointer events) */
|
/* (input overlay swallows subsequent pointer events) */
|
||||||
s->btns[4].active = 0;
|
s->btns[2].active = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static const struct SimpleButtonDesc touchCtrls_btns[8] = {
|
static const struct SimpleButtonDesc touchCtrls_btns[4] = {
|
||||||
{ -120, -50, "Chat", TouchCtrls_Chat },
|
{ -120, -50, "", TouchCtrls_Tap },
|
||||||
{ 120, -50, "Fog", TouchCtrls_Fog },
|
{ 120, -50, "", TouchCtrls_Hold },
|
||||||
{ -120, 0, "", TouchCtrls_Tap },
|
|
||||||
{ 120, 0, "", TouchCtrls_Hold },
|
|
||||||
{ 0, 50, "", TouchCtrls_Sensitivity },
|
{ 0, 50, "", TouchCtrls_Sensitivity },
|
||||||
{ 0, 100, "On-screen controls", TouchCtrls_Onscreen }
|
{ 0, 100, "On-screen controls", TouchCtrls_Onscreen }
|
||||||
};
|
};
|
||||||
@ -3908,8 +3900,8 @@ static void TouchCtrlsScreen_Init(void* screen) {
|
|||||||
s->numWidgets = Array_Elems(touchCtrls_widgets);
|
s->numWidgets = Array_Elems(touchCtrls_widgets);
|
||||||
s->maxVertices = TOUCHCTRLS_MAX_VERTICES;
|
s->maxVertices = TOUCHCTRLS_MAX_VERTICES;
|
||||||
|
|
||||||
Menu_InitButtons(s->btns, 200, touchCtrls_btns, 4);
|
Menu_InitButtons(s->btns, 200, touchCtrls_btns, 2);
|
||||||
Menu_InitButtons(s->btns + 4, 400, touchCtrls_btns + 4, 2);
|
Menu_InitButtons(s->btns + 2, 400, touchCtrls_btns + 2, 2);
|
||||||
Menu_InitBack(&s->back, TouchCtrls_More);
|
Menu_InitBack(&s->back, TouchCtrls_More);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3933,7 +3925,7 @@ void TouchCtrlsScreen_Show(void) {
|
|||||||
/*########################################################################################################################*
|
/*########################################################################################################################*
|
||||||
*-----------------------------------------------------TouchMoreScreen-----------------------------------------------------*
|
*-----------------------------------------------------TouchMoreScreen-----------------------------------------------------*
|
||||||
*#########################################################################################################################*/
|
*#########################################################################################################################*/
|
||||||
#define TOUCHMORE_BTNS 4
|
#define TOUCHMORE_BTNS 6
|
||||||
static struct TouchMoreScreen {
|
static struct TouchMoreScreen {
|
||||||
Screen_Body
|
Screen_Body
|
||||||
struct ButtonWidget back;
|
struct ButtonWidget back;
|
||||||
@ -3943,7 +3935,8 @@ static struct TouchMoreScreen {
|
|||||||
static struct Widget* touchMore_widgets[1 + TOUCHMORE_BTNS] = {
|
static struct Widget* touchMore_widgets[1 + TOUCHMORE_BTNS] = {
|
||||||
(struct Widget*)&TouchMoreScreen.back, (struct Widget*)&TouchMoreScreen.btns[0],
|
(struct Widget*)&TouchMoreScreen.back, (struct Widget*)&TouchMoreScreen.btns[0],
|
||||||
(struct Widget*)&TouchMoreScreen.btns[1], (struct Widget*)&TouchMoreScreen.btns[2],
|
(struct Widget*)&TouchMoreScreen.btns[1], (struct Widget*)&TouchMoreScreen.btns[2],
|
||||||
(struct Widget*)&TouchMoreScreen.btns[3]
|
(struct Widget*)&TouchMoreScreen.btns[3], (struct Widget*)&TouchMoreScreen.btns[4],
|
||||||
|
(struct Widget*)&TouchMoreScreen.btns[5]
|
||||||
};
|
};
|
||||||
#define TOUCHMORE_MAX_VERTICES (BUTTONWIDGET_MAX + TOUCHMORE_BTNS * BUTTONWIDGET_MAX)
|
#define TOUCHMORE_MAX_VERTICES (BUTTONWIDGET_MAX + TOUCHMORE_BTNS * BUTTONWIDGET_MAX)
|
||||||
|
|
||||||
@ -3963,12 +3956,19 @@ static void TouchMore_Menu(void* s, void* w) {
|
|||||||
static void TouchMore_Game(void* s, void* w) {
|
static void TouchMore_Game(void* s, void* w) {
|
||||||
Gui_Remove((struct Screen*)&TouchMoreScreen);
|
Gui_Remove((struct Screen*)&TouchMoreScreen);
|
||||||
}
|
}
|
||||||
|
static void TouchMore_Chat(void* s, void* w) {
|
||||||
|
Gui_Remove((struct Screen*)&TouchCtrlsScreen);
|
||||||
|
ChatScreen_OpenInput(&String_Empty);
|
||||||
|
}
|
||||||
|
static void TouchMore_Fog(void* s, void* w) { Game_CycleViewDistance(); }
|
||||||
|
|
||||||
static const struct SimpleButtonDesc touchMore_btns[TOUCHMORE_BTNS] = {
|
static const struct SimpleButtonDesc touchMore_btns[TOUCHMORE_BTNS] = {
|
||||||
{ 0, -50, "Screenshot", TouchMore_Take },
|
{ -102, -50, "Screenshot", TouchMore_Take },
|
||||||
{ 0, 0, "Fullscreen", TouchMore_Screen },
|
{ -102, 0, "Fullscreen", TouchMore_Screen },
|
||||||
{ 0, 50, "Controls", TouchMore_Ctrls },
|
{ 102, -50, "Chat", TouchMore_Chat },
|
||||||
{ 0, 100, "Main menu", TouchMore_Menu }
|
{ 102, 0, "Fog", TouchMore_Fog },
|
||||||
|
{ 0, 50, "Controls", TouchMore_Ctrls },
|
||||||
|
{ 0, 100, "Main menu", TouchMore_Menu }
|
||||||
};
|
};
|
||||||
|
|
||||||
static void TouchMoreScreen_ContextRecreated(void* screen) {
|
static void TouchMoreScreen_ContextRecreated(void* screen) {
|
||||||
@ -3994,7 +3994,8 @@ static void TouchMoreScreen_Init(void* screen) {
|
|||||||
s->numWidgets = Array_Elems(touchMore_widgets);
|
s->numWidgets = Array_Elems(touchMore_widgets);
|
||||||
s->maxVertices = TOUCHMORE_MAX_VERTICES;
|
s->maxVertices = TOUCHMORE_MAX_VERTICES;
|
||||||
|
|
||||||
Menu_InitButtons(s->btns, 400, touchMore_btns, TOUCHMORE_BTNS);
|
Menu_InitButtons(s->btns, 195, touchMore_btns, 4);
|
||||||
|
Menu_InitButtons(s->btns + 4, 400, touchMore_btns + 4, 2);
|
||||||
Menu_InitBack(&s->back, TouchMore_Game);
|
Menu_InitBack(&s->back, TouchMore_Game);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user