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

References SLEG_CONDVAR.

◆ MoveBuoysToWaypoints()

void MoveBuoysToWaypoints ( )

Perform all steps to upgrade from the old station buoys to the new version that uses waypoints.

This includes some old saveload mechanics.

Definition at line 42 of file station_sl.cpp.

◆ 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 309 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 28 of file station_sl.cpp.

References Order::IsType().

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

Definition at line 395 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:330
Load/save a reference to a cargo packet.
Definition: saveload.h:88
#define SLE_VAR(base, variable, type)
Storage of a variable in every version of a savegame.
Definition: saveload.h:296

Definition at line 298 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, 187, SL_MAX_VERSION),
}
#define SLE_CONDVAR(base, variable, type, from, to)
Storage of a variable in some savegame versions.
Definition: saveload.h:246
#define SL_MAX_VERSION
Highest possible savegame version.
Definition: saveload.h:96
#define SLE_VAR(base, variable, type)
Storage of a variable in every version of a savegame.
Definition: saveload.h:296

Definition at line 253 of file station_sl.cpp.

◆ _roadstop_desc

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),
}
#define SLE_CONDNULL(length, from, to)
Empty space in some savegame versions.
Definition: saveload.h:344
#define SLE_REF(base, variable, type)
Storage of a reference in every version of a savegame.
Definition: saveload.h:304
Load/save a reference to a bus/truck stop.
Definition: saveload.h:86
A Stop for a Road Vehicle.
Definition: roadstop_base.h:24
#define SLE_VAR(base, variable, type)
Storage of a variable in every version of a savegame.
Definition: saveload.h:296

Definition at line 151 of file station_sl.cpp.

◆ _station_chunk_handlers

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},
}
Last chunk in this array.
Definition: saveload.h:104

◆ _station_speclist_desc

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),
}
#define SLE_CONDVAR(base, variable, type, from, to)
Storage of a variable in some savegame versions.
Definition: saveload.h:246
#define SL_MAX_VERSION
Highest possible savegame version.
Definition: saveload.h:96

Definition at line 235 of file station_sl.cpp.

◆ _waypoint_desc

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),
}
Representation of a waypoint.
Definition: waypoint_base.h:18
#define SLE_WRITEBYTE(base, variable, value)
Translate values ingame to different values in the savegame and vv.
Definition: saveload.h:347
Station is a waypoint.
Definition: station_type.h:60
#define SLE_CONDVAR(base, variable, type, from, to)
Storage of a variable in some savegame versions.
Definition: saveload.h:246
#define SL_MAX_VERSION
Highest possible savegame version.
Definition: saveload.h:96
#define SLE_VAR(base, variable, type)
Storage of a variable in every version of a savegame.
Definition: saveload.h:296

Definition at line 448 of file station_sl.cpp.