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 "../newgrf.h"
#include "saveload.h"
#include "table/strings.h"

Go to the source code of this file.

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 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 _cargo_source
static uint32 _cargo_source_xy
static uint16 _cargo_days
static Money _cargo_feeder_share
static const SaveLoad _station_speclist_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 400 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 245 of file station_sl.cpp.

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

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

References _m, Vehicle::current_order, FOR_ALL_VEHICLES, OrderList::GetFirstOrder(), OrderList::GetFirstSharedVehicle(), GetStationIndex(), GetTileOwner(), HVOT_WAYPOINT, INVALID_TILE, IsBuoyTile(), IsInsideBS(), IsTileType(), MP_STATION, Order::next, SB(), TILE_AREA_LOOP, BaseVehicle::type, UpdateWaypointOrder(), VEH_SHIP, and VEH_TRAIN.

Referenced by AfterLoadGame().

static void UpdateWaypointOrder ( Order o  )  [static]

Update the buoy orders to be waypoint orders.

Parameters:
o the order 'list' to check.

Definition at line 27 of file station_sl.cpp.

References 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 330 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 150 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 233 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 383 of file station_sl.cpp.