Declaration of functions used in more save/load files. More...
#include "../company_manager_face.h"
#include "../order_base.h"
#include "../engine_type.h"
#include "saveload.h"
Go to the source code of this file.
Functions | |
void | InitializeOldNames () |
Initialize the old names table memory. | |
StringID | RemapOldStringID (StringID s) |
Remap a string ID from the old format to the new format. | |
char * | CopyFromOldName (StringID id) |
Copy and convert old custom names to UTF-8. | |
void | ResetOldNames () |
Free the memory of the old names array. | |
void | MoveBuoysToWaypoints () |
Perform all steps to upgrade from the old station buoys to the new version that uses waypoints. | |
void | MoveWaypointsToBaseStations () |
Perform all steps to upgrade from the old waypoints to the new version that uses station. | |
const SaveLoad * | GetBaseStationDescription () |
Get the base station description to be used for SL_ST_INCLUDE. | |
void | AfterLoadVehicles (bool part_of_load) |
Called after load to update coordinates. | |
void | FixupTrainLengths () |
Fixup old train spacing. | |
void | AfterLoadStations () |
void | AfterLoadRoadStops () |
(Re)building of road stop caches after loading a savegame. | |
void | AfterLoadLabelMaps () |
void | AfterLoadLinkGraphs () |
Spawn the threads for running link graph calculations. | |
void | AfterLoadCompanyStats () |
Rebuilding of company statistics after loading a savegame. | |
void | UpdateHousesAndTowns () |
Check and update town and house values. | |
void | UpdateOldAircraft () |
need to be called to load aircraft from old version | |
void | SaveViewportBeforeSaveGame () |
void | ResetViewportAfterLoadGame () |
void | ConvertOldMultiheadToNew () |
Converts all trains to the new subtype format introduced in savegame 16.2 It also links multiheaded engines or make them forget they are multiheaded if no suitable partner is found. | |
void | ConnectMultiheadedTrains () |
Link front and rear multiheaded engines to each other This is done when loading a savegame. | |
Engine * | GetTempDataEngine (EngineID index) |
void | CopyTempEngineData () |
Copy data from temporary engine array into the real engine pool. | |
CompanyManagerFace | ConvertFromOldCompanyManagerFace (uint32 face) |
Converts an old company manager's face format to the new company manager's face format. | |
Order | UnpackOldOrder (uint16 packed) |
Unpacks a order from savegames made with TTD(Patch). | |
Variables | |
int32 | _saved_scrollpos_x |
int32 | _saved_scrollpos_y |
ZoomLevelByte | _saved_scrollpos_zoom |
SavegameType | _savegame_type |
type of savegame we are loading | |
uint32 | _ttdp_version |
version of TTDP savegame (if applicable) |
Declaration of functions used in more save/load files.
Definition in file saveload_internal.h.
void AfterLoadCompanyStats | ( | ) |
Rebuilding of company statistics after loading a savegame.
Definition at line 93 of file company_sl.cpp.
References CountBits(), FACIL_AIRPORT, FOR_EACH_SET_ROADTYPE, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_company_pool >::Get(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_company_pool >::GetIfValid(), GetOtherTunnelBridgeEnd(), GetPresentSignals(), GetRailType(), GetRoadBits(), GetRoadOwner(), GetRoadTypes(), GetStationType(), GetTileOwner(), GetTileType(), GetTrackBits(), GetTunnelBridgeLength(), GetTunnelBridgeTransportType(), GetWaterClass(), HasSignals(), Company::infrastructure, IsLevelCrossing(), IsLock(), IsNormalRoad(), IsPlainRail(), IsRoadDepot(), IsShipDepot(), IsStationTileBlocked(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_company_pool >::IsValidID(), LEVELCROSSING_TRACKBIT_FACTOR, LOCK_DEPOT_TILE_FACTOR, MapSize(), MemSetT(), MP_OBJECT, MP_RAILWAY, MP_ROAD, MP_STATION, MP_TUNNELBRIDGE, MP_WATER, CompanyInfrastructure::rail, CompanyInfrastructure::road, CompanyInfrastructure::signal, CompanyInfrastructure::station, TracksOverlap(), TRANSPORT_RAIL, TRANSPORT_ROAD, TRANSPORT_WATER, TUNNELBRIDGE_TRACKBIT_FACTOR, CompanyInfrastructure::water, and WATER_CLASS_CANAL.
Referenced by AfterLoadGame(), CheckCaches(), and ReloadNewGRFData().
void AfterLoadLinkGraphs | ( | ) |
Spawn the threads for running link graph calculations.
Has to be done after loading as the cargo classes might have changed.
Definition at line 144 of file linkgraph_sl.cpp.
References _link_graphs, LinkGraphComponent::GetSize(), and LinkGraphJob::SpawnThread().
Referenced by AfterLoadGame().
void AfterLoadVehicles | ( | bool | part_of_load | ) |
Called after load to update coordinates.
So we can set the previous and first pointers while loading.
For instantiating the shared vehicle chain.
Definition at line 243 of file vehicle_sl.cpp.
References _age_cargo_skip_counter, _settings_game, Vehicle::AddToShared(), AIR_HELICOPTER, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_orderlist_pool >::CanAllocateItem(), Vehicle::cargo_age_counter, CheckValidVehicles(), Vehicle::coord, Vehicle::cur_image, Vehicle::cur_speed, Vehicle::current_order, Vehicle::direction, EF_ROAD_TRAM, EIT_ON_MAP, Vehicle::engine_type, Vehicle::fill_percent_te_id, Vehicle::First(), OrderList::first, Vehicle::first, GroundVehicleCache::first_engine, FOR_ALL_VEHICLES, Order::Free(), OrderList::GetFirstSharedVehicle(), Vehicle::GetGroundVehicleCache(), Vehicle::GetImage(), HasBit(), OrderList::Initialize(), INVALID_COORD, INVALID_ENGINE, Vehicle::IsGroundVehicle(), Vehicle::IsPrimaryVehicle(), IsSavegameVersionBefore(), Vehicle::list, Vehicle::Next(), Vehicle::next_shared, Vehicle::NextShared(), Vehicle::old, Vehicle::orders, Vehicle::Previous(), Vehicle::previous, Vehicle::previous_shared, Vehicle::PreviousShared(), ROADTYPE_TRAM, RoadTypeToRoadTypes(), VehicleSettings::roadveh_acceleration_model, RoadVehUpdateCache(), SlErrorCorrupt(), Vehicle::subtype, BaseVehicle::type, Vehicle::unitnumber, UpdateAircraftCache(), Vehicle::UpdateDeltaXY(), VEH_AIRCRAFT, VEH_ROAD, VEH_SHIP, VEH_TRAIN, GameSettings::vehicle, VehicleUpdatePosition(), VehicleUpdateViewport(), Vehicle::vehstatus, and VS_STOPPED.
Referenced by AfterLoadGame(), and ReloadNewGRFData().
CompanyManagerFace ConvertFromOldCompanyManagerFace | ( | uint32 | face | ) |
Converts an old company manager's face format to the new company manager's face format.
Meaning of the bits in the old face (some bits are used in several times):
face | the face in the old format |
Definition at line 42 of file company_sl.cpp.
References ClampU(), ETHNICITY_BLACK, GB(), GE_WF, GENDER_FEMALE, HasBit(), max(), ScaleCompanyManagerFaceValue(), SetBit(), and SetCompanyManagerFaceBits().
Referenced by AfterLoadGame().
char* CopyFromOldName | ( | StringID | id | ) |
Copy and convert old custom names to UTF-8.
They were all stored in a 512 by 32 (200 by 24 for TTO) long string array and are now stored with stations, waypoints and other places with names.
id | the StringID of the custom name to clone. |
Definition at line 58 of file strings_sl.cpp.
References _old_name_array, _savegame_type, GB(), IsSavegameVersionBefore(), lastof, LEN_OLD_STRINGS, LEN_OLD_STRINGS_TTO, MAX_CHAR_LENGTH, SGT_TTO, Utf8CharLen(), and Utf8Encode().
Referenced by AfterLoadGame(), FixOldVehicles(), and WriteValue().
void FixupTrainLengths | ( | ) |
Fixup old train spacing.
Definition at line 455 of file vehicle_sl.cpp.
References FOR_ALL_VEHICLES, GetRailDepotTrack(), Vehicle::IsPrimaryVehicle(), ReverseTrainSwapVeh(), TicksToLeaveDepot(), TRACK_BIT_DEPOT, TrackToTrackBits(), TrainController(), BaseVehicle::type, VEH_TRAIN, VEHICLE_LENGTH, and VS_CRASHED.
Referenced by AfterLoadGame().
const SaveLoad* GetBaseStationDescription | ( | ) |
Get the base station description to be used for SL_ST_INCLUDE.
Definition at line 480 of file station_sl.cpp.
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 40 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().
void MoveWaypointsToBaseStations | ( | ) |
Perform all steps to upgrade from the old waypoints to the new version that uses station.
This includes some old saveload mechanics.
Definition at line 65 of file waypoint_sl.cpp.
References _m, AllocateSpecToStation(), SmallVector< T, S >::Begin(), Vehicle::current_order, SmallVector< T, S >::End(), FOR_ALL_VEHICLES, GB(), OrderList::GetFirstOrder(), OrderList::GetFirstSharedVehicle(), GetRailTileType(), GetRailType(), GetTileOwner(), StationSpec::grf_prop, GRFFilePropsBase< Tcnt >::grffile, HasBit(), IsSavegameVersionBefore(), IsTileType(), SmallVector< T, S >::Length(), GRFFilePropsBase< Tcnt >::local_id, Tile::m2, Tile::m3, Tile::m4, MakeRailWaypoint(), MP_RAILWAY, Order::next, SmallVector< T, S >::Reset(), SetCustomStationSpecIndex(), SetRailStationReservation(), SlError(), STAT_CLASS_WAYP, BaseVehicle::type, UpdateWaypointOrder(), and VEH_TRAIN.
Referenced by AfterLoadGame().
Remap a string ID from the old format to the new format.
s | StringID that requires remapping |
Definition at line 27 of file strings_sl.cpp.
References IsInsideMM().
Referenced by LoadOldVehicle(), and SlSaveLoadConv().
void ResetOldNames | ( | ) |
Free the memory of the old names array.
Should be called once the old names have all been converted.
Definition at line 106 of file strings_sl.cpp.
References _old_name_array, and free().
Referenced by AfterLoadGame().
Order UnpackOldOrder | ( | uint16 | packed | ) |
Unpacks a order from savegames made with TTD(Patch).
packed | packed order |
Definition at line 89 of file order_sl.cpp.
References Order::IsType(), Order::MakeDummy(), and UnpackVersion4Order().
Referenced by LoadOldVehicle().
void UpdateHousesAndTowns | ( | ) |
Check and update town and house values.
Checked are the HouseIDs. Updated are the town population the number of houses per town, the town radius and the max passengers of the town.
Definition at line 28 of file town_sl.cpp.
References HouseSpec::building_flags, GetCleanHouseType(), GetHouseNorthPart(), OverrideManagerBase::GetSubstituteID(), IncreaseBuildingCount(), IsHouseCompleted(), IsTileType(), MapSize(), MP_HOUSE, Town::num_houses, HouseSpec::population, Town::population, SetHouseType(), TileDiffXY(), UpdateTownCargoBitmap(), and UpdateTownCargoes().
Referenced by AfterLoadGame(), and ReloadNewGRFData().