src/oldloader.cpp
changeset 6340 35c260560a1b
parent 6322 3d191e6e89bc
child 6341 5d2948b411bf
equal deleted inserted replaced
6339:2da40fb6a25e 6340:35c260560a1b
  1059 {
  1059 {
  1060 	Vehicle *v = GetVehicle(_current_vehicle_id);
  1060 	Vehicle *v = GetVehicle(_current_vehicle_id);
  1061 	uint temp = ls->total_read;
  1061 	uint temp = ls->total_read;
  1062 	bool res;
  1062 	bool res;
  1063 
  1063 
       
  1064 	/* We changed the offset of the vehicle types, so fix it
       
  1065 	 * Basically v->type -= 0x10; would suffice, but play safely */
  1064 	switch (v->type) {
  1066 	switch (v->type) {
  1065 		case VEH_Train:    res = LoadChunk(ls, &v->u.rail,     vehicle_train_chunk);    break;
  1067 		default: NOT_REACHED();
  1066 		case VEH_Road:     res = LoadChunk(ls, &v->u.road,     vehicle_road_chunk);     break;
  1068 		case 0x00 /*VEH_Invalid */: v->type = VEH_Invalid;  res = LoadChunk(ls, NULL,           vehicle_empty_chunk);    break;
  1067 		case VEH_Ship:     res = LoadChunk(ls, &v->u.ship,     vehicle_ship_chunk);     break;
  1069 		case 0x10 /*VEH_Train   */: v->type = VEH_Train;    res = LoadChunk(ls, &v->u.rail,     vehicle_train_chunk);    break;
  1068 		case VEH_Aircraft: res = LoadChunk(ls, &v->u.air,      vehicle_air_chunk);      break;
  1070 		case 0x11 /*VEH_Road    */: v->type = VEH_Road;     res = LoadChunk(ls, &v->u.road,     vehicle_road_chunk);     break;
  1069 		case VEH_Special:  res = LoadChunk(ls, &v->u.special,  vehicle_special_chunk);  break;
  1071 		case 0x12 /*VEH_Ship    */: v->type = VEH_Ship;     res = LoadChunk(ls, &v->u.ship,     vehicle_ship_chunk);     break;
  1070 		case VEH_Disaster: res = LoadChunk(ls, &v->u.disaster, vehicle_disaster_chunk); break;
  1072 		case 0x13 /*VEH_Aircraft*/: v->type = VEH_Aircraft; res = LoadChunk(ls, &v->u.air,      vehicle_air_chunk);      break;
  1071 		default:           res = LoadChunk(ls, NULL,           vehicle_empty_chunk);    break;
  1073 		case 0x14 /*VEH_Special */: v->type = VEH_Special;  res = LoadChunk(ls, &v->u.special,  vehicle_special_chunk);  break;
       
  1074 		case 0x15 /*VEH_Disaster*/: v->type = VEH_Disaster; res = LoadChunk(ls, &v->u.disaster, vehicle_disaster_chunk); break;
  1072 	}
  1075 	}
  1073 
  1076 
  1074 	/* This chunk size should always be 10 bytes */
  1077 	/* This chunk size should always be 10 bytes */
  1075 	if (ls->total_read - temp != 10) {
  1078 	if (ls->total_read - temp != 10) {
  1076 		DEBUG(oldloader, 4, "Assert failed in Vehicle");
  1079 		DEBUG(oldloader, 4, "Assert failed in Vehicle");