OpenTTD Source  20241108-master-g80f628063a
story_cmd.h File Reference

Command definitions related to stories. More...

#include "command_type.h"
#include "company_type.h"
#include "story_type.h"
#include "vehicle_type.h"

Go to the source code of this file.

Functions

std::tuple< CommandCost, StoryPageIDCmdCreateStoryPage (DoCommandFlag flags, CompanyID company, const std::string &text)
 Create a new story page. More...
 
std::tuple< CommandCost, StoryPageElementIDCmdCreateStoryPageElement (DoCommandFlag flags, TileIndex tile, StoryPageID page_id, StoryPageElementType type, uint32_t reference, const std::string &text)
 Create a new story page element. More...
 
CommandCost CmdUpdateStoryPageElement (DoCommandFlag flags, TileIndex tile, StoryPageElementID page_element_id, uint32_t reference, const std::string &text)
 Update a new story page element. More...
 
CommandCost CmdSetStoryPageTitle (DoCommandFlag flags, StoryPageID page_id, const std::string &text)
 Update title of a story page. More...
 
CommandCost CmdSetStoryPageDate (DoCommandFlag flags, StoryPageID page_id, TimerGameCalendar::Date date)
 Update date of a story page. More...
 
CommandCost CmdShowStoryPage (DoCommandFlag flags, StoryPageID page_id)
 Display a story page for all clients that are allowed to view the story page. More...
 
CommandCost CmdRemoveStoryPage (DoCommandFlag flags, StoryPageID page_id)
 Remove a story page and associated story page elements. More...
 
CommandCost CmdRemoveStoryPageElement (DoCommandFlag flags, StoryPageElementID page_element_id)
 Remove a story page element. More...
 
CommandCost CmdStoryPageButton (DoCommandFlag flags, TileIndex tile, StoryPageElementID page_element_id, VehicleID reference)
 Clicked/used a button on a story page. More...
 

Detailed Description

Command definitions related to stories.

Definition in file story_cmd.h.

Function Documentation

◆ CmdCreateStoryPage()

std::tuple<CommandCost, StoryPageID> CmdCreateStoryPage ( DoCommandFlag  flags,
CompanyID  company,
const std::string &  text 
)

Create a new story page.

Parameters
flagstype of operation
companyCompany for which this story page belongs to.
textTitle of the story page. Null is allowed in which case a generic page title is provided by OpenTTD.
Returns
the cost of this operation or an error

Definition at line 209 of file story.cpp.

References _current_company, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_story_page_pool >::CanAllocateItem(), CMD_ERROR, DC_EXEC, INVALID_COMPANY, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_company_pool >::IsValidID(), and OWNER_DEITY.

◆ CmdCreateStoryPageElement()

std::tuple<CommandCost, StoryPageElementID> CmdCreateStoryPageElement ( DoCommandFlag  flags,
TileIndex  tile,
StoryPageID  page_id,
StoryPageElementType  type,
uint32_t  reference,
const std::string &  text 
)

Create a new story page element.

Parameters
flagstype of operation
tileTile location if it is a location page element, otherwise unused.
page_idThe page which the element belongs to.
typePage element type
referenceId of referenced object
textText content in case it is a text or location page element
Returns
the cost of this operation or an error

Definition at line 248 of file story.cpp.

References Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_story_page_element_pool >::CanAllocateItem(), and CMD_ERROR.

◆ CmdRemoveStoryPage()

◆ CmdRemoveStoryPageElement()

CommandCost CmdRemoveStoryPageElement ( DoCommandFlag  flags,
StoryPageElementID  page_element_id 
)

◆ CmdSetStoryPageDate()

CommandCost CmdSetStoryPageDate ( DoCommandFlag  flags,
StoryPageID  page_id,
TimerGameCalendar::Date  date 
)

◆ CmdSetStoryPageTitle()

CommandCost CmdSetStoryPageTitle ( DoCommandFlag  flags,
StoryPageID  page_id,
const std::string &  text 
)

Update title of a story page.

Parameters
flagstype of operation
page_idStoryPageID to update.
texttitle text of the story page.
Returns
the cost of this operation or an error

Definition at line 320 of file story.cpp.

References _current_company, CMD_ERROR, DC_EXEC, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_story_page_pool >::Get(), InvalidateWindowClassesData(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_story_page_pool >::IsValidID(), OWNER_DEITY, StoryPage::title, and WC_STORY_BOOK.

◆ CmdShowStoryPage()

◆ CmdStoryPageButton()

◆ CmdUpdateStoryPageElement()

CommandCost CmdUpdateStoryPageElement ( DoCommandFlag  flags,
TileIndex  tile,
StoryPageElementID  page_element_id,
uint32_t  reference,
const std::string &  text 
)

Update a new story page element.

Parameters
flagstype of operation
tileTile location if it is a location page element, otherwise unused.
page_element_idThe page element to update.
referenceId of referenced object
textText content in case it is a text or location page element
Returns
the cost of this operation or an error

Definition at line 294 of file story.cpp.

References _current_company, CMD_ERROR, DC_EXEC, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_story_page_element_pool >::Get(), InvalidateWindowClassesData(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_story_page_element_pool >::IsValidID(), OWNER_DEITY, StoryPageElement::page, StoryPageElement::type, UpdateElement(), VerifyElementContentParameters(), and WC_STORY_BOOK.