summaryrefslogtreecommitdiff
path: root/include/pso/TMenuList.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/pso/TMenuList.h')
-rw-r--r--include/pso/TMenuList.h135
1 files changed, 40 insertions, 95 deletions
diff --git a/include/pso/TMenuList.h b/include/pso/TMenuList.h
index af71a87..d065622 100644
--- a/include/pso/TMenuList.h
+++ b/include/pso/TMenuList.h
@@ -10,120 +10,65 @@
template <typename T>
class TMenuListEntry : public TPlyGuildCardTag {
- public:
- T entry;
-
+public:
TMenuListEntry() : TPlyGuildCardTag() {};
- void bswap();
- void assign(const TMenuListEntry &src);
-
- TMenuListEntry &operator=(const TMenuListEntry &src) {
- _assign(src);
- return *this;
+ void bswap() {
+ TPlyGuildCardTag::bswap();
+ entry.bswap();
};
-
- private:
- void _assign(const TMenuListEntry &src);
+public:
+ T entry;
} __packed__;
template <typename T, int num_entries, int num_pad_entries>
class TMenuList {
- public:
+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;
- TArray<TMenuListEntry<T>, num_pad_entries> pad_entries;
- TArray<TMenuListEntry<T>, num_entries> entries;
-
- void bswap();
- TMenuList &assign(const TMenuList &src);
+ TMenuListEntry<T> pad_entries[num_pad_entries];
+ TMenuListEntry<T> entries[num_entries];
} __packed__;
template <typename T, int num_entries>
class TMenuList<T, num_entries, 0> {
- public:
+public:
+ void bswap() {
+ header.bswap();
+ for (int i = 0; i < num_entries; i++) {
+ entries[i].bswap();
+ }
+ };
+public:
packet_header header;
- TArray<TMenuListEntry<T>, num_entries> entries;
-
- void bswap();
- TMenuList &assign(const TMenuList &src);
+ TMenuListEntry<T> entries[num_entries];
} __packed__;
template <typename T, int num_pad_entries>
class TMenuList<T, 0, num_pad_entries> {
- public:
- packet_header header;
- TArray<TMenuListEntry<T>, num_pad_entries> pad_entries;
-
- void bswap();
- TMenuList &assign(const TMenuList &src);
-} __packed__;
-
-
-template <typename T, int num_entries>
-void TMenuList<T, num_entries, 0>::bswap() {
- header.bswap();
- for (int i = 0; i < num_entries; i++) {
- entries[i].bswap();
- }
-}
-
-template <typename T, int num_pad_entries>
-void TMenuList<T, 0, num_pad_entries>::bswap() {
- header.bswap();
- for (int i = 0; i < num_pad_entries; i++) {
- pad_entries[i].bswap();
- }
-}
-
-template <typename T, int num_entries, int num_pad_entries>
-void TMenuList<T, num_entries, num_pad_entries>::bswap() {
- header.bswap();
- if (num_pad_entries) {
+public:
+ void bswap() {
+ header.bswap();
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();
- }
- }
-}
-
-template <typename T>
-void TMenuListEntry<T>::bswap() {
- TPlyGuildCardTag::bswap();
- entry.bswap();
-}
-
-template <typename T, int num_entries>
-TMenuList<T, num_entries, 0> &TMenuList<T, num_entries, 0>::assign(const TMenuList<T, num_entries, 0> &src) {
- *this = src;
- return *this;
-}
-
-template <typename T, int num_pad_entries>
-TMenuList<T, 0, num_pad_entries> &TMenuList<T, 0, num_pad_entries>::assign(const TMenuList<T, 0, num_pad_entries> &src) {
- *this = src;
- return *this;
-}
-
-template <typename T, int num_entries, int num_pad_entries>
-TMenuList<T, num_entries, num_pad_entries> &TMenuList<T, num_entries, num_pad_entries>::assign(const TMenuList<T, num_entries, num_pad_entries> &src) {
- *this = src;
- return *this;
-}
-
-template <typename T>
-void TMenuListEntry<T>::_assign(const TMenuListEntry<T> &src) {
- TPlyGuildCardTag::assign(src);
- entry = src.entry;
-}
-
-template <typename T>
-void TMenuListEntry<T>::assign(const TMenuListEntry<T> &src) {
- TPlyGuildCardTag::operator=(src);
- entry = src.entry;
-}
+ };
+public:
+ packet_header header;
+ TMenuListEntry<T> pad_entries[num_pad_entries];
+} __packed__;
#endif