This commit is contained in:
parent
918abff5fa
commit
37be262782
24 changed files with 404 additions and 697 deletions
|
@ -566,23 +566,10 @@ void CNpcAnemone2Enemy::render()
|
||||||
{
|
{
|
||||||
CEnemyThing::render();
|
CEnemyThing::render();
|
||||||
|
|
||||||
// Render
|
if (canRender())
|
||||||
DVECTOR renderPos;
|
|
||||||
DVECTOR offset = CLevel::getCameraPos();
|
|
||||||
|
|
||||||
renderPos.vx = Pos.vx - offset.vx;
|
|
||||||
renderPos.vy = Pos.vy - offset.vy;
|
|
||||||
|
|
||||||
CRECT collisionRect = getCollisionArea();
|
|
||||||
collisionRect.x1 -= Pos.vx;
|
|
||||||
collisionRect.x2 -= Pos.vx;
|
|
||||||
collisionRect.y1 -= Pos.vy;
|
|
||||||
collisionRect.y2 -= Pos.vy;
|
|
||||||
|
|
||||||
if ( renderPos.vx + collisionRect.x2 >= 0 && renderPos.vx + collisionRect.x1 <= VidGetScrW() )
|
|
||||||
{
|
|
||||||
if ( renderPos.vy + collisionRect.y2 >= 0 && renderPos.vy + collisionRect.y1 <= VidGetScrH() )
|
|
||||||
{
|
{
|
||||||
|
DVECTOR &renderPos=getRenderPos();
|
||||||
|
|
||||||
SprFrame = m_actorGfx->Render(renderPos,m_animNo,( m_frame >> 8 ),m_reversed);
|
SprFrame = m_actorGfx->Render(renderPos,m_animNo,( m_frame >> 8 ),m_reversed);
|
||||||
m_actorGfx->RotateScale( SprFrame, renderPos, m_drawRotation, m_scaleX, m_scaleY );
|
m_actorGfx->RotateScale( SprFrame, renderPos, m_drawRotation, m_scaleX, m_scaleY );
|
||||||
|
|
||||||
|
@ -592,7 +579,6 @@ void CNpcAnemone2Enemy::render()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
|
@ -47,31 +47,10 @@ void CNpcButterflyBackgroundEnemy::render()
|
||||||
{
|
{
|
||||||
CEnemyThing::render();
|
CEnemyThing::render();
|
||||||
|
|
||||||
// Render
|
if (canRender())
|
||||||
DVECTOR renderPos;
|
|
||||||
DVECTOR origRenderPos;
|
|
||||||
DVECTOR offset = CLevel::getCameraPos();
|
|
||||||
int spriteWidth = m_spriteBank->getFrameWidth( m_frame >> 8 );
|
|
||||||
int spriteHeight = m_spriteBank->getFrameHeight( m_frame >> 8 );
|
|
||||||
|
|
||||||
renderPos.vx = Pos.vx - offset.vx;
|
|
||||||
origRenderPos.vx = renderPos.vx;
|
|
||||||
renderPos.vx += m_drawOffset.vx;
|
|
||||||
|
|
||||||
renderPos.vy = Pos.vy - offset.vy;
|
|
||||||
origRenderPos.vy = renderPos.vy;
|
|
||||||
renderPos.vy += m_drawOffset.vy - ( spriteHeight >> 1 );
|
|
||||||
|
|
||||||
CRECT collisionRect = getCollisionArea();
|
|
||||||
collisionRect.x1 -= Pos.vx;
|
|
||||||
collisionRect.x2 -= Pos.vx;
|
|
||||||
collisionRect.y1 -= Pos.vy;
|
|
||||||
collisionRect.y2 -= Pos.vy;
|
|
||||||
|
|
||||||
if ( renderPos.vx + collisionRect.x2 >= 0 && renderPos.vx + collisionRect.x1 <= VidGetScrW() )
|
|
||||||
{
|
|
||||||
if ( renderPos.vy + collisionRect.y2 >= 0 && renderPos.vy + collisionRect.y1 <= VidGetScrH() )
|
|
||||||
{
|
{
|
||||||
|
DVECTOR &renderPos=getRenderPos();
|
||||||
|
|
||||||
SprFrame = m_spriteBank->printFT4(FRM_BUTTERFLY_FLAP01 + ( m_frame >> 8 ),renderPos.vx,renderPos.vy,!m_reversed,0,15);
|
SprFrame = m_spriteBank->printFT4(FRM_BUTTERFLY_FLAP01 + ( m_frame >> 8 ),renderPos.vx,renderPos.vy,!m_reversed,0,15);
|
||||||
setRGB0( SprFrame, 255, 128, 255 ); // Let me know if these change! ALso ket me know when the different coloured ones go in pls! (pkg)
|
setRGB0( SprFrame, 255, 128, 255 ); // Let me know if these change! ALso ket me know when the different coloured ones go in pls! (pkg)
|
||||||
|
|
||||||
|
@ -100,14 +79,13 @@ void CNpcButterflyBackgroundEnemy::render()
|
||||||
if (YMax<SprFrame->y2) YMax=SprFrame->y2;
|
if (YMax<SprFrame->y2) YMax=SprFrame->y2;
|
||||||
if (YMax<SprFrame->y3) YMax=SprFrame->y3;
|
if (YMax<SprFrame->y3) YMax=SprFrame->y3;
|
||||||
|
|
||||||
XMax -= origRenderPos.vx;
|
XMax -= renderPos.vx;
|
||||||
XMin -= origRenderPos.vx;
|
XMin -= renderPos.vx;
|
||||||
YMax -= origRenderPos.vy;
|
YMax -= renderPos.vy;
|
||||||
YMin -= origRenderPos.vy;
|
YMin -= renderPos.vy;
|
||||||
|
|
||||||
setCollisionSize( ( XMax - XMin ), ( YMax - YMin ) );
|
setCollisionSize( ( XMax - XMin ), ( YMax - YMin ) );
|
||||||
setCollisionCentreOffset( ( XMax + XMin ) >> 1, ( YMax + YMin ) >> 1 );
|
setCollisionCentreOffset( ( XMax + XMin ) >> 1, ( YMax + YMin ) >> 1 );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
|
@ -50,23 +50,10 @@ void CNpcMotherJellyfishBackground::render()
|
||||||
{
|
{
|
||||||
CEnemyThing::render();
|
CEnemyThing::render();
|
||||||
|
|
||||||
// Render
|
if (canRender())
|
||||||
DVECTOR renderPos;
|
|
||||||
DVECTOR offset = CLevel::getCameraPos();
|
|
||||||
|
|
||||||
renderPos.vx = Pos.vx - offset.vx;
|
|
||||||
renderPos.vy = Pos.vy - offset.vy;
|
|
||||||
|
|
||||||
CRECT collisionRect = getCollisionArea();
|
|
||||||
collisionRect.x1 -= Pos.vx;
|
|
||||||
collisionRect.x2 -= Pos.vx;
|
|
||||||
collisionRect.y1 -= Pos.vy;
|
|
||||||
collisionRect.y2 -= Pos.vy;
|
|
||||||
|
|
||||||
if ( renderPos.vx + collisionRect.x2 >= 0 && renderPos.vx + collisionRect.x1 <= VidGetScrW() )
|
|
||||||
{
|
|
||||||
if ( renderPos.vy + collisionRect.y2 >= 0 && renderPos.vy + collisionRect.y1 <= VidGetScrH() )
|
|
||||||
{
|
{
|
||||||
|
DVECTOR &renderPos=getRenderPos();
|
||||||
|
|
||||||
SprFrame = m_actorGfx->Render(renderPos,m_animNo,( m_frame >> 8 ),false);
|
SprFrame = m_actorGfx->Render(renderPos,m_animNo,( m_frame >> 8 ),false);
|
||||||
m_actorGfx->RotateScale( SprFrame, renderPos, 0, 8192, 8192 );
|
m_actorGfx->RotateScale( SprFrame, renderPos, 0, 8192, 8192 );
|
||||||
|
|
||||||
|
@ -76,4 +63,3 @@ void CNpcMotherJellyfishBackground::render()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
|
@ -366,23 +366,10 @@ void CNpcMotherJellyfishEnemy::render()
|
||||||
{
|
{
|
||||||
CEnemyThing::render();
|
CEnemyThing::render();
|
||||||
|
|
||||||
// Render
|
if (canRender())
|
||||||
DVECTOR renderPos;
|
|
||||||
DVECTOR offset = CLevel::getCameraPos();
|
|
||||||
|
|
||||||
renderPos.vx = Pos.vx - offset.vx;
|
|
||||||
renderPos.vy = Pos.vy - offset.vy;
|
|
||||||
|
|
||||||
CRECT collisionRect = getCollisionArea();
|
|
||||||
collisionRect.x1 -= Pos.vx;
|
|
||||||
collisionRect.x2 -= Pos.vx;
|
|
||||||
collisionRect.y1 -= Pos.vy;
|
|
||||||
collisionRect.y2 -= Pos.vy;
|
|
||||||
|
|
||||||
if ( renderPos.vx + collisionRect.x2 >= 0 && renderPos.vx + collisionRect.x1 <= VidGetScrW() )
|
|
||||||
{
|
|
||||||
if ( renderPos.vy + collisionRect.y2 >= 0 && renderPos.vy + collisionRect.y1 <= VidGetScrH() )
|
|
||||||
{
|
{
|
||||||
|
DVECTOR &renderPos=getRenderPos();
|
||||||
|
|
||||||
SprFrame = m_actorGfx->Render(renderPos,m_animNo,( m_frame >> 8 ),false);
|
SprFrame = m_actorGfx->Render(renderPos,m_animNo,( m_frame >> 8 ),false);
|
||||||
m_actorGfx->RotateScale( SprFrame, renderPos, 0, 8192, 8192 );
|
m_actorGfx->RotateScale( SprFrame, renderPos, 0, 8192, 8192 );
|
||||||
|
|
||||||
|
@ -392,7 +379,6 @@ void CNpcMotherJellyfishEnemy::render()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
|
@ -1343,23 +1343,10 @@ void CNpcEnemy::render()
|
||||||
{
|
{
|
||||||
CEnemyThing::render();
|
CEnemyThing::render();
|
||||||
|
|
||||||
// Render
|
if (canRender())
|
||||||
DVECTOR renderPos;
|
|
||||||
DVECTOR offset = CLevel::getCameraPos();
|
|
||||||
|
|
||||||
renderPos.vx = Pos.vx - offset.vx;
|
|
||||||
renderPos.vy = Pos.vy - offset.vy;
|
|
||||||
|
|
||||||
CRECT collisionRect = getCollisionArea();
|
|
||||||
collisionRect.x1 -= Pos.vx;
|
|
||||||
collisionRect.x2 -= Pos.vx;
|
|
||||||
collisionRect.y1 -= Pos.vy;
|
|
||||||
collisionRect.y2 -= Pos.vy;
|
|
||||||
|
|
||||||
if ( renderPos.vx + collisionRect.x2 >= 0 && renderPos.vx + collisionRect.x1 <= VidGetScrW() )
|
|
||||||
{
|
|
||||||
if ( renderPos.vy + collisionRect.y2 >= 0 && renderPos.vy + collisionRect.y1 <= VidGetScrH() )
|
|
||||||
{
|
{
|
||||||
|
DVECTOR &renderPos=getRenderPos();
|
||||||
|
|
||||||
SprFrame = m_actorGfx->Render(renderPos,m_animNo,( m_frame >> 8 ),m_reversed);
|
SprFrame = m_actorGfx->Render(renderPos,m_animNo,( m_frame >> 8 ),m_reversed);
|
||||||
m_actorGfx->RotateScale( SprFrame, renderPos, m_drawRotation, 4096, 4096 );
|
m_actorGfx->RotateScale( SprFrame, renderPos, m_drawRotation, 4096, 4096 );
|
||||||
|
|
||||||
|
@ -1369,7 +1356,6 @@ void CNpcEnemy::render()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
|
@ -150,31 +150,10 @@ void CNpcSmallJellyfishProjectileEnemy::render()
|
||||||
{
|
{
|
||||||
CEnemyThing::render();
|
CEnemyThing::render();
|
||||||
|
|
||||||
// Render
|
if (canRender())
|
||||||
DVECTOR renderPos;
|
|
||||||
DVECTOR origRenderPos;
|
|
||||||
DVECTOR offset = CLevel::getCameraPos();
|
|
||||||
int spriteWidth = m_spriteBank->getFrameWidth( m_frame >> 8 );
|
|
||||||
int spriteHeight = m_spriteBank->getFrameHeight( m_frame >> 8 );
|
|
||||||
|
|
||||||
renderPos.vx = Pos.vx - offset.vx;
|
|
||||||
origRenderPos.vx = renderPos.vx;
|
|
||||||
renderPos.vx += m_drawOffset.vx;
|
|
||||||
|
|
||||||
renderPos.vy = Pos.vy - offset.vy;
|
|
||||||
origRenderPos.vy = renderPos.vy;
|
|
||||||
renderPos.vy += m_drawOffset.vy - ( spriteHeight >> 1 );
|
|
||||||
|
|
||||||
CRECT collisionRect = getCollisionArea();
|
|
||||||
collisionRect.x1 -= Pos.vx;
|
|
||||||
collisionRect.x2 -= Pos.vx;
|
|
||||||
collisionRect.y1 -= Pos.vy;
|
|
||||||
collisionRect.y2 -= Pos.vy;
|
|
||||||
|
|
||||||
if ( renderPos.vx + collisionRect.x2 >= 0 && renderPos.vx + collisionRect.x1 <= VidGetScrW() )
|
|
||||||
{
|
|
||||||
if ( renderPos.vy + collisionRect.y2 >= 0 && renderPos.vy + collisionRect.y1 <= VidGetScrH() )
|
|
||||||
{
|
{
|
||||||
|
DVECTOR &renderPos=getRenderPos();
|
||||||
|
|
||||||
SprFrame = m_spriteBank->printRotatedScaledSprite( FRM_JELLYFISH1_SWIM1 + ( m_frame >> 8 ),renderPos.vx,renderPos.vy,4096,4096,m_drawRotation,10);
|
SprFrame = m_spriteBank->printRotatedScaledSprite( FRM_JELLYFISH1_SWIM1 + ( m_frame >> 8 ),renderPos.vx,renderPos.vy,4096,4096,m_drawRotation,10);
|
||||||
setRGB0( SprFrame, 255, 128, 255 ); // Let me know if these change! ALso ket me know when the different coloured ones go in pls! (pkg)
|
setRGB0( SprFrame, 255, 128, 255 ); // Let me know if these change! ALso ket me know when the different coloured ones go in pls! (pkg)
|
||||||
|
|
||||||
|
@ -203,17 +182,16 @@ void CNpcSmallJellyfishProjectileEnemy::render()
|
||||||
if (YMax<SprFrame->y2) YMax=SprFrame->y2;
|
if (YMax<SprFrame->y2) YMax=SprFrame->y2;
|
||||||
if (YMax<SprFrame->y3) YMax=SprFrame->y3;
|
if (YMax<SprFrame->y3) YMax=SprFrame->y3;
|
||||||
|
|
||||||
XMax -= origRenderPos.vx;
|
XMax -= renderPos.vx;
|
||||||
XMin -= origRenderPos.vx;
|
XMin -= renderPos.vx;
|
||||||
YMax -= origRenderPos.vy;
|
YMax -= renderPos.vy;
|
||||||
YMin -= origRenderPos.vy;
|
YMin -= renderPos.vy;
|
||||||
|
|
||||||
setCollisionSize( ( XMax - XMin ), ( YMax - YMin ) );
|
setCollisionSize( ( XMax - XMin ), ( YMax - YMin ) );
|
||||||
setCollisionCentreOffset( ( XMax + XMin ) >> 1, ( YMax + YMin ) >> 1 );
|
setCollisionCentreOffset( ( XMax + XMin ) >> 1, ( YMax + YMin ) >> 1 );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
|
@ -42,57 +42,32 @@ void CNpcSquidDartEnemy::render()
|
||||||
{
|
{
|
||||||
CEnemyThing::render();
|
CEnemyThing::render();
|
||||||
|
|
||||||
// Render
|
if (canRender())
|
||||||
DVECTOR renderPos;
|
{
|
||||||
DVECTOR origRenderPos;
|
DVECTOR &renderPos=getRenderPos();
|
||||||
DVECTOR offset = CLevel::getCameraPos();
|
|
||||||
|
|
||||||
int frame = FRM_SQUIDDART_SWIM0001 + ( m_frame >> 8 );
|
int frame = FRM_SQUIDDART_SWIM0001 + ( m_frame >> 8 );
|
||||||
|
|
||||||
int spriteWidth = m_spriteBank->getFrameWidth( frame );
|
|
||||||
int spriteHeight = m_spriteBank->getFrameHeight( frame );
|
|
||||||
|
|
||||||
renderPos.vx = Pos.vx - offset.vx;
|
|
||||||
origRenderPos.vx = renderPos.vx;
|
|
||||||
|
|
||||||
if ( m_reversed )
|
|
||||||
{
|
|
||||||
renderPos.vx += ( spriteWidth >> 1 ) + m_drawOffset.vx;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
renderPos.vx -= ( spriteWidth >> 1 ) + m_drawOffset.vx;
|
|
||||||
}
|
|
||||||
|
|
||||||
renderPos.vy = Pos.vy - offset.vy;
|
|
||||||
origRenderPos.vy = renderPos.vy;
|
|
||||||
renderPos.vy += m_drawOffset.vy - ( spriteHeight >> 1 );
|
|
||||||
|
|
||||||
CRECT collisionRect = getCollisionArea();
|
|
||||||
collisionRect.x1 -= Pos.vx;
|
|
||||||
collisionRect.x2 -= Pos.vx;
|
|
||||||
collisionRect.y1 -= Pos.vy;
|
|
||||||
collisionRect.y2 -= Pos.vy;
|
|
||||||
|
|
||||||
if ( renderPos.vx + collisionRect.x2 >= 0 && renderPos.vx + collisionRect.x1 <= VidGetScrW() )
|
|
||||||
{
|
|
||||||
if ( renderPos.vy + collisionRect.y2 >= 0 && renderPos.vy + collisionRect.y1 <= VidGetScrH() )
|
|
||||||
{
|
|
||||||
SprFrame = m_spriteBank->printFT4(frame,renderPos.vx,renderPos.vy,m_reversed,0,10);
|
SprFrame = m_spriteBank->printFT4(frame,renderPos.vx,renderPos.vy,m_reversed,0,10);
|
||||||
setRGB0( SprFrame, 255, 128, 255 );
|
setRGB0( SprFrame, 255, 128, 255 );
|
||||||
|
|
||||||
s32 XMax = SprFrame->x1 - origRenderPos.vx;
|
/*s32 XMax = SprFrame->x1 - origRenderPos.vx;
|
||||||
s32 XMin = SprFrame->x0 - origRenderPos.vx;
|
s32 XMin = SprFrame->x0 - origRenderPos.vx;
|
||||||
|
|
||||||
s32 YMax = SprFrame->y2 - origRenderPos.vy;
|
s32 YMax = SprFrame->y2 - origRenderPos.vy;
|
||||||
s32 YMin = SprFrame->y0 - origRenderPos.vy;
|
s32 YMin = SprFrame->y0 - origRenderPos.vy;*/
|
||||||
|
|
||||||
|
s32 XMax = SprFrame->x1 - renderPos.vx;
|
||||||
|
s32 XMin = SprFrame->x0 - renderPos.vx;
|
||||||
|
|
||||||
|
s32 YMax = SprFrame->y2 - renderPos.vy;
|
||||||
|
s32 YMin = SprFrame->y0 - renderPos.vy;
|
||||||
|
|
||||||
setCollisionSize( ( XMax - XMin ), ( YMax - YMin ) );
|
setCollisionSize( ( XMax - XMin ), ( YMax - YMin ) );
|
||||||
setCollisionCentreOffset( ( XMax + XMin ) >> 1, ( YMax + YMin ) >> 1 );
|
setCollisionCentreOffset( ( XMax + XMin ) >> 1, ( YMax + YMin ) >> 1 );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
|
@ -42,31 +42,10 @@ void CNpcSmallJellyfish2BackgroundEnemy::render()
|
||||||
{
|
{
|
||||||
CEnemyThing::render();
|
CEnemyThing::render();
|
||||||
|
|
||||||
// Render
|
if (canRender())
|
||||||
DVECTOR renderPos;
|
|
||||||
DVECTOR origRenderPos;
|
|
||||||
DVECTOR offset = CLevel::getCameraPos();
|
|
||||||
int spriteWidth = m_spriteBank->getFrameWidth( m_frame >> 8 );
|
|
||||||
int spriteHeight = m_spriteBank->getFrameHeight( m_frame >> 8 );
|
|
||||||
|
|
||||||
renderPos.vx = Pos.vx - offset.vx;
|
|
||||||
origRenderPos.vx = renderPos.vx;
|
|
||||||
renderPos.vx += m_drawOffset.vx;
|
|
||||||
|
|
||||||
renderPos.vy = Pos.vy - offset.vy;
|
|
||||||
origRenderPos.vy = renderPos.vy;
|
|
||||||
renderPos.vy += m_drawOffset.vy - ( spriteHeight >> 1 );
|
|
||||||
|
|
||||||
CRECT collisionRect = getCollisionArea();
|
|
||||||
collisionRect.x1 -= Pos.vx;
|
|
||||||
collisionRect.x2 -= Pos.vx;
|
|
||||||
collisionRect.y1 -= Pos.vy;
|
|
||||||
collisionRect.y2 -= Pos.vy;
|
|
||||||
|
|
||||||
if ( renderPos.vx + collisionRect.x2 >= 0 && renderPos.vx + collisionRect.x1 <= VidGetScrW() )
|
|
||||||
{
|
|
||||||
if ( renderPos.vy + collisionRect.y2 >= 0 && renderPos.vy + collisionRect.y1 <= VidGetScrH() )
|
|
||||||
{
|
{
|
||||||
|
DVECTOR &renderPos=getRenderPos();
|
||||||
|
|
||||||
SprFrame = m_spriteBank->printRotatedScaledSprite( FRM_JELLYFISH1_SWIM1 + ( m_frame >> 8 ),renderPos.vx,renderPos.vy,4096,4096,m_drawRotation,15);
|
SprFrame = m_spriteBank->printRotatedScaledSprite( FRM_JELLYFISH1_SWIM1 + ( m_frame >> 8 ),renderPos.vx,renderPos.vy,4096,4096,m_drawRotation,15);
|
||||||
setRGB0( SprFrame, 128, 128, 255 ); // Let me know if these change! ALso ket me know when the different coloured ones go in pls! (pkg)
|
setRGB0( SprFrame, 128, 128, 255 ); // Let me know if these change! ALso ket me know when the different coloured ones go in pls! (pkg)
|
||||||
|
|
||||||
|
@ -95,10 +74,10 @@ void CNpcSmallJellyfish2BackgroundEnemy::render()
|
||||||
if (YMax<SprFrame->y2) YMax=SprFrame->y2;
|
if (YMax<SprFrame->y2) YMax=SprFrame->y2;
|
||||||
if (YMax<SprFrame->y3) YMax=SprFrame->y3;
|
if (YMax<SprFrame->y3) YMax=SprFrame->y3;
|
||||||
|
|
||||||
XMax -= origRenderPos.vx;
|
XMax -= renderPos.vx;
|
||||||
XMin -= origRenderPos.vx;
|
XMin -= renderPos.vx;
|
||||||
YMax -= origRenderPos.vy;
|
YMax -= renderPos.vy;
|
||||||
YMin -= origRenderPos.vy;
|
YMin -= renderPos.vy;
|
||||||
|
|
||||||
setCollisionSize( ( XMax - XMin ), ( YMax - YMin ) );
|
setCollisionSize( ( XMax - XMin ), ( YMax - YMin ) );
|
||||||
setCollisionCentreOffset( ( XMax + XMin ) >> 1, ( YMax + YMin ) >> 1 );
|
setCollisionCentreOffset( ( XMax + XMin ) >> 1, ( YMax + YMin ) >> 1 );
|
||||||
|
@ -106,4 +85,3 @@ void CNpcSmallJellyfish2BackgroundEnemy::render()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
|
@ -225,31 +225,10 @@ void CNpcSmallJellyfishBackgroundEnemy::render()
|
||||||
{
|
{
|
||||||
CEnemyThing::render();
|
CEnemyThing::render();
|
||||||
|
|
||||||
// Render
|
if (canRender())
|
||||||
DVECTOR renderPos;
|
|
||||||
DVECTOR origRenderPos;
|
|
||||||
DVECTOR offset = CLevel::getCameraPos();
|
|
||||||
int spriteWidth = m_spriteBank->getFrameWidth( m_frame >> 8 );
|
|
||||||
int spriteHeight = m_spriteBank->getFrameHeight( m_frame >> 8 );
|
|
||||||
|
|
||||||
renderPos.vx = Pos.vx - offset.vx;
|
|
||||||
origRenderPos.vx = renderPos.vx;
|
|
||||||
renderPos.vx += m_drawOffset.vx;
|
|
||||||
|
|
||||||
renderPos.vy = Pos.vy - offset.vy;
|
|
||||||
origRenderPos.vy = renderPos.vy;
|
|
||||||
renderPos.vy += m_drawOffset.vy - ( spriteHeight >> 1 );
|
|
||||||
|
|
||||||
CRECT collisionRect = getCollisionArea();
|
|
||||||
collisionRect.x1 -= Pos.vx;
|
|
||||||
collisionRect.x2 -= Pos.vx;
|
|
||||||
collisionRect.y1 -= Pos.vy;
|
|
||||||
collisionRect.y2 -= Pos.vy;
|
|
||||||
|
|
||||||
if ( renderPos.vx + collisionRect.x2 >= 0 && renderPos.vx + collisionRect.x1 <= VidGetScrW() )
|
|
||||||
{
|
|
||||||
if ( renderPos.vy + collisionRect.y2 >= 0 && renderPos.vy + collisionRect.y1 <= VidGetScrH() )
|
|
||||||
{
|
{
|
||||||
|
DVECTOR &renderPos=getRenderPos();
|
||||||
|
|
||||||
SprFrame = m_spriteBank->printRotatedScaledSprite( FRM_JELLYFISH1_SWIM1 + ( m_frame >> 8 ),renderPos.vx,renderPos.vy,4096,4096,m_drawRotation,15);
|
SprFrame = m_spriteBank->printRotatedScaledSprite( FRM_JELLYFISH1_SWIM1 + ( m_frame >> 8 ),renderPos.vx,renderPos.vy,4096,4096,m_drawRotation,15);
|
||||||
setRGB0( SprFrame, 255, 128, 255 ); // Let me know if these change! ALso ket me know when the different coloured ones go in pls! (pkg)
|
setRGB0( SprFrame, 255, 128, 255 ); // Let me know if these change! ALso ket me know when the different coloured ones go in pls! (pkg)
|
||||||
|
|
||||||
|
@ -278,14 +257,13 @@ void CNpcSmallJellyfishBackgroundEnemy::render()
|
||||||
if (YMax<SprFrame->y2) YMax=SprFrame->y2;
|
if (YMax<SprFrame->y2) YMax=SprFrame->y2;
|
||||||
if (YMax<SprFrame->y3) YMax=SprFrame->y3;
|
if (YMax<SprFrame->y3) YMax=SprFrame->y3;
|
||||||
|
|
||||||
XMax -= origRenderPos.vx;
|
XMax -= renderPos.vx;
|
||||||
XMin -= origRenderPos.vx;
|
XMin -= renderPos.vx;
|
||||||
YMax -= origRenderPos.vy;
|
YMax -= renderPos.vy;
|
||||||
YMin -= origRenderPos.vy;
|
YMin -= renderPos.vy;
|
||||||
|
|
||||||
setCollisionSize( ( XMax - XMin ), ( YMax - YMin ) );
|
setCollisionSize( ( XMax - XMin ), ( YMax - YMin ) );
|
||||||
setCollisionCentreOffset( ( XMax + XMin ) >> 1, ( YMax + YMin ) >> 1 );
|
setCollisionCentreOffset( ( XMax + XMin ) >> 1, ( YMax + YMin ) >> 1 );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
|
@ -50,31 +50,10 @@ void CNpcSmallJellyfishEnemy::render()
|
||||||
{
|
{
|
||||||
CEnemyThing::render();
|
CEnemyThing::render();
|
||||||
|
|
||||||
// Render
|
if (canRender())
|
||||||
DVECTOR renderPos;
|
|
||||||
DVECTOR origRenderPos;
|
|
||||||
DVECTOR offset = CLevel::getCameraPos();
|
|
||||||
int spriteWidth = m_spriteBank->getFrameWidth( m_frame >> 8 );
|
|
||||||
int spriteHeight = m_spriteBank->getFrameHeight( m_frame >> 8 );
|
|
||||||
|
|
||||||
renderPos.vx = Pos.vx - offset.vx;
|
|
||||||
origRenderPos.vx = renderPos.vx;
|
|
||||||
renderPos.vx += m_drawOffset.vx;
|
|
||||||
|
|
||||||
renderPos.vy = Pos.vy - offset.vy;
|
|
||||||
origRenderPos.vy = renderPos.vy;
|
|
||||||
renderPos.vy += m_drawOffset.vy - ( spriteHeight >> 1 );
|
|
||||||
|
|
||||||
CRECT collisionRect = getCollisionArea();
|
|
||||||
collisionRect.x1 -= Pos.vx;
|
|
||||||
collisionRect.x2 -= Pos.vx;
|
|
||||||
collisionRect.y1 -= Pos.vy;
|
|
||||||
collisionRect.y2 -= Pos.vy;
|
|
||||||
|
|
||||||
if ( renderPos.vx + collisionRect.x2 >= 0 && renderPos.vx + collisionRect.x1 <= VidGetScrW() )
|
|
||||||
{
|
|
||||||
if ( renderPos.vy + collisionRect.y2 >= 0 && renderPos.vy + collisionRect.y1 <= VidGetScrH() )
|
|
||||||
{
|
{
|
||||||
|
DVECTOR &renderPos=getRenderPos();
|
||||||
|
|
||||||
SprFrame = m_spriteBank->printRotatedScaledSprite( FRM_JELLYFISH1_SWIM1 + ( m_frame >> 8 ),renderPos.vx,renderPos.vy,4096,4096,m_drawRotation,10);
|
SprFrame = m_spriteBank->printRotatedScaledSprite( FRM_JELLYFISH1_SWIM1 + ( m_frame >> 8 ),renderPos.vx,renderPos.vy,4096,4096,m_drawRotation,10);
|
||||||
setRGB0( SprFrame, 255, 128, 255 ); // Let me know if these change! ALso ket me know when the different coloured ones go in pls! (pkg)
|
setRGB0( SprFrame, 255, 128, 255 ); // Let me know if these change! ALso ket me know when the different coloured ones go in pls! (pkg)
|
||||||
|
|
||||||
|
@ -103,17 +82,16 @@ void CNpcSmallJellyfishEnemy::render()
|
||||||
if (YMax<SprFrame->y2) YMax=SprFrame->y2;
|
if (YMax<SprFrame->y2) YMax=SprFrame->y2;
|
||||||
if (YMax<SprFrame->y3) YMax=SprFrame->y3;
|
if (YMax<SprFrame->y3) YMax=SprFrame->y3;
|
||||||
|
|
||||||
XMax -= origRenderPos.vx;
|
XMax -= renderPos.vx;
|
||||||
XMin -= origRenderPos.vx;
|
XMin -= renderPos.vx;
|
||||||
YMax -= origRenderPos.vy;
|
YMax -= renderPos.vy;
|
||||||
YMin -= origRenderPos.vy;
|
YMin -= renderPos.vy;
|
||||||
|
|
||||||
setCollisionSize( ( XMax - XMin ), ( YMax - YMin ) );
|
setCollisionSize( ( XMax - XMin ), ( YMax - YMin ) );
|
||||||
setCollisionCentreOffset( ( XMax + XMin ) >> 1, ( YMax + YMin ) >> 1 );
|
setCollisionCentreOffset( ( XMax + XMin ) >> 1, ( YMax + YMin ) >> 1 );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
|
@ -401,23 +401,10 @@ void CNpcParasiticWormEnemy::render()
|
||||||
{
|
{
|
||||||
CEnemyThing::render();
|
CEnemyThing::render();
|
||||||
|
|
||||||
// Render
|
if (canRender())
|
||||||
DVECTOR renderPos;
|
|
||||||
DVECTOR offset = CLevel::getCameraPos();
|
|
||||||
|
|
||||||
renderPos.vx = Pos.vx - offset.vx;
|
|
||||||
renderPos.vy = Pos.vy - offset.vy;
|
|
||||||
|
|
||||||
CRECT collisionRect = getCollisionArea();
|
|
||||||
collisionRect.x1 -= Pos.vx;
|
|
||||||
collisionRect.x2 -= Pos.vx;
|
|
||||||
collisionRect.y1 -= Pos.vy;
|
|
||||||
collisionRect.y2 -= Pos.vy;
|
|
||||||
|
|
||||||
if ( renderPos.vx + collisionRect.x2 >= 0 && renderPos.vx + collisionRect.x1 <= VidGetScrW() )
|
|
||||||
{
|
|
||||||
if ( renderPos.vy + collisionRect.y2 >= 0 && renderPos.vy + collisionRect.y1 <= VidGetScrH() )
|
|
||||||
{
|
{
|
||||||
|
DVECTOR &renderPos=getRenderPos();
|
||||||
|
|
||||||
SprFrame = m_actorGfx->Render(renderPos,m_animNo,( m_frame >> 8 ),m_reversed);
|
SprFrame = m_actorGfx->Render(renderPos,m_animNo,( m_frame >> 8 ),m_reversed);
|
||||||
m_actorGfx->RotateScale( SprFrame, renderPos, m_heading, 4096, 4096 );
|
m_actorGfx->RotateScale( SprFrame, renderPos, m_heading, 4096, 4096 );
|
||||||
|
|
||||||
|
@ -427,7 +414,6 @@ void CNpcParasiticWormEnemy::render()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
@ -439,23 +425,10 @@ void CNpcParasiticWormSegment::render()
|
||||||
{
|
{
|
||||||
CEnemyThing::render();
|
CEnemyThing::render();
|
||||||
|
|
||||||
// Render
|
if (canRender())
|
||||||
DVECTOR renderPos;
|
|
||||||
DVECTOR offset = CLevel::getCameraPos();
|
|
||||||
|
|
||||||
renderPos.vx = Pos.vx - offset.vx;
|
|
||||||
renderPos.vy = Pos.vy - offset.vy;
|
|
||||||
|
|
||||||
CRECT collisionRect = getCollisionArea();
|
|
||||||
collisionRect.x1 -= Pos.vx;
|
|
||||||
collisionRect.x2 -= Pos.vx;
|
|
||||||
collisionRect.y1 -= Pos.vy;
|
|
||||||
collisionRect.y2 -= Pos.vy;
|
|
||||||
|
|
||||||
if ( renderPos.vx + collisionRect.x2 >= 0 && renderPos.vx + collisionRect.x1 <= VidGetScrW() )
|
|
||||||
{
|
|
||||||
if ( renderPos.vy + collisionRect.y2 >= 0 && renderPos.vy + collisionRect.y1 <= VidGetScrH() )
|
|
||||||
{
|
{
|
||||||
|
DVECTOR &renderPos=getRenderPos();
|
||||||
|
|
||||||
SprFrame = m_actorGfx->Render(renderPos,m_animNo,( m_frame >> 8 ),m_reversed);
|
SprFrame = m_actorGfx->Render(renderPos,m_animNo,( m_frame >> 8 ),m_reversed);
|
||||||
m_actorGfx->RotateScale( SprFrame, renderPos, m_heading, 4096, m_scale );
|
m_actorGfx->RotateScale( SprFrame, renderPos, m_heading, 4096, m_scale );
|
||||||
|
|
||||||
|
@ -465,4 +438,3 @@ void CNpcParasiticWormSegment::render()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
|
@ -361,26 +361,11 @@ void CNpcHazard::render()
|
||||||
{
|
{
|
||||||
CHazardThing::render();
|
CHazardThing::render();
|
||||||
|
|
||||||
// Render
|
if (canRender())
|
||||||
DVECTOR renderPos;
|
|
||||||
DVECTOR offset = CLevel::getCameraPos();
|
|
||||||
|
|
||||||
renderPos.vx = Pos.vx - offset.vx;
|
|
||||||
renderPos.vy = Pos.vy - offset.vy;
|
|
||||||
|
|
||||||
CRECT collisionRect = getCollisionArea();
|
|
||||||
collisionRect.x1 -= Pos.vx;
|
|
||||||
collisionRect.x2 -= Pos.vx;
|
|
||||||
collisionRect.y1 -= Pos.vy;
|
|
||||||
collisionRect.y2 -= Pos.vy;
|
|
||||||
|
|
||||||
if ( renderPos.vx + collisionRect.x2 >= 0 && renderPos.vx + collisionRect.x1 <= VidGetScrW() )
|
|
||||||
{
|
|
||||||
if ( renderPos.vy + collisionRect.y2 >= 0 && renderPos.vy + collisionRect.y1 <= VidGetScrH() )
|
|
||||||
{
|
{
|
||||||
|
DVECTOR &renderPos=getRenderPos();
|
||||||
|
|
||||||
m_modelGfx->Render(renderPos);
|
m_modelGfx->Render(renderPos);
|
||||||
//m_actorGfx->Render(renderPos,0,0,0);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -142,23 +142,10 @@ void CNpcBouncingBarrelHazard::render()
|
||||||
{
|
{
|
||||||
CHazardThing::render();
|
CHazardThing::render();
|
||||||
|
|
||||||
// Render
|
if (canRender())
|
||||||
DVECTOR renderPos;
|
|
||||||
DVECTOR offset = CLevel::getCameraPos();
|
|
||||||
|
|
||||||
renderPos.vx = Pos.vx - offset.vx;
|
|
||||||
renderPos.vy = Pos.vy - offset.vy;
|
|
||||||
|
|
||||||
CRECT collisionRect = getCollisionArea();
|
|
||||||
collisionRect.x1 -= Pos.vx;
|
|
||||||
collisionRect.x2 -= Pos.vx;
|
|
||||||
collisionRect.y1 -= Pos.vy;
|
|
||||||
collisionRect.y2 -= Pos.vy;
|
|
||||||
|
|
||||||
if ( renderPos.vx + collisionRect.x2 >= 0 && renderPos.vx + collisionRect.x1 <= VidGetScrW() )
|
|
||||||
{
|
|
||||||
if ( renderPos.vy + collisionRect.y2 >= 0 && renderPos.vy + collisionRect.y1 <= VidGetScrH() )
|
|
||||||
{
|
{
|
||||||
|
DVECTOR &renderPos=getRenderPos();
|
||||||
|
|
||||||
SVECTOR rotation;
|
SVECTOR rotation;
|
||||||
rotation.vx = m_rockRotation;
|
rotation.vx = m_rockRotation;
|
||||||
rotation.vy = 0;
|
rotation.vy = 0;
|
||||||
|
@ -172,4 +159,3 @@ void CNpcBouncingBarrelHazard::render()
|
||||||
m_modelGfx->Render(renderPos,&rotation,&scale);
|
m_modelGfx->Render(renderPos,&rotation,&scale);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
|
@ -134,23 +134,10 @@ void CNpcBoatHazard::render()
|
||||||
{
|
{
|
||||||
CHazardThing::render();
|
CHazardThing::render();
|
||||||
|
|
||||||
// Render
|
if (canRender())
|
||||||
DVECTOR renderPos;
|
|
||||||
DVECTOR offset = CLevel::getCameraPos();
|
|
||||||
|
|
||||||
renderPos.vx = Pos.vx - offset.vx;
|
|
||||||
renderPos.vy = Pos.vy - offset.vy;
|
|
||||||
|
|
||||||
CRECT collisionRect = getCollisionArea();
|
|
||||||
collisionRect.x1 -= Pos.vx;
|
|
||||||
collisionRect.x2 -= Pos.vx;
|
|
||||||
collisionRect.y1 -= Pos.vy;
|
|
||||||
collisionRect.y2 -= Pos.vy;
|
|
||||||
|
|
||||||
if ( renderPos.vx + collisionRect.x2 >= 0 && renderPos.vx + collisionRect.x1 <= VidGetScrW() )
|
|
||||||
{
|
|
||||||
if ( renderPos.vy + collisionRect.y2 >= 0 && renderPos.vy + collisionRect.y1 <= VidGetScrH() )
|
|
||||||
{
|
{
|
||||||
|
DVECTOR &renderPos=getRenderPos();
|
||||||
|
|
||||||
VECTOR flip;
|
VECTOR flip;
|
||||||
|
|
||||||
if ( m_reversed )
|
if ( m_reversed )
|
||||||
|
@ -166,8 +153,6 @@ void CNpcBoatHazard::render()
|
||||||
flip.vz = ONE;
|
flip.vz = ONE;
|
||||||
|
|
||||||
m_modelGfx->Render( renderPos, NULL, &flip );
|
m_modelGfx->Render( renderPos, NULL, &flip );
|
||||||
//m_actorGfx->Render(renderPos,0,0,0);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -47,23 +47,10 @@ void CNpcBigWheelHazard::render()
|
||||||
{
|
{
|
||||||
CHazardThing::render();
|
CHazardThing::render();
|
||||||
|
|
||||||
// Render
|
if (canRender())
|
||||||
DVECTOR renderPos;
|
|
||||||
DVECTOR offset = CLevel::getCameraPos();
|
|
||||||
|
|
||||||
CRECT collisionRect = getCollisionArea();
|
|
||||||
collisionRect.x1 -= Pos.vx;
|
|
||||||
collisionRect.x2 -= Pos.vx;
|
|
||||||
collisionRect.y1 -= Pos.vy;
|
|
||||||
collisionRect.y2 -= Pos.vy;
|
|
||||||
|
|
||||||
renderPos.vx = Pos.vx - offset.vx;
|
|
||||||
renderPos.vy = Pos.vy - offset.vy;
|
|
||||||
|
|
||||||
if ( renderPos.vx + collisionRect.x2 >= 0 && renderPos.vx + collisionRect.x1 <= VidGetScrW() )
|
|
||||||
{
|
|
||||||
if ( renderPos.vy + collisionRect.y2 >= 0 && renderPos.vy + collisionRect.y1 <= VidGetScrH() )
|
|
||||||
{
|
{
|
||||||
|
DVECTOR &renderPos=getRenderPos();
|
||||||
|
|
||||||
SVECTOR rotation;
|
SVECTOR rotation;
|
||||||
rotation.vx = 0;
|
rotation.vx = 0;
|
||||||
rotation.vy = 0;
|
rotation.vy = 0;
|
||||||
|
@ -77,7 +64,6 @@ void CNpcBigWheelHazard::render()
|
||||||
m_modelGfx->Render(renderPos,&rotation,&scale);
|
m_modelGfx->Render(renderPos,&rotation,&scale);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
|
@ -47,23 +47,10 @@ void CNpcCircularSawHazard::render()
|
||||||
{
|
{
|
||||||
CHazardThing::render();
|
CHazardThing::render();
|
||||||
|
|
||||||
// Render
|
if (canRender())
|
||||||
DVECTOR renderPos;
|
|
||||||
DVECTOR offset = CLevel::getCameraPos();
|
|
||||||
|
|
||||||
renderPos.vx = Pos.vx - offset.vx;
|
|
||||||
renderPos.vy = Pos.vy - offset.vy;
|
|
||||||
|
|
||||||
CRECT collisionRect = getCollisionArea();
|
|
||||||
collisionRect.x1 -= Pos.vx;
|
|
||||||
collisionRect.x2 -= Pos.vx;
|
|
||||||
collisionRect.y1 -= Pos.vy;
|
|
||||||
collisionRect.y2 -= Pos.vy;
|
|
||||||
|
|
||||||
if ( renderPos.vx + collisionRect.x2 >= 0 && renderPos.vx + collisionRect.x1 <= VidGetScrW() )
|
|
||||||
{
|
|
||||||
if ( renderPos.vy + collisionRect.y2 >= 0 && renderPos.vy + collisionRect.y1 <= VidGetScrH() )
|
|
||||||
{
|
{
|
||||||
|
DVECTOR &renderPos=getRenderPos();
|
||||||
|
|
||||||
SVECTOR rotation;
|
SVECTOR rotation;
|
||||||
rotation.vx = 0;
|
rotation.vx = 0;
|
||||||
rotation.vy = 0;
|
rotation.vy = 0;
|
||||||
|
@ -77,4 +64,3 @@ void CNpcCircularSawHazard::render()
|
||||||
m_modelGfx->Render(renderPos,&rotation,&scale);
|
m_modelGfx->Render(renderPos,&rotation,&scale);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
|
@ -158,23 +158,10 @@ void CNpcDualPlatformBarrelHazard::render()
|
||||||
{
|
{
|
||||||
CHazardThing::render();
|
CHazardThing::render();
|
||||||
|
|
||||||
// Render
|
if (canRender())
|
||||||
DVECTOR renderPos;
|
|
||||||
DVECTOR offset = CLevel::getCameraPos();
|
|
||||||
|
|
||||||
renderPos.vx = Pos.vx - offset.vx;
|
|
||||||
renderPos.vy = Pos.vy - offset.vy;
|
|
||||||
|
|
||||||
CRECT collisionRect = getCollisionArea();
|
|
||||||
collisionRect.x1 -= Pos.vx;
|
|
||||||
collisionRect.x2 -= Pos.vx;
|
|
||||||
collisionRect.y1 -= Pos.vy;
|
|
||||||
collisionRect.y2 -= Pos.vy;
|
|
||||||
|
|
||||||
if ( renderPos.vx + collisionRect.x2 >= 0 && renderPos.vx + collisionRect.x1 <= VidGetScrW() )
|
|
||||||
{
|
|
||||||
if ( renderPos.vy + collisionRect.y2 >= 0 && renderPos.vy + collisionRect.y1 <= VidGetScrH() )
|
|
||||||
{
|
{
|
||||||
|
DVECTOR &renderPos=getRenderPos();
|
||||||
|
|
||||||
SVECTOR rotation;
|
SVECTOR rotation;
|
||||||
rotation.vx = 0;
|
rotation.vx = 0;
|
||||||
rotation.vy = 0;
|
rotation.vy = 0;
|
||||||
|
@ -188,4 +175,3 @@ void CNpcDualPlatformBarrelHazard::render()
|
||||||
m_modelGfx->Render(renderPos,&rotation,&scale);
|
m_modelGfx->Render(renderPos,&rotation,&scale);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
|
@ -147,7 +147,7 @@ void CNpcFallingHazard::processTimer( int _frames )
|
||||||
|
|
||||||
void CNpcFallingHazard::collidedWith( CThing *_thisThing )
|
void CNpcFallingHazard::collidedWith( CThing *_thisThing )
|
||||||
{
|
{
|
||||||
if (!m_bounceFinish && m_movementTimer<=0) CNpcHazard::collidedWith(_thisThing);
|
if (m_movementTimer<=0) CNpcHazard::collidedWith(_thisThing);
|
||||||
}
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
@ -161,3 +161,42 @@ const CRECT *CNpcFallingHazard::getThinkBBox()
|
||||||
|
|
||||||
return &objThinkBox;
|
return &objThinkBox;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
void CNpcFallingHazard::setWaypoints( sThingHazard *ThisHazard )
|
||||||
|
{
|
||||||
|
int pointNum;
|
||||||
|
|
||||||
|
u16 *PntList=(u16*)MakePtr(ThisHazard,sizeof(sThingHazard));
|
||||||
|
|
||||||
|
u16 newXPos, newYPos;
|
||||||
|
|
||||||
|
newXPos = (u16) *PntList;
|
||||||
|
PntList++;
|
||||||
|
newYPos = (u16) *PntList;
|
||||||
|
PntList++;
|
||||||
|
|
||||||
|
DVECTOR startPos;
|
||||||
|
startPos.vx = newXPos << 4;
|
||||||
|
//startPos.vy = newYPos << 4;
|
||||||
|
startPos.vy = -10;
|
||||||
|
|
||||||
|
Pos = startPos;
|
||||||
|
m_base = Pos;
|
||||||
|
|
||||||
|
addWaypoint( newXPos, newYPos );
|
||||||
|
|
||||||
|
if ( ThisHazard->PointCount > 1 )
|
||||||
|
{
|
||||||
|
for ( pointNum = 1 ; pointNum < ThisHazard->PointCount ; pointNum++ )
|
||||||
|
{
|
||||||
|
newXPos = (u16) *PntList;
|
||||||
|
PntList++;
|
||||||
|
newYPos = (u16) *PntList;
|
||||||
|
PntList++;
|
||||||
|
|
||||||
|
addWaypoint( newXPos, newYPos );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -23,6 +23,7 @@ class CNpcFallingHazard : public CNpcHazard
|
||||||
public:
|
public:
|
||||||
void init();
|
void init();
|
||||||
virtual CRECT const *getThinkBBox();
|
virtual CRECT const *getThinkBBox();
|
||||||
|
virtual void setWaypoints( sThingHazard *ThisHazard );
|
||||||
protected:
|
protected:
|
||||||
void processMovement( int _frames );
|
void processMovement( int _frames );
|
||||||
void processTimer( int _frames );
|
void processTimer( int _frames );
|
||||||
|
|
|
@ -47,23 +47,10 @@ void CNpcFanHazard::render()
|
||||||
{
|
{
|
||||||
CHazardThing::render();
|
CHazardThing::render();
|
||||||
|
|
||||||
// Render
|
if (canRender())
|
||||||
DVECTOR renderPos;
|
|
||||||
DVECTOR offset = CLevel::getCameraPos();
|
|
||||||
|
|
||||||
renderPos.vx = Pos.vx - offset.vx;
|
|
||||||
renderPos.vy = Pos.vy - offset.vy;
|
|
||||||
|
|
||||||
CRECT collisionRect = getCollisionArea();
|
|
||||||
collisionRect.x1 -= Pos.vx;
|
|
||||||
collisionRect.x2 -= Pos.vx;
|
|
||||||
collisionRect.y1 -= Pos.vy;
|
|
||||||
collisionRect.y2 -= Pos.vy;
|
|
||||||
|
|
||||||
if ( renderPos.vx + collisionRect.x2 >= 0 && renderPos.vx + collisionRect.x1 <= VidGetScrW() )
|
|
||||||
{
|
|
||||||
if ( renderPos.vy + collisionRect.y2 >= 0 && renderPos.vy + collisionRect.y1 <= VidGetScrH() )
|
|
||||||
{
|
{
|
||||||
|
DVECTOR &renderPos=getRenderPos();
|
||||||
|
|
||||||
SVECTOR rotation;
|
SVECTOR rotation;
|
||||||
rotation.vx = m_rotation;
|
rotation.vx = m_rotation;
|
||||||
rotation.vy = 0;
|
rotation.vy = 0;
|
||||||
|
@ -77,4 +64,3 @@ void CNpcFanHazard::render()
|
||||||
m_modelGfx->Render(renderPos,&rotation,&scale);
|
m_modelGfx->Render(renderPos,&rotation,&scale);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
|
@ -47,23 +47,10 @@ void CNpcMowerHazard::render()
|
||||||
{
|
{
|
||||||
CHazardThing::render();
|
CHazardThing::render();
|
||||||
|
|
||||||
// Render
|
if (canRender())
|
||||||
DVECTOR renderPos;
|
|
||||||
DVECTOR offset = CLevel::getCameraPos();
|
|
||||||
|
|
||||||
renderPos.vx = Pos.vx - offset.vx;
|
|
||||||
renderPos.vy = Pos.vy - offset.vy;
|
|
||||||
|
|
||||||
CRECT collisionRect = getCollisionArea();
|
|
||||||
collisionRect.x1 -= Pos.vx;
|
|
||||||
collisionRect.x2 -= Pos.vx;
|
|
||||||
collisionRect.y1 -= Pos.vy;
|
|
||||||
collisionRect.y2 -= Pos.vy;
|
|
||||||
|
|
||||||
if ( renderPos.vx + collisionRect.x2 >= 0 && renderPos.vx + collisionRect.x1 <= VidGetScrW() )
|
|
||||||
{
|
|
||||||
if ( renderPos.vy + collisionRect.y2 >= 0 && renderPos.vy + collisionRect.y1 <= VidGetScrH() )
|
|
||||||
{
|
{
|
||||||
|
DVECTOR &renderPos=getRenderPos();
|
||||||
|
|
||||||
SVECTOR rotation;
|
SVECTOR rotation;
|
||||||
rotation.vx = 0;
|
rotation.vx = 0;
|
||||||
rotation.vy = 0;
|
rotation.vy = 0;
|
||||||
|
@ -77,4 +64,3 @@ void CNpcMowerHazard::render()
|
||||||
m_modelGfx->Render(renderPos,&rotation,&scale);
|
m_modelGfx->Render(renderPos,&rotation,&scale);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
|
@ -210,3 +210,15 @@ void CNpcPendulumPlatform::render()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
const CRECT *CNpcPendulumPlatform::getThinkBBox()
|
||||||
|
{
|
||||||
|
CRECT objThinkBox = getCollisionArea();
|
||||||
|
|
||||||
|
sBBox &thinkBBox = CThingManager::getThinkBBox();
|
||||||
|
objThinkBox.y1 = thinkBBox.YMax - 1;
|
||||||
|
|
||||||
|
return &objThinkBox;
|
||||||
|
}
|
|
@ -23,6 +23,7 @@ class CNpcPendulumPlatform : public CNpcPlatform
|
||||||
public:
|
public:
|
||||||
virtual void postInit();
|
virtual void postInit();
|
||||||
virtual void render();
|
virtual void render();
|
||||||
|
virtual CRECT const *getThinkBBox();
|
||||||
protected:
|
protected:
|
||||||
virtual void setWaypoints( sThingPlatform *ThisPlatform );
|
virtual void setWaypoints( sThingPlatform *ThisPlatform );
|
||||||
virtual void processMovement( int _frames );
|
virtual void processMovement( int _frames );
|
||||||
|
|
|
@ -118,23 +118,11 @@ void CNpcSteerableBarrelPlatform::render()
|
||||||
{
|
{
|
||||||
CPlatformThing::render();
|
CPlatformThing::render();
|
||||||
|
|
||||||
// Render
|
if (canRender())
|
||||||
DVECTOR renderPos;
|
{
|
||||||
|
DVECTOR &renderPos=getRenderPos();
|
||||||
DVECTOR offset = CLevel::getCameraPos();
|
DVECTOR offset = CLevel::getCameraPos();
|
||||||
|
|
||||||
renderPos.vx = Pos.vx - offset.vx;
|
|
||||||
renderPos.vy = Pos.vy - offset.vy;
|
|
||||||
|
|
||||||
CRECT collisionRect = getCollisionArea();
|
|
||||||
collisionRect.x1 -= Pos.vx;
|
|
||||||
collisionRect.x2 -= Pos.vx;
|
|
||||||
collisionRect.y1 -= Pos.vy;
|
|
||||||
collisionRect.y2 -= Pos.vy;
|
|
||||||
|
|
||||||
if ( renderPos.vx + collisionRect.x2 >= 0 && renderPos.vx + collisionRect.x1 <= VidGetScrW() )
|
|
||||||
{
|
|
||||||
if ( renderPos.vy + collisionRect.y2 >= 0 && renderPos.vy + collisionRect.y1 <= VidGetScrH() )
|
|
||||||
{
|
|
||||||
SVECTOR rotation;
|
SVECTOR rotation;
|
||||||
rotation.vx = 0;
|
rotation.vx = 0;
|
||||||
rotation.vy = 0;
|
rotation.vy = 0;
|
||||||
|
@ -174,4 +162,3 @@ void CNpcSteerableBarrelPlatform::render()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue