devkitPro / wut

Let's try to make a Wii U Toolchain / SDK for creating rpx/rpl.
zlib License
236 stars 52 forks source link

wutdevoptab: Use the FSA API instead of FS to avoid softlocks on errors #252

Closed Maschell closed 1 year ago

Maschell commented 2 years ago

The FSClient has the weird behaviour that it softlocks the console once a "fatal" error happend on the fs side. A "fatal" error can be as simple as seeking beyond the actual filesize, well.

The FSA Api returns proper error codes which can be handled instead of soft locking the console. In comparision to FS-API it doesn't support the "Command Blocks" => handling priority or canceling fs operations is not possible, but these feature where not use in the devoptab anyway.

Things left to do:

Things that can be (easier) implemented after using FSA instead of FS:

Maschell commented 1 year ago

Rebased to 1.2.0, double checked that all fixes of the "original" devoptab are also present in this PR