Commit e2f82571 authored by mercury233's avatar mercury233

linux run bot

parent 506ee9a6
...@@ -240,13 +240,13 @@ bool MenuHandler::OnEvent(const irr::SEvent& event) { ...@@ -240,13 +240,13 @@ bool MenuHandler::OnEvent(const irr::SEvent& event) {
if(sel == -1) if(sel == -1)
break; break;
bot_mode = true; bot_mode = true;
#ifdef _WIN32
if(!NetServer::StartServer(mainGame->gameConf.serverport)) if(!NetServer::StartServer(mainGame->gameConf.serverport))
break; break;
if(!DuelClient::StartClient(0x7f000001, mainGame->gameConf.serverport)) { if(!DuelClient::StartClient(0x7f000001, mainGame->gameConf.serverport)) {
NetServer::StopServer(); NetServer::StopServer();
break; break;
} }
#ifdef _WIN32
STARTUPINFO si; STARTUPINFO si;
PROCESS_INFORMATION pi; PROCESS_INFORMATION pi;
ZeroMemory(&si, sizeof(si)); ZeroMemory(&si, sizeof(si));
...@@ -261,6 +261,28 @@ bool MenuHandler::OnEvent(const irr::SEvent& event) { ...@@ -261,6 +261,28 @@ bool MenuHandler::OnEvent(const irr::SEvent& event) {
NetServer::StopServer(); NetServer::StopServer();
break; break;
} }
#else
if(fork() == 0) {
usleep(100000);
char arg1[512];
BufferIO::EncodeUTF8(mainGame->botInfo[sel].command, arg1);
int flag = 0;
flag += (mainGame->chkBotHand->isChecked() ? 0x1 : 0);
char arg2[8];
sprintf(arg2, "%d", flag);
char arg3[5];
sprintf(arg3, "%d", mainGame->gameConf.serverport);
execl("./bot", "bot", arg1, arg2, arg3, NULL);
exit(0);
}
else {
if(!NetServer::StartServer(mainGame->gameConf.serverport))
break;
if(!DuelClient::StartClient(0x7f000001, mainGame->gameConf.serverport)) {
NetServer::StopServer();
break;
}
}
#endif #endif
mainGame->btnStartBot->setEnabled(false); mainGame->btnStartBot->setEnabled(false);
mainGame->btnBotCancel->setEnabled(false); mainGame->btnBotCancel->setEnabled(false);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment