summaryrefslogtreecommitdiff
path: root/include/pso/TPlyGuildCardTag.h
diff options
context:
space:
mode:
authormrb0nk500 <b0nk@b0nk.xyz>2023-03-07 15:23:51 -0400
committermrb0nk500 <b0nk@b0nk.xyz>2023-03-07 15:23:51 -0400
commit09c901655db3bb42d2aac4b506846b18833d777c (patch)
treec980f1c6b42ee503a699200a55b4cabfded1ffd5 /include/pso/TPlyGuildCardTag.h
parent5df9bdde16d30a8bfe520e178c5810a7163e9d6c (diff)
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.
Diffstat (limited to 'include/pso/TPlyGuildCardTag.h')
-rw-r--r--include/pso/TPlyGuildCardTag.h36
1 files changed, 22 insertions, 14 deletions
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;