CPU/PGXP: Use component enum

This commit is contained in:
Stenzek
2024-05-17 19:39:23 +10:00
parent e4bedbbbfa
commit 3fd86a69a4
2 changed files with 128 additions and 108 deletions

View File

@ -58,12 +58,13 @@ struct PGXP_value
u32 value;
u32 flags;
ALWAYS_INLINE void SetValidComp(u32 comp, bool valid)
ALWAYS_INLINE void SetValid(u32 comp, bool valid = true)
{
flags = (flags & ~(1u << comp)) | (static_cast<u32>(valid) << comp);
const u32 mask = (1u << comp);
flags = valid ? (flags | mask) : (flags & ~mask);
}
ALWAYS_INLINE bool GetValidComp(u32 comp) const { return ConvertToBoolUnchecked((flags >> comp) & 1); }
ALWAYS_INLINE bool HasValid(u32 comp) const { return ConvertToBoolUnchecked((flags >> comp) & 1); }
};
struct State