Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GCMemcard: Rework construction logic. #8300

Merged
merged 5 commits into from Aug 21, 2019

Conversation

@AdmiralCurtiss
Copy link
Contributor

commented Aug 6, 2019

This is to better match our knowledge of the format, while also providing better error reporting facilities. (no PanicAlert()s anymore!) Obsoletes #8020. Probably conflicts with #7996 and #7975 but that's okay, I'll just rebase as appropriate.

TODOs:

  • Hardware test the Dir/BAT behavior. (see https://bugs.dolphin-emu.org/issues/11828)
  • Implement cross-block error checks such as Dir/BAT data mismatch.
  • Provide better error messages to the user in the Memcard manager and the Memcard settings when selecting an invalid card.

@AdmiralCurtiss AdmiralCurtiss force-pushed the AdmiralCurtiss:gcmemcard-construction branch from 7913d50 to 12b26b7 Aug 6, 2019

@Warepire
Copy link

left a comment

More local variables can probably be marked const as well.

Source/Core/Core/HW/GCMemcard/GCMemcard.cpp Outdated Show resolved Hide resolved
Source/Core/Core/HW/GCMemcard/GCMemcard.cpp Outdated Show resolved Hide resolved
Source/Core/Core/HW/GCMemcard/GCMemcard.cpp Outdated Show resolved Hide resolved
Source/Core/Core/HW/GCMemcard/GCMemcard.cpp Outdated Show resolved Hide resolved
Source/Core/Core/HW/GCMemcard/GCMemcard.cpp Outdated Show resolved Hide resolved
Source/Core/Core/HW/GCMemcard/GCMemcard.cpp Outdated Show resolved Hide resolved
Source/Core/Core/HW/GCMemcard/GCMemcard.cpp Outdated Show resolved Hide resolved
Source/Core/Core/HW/GCMemcard/GCMemcard.cpp Outdated Show resolved Hide resolved

@AdmiralCurtiss AdmiralCurtiss force-pushed the AdmiralCurtiss:gcmemcard-construction branch from 12b26b7 to 8257445 Aug 7, 2019

@AdmiralCurtiss AdmiralCurtiss force-pushed the AdmiralCurtiss:gcmemcard-construction branch 3 times, most recently from 001c48e to ede96df Aug 14, 2019

@AdmiralCurtiss AdmiralCurtiss changed the title [WIP] GCMemcard: Rework construction logic. GCMemcard: Rework construction logic. Aug 15, 2019

@AdmiralCurtiss

This comment has been minimized.

Copy link
Contributor Author

commented Aug 15, 2019

Okay, I think I'm done with this now. Please review again.

Source/Core/Core/HW/GCMemcard/GCMemcard.cpp Outdated Show resolved Hide resolved
Source/Core/Core/HW/GCMemcard/GCMemcard.cpp Outdated Show resolved Hide resolved
Source/Core/Core/HW/GCMemcard/GCMemcardDirectory.cpp Outdated Show resolved Hide resolved
Source/Core/DolphinQt/GCMemcardManager.cpp Outdated Show resolved Hide resolved
Source/Core/DolphinQt/Settings/GameCubePane.cpp Outdated Show resolved Hide resolved

@AdmiralCurtiss AdmiralCurtiss force-pushed the AdmiralCurtiss:gcmemcard-construction branch from ede96df to 9acea25 Aug 15, 2019

AdmiralCurtiss added some commits Apr 21, 2019

GCMemcard: Rework construction logic to better match our knowledge of…
… the format, while providing better error reporting facilities.
GCMemcard: Check if the Directory's number-of-blocks claim for files …
…matches the BAT, and report an error if it doesn't.

@AdmiralCurtiss AdmiralCurtiss force-pushed the AdmiralCurtiss:gcmemcard-construction branch from 9acea25 to 7b9d43a Aug 15, 2019

@BhaaLseN
Copy link
Member

left a comment

Code seems good, untested.

@Helios747 Helios747 merged commit 35eb63d into dolphin-emu:master Aug 21, 2019

10 checks passed

default Very basic checks passed, handed off to Buildbot.
Details
lint Build succeeded on builder lint
Details
pr-android Build succeeded on builder pr-android
Details
pr-deb-dbg-x64 Build succeeded on builder pr-deb-dbg-x64
Details
pr-deb-x64 Build succeeded on builder pr-deb-x64
Details
pr-freebsd-x64 Build succeeded on builder pr-freebsd-x64
Details
pr-osx-x64 Build succeeded on builder pr-osx-x64
Details
pr-ubu-x64 Build succeeded on builder pr-ubu-x64
Details
pr-win-dbg-x64 Build succeeded on builder pr-win-dbg-x64
Details
pr-win-x64 Build succeeded on builder pr-win-x64
Details

@AdmiralCurtiss AdmiralCurtiss deleted the AdmiralCurtiss:gcmemcard-construction branch Aug 21, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
5 participants
You can’t perform that action at this time.