(svn r17316) -Codechange: use Industry::GetByTile() instead of GetIndustryByTile()

This commit is contained in:
smatz 2009-08-30 11:47:41 +00:00
parent c94b9973e6
commit ee685c8287
14 changed files with 52 additions and 55 deletions

View File

@ -12,7 +12,7 @@
#include "ai_tilelist.hpp"
#include "ai_industry.hpp"
#include "../../tile_map.h"
#include "../../industry_map.h"
#include "../../industry.h"
#include "../../station_base.h"
#include "../../settings_type.h"

View File

@ -26,7 +26,7 @@
#include "stdafx.h"
#include "landscape.h"
#include "industry_map.h"
#include "industry.h"
#include "station_base.h"
#include "command_func.h"
#include "news_func.h"

View File

@ -14,7 +14,7 @@
#include "tile_cmd.h"
#include "company_func.h"
#include "command_func.h"
#include "industry_map.h"
#include "industry.h"
#include "town.h"
#include "news_func.h"
#include "network/network.h"

View File

@ -11,7 +11,7 @@
#include "stdafx.h"
#include "landscape.h"
#include "industry_map.h"
#include "industry.h"
#include "vehicle_func.h"
#include "sound_func.h"
#include "animated_tile_func.h"

View File

@ -19,11 +19,9 @@
#include "economy_type.h"
#include "map_type.h"
#include "industry_type.h"
#include "industrytype.h"
#include "tile_type.h"
#include "subsidy_type.h"
#include "town_type.h"
#include "date_type.h"
#include "industry_map.h"
typedef Pool<Industry, IndustryID, 64, 64000> IndustryPool;
@ -74,6 +72,17 @@ struct Industry : IndustryPool::PoolItem<&_industry_pool> {
Industry(TileIndex tile = INVALID_TILE) : xy(tile) {}
~Industry();
/**
* Get the industry of the given tile
* @param t the tile to get the industry from
* @pre IsTileType(t, MP_INDUSTRY)
* @return the industry
*/
static FORCEINLINE Industry *GetByTile(TileIndex tile)
{
return Industry::Get(GetIndustryIndex(tile));
}
static Industry *GetRandom();
};

View File

