OpenTTD
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. More...
 
void MoveBuoysToWaypoints ()
 Perform all steps to upgrade from the old station buoys to the new version that uses waypoints. More...
 
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. More...
 
static void SwapPackets (GoodsEntry *ge)
 Swap the temporary packets with the packets without specific destination in the given goods entry. More...
 
static void Load_STNS ()
 
static void Ptrs_STNS ()
 
const SaveLoadGetBaseStationDescription ()
 Get the base station description to be used for SL_ST_INCLUDE. More...
 
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

◆ GetBaseStationDescription()

const SaveLoad* GetBaseStationDescription ( )

Get the base station description to be used for SL_ST_INCLUDE.

Returns
the base station description.

Definition at line 465 of file station_sl.cpp.

◆ GetGoodsDesc()

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 259 of file station_sl.cpp.

References SLEG_CONDVAR.

◆ MoveBuoysToWaypoints()

◆ SwapPackets()

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 302 of file station_sl.cpp.

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

◆ UpdateWaypointOrder()

static void UpdateWaypointOrder ( Order o)
static

Update the buoy orders to be waypoint orders.

Parameters
othe order 'list' to check.

Definition at line 26 of file station_sl.cpp.

References Order::IsType().

Referenced by MoveBuoysToWaypoints().

Variable Documentation

◆ _base_station_desc

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),
}
#define SLE_REF(base, variable, type)
Storage of a reference in every version of a savegame.
Definition: saveload.h:602
Load/save a reference to a town.
Definition: saveload.h:374
allow control codes in the strings
Definition: saveload.h:471
Owner owner
The owner of the content shown in this window. Company colour is acquired from this variable...
Definition: window_gui.h:324
#define SLE_VAR(base, variable, type)
Storage of a variable in every version of a savegame.
Definition: saveload.h:594
#define SLE_STR(base, variable, type, length)
Storage of a string in every savegame version.
Definition: saveload.h:620
Base class for all station-ish types.

Definition at line 388 of file station_sl.cpp.

◆ _cargo_list_desc

const SaveLoad _cargo_list_desc[]
static
Initial value:
= {
SLE_VAR(StationCargoPair, first, SLE_UINT16),
SLE_LST(StationCargoPair, second, REF_CARGO_PACKET),
}
#define SLE_LST(base, variable, type)
Storage of a list in every savegame version.
Definition: saveload.h:628
Load/save a reference to a cargo packet.
Definition: saveload.h:378
#define SLE_VAR(base, variable, type)
Storage of a variable in every version of a savegame.
Definition: saveload.h:594

Definition at line 291 of file station_sl.cpp.

◆ _flow_desc

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, SLV_187, SL_MAX_VERSION),
}
#define SLE_CONDVAR(base, variable, type, from, to)
Storage of a variable in some savegame versions.
Definition: saveload.h:534
Highest possible saveload version.
Definition: saveload.h:305
#define SLE_VAR(base, variable, type)
Storage of a variable in every version of a savegame.
Definition: saveload.h:594
187 25899 Linkgraph - restricted flows
Definition: saveload.h:266

Definition at line 246 of file station_sl.cpp.

◆ _roadstop_desc

const SaveLoad _roadstop_desc[]
static
Initial value:
= {
SLE_VAR(RoadStop, xy, SLE_UINT32),
SLE_VAR(RoadStop, status, SLE_UINT8),
}
#define SLE_CONDNULL(length, from, to)
Empty space in some savegame versions.
Definition: saveload.h:642
26 4466
Definition: saveload.h:73
#define SLE_REF(base, variable, type)
Storage of a reference in every version of a savegame.
Definition: saveload.h:602
25 4259
Definition: saveload.h:72
Load/save a reference to a bus/truck stop.
Definition: saveload.h:376
First savegame version.
Definition: saveload.h:30
9.0 1909
Definition: saveload.h:49
A Stop for a Road Vehicle.
Definition: roadstop_base.h:22
#define SLE_VAR(base, variable, type)
Storage of a variable in every version of a savegame.
Definition: saveload.h:594
45 8501
Definition: saveload.h:96

Definition at line 144 of file station_sl.cpp.

◆ _station_chunk_handlers

const ChunkHandler _station_chunk_handlers[]
Initial value:
= {
{ 'STNS', nullptr, Load_STNS, Ptrs_STNS, nullptr, CH_ARRAY },
{ 'STNN', Save_STNN, Load_STNN, Ptrs_STNN, nullptr, CH_ARRAY },
{ 'ROAD', Save_ROADSTOP, Load_ROADSTOP, Ptrs_ROADSTOP, nullptr, CH_ARRAY | CH_LAST},
}
Last chunk in this array.
Definition: saveload.h:391

◆ _station_speclist_desc

const SaveLoad _station_speclist_desc[]
static
Initial value:
= {
}
#define SLE_CONDVAR(base, variable, type, from, to)
Storage of a variable in some savegame versions.
Definition: saveload.h:534
Highest possible saveload version.
Definition: saveload.h:305
27 4757
Definition: saveload.h:74

Definition at line 228 of file station_sl.cpp.

◆ _waypoint_desc

const SaveLoad _waypoint_desc[]
static
Initial value:
= {
SLE_WRITEBYTE(Waypoint, facilities),
SLE_ST_INCLUDE(),
SLE_VAR(Waypoint, town_cn, SLE_UINT16),
SLE_CONDVAR(Waypoint, train_station.tile, SLE_UINT32, SLV_124, SL_MAX_VERSION),
SLE_CONDVAR(Waypoint, train_station.w, SLE_FILE_U8 | SLE_VAR_U16, SLV_124, SL_MAX_VERSION),
SLE_CONDVAR(Waypoint, train_station.h, SLE_FILE_U8 | SLE_VAR_U16, SLV_124, SL_MAX_VERSION),
}
Representation of a waypoint.
Definition: waypoint_base.h:16
#define SLE_CONDVAR(base, variable, type, from, to)
Storage of a variable in some savegame versions.
Definition: saveload.h:534
Highest possible saveload version.
Definition: saveload.h:305
#define SLE_WRITEBYTE(base, variable)
Translate values ingame to different values in the savegame and vv.
Definition: saveload.h:645
124 16993
Definition: saveload.h:190
#define SLE_VAR(base, variable, type)
Storage of a variable in every version of a savegame.
Definition: saveload.h:594

Definition at line 448 of file station_sl.cpp.