Merge branch 'controller-menu-touchup' into 'master'

Controller select menu improvements.

See merge request STJr/SRB2!354
This commit is contained in:
Digiku 2018-12-03 23:00:36 -05:00
commit ba81e26f71
3 changed files with 35 additions and 18 deletions

View file

@ -160,7 +160,7 @@ typedef enum
levellist_mode_t levellistmode = LLM_CREATESERVER;
UINT8 maplistoption = 0;
static char joystickInfo[8][25];
static char joystickInfo[8][29];
#ifndef NONET
static UINT32 serverlistpage;
#endif
@ -6711,35 +6711,32 @@ static void M_DrawJoystick(void)
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))
|| (!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
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)
{
INT32 i = 0;
const char *joyname = "None";
const char *joyNA = "Unavailable";
INT32 n = I_NumJoys();
(void)choice;
strcpy(joystickInfo[i], joyname);
strcpy(joystickInfo[i], "None");
for (i = 1; i < 8; i++)
{
if (i <= n && (joyname = I_GetJoyName(i)) != NULL)
{
strncpy(joystickInfo[i], joyname, 24);
joystickInfo[i][24] = '\0';
}
if (i <= n && (I_GetJoyName(i)) != NULL)
strncpy(joystickInfo[i], I_GetJoyName(i), 28);
else
strcpy(joystickInfo[i], joyNA);
}

View file

@ -1453,18 +1453,28 @@ INT32 I_NumJoys(void)
return numjoy;
}
static char joyname[255]; // MAX_PATH; joystick name is straight from the driver
const char *I_GetJoyName(INT32 joyindex)
{
const char *joyname = "NA";
const char *tempname = NULL;
joyindex--; //SDL's Joystick System starts at 0, not 1
if (SDL_WasInit(SDL_INIT_JOYSTICK) == 0)
{
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);
}
else
joyname = SDL_JoystickNameForIndex(joyindex);
{
tempname = SDL_JoystickNameForIndex(joyindex);
if (tempname)
strncpy(joyname, tempname, 255);
}
return joyname;
}

View file

@ -1575,18 +1575,28 @@ INT32 I_NumJoys(void)
return numjoy;
}
static char joyname[255]; // MAX_PATH; joystick name is straight from the driver
const char *I_GetJoyName(INT32 joyindex)
{
const char *joyname = "NA";
const char *tempname = NULL;
joyindex--; //SDL's Joystick System starts at 0, not 1
if (SDL_WasInit(SDL_INIT_JOYSTICK) == 0)
{
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);
}
else
joyname = SDL_JoystickName(joyindex);
{
tempname = SDL_JoystickNameForIndex(joyindex);
if (tempname)
strncpy(joyname, tempname, 255);
}
return joyname;
}