mirror of
https://github.com/OpenTTD/OpenTTD
synced 2026-01-24 12:44:10 +01:00
Codechange: strongly type CompanyID
This commit is contained in:
@@ -40,7 +40,7 @@
|
||||
/* static */ ScriptCompany::CompanyID ScriptCompany::ToScriptCompanyID(::CompanyID company)
|
||||
{
|
||||
if (company == ::INVALID_COMPANY) return ScriptCompany::COMPANY_INVALID;
|
||||
return static_cast<::ScriptCompany::CompanyID>(company);
|
||||
return static_cast<::ScriptCompany::CompanyID>(company.base());
|
||||
}
|
||||
|
||||
/* static */ ScriptCompany::CompanyID ScriptCompany::ResolveCompanyID(ScriptCompany::CompanyID company)
|
||||
|
||||
@@ -30,7 +30,7 @@ public:
|
||||
/** Different constants related to CompanyID. */
|
||||
enum CompanyID {
|
||||
/* Note: these values represent part of the in-game Owner enum */
|
||||
COMPANY_FIRST = ::COMPANY_FIRST, ///< The first available company.
|
||||
COMPANY_FIRST = ::COMPANY_FIRST.base(), ///< The first available company.
|
||||
COMPANY_LAST = ::MAX_COMPANIES, ///< The last available company.
|
||||
|
||||
/* Custom added value, only valid for this API */
|
||||
|
||||
@@ -136,7 +136,7 @@
|
||||
/* static */ bool ScriptGoal::Question(SQInteger uniqueid, ScriptCompany::CompanyID company, Text *question, QuestionType type, SQInteger buttons)
|
||||
{
|
||||
EnforcePrecondition(false, company == ScriptCompany::COMPANY_INVALID || ScriptCompany::ResolveCompanyID(company) != ScriptCompany::COMPANY_INVALID);
|
||||
return DoQuestion(uniqueid, ScriptCompany::FromScriptCompanyID(company), false, question, type, buttons);
|
||||
return DoQuestion(uniqueid, ScriptCompany::FromScriptCompanyID(company).base(), false, question, type, buttons);
|
||||
}
|
||||
|
||||
/* static */ bool ScriptGoal::QuestionClient(SQInteger uniqueid, ScriptClient::ClientID client, Text *question, QuestionType type, SQInteger buttons)
|
||||
|
||||
@@ -57,6 +57,6 @@
|
||||
}
|
||||
|
||||
/* Also still print to debug window */
|
||||
Debug(script, level, "[{}] [{}] {}", (uint)ScriptObject::GetRootCompany(), logc, line.text);
|
||||
Debug(script, level, "[{}] [{}] {}", ScriptObject::GetRootCompany(), logc, line.text);
|
||||
InvalidateWindowClassesData(WC_SCRIPT_DEBUG, ScriptObject::GetRootCompany());
|
||||
}
|
||||
|
||||
@@ -330,7 +330,7 @@ private:
|
||||
static std::tuple<bool, bool, bool, bool> DoCommandPrep();
|
||||
static bool DoCommandProcessResult(const CommandCost &res, Script_SuspendCallbackProc *callback, bool estimate_only, bool asynchronous);
|
||||
static CommandCallbackData *GetDoCommandCallback();
|
||||
using RandomizerArray = ReferenceThroughBaseContainer<std::array<Randomizer, OWNER_END>>;
|
||||
using RandomizerArray = ReferenceThroughBaseContainer<std::array<Randomizer, OWNER_END.base()>>;
|
||||
static RandomizerArray random_states; ///< Random states for each of the scripts (game script uses OWNER_DEITY)
|
||||
};
|
||||
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
company = ScriptCompany::ResolveCompanyID(company);
|
||||
EnforcePrecondition(false, company != ScriptCompany::COMPANY_INVALID);
|
||||
|
||||
return ScriptObject::Command<CMD_SCROLL_VIEWPORT>::Do(tile, VST_COMPANY, ScriptCompany::FromScriptCompanyID(company));
|
||||
return ScriptObject::Command<CMD_SCROLL_VIEWPORT>::Do(tile, VST_COMPANY, ScriptCompany::FromScriptCompanyID(company).base());
|
||||
}
|
||||
|
||||
/* static */ bool ScriptViewport::ScrollClientTo(ScriptClient::ClientID client, TileIndex tile)
|
||||
|
||||
Reference in New Issue
Block a user