This commit is contained in:
Daveo 2001-08-04 21:06:19 +00:00
parent ff13d67687
commit 80a6c35255
4 changed files with 21 additions and 1 deletions

View File

@ -23,6 +23,7 @@ void CFXBubble::init(DVECTOR const &_Pos)
Velocity.vy=-(getRndRange(4)+1); Velocity.vy=-(getRndRange(4)+1);
CurrentScaleX=CurrentScaleY=getRndRange(ONE/2)+(ONE/2); CurrentScaleX=CurrentScaleY=getRndRange(ONE/2)+(ONE/2);
XIdx=getRnd()&15; XIdx=getRnd()&15;
if (!isOnScreen(_Pos)) setToShutdown();
} }
/*****************************************************************************/ /*****************************************************************************/

View File

@ -38,6 +38,7 @@ sLevelHdr *LevelHdr=CLevel::getLevelHdr();
Velocity.vy=FallingTile_DefVY; Velocity.vy=FallingTile_DefVY;
Life=FallingTile_DefLife; Life=FallingTile_DefLife;
CSoundMediator::playSfx(CSoundMediator::SFX_ANY_OBJECT_FALLING,false,true); CSoundMediator::playSfx(CSoundMediator::SFX_ANY_OBJECT_FALLING,false,true);
if (!isOnScreen(_Pos)) setToShutdown();
} }
/*****************************************************************************/ /*****************************************************************************/

View File

@ -1184,6 +1184,23 @@ DVECTOR const &CamPos=CLevel::getCameraPos();
} }
/****************************************************************************************/
bool CThing::isOnScreen(DVECTOR Pos)
{
// Check Is Onscreen
sBBox &ScrBBox=CThingManager::getRenderBBox();
DVECTOR const &CamPos=CLevel::getCameraPos();
Pos.vx-=CamPos.vx;
Pos.vy-=CamPos.vy;
if (Pos.vx<ScrBBox.XMin) return(false);
if (Pos.vx>ScrBBox.XMax) return(false);
if (Pos.vy<ScrBBox.YMin) return(false);
if (Pos.vy>ScrBBox.YMax) return(false);
return(true);
}
/****************************************************************************************/ /****************************************************************************************/
void CThing::calcRenderPos(DVECTOR const &Pos,DVECTOR &renderPos) void CThing::calcRenderPos(DVECTOR const &Pos,DVECTOR &renderPos)
{ {

View File

@ -151,7 +151,8 @@ virtual void render();
u8 isSetToShutdown() {return( m_isShuttingDown);} u8 isSetToShutdown() {return( m_isShuttingDown);}
virtual int dontKillDuringLevelRespawn() {return false;} virtual int dontKillDuringLevelRespawn() {return false;}
void calcRenderPos(DVECTOR const &Pos,DVECTOR &renderPos); void calcRenderPos(DVECTOR const &Pos,DVECTOR &renderPos);
bool isOnScreen(DVECTOR Pos);
// Linkage // Linkage
void addChild(CThing *Child); void addChild(CThing *Child);
void removeChild(CThing *Child); void removeChild(CThing *Child);