table/animcursors.h
author matthijs
Thu, 16 Jun 2005 18:04:02 +0000
changeset 1942 c5d5cf5b0263
parent 1914 2b4b3c3a95b4
child 2186 db48cf29b983
permissions -rw-r--r--
(svn r2448) General cleanup of rail related code, more to follow.
* Add: rail.[ch] for rail-related enums and wrapper functions.
* Codechange: Removed dozens of magic numbers with below enums.
* Codechange: Rewrote CheckTrackCombination().
* Add: TILE_SIZE, TILE_PIXELS and TILE_HEIGHT constants.
* Add: enums RailTileType, RailTileSubtype, SignalType to mask against the map arrays.
* Add: enums Track, TrackBits, Trackdir, TrackdirBits for railway track data. (Note that the old RAIL_BIT constants are replaced by TRACK_BIT ones).
* Add: enums Direction and DiagDirection
* Codechange: Moved a bunch of track(dir) related lookup arrays from npf.[ch] to rail.[ch].
* Codechange: move RailType enum from tile.h to rail.h.
* Add: Wrapper functions for masking signal status in the map arrays: SignalAlongTrackdir, SignalAgainstTrackdir and SignalOnTrack.
* Add: Wrapper functions to access rail tiles, using above enums
* Add: Wrapper functions to modify tracks, trackdirs, directions, etc.
* Add: Wrapper functions for all lookup arrays in rail.[ch] (Arrays are still used in parts of the code)
* Codechange: Renamed some variables and arguments to better represent what they contain (railbit -> track, bits -> trackdirbits, etc.).
* Codechange: Don't use FindLandscapeHeight() in CmdRemoveSingleRail(), since it returns way too much info. Use GetTileSlope() instead.
* Codechange: [NPF] Removed some unused globals and code from npf.c.
#define ANIM_CURSOR_LINE(a,b) a,b,
#define ANIM_CURSOR_END() 0xFFFF

static const CursorID _demolish_animcursor[] = {
	ANIM_CURSOR_LINE(0x2C0, 29)
	ANIM_CURSOR_LINE(0x2C1, 29)
	ANIM_CURSOR_LINE(0x2C2, 29)
	ANIM_CURSOR_LINE(0x2C3, 29)
	ANIM_CURSOR_END()
};

static const CursorID _lower_land_animcursor[] = {
	ANIM_CURSOR_LINE(0x2BB, 29)
	ANIM_CURSOR_LINE(0x2BC, 29)
	ANIM_CURSOR_LINE(0x2BD, 98)
	ANIM_CURSOR_END()
};

static const CursorID _raise_land_animcursor[] = {
	ANIM_CURSOR_LINE(0x2B8, 29)
	ANIM_CURSOR_LINE(0x2B9, 29)
	ANIM_CURSOR_LINE(0x2BA, 98)
	ANIM_CURSOR_END()
};

static const CursorID _pick_station_animcursor[] = {
	ANIM_CURSOR_LINE(0x2CC, 29)
	ANIM_CURSOR_LINE(0x2CD, 29)
	ANIM_CURSOR_LINE(0x2CE, 98)
	ANIM_CURSOR_END()
};

static const CursorID _build_signals_animcursor[] = {
	ANIM_CURSOR_LINE(0x50C, 148)
	ANIM_CURSOR_LINE(0x50D, 148)
	ANIM_CURSOR_END()
};

static const CursorID * const _animcursors[] = {
	_demolish_animcursor,
	_lower_land_animcursor,
	_raise_land_animcursor,
	_pick_station_animcursor,
	_build_signals_animcursor
};