summaryrefslogtreecommitdiff
path: root/src/util/asset_manager.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/util/asset_manager.cc')
-rw-r--r--src/util/asset_manager.cc13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/util/asset_manager.cc b/src/util/asset_manager.cc
index 9294560..ce495ac 100644
--- a/src/util/asset_manager.cc
+++ b/src/util/asset_manager.cc
@@ -23,6 +23,7 @@ struct ProcGenEntry {
static const ProcGenEntry kAssetManagerProcGenFuncs[] = {
{"gen_noise", procedural::gen_noise},
+ {"gen_perlin", procedural::gen_perlin},
{"gen_grid", procedural::gen_grid},
{"make_periodic", procedural::make_periodic},
};
@@ -103,8 +104,16 @@ const uint8_t* GetAsset(AssetId asset_id, size_t* out_size) {
*out_size = 0;
return nullptr;
}
- proc_gen_func_ptr(generated_data, width, height, source_record.proc_params,
- source_record.num_proc_params);
+ if (!proc_gen_func_ptr(generated_data, width, height,
+ source_record.proc_params,
+ source_record.num_proc_params)) {
+ fprintf(stderr, "Error: Procedural generation failed for asset: %s\n",
+ source_record.proc_func_name_str);
+ delete[] generated_data;
+ if (out_size)
+ *out_size = 0;
+ return nullptr;
+ }
cached_record.data = generated_data;
cached_record.size = data_size;