57using Asset = std::map<u32, Buffer>;
84bool IsOfType(
const std::filesystem::path& path);
132void Export(
const Asset& asset_container,
const std::filesystem::path& path);
138void Export(
const AssetView& asset_container,
const std::filesystem::path& path);
266static_assert(
sizeof(RFileRecord) == 0x8);
268template <
typename TData>
270 std::vector<RFileRecord> file_records;
272 std::multimap<u32, TData> file_buffers;
275RAsset<Buffer> Parse(Reader& f);
277RAsset<BufferView> ParseView(BufferView buffer);
279Asset Convert(RAsset<Buffer>&& rasset);
281AssetView Convert(RAsset<BufferView>&& rasset);
Contains macros and definitions for fixed-width types.
Category
Classification for asset container layouts.
Definition asset.hpp:160
Category Categorize(const Asset &asset)
Determines the category of an asset by analyzing its contents.
@ kAsset3DAction
Contains only kActionConfig.
Definition asset.hpp:167
@ kBitmapTextFull
Consists of kTextureContainer, glyph spacing, kText.
Definition asset.hpp:174
@ kSoundBank
Definition asset.hpp:170
@ kUnknown
Unknown.
Definition asset.hpp:161
@ kBitmapTextFont
Definition asset.hpp:172
@ kAsset3DEffect
Definition asset.hpp:168
@ kPlaceholder
No entries.
Definition asset.hpp:177
@ kAsset3DAnim
Definition asset.hpp:165
@ kUIConfigs
Consists of multiple kUIConfig's.
Definition asset.hpp:175
@ kAsset3DModel
Definition asset.hpp:162
@ kUIConfigTextureContainer
Consists of pairs of kUIConfig and kTextureContainer.
Definition asset.hpp:176
std::map< u32, BufferView > AssetView
A non-owning view of an asset container.
Definition asset.hpp:68
Buffer Export(const Asset &asset_container)
Converts an asset container to a binary file representation.
bool IsOfType(BufferView buffer)
Tests if the provided file is an asset container.
Asset Import(BufferView buffer)
Parses a binary file and converts it into an Asset object.
AssetView ImportView(BufferView buffer)
Parses a binary file and converts it into an AssetView object.
std::map< u32, Buffer > Asset
A container for related parts of a complete asset.
Definition asset.hpp:57
std::uint32_t u32
32-bit unsigned integer
Definition fixed_type.hpp:60
#define NNL_PACK(...)
A structure packing directive.
Definition fixed_type.hpp:41
Provides classes for reading and writing binary data to and from various sources.
Constants for accessing entries in an asset container that stores a 3D object.
Definition asset.hpp:191
constexpr u32 kTextureContainer2
Definition asset.hpp:201
constexpr u32 kColboxConfig
Definition asset.hpp:197
constexpr u32 kCollision
Definition asset.hpp:203
constexpr u32 kShadowCollision
Definition asset.hpp:204
constexpr u32 kTextureContainer
Definition asset.hpp:194
constexpr u32 kVisanimationContainer
Definition asset.hpp:205
constexpr u32 kCollectionSpline
Definition asset.hpp:198
constexpr u32 kActionConfig
Definition asset.hpp:196
constexpr u32 kModel
Definition asset.hpp:193
constexpr u32 kAnimationContainer
Definition asset.hpp:195
Constants for accessing entries in an asset container that stores a bitmap text archive.
Definition asset.hpp:236
constexpr u32 kAdvanceWidth
A plain u8 array specifying the advance width for each character of kText.
Definition asset.hpp:239
constexpr u32 kText
Definition asset.hpp:240
constexpr u32 kTextureContainer
Definition asset.hpp:238
Constants for accessing entries in an asset container that stores a PHD/PBD sound bank,...
Definition asset.hpp:217
constexpr u32 kPBD
Definition asset.hpp:221
constexpr u32 kPHD
Definition asset.hpp:219
Provides structures and functions to manage containers of interrelated asset parts.
Definition asset.hpp:33
Definition exception.hpp:56