OpenTTD Source 20241224-master-gf74b0cf984
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 (DoCommandFlag flags, CompanyID company, GoalType type, GoalTypeID dest, const std::string &text)
 Create a new goal.
 
CommandCost CmdRemoveGoal (DoCommandFlag flags, GoalID goal)
 Remove a goal.
 
CommandCost CmdSetGoalDestination (DoCommandFlag flags, GoalID goal, GoalType type, GoalTypeID dest)
 Update goal destination of a goal.
 
CommandCost CmdSetGoalText (DoCommandFlag flags, GoalID goal, const std::string &text)
 Update goal text of a goal.
 
CommandCost CmdSetGoalProgress (DoCommandFlag flags, GoalID goal, const std::string &text)
 Update progress text of a goal.
 
CommandCost CmdSetGoalCompleted (DoCommandFlag flags, GoalID goal, bool completed)
 Update completed state of a goal.
 
CommandCost CmdGoalQuestion (DoCommandFlag flags, uint16_t uniqueid, uint32_t target, bool is_client, uint32_t button_mask, GoalQuestionType type, const std::string &text)
 Ask a goal related question.
 
CommandCost CmdGoalQuestionAnswer (DoCommandFlag 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 ( DoCommandFlag  flags,
uint16_t  uniqueid,
uint32_t  target,
bool  is_client,
uint32_t  button_mask,
GoalQuestionType  type,
const std::string &  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 248 of file goal.cpp.

References _current_company, _local_company, _network_own_client_id, _network_server, CMD_ERROR, CountBits(), DC_EXEC, NetworkClientInfo::GetByClientID(), GOAL_QUESTION_BUTTON_COUNT, INVALID_COMPANY, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_company_pool >::IsValidID(), OWNER_DEITY, and ShowGoalQuestion().

◆ CmdGoalQuestionAnswer()

CommandCost CmdGoalQuestionAnswer ( DoCommandFlag  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 292 of file goal.cpp.

References _current_company, _local_company, _network_server, _networking, CloseWindowById(), CMD_ERROR, DC_EXEC, GOAL_QUESTION_BUTTON_COUNT, Game::NewEvent(), OWNER_DEITY, and WC_GOAL_QUESTION.

◆ CmdRemoveGoal()

◆ CmdSetGoalCompleted()

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

◆ CmdSetGoalDestination()

CommandCost CmdSetGoalDestination ( DoCommandFlag  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 143 of file goal.cpp.

References _current_company, CMD_ERROR, Goal::company, DC_EXEC, Goal::dst, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_goal_pool >::Get(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_goal_pool >::IsValidID(), OWNER_DEITY, and Goal::type.

◆ CmdSetGoalProgress()

CommandCost CmdSetGoalProgress ( DoCommandFlag  flags,
GoalID  goal,
const std::string &  text 
)

◆ CmdSetGoalText()

CommandCost CmdSetGoalText ( DoCommandFlag  flags,
GoalID  goal,
const std::string &  text 
)