newgrf.c
changeset 3006 6da38dbee2a7
parent 2971 cae3a81e8674
child 3023 d651099f7b18
equal deleted inserted replaced
3005:2590b9b4823b 3006:6da38dbee2a7
   553 				uint32 refit_mask = grf_load_dword(&buf);
   553 				uint32 refit_mask = grf_load_dword(&buf);
   554 
   554 
   555 				_engine_info[ROAD_ENGINES_INDEX + engine + i].refit_mask = refit_mask;
   555 				_engine_info[ROAD_ENGINES_INDEX + engine + i].refit_mask = refit_mask;
   556 			}
   556 			}
   557 		} break;
   557 		} break;
       
   558 
       
   559 		case 0x17: // Callback mask
       
   560 			FOR_EACH_OBJECT {
       
   561 				rvi[i].callbackmask = grf_load_byte(&buf);
       
   562 			}
       
   563 			break;
       
   564 
   558 		case 0x1D: { /* Cargo classes allowed */
   565 		case 0x1D: { /* Cargo classes allowed */
   559 			FOR_EACH_OBJECT {
   566 			FOR_EACH_OBJECT {
   560 				cargo_allowed[ROAD_ENGINES_INDEX + engine + i] = grf_load_word(&buf);
   567 				cargo_allowed[ROAD_ENGINES_INDEX + engine + i] = grf_load_word(&buf);
   561 			}
   568 			}
   562 		} break;
   569 		} break;
   563 		case 0x1E: { /* Cargo classes disallowed */
   570 		case 0x1E: { /* Cargo classes disallowed */
   564 			FOR_EACH_OBJECT {
   571 			FOR_EACH_OBJECT {
   565 				cargo_disallowed[ROAD_ENGINES_INDEX + engine + i] = grf_load_word(&buf);
   572 				cargo_disallowed[ROAD_ENGINES_INDEX + engine + i] = grf_load_word(&buf);
   566 			}
   573 			}
   567 		} break;
   574 		} break;
   568 		case 0x17:      /* Callback */
       
   569 		case 0x18:      /* Tractive effort */
   575 		case 0x18:      /* Tractive effort */
   570 		case 0x19:      /* Air drag */
   576 		case 0x19:      /* Air drag */
   571 		case 0x1A:      /* Refit cost */
   577 		case 0x1A:      /* Refit cost */
   572 		case 0x1B:      /* Retire vehicle early */
   578 		case 0x1B:      /* Retire vehicle early */
   573 		case 0x1C:      /* Miscellaneous flags */
   579 		case 0x1C:      /* Miscellaneous flags */
   674 				uint32 refit_mask = grf_load_dword(&buf);
   680 				uint32 refit_mask = grf_load_dword(&buf);
   675 
   681 
   676 				_engine_info[SHIP_ENGINES_INDEX + engine + i].refit_mask = refit_mask;
   682 				_engine_info[SHIP_ENGINES_INDEX + engine + i].refit_mask = refit_mask;
   677 			}
   683 			}
   678 		}	break;
   684 		}	break;
       
   685 
       
   686 		case 0x12: // Callback mask
       
   687 			FOR_EACH_OBJECT {
       
   688 				svi[i].callbackmask = grf_load_byte(&buf);
       
   689 			}
       
   690 			break;
       
   691 
   679 		case 0x18: { /* Cargo classes allowed */
   692 		case 0x18: { /* Cargo classes allowed */
   680 			FOR_EACH_OBJECT {
   693 			FOR_EACH_OBJECT {
   681 				cargo_allowed[SHIP_ENGINES_INDEX + engine + i] = grf_load_word(&buf);
   694 				cargo_allowed[SHIP_ENGINES_INDEX + engine + i] = grf_load_word(&buf);
   682 			}
   695 			}
   683 		} break;
   696 		} break;
   684 		case 0x19: { /* Cargo classes disallowed */
   697 		case 0x19: { /* Cargo classes disallowed */
   685 			FOR_EACH_OBJECT {
   698 			FOR_EACH_OBJECT {
   686 				cargo_disallowed[SHIP_ENGINES_INDEX + engine + i] = grf_load_word(&buf);
   699 				cargo_disallowed[SHIP_ENGINES_INDEX + engine + i] = grf_load_word(&buf);
   687 			}
   700 			}
   688 		} break;
   701 		} break;
   689 		case 0x12: /* Callback */
       
   690 		case 0x13: /* Refit cost */
   702 		case 0x13: /* Refit cost */
   691 		case 0x14: /* Ocean speed fraction */
   703 		case 0x14: /* Ocean speed fraction */
   692 		case 0x15: /* Canal speed fraction */
   704 		case 0x15: /* Canal speed fraction */
   693 		case 0x16: /* Retire vehicle early */
   705 		case 0x16: /* Retire vehicle early */
   694 		case 0x17: /* Miscellaneous flags */
   706 		case 0x17: /* Miscellaneous flags */
   797 				uint32 refit_mask = grf_load_dword(&buf);
   809 				uint32 refit_mask = grf_load_dword(&buf);
   798 
   810 
   799 				_engine_info[AIRCRAFT_ENGINES_INDEX + engine + i].refit_mask = refit_mask;
   811 				_engine_info[AIRCRAFT_ENGINES_INDEX + engine + i].refit_mask = refit_mask;
   800 			}
   812 			}
   801 		}	break;
   813 		}	break;
       
   814 
       
   815 		case 0x14: // Callback mask
       
   816 			FOR_EACH_OBJECT {
       
   817 				avi[i].callbackmask = grf_load_byte(&buf);
       
   818 			}
       
   819 			break;
       
   820 
   802 		case 0x18: { /* Cargo classes allowed */
   821 		case 0x18: { /* Cargo classes allowed */
   803 			FOR_EACH_OBJECT {
   822 			FOR_EACH_OBJECT {
   804 				cargo_allowed[AIRCRAFT_ENGINES_INDEX + engine + i] = grf_load_word(&buf);
   823 				cargo_allowed[AIRCRAFT_ENGINES_INDEX + engine + i] = grf_load_word(&buf);
   805 			}
   824 			}
   806 		} break;
   825 		} break;
   807 		case 0x19: { /* Cargo classes disallowed */
   826 		case 0x19: { /* Cargo classes disallowed */
   808 			FOR_EACH_OBJECT {
   827 			FOR_EACH_OBJECT {
   809 				cargo_disallowed[AIRCRAFT_ENGINES_INDEX + engine + i] = grf_load_word(&buf);
   828 				cargo_disallowed[AIRCRAFT_ENGINES_INDEX + engine + i] = grf_load_word(&buf);
   810 			}
   829 			}
   811 		} break;
   830 		} break;
   812 		case 0x14: /* Callback */
       
   813 		case 0x15: /* Refit cost */
   831 		case 0x15: /* Refit cost */
   814 		case 0x16: /* Retire vehicle early */
   832 		case 0x16: /* Retire vehicle early */
   815 		case 0x17: /* Miscellaneous flags */
   833 		case 0x17: /* Miscellaneous flags */
   816 		{
   834 		{
   817 			/* TODO */
   835 			/* TODO */