mirror of
https://git.do.srb2.org/KartKrew/Kart-Public.git
synced 2024-12-27 21:01:04 +00:00
Merge branch 'controller-menu-touchup' into 'master'
Controller select menu improvements. See merge request STJr/SRB2!354
This commit is contained in:
commit
ba81e26f71
3 changed files with 35 additions and 18 deletions
21
src/m_menu.c
21
src/m_menu.c
|
@ -160,7 +160,7 @@ typedef enum
|
||||||
levellist_mode_t levellistmode = LLM_CREATESERVER;
|
levellist_mode_t levellistmode = LLM_CREATESERVER;
|
||||||
UINT8 maplistoption = 0;
|
UINT8 maplistoption = 0;
|
||||||
|
|
||||||
static char joystickInfo[8][25];
|
static char joystickInfo[8][29];
|
||||||
#ifndef NONET
|
#ifndef NONET
|
||||||
static UINT32 serverlistpage;
|
static UINT32 serverlistpage;
|
||||||
#endif
|
#endif
|
||||||
|
@ -6711,35 +6711,32 @@ static void M_DrawJoystick(void)
|
||||||
|
|
||||||
M_DrawGenericMenu();
|
M_DrawGenericMenu();
|
||||||
|
|
||||||
for (i = 0;i < 8; i++)
|
for (i = 0;i < 7; i++)
|
||||||
{
|
{
|
||||||
M_DrawSaveLoadBorder(OP_JoystickSetDef.x, OP_JoystickSetDef.y+LINEHEIGHT*i);
|
M_DrawTextBox(OP_JoystickSetDef.x-8, OP_JoystickSetDef.y+LINEHEIGHT*i-12, 28, 1);
|
||||||
|
//M_DrawSaveLoadBorder(OP_JoystickSetDef.x, OP_JoystickSetDef.y+LINEHEIGHT*i);
|
||||||
|
|
||||||
if ((setupcontrols_secondaryplayer && (i == cv_usejoystick2.value))
|
if ((setupcontrols_secondaryplayer && (i == cv_usejoystick2.value))
|
||||||
|| (!setupcontrols_secondaryplayer && (i == cv_usejoystick.value)))
|
|| (!setupcontrols_secondaryplayer && (i == cv_usejoystick.value)))
|
||||||
V_DrawString(OP_JoystickSetDef.x, OP_JoystickSetDef.y+LINEHEIGHT*i,V_GREENMAP,joystickInfo[i]);
|
V_DrawString(OP_JoystickSetDef.x, OP_JoystickSetDef.y+LINEHEIGHT*i-4,V_GREENMAP,joystickInfo[i]);
|
||||||
else
|
else
|
||||||
V_DrawString(OP_JoystickSetDef.x, OP_JoystickSetDef.y+LINEHEIGHT*i,0,joystickInfo[i]);
|
V_DrawString(OP_JoystickSetDef.x, OP_JoystickSetDef.y+LINEHEIGHT*i-4,0,joystickInfo[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void M_SetupJoystickMenu(INT32 choice)
|
static void M_SetupJoystickMenu(INT32 choice)
|
||||||
{
|
{
|
||||||
INT32 i = 0;
|
INT32 i = 0;
|
||||||
const char *joyname = "None";
|
|
||||||
const char *joyNA = "Unavailable";
|
const char *joyNA = "Unavailable";
|
||||||
INT32 n = I_NumJoys();
|
INT32 n = I_NumJoys();
|
||||||
(void)choice;
|
(void)choice;
|
||||||
|
|
||||||
strcpy(joystickInfo[i], joyname);
|
strcpy(joystickInfo[i], "None");
|
||||||
|
|
||||||
for (i = 1; i < 8; i++)
|
for (i = 1; i < 8; i++)
|
||||||
{
|
{
|
||||||
if (i <= n && (joyname = I_GetJoyName(i)) != NULL)
|
if (i <= n && (I_GetJoyName(i)) != NULL)
|
||||||
{
|
strncpy(joystickInfo[i], I_GetJoyName(i), 28);
|
||||||
strncpy(joystickInfo[i], joyname, 24);
|
|
||||||
joystickInfo[i][24] = '\0';
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
strcpy(joystickInfo[i], joyNA);
|
strcpy(joystickInfo[i], joyNA);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1453,18 +1453,28 @@ INT32 I_NumJoys(void)
|
||||||
return numjoy;
|
return numjoy;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static char joyname[255]; // MAX_PATH; joystick name is straight from the driver
|
||||||
|
|
||||||
const char *I_GetJoyName(INT32 joyindex)
|
const char *I_GetJoyName(INT32 joyindex)
|
||||||
{
|
{
|
||||||
const char *joyname = "NA";
|
const char *tempname = NULL;
|
||||||
joyindex--; //SDL's Joystick System starts at 0, not 1
|
joyindex--; //SDL's Joystick System starts at 0, not 1
|
||||||
if (SDL_WasInit(SDL_INIT_JOYSTICK) == 0)
|
if (SDL_WasInit(SDL_INIT_JOYSTICK) == 0)
|
||||||
{
|
{
|
||||||
if (SDL_InitSubSystem(SDL_INIT_JOYSTICK) != -1)
|
if (SDL_InitSubSystem(SDL_INIT_JOYSTICK) != -1)
|
||||||
joyname = SDL_JoystickNameForIndex(joyindex);
|
{
|
||||||
|
tempname = SDL_JoystickNameForIndex(joyindex);
|
||||||
|
if (tempname)
|
||||||
|
strncpy(joyname, tempname, 255);
|
||||||
|
}
|
||||||
SDL_QuitSubSystem(SDL_INIT_JOYSTICK);
|
SDL_QuitSubSystem(SDL_INIT_JOYSTICK);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
joyname = SDL_JoystickNameForIndex(joyindex);
|
{
|
||||||
|
tempname = SDL_JoystickNameForIndex(joyindex);
|
||||||
|
if (tempname)
|
||||||
|
strncpy(joyname, tempname, 255);
|
||||||
|
}
|
||||||
return joyname;
|
return joyname;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1575,18 +1575,28 @@ INT32 I_NumJoys(void)
|
||||||
return numjoy;
|
return numjoy;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static char joyname[255]; // MAX_PATH; joystick name is straight from the driver
|
||||||
|
|
||||||
const char *I_GetJoyName(INT32 joyindex)
|
const char *I_GetJoyName(INT32 joyindex)
|
||||||
{
|
{
|
||||||
const char *joyname = "NA";
|
const char *tempname = NULL;
|
||||||
joyindex--; //SDL's Joystick System starts at 0, not 1
|
joyindex--; //SDL's Joystick System starts at 0, not 1
|
||||||
if (SDL_WasInit(SDL_INIT_JOYSTICK) == 0)
|
if (SDL_WasInit(SDL_INIT_JOYSTICK) == 0)
|
||||||
{
|
{
|
||||||
if (SDL_InitSubSystem(SDL_INIT_JOYSTICK) != -1)
|
if (SDL_InitSubSystem(SDL_INIT_JOYSTICK) != -1)
|
||||||
joyname = SDL_JoystickName(joyindex);
|
{
|
||||||
|
tempname = SDL_JoystickNameForIndex(joyindex);
|
||||||
|
if (tempname)
|
||||||
|
strncpy(joyname, tempname, 255);
|
||||||
|
}
|
||||||
SDL_QuitSubSystem(SDL_INIT_JOYSTICK);
|
SDL_QuitSubSystem(SDL_INIT_JOYSTICK);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
joyname = SDL_JoystickName(joyindex);
|
{
|
||||||
|
tempname = SDL_JoystickNameForIndex(joyindex);
|
||||||
|
if (tempname)
|
||||||
|
strncpy(joyname, tempname, 255);
|
||||||
|
}
|
||||||
return joyname;
|
return joyname;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue