2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-12-09 01:07:43 +00:00

Implement CScriptGenerator

This commit is contained in:
2017-01-24 09:23:10 -08:00
parent 9f3b979970
commit 696f7a9772
13 changed files with 446 additions and 68 deletions

View File

@@ -6,18 +6,84 @@
namespace urde
{
bool CScriptSound::sFirstInFrame = false;
CScriptSound::CScriptSound(TUniqueId uid, const std::string& name, const CEntityInfo& info,
const zeus::CTransform& xf, s16 soundId, bool active, float, float, float,
u32, u32, u32, u32, u32, bool, bool, bool, bool, bool, bool, bool, bool, u32)
: CActor(uid, active, name, info, xf, CModelData::CModelDataNull(),
CMaterialList(), CActorParameters::None(), kInvalidUniqueId)
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)
, x11c_25_(b1)
, x11c_26_(b2)
, x11c_27_(b3)
, x11c_28_(b4)
, x11c_29_(b5)
, x11c_30_(b6)
, x11d_24_(b7)
{
if (x11c_30_ && (!x11c_26_ || !x11c_25_))
x11c_30_ = false;
}
void CScriptSound::Accept(IVisitor& visitor) { visitor.Visit(this); }
void CScriptSound::PreThink(float dt, CStateManager& mgr)
{
CEntity::PreThink(dt, mgr);
sFirstInFrame = true;
x11d_25_ = false;
}
void CScriptSound::Think(float, CStateManager&) {}
void CScriptSound::AcceptScriptMsg(EScriptObjectMessage msg, TUniqueId uid, CStateManager& mgr)
{
CActor::AcceptScriptMsg(msg, uid, mgr);
switch (msg)
{
case EScriptObjectMessage::InternalMessage11:
{
}
break;
case EScriptObjectMessage::Play:
{
}
break;
case EScriptObjectMessage::Stop:
{
}
break;
case EScriptObjectMessage::Deactivate:
{
}
break;
case EScriptObjectMessage::Activate:
{
}
break;
case EScriptObjectMessage::InternalMessage12:
{
}
break;
default:break;
}
}
void CScriptSound::PlaySound(CStateManager&) {}
void CScriptSound::StopSound()
{
}
void CScriptSound::Accept(IVisitor& visitor)
{
visitor.Visit(this);
}
}