Merge branch 'public_next'
# Conflicts: # src/d_main.c # src/d_netfil.c # src/p_setup.c
This commit is contained in:
commit
14d49b8bf1
|
@ -2254,7 +2254,7 @@ static void Command_connect(void)
|
||||||
// Assume we connect directly.
|
// Assume we connect directly.
|
||||||
boolean viams = false;
|
boolean viams = false;
|
||||||
|
|
||||||
if (COM_Argc() < 2)
|
if (COM_Argc() < 2 || *COM_Argv(1) == 0)
|
||||||
{
|
{
|
||||||
CONS_Printf(M_GetText(
|
CONS_Printf(M_GetText(
|
||||||
"Connect <serveraddress> (port): connect to a server\n"
|
"Connect <serveraddress> (port): connect to a server\n"
|
||||||
|
|
22
src/d_main.c
22
src/d_main.c
|
@ -734,11 +734,6 @@ void D_StartTitle(void)
|
||||||
CON_ToggleOff();
|
CON_ToggleOff();
|
||||||
|
|
||||||
// Reset the palette
|
// Reset the palette
|
||||||
#ifdef HWRENDER
|
|
||||||
if (rendermode == render_opengl)
|
|
||||||
HWR_SetPaletteColor(0);
|
|
||||||
else
|
|
||||||
#endif
|
|
||||||
if (rendermode != render_none)
|
if (rendermode != render_none)
|
||||||
V_SetPaletteLump("PLAYPAL");
|
V_SetPaletteLump("PLAYPAL");
|
||||||
}
|
}
|
||||||
|
@ -1049,7 +1044,7 @@ void D_SRB2Main(void)
|
||||||
|
|
||||||
// add any files specified on the command line with -file wadfile
|
// add any files specified on the command line with -file wadfile
|
||||||
// to the wad list
|
// to the wad list
|
||||||
if (!(M_CheckParm("-connect")))
|
if (!(M_CheckParm("-connect") && !M_CheckParm("-server")))
|
||||||
{
|
{
|
||||||
if (M_CheckParm("-file"))
|
if (M_CheckParm("-file"))
|
||||||
{
|
{
|
||||||
|
@ -1204,7 +1199,15 @@ void D_SRB2Main(void)
|
||||||
R_Init();
|
R_Init();
|
||||||
|
|
||||||
// setting up sound
|
// setting up sound
|
||||||
CONS_Printf("S_Init(): Setting up sound.\n");
|
if (dedicated)
|
||||||
|
{
|
||||||
|
nosound = true;
|
||||||
|
nomidimusic = nodigimusic = true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
CONS_Printf("S_Init(): Setting up sound.\n");
|
||||||
|
}
|
||||||
if (M_CheckParm("-nosound"))
|
if (M_CheckParm("-nosound"))
|
||||||
nosound = true;
|
nosound = true;
|
||||||
if (M_CheckParm("-nomusic")) // combines -nomidimusic and -nodigmusic
|
if (M_CheckParm("-nomusic")) // combines -nomidimusic and -nodigmusic
|
||||||
|
@ -1316,7 +1319,7 @@ void D_SRB2Main(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (autostart || netgame || M_CheckParm("+connect") || M_CheckParm("-connect"))
|
if (autostart || netgame)
|
||||||
{
|
{
|
||||||
gameaction = ga_nothing;
|
gameaction = ga_nothing;
|
||||||
|
|
||||||
|
@ -1350,8 +1353,7 @@ void D_SRB2Main(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (server && !M_CheckParm("+map") && !M_CheckParm("+connect")
|
if (server && !M_CheckParm("+map"))
|
||||||
&& !M_CheckParm("-connect"))
|
|
||||||
{
|
{
|
||||||
// Prevent warping to nonexistent levels
|
// Prevent warping to nonexistent levels
|
||||||
if (W_CheckNumForName(G_BuildMapName(pstartmap)) == LUMPERROR)
|
if (W_CheckNumForName(G_BuildMapName(pstartmap)) == LUMPERROR)
|
||||||
|
|
|
@ -950,15 +950,37 @@ filestatus_t checkfilemd5(char *filename, const UINT8 *wantedmd5sum)
|
||||||
return FS_FOUND; // will never happen, but makes the compiler shut up
|
return FS_FOUND; // will never happen, but makes the compiler shut up
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Rewritten by Monster Iestyn to be less stupid
|
||||||
|
// Note: if completepath is true, "filename" is modified, but only if FS_FOUND is going to be returned
|
||||||
|
// (Don't worry about WinCE's version of filesearch, nobody cares about that OS anymore)
|
||||||
filestatus_t findfile(char *filename, const UINT8 *wantedmd5sum, boolean completepath)
|
filestatus_t findfile(char *filename, const UINT8 *wantedmd5sum, boolean completepath)
|
||||||
{
|
{
|
||||||
filestatus_t homecheck = filesearch(filename, srb2home, wantedmd5sum, false, 10);
|
filestatus_t homecheck; // store result of last file search
|
||||||
if (homecheck == FS_FOUND)
|
boolean badmd5 = false; // store whether md5 was bad from either of the first two searches (if nothing was found in the third)
|
||||||
return filesearch(filename, srb2home, wantedmd5sum, completepath, 10);
|
|
||||||
|
|
||||||
homecheck = filesearch(filename, srb2path, wantedmd5sum, false, 10);
|
// first, check SRB2's "home" directory
|
||||||
if (homecheck == FS_FOUND)
|
homecheck = filesearch(filename, srb2home, wantedmd5sum, completepath, 10);
|
||||||
return filesearch(filename, srb2path, wantedmd5sum, completepath, 10);
|
|
||||||
|
|
||||||
return filesearch(filename, ".", wantedmd5sum, completepath, 10);
|
if (homecheck == FS_FOUND) // we found the file, so return that we have :)
|
||||||
|
return FS_FOUND;
|
||||||
|
else if (homecheck == FS_MD5SUMBAD) // file has a bad md5; move on and look for a file with the right md5
|
||||||
|
badmd5 = true;
|
||||||
|
// if not found at all, just move on without doing anything
|
||||||
|
|
||||||
|
// next, check SRB2's "path" directory
|
||||||
|
homecheck = filesearch(filename, srb2path, wantedmd5sum, completepath, 10);
|
||||||
|
|
||||||
|
if (homecheck == FS_FOUND) // we found the file, so return that we have :)
|
||||||
|
return FS_FOUND;
|
||||||
|
else if (homecheck == FS_MD5SUMBAD) // file has a bad md5; move on and look for a file with the right md5
|
||||||
|
badmd5 = true;
|
||||||
|
// if not found at all, just move on without doing anything
|
||||||
|
|
||||||
|
// finally check "." directory
|
||||||
|
homecheck = filesearch(filename, ".", wantedmd5sum, completepath, 10);
|
||||||
|
|
||||||
|
if (homecheck != FS_NOTFOUND) // if not found this time, fall back on the below return statement
|
||||||
|
return homecheck; // otherwise return the result we got
|
||||||
|
|
||||||
|
return (badmd5 ? FS_MD5SUMBAD : FS_NOTFOUND); // md5 sum bad or file not found
|
||||||
}
|
}
|
||||||
|
|
|
@ -3815,7 +3815,8 @@ void G_InitNew(UINT8 pultmode, const char *mapname, boolean resetplayer, boolean
|
||||||
unlocktriggers = 0;
|
unlocktriggers = 0;
|
||||||
|
|
||||||
// clear itemfinder, just in case
|
// clear itemfinder, just in case
|
||||||
CV_StealthSetValue(&cv_itemfinder, 0);
|
if (!dedicated) // except in dedicated servers, where it is not registered and can actually I_Error debug builds
|
||||||
|
CV_StealthSetValue(&cv_itemfinder, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
// internal game map
|
// internal game map
|
||||||
|
|
|
@ -3032,8 +3032,8 @@ static boolean HWR_CheckBBox(fixed_t *bspcoord)
|
||||||
return gld_clipper_SafeCheckRange(angle2, angle1);
|
return gld_clipper_SafeCheckRange(angle2, angle1);
|
||||||
#else
|
#else
|
||||||
// check clip list for an open space
|
// check clip list for an open space
|
||||||
angle1 = R_PointToAngle(px1, py1) - dup_viewangle;
|
angle1 = R_PointToAngle2(dup_viewx>>1, dup_viewy>>1, px1>>1, py1>>1) - dup_viewangle;
|
||||||
angle2 = R_PointToAngle(px2, py2) - dup_viewangle;
|
angle2 = R_PointToAngle2(dup_viewx>>1, dup_viewy>>1, px2>>1, py2>>1) - dup_viewangle;
|
||||||
|
|
||||||
span = angle1 - angle2;
|
span = angle1 - angle2;
|
||||||
|
|
||||||
|
@ -4359,6 +4359,9 @@ static void HWR_SplitSprite(gr_vissprite_t *spr)
|
||||||
i = 0;
|
i = 0;
|
||||||
temp = FLOAT_TO_FIXED(realtop);
|
temp = FLOAT_TO_FIXED(realtop);
|
||||||
|
|
||||||
|
if (spr->mobj->frame & FF_FULLBRIGHT)
|
||||||
|
lightlevel = 255;
|
||||||
|
|
||||||
#ifdef ESLOPE
|
#ifdef ESLOPE
|
||||||
for (i = 1; i < sector->numlights; i++)
|
for (i = 1; i < sector->numlights; i++)
|
||||||
{
|
{
|
||||||
|
@ -4366,14 +4369,16 @@ static void HWR_SplitSprite(gr_vissprite_t *spr)
|
||||||
: sector->lightlist[i].height;
|
: sector->lightlist[i].height;
|
||||||
if (h <= temp)
|
if (h <= temp)
|
||||||
{
|
{
|
||||||
lightlevel = *list[i-1].lightlevel;
|
if (!(spr->mobj->frame & FF_FULLBRIGHT))
|
||||||
|
lightlevel = *list[i-1].lightlevel;
|
||||||
colormap = list[i-1].extra_colormap;
|
colormap = list[i-1].extra_colormap;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
i = R_GetPlaneLight(sector, temp, false);
|
i = R_GetPlaneLight(sector, temp, false);
|
||||||
lightlevel = *list[i].lightlevel;
|
if (!(spr->mobj->frame & FF_FULLBRIGHT))
|
||||||
|
lightlevel = *list[i].lightlevel;
|
||||||
colormap = list[i].extra_colormap;
|
colormap = list[i].extra_colormap;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -4388,7 +4393,8 @@ static void HWR_SplitSprite(gr_vissprite_t *spr)
|
||||||
// even if we aren't changing colormap or lightlevel, we still need to continue drawing down the sprite
|
// even if we aren't changing colormap or lightlevel, we still need to continue drawing down the sprite
|
||||||
if (!(list[i].flags & FF_NOSHADE) && (list[i].flags & FF_CUTSPRITES))
|
if (!(list[i].flags & FF_NOSHADE) && (list[i].flags & FF_CUTSPRITES))
|
||||||
{
|
{
|
||||||
lightlevel = *list[i].lightlevel;
|
if (!(spr->mobj->frame & FF_FULLBRIGHT))
|
||||||
|
lightlevel = *list[i].lightlevel;
|
||||||
colormap = list[i].extra_colormap;
|
colormap = list[i].extra_colormap;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -33,7 +33,9 @@
|
||||||
*/
|
*/
|
||||||
fixed_t FixedMul(fixed_t a, fixed_t b)
|
fixed_t FixedMul(fixed_t a, fixed_t b)
|
||||||
{
|
{
|
||||||
return (fixed_t)((((INT64)a * b) ) / FRACUNIT);
|
// Need to cast to unsigned before shifting to avoid undefined behaviour
|
||||||
|
// for negative integers
|
||||||
|
return (fixed_t)(((UINT64)((INT64)a * b)) >> FRACBITS);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif //__USE_C_FIXEDMUL__
|
#endif //__USE_C_FIXEDMUL__
|
||||||
|
|
|
@ -8441,6 +8441,13 @@ Update the maxplayers label...
|
||||||
static void M_ConnectIP(INT32 choice)
|
static void M_ConnectIP(INT32 choice)
|
||||||
{
|
{
|
||||||
(void)choice;
|
(void)choice;
|
||||||
|
|
||||||
|
if (*setupm_ip == 0)
|
||||||
|
{
|
||||||
|
M_StartMessage("You must specify an IP address.\n", NULL, MM_NOTHING);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
COM_BufAddText(va("connect \"%s\"\n", setupm_ip));
|
COM_BufAddText(va("connect \"%s\"\n", setupm_ip));
|
||||||
|
|
||||||
// A little "please wait" message.
|
// A little "please wait" message.
|
||||||
|
|
|
@ -2144,6 +2144,7 @@ void T_EachTimeThinker(levelspecthink_t *eachtime)
|
||||||
boolean floortouch = false;
|
boolean floortouch = false;
|
||||||
fixed_t bottomheight, topheight;
|
fixed_t bottomheight, topheight;
|
||||||
msecnode_t *node;
|
msecnode_t *node;
|
||||||
|
ffloor_t *rover;
|
||||||
|
|
||||||
for (i = 0; i < MAXPLAYERS; i++)
|
for (i = 0; i < MAXPLAYERS; i++)
|
||||||
{
|
{
|
||||||
|
@ -2191,6 +2192,19 @@ void T_EachTimeThinker(levelspecthink_t *eachtime)
|
||||||
{
|
{
|
||||||
targetsec = §ors[targetsecnum];
|
targetsec = §ors[targetsecnum];
|
||||||
|
|
||||||
|
// Find the FOF corresponding to the control linedef
|
||||||
|
for (rover = targetsec->ffloors; rover; rover = rover->next)
|
||||||
|
{
|
||||||
|
if (rover->master == sec->lines[i])
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!rover) // This should be impossible, but don't complain if it is the case somehow
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if (!(rover->flags & FF_EXISTS)) // If the FOF does not "exist", we pretend that nobody's there
|
||||||
|
continue;
|
||||||
|
|
||||||
for (j = 0; j < MAXPLAYERS; j++)
|
for (j = 0; j < MAXPLAYERS; j++)
|
||||||
{
|
{
|
||||||
if (!playeringame[j])
|
if (!playeringame[j])
|
||||||
|
|
|
@ -2675,11 +2675,6 @@ boolean P_SetupLevel(boolean skipprecip)
|
||||||
|
|
||||||
|
|
||||||
// Reset the palette
|
// Reset the palette
|
||||||
#ifdef HWRENDER
|
|
||||||
if (rendermode == render_opengl)
|
|
||||||
HWR_SetPaletteColor(0);
|
|
||||||
else
|
|
||||||
#endif
|
|
||||||
if (rendermode != render_none)
|
if (rendermode != render_none)
|
||||||
V_SetPaletteLump("PLAYPAL");
|
V_SetPaletteLump("PLAYPAL");
|
||||||
|
|
||||||
|
@ -2737,6 +2732,7 @@ boolean P_SetupLevel(boolean skipprecip)
|
||||||
{
|
{
|
||||||
tic_t starttime = I_GetTime();
|
tic_t starttime = I_GetTime();
|
||||||
tic_t endtime = starttime + (3*TICRATE)/2;
|
tic_t endtime = starttime + (3*TICRATE)/2;
|
||||||
|
tic_t nowtime;
|
||||||
|
|
||||||
S_StartSound(NULL, sfx_s3kaf);
|
S_StartSound(NULL, sfx_s3kaf);
|
||||||
|
|
||||||
|
@ -2746,9 +2742,17 @@ boolean P_SetupLevel(boolean skipprecip)
|
||||||
F_WipeEndScreen();
|
F_WipeEndScreen();
|
||||||
F_RunWipe(wipedefs[wipe_speclevel_towhite], false);
|
F_RunWipe(wipedefs[wipe_speclevel_towhite], false);
|
||||||
|
|
||||||
|
nowtime = lastwipetic;
|
||||||
// Hold on white for extra effect.
|
// Hold on white for extra effect.
|
||||||
while (I_GetTime() < endtime)
|
while (nowtime < endtime)
|
||||||
I_Sleep();
|
{
|
||||||
|
// wait loop
|
||||||
|
while (!((nowtime = I_GetTime()) - lastwipetic))
|
||||||
|
I_Sleep();
|
||||||
|
lastwipetic = nowtime;
|
||||||
|
if (moviemode) // make sure we save frames for the white hold too
|
||||||
|
M_SaveFrame();
|
||||||
|
}
|
||||||
|
|
||||||
ranspecialwipe = 1;
|
ranspecialwipe = 1;
|
||||||
}
|
}
|
||||||
|
@ -3336,7 +3340,7 @@ boolean P_AddWadFile(const char *wadfilename)
|
||||||
if ((numlumps = W_InitFile(wadfilename)) == INT16_MAX)
|
if ((numlumps = W_InitFile(wadfilename)) == INT16_MAX)
|
||||||
{
|
{
|
||||||
refreshdirmenu |= REFRESHDIR_NOTLOADED;
|
refreshdirmenu |= REFRESHDIR_NOTLOADED;
|
||||||
CONS_Printf(M_GetText("Errors occured while loading %s; not added.\n"), wadfilename);
|
CONS_Printf(M_GetText("Errors occurred while loading %s; not added.\n"), wadfilename);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
27
src/p_spec.c
27
src/p_spec.c
|
@ -6699,6 +6699,7 @@ void T_Scroll(scroll_t *s)
|
||||||
line_t *line;
|
line_t *line;
|
||||||
size_t i;
|
size_t i;
|
||||||
INT32 sect;
|
INT32 sect;
|
||||||
|
ffloor_t *rover;
|
||||||
|
|
||||||
case sc_side: // scroll wall texture
|
case sc_side: // scroll wall texture
|
||||||
side = sides + s->affectee;
|
side = sides + s->affectee;
|
||||||
|
@ -6740,6 +6741,19 @@ void T_Scroll(scroll_t *s)
|
||||||
sector_t *psec;
|
sector_t *psec;
|
||||||
psec = sectors + sect;
|
psec = sectors + sect;
|
||||||
|
|
||||||
|
// Find the FOF corresponding to the control linedef
|
||||||
|
for (rover = psec->ffloors; rover; rover = rover->next)
|
||||||
|
{
|
||||||
|
if (rover->master == sec->lines[i])
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!rover) // This should be impossible, but don't complain if it is the case somehow
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if (!(rover->flags & FF_EXISTS)) // If the FOF does not "exist", we pretend that nobody's there
|
||||||
|
continue;
|
||||||
|
|
||||||
for (node = psec->touching_thinglist; node; node = node->m_thinglist_next)
|
for (node = psec->touching_thinglist; node; node = node->m_thinglist_next)
|
||||||
{
|
{
|
||||||
thing = node->m_thing;
|
thing = node->m_thing;
|
||||||
|
@ -6803,6 +6817,19 @@ void T_Scroll(scroll_t *s)
|
||||||
sector_t *psec;
|
sector_t *psec;
|
||||||
psec = sectors + sect;
|
psec = sectors + sect;
|
||||||
|
|
||||||
|
// Find the FOF corresponding to the control linedef
|
||||||
|
for (rover = psec->ffloors; rover; rover = rover->next)
|
||||||
|
{
|
||||||
|
if (rover->master == sec->lines[i])
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!rover) // This should be impossible, but don't complain if it is the case somehow
|
||||||
|
continue;
|
||||||
|
|
||||||
|
if (!(rover->flags & FF_EXISTS)) // If the FOF does not "exist", we pretend that nobody's there
|
||||||
|
continue;
|
||||||
|
|
||||||
for (node = psec->touching_thinglist; node; node = node->m_thinglist_next)
|
for (node = psec->touching_thinglist; node; node = node->m_thinglist_next)
|
||||||
{
|
{
|
||||||
thing = node->m_thing;
|
thing = node->m_thing;
|
||||||
|
|
|
@ -606,7 +606,8 @@ void P_Ticker(boolean run)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Keep track of how long they've been playing!
|
// Keep track of how long they've been playing!
|
||||||
totalplaytime++;
|
if (!demoplayback) // Don't increment if a demo is playing.
|
||||||
|
totalplaytime++;
|
||||||
|
|
||||||
if (!useNightsSS && G_IsSpecialStage(gamemap))
|
if (!useNightsSS && G_IsSpecialStage(gamemap))
|
||||||
P_DoSpecialStageStuff();
|
P_DoSpecialStageStuff();
|
||||||
|
|
10
src/p_user.c
10
src/p_user.c
|
@ -1796,6 +1796,9 @@ boolean P_InSpaceSector(mobj_t *mo) // Returns true if you are in space
|
||||||
|
|
||||||
for (rover = sector->ffloors; rover; rover = rover->next)
|
for (rover = sector->ffloors; rover; rover = rover->next)
|
||||||
{
|
{
|
||||||
|
if (!(rover->flags & FF_EXISTS))
|
||||||
|
continue;
|
||||||
|
|
||||||
if (GETSECSPECIAL(rover->master->frontsector->special, 1) != SPACESPECIAL)
|
if (GETSECSPECIAL(rover->master->frontsector->special, 1) != SPACESPECIAL)
|
||||||
continue;
|
continue;
|
||||||
#ifdef ESLOPE
|
#ifdef ESLOPE
|
||||||
|
@ -2156,6 +2159,12 @@ static void P_CheckBouncySectors(player_t *player)
|
||||||
|
|
||||||
for (rover = node->m_sector->ffloors; rover; rover = rover->next)
|
for (rover = node->m_sector->ffloors; rover; rover = rover->next)
|
||||||
{
|
{
|
||||||
|
if (!(rover->flags & FF_EXISTS))
|
||||||
|
continue; // FOFs should not be bouncy if they don't even "exist"
|
||||||
|
|
||||||
|
if (GETSECSPECIAL(rover->master->frontsector->special, 1) != 15)
|
||||||
|
continue; // this sector type is required for FOFs to be bouncy
|
||||||
|
|
||||||
topheight = P_GetFOFTopZ(player->mo, node->m_sector, rover, player->mo->x, player->mo->y, NULL);
|
topheight = P_GetFOFTopZ(player->mo, node->m_sector, rover, player->mo->x, player->mo->y, NULL);
|
||||||
bottomheight = P_GetFOFBottomZ(player->mo, node->m_sector, rover, player->mo->x, player->mo->y, NULL);
|
bottomheight = P_GetFOFBottomZ(player->mo, node->m_sector, rover, player->mo->x, player->mo->y, NULL);
|
||||||
|
|
||||||
|
@ -2169,7 +2178,6 @@ static void P_CheckBouncySectors(player_t *player)
|
||||||
&& oldz + player->mo->height > P_GetFOFBottomZ(player->mo, node->m_sector, rover, oldx, oldy, NULL))
|
&& oldz + player->mo->height > P_GetFOFBottomZ(player->mo, node->m_sector, rover, oldx, oldy, NULL))
|
||||||
top = false;
|
top = false;
|
||||||
|
|
||||||
if (GETSECSPECIAL(rover->master->frontsector->special, 1) == 15)
|
|
||||||
{
|
{
|
||||||
fixed_t linedist;
|
fixed_t linedist;
|
||||||
|
|
||||||
|
|
|
@ -658,6 +658,14 @@ static void Impl_HandleMouseButtonEvent(SDL_MouseButtonEvent evt, Uint32 type)
|
||||||
|
|
||||||
SDL_memset(&event, 0, sizeof(event_t));
|
SDL_memset(&event, 0, sizeof(event_t));
|
||||||
|
|
||||||
|
// Ignore the event if the mouse is not actually focused on the window.
|
||||||
|
// This can happen if you used the mouse to restore keyboard focus;
|
||||||
|
// this apparently makes a mouse button down event but not a mouse button up event,
|
||||||
|
// resulting in whatever key was pressed down getting "stuck" if we don't ignore it.
|
||||||
|
// -- Monster Iestyn (28/05/18)
|
||||||
|
if (SDL_GetMouseFocus() != window)
|
||||||
|
return;
|
||||||
|
|
||||||
/// \todo inputEvent.button.which
|
/// \todo inputEvent.button.which
|
||||||
if (USE_MOUSEINPUT)
|
if (USE_MOUSEINPUT)
|
||||||
{
|
{
|
||||||
|
|
|
@ -1180,12 +1180,6 @@ void I_StartupSound(void)
|
||||||
audio.callback = I_UpdateStream;
|
audio.callback = I_UpdateStream;
|
||||||
audio.userdata = &localdata;
|
audio.userdata = &localdata;
|
||||||
|
|
||||||
if (dedicated)
|
|
||||||
{
|
|
||||||
nosound = nomidimusic = nodigimusic = true;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Configure sound device
|
// Configure sound device
|
||||||
CONS_Printf("I_StartupSound:\n");
|
CONS_Printf("I_StartupSound:\n");
|
||||||
|
|
||||||
|
@ -1481,9 +1475,6 @@ void I_InitMusic(void)
|
||||||
I_AddExitFunc(I_ShutdownGMEMusic);
|
I_AddExitFunc(I_ShutdownGMEMusic);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if ((nomidimusic && nodigimusic) || dedicated)
|
|
||||||
return;
|
|
||||||
|
|
||||||
#ifdef HAVE_MIXER
|
#ifdef HAVE_MIXER
|
||||||
MIX_VERSION(&MIXcompiled)
|
MIX_VERSION(&MIXcompiled)
|
||||||
MIXlinked = Mix_Linked_Version();
|
MIXlinked = Mix_Linked_Version();
|
||||||
|
|
|
@ -202,17 +202,17 @@ void ST_doPaletteStuff(void)
|
||||||
else
|
else
|
||||||
palette = 0;
|
palette = 0;
|
||||||
|
|
||||||
|
#ifdef HWRENDER
|
||||||
|
if (rendermode == render_opengl)
|
||||||
|
palette = 0; // No flashpals here in OpenGL
|
||||||
|
#endif
|
||||||
|
|
||||||
palette = min(max(palette, 0), 13);
|
palette = min(max(palette, 0), 13);
|
||||||
|
|
||||||
if (palette != st_palette)
|
if (palette != st_palette)
|
||||||
{
|
{
|
||||||
st_palette = palette;
|
st_palette = palette;
|
||||||
|
|
||||||
#ifdef HWRENDER
|
|
||||||
if (rendermode == render_opengl)
|
|
||||||
HWR_SetPaletteColor(0);
|
|
||||||
else
|
|
||||||
#endif
|
|
||||||
if (rendermode != render_none)
|
if (rendermode != render_none)
|
||||||
{
|
{
|
||||||
V_SetPaletteLump(GetPalette()); // Reset the palette
|
V_SetPaletteLump(GetPalette()); // Reset the palette
|
||||||
|
|
Loading…
Reference in New Issue