#pragma once #include #include "Packet.h" #include "../../../Minecraft.Client/Rendering/Models/Model.h" #include "../../../Minecraft.Client/Rendering/Models/SkinBox.h" class DLCSkinFile; class TextureAndGeometryPacket : public Packet, public std::enable_shared_from_this { public: std::wstring textureName; std::uint32_t dwSkinID; std::uint8_t *pbData; std::uint32_t dwTextureBytes; SKIN_BOX *BoxDataA; std::uint32_t dwBoxC; unsigned int uiAnimOverrideBitmask; TextureAndGeometryPacket(); ~TextureAndGeometryPacket(); TextureAndGeometryPacket(const std::wstring &textureName, std::uint8_t *pbData, std::uint32_t dataBytes); TextureAndGeometryPacket(const std::wstring &textureName, std::uint8_t *pbData, std::uint32_t dataBytes, DLCSkinFile *pDLCSkinFile); TextureAndGeometryPacket(const std::wstring &textureName, std::uint8_t *pbData, std::uint32_t dataBytes, std::vector *pvSkinBoxes, unsigned int uiAnimOverrideBitmask); virtual void handle(PacketListener *listener); virtual void read(DataInputStream *dis); virtual void write(DataOutputStream *dos); virtual int getEstimatedSize(); public: static std::shared_ptr create() { return std::shared_ptr(new TextureAndGeometryPacket()); } virtual int getId() { return 160; } };