engine.c
changeset 2611 36aa372eeb34
parent 2602 1a6561c9a408
child 2639 eeaefdabfdfd
equal deleted inserted replaced
2610:73831453cfbc 2611:36aa372eeb34
    56 /** Bitmasked value where the global cargo ID is available in landscape
    56 /** Bitmasked value where the global cargo ID is available in landscape
    57  * 0: LT_NORMAL, 1: LT_HILLY, 2: LT_DESERT, 3: LT_CANDY */
    57  * 0: LT_NORMAL, 1: LT_HILLY, 2: LT_DESERT, 3: LT_CANDY */
    58 const uint32 _landscape_global_cargo_mask[NUM_LANDSCAPE] =
    58 const uint32 _landscape_global_cargo_mask[NUM_LANDSCAPE] =
    59 { /* LT_NORMAL: temperate */
    59 { /* LT_NORMAL: temperate */
    60 	MC(GC_PASSENGERS)|MC(GC_COAL)|MC(GC_MAIL)|MC(GC_OIL)|MC(GC_LIVESTOCK)|MC(GC_GOODS)|MC(GC_GRAIN)|MC(GC_WOOD)|
    60 	MC(GC_PASSENGERS)|MC(GC_COAL)|MC(GC_MAIL)|MC(GC_OIL)|MC(GC_LIVESTOCK)|MC(GC_GOODS)|MC(GC_GRAIN)|MC(GC_WOOD)|
    61 	MC(GC_IRON_ORE)|MC(GC_STEEL)|MC(GC_VALUABLES)|MC(GC_FOOD)|MC(GC_UNDEFINED),
    61 	MC(GC_IRON_ORE)|MC(GC_STEEL)|MC(GC_VALUABLES),
    62 	/* LT_HILLY: arctic */
    62 	/* LT_HILLY: arctic */
    63 	MC(GC_PASSENGERS)|MC(GC_COAL)|MC(GC_MAIL)|MC(GC_OIL)|MC(GC_LIVESTOCK)|MC(GC_GOODS)|
    63 	MC(GC_PASSENGERS)|MC(GC_COAL)|MC(GC_MAIL)|MC(GC_OIL)|MC(GC_LIVESTOCK)|MC(GC_GOODS)|
    64 	MC(GC_GRAIN)|MC(GC_WOOD)|MC(GC_VALUABLES)|MC(GC_PAPER)|MC(GC_FOOD)|MC(GC_UNDEFINED),
    64 	MC(GC_GRAIN)|MC(GC_WOOD)|MC(GC_VALUABLES)|MC(GC_PAPER)|MC(GC_FOOD),
    65 	/* LT_DESERT: rainforest/desert */
    65 	/* LT_DESERT: rainforest/desert */
    66 	MC(GC_PASSENGERS)|MC(GC_MAIL)|MC(GC_OIL)|MC(GC_GOODS)|MC(GC_GRAIN)|MC(GC_WOOD)|
    66 	MC(GC_PASSENGERS)|MC(GC_MAIL)|MC(GC_OIL)|MC(GC_GOODS)|MC(GC_GRAIN)|MC(GC_WOOD)|
    67 	MC(GC_VALUABLES)|MC(GC_FOOD)|MC(GC_FRUIT)|MC(GC_COPPER_ORE)|MC(GC_WATER)|MC(GC_RUBBER),
    67 	MC(GC_VALUABLES)|MC(GC_FOOD)|MC(GC_FRUIT)|MC(GC_COPPER_ORE)|MC(GC_WATER)|MC(GC_RUBBER),
    68 	/* LT_CANDY: toyland */
    68 	/* LT_CANDY: toyland */
    69 	MC(GC_PASSENGERS)|MC(GC_MAIL)|MC(GC_SUGAR)|MC(GC_TOYS)|MC(GC_BATTERIES)|MC(GC_CANDY)|
    69 	MC(GC_PASSENGERS)|MC(GC_MAIL)|MC(GC_SUGAR)|MC(GC_TOYS)|MC(GC_BATTERIES)|MC(GC_CANDY)|
    89 	MC(GC_PASSENGERS)|MC(GC_MAIL)|MC(GC_GOODS)|MC(GC_VALUABLES)|MC(GC_FOOD)|MC(GC_FRUIT)|MC(GC_SUGAR)|MC(GC_TOYS)|
    89 	MC(GC_PASSENGERS)|MC(GC_MAIL)|MC(GC_GOODS)|MC(GC_VALUABLES)|MC(GC_FOOD)|MC(GC_FRUIT)|MC(GC_SUGAR)|MC(GC_TOYS)|
    90 	MC(GC_BATTERIES)|MC(GC_CANDY)|MC(GC_TOFFEE)|MC(GC_COLA)|MC(GC_COTTON_CANDY)|MC(GC_BUBBLES)|MC(GC_PLASTIC)|MC(GC_FIZZY_DRINKS),
    90 	MC(GC_BATTERIES)|MC(GC_CANDY)|MC(GC_TOFFEE)|MC(GC_COLA)|MC(GC_COTTON_CANDY)|MC(GC_BUBBLES)|MC(GC_PLASTIC)|MC(GC_FIZZY_DRINKS),
    91 	/* Special/Disaster */
    91 	/* Special/Disaster */
    92 	0,0
    92 	0,0
    93 };
    93 };
       
    94 
       
    95 /**
       
    96  * Bitmask of classes for cargo types.
       
    97  */
       
    98 const uint32 cargo_classes[16] = {
       
    99 	/* Passengers */ MC(GC_PASSENGERS),
       
   100 	/* Mail       */ MC(GC_MAIL),
       
   101 	/* Express    */ MC(GC_GOODS)|MC(GC_FOOD)|MC(GC_CANDY),
       
   102 	/* Armoured   */ MC(GC_VALUABLES),
       
   103 	/* Bulk       */ MC(GC_COAL)|MC(GC_GRAIN)|MC(GC_IRON_ORE)|MC(GC_COPPER_ORE)|MC(GC_FRUIT)|MC(GC_SUGAR)|MC(GC_TOFFEE)|MC(GC_COTTON_CANDY),
       
   104 	/* Piece      */ MC(GC_LIVESTOCK)|MC(GC_WOOD)|MC(GC_STEEL)|MC(GC_PAPER)|MC(GC_TOYS)|MC(GC_BATTERIES)|MC(GC_BUBBLES)|MC(GC_FIZZY_DRINKS),
       
   105 	/* Liquids    */ MC(GC_OIL)|MC(GC_WATER)|MC(GC_RUBBER)|MC(GC_COLA)|MC(GC_PLASTIC),
       
   106 	/* Chilled    */ MC(GC_FOOD)|MC(GC_FRUIT),
       
   107 	/* Undefined  */ 0, 0, 0, 0, 0, 0, 0, 0
       
   108 };
    94 #undef MC
   109 #undef MC
    95 
   110 
    96 void ShowEnginePreviewWindow(EngineID engine);
   111 void ShowEnginePreviewWindow(EngineID engine);
    97 
   112 
    98 void DeleteCustomEngineNames(void)
   113 void DeleteCustomEngineNames(void)
   229 		   even if it is not a vehicle (yet)*/
   244 		   even if it is not a vehicle (yet)*/
   230 	}
   245 	}
   231 
   246 
   232 	AdjustAvailAircraft();
   247 	AdjustAvailAircraft();
   233 }
   248 }
   234 
       
   235 uint32 _engine_refit_masks[TOTAL_NUM_ENGINES];
       
   236 
       
   237 
   249 
   238 // TODO: We don't support cargo-specific wagon overrides. Pretty exotic... ;-) --pasky
   250 // TODO: We don't support cargo-specific wagon overrides. Pretty exotic... ;-) --pasky
   239 
   251 
   240 typedef struct WagonOverride {
   252 typedef struct WagonOverride {
   241 	byte *train_id;
   253 	byte *train_id;