2022-06-16 21:33:18 +00:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "Packet.h"
|
|
|
|
#include "algorithms/PlayerAnims.h"
|
2022-06-22 03:01:18 +00:00
|
|
|
#include "sead/math/seadVector.h"
|
|
|
|
#include "sead/math/seadQuat.h"
|
2022-06-16 21:33:18 +00:00
|
|
|
|
2022-06-22 17:16:08 +00:00
|
|
|
struct PACKED PlayerInf : Packet {
|
2024-06-14 09:21:27 +00:00
|
|
|
PlayerInf() : Packet() {
|
|
|
|
mType = PacketType::PLAYERINF;
|
|
|
|
mPacketSize = sizeof(PlayerInf) - sizeof(Packet);
|
|
|
|
};
|
2022-06-22 17:16:08 +00:00
|
|
|
sead::Vector3f playerPos;
|
2022-06-16 21:33:18 +00:00
|
|
|
sead::Quatf playerRot;
|
|
|
|
float animBlendWeights[6];
|
|
|
|
PlayerAnims::Type actName;
|
|
|
|
PlayerAnims::Type subActName;
|
|
|
|
|
2024-06-14 09:21:27 +00:00
|
|
|
bool operator==(const PlayerInf& rhs) const {
|
2022-06-16 21:33:18 +00:00
|
|
|
bool isWeightsEqual = true;
|
2024-06-14 09:21:27 +00:00
|
|
|
for (size_t i = 0; i < 6; i++) {
|
|
|
|
if (animBlendWeights[i] != rhs.animBlendWeights[i]) {
|
2022-06-16 21:33:18 +00:00
|
|
|
isWeightsEqual = false;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return (
|
2024-06-14 09:21:27 +00:00
|
|
|
isWeightsEqual
|
|
|
|
&& playerPos == rhs.playerPos
|
|
|
|
&& playerRot == rhs.playerRot
|
|
|
|
&& actName == rhs.actName
|
|
|
|
&& subActName == rhs.subActName
|
2022-06-16 21:33:18 +00:00
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
bool operator!=(const PlayerInf& rhs) const { return !operator==(rhs); }
|
2024-06-14 09:21:27 +00:00
|
|
|
};
|