src/newgrf.cpp
changeset 8287 5e43bdaf2d8b
parent 8276 1fe8700644de
child 8292 bc047dea8239
equal deleted inserted replaced
8286:f3d626cd1969 8287:5e43bdaf2d8b
   495 
   495 
   496 			case 0x1F: // Tractive effort coefficient
   496 			case 0x1F: // Tractive effort coefficient
   497 				rvi->tractive_effort = grf_load_byte(&buf);
   497 				rvi->tractive_effort = grf_load_byte(&buf);
   498 				break;
   498 				break;
   499 
   499 
       
   500 			case 0x20: // Air drag
       
   501 				/** @todo Air drag for trains. */
       
   502 				grf_load_byte(&buf);
       
   503 				ret = true;
       
   504 				break;
       
   505 
   500 			case 0x21: // Shorter vehicle
   506 			case 0x21: // Shorter vehicle
   501 				rvi->shorten_factor = grf_load_byte(&buf);
   507 				rvi->shorten_factor = grf_load_byte(&buf);
   502 				break;
   508 				break;
   503 
   509 
   504 			case 0x22: // Visual effect
   510 			case 0x22: // Visual effect
   541 				cargo_disallowed[engine + i] = grf_load_word(&buf);
   547 				cargo_disallowed[engine + i] = grf_load_word(&buf);
   542 				break;
   548 				break;
   543 
   549 
   544 			case 0x2A: // Long format introduction date (days since year 0)
   550 			case 0x2A: // Long format introduction date (days since year 0)
   545 				ei->base_intro = grf_load_dword(&buf);
   551 				ei->base_intro = grf_load_dword(&buf);
   546 				break;
       
   547 
       
   548 			case 0x20: // Air drag
       
   549 				/** @todo Air drag for trains. */
       
   550 				grf_load_byte(&buf);
       
   551 				ret = true;
       
   552 				break;
   552 				break;
   553 
   553 
   554 			default:
   554 			default:
   555 				ret = true;
   555 				ret = true;
   556 				break;
   556 				break;
   636 
   636 
   637 			case 0x17: // Callback mask
   637 			case 0x17: // Callback mask
   638 				ei->callbackmask = grf_load_byte(&buf);
   638 				ei->callbackmask = grf_load_byte(&buf);
   639 				break;
   639 				break;
   640 
   640 
   641 			case 0x1A: // Refit cost
       
   642 				ei->refit_cost = grf_load_byte(&buf);
       
   643 				break;
       
   644 
       
   645 			case 0x1B: // Retire vehicle early
       
   646 				ei->retire_early = grf_load_byte(&buf);
       
   647 				break;
       
   648 
       
   649 			case 0x1C: // Miscellaneous flags
       
   650 				ei->misc_flags = grf_load_byte(&buf);
       
   651 				_loaded_newgrf_features.has_2CC |= HASBIT(ei->misc_flags, EF_USES_2CC);
       
   652 				break;
       
   653 
       
   654 			case 0x1D: // Cargo classes allowed
       
   655 				cargo_allowed[ROAD_ENGINES_INDEX + engine + i] = grf_load_word(&buf);
       
   656 				break;
       
   657 
       
   658 			case 0x1E: // Cargo classes disallowed
       
   659 				cargo_disallowed[ROAD_ENGINES_INDEX + engine + i] = grf_load_word(&buf);
       
   660 				break;
       
   661 
       
   662 			case 0x1F: // Long format introduction date (days since year 0)
       
   663 				ei->base_intro = grf_load_dword(&buf);
       
   664 				break;
       
   665 
       
   666 			case 0x18: // Tractive effort
   641 			case 0x18: // Tractive effort
   667 			case 0x19: // Air drag
   642 			case 0x19: // Air drag
   668 				/** @todo Tractive effort and air drag for road vehicles. */
   643 				/** @todo Tractive effort and air drag for road vehicles. */
   669 				grf_load_byte(&buf);
   644 				grf_load_byte(&buf);
   670 				ret = true;
   645 				ret = true;
   671 				break;
   646 				break;
   672 
   647 
       
   648 			case 0x1A: // Refit cost
       
   649 				ei->refit_cost = grf_load_byte(&buf);
       
   650 				break;
       
   651 
       
   652 			case 0x1B: // Retire vehicle early
       
   653 				ei->retire_early = grf_load_byte(&buf);
       
   654 				break;
       
   655 
       
   656 			case 0x1C: // Miscellaneous flags
       
   657 				ei->misc_flags = grf_load_byte(&buf);
       
   658 				_loaded_newgrf_features.has_2CC |= HASBIT(ei->misc_flags, EF_USES_2CC);
       
   659 				break;
       
   660 
       
   661 			case 0x1D: // Cargo classes allowed
       
   662 				cargo_allowed[ROAD_ENGINES_INDEX + engine + i] = grf_load_word(&buf);
       
   663 				break;
       
   664 
       
   665 			case 0x1E: // Cargo classes disallowed
       
   666 				cargo_disallowed[ROAD_ENGINES_INDEX + engine + i] = grf_load_word(&buf);
       
   667 				break;
       
   668 
       
   669 			case 0x1F: // Long format introduction date (days since year 0)
       
   670 				ei->base_intro = grf_load_dword(&buf);
       
   671 				break;
       
   672 
   673 			default:
   673 			default:
   674 				ret = true;
   674 				ret = true;
   675 				break;
   675 				break;
   676 		}
   676 		}
   677 	}
   677 	}
   746 
   746 
   747 			case 0x13: // Refit cost
   747 			case 0x13: // Refit cost
   748 				ei->refit_cost = grf_load_byte(&buf);
   748 				ei->refit_cost = grf_load_byte(&buf);
   749 				break;
   749 				break;
   750 
   750 
   751 			case 0x16: // Retire vehicle early
       
   752 				ei->retire_early = grf_load_byte(&buf);
       
   753 				break;
       
   754 
       
   755 			case 0x17: // Miscellaneous flags
       
   756 				ei->misc_flags = grf_load_byte(&buf);
       
   757 				_loaded_newgrf_features.has_2CC |= HASBIT(ei->misc_flags, EF_USES_2CC);
       
   758 				break;
       
   759 
       
   760 			case 0x18: // Cargo classes allowed
       
   761 				cargo_allowed[SHIP_ENGINES_INDEX + engine + i] = grf_load_word(&buf);
       
   762 				break;
       
   763 
       
   764 			case 0x19: // Cargo classes disallowed
       
   765 				cargo_disallowed[SHIP_ENGINES_INDEX + engine + i] = grf_load_word(&buf);
       
   766 				break;
       
   767 
       
   768 			case 0x1A: // Long format introduction date (days since year 0)
       
   769 				ei->base_intro = grf_load_dword(&buf);
       
   770 				break;
       
   771 
       
   772 			case 0x14: // Ocean speed fraction
   751 			case 0x14: // Ocean speed fraction
   773 			case 0x15: // Canal speed fraction
   752 			case 0x15: // Canal speed fraction
   774 				/** @todo Speed fractions for ships on oceans and canals */
   753 				/** @todo Speed fractions for ships on oceans and canals */
   775 				grf_load_byte(&buf);
   754 				grf_load_byte(&buf);
   776 				ret = true;
   755 				ret = true;
       
   756 				break;
       
   757 
       
   758 			case 0x16: // Retire vehicle early
       
   759 				ei->retire_early = grf_load_byte(&buf);
       
   760 				break;
       
   761 
       
   762 			case 0x17: // Miscellaneous flags
       
   763 				ei->misc_flags = grf_load_byte(&buf);
       
   764 				_loaded_newgrf_features.has_2CC |= HASBIT(ei->misc_flags, EF_USES_2CC);
       
   765 				break;
       
   766 
       
   767 			case 0x18: // Cargo classes allowed
       
   768 				cargo_allowed[SHIP_ENGINES_INDEX + engine + i] = grf_load_word(&buf);
       
   769 				break;
       
   770 
       
   771 			case 0x19: // Cargo classes disallowed
       
   772 				cargo_disallowed[SHIP_ENGINES_INDEX + engine + i] = grf_load_word(&buf);
       
   773 				break;
       
   774 
       
   775 			case 0x1A: // Long format introduction date (days since year 0)
       
   776 				ei->base_intro = grf_load_dword(&buf);
   777 				break;
   777 				break;
   778 
   778 
   779 			default:
   779 			default:
   780 				ret = true;
   780 				ret = true;
   781 				break;
   781 				break;
  1391 			} break;
  1391 			} break;
  1392 
  1392 
  1393 			case 0x1F: // Minimum life span
  1393 			case 0x1F: // Minimum life span
  1394 				housespec->minimum_life = grf_load_byte(&buf);
  1394 				housespec->minimum_life = grf_load_byte(&buf);
  1395 				break;
  1395 				break;
       
  1396 
       
  1397 			case 0x20: { // @todo Cargo acceptance watch list
       
  1398 				byte count = grf_load_byte(&buf);
       
  1399 				for (byte j = 0; j < count; j++) grf_load_byte(&buf);
       
  1400 				ret = true;
       
  1401 			} break;
  1396 
  1402 
  1397 			default:
  1403 			default:
  1398 				ret = true;
  1404 				ret = true;
  1399 				break;
  1405 				break;
  1400 		}
  1406 		}