mirror of
https://github.com/AxioDL/metaforce.git
synced 2025-12-09 05:47:42 +00:00
Various area streaming fixes, implement missing object loaders
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
#include "CScriptGunTurret.hpp"
|
||||
#include "TCastTo.hpp"
|
||||
|
||||
namespace urde
|
||||
{
|
||||
@@ -7,6 +8,47 @@ static const CMaterialList skGunMaterialList = { EMaterialTypes::Solid, EMateria
|
||||
EMaterialTypes::Orbit, EMaterialTypes::Target };
|
||||
static const CMaterialList skTurretMaterialList = { EMaterialTypes::Character };
|
||||
|
||||
CScriptGunTurretData::CScriptGunTurretData(CInputStream& in, s32 propCount)
|
||||
: x0_(in.readFloatBig()),
|
||||
x4_(in.readFloatBig()),
|
||||
x8_(in.readFloatBig()),
|
||||
xc_(in.readFloatBig()),
|
||||
x10_(in.readFloatBig()),
|
||||
x14_(in.readFloatBig()),
|
||||
x1c_(zeus::degToRad(in.readFloatBig())),
|
||||
x20_(zeus::degToRad(in.readFloatBig())),
|
||||
x24_(zeus::degToRad(in.readFloatBig())),
|
||||
x28_(zeus::degToRad(in.readFloatBig())),
|
||||
x2c_(in.readFloatBig()),
|
||||
x30_(in.readFloatBig()),
|
||||
x34_(in.readFloatBig()),
|
||||
x38_(in.readFloatBig()),
|
||||
x3c_(propCount >= 48 ? in.readBool() : false),
|
||||
x40_(in.readUint32Big()),
|
||||
x44_(in),
|
||||
x60_(in.readUint32Big()),
|
||||
x64_(in.readUint32Big()),
|
||||
x68_(in.readUint32Big()),
|
||||
x6c_(in.readUint32Big()),
|
||||
x70_(in.readUint32Big()),
|
||||
x74_(in.readUint32Big()),
|
||||
x78_(propCount >= 44 ? in.readUint32Big() : -1),
|
||||
x7c_(CSfxManager::TranslateSFXID(in.readUint32Big() & 0xFFFF)),
|
||||
x7e_(CSfxManager::TranslateSFXID(in.readUint32Big() & 0xFFFF)),
|
||||
x80_(CSfxManager::TranslateSFXID(in.readUint32Big() & 0xFFFF)),
|
||||
x82_(CSfxManager::TranslateSFXID(in.readUint32Big() & 0xFFFF)),
|
||||
x84_(CSfxManager::TranslateSFXID(in.readUint32Big() & 0xFFFF)),
|
||||
x86_(propCount >= 45 ? CSfxManager::TranslateSFXID(in.readUint32Big() & 0xFFFF) : -1),
|
||||
x88_(in.readUint32Big()),
|
||||
x8c_(in.readUint32Big()),
|
||||
x90_(in.readUint32Big()),
|
||||
x94_(in.readUint32Big()),
|
||||
x98_(in.readUint32Big()),
|
||||
x9c_(propCount >= 47 ? in.readFloatBig() : 3.f),
|
||||
xa0_(propCount >= 46 ? in.readBool() : false)
|
||||
{
|
||||
}
|
||||
|
||||
CScriptGunTurret::CScriptGunTurret(TUniqueId uid, std::string_view name, ETurretComponent comp, const CEntityInfo& info,
|
||||
const zeus::CTransform& xf, CModelData&& mData, const zeus::CAABox& aabb,
|
||||
const CHealthInfo& hInfo, const CDamageVulnerability& dVuln,
|
||||
@@ -18,4 +60,9 @@ CScriptGunTurret::CScriptGunTurret(TUniqueId uid, std::string_view name, ETurret
|
||||
|
||||
}
|
||||
|
||||
void CScriptGunTurret::Accept(IVisitor& visitor)
|
||||
{
|
||||
visitor.Visit(this);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user