OpenTTD Game API
Public Member Functions
GSTileList Class Reference

Creates an empty list, in which you can add tiles. More...

Inheritance diagram for GSTileList:
GSList GSTileList_IndustryAccepting GSTileList_IndustryProducing GSTileList_StationType

Public Member Functions

void AddRectangle (TileIndex tile_from, TileIndex tile_to)
 Adds the rectangle between tile_from and tile_to to the to-be-evaluated tiles. More...
 
void AddTile (TileIndex tile)
 Add a tile to the to-be-evaluated tiles. More...
 
void RemoveRectangle (TileIndex tile_from, TileIndex tile_to)
 Remove the tiles inside the rectangle between tile_from and tile_to form the list. More...
 
void RemoveTile (TileIndex tile)
 Remove a tile from the list. More...
 
- Public Member Functions inherited from GSList
void AddItem (int64 item, int64 value)
 Add a single item to the list. More...
 
void RemoveItem (int64 item)
 Remove a single item from the list. More...
 
void Clear ()
 Clear the list, making Count() returning 0 and IsEmpty() returning true.
 
bool HasItem (int64 item)
 Check if an item is in the list. More...
 
int64 Begin ()
 Go to the beginning of the list and return the item. More...
 
int64 Next ()
 Go to the next item in the list and return the item. More...
 
bool IsEmpty ()
 Check if a list is empty. More...
 
bool IsEnd ()
 Check if there is a element left. More...
 
int32 Count ()
 Returns the amount of items in the list. More...
 
int64 GetValue (int64 item)
 Get the value that belongs to this item. More...
 
bool SetValue (int64 item, int64 value)
 Set a value of an item directly. More...
 
void Sort (SorterType sorter, bool ascending)
 Sort this list by the given sorter and direction. More...
 
void AddList (GSList *list)
 Add one list to another one. More...
 
void SwapList (GSList *list)
 Swap the contents of two lists. More...
 
void RemoveAboveValue (int64 value)
 Removes all items with a higher value than 'value'. More...
 
void RemoveBelowValue (int64 value)
 Removes all items with a lower value than 'value'. More...
 
void RemoveBetweenValue (int64 start, int64 end)
 Removes all items with a value above start and below end. More...
 
void RemoveValue (int64 value)
 Remove all items with this value. More...
 
void RemoveTop (int32 count)
 Remove the first count items. More...
 
void RemoveBottom (int32 count)
 Remove the last count items. More...
 
void RemoveList (GSList *list)
 Remove everything that is in the given list from this list (same item index that is). More...
 
void KeepAboveValue (int64 value)
 Keep all items with a higher value than 'value'. More...
 
void KeepBelowValue (int64 value)
 Keep all items with a lower value than 'value'. More...
 
void KeepBetweenValue (int64 start, int64 end)
 Keep all items with a value above start and below end. More...
 
void KeepValue (int64 value)
 Keep all items with this value. More...
 
void KeepTop (int32 count)
 Keep the first count items, i.e. More...
 
void KeepBottom (int32 count)
 Keep the last count items, i.e. More...
 
void KeepList (GSList *list)
 Keeps everything that is in the given list from this list (same item index that is). More...
 
void Valuate (void *valuator_function, int params,...)
 Give all items a value defined by the valuator you give. More...
 

Additional Inherited Members

- Public Types inherited from GSList
enum  SorterType {
  SORT_BY_VALUE,
  SORT_BY_ITEM
}
 Type of sorter. More...
 
- Static Public Attributes inherited from GSList
static const bool SORT_ASCENDING = true
 Sort ascending.
 
static const bool SORT_DESCENDING = false
 Sort descending.
 

Detailed Description

Creates an empty list, in which you can add tiles.

Member Function Documentation

◆ AddRectangle()

void GSTileList::AddRectangle ( TileIndex  tile_from,
TileIndex  tile_to 
)

Adds the rectangle between tile_from and tile_to to the to-be-evaluated tiles.

Parameters
tile_fromOne corner of the tiles to add.
tile_toThe other corner of the tiles to add.
Precondition
GSMap::IsValidTile(tile_from).
GSMap::IsValidTile(tile_to).

◆ AddTile()

void GSTileList::AddTile ( TileIndex  tile)

Add a tile to the to-be-evaluated tiles.

Parameters
tileThe tile to add.
Precondition
GSMap::IsValidTile(tile).

◆ RemoveRectangle()

void GSTileList::RemoveRectangle ( TileIndex  tile_from,
TileIndex  tile_to 
)

Remove the tiles inside the rectangle between tile_from and tile_to form the list.

Parameters
tile_fromOne corner of the tiles to remove.
tile_toThe other corner of the files to remove.
Precondition
GSMap::IsValidTile(tile_from).
GSMap::IsValidTile(tile_to).

◆ RemoveTile()

void GSTileList::RemoveTile ( TileIndex  tile)

Remove a tile from the list.

Parameters
tileThe tile to remove.
Precondition
GSMap::IsValidTile(tile).