OpenTTD Source 20250312-master-gcdcc6b491d
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()

◆ 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, Pool< Titem, Tindex, Tgrowth_step, Tpool_type, Tcache >::PoolItem<&_company_pool >::IsValidID(), 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()

◆ CmdSetGoalCompleted()

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

◆ 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, Pool< Titem, Tindex, Tgrowth_step, Tpool_type, Tcache >::PoolItem<&_goal_pool >::Get(), Pool< Titem, Tindex, Tgrowth_step, Tpool_type, Tcache >::PoolItem<&_goal_pool >::IsValidID(), OWNER_DEITY, BaseBitSet< Timpl, Tvalue_type, Tstorage, Tmask >::Test(), and Goal::type.

◆ CmdSetGoalProgress()

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

◆ CmdSetGoalText()