clean all path returned by GetAssetPath
This commit is contained in:
1 parent
10ac51f167
commit
f77b7fb901
1 file changed
+11
-14
@@ -37,52 +37,49 @@ String GetAssetBasePath()
|
|||||||
|
|
||||||
String GetAssetPath(NonNullPtr<Arena> arena, AssetType type, String filename)
|
String GetAssetPath(NonNullPtr<Arena> arena, AssetType type, String filename)
|
||||||
{
|
{
|
||||||
|
// ICI on va vouloir 1) avoir une fonction create file path a partir de base + file qui fait un string copy
|
||||||
|
// On va passer le path au clean path
|
||||||
Assert(IsValid(filename));
|
Assert(IsValid(filename));
|
||||||
|
|
||||||
String asset_path = {};
|
char buffer[MAX_PATH];
|
||||||
|
size_t totalSize = MAX_PATH;
|
||||||
|
|
||||||
switch (type)
|
switch (type)
|
||||||
{
|
{
|
||||||
case AssetType::Shader:
|
case AssetType::Shader:
|
||||||
{
|
{
|
||||||
Assert(IsValid(CachedShaderBasePath));
|
Assert(IsValid(CachedShaderBasePath));
|
||||||
|
|
||||||
size_t totalSize = CachedShaderBasePath.Size + filename.Size + 1;
|
totalSize = CachedShaderBasePath.Size + filename.Size + 1;
|
||||||
char* buffer = ArenaPushArray<char>(arena, totalSize);
|
|
||||||
Assert(buffer);
|
|
||||||
|
|
||||||
juliet_snprintf(buffer, totalSize, "%s%s", CStr(CachedShaderBasePath), CStr(filename));
|
juliet_snprintf(buffer, totalSize, "%s%s", CStr(CachedShaderBasePath), CStr(filename));
|
||||||
asset_path = { buffer, totalSize - 1 };
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case AssetType::Config:
|
case AssetType::Config:
|
||||||
{
|
{
|
||||||
Assert(IsValid(CachedAssetBasePath));
|
Assert(IsValid(CachedAssetBasePath));
|
||||||
|
|
||||||
constexpr const char* kConfig_str = "config/";
|
constexpr char kConfig_str[] = "config/";
|
||||||
constexpr size_t kConfig_size = sizeof(kConfig_str) - 1;
|
constexpr size_t kConfig_size = sizeof(kConfig_str) - 1;
|
||||||
|
|
||||||
size_t totalSize = CachedAssetBasePath.Size + kConfig_size + filename.Size + 1;
|
totalSize = CachedAssetBasePath.Size + kConfig_size + filename.Size + 1;
|
||||||
char* buffer = ArenaPushArray<char>(arena, totalSize);
|
|
||||||
Assert(buffer);
|
|
||||||
|
|
||||||
juliet_snprintf(buffer, totalSize, "%s%s%s", CStr(CachedAssetBasePath), kConfig_str, CStr(filename));
|
juliet_snprintf(buffer, totalSize, "%s%s%s", CStr(CachedAssetBasePath), kConfig_str, CStr(filename));
|
||||||
asset_path = { buffer, totalSize - 1 };
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case AssetType::JAsset: [[fallthrough]];
|
||||||
default:
|
default:
|
||||||
{
|
{
|
||||||
Assert(IsValid(CachedAssetBasePath));
|
Assert(IsValid(CachedAssetBasePath));
|
||||||
|
|
||||||
size_t totalSize = CachedAssetBasePath.Size + filename.Size + 1;
|
totalSize = CachedAssetBasePath.Size + filename.Size + 1;
|
||||||
char* buffer = ArenaPushArray<char>(arena, totalSize);
|
|
||||||
Assert(buffer);
|
|
||||||
|
|
||||||
juliet_snprintf(buffer, totalSize, "%s%s", CStr(CachedAssetBasePath), CStr(filename));
|
juliet_snprintf(buffer, totalSize, "%s%s", CStr(CachedAssetBasePath), CStr(filename));
|
||||||
asset_path = { buffer, totalSize - 1 };
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
String asset_path = CleanPath(arena, { buffer, totalSize - 1 });
|
||||||
return asset_path;
|
return asset_path;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user