diff --git a/src/core/hw/gpu.h b/src/core/hw/gpu.h index 2e3a9f779..a00adbf53 100644 --- a/src/core/hw/gpu.h +++ b/src/core/hw/gpu.h @@ -263,17 +263,17 @@ struct Regs { INSERT_PADDING_WORDS(0x9c3); - static inline size_t NumIds() { + static constexpr size_t NumIds() { return sizeof(Regs) / sizeof(u32); } - u32& operator [] (int index) const { - u32* content = (u32*)this; + const u32& operator [] (int index) const { + const u32* content = reinterpret_cast(this); return content[index]; } u32& operator [] (int index) { - u32* content = (u32*)this; + u32* content = reinterpret_cast(this); return content[index]; } diff --git a/src/core/hw/lcd.h b/src/core/hw/lcd.h index bcce6d8cf..3dd877fbf 100644 --- a/src/core/hw/lcd.h +++ b/src/core/hw/lcd.h @@ -38,17 +38,17 @@ struct Regs { u32 backlight_bottom; INSERT_PADDING_WORDS(0x16F); - static inline size_t NumIds() { + static constexpr size_t NumIds() { return sizeof(Regs) / sizeof(u32); } - u32& operator [] (int index) const { - u32* content = (u32*)this; + const u32& operator [] (int index) const { + const u32* content = reinterpret_cast(this); return content[index]; } u32& operator [] (int index) { - u32* content = (u32*)this; + u32* content = reinterpret_cast(this); return content[index]; } diff --git a/src/video_core/pica.h b/src/video_core/pica.h index 7fb3aa481..337cff8ce 100644 --- a/src/video_core/pica.h +++ b/src/video_core/pica.h @@ -1221,17 +1221,17 @@ struct Regs { // Used for debugging purposes, so performance is not an issue here static std::string GetCommandName(int index); - static inline size_t NumIds() { + static constexpr size_t NumIds() { return sizeof(Regs) / sizeof(u32); } - u32& operator [] (int index) const { - u32* content = (u32*)this; + const u32& operator [] (int index) const { + const u32* content = reinterpret_cast(this); return content[index]; } u32& operator [] (int index) { - u32* content = (u32*)this; + u32* content = reinterpret_cast(this); return content[index]; }