1
0
Fork 0
forked from fte/fteqw

Fix up some stupid bugs that were causing q2 to completely fail.

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5992 fc73d0e0-1445-4013-8a0c-d673dee63da5
This commit is contained in:
Spoike 2021-07-23 21:06:52 +00:00
parent e2b88fafc8
commit da27411b26
5 changed files with 14 additions and 8 deletions

View file

@ -172,7 +172,7 @@ static struct sdljoy_s *J_DevId(SDL_JoystickID jid)
} }
static void J_ControllerAxis(SDL_JoystickID jid, int axis, int value) static void J_ControllerAxis(SDL_JoystickID jid, int axis, int value)
{ {
int axismap[] = { static int axismap[] = {
// SDL_CONTROLLER_AXIS_LEFTX, SDL_CONTROLLER_AXIS_LEFTY, SDL_CONTROLLER_AXIS_RIGHTX, // SDL_CONTROLLER_AXIS_LEFTX, SDL_CONTROLLER_AXIS_LEFTY, SDL_CONTROLLER_AXIS_RIGHTX,
GPAXIS_LT_RIGHT, GPAXIS_LT_DOWN, GPAXIS_RT_RIGHT, GPAXIS_LT_RIGHT, GPAXIS_LT_DOWN, GPAXIS_RT_RIGHT,
// SDL_CONTROLLER_AXIS_RIGHTY, SDL_CONTROLLER_AXIS_TRIGGERLEFT,SDL_CONTROLLER_AXIS_TRIGGERRIGHT, // SDL_CONTROLLER_AXIS_RIGHTY, SDL_CONTROLLER_AXIS_TRIGGERLEFT,SDL_CONTROLLER_AXIS_TRIGGERRIGHT,
@ -191,7 +191,7 @@ static void J_ControllerAxis(SDL_JoystickID jid, int axis, int value)
} }
static void J_JoystickAxis(SDL_JoystickID jid, int axis, int value) static void J_JoystickAxis(SDL_JoystickID jid, int axis, int value)
{ {
int axismap[] = {0,1,3,4,2,5}; static int axismap[] = {0,1,3,4,2,5};
struct sdljoy_s *joy = J_DevId(jid); struct sdljoy_s *joy = J_DevId(jid);
if (joy && axis < sizeof(axismap)/sizeof(axismap[0]) && joy->qdevid != DEVID_UNSET) if (joy && axis < sizeof(axismap)/sizeof(axismap[0]) && joy->qdevid != DEVID_UNSET)
@ -202,7 +202,7 @@ static void J_ControllerButton(SDL_JoystickID jid, int button, qboolean pressed)
{ {
//controllers have reliable button maps. //controllers have reliable button maps.
//but that doesn't meant that fte has specific k_ names for those buttons, but the mapping should be reliable, at least until they get mapped to proper k_ values. //but that doesn't meant that fte has specific k_ names for those buttons, but the mapping should be reliable, at least until they get mapped to proper k_ values.
int buttonmap[] = static int buttonmap[] =
{ {
K_GP_A, K_GP_A,
K_GP_B, K_GP_B,
@ -242,7 +242,7 @@ static void J_ControllerButton(SDL_JoystickID jid, int button, qboolean pressed)
static void J_JoystickButton(SDL_JoystickID jid, int button, qboolean pressed) static void J_JoystickButton(SDL_JoystickID jid, int button, qboolean pressed)
{ {
//generic joysticks have no specific mappings. they're really random like that. //generic joysticks have no specific mappings. they're really random like that.
int buttonmap[] = { static int buttonmap[] = {
K_JOY1, K_JOY1,
K_JOY2, K_JOY2,
K_JOY3, K_JOY3,

View file

@ -4967,7 +4967,7 @@ static cmodel_t *CM_LoadMap (model_t *mod, qbyte *filein, size_t filelen, qboole
} }
#ifdef TERRAIN #ifdef TERRAIN
mod->terrain = Mod_LoadTerrainInfo(mod, loadname, false); wmod->terrain = Mod_LoadTerrainInfo(wmod, loadname, false);
#endif #endif
return &prv->cmodels[0]; return &prv->cmodels[0];

View file

@ -230,7 +230,7 @@ char *Z_StrDupf(const char *format, ...)
string = Z_Malloc(n+1); string = Z_Malloc(n+1);
va_start (argptr, format); va_start (argptr, format);
vsnprintf (string,n, format,argptr); vsnprintf (string,n+1, format,argptr);
va_end (argptr); va_end (argptr);
string[n] = 0; string[n] = 0;

View file

@ -5380,7 +5380,7 @@ static void Cmd_AddSeat_f(void)
for (count = 1, prev = host_client, cl = host_client->controlled; cl; cl = cl->controlled) for (count = 1, prev = host_client, cl = host_client->controlled; cl; cl = cl->controlled)
{ {
if (count >= num) if (count > num)
{ {
for(; cl; cl = prev->controlled) for(; cl; cl = prev->controlled)
{ {

View file

@ -916,8 +916,14 @@ qboolean SVQ2_InitGameProgs(void)
svq2_maxclients = 1; svq2_maxclients = 1;
else else
svq2_maxclients = maxclients.ival; svq2_maxclients = maxclients.ival;
if (Cvar_VariableValue("cl_splitscreen")) #ifdef HAVE_CLIENT
if (cl_splitscreen.ival)
{
if (!deathmatch.value && !coop.value)
Cvar_Set(&coop, "1"); //force coop, for coop rules. we get spawn spot problems otherwise.
svq2_maxclients = max(svq2_maxclients, MAX_SPLITS); svq2_maxclients = max(svq2_maxclients, MAX_SPLITS);
}
#endif
if (svq2_maxclients > MAX_CLIENTS) if (svq2_maxclients > MAX_CLIENTS)
svq2_maxclients = MAX_CLIENTS; svq2_maxclients = MAX_CLIENTS;
if (svq2_maxclients != maxclients.value) if (svq2_maxclients != maxclients.value)