Monopoly — Portage moderne 0.1.0
Portage moderne C/C++23 du Monopoly de 1999
Loading...
Searching...
No Matches
LegacyDataArchive.hpp File Reference
#include "DataBanks.hpp"
#include <cstddef>
#include <cstdint>
#include <expected>
#include <filesystem>
#include <fstream>
#include <memory>
#include <mutex>
#include <optional>
#include <span>
#include <string>
#include <string_view>
#include <unordered_map>
#include <vector>
Include dependency graph for LegacyDataArchive.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  monopoly::data::DataError
 
struct  monopoly::data::ArchiveVersion
 
struct  monopoly::data::ArchiveItemMetadata
 
struct  monopoly::data::ArchiveOpenOptions
 
struct  monopoly::data::RawDataCacheStats
 
class  monopoly::data::LegacyDataArchive
 
class  monopoly::data::DataSource
 
class  monopoly::data::DataBankRegistry
 
struct  monopoly::data::DataIndexEntry
 
class  monopoly::data::DataIndexTable
 

Namespaces

namespace  monopoly
 
namespace  monopoly::data
 
namespace  monopoly::data::detail
 

Typedefs

using monopoly::data::DataBytes = std::vector< std::byte >
 
using monopoly::data::SharedDataBytes = std::shared_ptr< const DataBytes >
 

Enumerations

enum class  monopoly::data::LegacyDataType : std::uint8_t {
  monopoly::data::Unknown = 0 , monopoly::data::Bitmap = 1 , monopoly::data::DopeTable = 2 , monopoly::data::Uap = 3 ,
  monopoly::data::Native = 4 , monopoly::data::GbmTexture = 5 , monopoly::data::GbmPicture = 6 , monopoly::data::GenericBitmap = 7 ,
  monopoly::data::Wave = 8 , monopoly::data::String = 9 , monopoly::data::UserCreated1 = 10 , monopoly::data::IndexTable = 11 ,
  monopoly::data::Chunky = 12 , monopoly::data::TextureArray = 13 , monopoly::data::Model3D = 14 , monopoly::data::Pose3D = 15 ,
  monopoly::data::Hmd = 16 , monopoly::data::MeshX = 17
}
 
enum class  monopoly::data::DataErrorCode {
  monopoly::data::None , monopoly::data::InvalidGroup , monopoly::data::InvalidLanguage , monopoly::data::NoActiveLanguage ,
  monopoly::data::DuplicateGroup , monopoly::data::GroupNotMounted , monopoly::data::ArchiveClosed , monopoly::data::FileOpenFailed ,
  monopoly::data::FileSizeFailed , monopoly::data::HeaderTruncated , monopoly::data::InvalidSignature , monopoly::data::UnsupportedVersion ,
  monopoly::data::InvalidHeader , monopoly::data::IndexTooLarge , monopoly::data::IndexTruncated , monopoly::data::InvalidItemType ,
  monopoly::data::InvalidItemRange , monopoly::data::ChecksumMismatch , monopoly::data::TagOutOfRange , monopoly::data::EmptyItem ,
  monopoly::data::ReadFailed , monopoly::data::DecompressionFailed , monopoly::data::DecompressedSizeMismatch , monopoly::data::ArchiveBuildFailed ,
  monopoly::data::WriteFailed , monopoly::data::InvalidIndexTable , monopoly::data::UnsortedIndexTable , monopoly::data::DuplicateIndexKey ,
  monopoly::data::DuplicateDataId , monopoly::data::IndexedItemNotFound , monopoly::data::TypeMismatch , monopoly::data::InvalidUtf16 ,
  monopoly::data::InvalidBoardEdition , monopoly::data::ResourcePathInvalid , monopoly::data::ResourceNotFound , monopoly::data::ResourcePathAmbiguous ,
  monopoly::data::ResourcePathFailed
}
 
enum class  monopoly::data::ChecksumPolicy { monopoly::data::Verify , monopoly::data::Ignore }
 

Functions

std::string_view monopoly::data::legacyDataTypeName (LegacyDataType type) noexcept
 
std::string_view monopoly::data::dataErrorCodeName (DataErrorCode code) noexcept
 
RawDataCacheStats monopoly::data::rawDataCacheStats () noexcept
 
std::expected< DataId, DataError > monopoly::data::lookupIndexedDataId (const DataSource &source, DataId indexTableId, std::uint32_t indexValue)
 
std::expected< DataId, DataError > monopoly::data::lookupIndexedDataIdLegacy (const DataSource &source, DataId indexTableId, std::uint32_t indexValue)
 

Variables

constexpr std::size_t monopoly::data::LegacyRawDataCacheBudget = 30U * 1024U * 1024U