| 84 | } |
| 85 | |
| 86 | void train() { |
| 87 | LOG(INFO) << "OpenNFS Version " << ONFS_VERSION << " (GA Training Mode)"; |
| 88 | |
| 89 | // Must initialise OpenGL here as the Loaders instantiate meshes which create VAO's |
| 90 | ASSERT(InitOpenGL(Config::get().resX, Config::get().resY, "OpenNFS v" + ONFS_VERSION + " (GA Training Mode)"), |
| 91 | "OpenGL init failed."); |
| 92 | |
| 93 | AssetData trainingAssets = { |
| 94 | NFS_3, Config::get().car, |
| 95 | NFS_3, Config::get().track |
| 96 | }; |
| 97 | |
| 98 | if (Config::get().car != DEFAULT_CAR) { |
| 99 | trainingAssets.carTag = FindCarByName(Config::get().car); |
| 100 | } |
| 101 | |
| 102 | /*------ ASSET LOAD ------*/ |
| 103 | //Load Track Data |
| 104 | std::shared_ptr<ONFSTrack> track = TrackLoader::LoadTrack(trainingAssets.trackTag, trainingAssets.track); |
| 105 | //Load Car data from unpacked NFS files |
| 106 | std::shared_ptr<Car> car = CarLoader::LoadCar(trainingAssets.carTag, trainingAssets.car); |
| 107 | |
| 108 | auto trainingGround = TrainingGround(Config::get().populationSize, Config::get().nGenerations, |
| 109 | Config::get().nTicks, track, car, logger, window); |
| 110 | } |
| 111 | |
| 112 | private: |
| 113 | GLFWwindow *window; |
nothing calls this directly
no test coverage detected