# town_sl.cpp File Reference

Code handling saving and loading of towns and houses. More...

`#include "../stdafx.h"`
`#include "../newgrf_house.h"`
`#include "../newgrf_commons.h"`
`#include "../town.h"`
`#include "../landscape.h"`
`#include "saveload.h"`

Go to the source code of this file.

## Functions
void | UpdateHousesAndTowns ()
| Check and update town and house values.
static void | Save_HOUSEIDS ()
static void | Load_HOUSEIDS ()
static void | Save_TOWN ()
static void | Load_TOWN ()
## Variables
static const SaveLoad | _town_desc []
| Save and load of towns.
static const SaveLoad | _house_id_mapping_desc []
const ChunkHandler | _town_chunk_handlers []

## Detailed Description

Code handling saving and loading of towns and houses.

Definition in file town_sl.cpp.

## Function Documentation

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, HouseSpec::population, SetHouseType(), and TileDiffXY().

Referenced by ReloadNewGRFData().

## Variable Documentation

const SaveLoad _house_id_mapping_desc[]`[static]`

Initial value:

     {
      SLE_VAR(EntityIDMapping, grfid,         SLE_UINT32),
      SLE_VAR(EntityIDMapping, entity_id,     SLE_UINT8),
      SLE_VAR(EntityIDMapping, substitute_id, SLE_UINT8),

    }

Definition at line 182 of file town_sl.cpp.

const ChunkHandler _town_chunk_handlers[]

Initial value:

     {
      { 'HIDS', Save_HOUSEIDS, Load_HOUSEIDS, NULL, CH_ARRAY },
      { 'CITY', Save_TOWN,     Load_TOWN,     NULL, CH_ARRAY | CH_LAST},
    }

const SaveLoad _town_desc[]`[static]`

Save and load of towns.

Definition at line 104 of file town_sl.cpp.