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

Go to the source code of this file.

Classes

struct  monopoly::data::TextureCoordinate
 
struct  monopoly::data::TextureDimensions
 
struct  monopoly::data::TextureOverlayReference
 
struct  monopoly::data::TextureReference
 
struct  monopoly::data::BoardTextureRecipe
 
struct  monopoly::data::TextureCatalogError
 
struct  monopoly::data::BoardTextureContext
 
struct  monopoly::data::LegacyTextureAsset
 

Namespaces

namespace  monopoly
 
namespace  monopoly::data
 

Typedefs

using monopoly::data::BoardTextureRecipeResult = std::expected< BoardTextureRecipe, TextureCatalogError >
 

Enumerations

enum class  monopoly::data::BoardMeshKind : DataTag { monopoly::data::CityHigh = 0 , monopoly::data::CityMedium = 1 , monopoly::data::ClassicHigh = 2 , monopoly::data::ClassicMedium = 3 }
 
enum class  monopoly::data::TextureResolution : std::uint16_t { monopoly::data::Pixels128 = 128 , monopoly::data::Pixels256 = 256 }
 
enum class  monopoly::data::TextureRole : std::uint8_t {
  monopoly::data::CityPhoto , monopoly::data::CityName , monopoly::data::Common , monopoly::data::Language ,
  monopoly::data::Currency , monopoly::data::BoardOverlay , monopoly::data::GoCurrencyOverlay , monopoly::data::TwoDimensionalBoard
}
 
enum class  monopoly::data::TextureLocation : std::uint8_t {
  monopoly::data::SelectedCityPhotos , monopoly::data::SelectedCityNames , monopoly::data::SharedCityCommon , monopoly::data::Language ,
  monopoly::data::SelectedBoard , monopoly::data::Currency , monopoly::data::CustomBoard2D
}
 
enum class  monopoly::data::TextureProvision : std::uint8_t { monopoly::data::EmbeddedInMesh , monopoly::data::ExternalSubstitutions }
 
enum class  monopoly::data::TextureCatalogErrorCode : std::uint8_t {
  monopoly::data::InvalidBoardMeshKind , monopoly::data::InvalidTextureResolution , monopoly::data::InvalidTextureContext , monopoly::data::InvalidTextureLocation ,
  monopoly::data::InvalidTextureFileName
}
 

Functions

std::expected< std::string, TextureCatalogError > monopoly::data::boardTextureRelativePath (BoardMeshKind mesh, TextureLocation location, std::string_view fileName, const BoardTextureContext &context)
 
std::expected< std::filesystem::path, std::string > monopoly::data::resolveBoardTexturePath (const ResourcePaths &stockPaths, BoardMeshKind mesh, TextureLocation location, std::string_view fileName, const BoardTextureContext &context)
 
constexpr bool monopoly::data::isValidBoardMeshKind (BoardMeshKind mesh) noexcept
 
constexpr bool monopoly::data::isValidTextureResolution (TextureResolution resolution) noexcept
 
std::string_view monopoly::data::textureCatalogErrorCodeName (TextureCatalogErrorCode code) noexcept
 
constexpr DataTag monopoly::data::boardMeshTag (BoardMeshKind mesh) noexcept
 
constexpr DataId monopoly::data::boardMeshDataId (BoardMeshKind mesh) noexcept
 
constexpr BoardMeshKind monopoly::data::usaBoardMeshForCity (int city) noexcept
 
constexpr bool monopoly::data::isCityMesh (BoardMeshKind mesh) noexcept
 
constexpr bool monopoly::data::isHighDetailMesh (BoardMeshKind mesh) noexcept
 
constexpr TextureDimensions monopoly::data::textureDimensions (TextureResolution resolution) noexcept
 
std::span< const TextureCoordinate > monopoly::data::usaTextureCoordinates (BoardMeshKind mesh) noexcept
 
std::span< const TextureCoordinate > monopoly::data::europeanTextureCoordinates (BoardMeshKind mesh) noexcept
 
std::span< const std::string_view > monopoly::data::cityPhotoTextureNames (TextureResolution resolution) noexcept
 
std::span< const std::string_view > monopoly::data::usaCityNameTextureNames (BoardMeshKind mesh, TextureResolution resolution) noexcept
 
std::span< const std::string_view > monopoly::data::commonTextureNames (BoardMeshKind mesh, TextureResolution resolution) noexcept
 
std::span< const std::string_view > monopoly::data::europeanLanguageTextureNames (BoardMeshKind mesh, TextureResolution resolution) noexcept
 
std::span< const std::string_view > monopoly::data::europeanBoardOverlayTextureNames (BoardMeshKind mesh, TextureResolution resolution) noexcept
 
std::span< const std::string_view > monopoly::data::europeanCurrencyTextureNames (BoardMeshKind mesh, TextureResolution resolution) noexcept
 
std::string_view monopoly::data::europeanGoOverlayTextureName (TextureResolution resolution) noexcept
 
std::span< const std::string_view > monopoly::data::twoDimensionalBoardTextureNames () noexcept
 
const std::vector< LegacyTextureAsset > & monopoly::data::legacyTextureCorpusManifest ()
 
BoardTextureRecipeResult monopoly::data::buildUsaTextureRecipe (BoardMeshKind mesh, TextureResolution resolution)
 
BoardTextureRecipeResult monopoly::data::buildEuropeanTextureRecipe (BoardMeshKind mesh, TextureResolution resolution)
 

Variables

constexpr std::size_t monopoly::data::LegacyTextureCorpusSize = 1001