277 lines
		
	
	
		
			5.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			277 lines
		
	
	
		
			5.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* $Id$ */
 | |
| 
 | |
| #include "sprites.h"
 | |
| 
 | |
| typedef struct CargoTypesValues {
 | |
| 	StringID names[NUM_CARGO];
 | |
| 	StringID units_volume[NUM_CARGO];
 | |
| 	byte weights[NUM_CARGO];
 | |
| 	SpriteID sprites[NUM_CARGO];
 | |
| 
 | |
| 	uint16 initial_cargo_payment[NUM_CARGO];
 | |
| 	byte transit_days_table_1[NUM_CARGO];
 | |
| 	byte transit_days_table_2[NUM_CARGO];
 | |
| 
 | |
| 	byte road_veh_by_cargo_start[NUM_CARGO];
 | |
| 	byte road_veh_by_cargo_count[NUM_CARGO];
 | |
| } CargoTypesValues;
 | |
| 
 | |
| 
 | |
| static const CargoTypesValues _cargo_types_base_values[4] = {
 | |
| 	{
 | |
| 		/* normal names */
 | |
| 		{
 | |
| 			STR_000F_PASSENGERS,
 | |
| 			STR_0010_COAL,
 | |
| 			STR_0011_MAIL,
 | |
| 			STR_0012_OIL,
 | |
| 			STR_0013_LIVESTOCK,
 | |
| 			STR_0014_GOODS,
 | |
| 			STR_0015_GRAIN,
 | |
| 			STR_0016_WOOD,
 | |
| 			STR_0017_IRON_ORE,
 | |
| 			STR_0018_STEEL,
 | |
| 			STR_0019_VALUABLES,
 | |
| 			STR_000E,
 | |
| 		},
 | |
| 
 | |
| 		{ /* normal units of volume */
 | |
| 			STR_PASSENGERS,
 | |
| 			STR_TONS,
 | |
| 			STR_BAGS,
 | |
| 			STR_LITERS,
 | |
| 			STR_ITEMS,
 | |
| 			STR_CRATES,
 | |
| 			STR_TONS,
 | |
| 			STR_TONS,
 | |
| 			STR_TONS,
 | |
| 			STR_TONS,
 | |
| 			STR_BAGS,
 | |
| 			STR_RES_OTHER
 | |
| 		},
 | |
| 
 | |
| 		/* normal weights */
 | |
| 		{
 | |
| 			1, 16, 4, 16, 3, 8, 16, 16, 16, 16, 2, 0,
 | |
| 		},
 | |
| 
 | |
| 		/* normal sprites */
 | |
| 		{
 | |
| 			SPR_CARGO_PASSENGER,      SPR_CARGO_COAL,  SPR_CARGO_MAIL, SPR_CARGO_OIL,      SPR_CARGO_LIVESTOCK,
 | |
| 			SPR_CARGO_GOODS,          SPR_CARGO_GRAIN, SPR_CARGO_WOOD, SPR_CARGO_IRON_ORE, SPR_CARGO_STEEL,
 | |
| 			SPR_CARGO_VALUES_GOLD,    SPR_ASCII_SPACE
 | |
| 		},
 | |
| 
 | |
| 		/* normal initial cargo payment */
 | |
| 		{
 | |
| 			3185, 5916, 4550, 4437, 4322, 6144, 4778, 5005, 5120, 5688, 7509, 5688
 | |
| 		},
 | |
| 
 | |
| 		/* normal transit days table 1 */
 | |
| 		{
 | |
| 			0, 7, 20, 25, 4, 5, 4, 15, 9, 7, 1, 0,
 | |
| 		},
 | |
| 
 | |
| 		/* normal transit days table 2 */
 | |
| 		{
 | |
| 			24, 255, 90, 255, 18, 28, 40, 255, 255, 255, 32, 30,
 | |
| 		},
 | |
| 
 | |
| 		/* normal road veh by cargo start & count */
 | |
| 		{116, 123, 126, 132, 135, 138, 141, 144, 147, 150, 153, 156},
 | |
| 		{7, 3, 6, 3, 3, 3, 3, 3, 3, 3, 3, 3}
 | |
| 	},
 | |
| 
 | |
| 	{
 | |
| 		/* hilly names */
 | |
| 		{
 | |
| 			STR_000F_PASSENGERS,
 | |
| 			STR_0010_COAL,
 | |
| 			STR_0011_MAIL,
 | |
| 			STR_0012_OIL,
 | |
| 			STR_0013_LIVESTOCK,
 | |
| 			STR_0014_GOODS,
 | |
| 			STR_0022_WHEAT,
 | |
| 			STR_0016_WOOD,
 | |
| 			STR_000E,
 | |
| 			STR_001F_PAPER,
 | |
| 			STR_0020_GOLD,
 | |
| 			STR_001E_FOOD,
 | |
| 		},
 | |
| 
 | |
| 		{ /* hilly units of volume */
 | |
| 			STR_PASSENGERS,
 | |
| 			STR_TONS,
 | |
| 			STR_BAGS,
 | |
| 			STR_LITERS,
 | |
| 			STR_ITEMS,
 | |
| 			STR_CRATES,
 | |
| 			STR_TONS,
 | |
| 			STR_TONS,
 | |
| 			STR_RES_OTHER,
 | |
| 			STR_TONS,
 | |
| 			STR_BAGS,
 | |
| 			STR_TONS
 | |
| 		},
 | |
| 
 | |
| 		/* hilly weights */
 | |
| 		{
 | |
| 			1, 16, 4, 16, 3, 8, 16, 16, 0, 16, 8, 16
 | |
| 		},
 | |
| 
 | |
| 		/* hilly sprites */
 | |
| 		{
 | |
| 			SPR_CARGO_PASSENGER,   SPR_CARGO_COAL,  SPR_CARGO_MAIL, SPR_CARGO_OIL,   SPR_CARGO_LIVESTOCK,
 | |
| 			SPR_CARGO_GOODS,       SPR_CARGO_GRAIN, SPR_CARGO_WOOD, SPR_ASCII_SPACE, SPR_CARGO_PAPER,
 | |
| 			SPR_CARGO_VALUES_GOLD, SPR_CARGO_FOOD
 | |
| 		},
 | |
| 
 | |
| 		/* hilly initial cargo payment */
 | |
| 		{
 | |
| 			3185, 5916, 4550, 4437, 4322, 6144, 4778, 5005, 5120, 5461, 5802, 5688
 | |
| 		},
 | |
| 
 | |
| 		/* hilly transit days table 1 */
 | |
| 		{
 | |
| 			0, 7, 20, 25, 4, 5, 4, 15, 9, 7, 10, 0,
 | |
| 		},
 | |
| 
 | |
| 		/* hilly transit days table 2 */
 | |
| 		{
 | |
| 			24, 255, 90, 255, 18, 28, 40, 255, 255, 60, 40, 30
 | |
| 		},
 | |
| 
 | |
| 		/* hilly road veh by cargo start & count */
 | |
| 		{116, 123, 126, 132, 135, 138, 141, 144, 147, 159, 153, 156},
 | |
| 		{7, 3, 6, 3, 3, 3, 3, 3, 3, 3, 3, 3},
 | |
| 	},
 | |
| 
 | |
| 	{
 | |
| 		/* desert names */
 | |
| 		{
 | |
| 			STR_000F_PASSENGERS,
 | |
| 			STR_0023_RUBBER,
 | |
| 			STR_0011_MAIL,
 | |
| 			STR_0012_OIL,
 | |
| 			STR_001C_FRUIT,
 | |
| 			STR_0014_GOODS,
 | |
| 			STR_001B_MAIZE,
 | |
| 			STR_0016_WOOD,
 | |
| 			STR_001A_COPPER_ORE,
 | |
| 			STR_0021_WATER,
 | |
| 			STR_001D_DIAMONDS,
 | |
| 			STR_001E_FOOD
 | |
| 		},
 | |
| 
 | |
| 		{ /* desert units of volume */
 | |
| 			STR_PASSENGERS,
 | |
| 			STR_LITERS,
 | |
| 			STR_BAGS,
 | |
| 			STR_LITERS,
 | |
| 			STR_TONS,
 | |
| 			STR_CRATES,
 | |
| 			STR_TONS,
 | |
| 			STR_TONS,
 | |
| 			STR_TONS,
 | |
| 			STR_LITERS,
 | |
| 			STR_BAGS,
 | |
| 			STR_TONS
 | |
| 		},
 | |
| 
 | |
| 		/* desert weights */
 | |
| 		{
 | |
| 			1, 16, 4, 16, 16, 8, 16, 16, 16, 16, 2, 16,
 | |
| 		},
 | |
| 
 | |
| 		/* desert sprites */
 | |
| 		{
 | |
| 			SPR_CARGO_PASSENGER, SPR_CARGO_RUBBER, SPR_CARGO_MAIL, SPR_CARGO_OIL,        SPR_CARGO_FRUIT,
 | |
| 			SPR_CARGO_GOODS,     SPR_CARGO_GRAIN,  SPR_CARGO_WOOD, SPR_CARGO_COPPER_ORE, SPR_CARGO_WATERCOLA,
 | |
| 			SPR_CARGO_DIAMONDS,  SPR_CARGO_FOOD
 | |
| 		},
 | |
| 
 | |
| 		/* desert initial cargo payment */
 | |
| 		{
 | |
| 			3185, 4437, 4550, 4892, 4209, 6144, 4322, 7964, 4892, 4664, 5802, 5688
 | |
| 		},
 | |
| 
 | |
| 		/* desert transit days table 1 */
 | |
| 		{
 | |
| 			0, 2, 20, 25, 0, 5, 4, 15, 12, 20, 10, 0
 | |
| 		},
 | |
| 
 | |
| 		/* desert transit days table 2 */
 | |
| 		{
 | |
| 			24, 20, 90, 255, 15, 28, 40, 255, 255, 80, 255, 30
 | |
| 		},
 | |
| 
 | |
| 		/* desert road veh by cargo start & count */
 | |
| 		{116, 171, 126, 132, 168, 138, 141, 144, 162, 165, 153, 156},
 | |
| 		{7, 3, 6, 3, 3, 3, 3, 3, 3, 3, 3, 3}
 | |
| 	},
 | |
| 
 | |
| 	{
 | |
| 		/* candy names */
 | |
| 		{
 | |
| 			STR_000F_PASSENGERS,
 | |
| 			STR_0024_SUGAR,
 | |
| 			STR_0011_MAIL,
 | |
| 			STR_0025_TOYS,
 | |
| 			STR_002B_BATTERIES,
 | |
| 			STR_0026_CANDY,
 | |
| 			STR_002A_TOFFEE,
 | |
| 			STR_0027_COLA,
 | |
| 			STR_0028_COTTON_CANDY,
 | |
| 			STR_0029_BUBBLES,
 | |
| 			STR_002C_PLASTIC,
 | |
| 			STR_002D_FIZZY_DRINKS,
 | |
| 		},
 | |
| 
 | |
| 		{ /* candy unitrs of volume */
 | |
| 			STR_PASSENGERS,
 | |
| 			STR_TONS,
 | |
| 			STR_BAGS,
 | |
| 			STR_NOTHING,
 | |
| 			STR_NOTHING,
 | |
| 			STR_TONS,
 | |
| 			STR_TONS,
 | |
| 			STR_LITERS,
 | |
| 			STR_TONS,
 | |
| 			STR_NOTHING,
 | |
| 			STR_LITERS,
 | |
| 			STR_NOTHING
 | |
| 		},
 | |
| 
 | |
| 		/* candy weights */
 | |
| 		{
 | |
| 			1, 16, 4, 2, 4, 5, 16, 16, 16, 1, 16, 2
 | |
| 		},
 | |
| 
 | |
| 		/* candy sprites */
 | |
| 		{
 | |
| 			SPR_CARGO_PASSENGER, SPR_CARGO_SUGAR,  SPR_CARGO_MAIL,      SPR_CARGO_TOYS,        SPR_CARGO_BATTERIES,
 | |
| 			SPR_CARGO_CANDY,     SPR_CARGO_TOFFEE, SPR_CARGO_WATERCOLA, SPR_CARGO_COTTONCANDY, SPR_CARGO_BUBBLES,
 | |
| 			SPR_CARGO_PLASTIC,   SPR_CARGO_FIZZYDRINK
 | |
| 		},
 | |
| 
 | |
| 		/* candy initial cargo payment */
 | |
| 		{
 | |
| 			3185, 4437, 4550, 5574, 4322, 6144, 4778, 4892, 5005, 5077, 4664, 6250
 | |
| 		},
 | |
| 
 | |
| 		/* candy transit days table 1 */
 | |
| 		{
 | |
| 			0, 20, 20, 25, 2, 8, 14, 5, 10, 20, 30, 30,
 | |
| 		},
 | |
| 
 | |
| 		/* candy transit days table 2 */
 | |
| 		{
 | |
| 			24, 255, 90, 255, 30, 40, 60, 75, 25, 80, 255, 50
 | |
| 		},
 | |
| 
 | |
| 		/* candy road veh by cargo start & count */
 | |
| 		{116, 174, 126, 186, 192, 189, 183, 177, 180, 201, 198, 195},
 | |
| 		{7, 3, 6, 3, 3, 3, 3, 3, 3, 3, 3, 3}
 | |
| 	}
 | |
| };
 | 
