newgrf_house.cpp File Reference

#include "stdafx.h"
#include "openttd.h"
#include "variables.h"
#include "debug.h"
#include "viewport_func.h"
#include "landscape.h"
#include "town.h"
#include "town_map.h"
#include "sprite.h"
#include "newgrf.h"
#include "newgrf_house.h"
#include "newgrf_spritegroup.h"
#include "newgrf_callbacks.h"
#include "newgrf_town.h"
#include "newgrf_sound.h"
#include "newgrf_commons.h"
#include "transparency.h"
#include "functions.h"
#include "player_func.h"
#include "table/strings.h"
#include "table/sprites.h"
#include "table/town_land.h"

Go to the source code of this file.

Functions

HouseOverrideManager _house_mngr (NEW_HOUSE_OFFSET, HOUSE_MAX, INVALID_HOUSE_ID)
TileIndex GetHouseNorthPart (HouseID &house)
 Determines if a given HouseID is part of a multitile house.
void UpdateHousesAndTowns ()
 Check and update town and house values.
HouseClassID AllocateHouseClassID (byte grf_class_id, uint32 grfid)
void InitializeBuildingCounts ()
void IncreaseBuildingCount (Town *t, HouseID house_id)
 IncreaseBuildingCount() Increase the count of a building when it has been added by a town.
void DecreaseBuildingCount (Town *t, HouseID house_id)
 DecreaseBuildingCount() Decrease the number of a building when it is deleted.
static uint32 HouseGetRandomBits (const ResolverObject *object)
static uint32 HouseGetTriggers (const ResolverObject *object)
static void HouseSetTriggers (const ResolverObject *object, int triggers)
static uint32 GetNumHouses (HouseID house_id, const Town *town)
static uint32 GetGRFParameter (HouseID house_id, byte parameter)
uint32 GetNearbyTileInformation (byte parameter, TileIndex tile)
static uint32 HouseGetVariable (const ResolverObject *object, byte variable, byte parameter, bool *available)
 HouseGetVariable():.
static const SpriteGroup * HouseResolveReal (const ResolverObject *object, const SpriteGroup *group)
static void NewHouseResolver (ResolverObject *res, HouseID house_id, TileIndex tile, Town *town)
 NewHouseResolver():.
uint16 GetHouseCallback (CallbackID callback, uint32 param1, uint32 param2, HouseID house_id, Town *town, TileIndex tile)
void DrawTileLayout (const TileInfo *ti, const SpriteGroup *group, byte stage, HouseID house_id)
void DrawNewHouseTile (TileInfo *ti, HouseID house_id)
void AnimateNewHouseTile (TileIndex tile)
void ChangeHouseAnimationFrame (TileIndex tile, uint16 callback_result)
bool CanDeleteHouse (TileIndex tile)
static void AnimationControl (TileIndex tile, uint16 random_bits)
bool NewHouseTileLoop (TileIndex tile)
static void DoTriggerHouse (TileIndex tile, HouseTrigger trigger, byte base_random, bool first)
void TriggerHouse (TileIndex t, HouseTrigger trigger)

Variables

static BuildingCounts _building_counts
static HouseClassMapping _class_mapping [HOUSE_CLASS_MAX]


Detailed Description

Definition in file newgrf_house.cpp.


Function Documentation

void DecreaseBuildingCount ( Town *  t,
HouseID  house_id 
)

DecreaseBuildingCount() Decrease the number of a building when it is deleted.

Parameters:
t The town that the building was built in
house_id The id of the house being removed

Definition at line 138 of file newgrf_house.cpp.

TileIndex GetHouseNorthPart ( HouseID &  house  ) 

Determines if a given HouseID is part of a multitile house.

The given ID is set to the ID of the north tile and the TileDiff to the north tile is returned.

Parameters:
house Is changed to the HouseID of the north tile of the same house
Returns:
TileDiff from the tile of the given HouseID to the north tile

Definition at line 1986 of file town_cmd.cpp.

References TileDiffXY().

Referenced by UpdateHousesAndTowns().

static uint32 HouseGetVariable ( const ResolverObject *  object,
byte  variable,
byte  parameter,
bool *  available 
) [static]

HouseGetVariable():.

Used by the resolver to get values for feature 07 deterministic spritegroups.

Definition at line 204 of file newgrf_house.cpp.

References Clamp(), GetHouseAnimationFrame(), GetHouseBuildingStage(), GetHouseConstructionYear(), GetNearbyTileInformation(), GetTerrainType(), GetTownRadiusGroup(), IsTileType(), MP_HOUSE, TileX(), TileY(), and TownGetVariable().

Referenced by NewHouseResolver().

void IncreaseBuildingCount ( Town *  t,
HouseID  house_id 
)

IncreaseBuildingCount() Increase the count of a building when it has been added by a town.

Parameters:
t The town that the building is being built in
house_id The id of the house being added

Definition at line 110 of file newgrf_house.cpp.

Referenced by ClearMakeHouseTile(), and UpdateHousesAndTowns().

static void NewHouseResolver ( ResolverObject *  res,
HouseID  house_id,
TileIndex  tile,
Town *  town 
) [static]

NewHouseResolver():.

Returns a resolver object to be used with feature 07 spritegroups.

Definition at line 273 of file newgrf_house.cpp.

References CBID_NO_CALLBACK, and HouseGetVariable().

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 43 of file newgrf_house.cpp.

References GetHouseNorthPart(), GetHouseType(), GetTownByTile(), IncreaseBuildingCount(), IsHouseCompleted(), IsTileType(), MapSize(), MP_HOUSE, and SetHouseType().

Referenced by ReloadNewGRFData().


Generated on Mon Sep 22 20:34:23 2008 for openttd by  doxygen 1.5.6