diff options
Diffstat (limited to 'src/util/asset_manager.cc')
| -rw-r--r-- | src/util/asset_manager.cc | 13 |
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; |
