| 163 | } |
| 164 | |
| 165 | Error ProjectConfigLoader::load_cfb(const String path, uint32_t ver_major, uint32_t ver_minor) { |
| 166 | cfb_path = path; |
| 167 | String ext = path.get_extension().to_lower(); |
| 168 | Error err = OK; |
| 169 | Ref<FileAccess> f = FileAccess::open(path, FileAccess::READ, &err); |
| 170 | ERR_FAIL_COND_V_MSG(f.is_null(), err, "Could not open " + path); |
| 171 | if (ext == "cfg" || ext == "godot") { |
| 172 | err = _load_settings_text(f, path, ver_major); |
| 173 | if (err == OK && ver_major == 0) { |
| 174 | auto ret = get_ver_major_and_minor_for_config_version(config_version); |
| 175 | ver_major = ret.first; |
| 176 | ver_minor = ret.second; |
| 177 | } |
| 178 | } else { |
| 179 | if (ver_major == 0 && ext == "cfb") { |
| 180 | ver_major = 2; |
| 181 | } |
| 182 | if (ver_major == 0) { |
| 183 | err = _try_load_binary_v3_or_v4(path, ver_major); |
| 184 | } else { |
| 185 | err = _load_settings_binary(f, path, ver_major, false); |
| 186 | } |
| 187 | if (err == OK) { |
| 188 | config_version = get_config_version_for_version(ver_major, ver_minor); |
| 189 | } |
| 190 | } |
| 191 | ERR_FAIL_COND_V(err, err); |
| 192 | major = ver_major; |
| 193 | minor = ver_minor; |
| 194 | loaded = true; |
| 195 | return OK; |
| 196 | } |
| 197 | |
| 198 | Error ProjectConfigLoader::save_cfb(const String dir, uint32_t ver_major, uint32_t ver_minor) { |
| 199 | ERR_FAIL_COND_V_MSG(!loaded, ERR_INVALID_DATA, "Attempted to save project config when not loaded!"); |
no outgoing calls
no test coverage detected