19 #ifndef COLLISION_CHECKS_H
20 #define COLLISION_CHECKS_H
22 #include "lvl_base_object.h"
33 float summSpeedYprv=body.colliding_ySpeed-collided->colliding_ySpeed;
38 ( (body.
posRect.bottom()-(summSpeedYprv>=0 ? 1 : 0 )) < collided->
posRect.top()+summSpeedYprv)
56 (floor(body.
posRect.bottom())+collided->colliding_ySpeed < collided->
posRect.top()+
58 +2.0+body.colliding_ySpeed)
70 (body.
posRect.top()+collided->colliding_ySpeed > collided->
posRect.bottom()
71 +body.colliding_ySpeed-2.0+_heightDelta)
89 ( body.
posRect.right()+collided->colliding_xSpeed <= collided->
posRect.left()+body.colliding_xSpeed+collided->
_width_half)
110 floorH = SL_HeightTopLeft(body, collided);
112 floorH = SL_HeightTopRight(body, collided);
113 double slopeTop = collided->
posRect.bottom()-floorH;
114 if(slopeTop<collided->top()) slopeTop=collided->
posRect.top();
115 else if(slopeTop>collided->bottom()) slopeTop=collided->
posRect.bottom();
116 return (body.
posRect.bottom()>=slopeTop)&&
118 (!( (body.
posRect.left()+collided->colliding_xSpeed>=collided->
posRect.right()+body.colliding_xSpeed) ||
119 (body.
posRect.right()+collided->colliding_xSpeed<=collided->
posRect.left()+body.colliding_xSpeed) ) )
127 cellingH = SL_HeightTopLeft(body, collided);
129 cellingH = SL_HeightTopRight(body, collided);
130 double slopeBottom = collided->
posRect.top()+cellingH;
131 if(slopeBottom >collided->bottom()) slopeBottom =collided->
posRect.bottom();
132 else if(slopeBottom <collided->top()) slopeBottom = collided->
posRect.top();
133 return (body.
posRect.top()<=slopeBottom )&&
135 (!( (body.
posRect.left()+collided->colliding_xSpeed>=collided->
posRect.right()+body.colliding_xSpeed) ||
136 (body.
posRect.right()+collided->colliding_xSpeed<=collided->
posRect.left()+body.colliding_xSpeed) ) );
139 #endif // COLLISION_CHECKS_H
double _velocityY_add
additional Y acceleration
Definition: lvl_base_object.h:139
double _width_half
Half of width.
Definition: lvl_base_object.h:146
double _velocityX_add
additional X acceleration
Definition: lvl_base_object.h:138
PGE_RectF posRect
Real body geometry and position.
Definition: lvl_base_object.h:128
double _velocityY
current Y speed (pixels per 1/65 of second)
Definition: lvl_base_object.h:133
double _velocityX
current X speed (pixels per 1/65 of second)
Definition: lvl_base_object.h:132
The PGE_Phys_Object class.
Definition: lvl_base_object.h:51