|
|
|
@ -283,14 +283,18 @@
|
|
|
|
|
{
|
|
|
|
|
if (!_networking || _network_server) {
|
|
|
|
|
Company *c = Company::GetIfValid(company);
|
|
|
|
|
assert(c != nullptr && c->ai_instance != nullptr);
|
|
|
|
|
|
|
|
|
|
Backup<CompanyID> cur_company(_current_company, company, FILE_LINE);
|
|
|
|
|
c->ai_instance->Save();
|
|
|
|
|
cur_company.Restore();
|
|
|
|
|
} else {
|
|
|
|
|
AIInstance::SaveEmpty();
|
|
|
|
|
assert(c != nullptr);
|
|
|
|
|
|
|
|
|
|
/* When doing emergency saving, an AI can be not fully initialised. */
|
|
|
|
|
if (c->ai_instance != nullptr) {
|
|
|
|
|
Backup<CompanyID> cur_company(_current_company, company, FILE_LINE);
|
|
|
|
|
c->ai_instance->Save();
|
|
|
|
|
cur_company.Restore();
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
AIInstance::SaveEmpty();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* static */ std::string AI::GetConsoleList(bool newest_only)
|
|
|
|
|