maint(fastfiles): better error handling
This commit is contained in:
parent
e60f987fff
commit
568ab4ee92
@ -108,33 +108,42 @@ public:
|
|||||||
{
|
{
|
||||||
console::info("%d %s\n", i, game::native::g_assetNames[i]);
|
console::info("%d %s\n", i, game::native::g_assetNames[i]);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
const auto type = std::strtol(params.get(1), nullptr, 0);
|
|
||||||
|
|
||||||
if (type < 0 || type >= game::native::ASSET_TYPE_COUNT)
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
int type;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
type = std::stoi(params.get(1), nullptr, 0);
|
||||||
|
}
|
||||||
|
catch (const std::exception& ex)
|
||||||
|
{
|
||||||
|
console::error("Invalid pool passed. Got: %s, causing error: %s\n", params.get(1), ex.what());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (type < 0 || type >= game::native::ASSET_TYPE_COUNT)
|
||||||
|
{
|
||||||
|
console::error("Invalid pool number passed, must be between [%d, %d]\n", 0, game::native::ASSET_TYPE_COUNT - 1);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
console::info("Listing assets in pool %s\n", game::native::g_assetNames[type]);
|
||||||
|
|
||||||
|
const std::string filter = params.get(2);
|
||||||
|
enum_assets(type, [type, filter](game::native::XAssetHeader header)
|
||||||
|
{
|
||||||
|
const auto asset = game::native::XAsset{ type, header };
|
||||||
|
const auto* const asset_name = game::native::DB_GetXAssetName(&asset);
|
||||||
|
|
||||||
|
if (!filter.empty() && !utils::string::match_compare(filter, asset_name, false))
|
||||||
{
|
{
|
||||||
console::error("Invalid pool passed must be between [%d, %d]\n", 0, game::native::ASSET_TYPE_COUNT - 1);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
console::info("Listing assets in pool %s\n", game::native::g_assetNames[type]);
|
console::info("%s\n", asset_name);
|
||||||
|
}, true);
|
||||||
const std::string filter = params.get(2);
|
|
||||||
enum_assets(type, [type, filter](game::native::XAssetHeader header)
|
|
||||||
{
|
|
||||||
const auto asset = game::native::XAsset{ type, header };
|
|
||||||
const auto* const asset_name = game::native::DB_GetXAssetName(&asset);
|
|
||||||
|
|
||||||
if (!filter.empty() && !utils::string::match_compare(filter, asset_name, false))
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
console::info("%s\n", asset_name);
|
|
||||||
}, true);
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user