fix: correctly handle disabled mods with metadata
im stupid
This commit is contained in:
parent
40ccd1a469
commit
9f1f37e780
@ -53,12 +53,31 @@ void ModFolderLoadTask::run()
|
|||||||
m_mods_dir.refresh();
|
m_mods_dir.refresh();
|
||||||
for (auto entry : m_mods_dir.entryInfoList()) {
|
for (auto entry : m_mods_dir.entryInfoList()) {
|
||||||
Mod mod(entry);
|
Mod mod(entry);
|
||||||
if(m_result->mods.contains(mod.internal_id())){
|
|
||||||
m_result->mods[mod.internal_id()].setStatus(ModStatus::Installed);
|
if (mod.enabled()) {
|
||||||
|
if (m_result->mods.contains(mod.internal_id())) {
|
||||||
|
m_result->mods[mod.internal_id()].setStatus(ModStatus::Installed);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
m_result->mods[mod.internal_id()] = mod;
|
||||||
|
m_result->mods[mod.internal_id()].setStatus(ModStatus::NoMetadata);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
m_result->mods[mod.internal_id()] = mod;
|
QString chopped_id = mod.internal_id().chopped(9);
|
||||||
m_result->mods[mod.internal_id()].setStatus(ModStatus::NoMetadata);
|
if (m_result->mods.contains(chopped_id)) {
|
||||||
|
m_result->mods[mod.internal_id()] = mod;
|
||||||
|
|
||||||
|
auto metadata = m_result->mods[chopped_id].metadata();
|
||||||
|
mod.setMetadata(new Metadata::ModStruct(*metadata));
|
||||||
|
|
||||||
|
m_result->mods[mod.internal_id()].setStatus(ModStatus::Installed);
|
||||||
|
m_result->mods.remove(chopped_id);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
m_result->mods[mod.internal_id()] = mod;
|
||||||
|
m_result->mods[mod.internal_id()].setStatus(ModStatus::NoMetadata);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user