#ifndef TMENULIST_H #define TMENULIST_H #include "pso/forward.h" #include "pso/protocol.h" #include "pso/macros.h" #include "pso/TPlyGuildCardTag.h" #include template class TMenuListEntry : public TPlyGuildCardTag { public: TMenuListEntry() : TPlyGuildCardTag() {}; void bswap() { TPlyGuildCardTag::bswap(); entry.bswap(); }; public: T entry; } __packed__; template class TMenuList { public: void bswap() { header.bswap(); if (num_pad_entries) { for (int i = 0; i < num_pad_entries; i++) { pad_entries[i].bswap(); } } if (num_entries) { for (int i = 0; i < num_entries; i++) { entries[i].bswap(); } } }; public: packet_header header; TMenuListEntry pad_entries[num_pad_entries]; TMenuListEntry entries[num_entries]; } __packed__; template class TMenuList { public: void bswap() { header.bswap(); for (int i = 0; i < num_entries; i++) { entries[i].bswap(); } }; public: packet_header header; TMenuListEntry entries[num_entries]; } __packed__; template class TMenuList { public: void bswap() { header.bswap(); for (int i = 0; i < num_pad_entries; i++) { pad_entries[i].bswap(); } }; public: packet_header header; TMenuListEntry pad_entries[num_pad_entries]; } __packed__; #endif