ams: prepare for 0.10.3

This commit is contained in:
Michael Scire 2020-03-02 18:35:10 -08:00
parent 4f33afe0ee
commit 392c9c3a0b
4 changed files with 14 additions and 34 deletions

View file

@ -1,4 +1,18 @@
# Changelog
## 0.10.3
+ Support was added for 9.2.0.
+ Support was added for redirecting manual html content for games.
+ This works like normal layeredfs, replacing content placed in `/atmosphere/contents/<program id>/manual_html/`.
+ This allows for game mods/translations to provide custom manual content, if they so choose.
+ A number of improvements were made to Atmosphere's memory usage, including:
+ `fatal` now uses STB instead of freetype for rendering.
+ This saves around 1 MB of memory, and makes our fatal substantially leaner than Nintendo's.
+ `sm` no longer wastes 2 MiB unnecessarily.
+ fusee/sept's sdmmc access now better matches official behavior.
+ This improves compatibility with some SD cards.
+ `ro` has been updated to reflect changes made in 9.1.0.
+ The temporary auto-migration added in 0.10.0 has been removed, since the transitionary period is well over.
+ General system stability improvements to enhance the user's experience.
## 0.10.2
+ hbl configuration was made more flexible.
+ Up to eight specific program ids can now be specified to have their own override keys.

View file

@ -154,16 +154,6 @@ namespace ams::mitm::fs {
}
}
/* TODO: Remove this in Atmosphere 0.10.2. */
Result RenameProgramDirectoryForCompatibility(const char *dir_name) {
R_TRY(EnsureSdInitialized());
char titles_fixed_path[ams::fs::EntryNameLengthMax + 1];
char contents_fixed_path[ams::fs::EntryNameLengthMax + 1];
FormatAtmosphereSdPath(titles_fixed_path, sizeof(titles_fixed_path), "titles", dir_name);
FormatAtmosphereSdPath(contents_fixed_path, sizeof(contents_fixed_path), "contents", dir_name);
return fsFsRenameDirectory(&g_sd_filesystem, titles_fixed_path, contents_fixed_path);
}
bool HasSdRomfsContent(ncm::ProgramId program_id) {
/* Check if romfs.bin is present. */
{

View file

@ -43,9 +43,6 @@ namespace ams::mitm::fs {
void FormatAtmosphereSdPath(char *dst_path, size_t dst_path_size, ncm::ProgramId program_id, const char *src_path);
void FormatAtmosphereSdPath(char *dst_path, size_t dst_path_size, ncm::ProgramId program_id, const char *subdir, const char *src_path);
/* TODO: Remove this in Atmosphere 0.10.2. */
Result RenameProgramDirectoryForCompatibility(const char *dir_name);
bool HasSdRomfsContent(ncm::ProgramId program_id);
Result SaveAtmosphereSdFile(FsFile *out, ncm::ProgramId program_id, const char *path, void *data, size_t size);

View file

@ -179,23 +179,6 @@ namespace ams::mitm {
}
}
void RenameTitlesDirectoryProgramFoldersForCompatibility() {
FsDir titles_dir;
if (R_FAILED(mitm::fs::OpenAtmosphereSdDirectory(&titles_dir, "/titles", ams::fs::OpenDirectoryMode_Directory))) {
return;
}
ON_SCOPE_EXIT { fsDirClose(&titles_dir); };
ams::fs::DirectoryEntry dir_entry;
s64 read_entries;
while (R_SUCCEEDED(fsDirRead(&titles_dir, &read_entries, 1, &dir_entry)) && read_entries == 1) {
if (strlen(dir_entry.name) == 2 * sizeof(ncm::ProgramId) && IsHexadecimal(dir_entry.name)) {
/* We found a program directory, try to rename it. Failure is allowed. */
mitm::fs::RenameProgramDirectoryForCompatibility(dir_entry.name);
}
}
}
/* Initialization implementation */
void InitializeThreadFunc(void *arg) {
/* Wait for the SD card to be ready. */
@ -211,10 +194,6 @@ namespace ams::mitm {
/* Backup Calibration Binary and BIS keys. */
CreateAutomaticBackups();
/* Rename program folders in the titles directory. */
/* TODO: Remove this in Atmosphere 0.10.2. */
RenameTitlesDirectoryProgramFoldersForCompatibility();
/* If we're emummc, persist a write-handle to prevent other processes from touching the image. */
if (emummc::IsActive()) {
if (const char *emummc_file_path = emummc::GetFilePath(); emummc_file_path != nullptr) {