mirror of https://github.com/OpenTTD/OpenTTD
(svn r24807) -Add [FS#2820]: Enable usage of 'companies' console command also in singleplayer.
parent
04a24969ea
commit
870eab53d2
|
@ -38,10 +38,7 @@
|
||||||
#include "console_func.h"
|
#include "console_func.h"
|
||||||
#include "engine_base.h"
|
#include "engine_base.h"
|
||||||
#include "game/game.hpp"
|
#include "game/game.hpp"
|
||||||
|
#include "table/strings.h"
|
||||||
#ifdef ENABLE_NETWORK
|
|
||||||
#include "table/strings.h"
|
|
||||||
#endif /* ENABLE_NETWORK */
|
|
||||||
|
|
||||||
/* scriptfile handling */
|
/* scriptfile handling */
|
||||||
static bool _script_running; ///< Script is running (used to abort execution when #ConReturn is encountered).
|
static bool _script_running; ///< Script is running (used to abort execution when #ConReturn is encountered).
|
||||||
|
@ -1531,6 +1528,45 @@ DEF_CONSOLE_CMD(ConListAliases)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DEF_CONSOLE_CMD(ConCompanies)
|
||||||
|
{
|
||||||
|
if (argc == 0) {
|
||||||
|
IConsoleHelp("List the details of all companies in the game. Usage 'companies'");
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
Company *c;
|
||||||
|
FOR_ALL_COMPANIES(c) {
|
||||||
|
/* Grab the company name */
|
||||||
|
char company_name[512];
|
||||||
|
SetDParam(0, c->index);
|
||||||
|
GetString(company_name, STR_COMPANY_NAME, lastof(company_name));
|
||||||
|
|
||||||
|
const char *password_state = "";
|
||||||
|
if (c->is_ai) {
|
||||||
|
password_state = "AI";
|
||||||
|
}
|
||||||
|
#ifdef ENABLE_NETWORK
|
||||||
|
else if (_network_server) {
|
||||||
|
password_state = StrEmpty(_network_company_states[c->index].password) ? "unprotected" : "protected";
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
char colour[512];
|
||||||
|
GetString(colour, STR_COLOUR_DARK_BLUE + _company_colours[c->index], lastof(colour));
|
||||||
|
IConsolePrintF(CC_INFO, "#:%d(%s) Company Name: '%s' Year Founded: %d Money: " OTTD_PRINTF64 " Loan: " OTTD_PRINTF64 " Value: " OTTD_PRINTF64 " (T:%d, R:%d, P:%d, S:%d) %s",
|
||||||
|
c->index + 1, colour, company_name,
|
||||||
|
c->inaugurated_year, (int64)c->money, (int64)c->current_loan, (int64)CalculateCompanyValue(c),
|
||||||
|
c->group_all[VEH_TRAIN].num_vehicle,
|
||||||
|
c->group_all[VEH_ROAD].num_vehicle,
|
||||||
|
c->group_all[VEH_AIRCRAFT].num_vehicle,
|
||||||
|
c->group_all[VEH_SHIP].num_vehicle,
|
||||||
|
password_state);
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef ENABLE_NETWORK
|
#ifdef ENABLE_NETWORK
|
||||||
|
|
||||||
DEF_CONSOLE_CMD(ConSay)
|
DEF_CONSOLE_CMD(ConSay)
|
||||||
|
@ -1552,38 +1588,6 @@ DEF_CONSOLE_CMD(ConSay)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
DEF_CONSOLE_CMD(ConCompanies)
|
|
||||||
{
|
|
||||||
if (argc == 0) {
|
|
||||||
IConsoleHelp("List the in-game details of all clients connected to the server. Usage 'companies'");
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
NetworkCompanyStats company_stats[MAX_COMPANIES];
|
|
||||||
NetworkPopulateCompanyStats(company_stats);
|
|
||||||
|
|
||||||
Company *c;
|
|
||||||
FOR_ALL_COMPANIES(c) {
|
|
||||||
/* Grab the company name */
|
|
||||||
char company_name[NETWORK_COMPANY_NAME_LENGTH];
|
|
||||||
SetDParam(0, c->index);
|
|
||||||
GetString(company_name, STR_COMPANY_NAME, lastof(company_name));
|
|
||||||
|
|
||||||
char buffer[512];
|
|
||||||
const NetworkCompanyStats *stats = &company_stats[c->index];
|
|
||||||
|
|
||||||
GetString(buffer, STR_COLOUR_DARK_BLUE + _company_colours[c->index], lastof(buffer));
|
|
||||||
IConsolePrintF(CC_INFO, "#:%d(%s) Company Name: '%s' Year Founded: %d Money: " OTTD_PRINTF64 " Loan: " OTTD_PRINTF64 " Value: " OTTD_PRINTF64 " (T:%d, R:%d, P:%d, S:%d) %sprotected",
|
|
||||||
c->index + 1, buffer, company_name, c->inaugurated_year, (int64)c->money, (int64)c->current_loan, (int64)CalculateCompanyValue(c),
|
|
||||||
/* trains */ stats->num_vehicle[0],
|
|
||||||
/* lorry + bus */ stats->num_vehicle[1] + stats->num_vehicle[2],
|
|
||||||
/* planes */ stats->num_vehicle[3],
|
|
||||||
/* ships */ stats->num_vehicle[4],
|
|
||||||
/* protected */ StrEmpty(_network_company_states[c->index].password) ? "un" : "");
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
DEF_CONSOLE_CMD(ConSayCompany)
|
DEF_CONSOLE_CMD(ConSayCompany)
|
||||||
{
|
{
|
||||||
if (argc == 0) {
|
if (argc == 0) {
|
||||||
|
@ -1939,6 +1943,9 @@ void IConsoleStdLibRegister()
|
||||||
IConsoleCmdRegister("list_game_libs", ConListGameLibs);
|
IConsoleCmdRegister("list_game_libs", ConListGameLibs);
|
||||||
IConsoleCmdRegister("rescan_game", ConRescanGame);
|
IConsoleCmdRegister("rescan_game", ConRescanGame);
|
||||||
|
|
||||||
|
IConsoleCmdRegister("companies", ConCompanies);
|
||||||
|
IConsoleAliasRegister("players", "companies");
|
||||||
|
|
||||||
/* networking functions */
|
/* networking functions */
|
||||||
#ifdef ENABLE_NETWORK
|
#ifdef ENABLE_NETWORK
|
||||||
/* Content downloading is only available with ZLIB */
|
/* Content downloading is only available with ZLIB */
|
||||||
|
@ -1948,8 +1955,6 @@ void IConsoleStdLibRegister()
|
||||||
|
|
||||||
/*** Networking commands ***/
|
/*** Networking commands ***/
|
||||||
IConsoleCmdRegister("say", ConSay, ConHookNeedNetwork);
|
IConsoleCmdRegister("say", ConSay, ConHookNeedNetwork);
|
||||||
IConsoleCmdRegister("companies", ConCompanies, ConHookServerOnly);
|
|
||||||
IConsoleAliasRegister("players", "companies");
|
|
||||||
IConsoleCmdRegister("say_company", ConSayCompany, ConHookNeedNetwork);
|
IConsoleCmdRegister("say_company", ConSayCompany, ConHookNeedNetwork);
|
||||||
IConsoleAliasRegister("say_player", "say_company %+");
|
IConsoleAliasRegister("say_player", "say_company %+");
|
||||||
IConsoleCmdRegister("say_client", ConSayClient, ConHookNeedNetwork);
|
IConsoleCmdRegister("say_client", ConSayClient, ConHookNeedNetwork);
|
||||||
|
|
Loading…
Reference in New Issue