MCPcopy Create free account
hub / github.com/GDRETools/gdsdecomp / GDREConfigSetting_BytecodeForceBytecodeRevision

Class GDREConfigSetting_BytecodeForceBytecodeRevision

utility/gdre_config.cpp:77–111  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

75 }
76};
77class GDREConfigSetting_BytecodeForceBytecodeRevision : public GDREConfigSetting {
78 GDSOFTCLASS(GDREConfigSetting_BytecodeForceBytecodeRevision, GDREConfigSetting);
79
80public:
81 GDREConfigSetting_BytecodeForceBytecodeRevision() :
82 GDREConfigSetting(
83 "Bytecode/force_bytecode_revision",
84 "Force Bytecode Revision",
85 "Forces the bytecode revision to be the specified value.",
86 0,
87 false,
88 true) {}
89
90 virtual bool has_special_value() const override { return true; }
91 virtual Dictionary get_list_of_possible_values() const override {
92 Dictionary ret;
93 int ver_major = 0;
94 if (GDRESettings::get_singleton() && GDRESettings::get_singleton()->is_pack_loaded()) {
95 ver_major = GDRESettings::get_singleton()->get_ver_major();
96 }
97 int current_setting = get_value();
98 auto versions = GDScriptDecompVersion::get_decomp_versions(true, 0);
99 ret[0] = "Auto-detect";
100 for (const auto &version : versions) {
101 if ((ver_major > 0 && version.get_major_version() != ver_major)) {
102 if (version.commit != current_setting) {
103 continue;
104 }
105 }
106 String short_name = version.name.split("/")[0].strip_edges() + ")";
107 ret[version.commit] = short_name;
108 }
109 return ret;
110 }
111};
112
113#if !GODOT_MONO_DECOMP_DISABLED
114class GDREConfigSetting_CSharpForceLanguageVersion : public GDREConfigSetting {

Callers 1

Calls

no outgoing calls

Tested by

no test coverage detected