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"

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 SaveLoadGetLinkStatDesc ()
 Wrapper function to get the LinkStat's internal structure while some of the variables are private.
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 uint16 _num_links
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 []
static StationID _station_id
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 480 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 284 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.

const SaveLoad* GetLinkStatDesc (  ) 

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

Returns:
Saveload description for LinkStat.

Definition at line 248 of file station_sl.cpp.

References SLE_END, SLE_VAR, and SLEG_VAR.

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:
ge the goods entry to swap with

Definition at line 328 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:
o the order 'list' to check.

Definition at line 26 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_REF(BaseStation, town,                   REF_TOWN),
        SLE_VAR(BaseStation, string_id,              SLE_STRINGID),
        SLE_STR(BaseStation, name,                   SLE_STR | SLF_ALLOW_CONTROL, 0),
        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 410 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 317 of file station_sl.cpp.

const SaveLoad _flow_desc[] [static]
Initial value:
 {
  SLE_CONDVAR(FlowSaveLoad, source,             SLE_UINT16,         SL_FLOWMAP, SL_MAX_VERSION),
  SLE_CONDVAR(FlowSaveLoad, via,                SLE_UINT16,         SL_FLOWMAP, SL_MAX_VERSION),
  SLE_CONDVAR(FlowSaveLoad, share,              SLE_UINT32,         SL_FLOWMAP, SL_MAX_VERSION),

}

Definition at line 272 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_REF(RoadStop, next,         REF_ROADSTOPS),
  SLE_CONDNULL(2, 0, 44),

  SLE_CONDNULL(4, 0, 24),
  SLE_CONDNULL(1, 25, 25),


}

Definition at line 149 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 234 of file station_sl.cpp.

const SaveLoad _waypoint_desc[] [static]
Initial value:
 {
  SLE_WRITEBYTE(Waypoint, facilities,                FACIL_WAYPOINT),
  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 463 of file station_sl.cpp.