Browse Source
Merge pull request #5119 from Morph1984/fs-opendatastoragewithprogramindex
Merge pull request #5119 from Morph1984/fs-opendatastoragewithprogramindex
fsp_srv: Implement OpenDataStorageWithProgramIndexnce_cpp
committed by
GitHub
11 changed files with 150 additions and 14 deletions
-
1src/core/CMakeLists.txt
-
56src/core/file_sys/common_funcs.h
-
4src/core/file_sys/patch_manager.cpp
-
22src/core/file_sys/romfs_factory.cpp
-
4src/core/file_sys/romfs_factory.h
-
12src/core/hle/service/aoc/aoc_u.cpp
-
25src/core/hle/service/filesystem/filesystem.cpp
-
4src/core/hle/service/filesystem/filesystem.h
-
28src/core/hle/service/filesystem/fsp_srv.cpp
-
1src/core/hle/service/filesystem/fsp_srv.h
-
7src/yuzu/main.cpp
@ -0,0 +1,56 @@ |
|||
// Copyright 2020 yuzu Emulator Project |
|||
// Licensed under GPLv2 or any later version |
|||
// Refer to the license.txt file included. |
|||
|
|||
#pragma once |
|||
|
|||
#include "common/common_types.h" |
|||
|
|||
namespace FileSys { |
|||
|
|||
constexpr u64 AOC_TITLE_ID_MASK = 0x7FF; |
|||
constexpr u64 AOC_TITLE_ID_OFFSET = 0x1000; |
|||
constexpr u64 BASE_TITLE_ID_MASK = 0xFFFFFFFFFFFFE000; |
|||
|
|||
/** |
|||
* Gets the base title ID from a given title ID. |
|||
* |
|||
* @param title_id The title ID. |
|||
* @returns The base title ID. |
|||
*/ |
|||
[[nodiscard]] constexpr u64 GetBaseTitleID(u64 title_id) { |
|||
return title_id & BASE_TITLE_ID_MASK; |
|||
} |
|||
|
|||
/** |
|||
* Gets the base title ID with a program index offset from a given title ID. |
|||
* |
|||
* @param title_id The title ID. |
|||
* @param program_index The program index. |
|||
* @returns The base title ID with a program index offset. |
|||
*/ |
|||
[[nodiscard]] constexpr u64 GetBaseTitleIDWithProgramIndex(u64 title_id, u64 program_index) { |
|||
return GetBaseTitleID(title_id) + program_index; |
|||
} |
|||
|
|||
/** |
|||
* Gets the AOC (Add-On Content) base title ID from a given title ID. |
|||
* |
|||
* @param title_id The title ID. |
|||
* @returns The AOC base title ID. |
|||
*/ |
|||
[[nodiscard]] constexpr u64 GetAOCBaseTitleID(u64 title_id) { |
|||
return GetBaseTitleID(title_id) + AOC_TITLE_ID_OFFSET; |
|||
} |
|||
|
|||
/** |
|||
* Gets the AOC (Add-On Content) ID from a given AOC title ID. |
|||
* |
|||
* @param aoc_title_id The AOC title ID. |
|||
* @returns The AOC ID. |
|||
*/ |
|||
[[nodiscard]] constexpr u64 GetAOCID(u64 aoc_title_id) { |
|||
return aoc_title_id & AOC_TITLE_ID_MASK; |
|||
} |
|||
|
|||
} // namespace FileSys |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue