# Data Structures

Here are the data structures with brief descriptions:

AdaptT< T > | Adapter wrapper for CCountedPtr like classes that can't be used directly by stl collections as item type
AI_FatalError | A throw-class that is given when the AI made a fatal error
AI_VMSuspend | A throw-class that is given when the VM wants to suspend
AIAbstractList | Class that creates a list which can keep item/value pairs, which you can walk
AIAbstractListSorter | Base class for any AIAbstractList sorter
AIAbstractListSorterItemAscending | Sort by item, ascending
AIAbstractListSorterItemDescending | Sort by item, descending
AIAbstractListSorterValueAscending | Sort by value, ascending
AIAbstractListSorterValueDescending | Sort by value, descending
AIAccounting | Class that keeps track of the costs, so you can request how much a block of commands did cost in total
AIAirport | Class that handles all airport related functions
AIBase | Class that handles some basic functions
AIBaseStation | Base class for stations and waypoints
AIBridge | Class that handles all bridge related functions
AIBridgeList | Create a list of bridges
AIBridgeList_Length | Create a list of bridges that can be built on a specific length
AIBuoyList | Creates a list of buoys
AICargo | Class that handles all cargo related functions
AICargoList | Creates a list of cargos that can be produced in the current game
AICargoList_IndustryAccepting | Creates a list of cargos that the given industry accepts
AICargoList_IndustryProducing | Creates a list of cargos that the given industry can produce
AICompany | Class that handles all company related functions
AIConfigWindow | Window to configure which AIs will start
AIController | The Controller, the class each AI should extend
AIDate | Class that handles all date related (calculation) functions
AIDebugWindow | Window with everything an AI prints via AILog
AIDepotList | Creates a list of the locations of the depots (and hangars) of which you are the owner
AIEngine | Class that handles all engine related functions
AIEngineList | Create a list of engines based on a vehicle type
AIError | Class that handles all error related functions
AIEvent | Class that handles all event related functions
AIEventCompanyAskMerger | Event Company Ask Merger, indicating a company can be bought (cheaply) by you
AIEventCompanyBankrupt | Event Company Bankrupt, indicating a company has gone bankrupt
AIEventCompanyInTrouble | Event Company In Trouble, indicating a company is in trouble and might go bankrupt soon
AIEventCompanyMerger | Event Company Merger, indicating a company has been bought by another company
AIEventCompanyNew | Event Company New, indicating a new company has been created
AIEventController | Class that handles all event related functions
AIEventDisasterZeppelinerCleared | Event Disaster Zeppeliner Cleared, indicating a previously crashed zeppeliner has been removed, and the airport is operating again
AIEventDisasterZeppelinerCrashed | Event Disaster Zeppeliner Crashed, indicating a zeppeliner has crashed on an airport and is blocking the runway
AIEventEngineAvailable | Event Engine Available, indicating a new engine is available
AIEventEnginePreview | Event Engine Preview, indicating a manufacturer offer you to test a new engine
AIEventIndustryClose | Event Industry Close, indicating an industry is going to be closed
AIEventIndustryOpen | Event Industry Open, indicating a new industry has been created
AIEventStationFirstVehicle | Event Station First Vehicle, indicating a station has been visited by a vehicle for the first time
AIEventSubsidyAwarded | Event Subidy Awarded, indicating a subsidy is awarded to some company
AIEventSubsidyExpired | Event Subsidy Expired, indicating a route that was once subsidized no longer is
AIEventSubsidyOffer | Event Subsidy Offered, indicating someone offered a subsidy
AIEventSubsidyOfferExpired | Event Subsidy Offer Expired, indicating a subsidy will no longer be awarded
AIEventVehicleCrashed | Event Vehicle Crash, indicating a vehicle of yours is crashed
AIEventVehicleLost | Event Vehicle Lost, indicating a vehicle can't find its way to its destination
AIEventVehicleUnprofitable | Event Vehicle Unprofitable, indicating a vehicle lost money last year
AIEventVehicleWaitingInDepot | Event VehicleWaitingInDepot, indicating a vehicle has arrived a depot and is now waiting there
AIExecMode | Class to switch current mode to Execute Mode
AIGameSettings | Class that handles all game settings related functions
AIGroup | Class that handles all group related functions
AIGroupList | Creates a list of groups of which you are the owner
AIIndustry | Class that handles all industry related functions
AIIndustryList | Creates a list of industries that are currently on the map
AIIndustryList_CargoAccepting | Creates a list of industries that accepts a given cargo
AIIndustryList_CargoProducing | Creates a list of industries that can produce a given cargo
AIIndustryType | Class that handles all industry-type related functions
AIIndustryTypeList | Creates a list of valid industry types
AIList | Creates an empty list, in which you can add integers
AIListWindow | Window that let you choose an available AI
AILog | Class that handles all log related functions
AILog::LogData | Internal representation of the log-data inside the AI
AIMap | Class that handles all map related functions
AIMarine | Class that handles all marine related functions
AIObject | Uper-parent object of all API classes
AIOrder | Class that handles all order related functions
AIRail | Class that handles all rail related functions
AIRailSignalData | Contains information about the trackdir that belongs to a track when entering from a specific direction
AIRailTypeList | Creates a list of all available railtypes
Aircraft | Aircraft, helicopters, rotors and their shadows belong to this class
AircraftCache | Cached oftenly queried (NewGRF) values
AIRoad | Class that handles all road related functions
AirportFTA | Internal structure used in openttd - Finite sTate mAchine --> FTA
AirportFTAClass | Finite sTate mAchine --> FTA
AISettings | Settings related to the AI
AISettingsWindow | Window for settings the parameters of an AI
AISign | Class that handles all sign related functions
AISignList | Create a list of signs your company has created
AIStation | Class that handles all station related functions
AIStationList | Creates a list of stations of which you are the owner
AIStationList_Vehicle | Creates a list of stations which the vehicle has in its orders
AIStorage | The storage for each AI
AISubsidy | Class that handles all subsidy related functions
AISubsidyList | Creates a list of all current subsidies
AITestMode | Class to switch current mode to Test Mode
AITile | Class that handles all tile related functions
AITileList | Creates an empty list, in which you can add tiles
AITileList_IndustryAccepting | Creates a list of tiles that will accept cargo for the given industry
AITileList_IndustryProducing | Creates a list of tiles which the industry checks to see if a station is there to receive cargo produced by this industry
AITileList_StationType | Creates a list of tiles which have the requested StationType of the StationID
AITown | Class that handles all town related functions
AITownList | Creates a list of towns that are currently on the map
AITunnel | Class that handles all tunnel related functions
AIVehicle | Class that handles all vehicle related functions
AIVehicleList | Creates a list of vehicles of which you are the owner
AIVehicleList_DefaultGroup | Creates a list of vehicles that are in the default group
AIVehicleList_Depot | Creates a list of vehicles that have orders to a given depot
AIVehicleList_Group | Creates a list of vehicles that are in a group
AIVehicleList_SharedOrders | Creates a list of vehicles that share orders
AIVehicleList_Station | Creates a list of vehicles that have orders to a given station
AIWaypoint | Class that handles all waypoint related functions
AIWaypointList | Creates a list of waypoints of which you are the owner
AIWaypointList_Vehicle | Creates a list of waypoints which the vehicle has in its orders
AnimCursor | A single sprite of a list of animated cursors
ArrayT< T[N]> | Helper template class that provides C array length and item type
AutoFreeSmallVector< T, S > | Simple vector template class, with automatic free
BaseGraphics | All data/functions related with replacing the base graphics
BaseMedia< Tbase_set > | Base for all base media (graphics, sounds)
BaseMusic | All data/functions related with replacing the base music
BaseSet< T, Tnum_files, Tsubdir > | Information about a single base set
BaseSounds | All data/functions related with replacing the base sounds
BaseStation | Base class for all station-ish types
BaseStorageArray | Base class for all NewGRF storage arrays
BitmapFileHeader | BMP File Header (stored in little endian)
BitmapInfoHeader | BMP Info Header (stored in little endian)
Blitter | How all blitters should look like
BlitterFactory< T > | A template factory, so ->GetName() works correctly
BlitterFactoryBase | The base factory, keeping track of all blitters
BridgeSpec | Struct containing information about a single bridge type
BuildBridgeData | Carriage for the data we need if we want to build a bridge
BuildIndustryWindow | Build (fund or prospect) a new industry,
BuildRailToolbarWindow | Based on the widget clicked, update the status of the 'remove' button
BuildTreesWindow | The build trees window
CargoArray | Class for storing amounts of cargo
CargoList< Tinst > | Simple collection class for a list of cargo packets
CargoPacket | Container for cargo from the same location and time
CargoPayment | Helper class to perform the cargo payment
CargoSpec | Specification of a cargo type
CargoSummaryItem | Helper struct for the cargo details information
CArrayT< Titem_, Tblock_size_, Tnum_blocks_ > | Flexible array with size limit
CBinaryHeapT< Titem_ > | Binary Heap as C++ template
CBlobBaseSimple | Base class for simple binary blobs
CBlobBaseSimple::CHdr | Header of the allocated memory block
CBlobT< Titem_, Tbase_ > | Blob - simple dynamic Titem_ array
CCountedPtr< Tcls_ > | CCountedPtr - simple reference counting smart pointer
CFixedSizeArrayT< Titem_, Tcapacity_ > | Fixed size array Upon construction it preallocates fixed size block of memory for all items, but doesn't construct them
CFixedSizeArrayT< Titem_, Tcapacity_ >::CHdr | Header for fixed size array
CFollowTrackT< Ttr_type_, VehicleType, T90deg_turns_allowed_, Tmask_reserved_tracks > | Track follower helper template class (can serve pathfinders and vehicle controllers)
CHashTableT< Titem_, Thash_bits_ > | Class CHashTableT<Titem, Thash_bits> - simple hash table of pointers allocated elsewhere
Cheat | Info about each of the cheats
Cheats | WARNING! Do _not_ remove entries in Cheats struct or change the order of the existing ones! Would break downward compatibility
ClientSettings | All settings that are only important for the local client
CNodeList_HashTableT< Titem_, Thash_bits_open_, Thash_bits_closed_ > | Hash table based node list multi-container class
Colour | Structure to access the alpha, red, green, and blue channels from a 32 bit number
Command | Define a command with the flags which belongs to it
CommandContainer | Structure for buffering the build command when selecting a station to join
CommandCost | Common return value for all commands
CompanyFinancesWindow | Window class displaying the company finances
CompanyManagerFaceBitsInfo | Information about the valid values of CompanyManagerFace bitgroups as well as the sprites to draw
CompanyNewsInformation | Data that needs to be stored for company news messages
CompanySettings | Settings that can be set per company
CompanyStationsWindow | The list of stations per company
CompanyWindow | Window with general information about a company
ConstructionSettings | Settings related to construction in-game
CrashLog | Helper class for creating crash logs
CrashLogOSX | OSX implementation for the crash logger
CrashLogUnix | Unix implementation for the crash logger
CrashLogWindows | Windows implementation for the crash logger
CSegmentCostCacheBase | Base class for segment cost cache providers
CSegmentCostCacheT< Tsegment > | CSegmentCostCacheT - template class providing hash-map and storage (heap) of Tsegment structures
CStrA | Blob based case sensitive ANSI/UTF-8 string
CursorVars | Collection of variables for cursor-display and -animation
CYapfBaseT< Types > | CYapfBaseT - A-star type path finder base class
CYapfCostShipT< Types > | Cost Provider module of YAPF for ships
CYapfDestinationTileT< Types > | YAPF destination provider base class - used when destination is single tile / multiple trackdirs
CYapfFollowShipT< Types > | Node Follower module of YAPF for ships
CYapfNodeKeyExitDir | Yapf Node Key that evaluates hash from (and compares) tile & exit dir
CYapfNodeT< Tkey_, Tnode > | Yapf Node base
CYapfOriginTileT< Types > | YAPF origin provider base class - used when origin is one tile / multiple trackdirs
CYapfOriginTileTwoWayT< Types > | YAPF origin provider base class - used when there are two tile/trackdir origins
CYapfRailNodeT< Tkey_ > | Yapf Node for rail YAPF
CYapfRailSegment | Cached segment cost for rail YAPF
CYapfRailSegmentKey | Key for cached segment cost for rail YAPF
CYapfRoadNodeT< Tkey_ > | Yapf Node for road YAPF
CYapfSegmentCostCacheGlobalT< Types > | CYapfSegmentCostCacheGlobalT - the yapf cost cache provider that adds the segment cost caching functionality to yapf
CYapfSegmentCostCacheLocalT< Types > | CYapfSegmentCostCacheLocalT - the yapf cost cache provider that implements fake segment cost caching functionality for yapf
CYapfSegmentCostCacheNoneT< Types > | CYapfSegmentCostCacheNoneT - the formal only yapf cost cache provider that implements PfNodeCacheFetch() and PfNodeCacheFlush() callbacks
CYapfShip_TypesT< Tpf_, Ttrack_follower, Tnode_list > | Config struct of YAPF for ships
CYapfShipNodeT< Tkey_ > | Yapf Node for ships
CYapfT< Ttypes > | YAPF template that uses Ttypes template argument to determine all YAPF components (base classes) from which the actual YAPF is composed
DefSQClass< CL > | The template to define classes in Squirrel
DifficultySettings | Settings related to the difficulty of the game
Dimension | Dimensions (a width and height) of a rectangle in 2D
DisasterVehicle | Disasters, like submarines, skyrangers and their shadows, belong to this class
DrawBuildingsTileStruct | This structure is the same for both Industries and Houses
DrawIndustryAnimationStruct | This is used to gather some data about animation drawing in the industry code Image_1-2-3 are in fact only offset in the sprites used by the industry
DrawIndustryCoordinates | Simple structure gathering x,y coordinates for industries animations
DrawPixelInfo | Data about how and where to blit pixels
DrawTileSeqStruct | A tile child sprite and palette to draw for stations etc, with 3D bounding box
DrawTileSprites | Ground palette sprite of a tile, together with its child sprites
DropDownListCharStringItem | List item containing a C char string
DropDownListCheckedItem | Drop down list entry for showing a checked/unchecked toggle item
DropDownListCompanyItem | Drop down list entry for showing a company entry, with companies 'blob'
DropDownListItem | Base list item class from which others are derived
DropDownListParamStringItem | String list item with parameters
DropDownListStringItem | Common string list item
DropdownWindow | Drop-down menu window
DumpTarget | Class that represents the dump-into-string target
DumpTarget::KnownStructKey | Used as a key into map of known object instances
DynamicLanguages | Used for dynamic language support
EconomySettings | Settings related to the economy

