| 227 | } |
| 228 | |
| 229 | void Physics::registerTrack(const std::shared_ptr<ONFSTrack> &track) { |
| 230 | current_track = track; |
| 231 | // TODO: NFS3, Use passable flags (flags&0x80) |
| 232 | for (auto &track_block : track->track_blocks) { |
| 233 | for (auto &road : track_block.track) { |
| 234 | road.genPhysicsMesh(); |
| 235 | dynamicsWorld->addRigidBody(road.rigidBody, COL_TRACK, COL_CAR | COL_RAY); |
| 236 | } |
| 237 | for (auto &object : track_block.objects) { |
| 238 | object.genPhysicsMesh(); |
| 239 | dynamicsWorld->addRigidBody(object.rigidBody, COL_TRACK, COL_CAR| COL_RAY); |
| 240 | } |
| 241 | for (auto &light : track_block.lights) { |
| 242 | light.genPhysicsMesh(); |
| 243 | dynamicsWorld->addRigidBody(light.rigidBody, COL_TRACK, COL_CAR| COL_RAY); |
| 244 | } |
| 245 | } |
| 246 | } |
| 247 | |
| 248 | void Physics::registerVehicle(std::shared_ptr<Car> &car) { |
| 249 | cars.emplace_back(car); |
no test coverage detected