dolphin/Source/Core
Léo Lam a46a8dd378 WiiSave: Refactor import/export code
The current WiiSave code is extremely messy, as it exposes all kinds of
implementation details in the header (including internal struct
definitions and magic numbers that don't have to be).

The read/write code is intermingled, so it's hard to tell which members
are used, or when/where they are set at all.

It also implicitly relies on some functions being called in a specific
order since it doesn't seek manually every time, which makes the code
even more fragile.

The logic is also hardcoded to only support bin->nand or nand->bin,
even though it would be useful to support nand->nand (for the
Movie save copying code, for example).

This commit attempts to solve these problems by getting rid of the
WiiSave class:

* Read/write code is moved to new Storage classes (NandStorage and
  DataBinStorage) with small, clear functions that do one and only
  one thing.

* The import/export logic was refactored into a generic Copy function
  that takes two storages as parameters.

* The existing import and export functions are now just small wrappers
  that call Copy with the appropriate storages.
2018-05-31 20:52:01 +02:00
..
AudioCommon AudioCommon: Implement WASAPI 2018-05-26 13:08:10 +02:00
Common x64Emitter: Amend parameter ordering for WriteModRM()'s prototype 2018-05-30 09:30:24 -04:00
Core WiiSave: Refactor import/export code 2018-05-31 20:52:01 +02:00
DiscIO VolumeWii: Shorten padding checking code within CheckIntegrity() 2018-05-30 08:42:32 -04:00
DolphinNoGUI Common: Move host communication enum to Host.h 2018-05-28 14:34:59 -04:00
DolphinQt2 Qt/GeneralWidget: Show tooltip when adapters are not supported by the backend 2018-05-31 03:52:18 +02:00
DolphinWX Common: Move host communication enum to Host.h 2018-05-28 14:34:59 -04:00
InputCommon THis fixes issue #08 and #16, the rumble test and slider 2018-04-19 17:48:55 -04:00
UICommon UICommon: fix m_cached_files pruning (partial revert of 68152faf43) 2018-05-27 22:15:16 +01:00
Updater Updater: Show error when trying to launch directly 2018-05-05 23:32:08 +02:00
VideoBackends VideoConfig: Add a field for indicating logic op support in the backend 2018-05-26 00:07:20 +10:00
VideoCommon BPMemory: Silence a -Wmissing-braces warning 2018-05-28 14:52:59 -04:00
CMakeLists.txt Moved NoGUI out of DolphinWx. 2017-03-08 01:24:18 -08:00