SuperMarioOdysseyOnline/include/packets/PlayerInfPacket.h

37 lines
1,012 B
C
Raw Normal View History

2022-06-16 21:33:18 +00:00
#pragma once
#include "Packet.h"
#include "al/util.hpp"
#include "algorithms/PlayerAnims.h"
struct PACKED PlayerInf : Packet {
2024-06-14 09:21:27 +00:00
PlayerInf() : Packet() {
mType = PacketType::PLAYERINF;
mPacketSize = sizeof(PlayerInf) - sizeof(Packet);
};
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
};