diff options
Diffstat (limited to 'include/pso/TMenuList.h')
-rw-r--r-- | include/pso/TMenuList.h | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/include/pso/TMenuList.h b/include/pso/TMenuList.h index 3a38a66..90a7423 100644 --- a/include/pso/TMenuList.h +++ b/include/pso/TMenuList.h @@ -7,18 +7,16 @@ #include "pso/TPlyGuildCardTag.h" #include <global_types.h> -template <typename T> -class TMenuListEntry : public TPlyGuildCardTag { -public: - TMenuListEntry() : TPlyGuildCardTag() {}; - - void bswap() { - TPlyGuildCardTag::bswap(); - entry.bswap(); - }; -public: - T entry; -} __packed__; +#define TMenuListEntry(name, members) \ +class name { \ +public: \ + void bswap() { \ + tag.bswap(); \ + }; \ +public: \ + TPlyGuildCardTag tag; \ + members \ +} __packed__ template <typename T, int num_entries, int num_pad_entries> class TMenuList { @@ -38,10 +36,11 @@ public: }; public: packet_header header; - TMenuListEntry<T> pad_entries[num_pad_entries]; - TMenuListEntry<T> entries[num_entries]; + T pad_entries[num_pad_entries]; + T entries[num_entries]; } __packed__; +#ifdef __MWCC__ template <typename T, int num_entries> class TMenuList<T, num_entries, 0> { public: @@ -69,5 +68,6 @@ public: packet_header header; TMenuListEntry<T> pad_entries[num_pad_entries]; } __packed__; +#endif #endif |