mirror of
				https://github.com/KartKrewDev/RingRacers.git
				synced 2025-10-30 08:01:28 +00:00 
			
		
		
		
	Merge branch 'backdrop-in-splitscreen' into 'master'
Overlays use dispoffset instead of position hack See merge request KartKrew/Kart!763
This commit is contained in:
		
						commit
						8f16a6a040
					
				
					 1 changed files with 19 additions and 23 deletions
				
			
		
							
								
								
									
										42
									
								
								src/p_mobj.c
									
										
									
									
									
								
							
							
						
						
									
										42
									
								
								src/p_mobj.c
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -5257,27 +5257,8 @@ void P_RunOverlays(void)
 | 
			
		|||
			continue;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if (!r_splitscreen /*&& rendermode != render_soft*/)
 | 
			
		||||
		{
 | 
			
		||||
			angle_t viewingangle;
 | 
			
		||||
 | 
			
		||||
			if (players[displayplayers[0]].awayviewtics)
 | 
			
		||||
				viewingangle = R_PointToAngle2(mo->target->x, mo->target->y, players[displayplayers[0]].awayviewmobj->x, players[displayplayers[0]].awayviewmobj->y);
 | 
			
		||||
			else if (!camera[0].chase && players[displayplayers[0]].mo)
 | 
			
		||||
				viewingangle = R_PointToAngle2(mo->target->x, mo->target->y, players[displayplayers[0]].mo->x, players[displayplayers[0]].mo->y);
 | 
			
		||||
			else
 | 
			
		||||
				viewingangle = R_PointToAngle2(mo->target->x, mo->target->y, camera[0].x, camera[0].y);
 | 
			
		||||
 | 
			
		||||
			if (!(mo->state->frame & FF_ANIMATE) && mo->state->var1)
 | 
			
		||||
				viewingangle += ANGLE_180;
 | 
			
		||||
			destx = mo->target->x + P_ReturnThrustX(mo->target, viewingangle, FixedMul(FRACUNIT/4, mo->scale));
 | 
			
		||||
			desty = mo->target->y + P_ReturnThrustY(mo->target, viewingangle, FixedMul(FRACUNIT/4, mo->scale));
 | 
			
		||||
		}
 | 
			
		||||
		else
 | 
			
		||||
		{
 | 
			
		||||
			destx = mo->target->x;
 | 
			
		||||
			desty = mo->target->y;
 | 
			
		||||
		}
 | 
			
		||||
		destx = mo->target->x;
 | 
			
		||||
		desty = mo->target->y;
 | 
			
		||||
 | 
			
		||||
		mo->eflags = (mo->eflags & ~MFE_VERTICALFLIP) | (mo->target->eflags & MFE_VERTICALFLIP);
 | 
			
		||||
		mo->scale = mo->destscale = FixedMul(mo->target->scale, mo->movefactor);
 | 
			
		||||
| 
						 | 
				
			
			@ -5289,12 +5270,27 @@ void P_RunOverlays(void)
 | 
			
		|||
		if ((mo->flags & MF_DONTENCOREMAP) != (mo->target->flags & MF_DONTENCOREMAP))
 | 
			
		||||
			mo->flags ^= MF_DONTENCOREMAP;
 | 
			
		||||
 | 
			
		||||
		mo->dispoffset = mo->target->dispoffset + mo->info->dispoffset;
 | 
			
		||||
 | 
			
		||||
		if (!(mo->state->frame & FF_ANIMATE))
 | 
			
		||||
		{
 | 
			
		||||
			zoffs = FixedMul(((signed)mo->state->var2)*FRACUNIT, mo->scale);
 | 
			
		||||
		// if you're using FF_ANIMATE on an overlay,
 | 
			
		||||
		// then you're on your own.
 | 
			
		||||
 | 
			
		||||
			if (mo->state->var1)
 | 
			
		||||
			{
 | 
			
		||||
				mo->dispoffset--;
 | 
			
		||||
			}
 | 
			
		||||
			else
 | 
			
		||||
			{
 | 
			
		||||
				mo->dispoffset++;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		else
 | 
			
		||||
		{
 | 
			
		||||
			// if you're using FF_ANIMATE on an overlay,
 | 
			
		||||
			// then you're on your own.
 | 
			
		||||
			zoffs = 0;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		P_UnsetThingPosition(mo);
 | 
			
		||||
		mo->x = destx;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue