OpenTTD Source 20260108-master-g8ba1860eaa
signs_base.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 <https://www.gnu.org/licenses/old-licenses/gpl-2.0>.
6 */
7
10#ifndef SIGNS_BASE_H
11#define SIGNS_BASE_H
12
13#include "signs_type.h"
14#include "viewport_type.h"
15#include "core/pool_type.hpp"
16#include "company_type.h"
17
19extern SignPool _sign_pool;
20
21struct Sign : SignPool::PoolItem<&_sign_pool> {
22 std::string name{};
24 int32_t x = 0;
25 int32_t y = 0;
26 int32_t z = 0;
27 Owner owner = INVALID_OWNER; // Placed by this company. Anyone can delete them though. OWNER_NONE for gray signs from old games.
28 Colours text_colour = COLOUR_WHITE; // Colour of the sign's text. Only relevant for OWNER_DEITY.
29
31 Sign(SignID index, Owner owner, int32_t x, int32_t y, int32_t z, const std::string &name) :
32 SignPool::PoolItem<&_sign_pool>(index), name(name), x(x), y(y), z(z), owner(owner) {}
33 ~Sign();
34
35 void UpdateVirtCoord();
36};
37
38#endif /* SIGNS_BASE_H */
Types related to companies.
static constexpr Owner INVALID_OWNER
An invalid owner.
Definition of Pool, structure used to access PoolItems, and PoolItem, base structure for Vehicle,...
SignPool _sign_pool("Sign")
Initialize the sign-pool.
Types related to signs.
Base class for all PoolItems.
const Tindex index
Index of this pool item.
Base class for all pools.
void UpdateVirtCoord()
Update the coordinate of one sign.
Definition signs.cpp:38
~Sign()
Destroy the sign.
Definition signs.cpp:28
Specialised ViewportSign that tracks whether it is valid for entering into a Kdtree.
Types related to viewports.