EXI_Channel: In-class initialize variables

This commit is contained in:
Lioncash 2017-01-21 18:44:54 -05:00
parent 489e4c49bc
commit 688225616e
2 changed files with 8 additions and 12 deletions

View File

@ -20,12 +20,8 @@ enum
EXI_READWRITE
};
CEXIChannel::CEXIChannel(u32 ChannelId)
: m_DMAMemoryAddress(0), m_DMALength(0), m_ImmData(0), m_ChannelId(ChannelId)
CEXIChannel::CEXIChannel(u32 ChannelId) : m_ChannelId(ChannelId)
{
m_Control.Hex = 0;
m_Status.Hex = 0;
if (m_ChannelId == 0 || m_ChannelId == 1)
m_Status.EXTINT = 1;
if (m_ChannelId == 1)

View File

@ -57,7 +57,7 @@ private:
// EXI Status Register - "Channel Parameter Register"
union UEXI_STATUS
{
u32 Hex;
u32 Hex = 0;
// DO NOT obey the warning and give this struct a name. Things will fail.
struct
{
@ -77,14 +77,14 @@ private:
u32 ROMDIS : 1; // ROM Disable
u32 : 18;
};
UEXI_STATUS() { Hex = 0; }
UEXI_STATUS(u32 _hex) { Hex = _hex; }
UEXI_STATUS() = default;
explicit UEXI_STATUS(u32 hex) : Hex{hex} {}
};
// EXI Control Register
union UEXI_CONTROL
{
u32 Hex;
u32 Hex = 0;
struct
{
u32 TSTART : 1;
@ -97,10 +97,10 @@ private:
// STATE_TO_SAVE
UEXI_STATUS m_Status;
u32 m_DMAMemoryAddress;
u32 m_DMALength;
u32 m_DMAMemoryAddress = 0;
u32 m_DMALength = 0;
UEXI_CONTROL m_Control;
u32 m_ImmData;
u32 m_ImmData = 0;
// Devices
enum