OpenTTD: src/saveload/company_sl.cpp File Reference

OpenTTD

- Main Page
- Related Pages
- Modules
- Namespaces
- Data Structures
- Files

- File List
- Globals

Data Structures | Functions | Variables
company_sl.cpp File Reference

Code handling saving and loading of company data. More...

`#include "../stdafx.h"`
`#include "../company_func.h"`
`#include "../company_manager_face.h"`
`#include "../fios.h"`
`#include "../tunnelbridge_map.h"`
`#include "../tunnelbridge.h"`
`#include "../station_base.h"`
`#include "../strings_func.h"`
`#include "saveload.h"`
`#include "table/strings.h"`
`#include "../safeguards.h"`

Go to the source code of this file.

## Data Structures
struct | CompanyOldAI

## Functions
CompanyManagerFace | ConvertFromOldCompanyManagerFace (uint32 face)
| Converts an old company manager's face format to the new company manager's face format.
void | AfterLoadCompanyStats ()
| Rebuilding of company statistics after loading a savegame.
static void | SaveLoad_PLYR_common (Company *c, CompanyProperties *cprops)
static void | SaveLoad_PLYR (Company *c)
static void | Save_PLYR ()
static void | Load_PLYR ()
static void | Check_PLYR ()
static void | Ptrs_PLYR ()

## Variables
static const SaveLoad | _company_desc []
static const SaveLoad | _company_settings_desc []
static const SaveLoad | _company_settings_skip_desc []
static const SaveLoad | _company_economy_desc []
static const SaveLoad | _company_ai_desc []
static const SaveLoad | _company_ai_build_rec_desc []
static const SaveLoad | _company_livery_desc []
const ChunkHandler | _company_chunk_handlers []

## Detailed Description

Code handling saving and loading of company data.

Definition in file company_sl.cpp.

## Function Documentation

void AfterLoadCompanyStats | ( |  | ) |

Rebuilding of company statistics after loading a savegame.

Definition at line 96 of file company_sl.cpp.

References CountBits(), FACIL_AIRPORT, BaseStation::facilities, 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(), GetLockPart(), GetOtherTunnelBridgeEnd(), GetPresentSignals(), GetRailType(), GetRoadBits(), GetRoadOwner(), GetRoadTypes(), GetStationType(), GetTileOwner(), GetTileType(), GetTrackBits(), GetTunnelBridgeLength(), GetTunnelBridgeTransportType(), GetWaterClass(), HasSignals(), Company::infrastructure, IsBuoy(), 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, LOCK_PART_MIDDLE, MapSize(), MemSetT(), MP_OBJECT, MP_RAILWAY, MP_ROAD, MP_STATION, MP_TUNNELBRIDGE, MP_WATER, BaseStation::owner, 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().

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):

- 4 and 5: chin
- 6 to 9: eyebrows
- 10 to 13: nose
- 13 to 15: lips (also moustache for males)
- 16 to 19: hair
- 20 to 22: eye colour
- 20 to 27: tie, ear rings etc.
- 28 to 30: glasses
- 19, 26 and 27: race (bit 27 set and bit 19 equal to bit 26 = black, otherwise white)
- 31: gender (0 = male, 1 = female)

Parameters

  face | the face in the old format

Returns
  the face in the new format

Definition at line 45 of file company_sl.cpp.

References ClampU(), ETHNICITY_BLACK, GB(), GE_WF, GE_WM, GENDER_FEMALE, HasBit(), max(), ScaleCompanyManagerFaceValue(), SetBit(), and SetCompanyManagerFaceBits().

Referenced by AfterLoadGame().

## Variable Documentation

const SaveLoad _company_ai_build_rec_desc[]
| static

Initial value:
{
SLE_CONDNULL(2, 0, 5),
SLE_CONDNULL(4, 6, 106),
SLE_CONDNULL(2, 0, 5),
SLE_CONDNULL(4, 6, 106),
SLE_CONDNULL(8, 0, 106),
}

Definition at line 395 of file company_sl.cpp.

const SaveLoad _company_ai_desc[]
| static

Initial value:
{
SLE_CONDNULL(2, 0, 106),
SLE_CONDNULL(2, 0, 12),
SLE_CONDNULL(4, 13, 106),
SLE_CONDNULL(8, 0, 106),
SLE_CONDVAR(CompanyOldAI, num_build_rec, SLE_UINT8, 0, 106),
SLE_CONDNULL(3, 0, 106),
SLE_CONDNULL(2, 0, 5),
SLE_CONDNULL(4, 6, 106),
SLE_CONDNULL(2, 0, 5),
SLE_CONDNULL(4, 6, 106),
SLE_CONDNULL(2, 0, 106),
SLE_CONDNULL(2, 0, 5),
SLE_CONDNULL(4, 6, 106),
SLE_CONDNULL(2, 0, 5),
SLE_CONDNULL(4, 6, 106),
SLE_CONDNULL(2, 0, 106),
SLE_CONDNULL(2, 0, 68),
SLE_CONDNULL(4, 69, 106),
SLE_CONDNULL(18, 0, 106),
SLE_CONDNULL(20, 0, 106),
SLE_CONDNULL(32, 0, 106),
SLE_CONDNULL(64, 2, 106),
}

