astronautlevel2 / Anemone3DS

A theme and boot splash manager for the Nintendo 3DS console
GNU General Public License v3.0
908 stars 44 forks source link

make shuffle work on consoles that never used it #250

Closed LiquidFenrir closed 2 years ago

LiquidFenrir commented 3 years ago

Tested on my console (o3ds) and works, needs testing on more people. If you already used the official shuffle feature, you can test by force by deleting the SaveData.dat file (00000003) in the home menu SD extdata with godmode9. The home menu will recreate it on the next boot, but empty. You can then apply any theme or shuffle of themes with Anemone. Values in the array were chosen by a fair dice roll and struct field name are assumptions.

Helloman892 commented 3 years ago

I'm probably going to merge this soon anyway, but how exactly does 6161874 work?

LiquidFenrir commented 3 years ago

The only ways I found to reproduce the "have less spots for shufflling official themes" issue from anemone was by installing a shuffle, or installing a shuffle then a single theme.

The result when trying to shuffle official themes after that happens is an error message, themes gets reset to default, and from then on it's normal behaviour.
The first one we can't do anything about but the second one can be fixed by always blanking out the shuffle section of savedata.dat when installing any theme, not just when installing a new shuffle.

Result: with this fix, when trying to shuffle official themes after doing shuffle then single, you get the shuffle directly working.