industry_map.h
author celestar
Wed, 05 Apr 2006 08:28:03 +0000
changeset 3449 d45c8d0bf848
parent 3369 cab209754317
child 3495 6672c181ace4
permissions -rw-r--r--
(svn r4281) -Cleanup: Begun cleaning up elrail code a bit, mostly comments and enum/array alignment
3314
6aaeba4b92e8 (svn r4077) Add GetIndustry{Index,ByTile}() to get the industry index resp. the industry from a tile
tron
parents:
diff changeset
     1
/* $Id$ */
6aaeba4b92e8 (svn r4077) Add GetIndustry{Index,ByTile}() to get the industry index resp. the industry from a tile
tron
parents:
diff changeset
     2
6aaeba4b92e8 (svn r4077) Add GetIndustry{Index,ByTile}() to get the industry index resp. the industry from a tile
tron
parents:
diff changeset
     3
#include "industry.h"
6aaeba4b92e8 (svn r4077) Add GetIndustry{Index,ByTile}() to get the industry index resp. the industry from a tile
tron
parents:
diff changeset
     4
#include "macros.h"
6aaeba4b92e8 (svn r4077) Add GetIndustry{Index,ByTile}() to get the industry index resp. the industry from a tile
tron
parents:
diff changeset
     5
#include "tile.h"
6aaeba4b92e8 (svn r4077) Add GetIndustry{Index,ByTile}() to get the industry index resp. the industry from a tile
tron
parents:
diff changeset
     6
6aaeba4b92e8 (svn r4077) Add GetIndustry{Index,ByTile}() to get the industry index resp. the industry from a tile
tron
parents:
diff changeset
     7
6aaeba4b92e8 (svn r4077) Add GetIndustry{Index,ByTile}() to get the industry index resp. the industry from a tile
tron
parents:
diff changeset
     8
static inline uint GetIndustryIndex(TileIndex t)
6aaeba4b92e8 (svn r4077) Add GetIndustry{Index,ByTile}() to get the industry index resp. the industry from a tile
tron
parents:
diff changeset
     9
{
3369
cab209754317 (svn r4166) Sprinkle several map accessors with assert()s
tron
parents: 3331
diff changeset
    10
	assert(IsTileType(t, MP_INDUSTRY));
3314
6aaeba4b92e8 (svn r4077) Add GetIndustry{Index,ByTile}() to get the industry index resp. the industry from a tile
tron
parents:
diff changeset
    11
	return _m[t].m2;
6aaeba4b92e8 (svn r4077) Add GetIndustry{Index,ByTile}() to get the industry index resp. the industry from a tile
tron
parents:
diff changeset
    12
}
6aaeba4b92e8 (svn r4077) Add GetIndustry{Index,ByTile}() to get the industry index resp. the industry from a tile
tron
parents:
diff changeset
    13
6aaeba4b92e8 (svn r4077) Add GetIndustry{Index,ByTile}() to get the industry index resp. the industry from a tile
tron
parents:
diff changeset
    14
static inline Industry* GetIndustryByTile(TileIndex t)
6aaeba4b92e8 (svn r4077) Add GetIndustry{Index,ByTile}() to get the industry index resp. the industry from a tile
tron
parents:
diff changeset
    15
{
6aaeba4b92e8 (svn r4077) Add GetIndustry{Index,ByTile}() to get the industry index resp. the industry from a tile
tron
parents:
diff changeset
    16
	return GetIndustry(GetIndustryIndex(t));
6aaeba4b92e8 (svn r4077) Add GetIndustry{Index,ByTile}() to get the industry index resp. the industry from a tile
tron
parents:
diff changeset
    17
}
3320
e9e284ab853a (svn r4086) Add MakeIndustry()
tron
parents: 3314
diff changeset
    18
e9e284ab853a (svn r4086) Add MakeIndustry()
tron
parents: 3314
diff changeset
    19
3369
cab209754317 (svn r4166) Sprinkle several map accessors with assert()s
tron
parents: 3331
diff changeset
    20
