From 5a5944867dfeaa556ec78c23af4796adb28a6a9f Mon Sep 17 00:00:00 2001 From: Peter Nelson Date: Fri, 15 Feb 2019 20:14:50 +0000 Subject: Add: Add parent_group_id parameter to CreateGroup() --- src/script/api/ai/ai_group.hpp.sq | 2 +- src/script/api/ai_changelog.hpp | 1 + src/script/api/script_group.cpp | 4 ++-- src/script/api/script_group.hpp | 3 ++- 4 files changed, 6 insertions(+), 4 deletions(-) (limited to 'src/script/api') diff --git a/src/script/api/ai/ai_group.hpp.sq b/src/script/api/ai/ai_group.hpp.sq index cae6cb3ac..5fa50ae1b 100644 --- a/src/script/api/ai/ai_group.hpp.sq +++ b/src/script/api/ai/ai_group.hpp.sq @@ -26,7 +26,7 @@ void SQAIGroup_Register(Squirrel *engine) SQAIGroup.DefSQConst(engine, ScriptGroup::GROUP_INVALID, "GROUP_INVALID"); SQAIGroup.DefSQStaticMethod(engine, &ScriptGroup::IsValidGroup, "IsValidGroup", 2, ".i"); - SQAIGroup.DefSQStaticMethod(engine, &ScriptGroup::CreateGroup, "CreateGroup", 2, ".i"); + SQAIGroup.DefSQStaticMethod(engine, &ScriptGroup::CreateGroup, "CreateGroup", 3, ".ii"); SQAIGroup.DefSQStaticMethod(engine, &ScriptGroup::DeleteGroup, "DeleteGroup", 2, ".i"); SQAIGroup.DefSQStaticMethod(engine, &ScriptGroup::GetVehicleType, "GetVehicleType", 2, ".i"); SQAIGroup.DefSQStaticMethod(engine, &ScriptGroup::SetName, "SetName", 3, ".i."); diff --git a/src/script/api/ai_changelog.hpp b/src/script/api/ai_changelog.hpp index 24b5d5b51..0afe4e08c 100644 --- a/src/script/api/ai_changelog.hpp +++ b/src/script/api/ai_changelog.hpp @@ -29,6 +29,7 @@ * * Other changes: * \li AIBridge::GetName takes one extra parameter to refer the vehicle type + * \li AIGroup::CreateGroup gains parent_group_id parameter * * \b 1.8.0 * diff --git a/src/script/api/script_group.cpp b/src/script/api/script_group.cpp index 0e89c3c60..16a50bc17 100644 --- a/src/script/api/script_group.cpp +++ b/src/script/api/script_group.cpp @@ -28,9 +28,9 @@ return g != NULL && g->owner == ScriptObject::GetCompany(); } -/* static */ ScriptGroup::GroupID ScriptGroup::CreateGroup(ScriptVehicle::VehicleType vehicle_type) +/* static */ ScriptGroup::GroupID ScriptGroup::CreateGroup(ScriptVehicle::VehicleType vehicle_type, GroupID parent_group_id) { - if (!ScriptObject::DoCommand(0, (::VehicleType)vehicle_type, INVALID_GROUP, CMD_CREATE_GROUP, NULL, &ScriptInstance::DoCommandReturnGroupID)) return GROUP_INVALID; + if (!ScriptObject::DoCommand(0, (::VehicleType)vehicle_type, parent_group_id, CMD_CREATE_GROUP, NULL, &ScriptInstance::DoCommandReturnGroupID)) return GROUP_INVALID; /* In case of test-mode, we return GroupID 0 */ return (ScriptGroup::GroupID)0; diff --git a/src/script/api/script_group.hpp b/src/script/api/script_group.hpp index a41196718..9e88eaff1 100644 --- a/src/script/api/script_group.hpp +++ b/src/script/api/script_group.hpp @@ -42,11 +42,12 @@ public: /** * Create a new group. * @param vehicle_type The type of vehicle to create a group for. + * @param parent_group_id The parent group id to create this group under, INVALID_GROUP for top-level. * @return The GroupID of the new group, or an invalid GroupID when * it failed. Check the return value using IsValidGroup(). In test-mode * 0 is returned if it was successful; any other value indicates failure. */ - static GroupID CreateGroup(ScriptVehicle::VehicleType vehicle_type); + static GroupID CreateGroup(ScriptVehicle::VehicleType vehicle_type, GroupID parent_group_id); /** * Delete the given group. When the deletion succeeds all vehicles in the -- cgit v1.2.3-54-g00ecf