OpenTTD
Data Structures | Typedefs | Functions | Variables
station_sl.cpp File Reference

Code handling saving and loading of stations. More...

#include "../stdafx.h"
#include "../station_base.h"
#include "../waypoint_base.h"
#include "../roadstop_base.h"
#include "../vehicle_base.h"
#include "../newgrf_station.h"
#include "saveload.h"
#include "table/strings.h"
#include "../safeguards.h"

Go to the source code of this file.

Data Structures

struct  FlowSaveLoad

Typedefs

typedef std::pair< const
StationID, std::list
< CargoPacket * > > 
StationCargoPair

Functions

static void UpdateWaypointOrder (Order *o)
 Update the buoy orders to be waypoint orders.
void MoveBuoysToWaypoints ()
 Perform all steps to upgrade from the old station buoys to the new version that uses waypoints.
void AfterLoadStations ()
void AfterLoadRoadStops ()
 (Re)building of road stop caches after loading a savegame.
const SaveLoadGetGoodsDesc ()
 Wrapper function to get the GoodsEntry's internal structure while some of the variables itself are private.
static void SwapPackets (GoodsEntry *ge)
 Swap the temporary packets with the packets without specific destination in the given goods entry.
static void Load_STNS ()
static void Ptrs_STNS ()
const SaveLoadGetBaseStationDescription ()
 Get the base station description to be used for SL_ST_INCLUDE.
static void RealSave_STNN (BaseStation *bst)
static void Save_STNN ()
static void Load_STNN ()
static void Ptrs_STNN ()
static void Save_ROADSTOP ()
static void Load_ROADSTOP ()
static void Ptrs_ROADSTOP ()

Variables

static const SaveLoad _roadstop_desc []
static const SaveLoad _old_station_desc []
static uint16 _waiting_acceptance
static uint32 _num_flows
static uint16 _cargo_source
static uint32 _cargo_source_xy
static uint8 _cargo_days
static Money _cargo_feeder_share
static const SaveLoad _station_speclist_desc []
std::list< CargoPacket * > _packets
uint32 _num_dests
static const SaveLoad _flow_desc []
static const SaveLoad _cargo_list_desc []
static const SaveLoad _base_station_desc []
static OldPersistentStorage _old_st_persistent_storage
static const SaveLoad _station_desc []
static const SaveLoad _waypoint_desc []
const ChunkHandler _station_chunk_handlers []

Detailed Description

Code handling saving and loading of stations.

Definition in file station_sl.cpp.

Function Documentation

const SaveLoad* GetBaseStationDescription ( )

Get the base station description to be used for SL_ST_INCLUDE.

Returns
the base station description.

Definition at line 461 of file station_sl.cpp.

const SaveLoad* GetGoodsDesc ( )

Wrapper function to get the GoodsEntry's internal structure while some of the variables itself are private.

The stations, via GoodsEntry, have a CargoList.

Returns
the saveload description for GoodsEntry.

Definition at line 266 of file station_sl.cpp.

References REF_CARGO_PACKET, SL_MAX_VERSION, SLE_CONDNULL, SLE_CONDVAR, SLE_END, SLE_VAR, SLEG_CONDLST, and SLEG_CONDVAR.

void MoveBuoysToWaypoints ( )
static void SwapPackets ( GoodsEntry ge)
static

Swap the temporary packets with the packets without specific destination in the given goods entry.

Assert that at least one of those is empty.

Parameters
geGoods entry to swap with.

Definition at line 309 of file station_sl.cpp.

References GoodsEntry::cargo, and CargoList< Tinst, Tcont >::Packets().

static void UpdateWaypointOrder ( Order o)
static

Update the buoy orders to be waypoint orders.

Parameters
othe order 'list' to check.

Definition at line 28 of file station_sl.cpp.

References SpecializedStation< Station, false >::Get(), Order::GetDestination(), HVOT_WAYPOINT, Order::IsType(), and Order::MakeGoToWaypoint().

Referenced by MoveBuoysToWaypoints().

Variable Documentation

const SaveLoad _base_station_desc[]
static
Initial value:
{
SLE_VAR(BaseStation, xy, SLE_UINT32),
SLE_VAR(BaseStation, string_id, SLE_STRINGID),
SLE_VAR(BaseStation, delete_ctr, SLE_UINT8),
SLE_VAR(BaseStation, owner, SLE_UINT8),
SLE_VAR(BaseStation, facilities, SLE_UINT8),
SLE_VAR(BaseStation, build_date, SLE_INT32),
SLE_VAR(BaseStation, random_bits, SLE_UINT16),
SLE_VAR(BaseStation, waiting_triggers, SLE_UINT8),
SLE_VAR(BaseStation, num_specs, SLE_UINT8),
}

Definition at line 391 of file station_sl.cpp.

const SaveLoad _cargo_list_desc[]
static
Initial value:
{
SLE_VAR(StationCargoPair, first, SLE_UINT16),
SLE_LST(StationCargoPair, second, REF_CARGO_PACKET),
}

Definition at line 298 of file station_sl.cpp.

const SaveLoad _flow_desc[]
static
Initial value:
{
SLE_VAR(FlowSaveLoad, source, SLE_UINT16),
SLE_VAR(FlowSaveLoad, via, SLE_UINT16),
SLE_VAR(FlowSaveLoad, share, SLE_UINT32),
SLE_CONDVAR(FlowSaveLoad, restricted, SLE_BOOL, 187, SL_MAX_VERSION),
}

Definition at line 253 of file station_sl.cpp.

const SaveLoad _roadstop_desc[]
static
Initial value:
{
SLE_VAR(RoadStop, xy, SLE_UINT32),
SLE_CONDNULL(1, 0, 44),
SLE_VAR(RoadStop, status, SLE_UINT8),
SLE_CONDNULL(4, 0, 8),
SLE_CONDNULL(2, 0, 44),
SLE_CONDNULL(1, 0, 25),
SLE_CONDNULL(2, 0, 44),
SLE_CONDNULL(4, 0, 24),
SLE_CONDNULL(1, 25, 25),
}

Definition at line 151 of file station_sl.cpp.

const ChunkHandler _station_chunk_handlers[]
Initial value:
{
{ 'STNS', NULL, Load_STNS, Ptrs_STNS, NULL, CH_ARRAY },
{ 'STNN', Save_STNN, Load_STNN, Ptrs_STNN, NULL, CH_ARRAY },
{ 'ROAD', Save_ROADSTOP, Load_ROADSTOP, Ptrs_ROADSTOP, NULL, CH_ARRAY | CH_LAST},
}
const SaveLoad _station_speclist_desc[]
static
Initial value:
{
SLE_CONDVAR(StationSpecList, grfid, SLE_UINT32, 27, SL_MAX_VERSION),
SLE_CONDVAR(StationSpecList, localidx, SLE_UINT8, 27, SL_MAX_VERSION),
}

Definition at line 235 of file station_sl.cpp.

const SaveLoad _waypoint_desc[]
static
Initial value:
{
SLE_ST_INCLUDE(),
SLE_VAR(Waypoint, town_cn, SLE_UINT16),
SLE_CONDVAR(Waypoint, train_station.tile, SLE_UINT32, 124, SL_MAX_VERSION),
SLE_CONDVAR(Waypoint, train_station.w, SLE_FILE_U8 | SLE_VAR_U16, 124, SL_MAX_VERSION),
SLE_CONDVAR(Waypoint, train_station.h, SLE_FILE_U8 | SLE_VAR_U16, 124, SL_MAX_VERSION),
}

Definition at line 444 of file station_sl.cpp.