mirror of https://github.com/AxioDL/metaforce.git
Vulkan fixes
This commit is contained in:
parent
e982497055
commit
1ada86cc03
|
@ -17,7 +17,7 @@ struct DoorArea : IScriptObject
|
||||||
Value<atVec3f> scale;
|
Value<atVec3f> scale;
|
||||||
AnimationParameters animationParameters;
|
AnimationParameters animationParameters;
|
||||||
ActorParameters actorParameters;
|
ActorParameters actorParameters;
|
||||||
Value<atVec3f> unknown1;
|
Value<atVec3f> orbitPos;
|
||||||
Value<atVec3f> collisionExtent;
|
Value<atVec3f> collisionExtent;
|
||||||
Value<atVec3f> collisionOffset;
|
Value<atVec3f> collisionOffset;
|
||||||
Value<bool> unknown4;
|
Value<bool> unknown4;
|
||||||
|
|
|
@ -27,7 +27,7 @@ static CMaterialList MakeDoorMaterialList(bool open)
|
||||||
|
|
||||||
CScriptDoor::CScriptDoor(TUniqueId uid, std::string_view name, const CEntityInfo& info,
|
CScriptDoor::CScriptDoor(TUniqueId uid, std::string_view name, const CEntityInfo& info,
|
||||||
const zeus::CTransform& xf, CModelData&& mData, const CActorParameters& actParms,
|
const zeus::CTransform& xf, CModelData&& mData, const CActorParameters& actParms,
|
||||||
const zeus::CVector3f& vec, const zeus::CAABox& aabb, bool active,
|
const zeus::CVector3f& orbitPos, const zeus::CAABox& aabb, bool active,
|
||||||
bool open, bool projectilesCollide, float animLen, bool ballDoor)
|
bool open, bool projectilesCollide, float animLen, bool ballDoor)
|
||||||
: CPhysicsActor(uid, active, name, info, xf, std::move(mData), MakeDoorMaterialList(open),
|
: CPhysicsActor(uid, active, name, info, xf, std::move(mData), MakeDoorMaterialList(open),
|
||||||
aabb, SMoverData(1.f), actParms, 0.3f, 0.1f)
|
aabb, SMoverData(1.f), actParms, 0.3f, 0.1f)
|
||||||
|
@ -42,7 +42,7 @@ CScriptDoor::CScriptDoor(TUniqueId uid, std::string_view name, const CEntityInfo
|
||||||
x2a8_30_doClose = false;
|
x2a8_30_doClose = false;
|
||||||
x264_ = GetBoundingBox();
|
x264_ = GetBoundingBox();
|
||||||
x284_modelBounds = x64_modelData->GetBounds(xf.getRotation());
|
x284_modelBounds = x64_modelData->GetBounds(xf.getRotation());
|
||||||
x29c_ = vec;
|
x29c_orbitPos = orbitPos;
|
||||||
|
|
||||||
xe6_27_thermalVisorFlags = 1;
|
xe6_27_thermalVisorFlags = 1;
|
||||||
if (open)
|
if (open)
|
||||||
|
@ -59,7 +59,7 @@ void CScriptDoor::Accept(IVisitor& visitor)
|
||||||
/* ORIGINAL 0-00 OFFSET: 8007F054 */
|
/* ORIGINAL 0-00 OFFSET: 8007F054 */
|
||||||
zeus::CVector3f CScriptDoor::GetOrbitPosition(const CStateManager& /*mgr*/) const
|
zeus::CVector3f CScriptDoor::GetOrbitPosition(const CStateManager& /*mgr*/) const
|
||||||
{
|
{
|
||||||
return x34_transform.origin + x29c_;
|
return x34_transform.origin + x29c_orbitPos;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ORIGINAL 0-00 OFFSET: 8007E550 */
|
/* ORIGINAL 0-00 OFFSET: 8007E550 */
|
||||||
|
|
|
@ -17,7 +17,7 @@ public:
|
||||||
};
|
};
|
||||||
|
|
||||||
float x258_animLen;
|
float x258_animLen;
|
||||||
float x25c_animTime;
|
float x25c_animTime = 0.f;
|
||||||
EDoorAnimType x260_doorState = EDoorAnimType::Open;
|
EDoorAnimType x260_doorState = EDoorAnimType::Open;
|
||||||
zeus::CAABox x264_;
|
zeus::CAABox x264_;
|
||||||
TUniqueId x27c_partner1 = kInvalidUniqueId;
|
TUniqueId x27c_partner1 = kInvalidUniqueId;
|
||||||
|
@ -25,7 +25,7 @@ public:
|
||||||
TUniqueId x280_prevDoor = kInvalidUniqueId;
|
TUniqueId x280_prevDoor = kInvalidUniqueId;
|
||||||
TUniqueId x282_dockId = kInvalidUniqueId;
|
TUniqueId x282_dockId = kInvalidUniqueId;
|
||||||
zeus::CAABox x284_modelBounds;
|
zeus::CAABox x284_modelBounds;
|
||||||
zeus::CVector3f x29c_;
|
zeus::CVector3f x29c_orbitPos;
|
||||||
|
|
||||||
bool x2a8_24_closing : 1;
|
bool x2a8_24_closing : 1;
|
||||||
bool x2a8_25_wasOpen : 1;
|
bool x2a8_25_wasOpen : 1;
|
||||||
|
|
|
@ -472,8 +472,8 @@ CEntity* ScriptLoader::LoadDoor(CStateManager& mgr, CInputStream& in, int propCo
|
||||||
CAnimationParameters aParms = LoadAnimationParameters(in);
|
CAnimationParameters aParms = LoadAnimationParameters(in);
|
||||||
CActorParameters actParms = LoadActorParameters(in);
|
CActorParameters actParms = LoadActorParameters(in);
|
||||||
|
|
||||||
zeus::CVector3f v1;
|
zeus::CVector3f orbitPos;
|
||||||
v1.readBig(in);
|
orbitPos.readBig(in);
|
||||||
zeus::CVector3f collisionExtent;
|
zeus::CVector3f collisionExtent;
|
||||||
collisionExtent.readBig(in);
|
collisionExtent.readBig(in);
|
||||||
zeus::CVector3f offset;
|
zeus::CVector3f offset;
|
||||||
|
@ -504,7 +504,7 @@ CEntity* ScriptLoader::LoadDoor(CStateManager& mgr, CInputStream& in, int propCo
|
||||||
isMorphballDoor = in.readBool();
|
isMorphballDoor = in.readBool();
|
||||||
|
|
||||||
return new CScriptDoor(mgr.AllocateUniqueId(), head.x0_name, info, head.x10_transform, std::move(mData), actParms,
|
return new CScriptDoor(mgr.AllocateUniqueId(), head.x0_name, info, head.x10_transform, std::move(mData), actParms,
|
||||||
v1, aabb, active, open, b3, animationLength, isMorphballDoor);
|
orbitPos, aabb, active, open, b3, animationLength, isMorphballDoor);
|
||||||
}
|
}
|
||||||
|
|
||||||
CEntity* ScriptLoader::LoadTrigger(CStateManager& mgr, CInputStream& in, int propCount, const CEntityInfo& info)
|
CEntity* ScriptLoader::LoadTrigger(CStateManager& mgr, CInputStream& in, int propCount, const CEntityInfo& info)
|
||||||
|
|
2
hecl
2
hecl
|
@ -1 +1 @@
|
||||||
Subproject commit edaa2d0360409a3f02087ac3d4265c35f4ddee81
|
Subproject commit 52134b89fdbd44b569c32ae177ef3bb2e6dd6178
|
2
specter
2
specter
|
@ -1 +1 @@
|
||||||
Subproject commit a709031d36f5556b5ef3646673fba5c984d1d45a
|
Subproject commit d3d604f390141fdd147bb87c8d2fb8fa68564c3e
|
Loading…
Reference in New Issue