mirror of
				https://github.com/KartKrewDev/RingRacers.git
				synced 2025-10-30 08:01:28 +00:00 
			
		
		
		
	Merge branch 'fix-software-splitscreen-tilt' into 'master'
Fix splitscreen camera tilting in Software See merge request KartKrew/Kart!531
This commit is contained in:
		
						commit
						484ab4b5dc
					
				
					 3 changed files with 10 additions and 1 deletions
				
			
		| 
						 | 
				
			
			@ -293,6 +293,8 @@ static void D_Display(void)
 | 
			
		|||
		{
 | 
			
		||||
			for (i = 0; i <= r_splitscreen; ++i)
 | 
			
		||||
			{
 | 
			
		||||
				R_SetViewContext(VIEWCONTEXT_PLAYER1 + i);
 | 
			
		||||
				R_InterpolateViewRollAngle(rendertimefrac);
 | 
			
		||||
				R_CheckViewMorph(i);
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -80,6 +80,11 @@ static void R_SetupFreelook(player_t *player, boolean skybox)
 | 
			
		|||
 | 
			
		||||
#undef AIMINGTODY
 | 
			
		||||
 | 
			
		||||
void R_InterpolateViewRollAngle(fixed_t frac)
 | 
			
		||||
{
 | 
			
		||||
	viewroll = oldview->roll + R_LerpAngle(oldview->roll, newview->roll, frac);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void R_InterpolateView(fixed_t frac)
 | 
			
		||||
{
 | 
			
		||||
	if (frac < 0)
 | 
			
		||||
| 
						 | 
				
			
			@ -95,7 +100,7 @@ void R_InterpolateView(fixed_t frac)
 | 
			
		|||
 | 
			
		||||
	viewangle = oldview->angle + R_LerpAngle(oldview->angle, newview->angle, frac);
 | 
			
		||||
	aimingangle = oldview->aim + R_LerpAngle(oldview->aim, newview->aim, frac);
 | 
			
		||||
	viewroll = oldview->roll + R_LerpAngle(oldview->roll, newview->roll, frac);
 | 
			
		||||
	R_InterpolateViewRollAngle(frac);
 | 
			
		||||
 | 
			
		||||
	viewsin = FINESINE(viewangle>>ANGLETOFINESHIFT);
 | 
			
		||||
	viewcos = FINECOSINE(viewangle>>ANGLETOFINESHIFT);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -51,6 +51,8 @@ extern viewvars_t *newview;
 | 
			
		|||
 | 
			
		||||
// Interpolates the current view variables (r_state.h) against the selected view context in R_SetViewContext
 | 
			
		||||
void R_InterpolateView(fixed_t frac);
 | 
			
		||||
// Special function just for software
 | 
			
		||||
void R_InterpolateViewRollAngle(fixed_t frac);
 | 
			
		||||
// Buffer the current new views into the old views. Call once after each real tic.
 | 
			
		||||
void R_UpdateViewInterpolation(void);
 | 
			
		||||
// Set the current view context (the viewvars pointed to by newview)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue