Elektrine lite

← Feed

@alice@mk.nyaa.place

Post #3434607

2026-01-31 20:44 UTC

Well, my break is ending and I actually did manage to implement a few things in Highscore this week. First, Victoria enabled WFC support in melonDS, so now we very technically have netplay. Kinda (it does work, setting WFC up is just a nightmare - it involves finding WFC settings and changing DNS server to one of the third party ones, then exchanging friend codes - assuming it will connect - all of the available WFC services were rather flaky in my testing and would randomly fail to connect) This also involved adding shutdown support, since erasing WFC settings reboots the system. This in turn involved reworking how snapshots work, but we'll get to that - let's list DS-specific changes first. Next, closing the lid is now supported. Incl. things like saving snapshots while it's closed. Finally, mic input was broken since october. It was broken in a way that Spirit Tracks' mic test looked fine, but blowing out candles in Phantom Hourglass wasn't working, so that's how I hadn't noticed that. Fixed. So - I think the main major DS feature missing now is ability to insert a GBA cart? And wireless multiplayer ofc, but that's a separate can of worms.

Replies (1)

  • @alice@mk.nyaa.place 2026-01-31 20:53

    Next, snapshots. Allowing to power the system off means that next time it needs to cold boot with the last saved data. Since we store save data in snapshots, that means storing a snapshot without a save state, just save data. Next time when we boot up, we pick up that snapshot. After booting, it's deleted. For that, we now store the reason any particular snapshot was saved: regular manual save, quick save, autosave, loading another state, restarting the game, closing the game or powering off. And since we have this data, we can have a lot more fine-grained behavior when it comes to autosaves and autodeleting them. I had feedback that autosaves are currently too annoying, and in particular the ones that appear when you load another state. That was done so that it's possible to undo loading, and they were indistinguishable from other autosaves, so the only options were to have or not have them. However, now that we have a specific save reason, it's easy to just keep only one of these - and also label them as "Undo Load" in the UI. And same thing with "Undo Restart". And also Quick Save (and yes, save/load in the big picture menu are now labelled quick save/load) - while keeping the regular autosaves as is. So, now the behavior is as follows: - Manual: same as before - persistent, named New Snapshot $N - Quick Save - labelled as Quick Save, not persistent (1 max) - Autosave and Close - same as before - not persistent, labelled as Autosave (10 max) - Load/Restart - not persistent, labelled as Undo Load/Undo Restart, 1 max and mutually exclusive - Power Off - not persistent, 0 max (erased after booting from it) Like before, any non-persistent snapshot can be renamed to be made persistent. We could also easily add e.g. Import reason and allow to import saves in temporary snapshots like this - boot from it once, now save or close the game and that data is now in a proper snapshot

    Open ##3434606