OpenTTD Source 20241224-master-gf74b0cf984
|
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. | |
std::string | CopyFromOldName (StringID id) |
Copy and convert old custom names to UTF-8. | |
void | ResetOldNames () |
Free the memory of the old names array. | |
void | ResetOldWaypoints () |
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. | |
void | AfterLoadVehiclesPhase1 (bool part_of_load) |
Called after load for phase 1 of vehicle initialisation. | |
void | AfterLoadVehiclesPhase2 (bool part_of_load) |
Called after load for phase 2 of vehicle initialisation. | |
void | FixupTrainLengths () |
Fixup old train spacing. | |
void | AfterLoadStations () |
void | AfterLoadRoadStops () |
(Re)building of road stop caches after loading a savegame. | |
void | ResetLabelMaps () |
void | AfterLoadLabelMaps () |
Perform rail type and road type conversion if necessary. | |
void | AfterLoadStoryBook () |
Called after load to trash broken pages. | |
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. | |
void | ResetTempEngineData () |
Engine * | GetTempDataEngine (EngineID index) |
void | CopyTempEngineData () |
Copy data from temporary engine array into the real engine pool. | |
CompanyManagerFace | ConvertFromOldCompanyManagerFace (uint32_t face) |
Converts an old company manager's face format to the new company manager's face format. | |
Order | UnpackOldOrder (uint16_t packed) |
Unpacks a order from savegames made with TTD(Patch) | |
Variables | |
int32_t | _saved_scrollpos_x |
int32_t | _saved_scrollpos_y |
ZoomLevel | _saved_scrollpos_zoom |
SavegameType | _savegame_type |
type of savegame we are loading | |
uint32_t | _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 96 of file company_sl.cpp.
void AfterLoadLabelMaps | ( | ) |
Perform rail type and road type conversion if necessary.
Definition at line 148 of file labelmaps_sl.cpp.
References ConvertRailTypes(), ConvertRoadTypes(), and SetCurrentLabelLists().
Referenced by AfterLoadGame(), 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 232 of file linkgraph_sl.cpp.
References _network_server, _networking, AfterLoad_LinkGraphPauseControl(), SpecializedStation< Station, false >::GetIfValid(), LinkGraphJob::Graph(), LinkGraphSchedule::instance, IsSavegameVersionBefore(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_link_graph_job_pool >::Iterate(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_link_graph_pool >::Iterate(), LinkGraph::Size(), SLV_191, LinkGraphSchedule::SpawnAll(), and BaseStation::xy.
Referenced by AfterLoadGame().
void AfterLoadRoadStops | ( | ) |
(Re)building of road stop caches after loading a savegame.
Definition at line 138 of file station_sl.cpp.
References DIAGDIR_NE, DIAGDIR_NW, HasBit(), IsDriveThroughStopTile(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_roadstop_pool >::Iterate(), and RoadStop::RSSFB_BASE_ENTRY.
Referenced by AfterLoadGame().
void AfterLoadStations | ( | ) |
Definition at line 111 of file station_sl.cpp.
void AfterLoadStoryBook | ( | ) |
Called after load to trash broken pages.
Definition at line 20 of file story_sl.cpp.
References Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::CleanPool(), IsSavegameVersionBefore(), and SLV_185.
Referenced by AfterLoadGame().
void AfterLoadVehiclesPhase1 | ( | bool | part_of_load | ) |
Called after load for phase 1 of vehicle initialisation.
So we can set the #previous and #first pointers while loading.
For instantiating the shared vehicle chain.
Definition at line 256 of file vehicle_sl.cpp.
Referenced by AfterLoadGame(), and ReloadNewGRFData().
void AfterLoadVehiclesPhase2 | ( | bool | part_of_load | ) |
Called after load for phase 2 of vehicle initialisation.
Definition at line 415 of file vehicle_sl.cpp.
References _settings_game, AIR_HELICOPTER, CalcPercentVehicleFilled(), GroundVehicle< T, Type >::CargoChanged(), CCF_SAVELOAD, RoadVehicle::compatible_roadtypes, Train::ConsistChanged(), VehicleSpriteSeq::CopyWithoutPalette(), Vehicle::cur_speed, RoadVehicle::disaster_vehicle, EIT_ON_MAP, Vehicle::engine_type, SpecializedVehicle< Aircraft, VEH_AIRCRAFT >::From(), SpecializedVehicle< Ship, VEH_SHIP >::From(), SpecializedVehicle< T, Type >::From(), SpecializedVehicle< DisasterVehicle, VEH_DISASTER >::From(), GroundVehicle< T, Type >::gcache, 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<&_engine_pool >::Get(), SpecializedVehicle< T, Type >::GetIfValid(), GetRoadTypeInfo(), INVALID_COORD, INVALID_ROADTYPE, INVALID_VEHICLE, GroundVehicle< T, Type >::IsEngine(), GroundVehicle< T, Type >::IsFreeWagon(), Vehicle::IsFrontEngine(), Aircraft::IsNormalAircraft(), IsSavegameVersionBefore(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_vehicle_pool >::Iterate(), GroundVehicleCache::last_speed, Vehicle::Next(), SpecializedVehicle< T, Type >::Next(), RoadTypeInfo::powered_roadtypes, RoadVehicle::roadtype, VehicleSettings::roadveh_acceleration_model, RoadVehUpdateCache(), SlErrorCorrupt(), SLV_112, SLV_2, Vehicle::sprite_cache, MutableSpriteCache::sprite_seq, ST_SMALL_UFO, UpdateAircraftCache(), Ship::UpdateCache(), VEH_AIRCRAFT, VEH_DISASTER, VEH_ROAD, VEH_SHIP, VEH_TRAIN, GameSettings::vehicle, Vehicle::vehstatus, and VS_STOPPED.
Referenced by AfterLoadGame(), and ReloadNewGRFData().
void ConnectMultiheadedTrains | ( | ) |
Link front and rear multiheaded engines to each other This is done when loading a savegame.
Definition at line 35 of file vehicle_sl.cpp.
References GroundVehicle< T, Type >::ClearEngine(), GroundVehicle< T, Type >::ClearMultiheaded(), Vehicle::engine_type, SpecializedVehicle< T, Type >::GetNextVehicle(), GroundVehicle< T, Type >::IsEngine(), GroundVehicle< T, Type >::IsMultiheaded(), SpecializedVehicle< T, Type >::Iterate(), and Vehicle::spritenum.
Referenced by AfterLoadGame().
CompanyManagerFace ConvertFromOldCompanyManagerFace | ( | uint32_t | 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 45 of file company_sl.cpp.
References ClampU(), ETHNICITY_BLACK, GB(), GE_WF, GE_WM, GENDER_FEMALE, HasBit(), ScaleCompanyManagerFaceValue(), SetBit(), and SetCompanyManagerFaceBits().
Referenced by AfterLoadGame().
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.
Definition at line 113 of file vehicle_sl.cpp.
References ClrBit(), HasBit(), SpecializedVehicle< T, Type >::Iterate(), SpecializedVehicle< T, Type >::Next(), RAILVEH_MULTIHEAD, RAILVEH_WAGON, SetBit(), and SlErrorCorrupt().
Referenced by AfterLoadGame().
std::string 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 61 of file strings_sl.cpp.
References _old_name_array, _savegame_type, GB(), GetStringTab(), IsSavegameVersionBefore(), LEN_OLD_STRINGS, LEN_OLD_STRINGS_TTO, SGT_TTO, SLV_37, and Utf8Encode().
Referenced by AfterLoadGame(), CHKPChunkHandler::FixPointers(), ENGSChunkHandler::Load(), and WriteValue().
void CopyTempEngineData | ( | ) |
Copy data from temporary engine array into the real engine pool.
Definition at line 121 of file engine_sl.cpp.
References Engine::age, Engine::company_avail, Engine::company_hidden, Engine::duration_phase_1, Engine::duration_phase_2, Engine::duration_phase_3, Engine::flags, Engine::intro_date, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_engine_pool >::Iterate(), Engine::name, Engine::preview_asked, Engine::preview_company, Engine::preview_wait, Engine::reliability, Engine::reliability_final, Engine::reliability_max, Engine::reliability_spd_dec, and Engine::reliability_start.
Referenced by AfterLoadGame().
void FixupTrainLengths | ( | ) |
Fixup old train spacing.
Definition at line 549 of file vehicle_sl.cpp.
References CCF_TRACK, SpecializedVehicle< T, Type >::From(), GetRailDepotTrack(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_vehicle_pool >::Iterate(), SpecializedVehicle< T, Type >::Next(), ReverseTrainSwapVeh(), TFP_SIGNAL, TicksToLeaveDepot(), Vehicle::tile, TRACK_BIT_DEPOT, TrackToTrackBits(), TrainController(), VEH_TRAIN, VEHICLE_LENGTH, Vehicle::vehstatus, and VS_CRASHED.
Referenced by AfterLoadGame().
Definition at line 70 of file engine_sl.cpp.
void InitializeOldNames | ( | ) |
Initialize the old names table memory.
Definition at line 111 of file strings_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 45 of file station_sl.cpp.
References BaseStation::build_date, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_station_pool >::CanAllocateItem(), BaseStation::delete_ctr, FACIL_DOCK, FACIL_TRAIN, BaseStation::facilities, GetStationIndex(), GetTileOwner(), HVOT_WAYPOINT, INVALID_TILE, IsBuoyTile(), IsInsideBS(), IsTileType(), SpecializedStation< Station, false >::Iterate(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_orderlist_pool >::Iterate(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_vehicle_pool >::Iterate(), Tile::m6(), MP_STATION, BaseStation::name, Town::name, Order::next, BaseStation::owner, OWNER_NONE, BaseStation::rect, SB(), BaseStation::string_id, BaseStation::town, Waypoint::town_cn, BaseStation::train_station, 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 67 of file waypoint_sl.cpp.
References _old_waypoints, AllocateSpecToStation(), BaseStation::build_date, Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_station_pool >::CanAllocateItem(), Debug, BaseStation::delete_ctr, FACIL_TRAIN, BaseStation::facilities, GB(), NewGRFClass< Tspec, Tindex, Tmax >::Get(), GetRailTileType(), GetRailType(), NewGRFClass< Tspec, Tindex, Tmax >::GetSpec(), GetTileOwner(), StationSpec::grf_prop, GRFFilePropsBase< Tcnt >::grfid, HasBit(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem< Tpool >::index, INVALID_TILE, IsSavegameVersionBefore(), IsTileType(), Map::Iterate(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_vehicle_pool >::Iterate(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_orderlist_pool >::Iterate(), GRFFilePropsBase< Tcnt >::local_id, Tile::m2(), Tile::m3(), Tile::m4(), Tile::m5(), MakeRailWaypoint(), MP_RAILWAY, BaseStation::name, Order::next, BaseStation::owner, BaseStation::rect, SetCustomStationSpecIndex(), SetRailStationReservation(), SlError(), SlErrorCorrupt(), SLV_100, SLV_17, NewGRFClass< Tspec, Tindex, Tmax >::Specs(), STAT_CLASS_WAYP, BaseStation::string_id, BaseStation::town, Waypoint::town_cn, 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 30 of file strings_sl.cpp.
References IsInsideMM().
Referenced by SlSaveLoadConv().
void ResetLabelMaps | ( | ) |
Definition at line 156 of file labelmaps_sl.cpp.
void ResetOldNames | ( | ) |
Free the memory of the old names array.
Should be called once the old names have all been converted.
Definition at line 102 of file strings_sl.cpp.
References _old_name_array, and free().
Referenced by AfterLoadGame().
void ResetOldWaypoints | ( | ) |
Definition at line 161 of file waypoint_sl.cpp.
void ResetTempEngineData | ( | ) |
Definition at line 149 of file engine_sl.cpp.
void ResetViewportAfterLoadGame | ( | ) |
Definition at line 54 of file misc_sl.cpp.
void SaveViewportBeforeSaveGame | ( | ) |
Definition at line 38 of file misc_sl.cpp.
Order UnpackOldOrder | ( | uint16_t | packed | ) |
Unpacks a order from savegames made with TTD(Patch)
packed | packed order |
Definition at line 92 of file order_sl.cpp.
References Order::IsType(), Order::MakeDummy(), and UnpackVersion4Order().
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 64 of file town_sl.cpp.
References HouseSpec::building_flags, HouseSpec::Get(), GetCleanHouseType(), GetHouseNorthPart(), OverrideManagerBase::GetSubstituteID(), IsTileType(), Map::Iterate(), MP_HOUSE, NEW_HOUSE_OFFSET, RebuildTownCaches(), SetHouseType(), and TileDiffXY().
Referenced by AfterLoadGame(), and ReloadNewGRFData().
void UpdateOldAircraft | ( | ) |
need to be called to load aircraft from old version
Definition at line 165 of file vehicle_sl.cpp.
References AIR_HELICOPTER, AircraftLeaveHangar(), AircraftNextAirportPos_and_Order(), Vehicle::cargo_payment, Vehicle::current_order, FLYING, GetAircraftFlightLevelBounds(), GetNewVehiclePos(), HANGAR, Order::IsType(), SpecializedStation< Station, false >::Iterate(), Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_vehicle_pool >::Iterate(), SetAircraftPosition(), BaseVehicle::type, UpdateAircraftCache(), VEH_AIRCRAFT, VS_STOPPED, and GetNewVehiclePosResult::y.
Referenced by AfterLoadGame().
|
extern |
Definition at line 34 of file misc_sl.cpp.
|
extern |
Definition at line 35 of file misc_sl.cpp.
|
extern |
Definition at line 36 of file misc_sl.cpp.
|
extern |
|
extern |
version of TTDP savegame (if applicable)
Definition at line 62 of file saveload.cpp.