| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- // SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project
- // SPDX-License-Identifier: GPL-2.0-or-later
- #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
|