Explicit pointer and storage layout for one dungeon stream. More...
#include <hack_manifest.h>
Public Attributes | |
| uint32_t | pointer_table = 0 |
| uint32_t | pointer_count = 0 |
| DungeonPointerEncoding | pointer_encoding = DungeonPointerEncoding::kLong24 |
| std::optional< uint8_t > | pointer_bank |
| DungeonWriteStrategy | strategy = DungeonWriteStrategy::kCopyOnWrite |
| std::vector< SnesAddressRange > | data_regions |
| std::vector< SnesAddressRange > | allocation_regions |
Explicit pointer and storage layout for one dungeon stream.
data_regions describe all live stream storage that may be referenced by the pointer table. allocation_regions are the stricter subset that new writes may allocate from. Keeping these concepts separate prevents an allocator from treating merely readable legacy data as free space.
Definition at line 156 of file hack_manifest.h.
| uint32_t yaze::core::DungeonStreamLayout::pointer_table = 0 |
Definition at line 157 of file hack_manifest.h.
Referenced by yaze::cli::handlers::DungeonStreamPlanCommandHandler::Execute(), yaze::core::anonymous_namespace{hack_manifest.cc}::ParseDungeonStreamLayout(), yaze::core::anonymous_namespace{hack_manifest.cc}::ParseDungeonStreamLayouts(), and yaze::core::ToDungeonStreamAllocatorLayout().
| uint32_t yaze::core::DungeonStreamLayout::pointer_count = 0 |
| DungeonPointerEncoding yaze::core::DungeonStreamLayout::pointer_encoding = DungeonPointerEncoding::kLong24 |
Definition at line 159 of file hack_manifest.h.
Referenced by yaze::editor::anonymous_namespace{dungeon_editor_v2_persistence.cc}::CollectDirtyPotItemWriteRanges(), yaze::editor::DungeonEditorV2::CollectWriteRanges(), yaze::cli::handlers::DungeonStreamPlanCommandHandler::Execute(), yaze::core::anonymous_namespace{hack_manifest.cc}::ParseDungeonStreamLayout(), yaze::core::anonymous_namespace{hack_manifest.cc}::ParseDungeonStreamLayouts(), and yaze::core::ToDungeonStreamAllocatorLayout().
| std::optional<uint8_t> yaze::core::DungeonStreamLayout::pointer_bank |
Definition at line 160 of file hack_manifest.h.
Referenced by yaze::cli::handlers::DungeonStreamPlanCommandHandler::Execute(), yaze::core::anonymous_namespace{hack_manifest.cc}::ParseDungeonStreamLayout(), and yaze::core::ToDungeonStreamAllocatorLayout().
| DungeonWriteStrategy yaze::core::DungeonStreamLayout::strategy = DungeonWriteStrategy::kCopyOnWrite |
Definition at line 161 of file hack_manifest.h.
Referenced by yaze::cli::handlers::DungeonStreamPlanCommandHandler::Execute(), yaze::cli::handlers::anonymous_namespace{dungeon_edit_commands.cc}::LoadObjectSaveManifestContext(), and yaze::core::anonymous_namespace{hack_manifest.cc}::ParseDungeonStreamLayout().
| std::vector<SnesAddressRange> yaze::core::DungeonStreamLayout::data_regions |
| std::vector<SnesAddressRange> yaze::core::DungeonStreamLayout::allocation_regions |