fix: respawn rotation (#1323)

* fixed respawn rotation

* even though the condensed calls work, splitting em
This commit is contained in:
jadebenn 2023-11-26 16:30:39 -06:00 committed by GitHub
parent a1f8ab763d
commit 3df3552467
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -944,14 +944,7 @@ void GameMessages::SendResurrect(Entity* entity) {
destroyableComponent->SetImagination(imaginationToRestore); destroyableComponent->SetImagination(imaginationToRestore);
} }
} }
}); });
auto cont = static_cast<ControllablePhysicsComponent*>(entity->GetComponent(eReplicaComponentType::CONTROLLABLE_PHYSICS));
if (cont && entity->GetLOT() == 1) {
cont->SetPosition(entity->GetRespawnPosition());
cont->SetRotation(entity->GetRespawnRotation());
}
CBITSTREAM; CBITSTREAM;
CMSGHEADER; CMSGHEADER;
@ -1144,18 +1137,16 @@ void GameMessages::SendPlayerReachedRespawnCheckpoint(Entity* entity, const NiPo
bitStream.Write(position.y); bitStream.Write(position.y);
bitStream.Write(position.z); bitStream.Write(position.z);
auto con = static_cast<ControllablePhysicsComponent*>(entity->GetComponent(eReplicaComponentType::CONTROLLABLE_PHYSICS)); const bool isNotIdentity = rotation != NiQuaternion::IDENTITY;
if (con) { bitStream.Write(isNotIdentity);
auto rot = con->GetRotation();
bitStream.Write(rot.x); if (isNotIdentity) {
bitStream.Write(rot.y); bitStream.Write(rotation.w);
bitStream.Write(rot.z); bitStream.Write(rotation.x);
bitStream.Write(rot.w); bitStream.Write(rotation.y);
bitStream.Write(rotation.z);
} }
//bitStream.Write(position);
//bitStream.Write(rotation);
SystemAddress sysAddr = entity->GetSystemAddress(); SystemAddress sysAddr = entity->GetSystemAddress();
SEND_PACKET; SEND_PACKET;
} }