diff options
author | 2016-02-21 14:50:24 +0100 | |
---|---|---|
committer | 2016-02-21 14:50:24 +0100 | |
commit | bf4640c309c655c6cb7bc5b9bbab5c03029ccd86 (patch) | |
tree | c50f6f204d34c7a1888ab41cdf6c5250ffe7b8af /src/osd/modules/render/bgfx/paramreader.cpp | |
parent | cc24a339d8c0517259084b5c178d784626ba965c (diff) | |
parent | a0ba40749d98488dafb84d365e4a6e44a4c01f84 (diff) |
Merge remote-tracking branch 'refs/remotes/mamedev/master'
Resolved Conflicts:
- src/osd/modules/render/d3d/d3dhlsl.cpp
- src/osd/modules/render/d3d/d3dhlsl.h
- src/osd/modules/render/drawd3d.cpp
- src/osd/modules/render/drawd3d.h
- src/osd/windows/winmain.cpp
Diffstat (limited to 'src/osd/modules/render/bgfx/paramreader.cpp')
-rw-r--r-- | src/osd/modules/render/bgfx/paramreader.cpp | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/osd/modules/render/bgfx/paramreader.cpp b/src/osd/modules/render/bgfx/paramreader.cpp new file mode 100644 index 00000000000..f1391ec761e --- /dev/null +++ b/src/osd/modules/render/bgfx/paramreader.cpp @@ -0,0 +1,38 @@ +// license:BSD-3-Clause +// copyright-holders:Ryan Holtz +//============================================================ +// +// paramreader.cpp - BGFX shader parameter JSON reader +// +//============================================================ + +#include <string> + +#include "paramreader.h" + +#include "parameter.h" + +const parameter_reader::string_to_enum parameter_reader::TYPE_NAMES[parameter_reader::TYPE_COUNT] = { + { "frame_mask", uint64_t(bgfx_parameter::parameter_type::PARAM_FRAME_MASK) } +}; + +bgfx_parameter* parameter_reader::read_from_value(const Value& value) +{ + validate_parameters(value); + + std::string name = value["name"].GetString(); + bgfx_parameter::parameter_type type = bgfx_parameter::parameter_type(get_enum_from_value(value, "type", uint64_t(bgfx_parameter::parameter_type::PARAM_FRAME_MASK), TYPE_NAMES, TYPE_COUNT)); + int period = int(value["period"].GetDouble()); + + return new bgfx_parameter(name, type, period); +} + +void parameter_reader::validate_parameters(const Value& value) +{ + assert(value.HasMember("name")); + assert(value["name"].IsString()); + assert(value.HasMember("type")); + assert(value["type"].IsString()); + assert(value.HasMember("period")); + assert(value["period"].IsDouble()); +}
\ No newline at end of file |