house.h File Reference

definition of HouseSpec and accessors More...

#include "strings_type.h"
#include "cargo_type.h"
#include "economy_type.h"
#include "date_type.h"
#include "house_type.h"
#include "newgrf_animation_type.h"
#include "newgrf_commons.h"

Go to the source code of this file.

Data Structures

struct  HouseSpec

Enumerations

enum  BuildingFlags {
  TILE_NO_FLAG = 0, TILE_SIZE_1x1 = 1U << 0, TILE_NOT_SLOPED = 1U << 1, TILE_SIZE_2x1 = 1U << 2,
  TILE_SIZE_1x2 = 1U << 3, TILE_SIZE_2x2 = 1U << 4, BUILDING_IS_ANIMATED = 1U << 5, BUILDING_IS_CHURCH = 1U << 6,
  BUILDING_IS_STADIUM = 1U << 7, BUILDING_HAS_1_TILE = TILE_SIZE_1x1 | TILE_SIZE_2x1 | TILE_SIZE_1x2 | TILE_SIZE_2x2, BUILDING_HAS_2_TILES = TILE_SIZE_2x1 | TILE_SIZE_1x2 | TILE_SIZE_2x2, BUILDING_2_TILES_X = TILE_SIZE_2x1 | TILE_SIZE_2x2,
  BUILDING_2_TILES_Y = TILE_SIZE_1x2 | TILE_SIZE_2x2, BUILDING_HAS_4_TILES = TILE_SIZE_2x2
}
enum  HouseZonesBits {
  HZB_BEGIN = 0, HZB_TOWN_EDGE = 0, HZB_TOWN_OUTSKIRT, HZB_TOWN_OUTER_SUBURB,
  HZB_TOWN_INNER_SUBURB, HZB_TOWN_CENTRE, HZB_END
}
enum  HouseZones {
  HZ_NOZNS = 0x0000, HZ_ZON1 = 1U << HZB_TOWN_EDGE, HZ_ZON2 = 1U << HZB_TOWN_OUTSKIRT, HZ_ZON3 = 1U << HZB_TOWN_OUTER_SUBURB,
  HZ_ZON4 = 1U << HZB_TOWN_INNER_SUBURB, HZ_ZON5 = 1U << HZB_TOWN_CENTRE, HZ_ZONALL = 0x001F, HZ_SUBARTC_ABOVE = 0x0800,
  HZ_TEMP = 0x1000, HZ_SUBARTC_BELOW = 0x2000, HZ_SUBTROPIC = 0x4000, HZ_TOYLND = 0x8000,
  HZ_CLIMALL = 0xF800
}
enum  HouseExtraFlags {
  NO_EXTRA_FLAG = 0, BUILDING_IS_HISTORICAL = 1U << 0, BUILDING_IS_PROTECTED = 1U << 1, SYNCHRONISED_CALLBACK_1B = 1U << 2,
  CALLBACK_1A_RANDOM_BITS = 1U << 3
}

Functions

 assert_compile (HZB_END==5)
static HouseID GetTranslatedHouseID (HouseID hid)
 Do HouseID translation for NewGRFs.

Variables

static const byte TOWN_HOUSE_COMPLETED = 3
 Simple value that indicates the house has reached the final stage of construction.
static const uint HOUSE_NO_CLASS = 0
static const HouseID NEW_HOUSE_OFFSET = 110
static const HouseID HOUSE_MAX = 512
static const HouseID INVALID_HOUSE_ID = 0xFFFF
static const uint HOUSE_CLASS_MAX = HOUSE_MAX - NEW_HOUSE_OFFSET + 1
 There can only be as many classes as there are new houses, plus one for NO_CLASS, as the original houses don't have classes.

Detailed Description

definition of HouseSpec and accessors

Definition in file house.h.


Enumeration Type Documentation

Enumerator:
BUILDING_IS_HISTORICAL 

this house will only appear during town generation in random games, thus the historical

BUILDING_IS_PROTECTED 

towns and AI will not remove this house, while human players will be able to

SYNCHRONISED_CALLBACK_1B 

synchronized callback 1B will be performed, on multi tile houses

CALLBACK_1A_RANDOM_BITS 

callback 1A needs random bits

Definition at line 88 of file house.h.

enum HouseZones
Enumerator:
HZ_NOZNS 

Bit Value Meaning.

0 This is just to get rid of zeros, meaning none

HZ_ZON1 

0..4 1,2,4,8,10 which town zones the building can be built in, Zone1 been the further suburb

HZ_ZON5 

center of town

HZ_ZONALL 

1F This is just to englobe all above types at once

HZ_SUBARTC_ABOVE 

11 800 can appear in sub-arctic climate above the snow line

HZ_TEMP 

12 1000 can appear in temperate climate

HZ_SUBARTC_BELOW 

13 2000 can appear in sub-arctic climate below the snow line

HZ_SUBTROPIC 

14 4000 can appear in subtropical climate

HZ_TOYLND 

15 8000 can appear in toyland climate

HZ_CLIMALL 

Bitmask of all climate bits.

Definition at line 71 of file house.h.


Function Documentation

static HouseID GetTranslatedHouseID ( HouseID  hid  )  [inline, static]

Do HouseID translation for NewGRFs.

Parameters:
hid the HouseID to get the override for.
Returns:
the HouseID to actually work with.

Definition at line 139 of file house.h.

References HouseSpec::grf_prop, and GRFFileProps::override.

Referenced by GetHouseType().


Generated on Wed Apr 13 00:48:00 2011 for OpenTTD by  doxygen 1.6.1