mirror of https://github.com/OpenTTD/OpenTTD
Fix #10405, a3dd750: [Script] Test engine and vehicle type validity for ScriptGroup::GetNumEngines (#11887)
parent
5b3bfe4c4c
commit
fa64fff4a5
|
@ -111,7 +111,10 @@
|
||||||
/* static */ SQInteger ScriptGroup::GetNumEngines(GroupID group_id, EngineID engine_id)
|
/* static */ SQInteger ScriptGroup::GetNumEngines(GroupID group_id, EngineID engine_id)
|
||||||
{
|
{
|
||||||
EnforceCompanyModeValid(-1);
|
EnforceCompanyModeValid(-1);
|
||||||
if (!IsValidGroup(group_id) && group_id != GROUP_DEFAULT && group_id != GROUP_ALL) return -1;
|
if (!ScriptEngine::IsValidEngine(engine_id)) return -1;
|
||||||
|
bool valid_group = IsValidGroup(group_id);
|
||||||
|
if (!valid_group && group_id != GROUP_DEFAULT && group_id != GROUP_ALL) return -1;
|
||||||
|
if (valid_group && ScriptEngine::GetVehicleType(engine_id) != GetVehicleType(group_id)) return -1;
|
||||||
|
|
||||||
return GetGroupNumEngines(ScriptObject::GetCompany(), group_id, engine_id);
|
return GetGroupNumEngines(ScriptObject::GetCompany(), group_id, engine_id);
|
||||||
}
|
}
|
||||||
|
|
|
@ -128,7 +128,9 @@ public:
|
||||||
* Get the number of engines in a given group.
|
* Get the number of engines in a given group.
|
||||||
* @param group_id The group to get the number of engines in.
|
* @param group_id The group to get the number of engines in.
|
||||||
* @param engine_id The engine id to count.
|
* @param engine_id The engine id to count.
|
||||||
* @pre IsValidGroup(group_id) || group_id == GROUP_ALL || group_id == GROUP_DEFAULT.
|
* @pre ScriptEngine::IsValidEngine(engine_id).
|
||||||
|
* @pre (IsValidGroup(group_id) && ScriptEngine::GetVehicleType(engine_id) == GetVehicleType(group_id)) ||
|
||||||
|
group_id == GROUP_ALL || group_id == GROUP_DEFAULT.
|
||||||
* @game @pre ScriptCompanyMode::IsValid().
|
* @game @pre ScriptCompanyMode::IsValid().
|
||||||
* @return The number of engines with id engine_id in the group with id group_id.
|
* @return The number of engines with id engine_id in the group with id group_id.
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue