Commit 8cf9df4c authored by nanahira's avatar nanahira

add no wait

parent 0803a304
......@@ -94,3 +94,4 @@ core*
/patch.exe.manifest
/patch.exe
/diff.exe
*.mp4
......@@ -91,6 +91,7 @@ extern int enable_log;
extern bool exit_on_return;
extern bool auto_watch_mode;
extern bool raw_video_mode;
extern bool no_wait_before_exit;
extern bool open_file;
extern wchar_t open_file_name[256];
extern bool bot_mode;
......
......@@ -190,7 +190,9 @@ void DuelClient::ClientEvent(bufferevent *bev, short events, void *ctx) {
mainGame->env->addMessageBox(L"", dataManager.GetSysString(1400));
mainGame->gMutex.unlock();
if (auto_watch_mode) {
if(!no_wait_before_exit) {
mainGame->actionSignal.Wait(2000);
}
mainGame->device->closeDevice();
}
} else if(connect_state == 0x7) {
......@@ -213,7 +215,9 @@ void DuelClient::ClientEvent(bufferevent *bev, short events, void *ctx) {
else mainGame->env->addMessageBox(L"", dataManager.GetSysString(1402));
mainGame->gMutex.unlock();
if (auto_watch_mode) {
if(!no_wait_before_exit) {
mainGame->actionSignal.Wait(2000);
}
mainGame->device->closeDevice();
}
} else {
......@@ -228,7 +232,9 @@ void DuelClient::ClientEvent(bufferevent *bev, short events, void *ctx) {
mainGame->stTip->setVisible(false);
mainGame->gMutex.unlock();
if (auto_watch_mode) {
if(!no_wait_before_exit) {
mainGame->actionSignal.Wait(2000);
}
mainGame->device->closeDevice();
}
mainGame->closeDoneSignal.Reset();
......@@ -292,7 +298,9 @@ void DuelClient::HandleSTOCPacketLan(char* data, unsigned int len) {
mainGame->env->addMessageBox(L"", dataManager.GetSysString(1405));
mainGame->gMutex.unlock();
if (auto_watch_mode) {
if(!no_wait_before_exit) {
mainGame->actionSignal.Wait(2000);
}
mainGame->device->closeDevice();
}
event_base_loopbreak(client_base);
......@@ -752,7 +760,9 @@ void DuelClient::HandleSTOCPacketLan(char* data, unsigned int len) {
mainGame->PopupElement(mainGame->wMessage);
mainGame->gMutex.unlock();
if (auto_watch_mode) {
if(!no_wait_before_exit) {
mainGame->actionSignal.Wait(2000);
}
mainGame->device->closeDevice();
}
else {
......
......@@ -11,6 +11,7 @@ int enable_log = 0;
bool exit_on_return = false;
bool auto_watch_mode = false;
bool raw_video_mode = false;
bool no_wait_before_exit = false;
bool open_file = false;
wchar_t open_file_name[256] = L"";
bool bot_mode = false;
......@@ -115,7 +116,12 @@ int main(int argc, char* argv[]) {
auto_watch_mode = true;
} else if(!wcscmp(wargv[i], L"--raw-video")) { // Raw video mode
raw_video_mode = true;
} else if(!wcscmp(wargv[i], L"-d")) { // Deck
} else if(!wcscmp(wargv[i], L"--auto-watch-no-wait")) { // Auto watch mode, but don't wait 2 sec
auto_watch_mode = true;
no_wait_before_exit = true;
}
else if (!wcscmp(wargv[i], L"-d"))
{ // Deck
++i;
if(i + 1 < wargc) { // select deck
ygo::mainGame->gameConf.lastcategory[0] = 0;
......@@ -130,17 +136,23 @@ int main(int argc, char* argv[]) {
ClickButton(ygo::mainGame->btnDeckEdit);
break;
}
} else if(!wcscmp(wargv[i], L"-c")) { // Create host
}
else if (!wcscmp(wargv[i], L"-c"))
{ // Create host
exit_on_return = !keep_on_return;
ygo::mainGame->HideElement(ygo::mainGame->wMainMenu);
ClickButton(ygo::mainGame->btnHostConfirm);
break;
} else if(!wcscmp(wargv[i], L"-j")) { // Join host
}
else if (!wcscmp(wargv[i], L"-j"))
{ // Join host
exit_on_return = !keep_on_return;
ygo::mainGame->HideElement(ygo::mainGame->wMainMenu);
ClickButton(ygo::mainGame->btnJoinHost);
break;
} else if(!wcscmp(wargv[i], L"-r")) { // Replay
}
else if (!wcscmp(wargv[i], L"-r"))
{ // Replay
exit_on_return = !keep_on_return;
++i;
if(i < wargc) {
......@@ -151,7 +163,9 @@ int main(int argc, char* argv[]) {
if(open_file)
ClickButton(ygo::mainGame->btnLoadReplay);
break;
} else if(!wcscmp(wargv[i], L"-s")) { // Single
}
else if (!wcscmp(wargv[i], L"-s"))
{ // Single
exit_on_return = !keep_on_return;
++i;
if(i < wargc) {
......@@ -162,7 +176,9 @@ int main(int argc, char* argv[]) {
if(open_file)
ClickButton(ygo::mainGame->btnLoadSinglePlay);
break;
} else if(wargc == 2 && wcslen(wargv[1]) >= 4) {
}
else if (wargc == 2 && wcslen(wargv[1]) >= 4)
{
wchar_t* pstrext = wargv[1] + wcslen(wargv[1]) - 4;
if(!mywcsncasecmp(pstrext, L".ydk", 4)) {
open_file = true;
......
......@@ -89,7 +89,9 @@ bool MenuHandler::OnEvent(const irr::SEvent& event) {
mainGame->env->addMessageBox(L"", dataManager.GetSysString(1412));
mainGame->gMutex.unlock();
if (auto_watch_mode) {
if(!no_wait_before_exit) {
mainGame->actionSignal.Wait(2000);
}
mainGame->device->closeDevice();
}
break;
......
......@@ -238,7 +238,9 @@ void ReplayMode::EndDuel() {
mainGame->PopupElement(mainGame->wMessage);
mainGame->gMutex.unlock();
if(auto_watch_mode) {
if(!no_wait_before_exit) {
mainGame->actionSignal.Wait(2000);
}
mainGame->device->closeDevice();
}
else {
......@@ -315,6 +317,10 @@ bool ReplayMode::ReplayAnalyze(char* msg, unsigned int len) {
break;
}
case MSG_RETRY: {
if(auto_watch_mode && raw_video_mode) {
mainGame->device->closeDevice();
return false;
}
if(mainGame->dInfo.isReplaySkiping) {
mainGame->dInfo.isReplaySkiping = false;
mainGame->dField.RefreshAllCards();
......@@ -326,7 +332,9 @@ bool ReplayMode::ReplayAnalyze(char* msg, unsigned int len) {
mainGame->gMutex.unlock();
mainGame->actionSignal.Reset();
if (auto_watch_mode){
if(!no_wait_before_exit) {
mainGame->actionSignal.Wait(2000);
}
mainGame->device->closeDevice();
}
else{
......
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