#ifndef TPLYGUILDCARDTAG_H #define TPLYGUILDCARDTAG_H #include "pso/forward.h" #include "pso/macros.h" #include struct gc_tag { u8 tag0; u8 tag1; u16 tag2; }; class TPlyGuildCardTag { public: void bswap(); void assign(const TPlyGuildCardTag &src); void assign(const TPlyGuildCardTag *src); PRIVATE_MEMBER_ACCESSORS(gc_tag, tag); PRIVATE_MEMBER_ACCESSORS(u32, tag_u32); PRIVATE_MEMBER_ACCESSORS(u32, guildcard_number); private: void _assign(const TPlyGuildCardTag &src) { m_tag.tag0 = src.tag().tag0; m_tag.tag1 = src.tag().tag1; m_tag.tag2 = src.tag().tag2; m_guildcard_number = src.guildcard_number(); }; union { gc_tag m_tag; u32 m_tag_u32; }; u32 m_guildcard_number; } __packed__; #endif