This commit is contained in:
parent
c6b4ef75cb
commit
6c807b17f7
2 changed files with 37 additions and 10 deletions
|
@ -417,7 +417,7 @@ void CThing::init()
|
||||||
|
|
||||||
setCollisionSize(20,20); // Some temporary defaults.. (pkg)
|
setCollisionSize(20,20); // Some temporary defaults.. (pkg)
|
||||||
setCollisionCentreOffset(0,0);
|
setCollisionCentreOffset(0,0);
|
||||||
m_collisionAngle = 0;
|
setCollisionAngle(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*----------------------------------------------------------------------
|
/*----------------------------------------------------------------------
|
||||||
|
@ -471,6 +471,32 @@ void CThing::render()
|
||||||
DVECTOR ofs;
|
DVECTOR ofs;
|
||||||
CRECT area;
|
CRECT area;
|
||||||
|
|
||||||
|
ofs=CLevel::getCameraPos();
|
||||||
|
area=getCollisionArea();
|
||||||
|
area.x1-=ofs.vx;
|
||||||
|
area.y1-=ofs.vy;
|
||||||
|
area.x2-=ofs.vx;
|
||||||
|
area.y2-=ofs.vy;
|
||||||
|
|
||||||
|
if(area.x1<=511&&area.x2>=0&&
|
||||||
|
area.y1<=255&&area.y2>=0)
|
||||||
|
{
|
||||||
|
DrawLine(area.x1,area.y1,area.x2,area.y1,255,255,255,0);
|
||||||
|
DrawLine(area.x2,area.y1,area.x2,area.y2,255,255,255,0);
|
||||||
|
DrawLine(area.x2,area.y2,area.x1,area.y2,255,255,255,0);
|
||||||
|
DrawLine(area.x1,area.y2,area.x1,area.y1,255,255,255,0);
|
||||||
|
|
||||||
|
area.x1=Pos.vx-10-ofs.vx;
|
||||||
|
area.y1=Pos.vy-10-ofs.vy;
|
||||||
|
area.x2=Pos.vx+10-ofs.vx;
|
||||||
|
area.y2=Pos.vy+10-ofs.vy;
|
||||||
|
DrawLine(area.x1,area.y1,area.x2,area.y2,255,0,0,0);
|
||||||
|
DrawLine(area.x2,area.y1,area.x1,area.y2,255,0,0,0);
|
||||||
|
}
|
||||||
|
/*
|
||||||
|
DVECTOR ofs;
|
||||||
|
CRECT area;
|
||||||
|
|
||||||
ofs=CLevel::getCameraPos();
|
ofs=CLevel::getCameraPos();
|
||||||
|
|
||||||
area=getCollisionArea();
|
area=getCollisionArea();
|
||||||
|
@ -538,6 +564,7 @@ void CThing::render()
|
||||||
DrawLine(area.x1,area.y1,area.x2,area.y2,255,0,0,0);
|
DrawLine(area.x1,area.y1,area.x2,area.y2,255,0,0,0);
|
||||||
DrawLine(area.x2,area.y1,area.x1,area.y2,255,0,0,0);
|
DrawLine(area.x2,area.y1,area.x1,area.y2,255,0,0,0);
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
|
|
|
@ -143,8 +143,8 @@ public:
|
||||||
DVECTOR getCollisionCentre() {return m_collisionCentre;}
|
DVECTOR getCollisionCentre() {return m_collisionCentre;}
|
||||||
int getCollisionRadius() {return m_collisionRadius;}
|
int getCollisionRadius() {return m_collisionRadius;}
|
||||||
CRECT getCollisionArea() {return m_collisionArea;}
|
CRECT getCollisionArea() {return m_collisionArea;}
|
||||||
s16 getCollisionAngle() {return m_collisionAngle;}
|
s16 getCollisionAngle() {return m_collisionAngle;} // pkg - move to CNpcPlatform?
|
||||||
DVECTOR getNewCollidedPos() {return m_newCollidedPos;}
|
DVECTOR getNewCollidedPos() {return m_newCollidedPos;} // pkg - to be removed?
|
||||||
DVECTOR getCollisionSize() {return m_collisionSize;}
|
DVECTOR getCollisionSize() {return m_collisionSize;}
|
||||||
|
|
||||||
virtual int canCollide() {return true;}
|
virtual int canCollide() {return true;}
|
||||||
|
@ -155,22 +155,22 @@ public:
|
||||||
virtual void setHasPlatformCollided( bool newVal ) {;}
|
virtual void setHasPlatformCollided( bool newVal ) {;}
|
||||||
virtual bool getHasPlatformCollided() {return false;}
|
virtual bool getHasPlatformCollided() {return false;}
|
||||||
virtual s32 getNewYPos( CThing *_thisThing );
|
virtual s32 getNewYPos( CThing *_thisThing );
|
||||||
void setNewCollidedPos(DVECTOR newPos) {m_newCollidedPos = newPos;}
|
void setNewCollidedPos(DVECTOR newPos) {m_newCollidedPos = newPos;} // pkg - to be removed?
|
||||||
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void setCollisionSize(int _w,int _h);
|
virtual void setCollisionSize(int _w,int _h);
|
||||||
void setCollisionCentreOffset(int _x,int _y) {m_collisionCentreOffset.vx=_x;m_collisionCentreOffset.vy=_y;}
|
virtual void setCollisionCentreOffset(int _x,int _y) {m_collisionCentreOffset.vx=_x;m_collisionCentreOffset.vy=_y;}
|
||||||
void setCollisionCentreOffset(DVECTOR xy) {m_collisionCentreOffset=xy;}
|
virtual void setCollisionCentreOffset(DVECTOR xy) {m_collisionCentreOffset=xy;}
|
||||||
void setCollisionAngle(int newAngle) {m_collisionAngle = newAngle;}
|
virtual void setCollisionAngle(int newAngle) {m_collisionAngle = newAngle;} // pkg - move to CNpcPlatform?
|
||||||
private:
|
private:
|
||||||
DVECTOR m_collisionSize;
|
DVECTOR m_collisionSize;
|
||||||
DVECTOR m_collisionCentreOffset;
|
DVECTOR m_collisionCentreOffset;
|
||||||
int m_collisionRadius;
|
int m_collisionRadius;
|
||||||
CRECT m_collisionArea;
|
CRECT m_collisionArea;
|
||||||
DVECTOR m_collisionCentre;
|
DVECTOR m_collisionCentre;
|
||||||
s16 m_collisionAngle;
|
s16 m_collisionAngle; // pkg - move to CNpcPlatform?
|
||||||
DVECTOR m_newCollidedPos;
|
DVECTOR m_newCollidedPos; // pkg - to be removed?
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue