This commit is contained in:
parent
3e2a380aa2
commit
3db41dcb68
7 changed files with 12 additions and 14 deletions
|
@ -18,7 +18,7 @@
|
||||||
#define MAX_OT_GUI (0)
|
#define MAX_OT_GUI (0)
|
||||||
#define MAX_OT (16)
|
#define MAX_OT (16)
|
||||||
#define MAX_OT_ALL (MAX_OT+MAX_OT_GUI)
|
#define MAX_OT_ALL (MAX_OT+MAX_OT_GUI)
|
||||||
#define MAX_PRIMS ((1024*2)) // Put back after overrender bug found (BAD DAVE!)
|
#define MAX_PRIMS ((1024*2)+1024) // Put back after overrender bug found (BAD DAVE!) ( put back in by evilpaul ;)
|
||||||
|
|
||||||
//#define USE_NTAGS 1
|
//#define USE_NTAGS 1
|
||||||
|
|
||||||
|
|
|
@ -37,7 +37,7 @@
|
||||||
void CNpcBranchPlatform::postInit()
|
void CNpcBranchPlatform::postInit()
|
||||||
{
|
{
|
||||||
sBBox boundingBox = m_modelGfx->GetBBox();
|
sBBox boundingBox = m_modelGfx->GetBBox();
|
||||||
setCollisionSize( ( boundingBox.XMax - boundingBox.XMin ) << 1, 50 + ( boundingBox.YMax - boundingBox.YMin ) );
|
setCollisionSize( ( boundingBox.XMax - boundingBox.XMin ) << 1, PLATFORMCOLLISIONHEIGHT );
|
||||||
|
|
||||||
if ( m_reversed )
|
if ( m_reversed )
|
||||||
{
|
{
|
||||||
|
@ -319,5 +319,5 @@ void CNpcBranchPlatform::calculateBoundingBoxSize()
|
||||||
x2=+length*mcos(angle&4095)>>12;
|
x2=+length*mcos(angle&4095)>>12;
|
||||||
y2=+length*msin(angle&4095)>>12;
|
y2=+length*msin(angle&4095)>>12;
|
||||||
|
|
||||||
setCollisionSize(abs(x2-x1),50 + abs(y2-y1)+PLATFORMCOLLISIONHEIGHT);
|
setCollisionSize(abs(x2-x1),abs(y2-y1)+PLATFORMCOLLISIONHEIGHT);
|
||||||
}
|
}
|
||||||
|
|
|
@ -479,7 +479,7 @@ void CNpcPlatform::reinit()
|
||||||
void CNpcPlatform::postInit()
|
void CNpcPlatform::postInit()
|
||||||
{
|
{
|
||||||
sBBox boundingBox = m_modelGfx->GetBBox();
|
sBBox boundingBox = m_modelGfx->GetBBox();
|
||||||
setCollisionSize( ( boundingBox.XMax - boundingBox.XMin ), 50 + ( boundingBox.YMax - boundingBox.YMin ) );
|
setCollisionSize( ( boundingBox.XMax - boundingBox.XMin ), PLATFORMCOLLISIONHEIGHT);
|
||||||
setCollisionCentreOffset( ( boundingBox.XMax + boundingBox.XMin ) >> 1, boundingBox.YMin );
|
setCollisionCentreOffset( ( boundingBox.XMax + boundingBox.XMin ) >> 1, boundingBox.YMin );
|
||||||
|
|
||||||
if ( m_type == NPC_LINEAR_PLATFORM )
|
if ( m_type == NPC_LINEAR_PLATFORM )
|
||||||
|
@ -700,7 +700,7 @@ void CNpcPlatform::calculateBoundingBoxSize()
|
||||||
x2=+halfLength*mcos(angle&4095)>>12;
|
x2=+halfLength*mcos(angle&4095)>>12;
|
||||||
y2=+halfLength*msin(angle&4095)>>12;
|
y2=+halfLength*msin(angle&4095)>>12;
|
||||||
|
|
||||||
setCollisionSize(abs(x2-x1),50 + abs(y2-y1)+PLATFORMCOLLISIONHEIGHT);
|
setCollisionSize(abs(x2-x1),abs(y2-y1)+PLATFORMCOLLISIONHEIGHT);
|
||||||
|
|
||||||
//sBBox boundingBox = m_modelGfx->GetBBox();
|
//sBBox boundingBox = m_modelGfx->GetBBox();
|
||||||
//setCollisionSize( ( boundingBox.XMax - boundingBox.XMin ), ( boundingBox.YMax - boundingBox.YMin ) );
|
//setCollisionSize( ( boundingBox.XMax - boundingBox.XMin ), ( boundingBox.YMax - boundingBox.YMin ) );
|
||||||
|
|
|
@ -42,7 +42,7 @@
|
||||||
|
|
||||||
// The collision box is this high.. if SB keeps falling through platforms then it *should* be sufficient
|
// The collision box is this high.. if SB keeps falling through platforms then it *should* be sufficient
|
||||||
// just to up this a bit
|
// just to up this a bit
|
||||||
#define PLATFORMCOLLISIONHEIGHT 80
|
#define PLATFORMCOLLISIONHEIGHT 90
|
||||||
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
|
@ -36,7 +36,7 @@ void CNpcRaftPlatform::postInit()
|
||||||
m_isSinking = false;
|
m_isSinking = false;
|
||||||
|
|
||||||
sBBox boundingBox = m_modelGfx->GetBBox();
|
sBBox boundingBox = m_modelGfx->GetBBox();
|
||||||
setCollisionSize( ( boundingBox.XMax - boundingBox.XMin ), 50 + ( boundingBox.YMax - boundingBox.YMin ) );
|
setCollisionSize( ( boundingBox.XMax - boundingBox.XMin ), PLATFORMCOLLISIONHEIGHT + ( boundingBox.YMax - boundingBox.YMin ) );
|
||||||
setCollisionCentreOffset( ( boundingBox.XMax + boundingBox.XMin ) >> 1, ( ( boundingBox.YMax + boundingBox.YMin ) >> 1 ) - 16 );
|
setCollisionCentreOffset( ( boundingBox.XMax + boundingBox.XMin ) >> 1, ( ( boundingBox.YMax + boundingBox.YMin ) >> 1 ) - 16 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -35,7 +35,7 @@ void CNpcSteerableBarrelPlatform::postInit()
|
||||||
CNpcPlatform::postInit();
|
CNpcPlatform::postInit();
|
||||||
|
|
||||||
sBBox boundingBox = m_modelGfx->GetBBox();
|
sBBox boundingBox = m_modelGfx->GetBBox();
|
||||||
setCollisionSize( ( boundingBox.XMax - boundingBox.XMin ), 50 + ( boundingBox.YMax - boundingBox.YMin ) );
|
setCollisionSize( ( boundingBox.XMax - boundingBox.XMin ), PLATFORMCOLLISIONHEIGHT + ( boundingBox.YMax - boundingBox.YMin ) );
|
||||||
setCollisionCentreOffset( ( boundingBox.XMax + boundingBox.XMin ) >> 1, ( ( boundingBox.YMax + boundingBox.YMin ) >> 1 ) - 32 );
|
setCollisionCentreOffset( ( boundingBox.XMax + boundingBox.XMin ) >> 1, ( ( boundingBox.YMax + boundingBox.YMin ) >> 1 ) - 32 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1779,12 +1779,10 @@ int CPlayer::moveVertical(int _moveDistance)
|
||||||
int colHeightBefore,colHeightAfter;
|
int colHeightBefore,colHeightAfter;
|
||||||
|
|
||||||
// Yes.. Check to see if we're about to hit/go through the ground/platform
|
// Yes.. Check to see if we're about to hit/go through the ground/platform
|
||||||
if(!isOnPlatform())
|
colHeightBefore=getHeightFromGround(pos.vx,pos.vy,16);
|
||||||
{
|
colHeightAfter=getHeightFromGround(pos.vx,pos.vy+_moveDistance,16);
|
||||||
colHeightBefore=getHeightFromGround(pos.vx,pos.vy,16);
|
if(isOnPlatform()&&
|
||||||
colHeightAfter=getHeightFromGround(pos.vx,pos.vy+_moveDistance,16);
|
!(colHeightBefore>=0&&colHeightAfter<=0))
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
colHeightBefore=getHeightFromPlatformNoGround(pos.vx,pos.vy,16);
|
colHeightBefore=getHeightFromPlatformNoGround(pos.vx,pos.vy,16);
|
||||||
colHeightAfter=getHeightFromPlatformNoGround(pos.vx,pos.vy+_moveDistance,16);
|
colHeightAfter=getHeightFromPlatformNoGround(pos.vx,pos.vy+_moveDistance,16);
|
||||||
|
|
Loading…
Add table
Reference in a new issue