MCPcopy Create free account
hub / github.com/LARG/HFO / initImpl

Method initImpl

src/agent.cpp:198–252  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

196}
197
198bool Agent::initImpl(CmdLineParser & cmd_parser) {
199 bool result = PlayerAgent::initImpl(cmd_parser);
200
201 // read additional options
202 result &= Strategy::instance().init(cmd_parser);
203
204 rcsc::ParamMap my_params("Additional options");
205 my_params.add()
206 ("numTeammates", "", &num_teammates)
207 ("numOpponents", "", &num_opponents)
208 ("playingOffense", "", &playing_offense)
209 ("serverPort", "", &server_port);
210 cmd_parser.parse(my_params);
211 if (cmd_parser.count("help") > 0) {
212 my_params.printHelp(std::cout);
213 return false;
214 }
215 if (cmd_parser.failed()) {
216 std::cerr << "player: ***WARNING*** detected unsuppprted options: ";
217 cmd_parser.print( std::cerr );
218 std::cerr << std::endl;
219 }
220
221#ifdef ELOG
222#else
223 const std::list<std::string>& args = cmd_parser.args();
224 if (std::find(args.begin(), args.end(), "--record") != args.end()) {
225 std::cerr
226 << "[Agent Client] ERROR: Action recording requested but no supported."
227 << " To enable action recording, install https://github.com/mhauskn/librcsc"
228 << " and recompile with -DELOG. See CMakeLists.txt"
229 << std::endl;
230 return false;
231 }
232#endif
233
234 if (!result) {
235 return false;
236 }
237
238 if (!Strategy::instance().read(config().configDir())) {
239 std::cerr << "***ERROR*** Failed to read team strategy." << std::endl;
240 return false;
241 }
242
243 if (KickTable::instance().read(config().configDir() + "/kick-table")) {
244 std::cerr << "Loaded the kick table: ["
245 << config().configDir() << "/kick-table]"
246 << std::endl;
247 }
248
249 assert(num_teammates >= 0);
250 assert(num_opponents >= 0);
251 return true;
252}
253
254void Agent::startServer(int server_port) {
255 std::cout << "[Agent Server] Starting Server on Port " << server_port << std::endl;

Callers

nothing calls this directly

Calls 2

readMethod · 0.80
initMethod · 0.45

Tested by

no test coverage detected