OpenTTD Source 20260206-master-g4d4e37dbf1
goal.cpp File Reference

Handling of goals. More...

#include "stdafx.h"
#include "company_func.h"
#include "industry.h"
#include "town.h"
#include "window_func.h"
#include "goal_base.h"
#include "core/pool_func.hpp"
#include "game/game.hpp"
#include "command_func.h"
#include "company_base.h"
#include "story_base.h"
#include "string_func.h"
#include "gui.h"
#include "network/network.h"
#include "network/network_base.h"
#include "network/network_func.h"
#include "goal_cmd.h"
#include "safeguards.h"

Go to the source code of this file.

Functions

std::tuple< CommandCost, GoalIDCmdCreateGoal (DoCommandFlags flags, CompanyID company, GoalType type, GoalTypeID dest, const EncodedString &text)
 Create a new goal.
CommandCost CmdRemoveGoal (DoCommandFlags flags, GoalID goal)
 Remove a goal.
CommandCost CmdSetGoalDestination (DoCommandFlags flags, GoalID goal, GoalType type, GoalTypeID dest)
 Update goal destination of a goal.
CommandCost CmdSetGoalText (DoCommandFlags flags, GoalID goal, const EncodedString &text)
 Update goal text of a goal.
CommandCost CmdSetGoalProgress (DoCommandFlags flags, GoalID goal, const EncodedString &text)
 Update progress text of a goal.
CommandCost CmdSetGoalCompleted (DoCommandFlags flags, GoalID goal, bool completed)
 Update completed state of a goal.
CommandCost CmdGoalQuestion (DoCommandFlags flags, uint16_t uniqueid, uint32_t target, bool is_client, uint32_t button_mask, GoalQuestionType type, const EncodedString &text)
 Ask a goal related question.
CommandCost CmdGoalQuestionAnswer (DoCommandFlags flags, uint16_t uniqueid, uint8_t button)
 Reply to a goal question.

Variables

GoalPool _goal_pool ("Goal")

Detailed Description

Handling of goals.

Definition in file goal.cpp.

Function Documentation

◆ CmdCreateGoal()

std::tuple< CommandCost, GoalID > CmdCreateGoal ( DoCommandFlags flags,
CompanyID company,
GoalType type,
GoalTypeID dest,
const EncodedString & text )

Create a new goal.

Parameters
flagstype of operation
companyCompany for which this goal is.
typeGoalType of destination.
destGoalTypeID of destination.
textText of the goal.
Returns
the cost of this operation or an error

Definition at line 78 of file goal.cpp.

References _current_company, CMD_ERROR, Goal::company, Execute, InvalidateWindowClassesData(), InvalidateWindowData(), OWNER_DEITY, BaseBitSet< Timpl, Tvalue_type, Tstorage, Tmask >::Test(), WC_GOALS_LIST, and WC_MAIN_TOOLBAR.

◆ CmdGoalQuestion()

CommandCost CmdGoalQuestion ( DoCommandFlags flags,
uint16_t uniqueid,
uint32_t target,
bool is_client,
uint32_t button_mask,
GoalQuestionType type,
const EncodedString & text )

Ask a goal related question.

Parameters
flagstype of operation
uniqueidUnique ID to use for this question.
targetCompany or client for which this question is.
is_clientQuestion target: false - company, true - client.
button_maskButtons of the question.
typeQuestion type.
textText of the question.
Returns
the cost of this operation or an error

Definition at line 243 of file goal.cpp.

References _current_company, _local_company, _network_own_client_id, _network_server, CMD_ERROR, CountBits(), Execute, NetworkClientInfo::GetByClientID(), GOAL_QUESTION_BUTTON_COUNT, OWNER_DEITY, ShowGoalQuestion(), and BaseBitSet< Timpl, Tvalue_type, Tstorage, Tmask >::Test().

◆ CmdGoalQuestionAnswer()

