Commit 105efb82 authored by nanahira's avatar nanahira

Merge branch 'master' of ../ygopro-7210srv

parents 25f827d6 e63c3af8
No preview for this file type
...@@ -220,6 +220,7 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) { ...@@ -220,6 +220,7 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
for(int i = 0; i < 32; ++i, filter <<= 1) for(int i = 0; i < 32; ++i, filter <<= 1)
if(mainGame->chkCategory[i]->isChecked()) if(mainGame->chkCategory[i]->isChecked())
filter_effect |= filter; filter_effect |= filter;
mainGame->btnEffectFilter->setPressed(filter_effect > 0);
mainGame->HideElement(mainGame->wCategories); mainGame->HideElement(mainGame->wCategories);
InstantSearch(); InstantSearch();
break; break;
...@@ -319,6 +320,7 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) { ...@@ -319,6 +320,7 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
if (mainGame->btnMark[7]->isPressed()) if (mainGame->btnMark[7]->isPressed())
filter_marks |= 0004; filter_marks |= 0004;
mainGame->HideElement(mainGame->wLinkMarks); mainGame->HideElement(mainGame->wLinkMarks);
mainGame->btnMarksFilter->setPressed(filter_marks > 0);
InstantSearch(); InstantSearch();
break; break;
} }
...@@ -904,6 +906,8 @@ void DeckBuilder::ClearFilter() { ...@@ -904,6 +906,8 @@ void DeckBuilder::ClearFilter() {
filter_marks = 0; filter_marks = 0;
for(int i = 0; i < 8; i++) for(int i = 0; i < 8; i++)
mainGame->btnMark[i]->setPressed(false); mainGame->btnMark[i]->setPressed(false);
mainGame->btnEffectFilter->setPressed(false);
mainGame->btnMarksFilter->setPressed(false);
} }
void DeckBuilder::SortList() { void DeckBuilder::SortList() {
auto left = results.begin(); auto left = results.begin();
......
...@@ -1743,6 +1743,16 @@ bool ClientField::OnCommonEvent(const irr::SEvent& event) { ...@@ -1743,6 +1743,16 @@ bool ClientField::OnCommonEvent(const irr::SEvent& event) {
case irr::EET_GUI_EVENT: { case irr::EET_GUI_EVENT: {
s32 id = event.GUIEvent.Caller->getID(); s32 id = event.GUIEvent.Caller->getID();
switch(event.GUIEvent.EventType) { switch(event.GUIEvent.EventType) {
case irr::gui::EGET_ELEMENT_HOVERED: {
if(event.GUIEvent.Caller->getType() == EGUIET_EDIT_BOX)
mainGame->SetCursor(event.GUIEvent.Caller->isEnabled() ? ECI_IBEAM : ECI_NORMAL);
break;
}
case irr::gui::EGET_ELEMENT_LEFT: {
if(event.GUIEvent.Caller->getType() == EGUIET_EDIT_BOX)
mainGame->SetCursor(ECI_NORMAL);
break;
}
case irr::gui::EGET_BUTTON_CLICKED: { case irr::gui::EGET_BUTTON_CLICKED: {
switch(id) { switch(id) {
case BUTTON_CLEAR_LOG: { case BUTTON_CLEAR_LOG: {
......
...@@ -573,7 +573,7 @@ bool Game::Initialize() { ...@@ -573,7 +573,7 @@ bool Game::Initialize() {
ebCardName->setTextAlignment(irr::gui::EGUIA_CENTER, irr::gui::EGUIA_CENTER); ebCardName->setTextAlignment(irr::gui::EGUIA_CENTER, irr::gui::EGUIA_CENTER);
btnEffectFilter = env->addButton(rect<s32>(345, 20 + 50 / 6, 390, 60 + 75 / 6), wFilter, BUTTON_EFFECT_FILTER, dataManager.GetSysString(1326)); btnEffectFilter = env->addButton(rect<s32>(345, 20 + 50 / 6, 390, 60 + 75 / 6), wFilter, BUTTON_EFFECT_FILTER, dataManager.GetSysString(1326));
btnStartFilter = env->addButton(rect<s32>(205, 80 + 125 / 6, 390, 100 + 125 / 6), wFilter, BUTTON_START_FILTER, dataManager.GetSysString(1327)); btnStartFilter = env->addButton(rect<s32>(205, 80 + 125 / 6, 390, 100 + 125 / 6), wFilter, BUTTON_START_FILTER, dataManager.GetSysString(1327));
if(mainGame->gameConf.separate_clear_button) { if(gameConf.separate_clear_button) {
btnStartFilter->setRelativePosition(rect<s32>(260, 80 + 125 / 6, 390, 100 + 125 / 6)); btnStartFilter->setRelativePosition(rect<s32>(260, 80 + 125 / 6, 390, 100 + 125 / 6));
btnClearFilter = env->addButton(rect<s32>(205, 80 + 125 / 6, 255, 100 + 125 / 6), wFilter, BUTTON_CLEAR_FILTER, dataManager.GetSysString(1304)); btnClearFilter = env->addButton(rect<s32>(205, 80 + 125 / 6, 255, 100 + 125 / 6), wFilter, BUTTON_CLEAR_FILTER, dataManager.GetSysString(1304));
} }
...@@ -791,7 +791,7 @@ void Game::MainLoop() { ...@@ -791,7 +791,7 @@ void Game::MainLoop() {
} }
} }
DuelClient::StopClient(true); DuelClient::StopClient(true);
if(mainGame->dInfo.isSingleMode) if(dInfo.isSingleMode)
SingleMode::StopPlay(true); SingleMode::StopPlay(true);
#ifdef _WIN32 #ifdef _WIN32
Sleep(500); Sleep(500);
...@@ -1170,22 +1170,22 @@ void Game::SaveConfig() { ...@@ -1170,22 +1170,22 @@ void Game::SaveConfig() {
BufferIO::EncodeUTF8(gameConf.lastport, linebuf); BufferIO::EncodeUTF8(gameConf.lastport, linebuf);
fprintf(fp, "lastport = %s\n", linebuf); fprintf(fp, "lastport = %s\n", linebuf);
//settings //settings
fprintf(fp, "automonsterpos = %d\n", ((mainGame->chkMAutoPos->isChecked()) ? 1 : 0)); fprintf(fp, "automonsterpos = %d\n", (chkMAutoPos->isChecked() ? 1 : 0));
fprintf(fp, "autospellpos = %d\n", ((mainGame->chkSTAutoPos->isChecked()) ? 1 : 0)); fprintf(fp, "autospellpos = %d\n", (chkSTAutoPos->isChecked() ? 1 : 0));
fprintf(fp, "randompos = %d\n", ((mainGame->chkRandomPos->isChecked()) ? 1 : 0)); fprintf(fp, "randompos = %d\n", (chkRandomPos->isChecked() ? 1 : 0));
fprintf(fp, "autochain = %d\n", ((mainGame->chkAutoChain->isChecked()) ? 1 : 0)); fprintf(fp, "autochain = %d\n", (chkAutoChain->isChecked() ? 1 : 0));
fprintf(fp, "waitchain = %d\n", ((mainGame->chkWaitChain->isChecked()) ? 1 : 0)); fprintf(fp, "waitchain = %d\n", (chkWaitChain->isChecked() ? 1 : 0));
fprintf(fp, "mute_opponent = %d\n", ((mainGame->chkIgnore1->isChecked()) ? 1 : 0)); fprintf(fp, "mute_opponent = %d\n", (chkIgnore1->isChecked() ? 1 : 0));
fprintf(fp, "mute_spectators = %d\n", ((mainGame->chkIgnore2->isChecked()) ? 1 : 0)); fprintf(fp, "mute_spectators = %d\n", (chkIgnore2->isChecked() ? 1 : 0));
fprintf(fp, "hide_setname = %d\n", ((mainGame->chkHideSetname->isChecked()) ? 1 : 0)); fprintf(fp, "hide_setname = %d\n", (chkHideSetname->isChecked() ? 1 : 0));
fprintf(fp, "hide_hint_button = %d\n", ((mainGame->chkHideHintButton->isChecked()) ? 1 : 0)); fprintf(fp, "hide_hint_button = %d\n", (chkHideHintButton->isChecked() ? 1 : 0));
fprintf(fp, "#control_mode = 0: Key A/S/D/R Chain Buttons. control_mode = 1: MouseLeft/MouseRight/NULL/F9 Without Chain Buttons\n"); fprintf(fp, "#control_mode = 0: Key A/S/D/R Chain Buttons. control_mode = 1: MouseLeft/MouseRight/NULL/F9 Without Chain Buttons\n");
fprintf(fp, "control_mode = %d\n", gameConf.control_mode); fprintf(fp, "control_mode = %d\n", gameConf.control_mode);
fprintf(fp, "draw_field_spell = %d\n", gameConf.draw_field_spell); fprintf(fp, "draw_field_spell = %d\n", gameConf.draw_field_spell);
fprintf(fp, "separate_clear_button = %d\n", gameConf.separate_clear_button); fprintf(fp, "separate_clear_button = %d\n", gameConf.separate_clear_button);
fprintf(fp, "#auto_search_limit >= 0: Start search automatically when the user enters N chars\n"); fprintf(fp, "#auto_search_limit >= 0: Start search automatically when the user enters N chars\n");
fprintf(fp, "auto_search_limit = %d\n", gameConf.auto_search_limit); fprintf(fp, "auto_search_limit = %d\n", gameConf.auto_search_limit);
fprintf(fp, "ignore_deck_changes = %d\n", ((mainGame->chkIgnoreDeckChanges->isChecked()) ? 1 : 0)); fprintf(fp, "ignore_deck_changes = %d\n", (chkIgnoreDeckChanges->isChecked() ? 1 : 0));
fprintf(fp, "default_ot = %d\n", gameConf.defaultOT); fprintf(fp, "default_ot = %d\n", gameConf.defaultOT);
fprintf(fp, "enable_bot_mode = %d\n", gameConf.enable_bot_mode); fprintf(fp, "enable_bot_mode = %d\n", gameConf.enable_bot_mode);
fclose(fp); fclose(fp);
...@@ -1202,7 +1202,7 @@ void Game::ShowCardInfo(int code) { ...@@ -1202,7 +1202,7 @@ void Game::ShowCardInfo(int code) {
else myswprintf(formatBuffer, L"%ls[%08d]", dataManager.GetName(code), code); else myswprintf(formatBuffer, L"%ls[%08d]", dataManager.GetName(code), code);
stName->setText(formatBuffer); stName->setText(formatBuffer);
int offset = 0; int offset = 0;
if(!mainGame->chkHideSetname->isChecked()) { if(!chkHideSetname->isChecked()) {
unsigned long long sc = cd.setcode; unsigned long long sc = cd.setcode;
if(cd.alias) { if(cd.alias) {
auto aptr = dataManager._datas.find(cd.alias); auto aptr = dataManager._datas.find(cd.alias);
...@@ -1293,7 +1293,7 @@ void Game::AddChatMsg(wchar_t* msg, int player) { ...@@ -1293,7 +1293,7 @@ void Game::AddChatMsg(wchar_t* msg, int player) {
chatMsg[0].append(L": "); chatMsg[0].append(L": ");
break; break;
case 7: //local name case 7: //local name
chatMsg[0].append(mainGame->ebNickName->getText()); chatMsg[0].append(ebNickName->getText());
chatMsg[0].append(L": "); chatMsg[0].append(L": ");
break; break;
case 8: //system custom message, no prefix. case 8: //system custom message, no prefix.
...@@ -1317,7 +1317,7 @@ void Game::AddDebugMsg(char* msg) ...@@ -1317,7 +1317,7 @@ void Game::AddDebugMsg(char* msg)
if (enable_log & 0x1) { if (enable_log & 0x1) {
wchar_t wbuf[1024]; wchar_t wbuf[1024];
BufferIO::DecodeUTF8(msg, wbuf); BufferIO::DecodeUTF8(msg, wbuf);
mainGame->AddChatMsg(wbuf, 9); AddChatMsg(wbuf, 9);
} }
if (enable_log & 0x2) { if (enable_log & 0x2) {
FILE* fp = fopen("error.log", "at"); FILE* fp = fopen("error.log", "at");
...@@ -1335,12 +1335,12 @@ void Game::AddDebugMsg(char* msg) ...@@ -1335,12 +1335,12 @@ void Game::AddDebugMsg(char* msg)
#ifndef YGOPRO_SERVER_MODE #ifndef YGOPRO_SERVER_MODE
void Game::ClearTextures() { void Game::ClearTextures() {
matManager.mCard.setTexture(0, 0); matManager.mCard.setTexture(0, 0);
mainGame->imgCard->setImage(imageManager.tCover[0]); imgCard->setImage(imageManager.tCover[0]);
mainGame->btnPSAU->setImage(); btnPSAU->setImage();
mainGame->btnPSDU->setImage(); btnPSDU->setImage();
for(int i=0; i<=4; ++i) { for(int i=0; i<=4; ++i) {
mainGame->btnCardSelect[i]->setImage(); btnCardSelect[i]->setImage();
mainGame->btnCardDisplay[i]->setImage(); btnCardDisplay[i]->setImage();
} }
imageManager.ClearTexture(); imageManager.ClearTexture();
} }
...@@ -1411,6 +1411,12 @@ void Game::FlashWindow() { ...@@ -1411,6 +1411,12 @@ void Game::FlashWindow() {
FlashWindowEx(&fi); FlashWindowEx(&fi);
#endif #endif
} }
void Game::SetCursor(ECURSOR_ICON icon) {
ICursorControl* cursor = mainGame->device->getCursorControl();
if(cursor->getActiveIcon() != icon) {
cursor->setActiveIcon(icon);
}
}
#endif //YGOPRO_SERVER_MODE #endif //YGOPRO_SERVER_MODE
} }
...@@ -150,6 +150,7 @@ public: ...@@ -150,6 +150,7 @@ public:
void SetWindowsIcon(); void SetWindowsIcon();
void FlashWindow(); void FlashWindow();
void SetCursor(ECURSOR_ICON icon);
Mutex gMutex; Mutex gMutex;
Mutex gBuffer; Mutex gBuffer;
......
...@@ -39,6 +39,16 @@ bool MenuHandler::OnEvent(const irr::SEvent& event) { ...@@ -39,6 +39,16 @@ bool MenuHandler::OnEvent(const irr::SEvent& event) {
break; break;
} }
switch(event.GUIEvent.EventType) { switch(event.GUIEvent.EventType) {
case irr::gui::EGET_ELEMENT_HOVERED: {
if(event.GUIEvent.Caller->getType() == EGUIET_EDIT_BOX)
mainGame->SetCursor(event.GUIEvent.Caller->isEnabled() ? ECI_IBEAM : ECI_NORMAL);
break;
}
case irr::gui::EGET_ELEMENT_LEFT: {
if(event.GUIEvent.Caller->getType() == EGUIET_EDIT_BOX)
mainGame->SetCursor(ECI_NORMAL);
break;
}
case irr::gui::EGET_BUTTON_CLICKED: { case irr::gui::EGET_BUTTON_CLICKED: {
switch(id) { switch(id) {
case BUTTON_MODE_EXIT: { case BUTTON_MODE_EXIT: {
......
...@@ -29,11 +29,11 @@ separate_clear_button = 1 ...@@ -29,11 +29,11 @@ separate_clear_button = 1
#auto_search_limit >= 0: Start search automatically when the user enters N chars #auto_search_limit >= 0: Start search automatically when the user enters N chars
auto_search_limit = 2 auto_search_limit = 2
ignore_deck_changes = 0 ignore_deck_changes = 0
default_ot = 1
enable_bot_mode = 1
enable_sound = 1 enable_sound = 1
enable_music = 1 enable_music = 1
#Volume of sound and music, between 0 and 100 #Volume of sound and music, between 0 and 100
sound_volume = 100 sound_volume = 100
music_volume = 100 music_volume = 100
music_mode = 1 music_mode = 1
default_ot = 1
enable_bot_mode = 1
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