OpenTTD

- Main Page
- Related Pages
- Modules
- Namespaces
- Data Structures
- Files

- Data Structures
- Class Hierarchy
- Data Fields

Public Member Functions | Static Public Member Functions | Data Fields | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes
NewGRFClass< Tspec, Tid, Tmax > Struct Template Reference

Struct containing information relating to NewGRF classes for stations and airports. More...

`#include <newgrf_class.h>`

## Public Member Functions
void | Insert (Tspec *spec)
uint | GetSpecCount () const
| Get the number of allocated specs within the class.
uint | GetUISpecCount () const
| Get the number of potentially user-available specs within the class.
int | GetUIFromIndex (int index) const
int | GetIndexFromUI (int ui_index) const
const Tspec * | GetSpec (uint index) const
bool | IsUIAvailable (uint index) const
| Check whether the spec will be available to the user at some point in time.

## Static Public Member Functions
static void | Reset ()
static Tid | Allocate (uint32 global_id)
static void | Assign (Tspec *spec)
static uint | GetClassCount ()
static uint | GetUIClassCount ()
static Tid | GetUIClass (uint index)
static NewGRFClass * | Get (Tid cls_id)
| Get a particular class.
static const Tspec * | GetByGrf (uint32 grfid, byte local_id, int *index)

## Data Fields
uint32 | global_id
| Global ID for class, e.g. 'DFLT', 'WAYP', etc.
StringID | name
| Name of this class.

## Private Member Functions
void | ResetClass ()

## Static Private Member Functions
static void | InsertDefaults ()
| Initialise the defaults.

## Private Attributes
uint | count
| Number of specs in this class.
uint | ui_count
| Number of specs in this class potentially available to the user.
Tspec ** | spec
| Array of specifications.

## Static Private Attributes
static NewGRFClass< Tspec, Tid, Tmax > | classes [Tmax]
| The actual classes.

## Detailed Description

### template<typename Tspec, typename Tid, Tid Tmax>
struct NewGRFClass< Tspec, Tid, Tmax >

Struct containing information relating to NewGRF classes for stations and airports.

Definition at line 21 of file newgrf_class.h.

## Member Function Documentation

template<typename Tspec , typename Tid , Tid Tmax>

NewGRFClass< Tspec, Tid, Tmax > * NewGRFClass< Tspec, Tid, Tmax >::Get | ( | Tid | cls_id | ) |
| static

Get a particular class.

Parameters

  cls_id | The id for the class.

Precondition
  cls_id < Tmax

Definition at line 105 of file newgrf_class_func.h.

Referenced by BuildAirportWindow::BuildAirportClassDropDown(), BuildObjectWindow::CanRestoreSelectedObject(), CheckFlatLandRailStation(), CmdBuildRailStation(), CmdBuildRailWaypoint(), DrawStationTile(), BuildObjectWindow::DrawWidget(), BuildAirportWindow::DrawWidget(), BuildRailStationWindow::DrawWidget(), BuildRailWaypointWindow::DrawWidget(), BuildObjectWindow::EnsureSelectedObjectClassIsVisible(), NewGRFClass< Tspec, Tid, Tmax >::InsertDefaults(), MoveWaypointsToBaseStations(), ObjectChangeInfo(), BuildObjectWindow::OnClick(), BuildAirportWindow::OnClick(), BuildRailToolbarWindow::OnClick(), BuildRailStationWindow::OnClick(), BuildRailWaypointWindow::OnClick(), BuildAirportWindow::OnDropdownSelect(), BuildAirportWindow::OnPaint(), BuildRailStationWindow::OnPaint(), PlaceAirport(), PlaceProc_Object(), BuildAirportWindow::SelectFirstAvailableAirport(), BuildObjectWindow::SelectFirstAvailableObject(), BuildObjectWindow::SelectOtherClass(), BuildObjectWindow::SelectOtherObject(), BuildObjectWindow::SetStringParameters(), BuildAirportWindow::SetStringParameters(), BuildRailStationWindow::SetStringParameters(), ShowStationBuilder(), BuildObjectWindow::UpdateWidgetSize(), BuildAirportWindow::UpdateWidgetSize(), and BuildRailStationWindow::UpdateWidgetSize().

template<typename Tspec , typename Tid , Tid Tmax>

uint NewGRFClass< Tspec, Tid, Tmax >::GetSpecCount | ( |  | ) | const
| inline

Get the number of allocated specs within the class.

Definition at line 46 of file newgrf_class.h.

References NewGRFClass< Tspec, Tid, Tmax >::count.

Referenced by BuildObjectWindow::CanRestoreSelectedObject(), CmdBuildRailStation(), BuildAirportWindow::DrawWidget(), MoveWaypointsToBaseStations(), BuildRailToolbarWindow::OnClick(), BuildRailStationWindow::OnClick(), BuildAirportWindow::SelectFirstAvailableAirport(), BuildObjectWindow::SelectFirstAvailableObject(), ShowStationBuilder(), and BuildRailStationWindow::UpdateWidgetSize().

template<typename Tspec , typename Tid , Tid Tmax>

uint NewGRFClass< Tspec, Tid, Tmax >::GetUISpecCount | ( |  | ) | const
| inline

Get the number of potentially user-available specs within the class.

Definition at line 48 of file newgrf_class.h.

References NewGRFClass< Tspec, Tid, Tmax >::ui_count.

Referenced by BuildObjectWindow::DrawWidget(), BuildObjectWindow::SelectOtherClass(), and BuildObjectWindow::UpdateWidgetSize().

template<typename Tspec , typename Tid , Tid Tmax>

void NewGRFClass< Tspec, Tid, Tmax >::InsertDefaults | ( |  | ) |
| static private

Initialise the defaults.

Reset airport classes to their default state.

This includes initialising the defaults classes with an empty entry, for standard airports.

Definition at line 60 of file newgrf_airport.cpp.

References NewGRFClass< Tspec, Tid, Tmax >::Get(), and NewGRFClass< Tspec, Tid, Tmax >::name.

template<typename Tspec , typename Tid , Tid Tmax>

bool NewGRFClass< Tspec, Tid, Tmax >::IsUIAvailable | ( | uint | index | ) | const

Check whether the spec will be available to the user at some point in time.

Definition at line 69 of file newgrf_airport.cpp.

## Field Documentation

template<typename Tspec , typename Tid , Tid Tmax>

NewGRFClass< Tspec, Tid, Tmax > NewGRFClass< Tspec, Tid, Tmax >::classes
| static private

The actual classes.

Instantiate the array.

Note
  We store pointers to membes of this array in various places outside this class (e.g. to 'name' for GRF string resolving). Thus this must be a static array, and cannot be a self-resizing SmallVector or similar.

Definition at line 32 of file newgrf_class.h.

The documentation for this struct was generated from the following files:

- src/newgrf_class.h
- src/newgrf_airport.cpp
- src/newgrf_class_func.h
- src/newgrf_object.cpp
- src/newgrf_station.cpp