From 1094458ab9f0e7c03e8582b194be9bea4181f922 Mon Sep 17 00:00:00 2001 From: mrb0nk500 Date: Thu, 2 Mar 2023 15:08:29 -0400 Subject: TMenuListEntry: Make the entry arrays use `TArray`, instead of a standard C array --- include/pso/TMenuList.h | 28 ++++++++++------------------ 1 file changed, 10 insertions(+), 18 deletions(-) (limited to 'include/pso/TMenuList.h') diff --git a/include/pso/TMenuList.h b/include/pso/TMenuList.h index f792462..0eb35e5 100644 --- a/include/pso/TMenuList.h +++ b/include/pso/TMenuList.h @@ -4,6 +4,7 @@ #include "pso/forward.h" #include "pso/protocol.h" #include "pso/macros.h" +#include "pso/TArray.h" #include "pso/TPlyGuildCardTag.h" #include @@ -20,19 +21,18 @@ template class TMenuList { public: packet_header header; - TMenuListEntry pad_entries[num_pad_entries]; - TMenuListEntry entries[num_entries]; + TArray, num_pad_entries> pad_entries; + TArray, num_entries> entries; void bswap(); TMenuList &operator=(const TMenuList &src); - } __packed__; template class TMenuList { public: packet_header header; - TMenuListEntry entries[num_entries]; + TArray, num_entries> entries; void bswap(); TMenuList &operator=(const TMenuList &src); @@ -42,7 +42,7 @@ template class TMenuList { public: packet_header header; - TMenuListEntry pad_entries[num_pad_entries]; + TArray, num_pad_entries> pad_entries; void bswap(); TMenuList &operator=(const TMenuList &src); @@ -86,22 +86,17 @@ void TMenuListEntry::bswap() { entry.bswap(); } - template TMenuList &TMenuList::operator=(const TMenuList &src) { header = src.header; - for (int i = 0; i < num_entries; i++) { - entries[i] = src.entries[i]; - } + entries = src.entries; return *this; } template TMenuList &TMenuList::operator=(const TMenuList &src) { header = src.header; - for (int i = 0; i < num_pad_entries; i++) { - pad_entries[i] = src.pad_entries[i]; - } + pad_entries = src.pad_entries; return *this; } @@ -109,14 +104,10 @@ template TMenuList &TMenuList::operator=(const TMenuList &src) { header = src.header; if (num_pad_entries) { - for (int i = 0; i < num_pad_entries; i++) { - pad_entries[i] = src.pad_entries[i]; - } + pad_entries = src.pad_entries; } if (num_entries) { - for (int i = 0; i < num_entries; i++) { - entries[i] = src.entries[i]; - } + entries = src.entries; } return *this; } @@ -127,4 +118,5 @@ TMenuListEntry &TMenuListEntry::operator=(const TMenuListEntry &src) { entry = src.entry; return *this; } + #endif -- cgit v1.2.3-13-gbd6f