This commit is contained in:
parent
54c7cfc803
commit
7101daf48a
3 changed files with 28 additions and 14 deletions
|
@ -53,35 +53,35 @@ CFXBaseAnim::sFXBaseData FXDropBaseData=
|
|||
{
|
||||
FRM__DRIP,FRM__DRIP,1,
|
||||
FX_FLAG_LOOP | FX_FLAG_COLLIDE_KILL | FX_FLAG_HAS_GRAVITY | FX_FLAG_NO_THINK_KILL,
|
||||
0,CSoundMediator::SFX_HAZARD__ACID_DROP,
|
||||
0,0,CSoundMediator::SFX_HAZARD__ACID_DROP,
|
||||
};
|
||||
|
||||
CFXBaseAnim::sFXBaseData FXSplashBaseData=
|
||||
{
|
||||
FRM__SPLASH001,FRM__SPLASH006,1,
|
||||
FX_FLAG_NO_THINK_KILL,
|
||||
0,0,
|
||||
0,0,0,
|
||||
};
|
||||
|
||||
CFXBaseAnim::sFXBaseData FXExplodeBaseData=
|
||||
{
|
||||
FRM__EXPLOSION0001,FRM__EXPLOSION0008,1,
|
||||
FX_FLAG_NO_THINK_KILL,
|
||||
CSoundMediator::SFX_HAZARD__FIREBALL_LAND,0,
|
||||
CSoundMediator::SFX_HAZARD__FIREBALL_LAND,0,0,
|
||||
};
|
||||
|
||||
CFXBaseAnim::sFXBaseData FXFireBaseData=
|
||||
{
|
||||
FRM__FIRE01,FRM__FIRE08,1,
|
||||
FX_FLAG_LOOP | FX_FLAG_TRANS,
|
||||
0,0,
|
||||
0,CSoundMediator::SFX_FIRE_CRACKLING,0,
|
||||
};
|
||||
|
||||
CFXBaseAnim::sFXBaseData FXBubbleBaseData=
|
||||
{
|
||||
FRM__BUBBLE_2,FRM__BUBBLE_2,1,
|
||||
FX_FLAG_LOOP | FX_FLAG_COLLIDE_KILL | FX_FLAG_NO_THINK_KILL,
|
||||
0,0,
|
||||
0,0,0,
|
||||
};
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -51,17 +51,23 @@ void CFXBaseAnim::think(int _frames)
|
|||
m_soundId=CSoundMediator::playSfx((CSoundMediator::SFXID)BaseData->StartSnd,true,true);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if(!CSoundMediator::isSfxStillPlaying(m_soundId))
|
||||
{
|
||||
CSoundMediator::stopAndUnlockSfx(m_soundId);
|
||||
m_soundId=NOT_PLAYING;
|
||||
}
|
||||
}
|
||||
|
||||
EndSnd=BaseData->EndSnd;
|
||||
HasInit=true;
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( !( Flags & FX_FLAG_HIDDEN ) )
|
||||
{
|
||||
if(m_soundId==NOT_PLAYING)
|
||||
{
|
||||
if (BaseData->MainSnd)
|
||||
{
|
||||
m_soundId=CSoundMediator::playSfx((CSoundMediator::SFXID)BaseData->MainSnd,true,true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
CFX::think(_frames);
|
||||
|
||||
|
@ -85,6 +91,14 @@ int ThisFrame=CurrentFrame>>BaseData->FrameShift;
|
|||
renderFrame=BaseData->StartFrame+ThisFrame;
|
||||
}
|
||||
|
||||
if ( m_soundId != NOT_PLAYING )
|
||||
{
|
||||
if(!CSoundMediator::isSfxStillPlaying(m_soundId))
|
||||
{
|
||||
CSoundMediator::stopAndUnlockSfx(m_soundId);
|
||||
m_soundId=NOT_PLAYING;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -15,7 +15,7 @@ public:
|
|||
{
|
||||
s16 StartFrame,EndFrame,FrameShift;
|
||||
u16 Flags;
|
||||
u16 StartSnd,EndSnd;
|
||||
u16 StartSnd,MainSnd,EndSnd;
|
||||
};
|
||||
|
||||
virtual void init(DVECTOR const &Pos);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue