src/engine.cpp
branchgamebalance
changeset 9910 0b2aebc8283e
parent 9909 dce9a6923bb7
child 9911 0b8b245a2391
equal deleted inserted replaced
9909:dce9a6923bb7 9910:0b2aebc8283e
   402 	if (!HASBIT(e->player_avail, player)) return false;
   402 	if (!HASBIT(e->player_avail, player)) return false;
   403 
   403 
   404 	return true;
   404 	return true;
   405 }
   405 }
   406 
   406 
       
   407 /** Get the default cargo type for a certain engine type
       
   408  * @param engine The ID to get the cargo for
       
   409  * @return The cargo type. CT_INVALID means no cargo capacity
       
   410  */
       
   411 CargoID GetEngineCargoType(EngineID engine)
       
   412 {
       
   413 	assert(IsEngineIndex(engine));
       
   414 
       
   415 	switch (GetEngine(engine)->type) {
       
   416 		case VEH_TRAIN:
       
   417 			if (RailVehInfo(engine)->capacity == 0) return CT_INVALID;
       
   418 			return RailVehInfo(engine)->cargo_type;
       
   419 
       
   420 		case VEH_ROAD:
       
   421 			if (RoadVehInfo(engine)->capacity == 0) return CT_INVALID;
       
   422 			return RoadVehInfo(engine)->cargo_type;
       
   423 
       
   424 		case VEH_SHIP:
       
   425 			if (ShipVehInfo(engine)->capacity == 0) return CT_INVALID;
       
   426 			return ShipVehInfo(engine)->cargo_type;
       
   427 
       
   428 		case VEH_AIRCRAFT:
       
   429 			/* all aircraft starts as passenger planes with cargo capacity */
       
   430 			return CT_PASSENGERS;
       
   431 
       
   432 		default: NOT_REACHED(); return CT_INVALID;
       
   433 	}
       
   434 }
       
   435 
   407 /************************************************************************
   436 /************************************************************************
   408  * Engine Replacement stuff
   437  * Engine Replacement stuff
   409  ************************************************************************/
   438  ************************************************************************/
   410 
   439 
   411 static void EngineRenewPoolNewBlock(uint start_item);
   440 static void EngineRenewPoolNewBlock(uint start_item);