MCPcopy Create free account
hub / github.com/FEX-Emu/FEX / print_parse_jsonloader_options

Function print_parse_jsonloader_options

FEXCore/Scripts/config_generator.py:460–481  ·  view source on GitHub ↗
(options)

Source from the content-addressed store, hash-verified

458 output_argloader.write("#endif\n")
459
460def print_parse_jsonloader_options(options):
461 output_argloader.write("#ifdef JSONLOADER\n")
462 output_argloader.write("#undef JSONLOADER\n")
463 output_argloader.write("if (false) {}\n")
464 op_key = None
465 for op_group, group_vals in options.items():
466 for op_key, op_vals in group_vals.items():
467 value_type = op_vals["Type"]
468 if (value_type == "strenum"):
469 output_argloader.write("else if (KeyName == \"{0}\") {{\n".format(op_key))
470 output_argloader.write("\tSet(KeyOption, FEXCore::Config::EnumParser<FEXCore::Config::{}ConfigPair>(FEXCore::Config::{}_EnumPairs, Value_View));\n".format(op_key, op_key))
471 output_argloader.write("}\n")
472 elif (value_type == "strarray"):
473 output_argloader.write("else if (KeyName == \"{0}\") {{\n".format(op_key))
474 output_argloader.write("\tAppendStrArrayValue(KeyOption, ConfigString);\n")
475 output_argloader.write("}\n")
476 assert op_key is not None, "No options found in JSONLOADER"
477 output_argloader.write("else {\n")
478 output_argloader.write("\tSet(KeyOption, ConfigString);\n")
479 output_argloader.write("}\n")
480
481 output_argloader.write("#endif\n")
482
483def print_parse_enum_options(options):
484 output_argloader.write("#ifdef ENUMDEFINES\n")

Callers 1

Calls 1

formatMethod · 0.45

Tested by

no test coverage detected