#include "stdafx.h"
#include "engine_base.h"
#include "company_func.h"
#include "company_gui.h"
#include "town.h"
#include "news_func.h"
#include "command_func.h"
#include "network/network.h"
#include "network/network_func.h"
#include "network/network_base.h"
#include "ai/ai.hpp"
#include "company_manager_face.h"
#include "group.h"
#include "window_func.h"
#include "strings_func.h"
#include "gfx_func.h"
#include "date_func.h"
#include "sound_func.h"
#include "autoreplace_func.h"
#include "autoreplace_gui.h"
#include "rail.h"
#include "core/pool_func.hpp"
#include "settings_func.h"
#include "table/strings.h"
Go to the source code of this file.
Functions | |
void | SetLocalCompany (CompanyID new_company) |
Sets the local company and updates the settings that are set on a per-company basis to reflect the core's state in the GUI. | |
uint16 | GetDrawStringCompanyColour (CompanyID company) |
void | DrawCompanyIcon (CompanyID c, int x, int y) |
bool | IsValidCompanyManagerFace (CompanyManagerFace cmf) |
Checks whether a company manager's face is a valid encoding. | |
void | InvalidateCompanyWindows (const Company *company) |
bool | CheckCompanyHasMoney (CommandCost cost) |
static void | SubtractMoneyFromAnyCompany (Company *c, CommandCost cost) |
void | SubtractMoneyFromCompany (CommandCost cost) |
void | SubtractMoneyFromCompanyFract (CompanyID company, CommandCost cst) |
void | GetNameOfOwner (Owner owner, TileIndex tile) |
bool | CheckOwnership (Owner owner) |
bool | CheckTileOwnership (TileIndex tile) |
static void | GenerateCompanyName (Company *c) |
static Colours | GenerateCompanyColour () |
static void | GeneratePresidentName (Company *c) |
void | ResetCompanyLivery (Company *c) |
Reset the livery schemes to the company's primary colour. | |
Company * | DoStartupNewCompany (bool is_ai, CompanyID company=INVALID_COMPANY) |
Create a new company and sets all company variables default values. | |
void | StartupCompanies () |
static void | MaybeStartNewCompany () |
void | InitializeCompanies () |
static void | HandleBankruptcyTakeover (Company *c) |
Handle the bankruptcy take over of a company. | |
void | OnTick_Companies () |
void | CompaniesYearlyLoop () |
CommandCost | CmdSetAutoReplace (TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 p2, const char *text) |
Change engine renewal parameters. | |
CommandCost | CmdCompanyCtrl (TileIndex tile, DoCommandFlag flags, uint32 p1, uint32 p2, const char *text) |
Control the companies: add, delete, etc. | |
Variables | |
CompanyByte | _local_company |
CompanyByte | _current_company |
Colours | _company_colours [MAX_COMPANIES] |
NOSAVE: can be determined from company structs. | |
CompanyManagerFace | _company_manager_face |
for company manager face storage in openttd.cfg | |
uint | _next_competitor_start |
the number of ticks before the next AI is started | |
uint | _cur_company_tick_index |
used to generate a name for one company that doesn't have a name yet per tick | |
CompanyPool | _company_pool ("Company") |
static const byte | _colour_sort [COLOUR_END] = {2, 2, 3, 2, 3, 2, 3, 2, 3, 2, 2, 2, 3, 1, 1, 1} |
static const Colours | _similar_colour [COLOUR_END][2] |
Definition in file company_cmd.cpp.
CommandCost CmdCompanyCtrl | ( | TileIndex | tile, | |
DoCommandFlag | flags, | |||
uint32 | p1, | |||
uint32 | p2, | |||
const char * | text | |||
) |
Control the companies: add, delete, etc.
tile | unused | |
flags | operation to perform | |
p1 | various functionality
| |
p2 | various functionality, dictated by p1
| |
text | unused |
Definition at line 700 of file company_cmd.cpp.
References _settings_client, CMD_ERROR, CMD_RENAME_PRESIDENT, CompanyNewsInformation::company_name, COMPANY_SPECTATOR, DC_EXEC, DeleteCompanyWindows(), DeleteWindowById(), DoStartupNewCompany(), CompanyNewsInformation::FillData(), INVALID_COMPANY, INVALID_OWNER, InvalidateWindowData(), MarkWholeScreenDirty(), MAX_COMPANIES, ClientSettings::network, NS_COMPANY_BANKRUPT, OWNER_NONE, SetDParam(), SetDParamStr(), SetLocalCompany(), and StrEmpty().
CommandCost CmdSetAutoReplace | ( | TileIndex | tile, | |
DoCommandFlag | flags, | |||
uint32 | p1, | |||
uint32 | p2, | |||
const char * | text | |||
) |
Change engine renewal parameters.
tile | unused | |
flags | operation to perform | |
p1 | packed data
| |
p2 | packed data
| |
text | unused |
Definition at line 629 of file company_cmd.cpp.
References AddEngineReplacementForCompany(), CheckAutoreplaceValidity(), CMD_ERROR, GB(), InvalidateAutoreplaceWindow(), IsAllGroupID(), and RemoveEngineReplacementForCompany().
Company* DoStartupNewCompany | ( | bool | is_ai, | |
CompanyID | company = INVALID_COMPANY | |||
) |
Create a new company and sets all company variables default values.
is_ai | is a ai company? | |
company | CompanyID to use for the new company |
Definition at line 435 of file company_cmd.cpp.
References _company_colours, _cur_year, GetCompanyRailtypes(), GetCompanyRoadtypes(), INVALID_COMPANY, INVALID_OWNER, RandomCompanyManagerFaceBits(), ResetCompanyLivery(), SetDefaultCompanySettings(), and SetWindowDirty().
Referenced by CmdCompanyCtrl().
static void HandleBankruptcyTakeover | ( | Company * | c | ) | [static] |
Handle the bankruptcy take over of a company.
Companies going bankrupt will ask the other companies in order of their performance rating, so better performing companies get the 'do you want to merge with Y' question earlier. The question will then stay till either the company has gone bankrupt or got merged with a company.
c | the company that is going bankrupt. |
Definition at line 520 of file company_cmd.cpp.
References ClampToI32(), DAY_TICKS, HasBit(), MAX_COMPANIES, MAX_UVALUE, and SetBit().
bool IsValidCompanyManagerFace | ( | CompanyManagerFace | cmf | ) |
Checks whether a company manager's face is a valid encoding.
Unused bits are not enforced to be 0.
cmf | the fact to check |
Definition at line 124 of file company_cmd.cpp.
References AreCompanyManagerFaceBitsValid(), GE_WM, GENDER_FEMALE, GetCompanyManagerFaceBits(), and HasBit().
Referenced by CmdSetCompanyManagerFace().
void ResetCompanyLivery | ( | Company * | c | ) |
Reset the livery schemes to the company's primary colour.
This is used on loading games without livery information and on new company start up.
c | Company to reset. |
Definition at line 419 of file company_cmd.cpp.
Referenced by DoStartupNewCompany().
void SetLocalCompany | ( | CompanyID | new_company | ) |
Sets the local company and updates the settings that are set on a per-company basis to reflect the core's state in the GUI.
new_company | the new company |
Definition at line 86 of file company_cmd.cpp.
References COMPANY_SPECTATOR, DeleteConstructionWindows(), InvalidateWindowData(), MarkWholeScreenDirty(), and OWNER_NONE.
Referenced by ClickChangeCompanyCheat(), CmdCompanyCtrl(), GenerateWorld(), and StartScenario().
const Colours _similar_colour[COLOUR_END][2] [static] |
Initial value:
{ { COLOUR_BLUE, COLOUR_LIGHT_BLUE }, { COLOUR_GREEN, COLOUR_DARK_GREEN }, { INVALID_COLOUR, INVALID_COLOUR }, { COLOUR_ORANGE, INVALID_COLOUR }, { INVALID_COLOUR, INVALID_COLOUR }, { COLOUR_DARK_BLUE, COLOUR_BLUE }, { COLOUR_PALE_GREEN, COLOUR_DARK_GREEN }, { COLOUR_PALE_GREEN, COLOUR_GREEN }, { COLOUR_DARK_BLUE, COLOUR_LIGHT_BLUE }, { COLOUR_BROWN, COLOUR_ORANGE }, { COLOUR_PURPLE, INVALID_COLOUR }, { COLOUR_MAUVE, INVALID_COLOUR }, { COLOUR_YELLOW, COLOUR_CREAM }, { COLOUR_CREAM, INVALID_COLOUR }, { COLOUR_WHITE, INVALID_COLOUR }, { COLOUR_GREY, INVALID_COLOUR }, }
Definition at line 320 of file company_cmd.cpp.