players.c
changeset 2554 cd74b7099965
parent 2548 97ada3bd2702
child 2572 f3ab5cadbdc5
equal deleted inserted replaced
2553:803733100f42 2554:cd74b7099965
   615 	DeleteWindowById(WC_BUY_COMPANY, pi);
   615 	DeleteWindowById(WC_BUY_COMPANY, pi);
   616 }
   616 }
   617 
   617 
   618 byte GetPlayerRailtypes(PlayerID p)
   618 byte GetPlayerRailtypes(PlayerID p)
   619 {
   619 {
   620 	Engine *e;
   620 	byte rt = 0;
   621 	int rt = 0;
   621 	uint i;
   622 	int i;
   622 
   623 
   623 	for (i = 0; i != TOTAL_NUM_ENGINES; i++) {
   624 	for(e = _engines, i = 0; i != lengthof(_engines); e++, i++) {
   624 		const Engine* e = GetEngine(i);
   625 		if (!HASBIT(e->player_avail, p))
   625 
   626 			continue;
   626 		if (e->type == VEH_Train &&
   627 
   627 				HASBIT(e->player_avail, p) &&
   628 		/* Skip all wagons */
   628 				!(RailVehInfo(i)->flags & RVI_WAGON)) {
   629 		if ((i >= 27 && i < 54) || (i >= 57 && i < 84) || (i >= 89 && i < 116))
   629 			assert(e->railtype < RAILTYPE_END);
   630 			continue;
   630 			SETBIT(rt, e->railtype);
   631 
   631 		}
   632 		assert(e->railtype < RAILTYPE_END);
       
   633 		SETBIT(rt, e->railtype);
       
   634 	}
   632 	}
   635 
   633 
   636 	return rt;
   634 	return rt;
   637 }
   635 }
   638 
   636