From 09c901655db3bb42d2aac4b506846b18833d777c Mon Sep 17 00:00:00 2001 From: mrb0nk500 Date: Tue, 7 Mar 2023 15:23:51 -0400 Subject: global: Completly disable inlining This is because it looks more, and more clear that the entire codebase was compiled without inlining. Likely to reduce code size from all the byteswap functions, only present on the GameCube version. --- include/pso/TPlyGuildCardTag.h | 36 ++++++++++++++++++++++-------------- 1 file changed, 22 insertions(+), 14 deletions(-) (limited to 'include/pso/TPlyGuildCardTag.h') diff --git a/include/pso/TPlyGuildCardTag.h b/include/pso/TPlyGuildCardTag.h index 8a8e577..de96902 100644 --- a/include/pso/TPlyGuildCardTag.h +++ b/include/pso/TPlyGuildCardTag.h @@ -13,24 +13,32 @@ struct gc_tag { class TPlyGuildCardTag { public: - TPlyGuildCardTag(); - TPlyGuildCardTag(u16 tag2, u32 guildcard_number); - - TPlyGuildCardTag &operator=(const TPlyGuildCardTag &src); - - void bswap(); - void assign(const TPlyGuildCardTag &src); - void assign(const TPlyGuildCardTag *src); + TPlyGuildCardTag() {}; + TPlyGuildCardTag(u16 tag2, u32 guildcard_number) { + m_tag.tag0 = 0; + m_tag.tag1 = 0; + m_tag.tag2 = tag2; + m_guildcard_number = guildcard_number; + }; - 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 = src.m_tag; + TPlyGuildCardTag &operator=(const TPlyGuildCardTag &src) { + m_tag.tag0 = src.m_tag.tag0; + m_tag.tag1 = src.m_tag.tag1; + m_tag.tag2 = src.m_tag.tag2; m_guildcard_number = src.m_guildcard_number; }; + void bswap() { + bswap_32(&m_guildcard_number); + bswap_16(&m_tag.tag2); + }; + + void assign(const TPlyGuildCardTag &src) { *this = src; }; + void assign(const TPlyGuildCardTag *src) { + m_tag_u32 = src->m_tag_u32; + m_guildcard_number = src->m_guildcard_number; + }; +public: union { gc_tag m_tag; u32 m_tag_u32; -- cgit v1.2.3-13-gbd6f