diff options
Diffstat (limited to 'src/libjin/Filesystem/je_asset_database.cpp')
-rw-r--r-- | src/libjin/Filesystem/je_asset_database.cpp | 35 |
1 files changed, 21 insertions, 14 deletions
diff --git a/src/libjin/Filesystem/je_asset_database.cpp b/src/libjin/Filesystem/je_asset_database.cpp index c945d6a..edc3661 100644 --- a/src/libjin/Filesystem/je_asset_database.cpp +++ b/src/libjin/Filesystem/je_asset_database.cpp @@ -9,21 +9,21 @@ namespace JinEngine namespace Filesystem { - AssetDatabase* AssetDatabase::fs = 0; + AssetDatabase* AssetDatabase::mAssetDatabase = 0; AssetDatabase::AssetDatabase() { - S = smtnewshared(); + mSmt = smtnewshared(); } AssetDatabase* AssetDatabase::get() { - return fs ? fs : (fs = new AssetDatabase()); + return mAssetDatabase ? mAssetDatabase : (mAssetDatabase = new AssetDatabase()); } void AssetDatabase::mount(const char * path) { - int err = smtmount(S, path); + int err = smtmount(mSmt, path); if (err) { printf("%s mounted path %s", smterrstr(err), path); @@ -31,37 +31,44 @@ namespace JinEngine } } - int AssetDatabase::read(const char* path, Buffer* buffer) + bool AssetDatabase::read(const char* path, Buffer& buffer) { - buffer->data = smtread(S, path, &buffer->size); - if (buffer->data == 0) - return 0; - return 1; + size_t size; + byte* data = (byte*)smtread(mSmt, path, &size); + if (data == nullptr) + return false; + buffer.bind(data, size); + return true; } + Buffer* read(const char* path) + { + + } + void* AssetDatabase::read(const char* path, unsigned int* len) { - return smtread(S, path, len); + return smtread(mSmt, path, len); } const char* AssetDatabase::getFull(const char* path) { - return smtfullpath(S, path); + return smtfullpath(mSmt, path); } bool AssetDatabase::isDir(const char* path) { - return smtisdir(S, path); + return smtisdir(mSmt, path); } bool AssetDatabase::isFile(const char* path) { - return smtisreg(S, path); + return smtisreg(mSmt, path); } bool AssetDatabase::exists(const char* path) { - return smtexists(S, path) == 0; + return smtexists(mSmt, path) == 0; } } // namespace Filesystem |