CommandCost CmdGoalQuestionAnswer ( DoCommandFlags flags,
uint16_t uniqueid,
uint8_t button )

Reply to a goal question.

Parameters
flagstype of operation
uniqueidUnique ID to use for this question.
buttonButton the company pressed
Returns
the cost of this operation or an error

Definition at line 287 of file goal.cpp.

References _current_company, _local_company, _network_server, _networking, CloseWindowById(), CMD_ERROR, Execute, GOAL_QUESTION_BUTTON_COUNT, Game::NewEvent(), OWNER_DEITY, BaseBitSet< Timpl, Tvalue_type, Tstorage, Tmask >::Test(), and WC_GOAL_QUESTION.

◆ CmdRemoveGoal()

CommandCost CmdRemoveGoal ( DoCommandFlags flags,
GoalID goal )

Remove a goal.

Parameters
flagstype of operation
goalGoalID to remove.
Returns
the cost of this operation or an error

Definition at line 109 of file goal.cpp.

References _current_company, CMD_ERROR, Goal::company, Execute, InvalidateWindowClassesData(), InvalidateWindowData(), OWNER_DEITY, BaseBitSet< Timpl, Tvalue_type, Tstorage, Tmask >::Test(), WC_GOALS_LIST, and WC_MAIN_TOOLBAR.

◆ CmdSetGoalCompleted()

CommandCost CmdSetGoalCompleted ( DoCommandFlags flags,
GoalID goal,
bool completed )

Update completed state of a goal.

Parameters
flagstype of operation
goalGoalID to update.
completedcompleted state of goal.
Returns
the cost of this operation or an error

Definition at line 213 of file goal.cpp.

References _current_company, CMD_ERROR, Goal::company, Goal::completed, Execute, InvalidateWindowClassesData(), InvalidateWindowData(), OWNER_DEITY, BaseBitSet< Timpl, Tvalue_type, Tstorage, Tmask >::Test(), and WC_GOALS_LIST.

◆ CmdSetGoalDestination()

CommandCost CmdSetGoalDestination ( DoCommandFlags flags,
GoalID goal,
GoalType type,
GoalTypeID dest )

Update goal destination of a goal.

Parameters
flagstype of operation
goalGoalID to update.
typeGoalType of destination.
destGoalTypeID of destination.
Returns
the cost of this operation or an error

Definition at line 138 of file goal.cpp.

References _current_company, CMD_ERROR, Goal::company, Goal::dst, Execute, OWNER_DEITY, BaseBitSet< Timpl, Tvalue_type, Tstorage, Tmask >::Test(), and Goal::type.

◆ CmdSetGoalProgress()

CommandCost CmdSetGoalProgress ( DoCommandFlags flags,
GoalID goal,
const EncodedString & text )

Update progress text of a goal.

Parameters
flagstype of operation
goalGoalID to update.
textProgress text of the goal.
Returns
the cost of this operation or an error

Definition at line 187 of file goal.cpp.

References _current_company, CMD_ERROR, Goal::company, Execute, InvalidateWindowClassesData(), InvalidateWindowData(), OWNER_DEITY, Goal::progress, BaseBitSet< Timpl, Tvalue_type, Tstorage, Tmask >::Test(), and WC_GOALS_LIST.

◆ CmdSetGoalText()

CommandCost CmdSetGoalText ( DoCommandFlags flags,
GoalID goal,
const EncodedString & text )

Update goal text of a goal.

Parameters
flagstype of operation
goalGoalID to update.
textText of the goal.
Returns
the cost of this operation or an error

Definition at line 160 of file goal.cpp.

References _current_company, CMD_ERROR, Goal::company, Execute, InvalidateWindowClassesData(), InvalidateWindowData(), OWNER_DEITY, BaseBitSet< Timpl, Tvalue_type, Tstorage, Tmask >::Test(), Goal::text, and WC_GOALS_LIST.