mirror of https://github.com/OpenTTD/OpenTTD.git
(svn r16444) -Codechange: Set all company settings to their default value for a new company instead of zeroing them.
This commit is contained in:
parent
118d444be2
commit
d982ec81df
|
@ -436,11 +436,7 @@ Company *DoStartupNewCompany(bool is_ai)
|
||||||
c->inaugurated_year = _cur_year;
|
c->inaugurated_year = _cur_year;
|
||||||
RandomCompanyManagerFaceBits(c->face, (GenderEthnicity)Random(), false); // create a random company manager face
|
RandomCompanyManagerFaceBits(c->face, (GenderEthnicity)Random(), false); // create a random company manager face
|
||||||
|
|
||||||
/* Settings for non-ai companies are copied from the client settings later. */
|
SetDefaultCompanySettings(c->index);
|
||||||
if (is_ai) {
|
|
||||||
c->settings.engine_renew_money = 100000;
|
|
||||||
c->settings.engine_renew_months = 6;
|
|
||||||
}
|
|
||||||
|
|
||||||
GeneratePresidentName(c);
|
GeneratePresidentName(c);
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,6 @@
|
||||||
#include "heightmap.h"
|
#include "heightmap.h"
|
||||||
#include "gui.h"
|
#include "gui.h"
|
||||||
#include "variables.h"
|
#include "variables.h"
|
||||||
#include "settings_func.h"
|
|
||||||
#include "debug.h"
|
#include "debug.h"
|
||||||
#include "genworld.h"
|
#include "genworld.h"
|
||||||
#include "network/network.h"
|
#include "network/network.h"
|
||||||
|
@ -27,6 +26,7 @@
|
||||||
#include "querystring_gui.h"
|
#include "querystring_gui.h"
|
||||||
#include "town.h"
|
#include "town.h"
|
||||||
#include "thread.h"
|
#include "thread.h"
|
||||||
|
#include "settings_func.h"
|
||||||
|
|
||||||
#include "table/strings.h"
|
#include "table/strings.h"
|
||||||
#include "table/sprites.h"
|
#include "table/sprites.h"
|
||||||
|
|
|
@ -1507,6 +1507,19 @@ void SetCompanySetting(uint index, int32 value)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the company settings for a new company to their default values.
|
||||||
|
*/
|
||||||
|
void SetDefaultCompanySettings(CompanyID cid)
|
||||||
|
{
|
||||||
|
Company *c = Company::Get(cid);
|
||||||
|
const SettingDesc *sd;
|
||||||
|
for (sd = _company_settings; sd->save.cmd != SL_END; sd++) {
|
||||||
|
void *var = GetVariableAddress(&c->settings, &sd->save);
|
||||||
|
Write_ValidateSetting(var, sd, (int32)sd->desc.def);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sync all company settings in a multiplayer game.
|
* Sync all company settings in a multiplayer game.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -27,5 +27,6 @@ void DeleteGRFPresetFromConfig(const char *config_name);
|
||||||
|
|
||||||
uint GetCompanySettingIndex(const char *name);
|
uint GetCompanySettingIndex(const char *name);
|
||||||
void SyncCompanySettings();
|
void SyncCompanySettings();
|
||||||
|
void SetDefaultCompanySettings(CompanyID cid);
|
||||||
|
|
||||||
#endif /* SETTINGS_FUNC_H */
|
#endif /* SETTINGS_FUNC_H */
|
||||||
|
|
Loading…
Reference in New Issue