From 0f776fb09147c5907fa2eae213d7193d67a63aa3 Mon Sep 17 00:00:00 2001 From: "Admiral H. Curtiss" Date: Mon, 19 Nov 2018 00:04:56 +0100 Subject: [PATCH] GCMemcard: Use BigEndianValue for Directory.m_update_counter. --- Source/Core/Core/HW/GCMemcard/GCMemcard.cpp | 8 ++++---- Source/Core/Core/HW/GCMemcard/GCMemcard.h | 6 +++--- Source/Core/Core/HW/GCMemcard/GCMemcardDirectory.cpp | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Source/Core/Core/HW/GCMemcard/GCMemcard.cpp b/Source/Core/Core/HW/GCMemcard/GCMemcard.cpp index a03b11915c..a6b91b4892 100644 --- a/Source/Core/Core/HW/GCMemcard/GCMemcard.cpp +++ b/Source/Core/Core/HW/GCMemcard/GCMemcard.cpp @@ -173,7 +173,7 @@ GCMemcard::GCMemcard(const std::string& filename, bool forceCreation, bool shift // the backup should be copied? // } // - // if (BE16(dir_backup.m_update_counter) > BE16(dir.m_update_counter)) //check if the backup is newer + // if (dir_backup.m_update_counter > dir.m_update_counter) //check if the backup is newer // { // dir = dir_backup; // bat = bat_backup; // needed? @@ -209,7 +209,7 @@ GCMemcard::GCMemcard(const std::string& filename, bool forceCreation, bool shift void GCMemcard::InitDirBatPointers() { - if (BE16(dir.m_update_counter) > (BE16(dir_backup.m_update_counter))) + if (dir.m_update_counter > dir_backup.m_update_counter) { CurrentDir = &dir; PreviousDir = &dir_backup; @@ -694,7 +694,7 @@ u32 GCMemcard::ImportFile(const DEntry& direntry, std::vector& saveBlo break; } } - UpdatedDir.m_update_counter = BE16(BE16(UpdatedDir.m_update_counter) + 1); + UpdatedDir.m_update_counter = UpdatedDir.m_update_counter + 1; *PreviousDir = UpdatedDir; if (PreviousDir == &dir) { @@ -797,7 +797,7 @@ u32 GCMemcard::RemoveFile(u8 index) // index in the directory array } */ memset(&(UpdatedDir.m_dir_entries[index]), 0xFF, DENTRY_SIZE); - UpdatedDir.m_update_counter = BE16(BE16(UpdatedDir.m_update_counter) + 1); + UpdatedDir.m_update_counter = UpdatedDir.m_update_counter + 1; *PreviousDir = UpdatedDir; if (PreviousDir == &dir) { diff --git a/Source/Core/Core/HW/GCMemcard/GCMemcard.h b/Source/Core/Core/HW/GCMemcard/GCMemcard.h index c4ad36abf9..1475ad254c 100644 --- a/Source/Core/Core/HW/GCMemcard/GCMemcard.h +++ b/Source/Core/Core/HW/GCMemcard/GCMemcard.h @@ -232,9 +232,9 @@ struct Directory { std::array m_dir_entries; // 0x0000 Directory Entries (max 127) std::array m_padding; - u16 m_update_counter; // 0x1ffa 2 Update Counter - u16 m_checksum; // 0x1ffc 2 Additive Checksum - u16 m_checksum_inv; // 0x1ffe 2 Inverse Checksum + Common::BigEndianValue m_update_counter; // 0x1ffa 2 Update Counter + u16 m_checksum; // 0x1ffc 2 Additive Checksum + u16 m_checksum_inv; // 0x1ffe 2 Inverse Checksum Directory() { memset(this, 0xFF, BLOCK_SIZE); diff --git a/Source/Core/Core/HW/GCMemcard/GCMemcardDirectory.cpp b/Source/Core/Core/HW/GCMemcard/GCMemcardDirectory.cpp index 3009553368..c2cd7d3746 100644 --- a/Source/Core/Core/HW/GCMemcard/GCMemcardDirectory.cpp +++ b/Source/Core/Core/HW/GCMemcard/GCMemcardDirectory.cpp @@ -429,7 +429,7 @@ inline void GCMemcardDirectory::SyncSaves() { Directory* current = &m_dir2; - if (BE16(m_dir1.m_update_counter) > BE16(m_dir2.m_update_counter)) + if (m_dir1.m_update_counter > m_dir2.m_update_counter) { current = &m_dir1; }