diff options
| author | Jonathan Bradley <jcb@pikum.xyz> | 2023-12-27 22:04:12 -0500 |
|---|---|---|
| committer | Jonathan Bradley <jcb@pikum.xyz> | 2023-12-27 22:04:12 -0500 |
| commit | 3187a32f7f0253ded7a41c4c21612253e525a8fe (patch) | |
| tree | 76d3f6de872927dcd579feccc3c9d874b95e83df /src/asset-manager.hpp | |
| parent | c9db77a8f789858b9e1ceb60edb5c463b30451ed (diff) | |
assets are global and stored in the project file
Diffstat (limited to 'src/asset-manager.hpp')
| -rw-r--r-- | src/asset-manager.hpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/asset-manager.hpp b/src/asset-manager.hpp index 36516b5..71e95f5 100644 --- a/src/asset-manager.hpp +++ b/src/asset-manager.hpp @@ -13,13 +13,17 @@ constexpr AssetHandle AssetHandle_MAX = AssetHandle{}; TypeSafeInt_Const_Expr(AssetLoadingState, uint8_t, 0xFF); +const int64_t AssetKeyLength = 16; +using AssetKey = char[AssetKeyLength]; + const AssetLoadingState PKE_ASSET_LOADING_STATE_UNLOADED = AssetLoadingState {0}; const AssetLoadingState PKE_ASSET_LOADING_STATE_LOADING = AssetLoadingState {1}; const AssetLoadingState PKE_ASSET_LOADING_STATE_LOADED = AssetLoadingState {2}; const AssetLoadingState PKE_ASSET_LOADING_STATE_FAILED = AssetLoadingState {3}; struct Asset{ - char key[16] = {'\0','\0','\0','\0','\0','\0','\0','\0','\0','\0','\0','\0','\0','\0','\0','\0'}; + AssetHandle handle{}; + AssetKey key = {'\0','\0','\0','\0','\0','\0','\0','\0','\0','\0','\0','\0','\0','\0','\0','\0'}; const char *basePath = nullptr; int64_t size = 0; void *ptr = nullptr; @@ -31,8 +35,12 @@ struct Asset{ void AM_Init(); AssetHandle AM_Register(const void *data, int64_t size, std::size_t alignment, const char *key); AssetHandle AM_Register(const char *path); +AssetHandle AM_Register(AssetKey key, const char *path); void AM_Release(AssetHandle assetHandle); const Asset *AM_Get(AssetHandle assetHandle); +const AssetHandle AM_GetHandle(AssetKey key); +uint64_t AM_GetBucketCount(); +Asset *AM_GetAssets(uint64_t bucketIndex, uint64_t &itemCount); void AM_Teardown(); void AM_DebugPrint(); |
