summaryrefslogtreecommitdiff
path: root/include/SSystem/SComponent
diff options
context:
space:
mode:
authorLuke Street <luke@street.dev>2026-02-28 14:35:07 -0700
committerGitHub <noreply@github.com>2026-02-28 13:35:07 -0800
commitb5d3b8c059c10711370437f7db7539cd90f1cb29 (patch)
tree8e1ef45570cb137160ceb1f16fb3451d2a359544 /include/SSystem/SComponent
parent06ebc176c25f71ce2268755d6c0890a36e78d041 (diff)
Another round of GCC fixes (#3115)
* Fix remaining <string> -> <cstring> for GCC compilation (#3114 follow-up) MWerks' <string> header transitively includes C string functions (memcpy, strlen, strcmp, etc.), but GCC/Clang's <string> is the C++ std::string header. These files all use C string functions and should include <cstring> instead. * Use std::isnan instead of isnan for GCC compilation GCC's <cmath> places isnan in the std namespace. Using the unqualified isnan fails to compile with GCC/Clang. * Fix cCcD_Src types: s32 -> u32 for bitmask fields cCcD_SrcObjCommonBase::mSPrm, cCcD_SrcObjTg::mType, and cCcD_SrcObjAt::mType are used as bitmasks (SetType/SetSPrm take u32, MskType/MskSPrm use u32, values like 0xFFFFFFFF are common in aggregate inits). Change from s32 to u32 to match usage. Also fix AT_TYPE_WOLF_ATTACK/AT_TYPE_UNK to use unsigned literals, and remove now-unnecessary (s32) casts on hex literals in collision source data. * Mark dummy() functions as static to avoid multiple definition errors These decomp artifact functions have the same name and signature across TUs, causing linker errors when building as a single binary.
Diffstat (limited to 'include/SSystem/SComponent')
-rw-r--r--include/SSystem/SComponent/c_cc_d.h10
1 files changed, 5 insertions, 5 deletions
diff --git a/include/SSystem/SComponent/c_cc_d.h b/include/SSystem/SComponent/c_cc_d.h
index 2393e9c13d..f80c33b823 100644
--- a/include/SSystem/SComponent/c_cc_d.h
+++ b/include/SSystem/SComponent/c_cc_d.h
@@ -62,8 +62,8 @@ enum cCcD_ObjAtType {
/* 0x10000000 */ AT_TYPE_10000000 = (1 << 28),
/* 0x10000000 */ AT_TYPE_20000000 = (1 << 29),
/* 0x40000000 */ AT_TYPE_WOLF_CUT_TURN = (1 << 30),
- /* 0x80000000 */ AT_TYPE_WOLF_ATTACK = (1 << 31),
- /* 0xD8000000 */ AT_TYPE_UNK = 0xD8000000
+ /* 0x80000000 */ AT_TYPE_WOLF_ATTACK = (1u << 31),
+ /* 0xD8000000 */ AT_TYPE_UNK = 0xD8000000u
};
struct cCcD_SrcTriAttr {
@@ -120,16 +120,16 @@ public:
STATIC_ASSERT(0x40 == sizeof(cCcD_DivideArea));
struct cCcD_SrcObjCommonBase {
- /* 0x0 */ s32 mSPrm;
+ /* 0x0 */ u32 mSPrm;
};
struct cCcD_SrcObjTg {
- /* 0x0 */ s32 mType;
+ /* 0x0 */ u32 mType;
/* 0x4 */ cCcD_SrcObjCommonBase mBase;
}; // Size: 0x8
struct cCcD_SrcObjAt {
- /* 0x0 */ s32 mType;
+ /* 0x0 */ u32 mType;
/* 0x4 */ u8 mAtp;
/* 0x8 */ cCcD_SrcObjCommonBase mBase;
}; // Size: 0xC