mirror of
https://git.do.srb2.org/KartKrew/Kart-Public.git
synced 2024-12-27 04:41:23 +00:00
Merge remote-tracking branch 'upstream/master' into defaultsoundvol
This commit is contained in:
commit
44144e379e
11 changed files with 92 additions and 49 deletions
|
@ -2244,7 +2244,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
|
@ -730,11 +730,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");
|
||||||
}
|
}
|
||||||
|
@ -1068,7 +1063,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"))
|
||||||
{
|
{
|
||||||
|
@ -1224,7 +1219,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
|
||||||
|
@ -1323,7 +1326,7 @@ void D_SRB2Main(void)
|
||||||
ultimatemode = true;
|
ultimatemode = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (autostart || netgame || M_CheckParm("+connect") || M_CheckParm("-connect"))
|
if (autostart || netgame)
|
||||||
{
|
{
|
||||||
gameaction = ga_nothing;
|
gameaction = ga_nothing;
|
||||||
|
|
||||||
|
@ -1361,8 +1364,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)
|
||||||
|
|
|
@ -990,19 +990,41 @@ 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);
|
|
||||||
|
|
||||||
|
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
|
||||||
#ifdef _arch_dreamcast
|
#ifdef _arch_dreamcast
|
||||||
return filesearch(filename, "/cd", wantedmd5sum, completepath, 10);
|
homecheck = filesearch(filename, "/cd", wantedmd5sum, completepath, 10);
|
||||||
#else
|
#else
|
||||||
return filesearch(filename, ".", wantedmd5sum, completepath, 10);
|
homecheck = filesearch(filename, ".", wantedmd5sum, completepath, 10);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
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
|
||||||
}
|
}
|
||||||
|
|
|
@ -3588,7 +3588,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
|
||||||
|
|
|
@ -2901,8 +2901,8 @@ static boolean HWR_CheckBBox(fixed_t *bspcoord)
|
||||||
py2 = bspcoord[checkcoord[boxpos][3]];
|
py2 = bspcoord[checkcoord[boxpos][3]];
|
||||||
|
|
||||||
// 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;
|
||||||
|
|
||||||
|
@ -4228,6 +4228,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++)
|
||||||
{
|
{
|
||||||
|
@ -4235,14 +4238,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
|
||||||
|
|
||||||
|
@ -4257,7 +4262,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__
|
||||||
|
|
|
@ -6295,6 +6295,13 @@ static void M_DrawConnectIPMenu(void)
|
||||||
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.
|
||||||
|
@ -6536,7 +6543,7 @@ static void M_HandleSetupMultiPlayer(INT32 choice)
|
||||||
if (choice < 32 || choice > 127 || itemOn != 0)
|
if (choice < 32 || choice > 127 || itemOn != 0)
|
||||||
break;
|
break;
|
||||||
l = strlen(setupm_name);
|
l = strlen(setupm_name);
|
||||||
if (l < MAXPLAYERNAME-1)
|
if (l < MAXPLAYERNAME)
|
||||||
{
|
{
|
||||||
S_StartSound(NULL,sfx_menu1); // Tails
|
S_StartSound(NULL,sfx_menu1); // Tails
|
||||||
setupm_name[l] =(char)choice;
|
setupm_name[l] =(char)choice;
|
||||||
|
|
|
@ -2503,11 +2503,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");
|
||||||
|
|
||||||
|
@ -2565,6 +2560,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);
|
||||||
|
|
||||||
|
@ -2574,9 +2570,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;
|
||||||
}
|
}
|
||||||
|
@ -2994,7 +2998,7 @@ boolean P_AddWadFile(const char *wadfilename, char **firstmapname)
|
||||||
|
|
||||||
if ((numlumps = W_LoadWadFile(wadfilename)) == INT16_MAX)
|
if ((numlumps = W_LoadWadFile(wadfilename)) == INT16_MAX)
|
||||||
{
|
{
|
||||||
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 wadnum = (UINT16)(numwadfiles-1);
|
else wadnum = (UINT16)(numwadfiles-1);
|
||||||
|
|
|
@ -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();
|
||||||
|
|
|
@ -210,17 +210,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 a new issue