* Handles the initialization of setting up default options * and finding and loading any existing ones. * @param argc Number of arguments. * @param argv Array of argument strings. * @return Was initialized. */
| 384 | * @return Was initialized. |
| 385 | */ |
| 386 | bool init(int argc, char *argv[]) |
| 387 | { |
| 388 | if (showHelp(argc, argv)) |
| 389 | return false; |
| 390 | create(); |
| 391 | resetDefault(); |
| 392 | loadArgs(argc, argv); |
| 393 | setFolders(); |
| 394 | updateOptions(); |
| 395 | |
| 396 | std::string s = getUserFolder(); |
| 397 | s += "openxcom.log"; |
| 398 | Logger::logFile() = s; |
| 399 | FILE *file = fopen(Logger::logFile().c_str(), "w"); |
| 400 | if (!file) |
| 401 | { |
| 402 | throw Exception(s + " not found"); |
| 403 | } |
| 404 | fflush(file); |
| 405 | fclose(file); |
| 406 | Log(LOG_INFO) << "Data folder is: " << _dataFolder; |
| 407 | Log(LOG_INFO) << "Data search is: "; |
| 408 | for (std::vector<std::string>::iterator i = _dataList.begin(); i != _dataList.end(); ++i) |
| 409 | { |
| 410 | Log(LOG_INFO) << "- " << *i; |
| 411 | } |
| 412 | Log(LOG_INFO) << "User folder is: " << _userFolder; |
| 413 | Log(LOG_INFO) << "Config folder is: " << _configFolder; |
| 414 | Log(LOG_INFO) << "Options loaded successfully."; |
| 415 | return true; |
| 416 | } |
| 417 | |
| 418 | /** |
| 419 | * Sets up the game's Data folder where the data files |
no test coverage detected