mirror of
				https://github.com/KartKrewDev/RingRacers.git
				synced 2025-10-30 08:01:28 +00:00 
			
		
		
		
	Merge remote-tracking branch 'upstream/master' into defaultsoundvol
This commit is contained in:
		
						commit
						deb0d72094
					
				
					 11 changed files with 92 additions and 49 deletions
				
			
		| 
						 | 
				
			
			@ -2244,7 +2244,7 @@ static void Command_connect(void)
 | 
			
		|||
	// Assume we connect directly.
 | 
			
		||||
	boolean viams = false;
 | 
			
		||||
 | 
			
		||||
	if (COM_Argc() < 2)
 | 
			
		||||
	if (COM_Argc() < 2 || *COM_Argv(1) == 0)
 | 
			
		||||
	{
 | 
			
		||||
		CONS_Printf(M_GetText(
 | 
			
		||||
			"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();
 | 
			
		||||
 | 
			
		||||
	// Reset the palette
 | 
			
		||||
#ifdef HWRENDER
 | 
			
		||||
	if (rendermode == render_opengl)
 | 
			
		||||
		HWR_SetPaletteColor(0);
 | 
			
		||||
	else
 | 
			
		||||
#endif
 | 
			
		||||
	if (rendermode != render_none)
 | 
			
		||||
		V_SetPaletteLump("PLAYPAL");
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1068,7 +1063,7 @@ void D_SRB2Main(void)
 | 
			
		|||
 | 
			
		||||
	// add any files specified on the command line with -file wadfile
 | 
			
		||||
	// to the wad list
 | 
			
		||||
	if (!(M_CheckParm("-connect")))
 | 
			
		||||
	if (!(M_CheckParm("-connect") && !M_CheckParm("-server")))
 | 
			
		||||
	{
 | 
			
		||||
		if (M_CheckParm("-file"))
 | 
			
		||||
		{
 | 
			
		||||
| 
						 | 
				
			
			@ -1224,7 +1219,15 @@ void D_SRB2Main(void)
 | 
			
		|||
	R_Init();
 | 
			
		||||
 | 
			
		||||
	// 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"))
 | 
			
		||||
		nosound = true;
 | 
			
		||||
	if (M_CheckParm("-nomusic")) // combines -nomidimusic and -nodigmusic
 | 
			
		||||
| 
						 | 
				
			
			@ -1323,7 +1326,7 @@ void D_SRB2Main(void)
 | 
			
		|||
		ultimatemode = true;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if (autostart || netgame || M_CheckParm("+connect") || M_CheckParm("-connect"))
 | 
			
		||||
	if (autostart || netgame)
 | 
			
		||||
	{
 | 
			
		||||
		gameaction = ga_nothing;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1361,8 +1364,7 @@ void D_SRB2Main(void)
 | 
			
		|||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if (server && !M_CheckParm("+map") && !M_CheckParm("+connect")
 | 
			
		||||
			&& !M_CheckParm("-connect"))
 | 
			
		||||
		if (server && !M_CheckParm("+map"))
 | 
			
		||||
		{
 | 
			
		||||
			// Prevent warping to nonexistent levels
 | 
			
		||||
			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
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 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 homecheck = filesearch(filename, srb2home, wantedmd5sum, false, 10);
 | 
			
		||||
	if (homecheck == FS_FOUND)
 | 
			
		||||
		return filesearch(filename, srb2home, wantedmd5sum, completepath, 10);
 | 
			
		||||
	filestatus_t homecheck; // store result of last file search
 | 
			
		||||
	boolean badmd5 = false; // store whether md5 was bad from either of the first two searches (if nothing was found in the third)
 | 
			
		||||
 | 
			
		||||
	homecheck = filesearch(filename, srb2path, wantedmd5sum, false, 10);
 | 
			
		||||
	if (homecheck == FS_FOUND)
 | 
			
		||||
		return filesearch(filename, srb2path, wantedmd5sum, completepath, 10);
 | 
			
		||||
	// first, check SRB2's "home" directory
 | 
			
		||||
	homecheck = filesearch(filename, srb2home, 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
 | 
			
		||||
	return filesearch(filename, "/cd", wantedmd5sum, completepath, 10);
 | 
			
		||||
	homecheck = filesearch(filename, "/cd", wantedmd5sum, completepath, 10);
 | 
			
		||||
#else
 | 
			
		||||
	return filesearch(filename, ".", wantedmd5sum, completepath, 10);
 | 
			
		||||
	homecheck = filesearch(filename, ".", wantedmd5sum, completepath, 10);
 | 
			
		||||
#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;
 | 
			
		||||
 | 
			
		||||
		// 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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2901,8 +2901,8 @@ static boolean HWR_CheckBBox(fixed_t *bspcoord)
 | 
			
		|||
	py2 = bspcoord[checkcoord[boxpos][3]];
 | 
			
		||||
 | 
			
		||||
	// check clip list for an open space
 | 
			
		||||
	angle1 = R_PointToAngle(px1, py1) - dup_viewangle;
 | 
			
		||||
	angle2 = R_PointToAngle(px2, py2) - dup_viewangle;
 | 
			
		||||
	angle1 = R_PointToAngle2(dup_viewx>>1, dup_viewy>>1, px1>>1, py1>>1) - dup_viewangle;
 | 
			
		||||
	angle2 = R_PointToAngle2(dup_viewx>>1, dup_viewy>>1, px2>>1, py2>>1) - dup_viewangle;
 | 
			
		||||
 | 
			
		||||
	span = angle1 - angle2;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -4228,6 +4228,9 @@ static void HWR_SplitSprite(gr_vissprite_t *spr)
 | 
			
		|||
	i = 0;
 | 
			
		||||
	temp = FLOAT_TO_FIXED(realtop);
 | 
			
		||||
 | 
			
		||||
	if (spr->mobj->frame & FF_FULLBRIGHT)
 | 
			
		||||
		lightlevel = 255;
 | 
			
		||||
 | 
			
		||||
#ifdef ESLOPE
 | 
			
		||||
	for (i = 1; i < sector->numlights; i++)
 | 
			
		||||
	{
 | 
			
		||||
| 
						 | 
				
			
			@ -4235,14 +4238,16 @@ static void HWR_SplitSprite(gr_vissprite_t *spr)
 | 
			
		|||
					: sector->lightlist[i].height;
 | 
			
		||||
		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;
 | 
			
		||||
			break;
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
#else
 | 
			
		||||
	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;
 | 
			
		||||
#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
 | 
			
		||||
		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;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -33,7 +33,9 @@
 | 
			
		|||
*/
 | 
			
		||||
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__
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -6295,6 +6295,13 @@ static void M_DrawConnectIPMenu(void)
 | 
			
		|||
static void M_ConnectIP(INT32 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));
 | 
			
		||||
 | 
			
		||||
	// A little "please wait" message.
 | 
			
		||||
| 
						 | 
				
			
			@ -6536,7 +6543,7 @@ static void M_HandleSetupMultiPlayer(INT32 choice)
 | 
			
		|||
			if (choice < 32 || choice > 127 || itemOn != 0)
 | 
			
		||||
				break;
 | 
			
		||||
			l = strlen(setupm_name);
 | 
			
		||||
			if (l < MAXPLAYERNAME-1)
 | 
			
		||||
			if (l < MAXPLAYERNAME)
 | 
			
		||||
			{
 | 
			
		||||
				S_StartSound(NULL,sfx_menu1); // Tails
 | 
			
		||||
				setupm_name[l] =(char)choice;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2503,11 +2503,6 @@ boolean P_SetupLevel(boolean skipprecip)
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
	// Reset the palette
 | 
			
		||||
#ifdef HWRENDER
 | 
			
		||||
	if (rendermode == render_opengl)
 | 
			
		||||
		HWR_SetPaletteColor(0);
 | 
			
		||||
	else
 | 
			
		||||
#endif
 | 
			
		||||
	if (rendermode != render_none)
 | 
			
		||||
		V_SetPaletteLump("PLAYPAL");
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -2565,6 +2560,7 @@ boolean P_SetupLevel(boolean skipprecip)
 | 
			
		|||
	{
 | 
			
		||||
		tic_t starttime = I_GetTime();
 | 
			
		||||
		tic_t endtime = starttime + (3*TICRATE)/2;
 | 
			
		||||
		tic_t nowtime;
 | 
			
		||||
 | 
			
		||||
		S_StartSound(NULL, sfx_s3kaf);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -2574,9 +2570,17 @@ boolean P_SetupLevel(boolean skipprecip)
 | 
			
		|||
		F_WipeEndScreen();
 | 
			
		||||
		F_RunWipe(wipedefs[wipe_speclevel_towhite], false);
 | 
			
		||||
 | 
			
		||||
		nowtime = lastwipetic;
 | 
			
		||||
		// Hold on white for extra effect.
 | 
			
		||||
		while (I_GetTime() < endtime)
 | 
			
		||||
			I_Sleep();
 | 
			
		||||
		while (nowtime < endtime)
 | 
			
		||||
		{
 | 
			
		||||
			// 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;
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			@ -2994,7 +2998,7 @@ boolean P_AddWadFile(const char *wadfilename, char **firstmapname)
 | 
			
		|||
 | 
			
		||||
	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;
 | 
			
		||||
	}
 | 
			
		||||
	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));
 | 
			
		||||
 | 
			
		||||
	// 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
 | 
			
		||||
	if (USE_MOUSEINPUT)
 | 
			
		||||
	{
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1180,12 +1180,6 @@ void I_StartupSound(void)
 | 
			
		|||
	audio.callback = I_UpdateStream;
 | 
			
		||||
	audio.userdata = &localdata;
 | 
			
		||||
 | 
			
		||||
	if (dedicated)
 | 
			
		||||
	{
 | 
			
		||||
		nosound = nomidimusic = nodigimusic = true;
 | 
			
		||||
		return;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Configure sound device
 | 
			
		||||
	CONS_Printf("I_StartupSound:\n");
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1481,9 +1475,6 @@ void I_InitMusic(void)
 | 
			
		|||
	I_AddExitFunc(I_ShutdownGMEMusic);
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
	if ((nomidimusic && nodigimusic) || dedicated)
 | 
			
		||||
		return;
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_MIXER
 | 
			
		||||
	MIX_VERSION(&MIXcompiled)
 | 
			
		||||
	MIXlinked = Mix_Linked_Version();
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -210,17 +210,17 @@ void ST_doPaletteStuff(void)
 | 
			
		|||
	else
 | 
			
		||||
		palette = 0;
 | 
			
		||||
 | 
			
		||||
#ifdef HWRENDER
 | 
			
		||||
	if (rendermode == render_opengl)
 | 
			
		||||
		palette = 0; // No flashpals here in OpenGL
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
	palette = min(max(palette, 0), 13);
 | 
			
		||||
 | 
			
		||||
	if (palette != st_palette)
 | 
			
		||||
	{
 | 
			
		||||
		st_palette = palette;
 | 
			
		||||
 | 
			
		||||
#ifdef HWRENDER
 | 
			
		||||
		if (rendermode == render_opengl)
 | 
			
		||||
			HWR_SetPaletteColor(0);
 | 
			
		||||
		else
 | 
			
		||||
#endif
 | 
			
		||||
		if (rendermode != render_none)
 | 
			
		||||
		{
 | 
			
		||||
			V_SetPaletteLump(GetPalette()); // Reset the palette
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue