Final things from review comments
Clang format
Shorten property code (similar to #6883) and move to utils
Move all additional helper functions into a 'utils' file. Simplify some things as requested in review
Minor code changes from review before rebase
fix misusing std span
Fix leftovers from rebase, and null-terminator problem with download string-view
Change downloadbossdatafromurl to take in string_views, make getting the list of files more dynamic
Fix error in linux builds and cleanup
Squash commits during rebase:
Some changes as per review and cleanup
More changes as per review
Changes as per review
Futures cannot be copied, remove stubbed warning on implemented calls, remove unneeded task_status simulation, simplify getting task_status and duration
Implement downloading tasks in background
Very final changes from review; and use common for converting strings
FInal changes for review
Attempt to fix codecvt error
Use references when any_casting
Update boost submodule to use master again, refactor how properties work, other minor changes per review
Fix operator overload error on linux/mingw
Make some changes as requested by review; change boost submodule url temporarily to use boost.url
Fix for android build
Fixes android builds when web services are enabled, like in #6555
Avoid crashes when urls are invalid
clang-format
Return error status properly on task fail
Fix implementation of gettaskstate, gettaskstatus and gettaskservicestatus
Fix mingw build error
Add support for reading tasks from boss save data databases.
clang-format
Implement storing task properties
Fix missing includes and add references in loops
Change task_id_list to map, initial implementation of task properties, minor refactor
Remove the dependency on the newer behavior of std erase to fix android building
Fix compilation on android and other platforms when web services are not enabled
Fix clang-format errors
Add support for downloading and decrypting spotpass data directly from nintendo servers
Fix windows implicit conversion error again
Fix comment
Fix filter in NsDataIdList; Finish GetNsDataHeaderInfo; Implement basic support for registering tasks and checking if they exist TODO actually read and write from boss savedata dbs
Add boss extdata to archive.h so the lle boss module can function properly
Implement ReadNsData and partially implement GetNsDataHeaderInfo and GetNsDataLastUpdate; MK7 now reads spotpass data and successfully boots!
Made requested changes; added filtering; removed readnsdata implementation
Add partial implementations of GetNsDataIdList(1/2/3) and ReadNsData
Add zeroed array of nsdataid entries, run clang-format
Check the spotpass extdata directory to determine number of ns output entries
Check for PLvPWAA
Only set the number of output entries in GetNsDataIdList1 to 1 if PLvPWAA is detected.
Fix plvpwaa dlc error
Return 1 for the number of output entries in the GetNsDataIdList1 stub. This fixes the extra content for Professor Layton vs Phoenix Wright Ace Attorney as the game expects the boss extdata to not be empty. Might break other games if they attempt to do anything with the ns data. (although the readnsdata and deletensdata methods are both still stubbed)
To eliminate System::GetInstance usage. Archive type like SelfNCCH and SaveData changes the actual reference path for different client, so archive backend interface should accept client information from the service interface. Currently we only pass the program ID as the client information.
Format information is currently only implemented for the ExtSaveData, SharedExtSaveData and SaveData archives, the information is stored in a file alongside the root folder of the archive.
They will be stored in /extsavedata/SDMC and /extsavedata/NAND respectively.
Also redirect some APT_A functions to their APT_U equivalents.
Implemented the gamecoin.dat file in SharedExtSaveData in the PTM module.
Implemented formatting the savegame.
Retake a previous savegame if it exists instead of reporting them as not formatted every time a game is loaded.
- Refactor FS::Archive internals to make Archive creation and lifetime
management clearer.
- Remove the "Archive as a File" hack.
- Implement 64-bit Archive handles.