40 #include "table/strings.h" 
   63   this->name_1 = name_1;
 
  107 #ifdef ENABLE_NETWORK 
  114   _current_company = _local_company = new_company;
 
  143   DrawSprite(SPR_COMPANY_ICON, COMPANY_SPRITE_COLOUR(c), x, y);
 
  162   for (CompanyManagerFaceVariable cmfv = CMFV_CHEEKS; cmfv < CMFV_END; cmfv++) {
 
  164       case CMFV_MOUSTACHE:   
if (!has_moustache)   
continue; 
break;
 
  166       case CMFV_NOSE:        
if (has_moustache)    
continue; 
break;
 
  167       case CMFV_TIE_EARRING: 
if (!has_tie_earring) 
continue; 
break;
 
  168       case CMFV_GLASSES:     
if (!has_glasses)     
continue; 
break;
 
  200       cost.
MakeError(STR_ERROR_NOT_ENOUGH_CASH_REQUIRES_CURRENCY);
 
  214   if (cost.
GetCost() == 0) 
return;
 
  268   FOR_ALL_COMPANIES(c) {
 
  315   if (owner == _current_company) 
return CommandCost();
 
  334   if (owner == _current_company) 
return CommandCost();
 
  351   if (c->
name_1 != STR_SV_UNNAMED) 
return;
 
  358   if (t->
name == NULL && 
IsInsideMM(t->townnametype, SPECSTR_TOWNNAME_START, SPECSTR_TOWNNAME_LAST + 1)) {
 
  359     str = t->townnametype - SPECSTR_TOWNNAME_START + SPECSTR_COMPANY_NAME_START;
 
  360     strp = t->townnameparts;
 
  365     FOR_ALL_COMPANIES(cc) {
 
  366       if (cc->
name_1 == str && cc->
name_2 == strp) 
goto bad_town_name;
 
  369     GetString(buffer, str, 
lastof(buffer));
 
  381       SetDParam(0, STR_NEWS_COMPANY_LAUNCH_TITLE);
 
  382       SetDParam(1, STR_NEWS_COMPANY_LAUNCH_DESCRIPTION);
 
  392     str = SPECSTR_ANDCO_NAME;
 
  396     str = SPECSTR_ANDCO_NAME;
 
  403 static const byte 
_colour_sort[COLOUR_END] = {2, 2, 3, 2, 3, 2, 3, 2, 3, 2, 2, 2, 3, 1, 1, 1};
 
  406   { COLOUR_BLUE,       COLOUR_LIGHT_BLUE }, 
 
  407   { COLOUR_GREEN,      COLOUR_DARK_GREEN }, 
 
  408   { INVALID_COLOUR,    INVALID_COLOUR    }, 
 
  409   { COLOUR_ORANGE,     INVALID_COLOUR    }, 
 
  410   { INVALID_COLOUR,    INVALID_COLOUR    }, 
 
  411   { COLOUR_DARK_BLUE,  COLOUR_BLUE       }, 
 
  412   { COLOUR_PALE_GREEN, COLOUR_DARK_GREEN }, 
 
  413   { COLOUR_PALE_GREEN, COLOUR_GREEN      }, 
 
  414   { COLOUR_DARK_BLUE,  COLOUR_LIGHT_BLUE }, 
 
  415   { COLOUR_BROWN,      COLOUR_ORANGE     }, 
 
  416   { COLOUR_PURPLE,     INVALID_COLOUR    }, 
 
  417   { COLOUR_MAUVE,      INVALID_COLOUR    }, 
 
  418   { COLOUR_YELLOW,     COLOUR_CREAM      }, 
 
  419   { COLOUR_CREAM,      INVALID_COLOUR    }, 
 
  420   { COLOUR_WHITE,      INVALID_COLOUR    }, 
 
  421   { COLOUR_GREY,       INVALID_COLOUR    }, 
 
  430   Colours colours[COLOUR_END];
 
  433   for (uint i = 0; i < COLOUR_END; i++) colours[i] = (Colours)i;
 
  436   for (uint i = 0; i < 100; i++) {
 
  438     Swap(colours[
GB(r, 0, 4)], colours[
GB(r, 4, 4)]);
 
  442   for (uint i = 0; i < COLOUR_END; i++) {
 
  443     for (uint j = 1; j < COLOUR_END; j++) {
 
  445         Swap(colours[j - 1], colours[j]);
 
  452   FOR_ALL_COMPANIES(c) {
 
  453     Colours pcolour = (Colours)c->
colour;
 
  455     for (uint i = 0; i < COLOUR_END; i++) {
 
  456       if (colours[i] == pcolour) {
 
  457         colours[i] = INVALID_COLOUR;
 
  462     for (uint j = 0; j < 2; j++) {
 
  464       if (similar == INVALID_COLOUR) 
break;
 
  466       for (uint i = 1; i < COLOUR_END; i++) {
 
  467         if (colours[i - 1] == similar) 
Swap(colours[i - 1], colours[i]);
 
  473   for (uint i = 0; i < COLOUR_END; i++) {
 
  474     if (colours[i] != INVALID_COLOUR) 
return colours[i];
 
  495     GetString(buffer, STR_PRESIDENT_NAME, 
lastof(buffer));
 
  499     FOR_ALL_COMPANIES(cc) {
 
  504         GetString(buffer2, STR_PRESIDENT_NAME, 
lastof(buffer2));
 
  505         if (strcmp(buffer2, buffer) == 0) 
goto restart;
 
  519   for (
LiveryScheme scheme = LS_BEGIN; scheme < LS_END; scheme++) {
 
  520     c->livery[scheme].
in_use  = 
false;
 
  542     c = 
new Company(STR_SV_UNNAMED, is_ai);
 
  545     c = 
new (company) 
Company(STR_SV_UNNAMED, is_ai);
 
  591 #ifdef ENABLE_NETWORK 
  599   FOR_ALL_COMPANIES(c) {
 
  667   int32 best_performance = -1;
 
  670   FOR_ALL_COMPANIES(c2) {
 
  673         best_performance < c2->old_economy[1].performance_history &&
 
  681   if (best_performance == -1) {
 
  699   if (_game_mode == GM_EDITOR) 
return;
 
  727   FOR_ALL_COMPANIES(c) {
 
  776 #ifdef ENABLE_NETWORK 
  788 #ifdef ENABLE_NETWORK 
  811 #ifdef ENABLE_NETWORK 
  815   switch (
GB(p1, 0, 16)) {
 
  820 #ifdef ENABLE_NETWORK 
  824 #ifndef DEBUG_DUMP_COMMANDS 
  871 #ifdef ENABLE_NETWORK 
  892       SetDParam(0, STR_NEWS_COMPANY_BANKRUPT_TITLE);
 
  893       SetDParam(1, STR_NEWS_COMPANY_BANKRUPT_DESCRIPTION);
 
  895       AddCompanyNewsItem(STR_MESSAGE_NEWS_FORMAT, cni);
 
  956   Colours colour = Extract<Colours, 0, 4>(p2);
 
  958   byte state = 
GB(p1, 8, 2);
 
  960   if (scheme >= LS_END || state >= 3 || colour == INVALID_COLOUR) 
return CMD_ERROR;
 
  965   if (scheme == LS_DEFAULT && state == 0) {
 
  967     FOR_ALL_COMPANIES(cc) {
 
  975         c->livery[scheme].
colour1 = colour;
 
  979         if (scheme == LS_DEFAULT) {
 
  987         c->livery[scheme].
colour2 = colour;
 
  991         c->livery[scheme].
in_use = colour != 0;
 
 1001           c->livery[LS_DEFAULT].
in_use = 
true;
 
 1007         c->livery[LS_DEFAULT].
in_use = 
false;
 
 1008         for (scheme = LS_DEFAULT; scheme < LS_END; scheme++) {
 
 1009           if (c->livery[scheme].
in_use) {
 
 1010             c->livery[LS_DEFAULT].
in_use = 
true;
 
 1019     ResetVehicleColourMap();
 
 1054   FOR_ALL_COMPANIES(c) {
 
 1055     if (c->
name != NULL && strcmp(c->
name, name) == 0) 
return false;
 
 1099   FOR_ALL_COMPANIES(c) {
 
 1133       if (c->
name_1 == STR_SV_UNNAMED && c->
name == NULL) {
 
 1158     default: NOT_REACHED();