mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2026-07-21 01:59:44 +00:00
Codechange: use enum class for CompanyRemoveReason
This commit is contained in:
committed by
Peter Nelson
parent
7aecc268b6
commit
a5d028e892
+3
-3
@@ -674,7 +674,7 @@ TimeoutTimer<TimerGameTick> _new_competitor_timeout({ TimerGameTick::Priority::C
|
||||
|
||||
/* Send a command to all clients to start up a new AI.
|
||||
* Works fine for Multiplayer and Singleplayer */
|
||||
Command<Commands::CompanyControl>::Post(CCA_NEW_AI, CompanyID::Invalid(), CRR_NONE, INVALID_CLIENT_ID);
|
||||
Command<Commands::CompanyControl>::Post(CCA_NEW_AI, CompanyID::Invalid(), CompanyRemoveReason::None, INVALID_CLIENT_ID);
|
||||
});
|
||||
|
||||
/** Start of a new game. */
|
||||
@@ -795,7 +795,7 @@ void OnTick_Companies()
|
||||
for (auto i = 0; i < _settings_game.difficulty.max_no_competitors; i++) {
|
||||
if (_networking && num_companies++ >= _settings_client.network.max_companies) break;
|
||||
if (num_ais++ >= _settings_game.difficulty.max_no_competitors) break;
|
||||
Command<Commands::CompanyControl>::Post(CCA_NEW_AI, CompanyID::Invalid(), CRR_NONE, INVALID_CLIENT_ID);
|
||||
Command<Commands::CompanyControl>::Post(CCA_NEW_AI, CompanyID::Invalid(), {}, INVALID_CLIENT_ID);
|
||||
}
|
||||
timeout = 10 * 60 * Ticks::TICKS_PER_SECOND;
|
||||
}
|
||||
@@ -964,7 +964,7 @@ CommandCost CmdCompanyCtrl(DoCommandFlags flags, CompanyCtrlAction cca, CompanyI
|
||||
}
|
||||
|
||||
case CCA_DELETE: { // Delete a company
|
||||
if (reason >= CRR_END) return CMD_ERROR;
|
||||
if (reason >= CompanyRemoveReason::End) return CMD_ERROR;
|
||||
|
||||
/* We can't delete the last existing company in singleplayer mode. */
|
||||
if (!_networking && Company::GetNumItems() == 1) return CMD_ERROR;
|
||||
|
||||
+6
-6
@@ -57,14 +57,14 @@ struct CompanyManagerFace {
|
||||
};
|
||||
|
||||
/** The reason why the company was removed. */
|
||||
enum CompanyRemoveReason : uint8_t {
|
||||
CRR_MANUAL, ///< The company is manually removed.
|
||||
CRR_AUTOCLEAN, ///< The company is removed due to autoclean.
|
||||
CRR_BANKRUPT, ///< The company went belly-up.
|
||||
enum class CompanyRemoveReason : uint8_t {
|
||||
Manual, ///< The company is manually removed.
|
||||
Autoclean, ///< The company is removed due to autoclean.
|
||||
Bankrupt, ///< The company went belly-up.
|
||||
|
||||
CRR_END, ///< Sentinel for end.
|
||||
End, ///< Sentinel for end.
|
||||
|
||||
CRR_NONE = CRR_MANUAL, ///< Dummy reason for actions that don't need one.
|
||||
None = Manual, ///< Dummy reason for actions that don't need one.
|
||||
};
|
||||
|
||||
/** The action to do with Commands::CompanyControl. */
|
||||
|
||||
@@ -1126,7 +1126,7 @@ static bool ConResetCompany(std::span<std::string_view> argv)
|
||||
}
|
||||
|
||||
/* It is safe to remove this company */
|
||||
Command<Commands::CompanyControl>::Post(CCA_DELETE, *index, CRR_MANUAL, INVALID_CLIENT_ID);
|
||||
Command<Commands::CompanyControl>::Post(CCA_DELETE, *index, CompanyRemoveReason::Manual, INVALID_CLIENT_ID);
|
||||
IConsolePrint(CC_DEFAULT, "Company deleted.");
|
||||
|
||||
return true;
|
||||
@@ -1563,7 +1563,7 @@ static bool ConStartAI(std::span<std::string_view> argv)
|
||||
}
|
||||
|
||||
/* Start a new AI company */
|
||||
Command<Commands::CompanyControl>::Post(CCA_NEW_AI, CompanyID::Invalid(), CRR_NONE, INVALID_CLIENT_ID);
|
||||
Command<Commands::CompanyControl>::Post(CCA_NEW_AI, CompanyID::Invalid(), CompanyRemoveReason::None, INVALID_CLIENT_ID);
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -1605,8 +1605,8 @@ static bool ConReloadAI(std::span<std::string_view> argv)
|
||||
}
|
||||
|
||||
/* First kill the company of the AI, then start a new one. This should start the current AI again */
|
||||
Command<Commands::CompanyControl>::Post(CCA_DELETE, *company_id, CRR_MANUAL, INVALID_CLIENT_ID);
|
||||
Command<Commands::CompanyControl>::Post(CCA_NEW_AI, *company_id, CRR_NONE, INVALID_CLIENT_ID);
|
||||
Command<Commands::CompanyControl>::Post(CCA_DELETE, *company_id, CompanyRemoveReason::Manual, INVALID_CLIENT_ID);
|
||||
Command<Commands::CompanyControl>::Post(CCA_NEW_AI, *company_id, CompanyRemoveReason::None, INVALID_CLIENT_ID);
|
||||
IConsolePrint(CC_DEFAULT, "AI reloaded.");
|
||||
|
||||
return true;
|
||||
@@ -1649,7 +1649,7 @@ static bool ConStopAI(std::span<std::string_view> argv)
|
||||
}
|
||||
|
||||
/* Now kill the company of the AI. */
|
||||
Command<Commands::CompanyControl>::Post(CCA_DELETE, *company_id, CRR_MANUAL, INVALID_CLIENT_ID);
|
||||
Command<Commands::CompanyControl>::Post(CCA_DELETE, *company_id, CompanyRemoveReason::Manual, INVALID_CLIENT_ID);
|
||||
IConsolePrint(CC_DEFAULT, "AI stopped, company deleted.");
|
||||
|
||||
return true;
|
||||
|
||||
+1
-1
@@ -624,7 +624,7 @@ static void CompanyCheckBankrupt(Company *c)
|
||||
* player we are sure (the above check) that we are not the local
|
||||
* company and thus we won't be moved. */
|
||||
if (!_networking || _network_server) {
|
||||
Command<Commands::CompanyControl>::Post(CCA_DELETE, c->index, CRR_BANKRUPT, INVALID_CLIENT_ID);
|
||||
Command<Commands::CompanyControl>::Post(CCA_DELETE, c->index, CompanyRemoveReason::Bankrupt, INVALID_CLIENT_ID);
|
||||
return;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -16,10 +16,10 @@
|
||||
#include "../../safeguards.h"
|
||||
|
||||
/* Make sure that these enums match. */
|
||||
static_assert((int)CRR_MANUAL == (int)ADMIN_CRR_MANUAL);
|
||||
static_assert((int)CRR_AUTOCLEAN == (int)ADMIN_CRR_AUTOCLEAN);
|
||||
static_assert((int)CRR_BANKRUPT == (int)ADMIN_CRR_BANKRUPT);
|
||||
static_assert((int)CRR_END == (int)ADMIN_CRR_END);
|
||||
static_assert(to_underlying(CompanyRemoveReason::Manual) == to_underlying(ADMIN_CRR_MANUAL));
|
||||
static_assert(to_underlying(CompanyRemoveReason::Autoclean) == to_underlying(ADMIN_CRR_AUTOCLEAN));
|
||||
static_assert(to_underlying(CompanyRemoveReason::Bankrupt) == to_underlying(ADMIN_CRR_BANKRUPT));
|
||||
static_assert(to_underlying(CompanyRemoveReason::End) == to_underlying(ADMIN_CRR_END));
|
||||
|
||||
NetworkRecvStatus NetworkAdminSocketHandler::CloseConnection(bool)
|
||||
{
|
||||
|
||||
@@ -885,7 +885,7 @@ NetworkRecvStatus ClientNetworkGameSocketHandler::Receive_SERVER_MAP_DONE(Packet
|
||||
Debug(net, 9, "Client::join_status = REGISTERING");
|
||||
_network_join_status = NETWORK_JOIN_STATUS_REGISTERING;
|
||||
ShowJoinStatusWindow();
|
||||
Command<Commands::CompanyControl>::Post(CCA_NEW, CompanyID::Invalid(), CRR_NONE, _network_own_client_id);
|
||||
Command<Commands::CompanyControl>::Post(CCA_NEW, CompanyID::Invalid(), CompanyRemoveReason::None, _network_own_client_id);
|
||||
}
|
||||
} else {
|
||||
/* take control over an existing company */
|
||||
|
||||
@@ -1305,7 +1305,7 @@ static void AdminCompanyResetCallback(Window *, bool confirmed)
|
||||
{
|
||||
if (confirmed) {
|
||||
if (NetworkCompanyHasClients(_admin_company_id)) return;
|
||||
Command<Commands::CompanyControl>::Post(CCA_DELETE, _admin_company_id, CRR_MANUAL, INVALID_CLIENT_ID);
|
||||
Command<Commands::CompanyControl>::Post(CCA_DELETE, _admin_company_id, CompanyRemoveReason::Manual, INVALID_CLIENT_ID);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1590,7 +1590,7 @@ private:
|
||||
*/
|
||||
static void OnClickCompanyNew([[maybe_unused]] NetworkClientListWindow *w, [[maybe_unused]] Point pt, CompanyID)
|
||||
{
|
||||
Command<Commands::CompanyControl>::Post(CCA_NEW, CompanyID::Invalid(), CRR_NONE, _network_own_client_id);
|
||||
Command<Commands::CompanyControl>::Post(CCA_NEW, CompanyID::Invalid(), CompanyRemoveReason::None, _network_own_client_id);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -1635,13 +1635,13 @@ static void NetworkAutoCleanCompanies()
|
||||
/* Is the company empty for autoclean_protected-months? */
|
||||
if (_settings_client.network.autoclean_protected != 0 && c->months_empty > _settings_client.network.autoclean_protected) {
|
||||
/* Shut the company down */
|
||||
Command<Commands::CompanyControl>::Post(CCA_DELETE, c->index, CRR_AUTOCLEAN, INVALID_CLIENT_ID);
|
||||
Command<Commands::CompanyControl>::Post(CCA_DELETE, c->index, CompanyRemoveReason::Autoclean, INVALID_CLIENT_ID);
|
||||
IConsolePrint(CC_INFO, "Auto-cleaned company #{}.", c->index + 1);
|
||||
}
|
||||
/* Is the company empty for autoclean_novehicles-months, and has no vehicles? */
|
||||
if (_settings_client.network.autoclean_novehicles != 0 && c->months_empty > _settings_client.network.autoclean_novehicles && !has_vehicles.Test(c->index)) {
|
||||
/* Shut the company down */
|
||||
Command<Commands::CompanyControl>::Post(CCA_DELETE, c->index, CRR_AUTOCLEAN, INVALID_CLIENT_ID);
|
||||
Command<Commands::CompanyControl>::Post(CCA_DELETE, c->index, CompanyRemoveReason::Autoclean, INVALID_CLIENT_ID);
|
||||
IConsolePrint(CC_INFO, "Auto-cleaned company #{} with no vehicles.", c->index + 1);
|
||||
}
|
||||
} else {
|
||||
|
||||
@@ -1016,8 +1016,8 @@ struct ScriptDebugWindow : public Window {
|
||||
case WID_SCRD_RELOAD_TOGGLE:
|
||||
if (this->filter.script_debug_company == OWNER_DEITY) break;
|
||||
/* First kill the company of the AI, then start a new one. This should start the current AI again */
|
||||
Command<Commands::CompanyControl>::Post(CCA_DELETE, this->filter.script_debug_company, CRR_MANUAL, INVALID_CLIENT_ID);
|
||||
Command<Commands::CompanyControl>::Post(CCA_NEW_AI, this->filter.script_debug_company, CRR_NONE, INVALID_CLIENT_ID);
|
||||
Command<Commands::CompanyControl>::Post(CCA_DELETE, this->filter.script_debug_company, CompanyRemoveReason::Manual, INVALID_CLIENT_ID);
|
||||
Command<Commands::CompanyControl>::Post(CCA_NEW_AI, this->filter.script_debug_company, CompanyRemoveReason::None, INVALID_CLIENT_ID);
|
||||
break;
|
||||
|
||||
case WID_SCRD_SETTINGS:
|
||||
|
||||
Reference in New Issue
Block a user