OpenTTD Source 20241224-master-gf74b0cf984
|
Command definitions related to engine groups. More...
#include "command_type.h"
#include "group_type.h"
#include "vehicle_type.h"
#include "vehiclelist.h"
#include "vehiclelist_cmd.h"
Go to the source code of this file.
Enumerations | |
enum class | AlterGroupMode : uint8_t { Rename , SetParent } |
Action for CmdAlterGroup . More... | |
Functions | |
std::tuple< CommandCost, GroupID > | CmdCreateGroup (DoCommandFlag flags, VehicleType vt, GroupID parent_group) |
Create a new vehicle group. | |
CommandCost | CmdAlterGroup (DoCommandFlag flags, AlterGroupMode mode, GroupID group_id, GroupID parent_id, const std::string &text) |
Alter a group. | |
CommandCost | CmdDeleteGroup (DoCommandFlag flags, GroupID group_id) |
Add all vehicles in the given group to the default group and then deletes the group. | |
std::tuple< CommandCost, GroupID > | CmdAddVehicleGroup (DoCommandFlag flags, GroupID group_id, VehicleID veh_id, bool add_shared, const VehicleListIdentifier &vli) |
Add a vehicle to a group. | |
CommandCost | CmdAddSharedVehicleGroup (DoCommandFlag flags, GroupID id_g, VehicleType type) |
Add all shared vehicles of all vehicles from a group. | |
CommandCost | CmdRemoveAllVehiclesGroup (DoCommandFlag flags, GroupID group_id) |
Remove all vehicles from a group. | |
CommandCost | CmdSetGroupFlag (DoCommandFlag flags, GroupID group_id, GroupFlags flag, bool value, bool recursive) |
(Un)set group flag from a group | |
CommandCost | CmdSetGroupLivery (DoCommandFlag flags, GroupID group_id, bool primary, Colours colour) |
Set the livery for a vehicle group. | |
void | CcCreateGroup (Commands cmd, const CommandCost &result, GroupID new_group, VehicleType vt, GroupID parent_group) |
Opens a 'Rename group' window for newly created group. | |
void | CcAddVehicleNewGroup (Commands cmd, const CommandCost &result, GroupID new_group, GroupID, VehicleID veh_id, bool, const VehicleListIdentifier &) |
Open rename window after adding a vehicle to a new group via drag and drop. | |
Command definitions related to engine groups.
Definition in file group_cmd.h.
|
strong |
Action for CmdAlterGroup
.
Enumerator | |
---|---|
Rename | Change group name. |
SetParent | Change group parent. |
Definition at line 23 of file group_cmd.h.
void CcAddVehicleNewGroup | ( | Commands | cmd, |
const CommandCost & | result, | ||
GroupID | new_group, | ||
GroupID | , | ||
VehicleID | veh_id, | ||
bool | , | ||
const VehicleListIdentifier & | |||
) |
Open rename window after adding a vehicle to a new group via drag and drop.
result | Did command succeed? |
new_group | ID of the created group. |
Definition at line 1240 of file group_gui.cpp.
References CcCreateGroup(), CommandCost::Failed(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_group_pool >::Get(), and Group::vehicle_type.
Referenced by VehicleGroupWindow::OnDropdownSelect(), and VehicleListWindow::OnDropdownSelect().
void CcCreateGroup | ( | Commands | cmd, |
const CommandCost & | result, | ||
GroupID | new_group, | ||
VehicleType | vt, | ||
GroupID | parent_group | ||
) |
Opens a 'Rename group' window for newly created group.
result | Did command succeed? |
new_group | ID of the created group. |
vt | Vehicle type. |
Definition at line 1227 of file group_gui.cpp.
References CcCreateGroup(), CommandCost::Failed(), and VEH_AIRCRAFT.
CommandCost CmdAddSharedVehicleGroup | ( | DoCommandFlag | flags, |
GroupID | id_g, | ||
VehicleType | type | ||
) |
Add all shared vehicles of all vehicles from a group.
flags | type of operation |
id_g | index of group |
type | type of vehicles |
Definition at line 606 of file group_cmd.cpp.
References _current_company, CMD_ERROR, DC_EXEC, Vehicle::FirstShared(), GetWindowClassForVehicleType(), InvalidateWindowData(), IsCompanyBuildableVehicleType(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_group_pool >::IsValidID(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_vehicle_pool >::Iterate(), and Vehicle::NextShared().
std::tuple< CommandCost, GroupID > CmdAddVehicleGroup | ( | DoCommandFlag | flags, |
GroupID | group_id, | ||
VehicleID | veh_id, | ||
bool | add_shared, | ||
const VehicleListIdentifier & | vli | ||
) |
Add a vehicle to a group.
flags | type of operation |
group_id | index of group |
veh_id | vehicle to add to a group |
add_shared | Add shared vehicles as well. |
Definition at line 537 of file group_cmd.cpp.
References _current_company, AddVehicleToGroup(), CMD_ERROR, CmdCreateGroup(), DC_EXEC, Vehicle::FirstShared(), GenerateVehicleSortList(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_vehicle_pool >::Get(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_group_pool >::Get(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_vehicle_pool >::GetIfValid(), GetWindowClassForVehicleType(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem< Tpool >::index, INVALID_GROUP, INVALID_VEHICLE, InvalidateWindowData(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_group_pool >::IsValidID(), NEW_GROUP, Group::owner, SetWindowDirty(), Vehicle::tile, GroupStatistics::UpdateAutoreplace(), Group::vehicle_type, WC_REPLACE_VEHICLE, WC_VEHICLE_DEPOT, WC_VEHICLE_DETAILS, and WC_VEHICLE_VIEW.
CommandCost CmdAlterGroup | ( | DoCommandFlag | flags, |
AlterGroupMode | mode, | ||
GroupID | group_id, | ||
GroupID | parent_id, | ||
const std::string & | text | ||
) |
Alter a group.
flags | type of operation |
mode | Operation to perform. |
group_id | GroupID |
parent_id | parent group index |
text | the new name or an empty string when resetting to the default |
Definition at line 434 of file group_cmd.cpp.
References _current_company, CMD_ERROR, Livery::colour1, Livery::colour2, DC_EXEC, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_group_pool >::GetIfValid(), GetWindowClassForVehicleType(), GroupIsInGroup(), HasBit(), Livery::in_use, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem< Tpool >::index, INVALID_GROUP, InvalidateWindowClassesData(), InvalidateWindowData(), Group::livery, MarkWholeScreenDirty(), MAX_LENGTH_GROUP_NAME_CHARS, Group::name, Group::owner, VehicleListIdentifier::Pack(), Group::parent, PropagateChildLivery(), Rename, SetParent, GroupStatistics::UpdateAutoreplace(), Utf8StringLength(), Group::vehicle_type, WC_COMPANY_COLOUR, WC_REPLACE_VEHICLE, WC_VEHICLE_DETAILS, and WC_VEHICLE_VIEW.
std::tuple< CommandCost, GroupID > CmdCreateGroup | ( | DoCommandFlag | flags, |
VehicleType | vt, | ||
GroupID | parent_group | ||
) |
Create a new vehicle group.
flags | type of operation |
vt | vehicle type |
parent_group | parent groupid |
Definition at line 336 of file group_cmd.cpp.
References _current_company, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_group_pool >::CanAllocateItem(), CMD_ERROR, Livery::colour1, Livery::colour2, DC_EXEC, Group::flags, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_company_pool >::Get(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_group_pool >::GetIfValid(), GetWindowClassForVehicleType(), GF_REPLACE_WAGON_REMOVAL, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem< Tpool >::index, INVALID_GROUP, InvalidateWindowData(), IsCompanyBuildableVehicleType(), Group::livery, FreeUnitIDGenerator::NextID(), Group::number, Group::owner, Group::parent, CompanySettings::renew_keep_length, SetBit(), CompanyProperties::settings, FreeUnitIDGenerator::UseID(), Group::vehicle_type, and WC_COMPANY_COLOUR.
Referenced by CmdAddVehicleGroup().
CommandCost CmdDeleteGroup | ( | DoCommandFlag | flags, |
GroupID | group_id | ||
) |
Add all vehicles in the given group to the default group and then deletes the group.
flags | type of operation |
group_id | index of group |
Definition at line 382 of file group_cmd.cpp.
References _current_company, OrderBackup::ClearGroup(), CloseWindowById(), CMD_ERROR, DC_EXEC, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_company_pool >::Get(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_group_pool >::GetIfValid(), GetWindowClassForVehicleType(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem< Tpool >::index, InvalidateWindowData(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_group_pool >::Iterate(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_enginerenew_pool >::Iterate(), MAX_COMPANIES, Group::number, Group::owner, FreeUnitIDGenerator::ReleaseID(), RemoveEngineReplacementForCompany(), Group::vehicle_type, WC_COMPANY_COLOUR, and WC_REPLACE_VEHICLE.
CommandCost CmdRemoveAllVehiclesGroup | ( | DoCommandFlag | flags, |
GroupID | group_id | ||
) |
Remove all vehicles from a group.
flags | type of operation |
group_id | index of group |
Definition at line 637 of file group_cmd.cpp.
References _current_company, CMD_ERROR, DC_EXEC, DEFAULT_GROUP, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_group_pool >::GetIfValid(), GetWindowClassForVehicleType(), InvalidateWindowData(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_vehicle_pool >::Iterate(), Group::owner, VehicleListIdentifier::Pack(), and Group::vehicle_type.
CommandCost CmdSetGroupFlag | ( | DoCommandFlag | flags, |
GroupID | group_id, | ||
GroupFlags | flag, | ||
bool | value, | ||
bool | recursive | ||
) |
(Un)set group flag from a group
flags | type of operation |
group_id | index of group array |
flag | flag to set, by value not bit. |
value | value to set the flag to. |
recursive | to apply to sub-groups. |
Definition at line 722 of file group_cmd.cpp.
References _current_company, CMD_ERROR, DC_EXEC, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_group_pool >::GetIfValid(), GetWindowClassForVehicleType(), InvalidateWindowData(), Group::owner, VehicleListIdentifier::Pack(), SetGroupFlag(), SetWindowDirty(), Group::vehicle_type, and WC_REPLACE_VEHICLE.
CommandCost CmdSetGroupLivery | ( | DoCommandFlag | flags, |
GroupID | group_id, | ||
bool | primary, | ||
Colours | colour | ||
) |
Set the livery for a vehicle group.
flags | Command flags. |
group_id | Group ID. |
primary | Set primary instead of secondary colour |
colour | Colour. |
Definition at line 667 of file group_cmd.cpp.
References _current_company, AssignBit(), CMD_ERROR, Livery::colour1, Livery::colour2, DC_EXEC, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_group_pool >::GetIfValid(), Livery::in_use, Group::livery, MarkWholeScreenDirty(), Group::owner, and PropagateChildLivery().