mirror of
				https://github.com/KartKrewDev/RingRacers.git
				synced 2025-10-30 08:01:28 +00:00 
			
		
		
		
	Add P_SpawnMobjFromMobjUnscaled, does not scale offsets
This commit is contained in:
		
							parent
							
								
									a884e332ba
								
							
						
					
					
						commit
						8770d76a4e
					
				
					 2 changed files with 18 additions and 6 deletions
				
			
		| 
						 | 
				
			
			@ -330,6 +330,7 @@ boolean P_CheckDeathPitCollide(mobj_t *mo);
 | 
			
		|||
boolean P_CheckSolidLava(mobj_t *mobj, ffloor_t *rover);
 | 
			
		||||
void P_AdjustMobjFloorZ_FFloors(mobj_t *mo, sector_t *sector, UINT8 motype);
 | 
			
		||||
 | 
			
		||||
mobj_t *P_SpawnMobjFromMobjUnscaled(mobj_t *mobj, fixed_t xofs, fixed_t yofs, fixed_t zofs, mobjtype_t type);
 | 
			
		||||
mobj_t *P_SpawnMobjFromMobj(mobj_t *mobj, fixed_t xofs, fixed_t yofs, fixed_t zofs, mobjtype_t type);
 | 
			
		||||
 | 
			
		||||
mobj_t *P_SpawnMissile(mobj_t *source, mobj_t *dest, mobjtype_t type);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										23
									
								
								src/p_mobj.c
									
										
									
									
									
								
							
							
						
						
									
										23
									
								
								src/p_mobj.c
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -14156,18 +14156,14 @@ fixed_t P_ScaleFromMap(fixed_t n, fixed_t scale)
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
//
 | 
			
		||||
// P_SpawnMobjFromMobj
 | 
			
		||||
// P_SpawnMobjFromMobjUnscaled
 | 
			
		||||
// Spawns an object with offsets relative to the position of another object.
 | 
			
		||||
// Scale, gravity flip, etc. is taken into account automatically.
 | 
			
		||||
//
 | 
			
		||||
mobj_t *P_SpawnMobjFromMobj(mobj_t *mobj, fixed_t xofs, fixed_t yofs, fixed_t zofs, mobjtype_t type)
 | 
			
		||||
mobj_t *P_SpawnMobjFromMobjUnscaled(mobj_t *mobj, fixed_t xofs, fixed_t yofs, fixed_t zofs, mobjtype_t type)
 | 
			
		||||
{
 | 
			
		||||
	mobj_t *newmobj;
 | 
			
		||||
 | 
			
		||||
	xofs = FixedMul(xofs, mobj->scale);
 | 
			
		||||
	yofs = FixedMul(yofs, mobj->scale);
 | 
			
		||||
	zofs = FixedMul(zofs, mobj->scale);
 | 
			
		||||
 | 
			
		||||
	newmobj = P_SpawnMobj(mobj->x + xofs, mobj->y + yofs, mobj->z + zofs, type);
 | 
			
		||||
	if (!newmobj)
 | 
			
		||||
		return NULL;
 | 
			
		||||
| 
						 | 
				
			
			@ -14220,6 +14216,21 @@ mobj_t *P_SpawnMobjFromMobj(mobj_t *mobj, fixed_t xofs, fixed_t yofs, fixed_t zo
 | 
			
		|||
	return newmobj;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//
 | 
			
		||||
// P_SpawnMobjFromMobj
 | 
			
		||||
// Spawns an object with offsets relative to the position of another object.
 | 
			
		||||
// Scale, gravity flip, etc. is taken into account automatically.
 | 
			
		||||
// The offsets are automatically scaled by source object's scale.
 | 
			
		||||
//
 | 
			
		||||
mobj_t *P_SpawnMobjFromMobj(mobj_t *mobj, fixed_t xofs, fixed_t yofs, fixed_t zofs, mobjtype_t type)
 | 
			
		||||
{
 | 
			
		||||
	xofs = FixedMul(xofs, mobj->scale);
 | 
			
		||||
	yofs = FixedMul(yofs, mobj->scale);
 | 
			
		||||
	zofs = FixedMul(zofs, mobj->scale);
 | 
			
		||||
 | 
			
		||||
	return P_SpawnMobjFromMobjUnscaled(mobj, xofs, yofs, zofs, type);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//
 | 
			
		||||
// P_GetMobjHead & P_GetMobjFeet
 | 
			
		||||
// Returns the top and bottom of an object, follows appearance, not physics,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		
		Reference in a new issue