Take the list of Meshes returned by the car loader, and pull the High res wheels and body out for physics to manipulate
| 93 | |
| 94 | // Take the list of Meshes returned by the car loader, and pull the High res wheels and body out for physics to manipulate |
| 95 | void Car::setModels(std::vector<CarModel> loaded_car_models){ |
| 96 | all_models = loaded_car_models; |
| 97 | uint8_t usedModelCount = 0; |
| 98 | |
| 99 | switch(tag){ |
| 100 | case NFS_1:break; |
| 101 | case NFS_2_PS1:break; |
| 102 | case NFS_2_SE: |
| 103 | case NFS_2: |
| 104 | case NFS_3_PS1: |
| 105 | if(loaded_car_models.size() < 3){ |
| 106 | loaded_car_models[0].enable(); |
| 107 | left_front_wheel_model = loaded_car_models[0]; |
| 108 | right_front_wheel_model = loaded_car_models[0]; |
| 109 | left_rear_wheel_model = loaded_car_models[0]; |
| 110 | right_rear_wheel_model = loaded_car_models[0]; |
| 111 | loaded_car_models[1].enable(); |
| 112 | car_body_model = loaded_car_models[1]; |
| 113 | }else if(loaded_car_models.size() < 20){ |
| 114 | loaded_car_models[2].enable(); |
| 115 | left_front_wheel_model = loaded_car_models[2]; |
| 116 | right_front_wheel_model = loaded_car_models[2]; |
| 117 | left_rear_wheel_model = loaded_car_models[2]; |
| 118 | right_rear_wheel_model = loaded_car_models[2]; |
| 119 | for(auto& car_model : loaded_car_models) { |
| 120 | if (car_model.m_name == "Medium Main Body Part") { |
| 121 | car_model.enable(); |
| 122 | car_body_model = car_model; |
| 123 | } else if (car_model.m_name.find("Medium") != std::string::npos && car_model.m_name.find("Wheel") == std::string::npos) { |
| 124 | if(car_model.m_name != loaded_car_models[2].m_name){ |
| 125 | car_model.enable(); |
| 126 | misc_models.emplace_back(car_model); |
| 127 | } |
| 128 | } else { |
| 129 | if(car_model.m_name != loaded_car_models[2].m_name){ |
| 130 | misc_models.emplace_back(car_model); |
| 131 | } |
| 132 | } |
| 133 | } |
| 134 | } else { |
| 135 | for(auto& car_model : loaded_car_models){ |
| 136 | if(car_model.m_name == "High Main Body Part"){ |
| 137 | car_model.enable(); |
| 138 | car_body_model = car_model; |
| 139 | } else if(car_model.m_name.find("High Front Left Wheel Part") != std::string::npos){ |
| 140 | car_model.enable(); |
| 141 | left_front_wheel_model = car_model; |
| 142 | } else if(car_model.m_name.find("High Front Right Wheel Part") != std::string::npos){ |
| 143 | car_model.enable(); |
| 144 | right_front_wheel_model = car_model; |
| 145 | } else if(car_model.m_name.find("High Rear Left Wheel Part") != std::string::npos){ |
| 146 | car_model.enable(); |
| 147 | left_rear_wheel_model = car_model; |
| 148 | } else if(car_model.m_name.find("High Rear Right Wheel Part") != std::string::npos){ |
| 149 | car_model.enable(); |
| 150 | right_rear_wheel_model = car_model; |
| 151 | } else if(car_model.m_name.find("High") != std::string::npos){ // Everything with "High" in the name is an extra body part, enable it |
| 152 | car_model.enable(); |