static inline bool IsIndustryCompleted(TileIndex t)
3321
4061bfef1830 (svn r4087) Add IsIndustryCompleted() to check if a industry tile is fully built
tron
parents: 3320
diff changeset
    21
{
3369
cab209754317 (svn r4166) Sprinkle several map accessors with assert()s
tron
parents: 3331
diff changeset
    22
	assert(IsTileType(t, MP_INDUSTRY));
cab209754317 (svn r4166) Sprinkle several map accessors with assert()s
tron
parents: 3331
diff changeset
    23
	return HASBIT(_m[t].m1, 7);
3321
4061bfef1830 (svn r4087) Add IsIndustryCompleted() to check if a industry tile is fully built
tron
parents: 3320
diff changeset
    24
}
4061bfef1830 (svn r4087) Add IsIndustryCompleted() to check if a industry tile is fully built
tron
parents: 3320
diff changeset
    25
4061bfef1830 (svn r4087) Add IsIndustryCompleted() to check if a industry tile is fully built
tron
parents: 3320
diff changeset
    26
3331
da6bbabbb6cc (svn r4108) Add [GS]etIndustryGfx()
tron
parents: 3321
diff changeset
    27
static inline uint GetIndustryGfx(TileIndex t)
da6bbabbb6cc (svn r4108) Add [GS]etIndustryGfx()
tron
parents: 3321
diff changeset
    28
{
3369
cab209754317 (svn r4166) Sprinkle several map accessors with assert()s
tron
parents: 3331
diff changeset
    29
	assert(IsTileType(t, MP_INDUSTRY));
3331
da6bbabbb6cc (svn r4108) Add [GS]etIndustryGfx()
tron
parents: 3321
diff changeset
    30
	return _m[t].m5;
da6bbabbb6cc (svn r4108) Add [GS]etIndustryGfx()
tron
parents: 3321
diff changeset
    31
}
da6bbabbb6cc (svn r4108) Add [GS]etIndustryGfx()
tron
parents: 3321
diff changeset
    32
da6bbabbb6cc (svn r4108) Add [GS]etIndustryGfx()
tron
parents: 3321
diff changeset
    33
static inline void SetIndustryGfx(TileIndex t, uint gfx)
da6bbabbb6cc (svn r4108) Add [GS]etIndustryGfx()
tron
parents: 3321
diff changeset
    34
{
3369
cab209754317 (svn r4166) Sprinkle several map accessors with assert()s
tron
parents: 3331
diff changeset
    35
	assert(IsTileType(t, MP_INDUSTRY));
3331
da6bbabbb6cc (svn r4108) Add [GS]etIndustryGfx()
tron
parents: 3321
diff changeset
    36
	_m[t].m5 = gfx;
da6bbabbb6cc (svn r4108) Add [GS]etIndustryGfx()
tron
parents: 3321
diff changeset
    37
}
da6bbabbb6cc (svn r4108) Add [GS]etIndustryGfx()
tron
parents: 3321
diff changeset
    38
da6bbabbb6cc (svn r4108) Add [GS]etIndustryGfx()
tron
parents: 3321
diff changeset
    39
3320
e9e284ab853a (svn r4086) Add MakeIndustry()
tron
parents: 3314
diff changeset
    40
static inline void MakeIndustry(TileIndex t, uint index, uint gfx)
e9e284ab853a (svn r4086) Add MakeIndustry()
tron
parents: 3314
diff changeset
    41
{
e9e284ab853a (svn r4086) Add MakeIndustry()
tron
parents: 3314
diff changeset
    42
	SetTileType(t, MP_INDUSTRY);
e9e284ab853a (svn r4086) Add MakeIndustry()
tron
parents: 3314
diff changeset
    43
	_m[t].m1 = 0;
e9e284ab853a (svn r4086) Add MakeIndustry()
tron
parents: 3314
diff changeset
    44
	_m[t].m2 = index;
e9e284ab853a (svn r4086) Add MakeIndustry()
tron
parents: 3314
diff changeset
    45
	_m[t].m3 = 0;
e9e284ab853a (svn r4086) Add MakeIndustry()
tron
parents: 3314
diff changeset
    46
	_m[t].m4 = 0;
e9e284ab853a (svn r4086) Add MakeIndustry()
tron
parents: 3314
diff changeset
    47
	_m[t].m5 = gfx;
e9e284ab853a (svn r4086) Add MakeIndustry()
tron
parents: 3314
diff changeset
    48
}