1
0
Fork 0

(svn r12801) -Codechange: remove the dependency of function.h in town_map.h

release/0.7
rubidium 2008-04-20 08:43:31 +00:00
parent 15680e477a
commit 181b36ca0b
7 changed files with 29 additions and 9 deletions

View File

@ -22,6 +22,7 @@
#include "functions.h" #include "functions.h"
#include "player_func.h" #include "player_func.h"
#include "animated_tile_func.h" #include "animated_tile_func.h"
#include "date_func.h"
#include "table/strings.h" #include "table/strings.h"
#include "table/sprites.h" #include "table/sprites.h"

View File

@ -23,6 +23,7 @@
#include "date_func.h" #include "date_func.h"
#include "player_func.h" #include "player_func.h"
#include "animated_tile_func.h" #include "animated_tile_func.h"
#include "functions.h"
#include "table/sprites.h" #include "table/sprites.h"
#include "table/strings.h" #include "table/strings.h"

View File

@ -59,6 +59,7 @@
#include "vehicle_func.h" #include "vehicle_func.h"
#include "cheat_func.h" #include "cheat_func.h"
#include "animated_tile_func.h" #include "animated_tile_func.h"
#include "functions.h"
#include "newgrf.h" #include "newgrf.h"
#include "newgrf_config.h" #include "newgrf_config.h"

View File

@ -43,6 +43,7 @@
#include "tunnelbridge.h" #include "tunnelbridge.h"
#include "station_map.h" #include "station_map.h"
#include "water_map.h" #include "water_map.h"
#include "functions.h"
#include "table/sprites.h" #include "table/sprites.h"
#include "table/strings.h" #include "table/strings.h"

View File

@ -36,6 +36,7 @@
#include "road_func.h" #include "road_func.h"
#include "tunnelbridge.h" #include "tunnelbridge.h"
#include "cheat_func.h" #include "cheat_func.h"
#include "functions.h"
#include "table/sprites.h" #include "table/sprites.h"
#include "table/strings.h" #include "table/strings.h"

View File

@ -45,6 +45,9 @@
#include "economy_func.h" #include "economy_func.h"
#include "station_func.h" #include "station_func.h"
#include "cheat_func.h" #include "cheat_func.h"
#include "functions.h"
#include "animated_tile_func.h"
#include "date_func.h"
#include "table/strings.h" #include "table/strings.h"
#include "table/sprites.h" #include "table/sprites.h"
@ -268,7 +271,10 @@ static void AnimateTile_Town(TileIndex tile)
pos += (pos < dest) ? 1 : -1; pos += (pos < dest) ? 1 : -1;
SetLiftPosition(tile, pos); SetLiftPosition(tile, pos);
if (pos == dest) HaltLift(tile); if (pos == dest) {
HaltLift(tile);
DeleteAnimatedTile(tile);
}
MarkTileDirtyByTile(tile); MarkTileDirtyByTile(tile);
} }
@ -385,6 +391,7 @@ static void MakeSingleHouseBigger(TileIndex tile)
/* Now that construction is complete, we can add the population of the /* Now that construction is complete, we can add the population of the
* building to the town. */ * building to the town. */
ChangePopulation(GetTownByTile(tile), GetHouseSpecs(GetHouseType(tile))->population); ChangePopulation(GetTownByTile(tile), GetHouseSpecs(GetHouseType(tile))->population);
SetHouseConstructionYear(tile, _cur_year);
} }
MarkTileDirtyByTile(tile); MarkTileDirtyByTile(tile);
} }
@ -1644,6 +1651,9 @@ static inline void ClearMakeHouseTile(TileIndex tile, TownID tid, byte counter,
assert(CmdSucceeded(cc)); assert(CmdSucceeded(cc));
MakeHouseTile(tile, tid, counter, stage, type, random_bits); MakeHouseTile(tile, tid, counter, stage, type, random_bits);
if (GetHouseSpecs(type)->building_flags & BUILDING_IS_ANIMATED) AddAnimatedTile(tile);
MarkTileDirtyByTile(tile);
} }

View File

@ -6,10 +6,8 @@
#define TOWN_MAP_H #define TOWN_MAP_H
#include "town.h" #include "town.h"
#include "date_func.h" #include "date_type.h"
#include "tile_map.h" #include "tile_map.h"
#include "functions.h"
#include "animated_tile_func.h"
/** /**
* Get the index of which town this house/street is attached to. * Get the index of which town this house/street is attached to.
@ -114,7 +112,6 @@ static inline byte GetLiftDestination(TileIndex t)
static inline void HaltLift(TileIndex t) static inline void HaltLift(TileIndex t)
{ {
SB(_me[t].m7, 0, 4, 0); SB(_me[t].m7, 0, 4, 0);
DeleteAnimatedTile(t);
} }
/** /**
@ -207,9 +204,6 @@ static inline void MakeHouseTile(TileIndex t, TownID tid, byte counter, byte sta
_m[t].m5 = IsHouseCompleted(t) ? 0 : (stage << 3 | counter); _m[t].m5 = IsHouseCompleted(t) ? 0 : (stage << 3 | counter);
SetHouseAnimationFrame(t, 0); SetHouseAnimationFrame(t, 0);
_me[t].m7 = GetHouseSpecs(type)->processing_time; _me[t].m7 = GetHouseSpecs(type)->processing_time;
if (GetHouseSpecs(type)->building_flags & BUILDING_IS_ANIMATED) AddAnimatedTile(t);
MarkTileDirtyByTile(t);
} }
/** /**
@ -267,10 +261,21 @@ static inline void IncHouseConstructionTick(TileIndex t)
/* House is now completed. /* House is now completed.
* Store the year of construction as well, for newgrf house purpose */ * Store the year of construction as well, for newgrf house purpose */
SetHouseCompleted(t, true); SetHouseCompleted(t, true);
_m[t].m5 = Clamp(_cur_year - ORIGINAL_BASE_YEAR, 0, 0xFF);
} }
} }
/**
* Set the year that this house was constructed (between 1920 and 2175).
* @param t the tile of this house
* @param year the year to set
* @pre IsTileType(t, MP_HOUSE) && IsHouseCompleted(t)
*/
static inline void SetHouseConstructionYear(TileIndex t, Year year)
{
assert(IsTileType(t, MP_HOUSE) && IsHouseCompleted(t));
_m[t].m5 = Clamp(year - ORIGINAL_BASE_YEAR, 0, 0xFF);
}
/** /**
* Get the year that this house was constructed (between 1920 and 2175). * Get the year that this house was constructed (between 1920 and 2175).
* @param t the tile of this house * @param t the tile of this house