MCPcopy Create free account
hub / github.com/OpenNFS/OpenNFS / setModels

Method setModels

src/Physics/Car.cpp:95–236  ·  view source on GitHub ↗

Take the list of Meshes returned by the car loader, and pull the High res wheels and body out for physics to manipulate

Source from the content-addressed store, hash-verified

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
95void 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();

Callers

nothing calls this directly

Calls 1

enableMethod · 0.80

Tested by

no test coverage detected