2016-04-20 21:44:18 +00:00
|
|
|
#include "CScriptSound.hpp"
|
|
|
|
#include "Character/CModelData.hpp"
|
|
|
|
#include "Collision/CMaterialList.hpp"
|
|
|
|
#include "CActorParameters.hpp"
|
2017-01-15 03:07:01 +00:00
|
|
|
#include "TCastTo.hpp"
|
2016-04-20 21:44:18 +00:00
|
|
|
|
|
|
|
namespace urde
|
|
|
|
{
|
2017-01-24 17:23:10 +00:00
|
|
|
bool CScriptSound::sFirstInFrame = false;
|
2016-04-20 21:44:18 +00:00
|
|
|
|
2017-01-24 17:23:10 +00:00
|
|
|
CScriptSound::CScriptSound(TUniqueId uid, const std::string& name, const CEntityInfo& info, const zeus::CTransform& xf,
|
|
|
|
s16 soundId, bool active, float f1, float f2, float f3, u32 w1, u32 w2, u32 w3, u32 w4,
|
|
|
|
u32 w5, u32 w6, bool b1, bool b2, bool b3, bool b4, bool b5, bool b6, bool b7, u32 w7)
|
|
|
|
: CActor(uid, active, name, info, xf, CModelData::CModelDataNull(), CMaterialList(EMaterialTypes::Unknown),
|
|
|
|
CActorParameters::None(), kInvalidUniqueId)
|
|
|
|
, xfc_(f3)
|
|
|
|
, x100_soundId(CSfxManager::TranslateSFXID(soundId))
|
|
|
|
, x104_(f1)
|
|
|
|
, x108_(f2)
|
|
|
|
, x10c_(w1)
|
|
|
|
, x10e_(w2)
|
|
|
|
, x110_(w3)
|
|
|
|
, x112_(w4)
|
|
|
|
, x114_(w5)
|
|
|
|
, x116_(w6)
|
|
|
|
, x118_(w7 + 8192)
|
2016-04-20 21:44:18 +00:00
|
|
|
{
|
2017-01-25 04:40:19 +00:00
|
|
|
x11c_25_ = b1;
|
|
|
|
x11c_26_ = b2;
|
|
|
|
x11c_27_ = b3;
|
|
|
|
x11c_28_ = b4;
|
|
|
|
x11c_29_ = b5;
|
|
|
|
x11c_30_ = b6;
|
|
|
|
x11d_24_ = b7;
|
2017-01-24 17:23:10 +00:00
|
|
|
if (x11c_30_ && (!x11c_26_ || !x11c_25_))
|
|
|
|
x11c_30_ = false;
|
2016-04-20 21:44:18 +00:00
|
|
|
}
|
|
|
|
|
2017-01-24 17:23:10 +00:00
|
|
|
void CScriptSound::Accept(IVisitor& visitor) { visitor.Visit(this); }
|
|
|
|
|
|
|
|
void CScriptSound::PreThink(float dt, CStateManager& mgr)
|
2017-01-15 03:07:01 +00:00
|
|
|
{
|
2017-01-24 17:23:10 +00:00
|
|
|
CEntity::PreThink(dt, mgr);
|
|
|
|
sFirstInFrame = true;
|
|
|
|
x11d_25_ = false;
|
2017-01-15 03:07:01 +00:00
|
|
|
}
|
|
|
|
|
2017-01-24 17:23:10 +00:00
|
|
|
void CScriptSound::Think(float, CStateManager&) {}
|
|
|
|
|
|
|
|
void CScriptSound::AcceptScriptMsg(EScriptObjectMessage msg, TUniqueId uid, CStateManager& mgr)
|
|
|
|
{
|
|
|
|
CActor::AcceptScriptMsg(msg, uid, mgr);
|
|
|
|
|
|
|
|
switch (msg)
|
|
|
|
{
|
2017-03-24 05:30:16 +00:00
|
|
|
case EScriptObjectMessage::Registered:
|
2017-01-24 17:23:10 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
case EScriptObjectMessage::Play:
|
|
|
|
{
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
case EScriptObjectMessage::Stop:
|
|
|
|
{
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
case EScriptObjectMessage::Deactivate:
|
|
|
|
{
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
case EScriptObjectMessage::Activate:
|
|
|
|
{
|
|
|
|
}
|
|
|
|
break;
|
2017-02-14 04:27:20 +00:00
|
|
|
case EScriptObjectMessage::Deleted:
|
2017-01-24 17:23:10 +00:00
|
|
|
{
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
default:break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void CScriptSound::PlaySound(CStateManager&) {}
|
|
|
|
|
|
|
|
void CScriptSound::StopSound()
|
|
|
|
{
|
|
|
|
}
|
2016-04-20 21:44:18 +00:00
|
|
|
}
|