EffectVehicle

A special vehicle is one of the following:

- smoke
- electric sparks for trains
- explosions
- bulldozer (road works)
- bubbles (industry)

EndGameWindow | End game window shown at the end of the game
EngineInfo | Information about a vehicle
EngineOverrideManager | Stores the mapping of EngineID to the internal id of newgrfs
EngineRenew | Struct to store engine replacements
EntityIDMapping | Maps an entity id stored on the map to a GRF file
EnumPropsT< DiagDirection > | Define basic enum properties
EnumPropsT< Direction > | Define basic enum properties
EnumPropsT< Owner > | Define basic enum properties
EnumPropsT< RailType > | Define basic enum properties
EnumPropsT< Track > | Define basic enum properties
EnumPropsT< Trackdir > | Define basic enum properties
ErrmsgWindow | Window class for displaying an error message window
ExpensesList | Expense list container
ExtraPaletteValues | Description of tables for the palette animation
File | Helper class to read a file
FileScanner | Helper for scanning for files with a given name
Filtering | Data structure describing what to show in the list (filter criteria)
FindDepotData | Helper container to find a depot
FindTrainOnTrackInfo | Helper struct for finding the best matching vehicle on a specific track
FiosFileScanner | Scanner to scan for a particular type of FIOS file
SQConvert::ForceType< T > | Special class to make it possible for the compiler to pick the correct GetParam()
FoundTownWindow | Found a town window class
FreeUnitIDGenerator | Generates sequence of free UnitID numbers
GameCreationSettings | Settings related to the creation of games
GameSettings | All settings together for the game
GetNewVehiclePosResult | Position information of a vehicle after it moved
GraphicsSet | All data of a graphics set
GRFConfig | Information about GRF, used in the game and (part of it) in savegames
GRFError | Information about why GRF had problems during initialisation
GRFFile | Dynamic data of a loaded NewGRF
GRFFileProps | Data related to the handling of grf files
GRFFileScanner | Helper for scanning for files with GRF as extension
GRFIdentifier | Basic data to distinguish a GRF
GRFList | List of GRFs using array of pointers instead of linked list
GRFText | Element of the linked list
GRFTextEntry | Holder of the above structure
GUIList< T, F > | List template of 'things' `T` to sort in a GUI
GUISettings | Settings related to the GUI and other stuff that is not saved in the savegame
HeightMap | Height map - allocated array of heights (MapSizeX() + 1) x (MapSizeY() + 1)
SQConvert::HelperT< Tretval(*)(), false > | The real C++ caller for function with return value and 0 params
SQConvert::HelperT< Tretval(*)(), true > | The real C++ caller for function with no return value and 0 params
SQConvert::HelperT< Tretval(*)(Targ1), false > | The real C++ caller for function with return value and 1 param
SQConvert::HelperT< Tretval(*)(Targ1), true > | The real C++ caller for function with no return value and 1 param
SQConvert::HelperT< Tretval(*)(Targ1, Targ2), false > | The real C++ caller for function with return value and 2 params
SQConvert::HelperT< Tretval(*)(Targ1, Targ2), true > | The real C++ caller for function with no return value and 2 params
SQConvert::HelperT< Tretval(*)(Targ1, Targ2, Targ3), false > | The real C++ caller for function with return value and 3 params
SQConvert::HelperT< Tretval(*)(Targ1, Targ2, Targ3), true > | The real C++ caller for function with no return value and 3 params
SQConvert::HelperT< Tretval(*)(Targ1, Targ2, Targ3, Targ4), false > | The real C++ caller for function with return value and 4 params
SQConvert::HelperT< Tretval(*)(Targ1, Targ2, Targ3, Targ4), true > | The real C++ caller for function with no return value and 4 params
SQConvert::HelperT< Tretval(*)(Targ1, Targ2, Targ3, Targ4, Targ5), false > | The real C++ caller for function with return value and 5 params
SQConvert::HelperT< Tretval(*)(Targ1, Targ2, Targ3, Targ4, Targ5), true > | The real C++ caller for function with no return value and 5 params
SQConvert::HelperT< Tretval(*)(Targ1, Targ2, Targ3, Targ4, Targ5, Targ6, Targ7, Targ8, Targ9, Targ10), false > | The real C++ caller for function with return value and 10 params
SQConvert::HelperT< Tretval(*)(Targ1, Targ2, Targ3, Targ4, Targ5, Targ6, Targ7, Targ8, Targ9, Targ10), true > | The real C++ caller for function with no return value and 10 params
SQConvert::HelperT< Tretval(Tcls::*)(), false > | The real C++ caller for method with return value and 0 params
SQConvert::HelperT< Tretval(Tcls::*)(), true > | The real C++ caller for method with no return value and 0 params
SQConvert::HelperT< Tretval(Tcls::*)(Targ1), false > | The real C++ caller for method with return value and 1 param
SQConvert::HelperT< Tretval(Tcls::*)(Targ1), true > | The real C++ caller for method with no return value and 1 param
SQConvert::HelperT< Tretval(Tcls::*)(Targ1, Targ2), false > | The real C++ caller for method with return value and 2 params
SQConvert::HelperT< Tretval(Tcls::*)(Targ1, Targ2), true > | The real C++ caller for method with no return value and 2 params
SQConvert::HelperT< Tretval(Tcls::*)(Targ1, Targ2, Targ3), false > | The real C++ caller for method with return value and 3 params
SQConvert::HelperT< Tretval(Tcls::*)(Targ1, Targ2, Targ3), true > | The real C++ caller for method with no return value and 3 params
SQConvert::HelperT< Tretval(Tcls::*)(Targ1, Targ2, Targ3, Targ4), false > | The real C++ caller for method with return value and 4 params
SQConvert::HelperT< Tretval(Tcls::*)(Targ1, Targ2, Targ3, Targ4), true > | The real C++ caller for method with no return value and 4 params
SQConvert::HelperT< Tretval(Tcls::*)(Targ1, Targ2, Targ3, Targ4, Targ5), false > | The real C++ caller for method with return value and 5 params
SQConvert::HelperT< Tretval(Tcls::*)(Targ1, Targ2, Targ3, Targ4, Targ5), true > | The real C++ caller for method with no return value and 5 params
SQConvert::HelperT< Tretval(Tcls::*)(Targ1, Targ2, Targ3, Targ4, Targ5, Targ6, Targ7, Targ8, Targ9, Targ10), false > | The real C++ caller for method with return value and 10 params
SQConvert::HelperT< Tretval(Tcls::*)(Targ1, Targ2, Targ3, Targ4, Targ5, Targ6, Targ7, Targ8, Targ9, Targ10), true > | The real C++ caller for method with no return value and 10 params
HouseClassMapping | Makes class IDs unique to each GRF file
IConsoleAlias | --Aliases-- Aliases are like shortcuts for complex functions, variable assignments, etc
IConsoleLine | Container for a single line of console output
IConsoleVar | --Variables-- Variables are pointers to real ingame variables which allow for changing while ingame
Industry | Defines the internal data of a functionnal industry
IndustryDirectoryWindow | The list of industries
IndustrySpec | Defines the data structure for constructing industry
IndustryTileSpec | Defines the data structure of each indivudual tile of an industry
IniFile | The complete ini file
IniGroup | A group within an ini file
IniItem | A single "line" in an ini file
SQConvert::IsVoidT< T > | Helper class to recognize if the given type is void
LabelObject | Container for a label for SaveLoad system
Language | Information about a language
LanguagePackHeader | Header of a language file
LegendAndColour | Structure for holding relevant data for legends in small map
Lexer | Lexer of a file
Listing | Data structure describing how to show the list (what sort direction and criterium)
LocaleSettings | Settings related to currency/unit systems
LoggedAction | Contains information about one logged action that caused at least one logged change
LoggedChange | Contains information about one logged change
MakeEnumPropsT< Tenum_t, Tstorage_t, Tbegin, Tend, Tinvalid > | Helper template class that makes basic properties of given enumeration type visible from outsize
MD5File | Structure holding filename and MD5 information about a single file
MusicSet | All data of a music set
NetworkGameList | Structure with information shown in the game list (GUI)
NetworkSettings | All settings related to the network
NewGRFAddWindow | Window for adding NewGRF files
NewGRFWindow | Window for showing NewGRF files
NewsSubtypeData | Data common to all news items of a given subtype (structure)
NewsTypeData | Per-NewsType data
NewsWindow | Window class displaying a news item
NPFSettings | Settings related to the new pathfinder
NWidgetBackground | Nested widget with a child
NWidgetBase | Baseclass for nested widgets
NWidgetContainer | Baseclass for container widgets
NWidgetCore | Base class for a 'real' widget
NWidgetHorizontal | Horizontal container
NWidgetHorizontalLTR | Horizontal container that doesn't change the direction of the widgets for RTL languages
NWidgetLeaf | Leaf widget
NWidgetMainToolbarContainer | Container for the 'normal' main toolbar
NWidgetPart | Partial widget specification to allow NWidgets to be written nested
NWidgetPartDataTip | Widget part for storing data and tooltip information
NWidgetPartPaddings | Widget part for storing padding
NWidgetPartPIP | Widget part for storing pre/inter/post spaces
NWidgetPartTextLines | Widget part for storing minimal text line data
NWidgetPartWidget | Widget part for storing basic widget information
NWidgetPIPContainer | Container with pre/inter/post child space
NWidgetResizeBase | Base class for a resizable nested widget
NWidgetScenarioToolbarContainer | Container for the scenario editor's toolbar
NWidgetSmallmapDisplay | Custom container class for displaying smallmap with a vertically resizing legend panel
NWidgetSpacer | Spacer widget
NWidgetStacked | Stacked widgets, widgets all occupying the same space in the window
NWidgetToolbarContainer | Full blown container to make it behave exactly as we want :)
NWidgetVertical | Vertical container
NWidgetViewport | Nested widget to display a viewport in a window
OldWaypoint | Helper structure to convert from the old waypoint system
OPFSettings | Settings related to the old pathfinder
OrderList | Shared order list linking together the linked list of orders and the list of vehicles sharing this order list
OrderSettings | Settings related to orders
OrdersWindow | Order window code for all vehicles
OTTDThreadStartupMessage | Avoid name clashes with MorphOS API functions
OverflowSafeInt< T, T_MAX, T_MIN > | Overflow safe template for integers, i.e
Pair | A pair of two integers
PalSpriteID | Combination of a palette sprite and a 'real' sprite
ParentSpriteToDraw | Parent sprite that should be drawn
PathfinderSettings | Settings related to all pathfinders
PBSTileInfo | This struct contains information about the end of a reserved path
PersistentStorageArray< TYPE, SIZE > | Class for persistent storage of data
PickerWindowBase | Base class for windows opened from a toolbar
PluralForm | Description of a plural form
Point | Coordinates of a point in 2D
PointDimension | Specification of a rectangle with an absolute top-left coordinate and a (relative) width/height
Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tcache, Tzero > | Base class for all pools
Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tcache, Tzero >::AllocCache | Helper struct to cache 'freed' PoolItems so we do not need to allocate them again
Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tcache, Tzero >::PoolItem< Tpool > | Base class for all PoolItems
PriceBaseSpec | Describes properties of price bases
ProbabilityHelper | Simple helper that will collect data for the generation of industries
QueryString | Data stored about a string that can be modified in the GUI
QueryStringWindow | Class for the string query window
QueryWindow | Window used for asking the user a YES/NO question
RailBuildingGUIButtonData | Data associated with a push button in the build rail toolbar window
RailtypeInfo | This struct contains all the info that is needed to draw and construct tracks
Randomizer | Structure to encapsulate the pseudo random number generators
Rect | Specification of a rectangle with absolute coordinates of all edges
RectAndIndustryVector | Rect and pointer to IndustryVector
RefitWindow | Refit cargo window
ReplaceVehicleWindow | Window for the autoreplacing of vehicles
ResizeInfo | Data structure for resizing a window
ReusableBuffer< T > | A reusable buffer that can be used for places that temporary allocate a bit of memory and do that very often, or for places where static memory is allocated that might need to be reallocated sometimes
RgbQuad | Format of palette data in BMP header
RgbTriplet | Pixel data in 24bpp BMP
RoadStop | A Stop for a Road Vehicle
RoadStop::Entry | Container for each entry point of a drive through road stop
RoadStopEntryRebuilderHelper | Helper for finding RVs in a road stop
RoadTypeInfo | Structure holding information per roadtype for several functions
RoadVehicle | Buses, trucks and trams belong to this class
RoadVehicleCache | Cached oftenly queried (NewGRF) values
SavedRandomSeeds | Stores the state of all random number generators
SaveLoad | SaveLoad type struct
SaveLoadFormat | The format for a reader/writer type of a savegame
SaveLoadParams | The saveload struct, containing reader-writer functions, bufffer, version, etc
Scrollbar | Scrollbar data structure
SearchNearbyHouseData | Structure with user-data for SearchNearbyHouseXXX - functions
SelectCompanyLiveryWindow | Company livery colour scheme window
SelectCompanyManagerFaceWindow | Management class for customizing the face of the company manager
SelectStationWindow< T > | Window for selecting stations/waypoints to (distant) join to
SetDateWindow | Window to select a date graphically by using dropdowns
SettingEntry | Data structure describing a single setting in a tab
SettingEntrySetting | Data fields for a single setting (SEF_SETTING_KIND kind)
SettingEntrySubtree | Data fields for a sub-page (SEF_SUBTREE_KIND kind)
SettingsPage | Data structure describing one page of settings in the settings window
SharingSettings | Settings related to infrastructure sharing
Ship | All ships have this type
SimpleCountedObject | Simple counted object
SimpleTinyEnumT< enum_type, storage_type > | Template of struct holding enum types (on most archs, enums are stored in an int32)
SmallMap< T, U, S > | Implementation of simple mapping class
SmallMapWindow | Class managing the smallmap window
SmallPair< T, U > | Simple pair of data
SmallSet< Tdir, items > | Set containing 'items' items of 'tile and Tdir' No tree structure is used because it would cause slowdowns in most usual cases
SmallSet< Tdir, items >::SSdata | Element of set
SmallStackSafeStackAlloc< T, length > | A small 'wrapper' for allocations that can be done on most OSes on the stack, but are just too large to fit in the stack on devices with a small stack such as the NDS
SmallVector< T, S > | Simple vector template class
SnowLine | Structure describing the height of the snow line each day of the year
SoundsSet | All data of a sounds set
SpecializedStation< T, Tis_waypoint > | Class defining several overloaded accessors so we don't have to cast base stations that often
SpecializedVehicle< T, Type > | Class defining several overloaded accessors so we don't have to cast vehicle types that often
SpotData | Used as the user_data for FindFurthestFromWater
Sprite | Data structure describing a sprite
SpriteLoader::Sprite | Structure for passing information from the sprite loader to the blitter
SQConvert::SQAutoFreePointers | Pointers assigned to this class will be free'd when this instance comes out of scope
SquirrelStd | By default we want to give a set of standard commands to a SQ script
Station | Station data structure
StationCargoList | CargoList that is used for stations
StationClass | Struct containing information relating to station classes
StationFinder | Structure contains cached list of stations nearby
StationNameInformation | Information to handle station action 0 property 24 correctly
StationRect | StationRect - used to track station spread out rectangle - cheaper than scanning whole map
StationSettings | Settings related to stations
StationViewWindow | The StationView window
StringCompare | Simple string comparator using strcmp as implementation
StringIDCompare | Key comparison function for std::map
Subsidy | Struct about subsidies, offered and awarded
SubSprite | Used to only draw a part of the sprite
TarListEntry | The define of a TarList
TemporaryStorageArray< TYPE, SIZE > | Class for temporary storage of data
TextEffect | Container for all information about a text effect
ThreadMutex | Cross-platform Mutex
ThreadMutex_None | Mutex that doesn't do locking because it ain't needed when there're no threads
ThreadMutex_OS2 | OS/2 version of ThreadMutex
ThreadMutex_pthread | POSIX pthread version of ThreadMutex
ThreadMutex_Win32 | Win32 thread version of ThreadMutex
ThreadObject | A Thread Object which works on all our supported OSes
ThreadObject_MorphOS | MorphOS version for ThreadObject
ThreadObject_OS2 | OS/2 version for ThreadObject
ThreadObject_pthread | POSIX pthread version for ThreadObject
ThreadObject_Win32 | Win32 thread version for ThreadObject
Tile | Data that is stored per tile
TileAndStation | Struct containing TileIndex and StationID
TileArea | Represents the covered area of e.g
TileDesc | Tile description for the 'land area information' tool
TileExtended | Data that is stored per tile
TileIndexDiffC | A pair-construct of a TileIndexDiff
TileInfo | Tile information, used while rendering the tile
TileTypeProcs | Set of callback functions for performing tile operations of a given tile type
TimetableArrivalDeparture | Container for the arrival/departure dates of a vehicle
TinyEnumT< Tenum_t > | The general declaration of TinyEnumT<> (above)
TooltipsWindow | Window for displaying a tooltip
TownAuthorityWindow | Town authority window
TownDirectoryWindow | Town directory window class
TownNameGeneratorParams | Contains pointer to generator and minimum buffer size (not incl
TownNameParams | Struct holding a parameters used to generate town name
Train | 'Train' is either a loco or a wagon
TrainCache | Variables that are cached to improve performance and such
VehicleCache | Cached oftenly queried (NewGRF) values
VehicleCargoList | CargoList that is used for vehicles
VehicleDefaultSettings | Default settings for vehicles
VehicleDetailsWindow | Class for managing the vehicle details window
VehicleListWindow | Window for the (old) vehicle listing
VehicleOrderSaver | This class will save the current order of a vehicle and restore it on destruction
VehicleSettings | Settings related to vehicles
VehicleViewWindow | Window manager class for viewing a vehicle
ViewPort | Data structure for viewport, display of a part of the world
ViewportData | Data structure for a window viewport
ViewportDrawer | Data structure storing rendering information
ViewportSign | Location information about a sign as seen on the viewport
Window | Data structure for an opened window
WindowDesc | High level window description
YAPFSettings | Settings related to the yet another pathfinder
YearMonthDay | Data structure to convert between Date and triplet (year, month, and day)
ZeroedMemoryAllocator | Base class that provides memory initialization on dynamically created objects