dolphin/Source
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
..
Android Common: Move host communication enum to Host.h 2018-05-28 14:34:59 -04:00
Core WiiSave: Refactor import/export code 2018-05-31 20:52:01 +02:00
DSPSpy DSPSpy: Add a test for accelerator loop 2017-09-22 20:17:38 +02:00
DSPTool Common: Move host communication enum to Host.h 2018-05-28 14:34:59 -04:00
PCH
UnitTests Common: Move host communication enum to Host.h 2018-05-28 14:34:59 -04:00
VSProps Remove SOIL altogether from the project. 2018-05-20 13:44:42 +02:00
.clang-format Reformat all the things! 2018-04-12 21:28:39 +02:00
CMakeLists.txt CMakeLists: Remove add_dolphin_library macro 2018-04-02 08:31:56 -04:00
dolphin-emu.sln Remove SOIL altogether from the project. 2018-05-20 13:44:42 +02:00