/** * 解析 */ BOOL COption::Analysis(int argc, TCHAR* argv[]) { for (int i = 1; i < argc; i++) { BOOL result = FALSE; izanagi::tool::CString cmd(argv[i]); if (i < argc - 1) { if (result = (cmd == "-i")) { // -i in.format("%s", argv[++i]); in.replace('/', '\\'); } else if (result = (cmd == "-o")) { // -o out.format("%s", argv[++i]); } else if (result = (cmd == "-p")) { // -p izanagi::tool::CString tmp(argv[++i]); tmp = tmp.make_lower(); if (tmp == "dx9") { type = izanagi::E_PLATFORM_DX9; } else if (tmp == "gles2") { type = izanagi::E_PLATFORM_GLES2; } else { result = FALSE; } } } if (!result) { // 引数無しオプション } if (!result) { // TODO ::fprintf(stderr, "Invalid Option [%s]\n\n", cmd.c_str()); //IZ_ASSERT(FALSE); return FALSE; } } // 後処理 if (!AfterAnalysis()) { IZ_ASSERT(FALSE); return FALSE; } return TRUE; }
// 解析 BOOL COption::Analysis(int argc, char* argv[]) { for (int i = 1; i < argc; i++) { BOOL result = FALSE; izanagi::tool::CString cmd(argv[i]); if (i < argc - 1) { if (result = (cmd == "-i")) { // -i in_dir.format("%s", argv[++i]); } else if (result = (cmd == "-o")) { // -o output.format("%s", argv[++i]); } else if (result = (cmd == "-h")) { // -h file_id.format("%s", argv[++i]); } else if (result = (cmd == "-obj")) { // -obj obj_dir.format("%s", argv[++i]); } } if (!result) { // 引数無しオプション } if (!result) { // TODO printf("無効なオプションです[%s]\n\n", cmd); //IZ_ASSERT(FALSE); return FALSE; } } // 後処理 if (!AfterAnalysis()) { IZ_ASSERT(FALSE); return FALSE; } return TRUE; }