Files @ r3016:b28a60dfd364
Branch filter:

Location: cpp/openttd-patchpack/source/railtypes.h - annotation

bjarni
(svn r3596) -Codechange: [OSX] changed to use Apple's macros instead of OTTD macros for endian conversion
This increases the execution speed a lot since GCC can't detect the OTTD macro as an endian conversion
while Apple's code uses the instruction to convert endian instead of a series of instructions to produce the same result

Since we don't have that many endian conversions in the game, overall performance should not increase noteworthy
r2269:a7460af8c0bf
r2236:150ecfd1ee92
r2236:150ecfd1ee92
r2236:150ecfd1ee92
r2236:150ecfd1ee92
r2236:150ecfd1ee92
r2236:150ecfd1ee92
r2236:150ecfd1ee92
r2514:42386b3ae874
r2274:7ef7202fbded
r2274:7ef7202fbded
r2274:7ef7202fbded
r2511:38fead3e8cf3
r2511:38fead3e8cf3
r2511:38fead3e8cf3
r2511:38fead3e8cf3
r2274:7ef7202fbded
r2274:7ef7202fbded
r2274:7ef7202fbded
r2571:0cfcd6d312a3
r2571:0cfcd6d312a3
r2571:0cfcd6d312a3
r2571:0cfcd6d312a3
r2571:0cfcd6d312a3
r2274:7ef7202fbded
r2514:42386b3ae874
r2514:42386b3ae874
r2514:42386b3ae874
r2514:42386b3ae874
r2514:42386b3ae874
r2514:42386b3ae874
r2514:42386b3ae874
r2514:42386b3ae874
r2514:42386b3ae874
r2514:42386b3ae874
r2514:42386b3ae874
r2274:7ef7202fbded
r2274:7ef7202fbded
r2274:7ef7202fbded
r2274:7ef7202fbded
r2236:150ecfd1ee92
r2274:7ef7202fbded
r2274:7ef7202fbded
r2236:150ecfd1ee92
r2293:b55e49a164c0
r2274:7ef7202fbded
r2254:17c8ce623289
r2536:c002b967f86d
r2536:c002b967f86d
r2536:c002b967f86d
r2236:150ecfd1ee92
r2274:7ef7202fbded
r2274:7ef7202fbded
r2274:7ef7202fbded
r2274:7ef7202fbded
r2511:38fead3e8cf3
r2511:38fead3e8cf3
r2511:38fead3e8cf3
r2511:38fead3e8cf3
r2274:7ef7202fbded
r2274:7ef7202fbded
r2274:7ef7202fbded
r2571:0cfcd6d312a3
r2571:0cfcd6d312a3
r2571:0cfcd6d312a3
r2571:0cfcd6d312a3
r2571:0cfcd6d312a3
r2274:7ef7202fbded
r2514:42386b3ae874
r2514:42386b3ae874
r2514:42386b3ae874
r2514:42386b3ae874
r2514:42386b3ae874
r2514:42386b3ae874
r2514:42386b3ae874
r2514:42386b3ae874
r2514:42386b3ae874
r2514:42386b3ae874
r2514:42386b3ae874
r2274:7ef7202fbded
r2274:7ef7202fbded
r2274:7ef7202fbded
r2274:7ef7202fbded
r2236:150ecfd1ee92
r2274:7ef7202fbded
r2274:7ef7202fbded
r2236:150ecfd1ee92
r2274:7ef7202fbded
r2274:7ef7202fbded
r2254:17c8ce623289
r2536:c002b967f86d
r2536:c002b967f86d
r2536:c002b967f86d
r2236:150ecfd1ee92
r2274:7ef7202fbded
r2274:7ef7202fbded
r2274:7ef7202fbded
r2274:7ef7202fbded
r2511:38fead3e8cf3
r2511:38fead3e8cf3
r2511:38fead3e8cf3
r2511:38fead3e8cf3
r2274:7ef7202fbded
r2274:7ef7202fbded
r2274:7ef7202fbded
r2571:0cfcd6d312a3
r2571:0cfcd6d312a3
r2571:0cfcd6d312a3
r2571:0cfcd6d312a3
r2571:0cfcd6d312a3
r2274:7ef7202fbded
r2514:42386b3ae874
r2514:42386b3ae874
r2514:42386b3ae874
r2514:42386b3ae874
r2514:42386b3ae874
r2514:42386b3ae874
r2514:42386b3ae874
r2514:42386b3ae874
r2514:42386b3ae874
r2514:42386b3ae874
r2514:42386b3ae874
r2274:7ef7202fbded
r2274:7ef7202fbded
r2274:7ef7202fbded
r2274:7ef7202fbded
r2236:150ecfd1ee92
r2274:7ef7202fbded
r2274:7ef7202fbded
r2236:150ecfd1ee92
r2274:7ef7202fbded
r2274:7ef7202fbded
r2254:17c8ce623289
r2536:c002b967f86d
r2536:c002b967f86d
r2536:c002b967f86d
r2236:150ecfd1ee92
r2236:150ecfd1ee92
/* $Id$ */

/** @file railtypes.h
 * All the railtype-specific information is stored here.
 */

/** Global Railtype definition
 */
