Vulkan fixes

This commit is contained in:
Jack Andersen 2018-05-21 21:51:08 -10:00
parent e982497055
commit 1ada86cc03
6 changed files with 12 additions and 12 deletions

View File

@ -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;

View File

@ -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 */
@ -123,7 +123,7 @@ void CScriptDoor::AcceptScriptMsg(EScriptObjectMessage msg, TUniqueId uid, CStat
return; return;
u32 doorCond = TCastToConstPtr<CScriptDoor>(mgr.GetObjectById(uid)) ? 2 : GetDoorOpenCondition(mgr); u32 doorCond = TCastToConstPtr<CScriptDoor>(mgr.GetObjectById(uid)) ? 2 : GetDoorOpenCondition(mgr);
switch(doorCond) switch (doorCond)
{ {
case 1: case 1:
x2a8_27_conditionsMet = true; x2a8_27_conditionsMet = true;

View File

@ -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;

View File

@ -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

@ -1 +1 @@
Subproject commit edaa2d0360409a3f02087ac3d4265c35f4ddee81 Subproject commit 52134b89fdbd44b569c32ae177ef3bb2e6dd6178

@ -1 +1 @@
Subproject commit a709031d36f5556b5ef3646673fba5c984d1d45a Subproject commit d3d604f390141fdd147bb87c8d2fb8fa68564c3e