diff options
author | 2016-03-19 05:44:38 +0100 | |
---|---|---|
committer | 2016-03-19 05:44:38 +0100 | |
commit | 1226b243a240542fdde83cebdc34f50625e619c7 (patch) | |
tree | f15166eafc980ce11d0967f067bbc0e53ab0838a /src/osd/modules/render/bgfx/effectmanager.cpp | |
parent | 50e3b68924b9426111afa9bb1742acb00afb70d8 (diff) |
Make JSON error checking a lot more verbose
Diffstat (limited to 'src/osd/modules/render/bgfx/effectmanager.cpp')
-rw-r--r-- | src/osd/modules/render/bgfx/effectmanager.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/osd/modules/render/bgfx/effectmanager.cpp b/src/osd/modules/render/bgfx/effectmanager.cpp index f86afc6719a..7522a88dc8c 100644 --- a/src/osd/modules/render/bgfx/effectmanager.cpp +++ b/src/osd/modules/render/bgfx/effectmanager.cpp @@ -46,12 +46,15 @@ bgfx_effect* effect_manager::effect(std::string name) bgfx_effect* effect_manager::load_effect(std::string name) { - std::string path = std::string(m_options.bgfx_path()) + "/effects/" + name + ".json"; + if (name.length() < 5 || (name.compare(name.length() - 5, 5, ".json") != 0)) { + name = name + ".json"; + } + std::string path = std::string(m_options.bgfx_path()) + "/effects/" + name; bx::CrtFileReader reader; bx::open(&reader, path.c_str()); - int32_t size = (uint32_t)bx::getSize(&reader); + int32_t size (bx::getSize(&reader)); char* data = new char[size + 1]; bx::read(&reader, reinterpret_cast<void*>(data), size); @@ -60,7 +63,7 @@ bgfx_effect* effect_manager::load_effect(std::string name) Document document; document.Parse<0>(data); - bgfx_effect* effect = effect_reader::read_from_value(m_shaders, document); + bgfx_effect* effect = effect_reader::read_from_value(document, "Effect '" + name + "': ", m_shaders); m_effects[name] = effect; |