@ -12,7 +12,7 @@
#include "stdafx.h"
#include "openttd.h"
#include "clear_map.h"
#include "industry_map.h"
#include "industry.h"
#include "station_base.h"
#include "train.h"
#include "landscape.h"
@ -102,7 +102,7 @@ IndustryType GetIndustryType(TileIndex tile)
{
assert(IsTileType(tile, MP_INDUSTRY));
const Industry *ind = GetIndustryByTile(tile);
const Industry *ind = Industry::GetByTile(tile);
assert(ind != NULL);
return ind->type;
}
@ -297,7 +297,7 @@ static IndustryDrawTileProc * const _industry_draw_tile_procs[5] = {
static void DrawTile_Industry(TileInfo *ti)
{
IndustryGfx gfx = GetIndustryGfx(ti->tile);
Industry *ind = GetIndustryByTile(ti->tile);
Industry *ind = Industry::GetByTile(ti->tile);
const IndustryTileSpec *indts = GetIndustryTileSpec(gfx);
const DrawBuildingsTileStruct *dits;
SpriteID image;
@ -385,7 +385,7 @@ static Foundation GetFoundation_Industry(TileIndex tile, Slope tileh)
if (gfx >= NEW_INDUSTRYTILEOFFSET) {
const IndustryTileSpec *indts = GetIndustryTileSpec(gfx);
if (indts->grf_prop.spritegroup != NULL && HasBit(indts->callback_flags, CBM_INDT_DRAW_FOUNDATIONS)) {
uint32 callback_res = GetIndustryTileCallback(CBID_INDUSTRY_DRAW_FOUNDATIONS, 0, 0, gfx, GetIndustryByTile(tile), tile);
uint32 callback_res = GetIndustryTileCallback(CBID_INDUSTRY_DRAW_FOUNDATIONS, 0, 0, gfx, Industry::GetByTile(tile), tile);
if (callback_res == 0) return FOUNDATION_NONE;
}
}
@ -406,7 +406,7 @@ static void AddAcceptedCargo_Industry(TileIndex tile, CargoArray &acceptance)
const uint8 *cargo_acceptance = itspec->acceptance;
if (HasBit(itspec->callback_flags, CBM_INDT_ACCEPT_CARGO)) {
uint16 res = GetIndustryTileCallback(CBID_INDTILE_ACCEPT_CARGO, 0, 0, gfx, GetIndustryByTile(tile), tile);
uint16 res = GetIndustryTileCallback(CBID_INDTILE_ACCEPT_CARGO, 0, 0, gfx, Industry::GetByTile(tile), tile);
if (res != CALLBACK_FAILED) {
accepts_cargo = raw_accepts_cargo;
for (uint i = 0; i < lengthof(itspec->accepts_cargo); i++) raw_accepts_cargo[i] = GetCargoTranslation(GB(res, i * 5, 5), itspec->grf_prop.grffile);
@ -414,7 +414,7 @@ static void AddAcceptedCargo_Industry(TileIndex tile, CargoArray &acceptance)
}
if (HasBit(itspec->callback_flags, CBM_INDT_CARGO_ACCEPTANCE)) {
uint16 res = GetIndustryTileCallback(CBID_INDTILE_CARGO_ACCEPTANCE, 0, 0, gfx, GetIndustryByTile(tile), tile);
uint16 res = GetIndustryTileCallback(CBID_INDTILE_CARGO_ACCEPTANCE, 0, 0, gfx, Industry::GetByTile(tile), tile);
if (res != CALLBACK_FAILED) {
cargo_acceptance = raw_cargo_acceptance;
for (uint i = 0; i < lengthof(itspec->accepts_cargo); i++) raw_cargo_acceptance[i] = GB(res, i * 4, 4);
@ -429,7 +429,7 @@ static void AddAcceptedCargo_Industry(TileIndex tile, CargoArray &acceptance)
static void GetTileDesc_Industry(TileIndex tile, TileDesc *td)
{
const Industry *i = GetIndustryByTile(tile);
const Industry *i = Industry::GetByTile(tile);
const IndustrySpec *is = GetIndustrySpec(i->type);
td->owner[0] = i->owner;
@ -446,7 +446,7 @@ static void GetTileDesc_Industry(TileIndex tile, TileDesc *td)
static CommandCost ClearTile_Industry(TileIndex tile, DoCommandFlag flags)
{
Industry *i = GetIndustryByTile(tile);
Industry *i = Industry::GetByTile(tile);
const IndustrySpec *indspec = GetIndustrySpec(i->type);
/* water can destroy industries
@ -473,7 +473,7 @@ static CommandCost ClearTile_Industry(TileIndex tile, DoCommandFlag flags)
static void TransportIndustryGoods(TileIndex tile)
{
Industry *i = GetIndustryByTile(tile);
Industry *i = Industry::GetByTile(tile);
const IndustrySpec *indspec = GetIndustrySpec(i->type);
bool moved_cargo = false;
@ -846,7 +846,7 @@ static void TileLoop_Industry(TileIndex tile)
case GFX_TOY_FACTORY: {
Industry *i = GetIndustryByTile(tile);
Industry *i = Industry::GetByTile(tile);
if (i->was_cargo_delivered) {
i->was_cargo_delivered = false;
SetIndustryAnimationLoop(tile, 0);
@ -882,7 +882,7 @@ static TrackStatus GetTileTrackStatus_Industry(TileIndex tile, TransportType mod
static void AddProducedCargo_Industry(TileIndex tile, CargoArray &produced)
{
const Industry *i = GetIndustryByTile(tile);
const Industry *i = Industry::GetByTile(tile);
for (uint j = 0; j < lengthof(i->produced_cargo); j++) {
CargoID cargo = i->produced_cargo[j];
@ -893,7 +893,7 @@ static void AddProducedCargo_Industry(TileIndex tile, CargoArray &produced)
static void ChangeTileOwner_Industry(TileIndex tile, Owner old_owner, Owner new_owner)
{
/* If the founder merges, the industry was created by the merged company */
Industry *i = GetIndustryByTile(tile);
Industry *i = Industry::GetByTile(tile);
if (i->founder == old_owner) i->founder = (new_owner == INVALID_OWNER) ? OWNER_NONE : new_owner;
}
@ -2409,7 +2409,7 @@ static CommandCost TerraformTile_Industry(TileIndex tile, DoCommandFlag flags, u
/* Call callback 3C 'disable autosloping for industry tiles'. */
if (HasBit(itspec->callback_flags, CBM_INDT_AUTOSLOPE)) {
/* If the callback fails, allow autoslope. */
uint16 res = GetIndustryTileCallback(CBID_INDUSTRY_AUTOSLOPE, 0, 0, gfx, GetIndustryByTile(tile), tile);
uint16 res = GetIndustryTileCallback(CBID_INDUSTRY_AUTOSLOPE, 0, 0, gfx, Industry::GetByTile(tile), tile);
if ((res == 0) || (res == CALLBACK_FAILED)) return CommandCost(EXPENSES_CONSTRUCTION, _price.terraform);
} else {
/* allow autoslope */

View File

@ -12,7 +12,7 @@
#ifndef INDUSTRY_MAP_H
#define INDUSTRY_MAP_H
#include "industry.h"
#include "industrytype.h"
#include "tile_map.h"
#include "water_map.h"
@ -69,17 +69,6 @@ static inline IndustryID GetIndustryIndex(TileIndex t)
return _m[t].m2;
}
/**
* Get the industry of the given tile
* @param t the tile to get the industry from
* @pre IsTileType(t, MP_INDUSTRY)
* @return the industry
*/
static inline Industry *GetIndustryByTile(TileIndex t)
{
return Industry::Get(GetIndustryIndex(t));
}
/**
* Is this industry tile fully built?
* @param t the tile to analyze

View File

@ -14,7 +14,7 @@
#include "tile_type.h"
#include "strings_type.h"
#include "company_type.h"
#include "industry_map.h"
#include "industry.h"
#include "newgrf.h"
#include "newgrf_industries.h"
#include "newgrf_commons.h"
@ -242,7 +242,7 @@ uint32 IndustryGetVariable(const ResolverObject *object, byte variable, byte par
/* Get random tile bits at offset param */
case 0x61:
tile = GetNearbyTile(parameter, tile);
return (IsTileType(tile, MP_INDUSTRY) && GetIndustryByTile(tile) == industry) ? GetIndustryRandomBits(tile) : 0;
return (IsTileType(tile, MP_INDUSTRY) && Industry::GetByTile(tile) == industry) ? GetIndustryRandomBits(tile) : 0;
/* Land info of nearby tiles */
case 0x62: return GetNearbyIndustryTileInformation(parameter, tile, INVALID_INDUSTRY);
@ -250,7 +250,7 @@ uint32 IndustryGetVariable(const ResolverObject *object, byte variable, byte par
/* Animation stage of nearby tiles */
case 0x63:
tile = GetNearbyTile(parameter, tile);
if (IsTileType(tile, MP_INDUSTRY) && GetIndustryByTile(tile) == industry) {
if (IsTileType(tile, MP_INDUSTRY) && Industry::GetByTile(tile) == industry) {
return GetIndustryAnimationState(tile);
}
return 0xFFFFFFFF;

View File

@ -22,7 +22,7 @@
#include "newgrf_industrytiles.h"
#include "newgrf_sound.h"
#include "newgrf_text.h"
#include "industry_map.h"
#include "industry.h"
#include "sprite.h"
#include "transparency.h"
#include "functions.h"
@ -97,7 +97,7 @@ static uint32 IndustryTileGetVariable(const ResolverObject *object, byte variabl
/* Animation stage of nearby tiles */
case 0x61:
tile = GetNearbyTile(parameter, tile);
if (IsTileType(tile, MP_INDUSTRY) && GetIndustryByTile(tile) == inds) {
if (IsTileType(tile, MP_INDUSTRY) && Industry::GetByTile(tile) == inds) {
return GetIndustryAnimationState(tile);
}
return UINT_MAX;
@ -122,14 +122,14 @@ static uint32 IndustryTileGetRandomBits(const ResolverObject *object)
{
const TileIndex tile = object->u.industry.tile;
if (tile == INVALID_TILE || !IsTileType(tile, MP_INDUSTRY)) return 0;
return (object->scope == VSG_SCOPE_SELF) ? GetIndustryRandomBits(tile) : GetIndustryByTile(tile)->random;
return (object->scope == VSG_SCOPE_SELF) ? GetIndustryRandomBits(tile) : Industry::GetByTile(tile)->random;
}
static uint32 IndustryTileGetTriggers(const ResolverObject *object)
{
const TileIndex tile = object->u.industry.tile;
if (tile == INVALID_TILE || !IsTileType(tile, MP_INDUSTRY)) return 0;
return (object->scope == VSG_SCOPE_SELF) ? GetIndustryTriggers(tile) : GetIndustryByTile(tile)->random_triggers;
return (object->scope == VSG_SCOPE_SELF) ? GetIndustryTriggers(tile) : Industry::GetByTile(tile)->random_triggers;
}
static void IndustryTileSetTriggers(const ResolverObject *object, int triggers)
@ -140,7 +140,7 @@ static void IndustryTileSetTriggers(const ResolverObject *object, int triggers)
if (object->scope == VSG_SCOPE_SELF) {
SetIndustryTriggers(tile, triggers);
} else {
GetIndustryByTile(tile)->random_triggers = triggers;
Industry::GetByTile(tile)->random_triggers = triggers;
}
}
@ -299,7 +299,7 @@ bool PerformIndustryTileSlopeCheck(TileIndex ind_base_tile, TileIndex ind_tile,
void AnimateNewIndustryTile(TileIndex tile)
{
Industry *ind = GetIndustryByTile(tile);
Industry *ind = Industry::GetByTile(tile);
IndustryGfx gfx = GetIndustryGfx(tile);
const IndustryTileSpec *itspec = GetIndustryTileSpec(gfx);
byte animation_speed = itspec->animation_speed;
@ -387,7 +387,7 @@ bool StartStopIndustryTileAnimation(TileIndex tile, IndustryAnimationTrigger iat
if (!HasBit(itspec->animation_triggers, iat)) return false;
Industry *ind = GetIndustryByTile(tile);
Industry *ind = Industry::GetByTile(tile);
ChangeIndustryTileAnimationFrame(itspec, tile, iat, random, gfx, ind);
return true;
}
@ -436,7 +436,7 @@ static void DoTriggerIndustryTile(TileIndex tile, IndustryTileTrigger trigger, I
void TriggerIndustryTile(TileIndex tile, IndustryTileTrigger trigger)
{
DoTriggerIndustryTile(tile, trigger, GetIndustryByTile(tile));
DoTriggerIndustryTile(tile, trigger, Industry::GetByTile(tile));
}
void TriggerIndustry(Industry *ind, IndustryTileTrigger trigger)

View File

@ -22,7 +22,7 @@
#include "../network/network.h"
#include "../gfxinit.h"
#include "../functions.h"
#include "../industry_map.h"
#include "../industry.h"
#include "../town_map.h"
#include "../clear_map.h"
#include "../vehicle_func.h"

View File

@ -11,7 +11,7 @@
#include "stdafx.h"
#include "clear_map.h"
#include "industry_map.h"
#include "industry.h"
#include "station_map.h"
#include "landscape.h"
#include "window_gui.h"
@ -408,8 +408,8 @@ static inline uint32 GetSmallMapIndustriesPixels(TileIndex tile)
if (t == MP_INDUSTRY) {
/* If industry is allowed to be seen, use its colour on the map */
if (_legend_from_industries[_industry_to_list_pos[GetIndustryByTile(tile)->type]].show_on_map) {
return GetIndustrySpec(GetIndustryByTile(tile)->type)->map_colour * 0x01010101;
if (_legend_from_industries[_industry_to_list_pos[Industry::GetByTile(tile)->type]].show_on_map) {
return GetIndustrySpec(Industry::GetByTile(tile)->type)->map_colour * 0x01010101;
} else {
/* otherwise, return the colour of the clear tiles, which will make it disappear */
return ApplyMask(MKCOLOUR(0x54545454), &_smallmap_vehicles_andor[MP_CLEAR]);
@ -465,7 +465,7 @@ static inline uint32 GetSmallMapVegetationPixels(TileIndex tile)
return (IsClearGround(tile, CLEAR_GRASS) && GetClearDensity(tile) < 3) ? MKCOLOUR(0x37373737) : _vegetation_clear_bits[GetClearGround(tile)];
case MP_INDUSTRY:
return GetIndustrySpec(GetIndustryByTile(tile)->type)->check_proc == CHECK_FOREST ? MKCOLOUR(0xD0D0D0D0) : MKCOLOUR(0xB5B5B5B5);
return GetIndustrySpec(Industry::GetByTile(tile)->type)->check_proc == CHECK_FOREST ? MKCOLOUR(0xD0D0D0D0) : MKCOLOUR(0xB5B5B5B5);
case MP_TREES:
if (GetTreeGround(tile) == TREE_GROUND_SNOW_DESERT) {

View File

@ -11,7 +11,6 @@
#include "stdafx.h"
#include "company_func.h"
#include "industry.h"
#include "newgrf_cargo.h"
#include "yapf/yapf.h"
#include "cargotype.h"
@ -31,7 +30,7 @@
#include "core/pool_func.hpp"
#include "station_base.h"
#include "roadstop_base.h"
#include "industry_map.h"
#include "industry.h"
#include "table/strings.h"
@ -284,7 +283,7 @@ static bool FindIndustryToDeliver(TileIndex ind_tile, void *user_data)
if (!IsTileType(ind_tile, MP_INDUSTRY)) return false;
RectAndIndustryVector *riv = (RectAndIndustryVector *)user_data;
Industry *ind = GetIndustryByTile(ind_tile);
Industry *ind = Industry::GetByTile(ind_tile);
/* Don't check further if this industry is already in the list */
if (riv->industries_near->Contains(ind)) return false;

View File

@ -21,7 +21,7 @@
#include "news_func.h"
#include "train.h"
#include "roadveh.h"
#include "industry_map.h"
#include "industry.h"
#include "newgrf_station.h"
#include "newgrf_commons.h"
#include "yapf/yapf.h"
@ -143,7 +143,7 @@ static bool CMSAMine(TileIndex tile)
/* No industry */
if (!IsTileType(tile, MP_INDUSTRY)) return false;
const Industry *ind = GetIndustryByTile(tile);
const Industry *ind = Industry::GetByTile(tile);
/* No extractive industry */
if ((GetIndustrySpec(ind->type)->life_type & INDUSTRYLIFE_EXTRACTIVE) == 0) return false;
@ -190,7 +190,7 @@ static bool CMSAForest(TileIndex tile)
/* No industry */
if (!IsTileType(tile, MP_INDUSTRY)) return false;
const Industry *ind = GetIndustryByTile(tile);
const Industry *ind = Industry::GetByTile(tile);
/* No extractive industry */
if ((GetIndustrySpec(ind->type)->life_type & INDUSTRYLIFE_ORGANIC) == 0) return false;

View File

@ -23,7 +23,7 @@
#include "train.h"
#include "roadveh.h"
#include "water.h"
#include "industry_map.h"
#include "industry.h"
#include "cargotype.h"
#include "newgrf_canal.h"
#include "transparency.h"