Definition at line 364 of file company_sl.cpp.

const ChunkHandler _company_chunk_handlers[]

Initial value:
{
{ 'PLYR', Save_PLYR, Load_PLYR, Ptrs_PLYR, Check_PLYR, CH_ARRAY | CH_LAST},
}

const SaveLoad _company_economy_desc[]
| static

Initial value:
{
SLE_CONDVAR(CompanyEconomyEntry, income, SLE_FILE_I32 | SLE_VAR_I64, 0, 1),
SLE_CONDVAR(CompanyEconomyEntry, income, SLE_INT64, 2, SL_MAX_VERSION),
SLE_CONDVAR(CompanyEconomyEntry, expenses, SLE_FILE_I32 | SLE_VAR_I64, 0, 1),
SLE_CONDVAR(CompanyEconomyEntry, expenses, SLE_INT64, 2, SL_MAX_VERSION),
SLE_CONDVAR(CompanyEconomyEntry, company_value, SLE_FILE_I32 | SLE_VAR_I64, 0, 1),
SLE_CONDVAR(CompanyEconomyEntry, company_value, SLE_INT64, 2, SL_MAX_VERSION),
SLE_CONDVAR(CompanyEconomyEntry, delivered_cargo[NUM_CARGO - 1], SLE_INT32, 0, 169),
SLE_CONDARR(CompanyEconomyEntry, delivered_cargo, SLE_UINT32, NUM_CARGO, 170, SL_MAX_VERSION),
SLE_VAR(CompanyEconomyEntry, performance_history, SLE_INT32),
}

Definition at line 343 of file company_sl.cpp.

const SaveLoad _company_livery_desc[]
| static

Initial value:
{
SLE_CONDVAR(Livery, in_use, SLE_BOOL, 34, SL_MAX_VERSION),
SLE_CONDVAR(Livery, colour1, SLE_UINT8, 34, SL_MAX_VERSION),
SLE_CONDVAR(Livery, colour2, SLE_UINT8, 34, SL_MAX_VERSION),
}

Definition at line 404 of file company_sl.cpp.

const SaveLoad _company_settings_desc[]
| static

Initial value:
{
SLE_CONDNULL(512, 16, 18),
SLE_CONDREF(Company, engine_renew_list, REF_ENGINE_RENEWS, 19, SL_MAX_VERSION),
SLE_CONDVAR(Company, settings.engine_renew, SLE_BOOL, 16, SL_MAX_VERSION),
SLE_CONDVAR(Company, settings.engine_renew_months, SLE_INT16, 16, SL_MAX_VERSION),
SLE_CONDVAR(Company, settings.engine_renew_money, SLE_UINT32, 16, SL_MAX_VERSION),
SLE_CONDVAR(Company, settings.renew_keep_length, SLE_BOOL, 2, SL_MAX_VERSION),
SLE_CONDVAR(Company, settings.vehicle.servint_ispercent, SLE_BOOL, 120, SL_MAX_VERSION),
SLE_CONDVAR(Company, settings.vehicle.servint_trains, SLE_UINT16, 120, SL_MAX_VERSION),
SLE_CONDVAR(Company, settings.vehicle.servint_roadveh, SLE_UINT16, 120, SL_MAX_VERSION),
SLE_CONDVAR(Company, settings.vehicle.servint_aircraft, SLE_UINT16, 120, SL_MAX_VERSION),
SLE_CONDVAR(Company, settings.vehicle.servint_ships, SLE_UINT16, 120, SL_MAX_VERSION),
SLE_CONDNULL(63, 2, 143),
}

Definition at line 300 of file company_sl.cpp.

const SaveLoad _company_settings_skip_desc[]
| static

Initial value:
{
SLE_CONDNULL(512, 16, 18),
SLE_CONDNULL(2, 19, 68),
SLE_CONDNULL(4, 69, SL_MAX_VERSION),
SLE_CONDNULL(1, 16, SL_MAX_VERSION),
SLE_CONDNULL(2, 16, SL_MAX_VERSION),
SLE_CONDNULL(4, 16, SL_MAX_VERSION),
SLE_CONDNULL(1, 2, SL_MAX_VERSION),
SLE_CONDNULL(1, 120, SL_MAX_VERSION),
SLE_CONDNULL(2, 120, SL_MAX_VERSION),
SLE_CONDNULL(2, 120, SL_MAX_VERSION),
SLE_CONDNULL(2, 120, SL_MAX_VERSION),
SLE_CONDNULL(2, 120, SL_MAX_VERSION),
SLE_CONDNULL(63, 2, 143),
}

Definition at line 321 of file company_sl.cpp.