@@ -240,14 +240,14 @@ static bool parse_dependency(const std::string& val, recomp::mods::Dependency& o
240240}
241241
242242template <typename T1, typename T2>
243- recomp::mods::ModOpenError try_get (T2& out, const nlohmann::json& data, const std::string& key, bool required, std::string& error_param) {
243+ recomp::mods::ModOpenError try_get (T2& out, const nlohmann::json& data, const std::string& key, bool required, std::string& error_param, T2 default_value = {} ) {
244244 auto find_it = data.find (key);
245245 if (find_it == data.end ()) {
246246 if (required) {
247247 error_param = key;
248248 return recomp::mods::ModOpenError::MissingManifestField;
249249 }
250- out = {} ;
250+ out = default_value ;
251251 return recomp::mods::ModOpenError::Good;
252252 }
253253
@@ -574,8 +574,8 @@ recomp::mods::ModOpenError recomp::mods::parse_manifest(ModManifest& ret, const
574574 return current_error;
575575 }
576576
577- // Enabled by default (optional)
578- current_error = try_get<json::boolean_t >(ret.enabled_by_default , manifest_json, enabled_by_default_key, false , error_param);
577+ // Enabled by default (optional, true if not present )
578+ current_error = try_get<json::boolean_t >(ret.enabled_by_default , manifest_json, enabled_by_default_key, false , error_param, true );
579579 if (current_error != ModOpenError::Good) {
580580 return current_error;
581581 }
@@ -795,6 +795,7 @@ recomp::mods::ModOpenError recomp::mods::ModContext::open_mod(const std::filesys
795795 manifest.version .major = 0 ;
796796 manifest.version .minor = 0 ;
797797 manifest.version .patch = 0 ;
798+ manifest.enabled_by_default = true ;
798799 }
799800 }
800801 else {
0 commit comments