const RailtypeInfo _railtypes[] = {
	/** Railway */
	{ /* Main Sprites */
		{ SPR_RAIL_TRACK_Y, SPR_RAIL_TRACK_N_S, SPR_RAIL_TRACK_BASE, SPR_RAIL_SINGLE_Y, SPR_RAIL_SINGLE_X,
			SPR_RAIL_SINGLE_NORTH, SPR_RAIL_SINGLE_SOUTH, SPR_RAIL_SINGLE_EAST, SPR_RAIL_SINGLE_WEST,
			SPR_CROSSING_OFF_X_RAIL,
			SPR_TUNNEL_ENTRY_REAR_RAIL
		},

		/* GUI sprites */
		{ 0x4E3, 0x4E4, 0x4E5, 0x4E6,
			SPR_IMG_AUTORAIL,
			SPR_IMG_DEPOT_RAIL,
			SPR_IMG_TUNNEL_RAIL,
			SPR_IMG_CONVERT_RAIL
		},

		{
			SPR_CURSOR_NS_TRACK,
			SPR_CURSOR_SWNE_TRACK,
			SPR_CURSOR_EW_TRACK,
			SPR_CURSOR_NWSE_TRACK,
			SPR_CURSOR_AUTORAIL,
			SPR_CURSOR_RAIL_DEPOT,
			SPR_CURSOR_TUNNEL_RAIL,
			SPR_CURSOR_CONVERT_RAIL
		},

		/* strings */
		{ STR_100A_RAILROAD_CONSTRUCTION },

		/* Offset of snow tiles */
		SPR_RAIL_SNOW_OFFSET,

		/* Compatible railtypes */
		(1 << RAILTYPE_RAIL),

		/* main offset */
		0,

		/* bridge offset */
		0,
	},

	/** Monorail */
	{ /* Main Sprites */
		{ SPR_MONO_TRACK_Y, SPR_MONO_TRACK_N_S, SPR_MONO_TRACK_BASE, SPR_MONO_SINGLE_Y, SPR_MONO_SINGLE_X,
			SPR_MONO_SINGLE_NORTH, SPR_MONO_SINGLE_SOUTH, SPR_MONO_SINGLE_EAST, SPR_MONO_SINGLE_WEST,
			SPR_CROSSING_OFF_X_MONO,
			SPR_TUNNEL_ENTRY_REAR_MONO
		},

		/* GUI sprites */
		{ 0x4E7, 0x4E8, 0x4E9, 0x4EA,
			SPR_IMG_AUTOMONO,
			SPR_IMG_DEPOT_MONO,
			SPR_IMG_TUNNEL_MONO,
			SPR_IMG_CONVERT_MONO
		},

		{
			SPR_CURSOR_NS_MONO,
			SPR_CURSOR_SWNE_MONO,
			SPR_CURSOR_EW_MONO,
			SPR_CURSOR_NWSE_MONO,
			SPR_CURSOR_AUTOMONO,
			SPR_CURSOR_MONO_DEPOT,
			SPR_CURSOR_TUNNEL_MONO,
			SPR_CURSOR_CONVERT_MONO
		},

		/* strings */
		{ STR_100B_MONORAIL_CONSTRUCTION },

		/* Offset of snow tiles */
		SPR_MONO_SNOW_OFFSET,

		/* Compatible Railtypes */
		(1 << RAILTYPE_MONO),

		/* main offset */
		82,

		/* bridge offset */
		16,
	},

	/** Maglev */
	{ /* Main sprites */
		{ SPR_MGLV_TRACK_Y, SPR_MGLV_TRACK_N_S, SPR_MGLV_TRACK_BASE, SPR_MGLV_SINGLE_Y, SPR_MGLV_SINGLE_X,
			SPR_MGLV_SINGLE_NORTH, SPR_MGLV_SINGLE_SOUTH, SPR_MGLV_SINGLE_EAST, SPR_MGLV_SINGLE_WEST,
			SPR_CROSSING_OFF_X_MAGLEV,
			SPR_TUNNEL_ENTRY_REAR_MAGLEV
		},

		/* GUI sprites */
		{ 0x4EB, 0x4EC, 0x4EE, 0x4ED,
			SPR_IMG_AUTOMAGLEV,
			SPR_IMG_DEPOT_MAGLEV,
			SPR_IMG_TUNNEL_MAGLEV,
			SPR_IMG_CONVERT_MAGLEV
		},

		{
			SPR_CURSOR_NS_MAGLEV,
			SPR_CURSOR_SWNE_MAGLEV,
			SPR_CURSOR_EW_MAGLEV,
			SPR_CURSOR_NWSE_MAGLEV,
			SPR_CURSOR_AUTOMAGLEV,
			SPR_CURSOR_MAGLEV_DEPOT,
			SPR_CURSOR_TUNNEL_MAGLEV,
			SPR_CURSOR_CONVERT_MAGLEV
		},

		/* strings */
		{ STR_100C_MAGLEV_CONSTRUCTION },

		/* Offset of snow tiles */
		SPR_MGLV_SNOW_OFFSET,

		/* Compatible Railtypes */
		(1 << RAILTYPE_MAGLEV),

		/* main offset */
		164,

		/* bridge offset */
		24,
	},
};