OpenTTD Source  20241108-master-g80f628063a
league_cmd.h
Go to the documentation of this file.
1 /*
2  * This file is part of OpenTTD.
3  * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
4  * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
5  * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
6  */
7 
10 #ifndef LEAGUE_CMD_H
11 #define LEAGUE_CMD_H
12 
13 #include "league_type.h"
14 #include "command_type.h"
15 #include "company_type.h"
16 
17 std::tuple<CommandCost, LeagueTableID> CmdCreateLeagueTable(DoCommandFlag flags, const std::string &title, const std::string &header, const std::string &footer);
18 std::tuple<CommandCost, LeagueTableElementID> CmdCreateLeagueTableElement(DoCommandFlag flags, LeagueTableID table, int64_t rating, CompanyID company, const std::string &text, const std::string &score, LinkType link_type, LinkTargetID link_target);
19 CommandCost CmdUpdateLeagueTableElementData(DoCommandFlag flags, LeagueTableElementID element, CompanyID company, const std::string &text, LinkType link_type, LinkTargetID link_target);
20 CommandCost CmdUpdateLeagueTableElementScore(DoCommandFlag flags, LeagueTableElementID element, int64_t rating, const std::string &score);
22 
28 
29 #endif /* LEAGUE_CMD_H */
Common return value for all commands.
Definition: command_type.h:23
Types related to commands.
@ CMDT_OTHER_MANAGEMENT
Renaming stuff, changing company colours, placing signs, etc.
Definition: command_type.h:419
DoCommandFlag
List of flags for a command.
Definition: command_type.h:374
@ CMD_UPDATE_LEAGUE_TABLE_ELEMENT_DATA
update the data fields of a league table element
Definition: command_type.h:362
@ CMD_REMOVE_LEAGUE_TABLE_ELEMENT
remove a league table element
Definition: command_type.h:364
@ CMD_CREATE_LEAGUE_TABLE_ELEMENT
create a new element in a league table
Definition: command_type.h:361
@ CMD_CREATE_LEAGUE_TABLE
create a new league table
Definition: command_type.h:360
@ CMD_UPDATE_LEAGUE_TABLE_ELEMENT_SCORE
update the score of a league table element
Definition: command_type.h:363
@ CMD_STR_CTRL
the command's string may contain control strings
Definition: command_type.h:406
@ CMD_DEITY
the command may be executed by COMPANY_DEITY
Definition: command_type.h:405
Types related to companies.
Owner
Enum for all companies/owners.
Definition: company_type.h:18
CommandCost CmdRemoveLeagueTableElement(DoCommandFlag flags, LeagueTableElementID element)
Remove a league table element.
Definition: league_cmd.cpp:164
std::tuple< CommandCost, LeagueTableID > CmdCreateLeagueTable(DoCommandFlag flags, const std::string &title, const std::string &header, const std::string &footer)
Create a new league table.
Definition: league_cmd.cpp:56
CommandCost CmdUpdateLeagueTableElementScore(DoCommandFlag flags, LeagueTableElementID element, int64_t rating, const std::string &score)
Update the score of a league table element.
Definition: league_cmd.cpp:144
std::tuple< CommandCost, LeagueTableElementID > CmdCreateLeagueTableElement(DoCommandFlag flags, LeagueTableID table, int64_t rating, CompanyID company, const std::string &text, const std::string &score, LinkType link_type, LinkTargetID link_target)
Create a new element in a league table.
Definition: league_cmd.cpp:86
CommandCost CmdUpdateLeagueTableElementData(DoCommandFlag flags, LeagueTableElementID element, CompanyID company, const std::string &text, LinkType link_type, LinkTargetID link_target)
Update the attributes of a league table element.
Definition: league_cmd.cpp:118
basic types related to league tables
uint16_t LeagueTableElementID
ID of a league table element.
Definition: league_type.h:36
uint8_t LeagueTableID
ID of a league table.
Definition: league_type.h:32
LinkType
Types of the possible link targets.
Definition: league_type.h:14
uint32_t LinkTargetID
Contains either tile, industry ID, town ID, story page ID or company ID.
Definition: league_type.h:23