aboutsummaryrefslogtreecommitdiff
path: root/src/libjin/Filesystem/je_asset_database.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/libjin/Filesystem/je_asset_database.cpp')
-rw-r--r--src/libjin/Filesystem/je_asset_database.cpp35
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