road_map.h
author Darkvater
Sat, 12 Aug 2006 12:35:23 +0000
branch0.4
changeset 10075 7ae6bc813772
parent 10044 ec5486f6f9ef
permissions -rw-r--r--
(svn r5862) - Prepare 0.4 branch for release. Update readme's, bugs, installers, changelog, etc. to 0.4.8
10044
ec5486f6f9ef (svn r5349) -Backport: r5315
tron
parents:
diff changeset
     1
/* $Id$ */
ec5486f6f9ef (svn r5349) -Backport: r5315
tron
parents:
diff changeset
     2
ec5486f6f9ef (svn r5349) -Backport: r5315
tron
parents:
diff changeset
     3
#ifndef ROAD_MAP_H
ec5486f6f9ef (svn r5349) -Backport: r5315
tron
parents:
diff changeset
     4
#define ROAD_MAP_H
ec5486f6f9ef (svn r5349) -Backport: r5315
tron
parents:
diff changeset
     5
ec5486f6f9ef (svn r5349) -Backport: r5315
tron
parents:
diff changeset
     6
#include "macros.h"
ec5486f6f9ef (svn r5349) -Backport: r5315
tron
parents:
diff changeset
     7
#include "tile.h"
ec5486f6f9ef (svn r5349) -Backport: r5315
tron
parents:
diff changeset
     8
ec5486f6f9ef (svn r5349) -Backport: r5315
tron
parents:
diff changeset
     9
ec5486f6f9ef (svn r5349) -Backport: r5315
tron
parents:
diff changeset
    10
typedef enum RoadTileType {
ec5486f6f9ef (svn r5349) -Backport: r5315
tron
parents:
diff changeset
    11
	ROAD_TILE_NORMAL,
ec5486f6f9ef (svn r5349) -Backport: r5315
tron
parents:
diff changeset
    12
	ROAD_TILE_CROSSING,
ec5486f6f9ef (svn r5349) -Backport: r5315
tron
parents:
diff changeset
    13
	ROAD_TILE_DEPOT
ec5486f6f9ef (svn r5349) -Backport: r5315
tron
parents:
diff changeset
    14
} RoadTileType;
ec5486f6f9ef (svn r5349) -Backport: r5315
tron
parents:
diff changeset
    15
ec5486f6f9ef (svn r5349) -Backport: r5315
tron
parents:
diff changeset
    16
static inline RoadTileType GetRoadTileType(TileIndex t)
ec5486f6f9ef (svn r5349) -Backport: r5315
tron
parents:
diff changeset
    17
{
ec5486f6f9ef (svn r5349) -Backport: r5315
tron
parents:
diff changeset
    18
	assert(IsTileType(t, MP_STREET));
ec5486f6f9ef (svn r5349) -Backport: r5315
tron
parents:
diff changeset
    19
	return (RoadTileType)GB(_m[t].m5, 4, 4);
ec5486f6f9ef (svn r5349) -Backport: r5315
tron
parents:
diff changeset
    20
}
ec5486f6f9ef (svn r5349) -Backport: r5315
tron
parents:
diff changeset
    21
ec5486f6f9ef (svn r5349) -Backport: r5315
tron
parents:
diff changeset
    22
ec5486f6f9ef (svn r5349) -Backport: r5315
tron
parents:
diff changeset
    23
typedef enum Roadside {
ec5486f6f9ef (svn r5349) -Backport: r5315
tron
parents:
diff changeset
    24
	ROADSIDE_BARREN           = 0,
ec5486f6f9ef (svn r5349) -Backport: r5315
tron
parents:
diff changeset
    25
	ROADSIDE_GRASS            = 1,
ec5486f6f9ef (svn r5349) -Backport: r5315
tron
parents:
diff changeset
    26
	ROADSIDE_PAVED            = 2,
ec5486f6f9ef (svn r5349) -Backport: r5315
tron
parents:
diff changeset
    27
	ROADSIDE_STREET_LIGHTS    = 3,
ec5486f6f9ef (svn r5349) -Backport: r5315
tron
parents:
diff changeset
    28
	ROADSIDE_TREES            = 5,
ec5486f6f9ef (svn r5349) -Backport: r5315
tron
parents:
diff changeset
    29
	ROADSIDE_GRASS_ROAD_WORKS = 6,
ec5486f6f9ef (svn r5349) -Backport: r5315
tron
parents:
diff changeset
    30
	ROADSIDE_PAVED_ROAD_WORKS = 7
ec5486f6f9ef (svn r5349) -Backport: r5315
tron
parents:
diff changeset
    31
} Roadside;
ec5486f6f9ef (svn r5349) -Backport: r5315
tron
parents:
diff changeset
    32
ec5486f6f9ef (svn r5349) -Backport: r5315
tron
parents:
diff changeset
    33
static inline Roadside GetRoadside(TileIndex tile)
ec5486f6f9ef (svn r5349) -Backport: r5315
tron
parents:
diff changeset
    34
{
ec5486f6f9ef (svn r5349) -Backport: r5315
tron
parents:
diff changeset
    35
	return (Roadside)GB(_m[tile].m4, 4, 3);
ec5486f6f9ef (svn r5349) -Backport: r5315
tron
parents:
diff changeset
    36
}
ec5486f6f9ef (svn r5349) -Backport: r5315
tron
parents:
diff changeset
    37
ec5486f6f9ef (svn r5349) -Backport: r5315
tron
parents:
diff changeset
    38
static inline bool HasRoadWorks(TileIndex t)
ec5486f6f9ef (svn r5349) -Backport: r5315
tron
parents:
diff changeset
    39
{
ec5486f6f9ef (svn r5349) -Backport: r5315
tron
parents:
diff changeset
    40
	return GetRoadside(t) >= ROADSIDE_GRASS_ROAD_WORKS;
ec5486f6f9ef (svn r5349) -Backport: r5315
tron
parents:
diff changeset
    41
}
ec5486f6f9ef (svn r5349) -Backport: r5315
tron
parents:
diff changeset
    42
ec5486f6f9ef (svn r5349) -Backport: r5315
tron
parents:
diff changeset
    43
#endif