src/newgrf_canal.h
author smatz
Sun, 17 Feb 2008 17:00:43 +0000
changeset 8586 cb0e7e00f1d2
parent 8372 49f8ca06527d
child 9111 48ce04029fe4
permissions -rw-r--r--
(svn r12167) -Feature(tte): change colour of autorail and autoroad selection when Ctrl is pressed
6583
71d62b85d3ad (svn r9797) -Feature: [NewGRF] Add action 1, 2 and 3 support for canals.
peter1138
parents:
diff changeset
     1
/* $Id$ */
71d62b85d3ad (svn r9797) -Feature: [NewGRF] Add action 1, 2 and 3 support for canals.
peter1138
parents:
diff changeset
     2
71d62b85d3ad (svn r9797) -Feature: [NewGRF] Add action 1, 2 and 3 support for canals.
peter1138
parents:
diff changeset
     3
#ifndef NEWGRF_CANAL_H
71d62b85d3ad (svn r9797) -Feature: [NewGRF] Add action 1, 2 and 3 support for canals.
peter1138
parents:
diff changeset
     4
#define NEWGRF_CANAL_H
71d62b85d3ad (svn r9797) -Feature: [NewGRF] Add action 1, 2 and 3 support for canals.
peter1138
parents:
diff changeset
     5
71d62b85d3ad (svn r9797) -Feature: [NewGRF] Add action 1, 2 and 3 support for canals.
peter1138
parents:
diff changeset
     6
/** List of different canal 'features'.
71d62b85d3ad (svn r9797) -Feature: [NewGRF] Add action 1, 2 and 3 support for canals.
peter1138
parents:
diff changeset
     7
 * Each feature gets an entry in the canal spritegroup table */
71d62b85d3ad (svn r9797) -Feature: [NewGRF] Add action 1, 2 and 3 support for canals.
peter1138
parents:
diff changeset
     8
enum CanalFeature {
71d62b85d3ad (svn r9797) -Feature: [NewGRF] Add action 1, 2 and 3 support for canals.
peter1138
parents:
diff changeset
     9
	CF_WATERSLOPE,
71d62b85d3ad (svn r9797) -Feature: [NewGRF] Add action 1, 2 and 3 support for canals.
peter1138
parents:
diff changeset
    10
	CF_LOCKS,
71d62b85d3ad (svn r9797) -Feature: [NewGRF] Add action 1, 2 and 3 support for canals.
peter1138
parents:
diff changeset
    11
	CF_DIKES,
71d62b85d3ad (svn r9797) -Feature: [NewGRF] Add action 1, 2 and 3 support for canals.
peter1138
parents:
diff changeset
    12
	CF_ICON,
71d62b85d3ad (svn r9797) -Feature: [NewGRF] Add action 1, 2 and 3 support for canals.
peter1138
parents:
diff changeset
    13
	CF_DOCKS,
8360
3021c928de6c (svn r11926) -Feature: Rivers. Graphics must be provided by NewGRF else rivers are drawn as canals. Rivers can currently only be placed with-in the scenario editor.
peter1138
parents: 6583
diff changeset
    14
	CF_RIVER_SLOPE,
3021c928de6c (svn r11926) -Feature: Rivers. Graphics must be provided by NewGRF else rivers are drawn as canals. Rivers can currently only be placed with-in the scenario editor.
peter1138
parents: 6583
diff changeset
    15
	CF_RIVER_EDGE,
6583
71d62b85d3ad (svn r9797) -Feature: [NewGRF] Add action 1, 2 and 3 support for canals.
peter1138
parents:
diff changeset
    16
	CF_END,
71d62b85d3ad (svn r9797) -Feature: [NewGRF] Add action 1, 2 and 3 support for canals.
peter1138
parents:
diff changeset
    17
};
71d62b85d3ad (svn r9797) -Feature: [NewGRF] Add action 1, 2 and 3 support for canals.
peter1138
parents:
diff changeset
    18
71d62b85d3ad (svn r9797) -Feature: [NewGRF] Add action 1, 2 and 3 support for canals.
peter1138
parents:
diff changeset
    19
8372
49f8ca06527d (svn r11938) -Codechange: support loading of canal/river properties (though still ignored)
peter1138
parents: 8360
diff changeset
    20
struct WaterFeature {
49f8ca06527d (svn r11938) -Codechange: support loading of canal/river properties (though still ignored)
peter1138
parents: 8360
diff changeset
    21
	const SpriteGroup *group;
49f8ca06527d (svn r11938) -Codechange: support loading of canal/river properties (though still ignored)
peter1138
parents: 8360
diff changeset
    22
	uint8 callbackmask;
49f8ca06527d (svn r11938) -Codechange: support loading of canal/river properties (though still ignored)
peter1138
parents: 8360
diff changeset
    23
	uint8 flags;
49f8ca06527d (svn r11938) -Codechange: support loading of canal/river properties (though still ignored)
peter1138
parents: 8360
diff changeset
    24
};
49f8ca06527d (svn r11938) -Codechange: support loading of canal/river properties (though still ignored)
peter1138
parents: 8360
diff changeset
    25
49f8ca06527d (svn r11938) -Codechange: support loading of canal/river properties (though still ignored)
peter1138
parents: 8360
diff changeset
    26
6583
71d62b85d3ad (svn r9797) -Feature: [NewGRF] Add action 1, 2 and 3 support for canals.
peter1138
parents:
diff changeset
    27
/** Table of canal 'feature' sprite groups */
8372
49f8ca06527d (svn r11938) -Codechange: support loading of canal/river properties (though still ignored)
peter1138
parents: 8360
diff changeset
    28
extern WaterFeature _water_feature[CF_END];
6583
71d62b85d3ad (svn r9797) -Feature: [NewGRF] Add action 1, 2 and 3 support for canals.
peter1138
parents:
diff changeset
    29
71d62b85d3ad (svn r9797) -Feature: [NewGRF] Add action 1, 2 and 3 support for canals.
peter1138
parents:
diff changeset
    30
71d62b85d3ad (svn r9797) -Feature: [NewGRF] Add action 1, 2 and 3 support for canals.
peter1138
parents:
diff changeset
    31
/** Lookup the base sprite to use for a canal.
71d62b85d3ad (svn r9797) -Feature: [NewGRF] Add action 1, 2 and 3 support for canals.
peter1138
parents:
diff changeset
    32
 * @param feature Which canal feature we want.
71d62b85d3ad (svn r9797) -Feature: [NewGRF] Add action 1, 2 and 3 support for canals.
peter1138
parents:
diff changeset
    33
 * @param tile Tile index of canal, if appropriate.
71d62b85d3ad (svn r9797) -Feature: [NewGRF] Add action 1, 2 and 3 support for canals.
peter1138
parents:
diff changeset
    34
 * @return Base sprite returned by GRF, or 0 if none.
71d62b85d3ad (svn r9797) -Feature: [NewGRF] Add action 1, 2 and 3 support for canals.
peter1138
parents:
diff changeset
    35
 */
71d62b85d3ad (svn r9797) -Feature: [NewGRF] Add action 1, 2 and 3 support for canals.
peter1138
parents:
diff changeset
    36
SpriteID GetCanalSprite(CanalFeature feature, TileIndex tile);
71d62b85d3ad (svn r9797) -Feature: [NewGRF] Add action 1, 2 and 3 support for canals.
peter1138
parents:
diff changeset
    37
71d62b85d3ad (svn r9797) -Feature: [NewGRF] Add action 1, 2 and 3 support for canals.
peter1138
parents:
diff changeset
    38
#endif /* NEWGRF_CANAL_H */