From 47f7e5b454ac6c26770c0a8b80fac887720215b9 Mon Sep 17 00:00:00 2001 From: degasus Date: Sun, 5 Nov 2017 10:52:37 +0100 Subject: [PATCH 1/2] WiiUtils: Be more explicit about packing. --- Source/Core/Core/WiiUtils.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Source/Core/Core/WiiUtils.cpp b/Source/Core/Core/WiiUtils.cpp index c0c5cbc05a..3fd653ffde 100644 --- a/Source/Core/Core/WiiUtils.cpp +++ b/Source/Core/Core/WiiUtils.cpp @@ -561,7 +561,7 @@ public: UpdateResult DoDiscUpdate(); private: -#pragma pack(push, 8) +#pragma pack(push, 1) struct ManifestHeader { char timestamp[0x10]; // YYYY/MM/DD @@ -581,9 +581,10 @@ private: char path[0x40]; u64 title_id; u16 title_version; + u16 unused1[3]; char name[0x40]; char info[0x40]; - u8 unused[0x120]; + u8 unused2[0x120]; }; static_assert(sizeof(Entry) == 512, "Wrong size"); #pragma pack(pop) From 3a36c964f584fc57234ef7ed9e01df66a62e7207 Mon Sep 17 00:00:00 2001 From: degasus Date: Sun, 5 Nov 2017 13:13:25 +0100 Subject: [PATCH 2/2] WiimoteEmu: Don't set pack pragma for STL objects. --- Source/Core/Core/HW/WiimoteEmu/WiimoteEmu.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Source/Core/Core/HW/WiimoteEmu/WiimoteEmu.h b/Source/Core/Core/HW/WiimoteEmu/WiimoteEmu.h index 09ae20b56c..cf468226e4 100644 --- a/Source/Core/Core/HW/WiimoteEmu/WiimoteEmu.h +++ b/Source/Core/Core/HW/WiimoteEmu/WiimoteEmu.h @@ -151,6 +151,7 @@ struct ExtensionReg // address 0xFA u8 constant_id[6]; }; +#pragma pack(pop) void EmulateShake(AccelData* const accel_data, ControllerEmu::Buttons* const buttons_group, u8* const shake_step); @@ -291,6 +292,7 @@ private: wiimote_key m_ext_key; +#pragma pack(push, 1) u8 m_eeprom[WIIMOTE_EEPROM_SIZE]; struct MotionPlusReg {