Commit a72ed5a4 authored by nanahira's avatar nanahira

Merge branch 'ask-set'

parents 005c6f0f 657fc248
...@@ -63,7 +63,8 @@ public: ...@@ -63,7 +63,8 @@ public:
int announce_count; int announce_count;
int select_counter_count; int select_counter_count;
int select_counter_type; int select_counter_type;
std::vector<ClientCard*> selectable_cards; int current_mset_param;
std::vector<ClientCard *> selectable_cards;
std::vector<ClientCard*> selected_cards; std::vector<ClientCard*> selected_cards;
std::set<ClientCard*> selectsum_cards; std::set<ClientCard*> selectsum_cards;
std::vector<ClientCard*> selectsum_all; std::vector<ClientCard*> selectsum_all;
......
...@@ -219,6 +219,13 @@ bool ClientField::OnEvent(const irr::SEvent& event) { ...@@ -219,6 +219,13 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
} }
break; break;
} }
case MSG_SELECT_IDLECMD: {
mainGame->HideElement(mainGame->wQuery);
if(current_mset_param) {
DuelClient::SetResponseI(current_mset_param);
DuelClient::SendResponse();
}
}
default: { default: {
mainGame->HideElement(mainGame->wQuery); mainGame->HideElement(mainGame->wQuery);
break; break;
...@@ -505,8 +512,16 @@ bool ClientField::OnEvent(const irr::SEvent& event) { ...@@ -505,8 +512,16 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
break; break;
for(size_t i = 0; i < msetable_cards.size(); ++i) { for(size_t i = 0; i < msetable_cards.size(); ++i) {
if(msetable_cards[i] == clicked_card) { if(msetable_cards[i] == clicked_card) {
DuelClient::SetResponseI((i << 16) + 3); current_mset_param = (i << 16) + 3;
DuelClient::SendResponse(); if(mainGame->gameConf.ask_mset) {
wchar_t wbuf[256];
myswprintf(wbuf, dataManager.GetSysString(1355), dataManager.GetName(clicked_card->code));
mainGame->stQMessage->setText(wbuf);
mainGame->PopupElement(mainGame->wQuery);
} else {
DuelClient::SetResponseI(current_mset_param);
DuelClient::SendResponse();
}
break; break;
} }
} }
...@@ -1915,6 +1930,11 @@ bool ClientField::OnCommonEvent(const irr::SEvent& event) { ...@@ -1915,6 +1930,11 @@ bool ClientField::OnCommonEvent(const irr::SEvent& event) {
return true; return true;
break; break;
} }
case CHECKBOX_ASK_MSET: {
mainGame->gameConf.ask_mset = mainGame->chkAskMSet->isChecked() ? 1 : 0;
return true;
break;
}
} }
break; break;
} }
......
...@@ -314,6 +314,9 @@ bool Game::Initialize() { ...@@ -314,6 +314,9 @@ bool Game::Initialize() {
chkDrawSingleChain = env->addCheckBox(false, rect<s32>(posX, posY, posX + 260, posY + 25), tabHelper, CHECKBOX_DRAW_SINGLE_CHAIN, dataManager.GetSysString(1287)); chkDrawSingleChain = env->addCheckBox(false, rect<s32>(posX, posY, posX + 260, posY + 25), tabHelper, CHECKBOX_DRAW_SINGLE_CHAIN, dataManager.GetSysString(1287));
chkDrawSingleChain->setChecked(gameConf.draw_single_chain != 0); chkDrawSingleChain->setChecked(gameConf.draw_single_chain != 0);
posY += 30; posY += 30;
chkAskMSet = env->addCheckBox(false, rect<s32>(posX, posY, posX + 260, posY + 25), tabHelper, CHECKBOX_ASK_MSET, dataManager.GetSysString(1268));
chkAskMSet->setChecked(gameConf.ask_mset != 0);
posY += 30;
chkAutoSaveReplay = env->addCheckBox(false, rect<s32>(posX, posY, posX + 260, posY + 25), tabHelper, -1, dataManager.GetSysString(1366)); chkAutoSaveReplay = env->addCheckBox(false, rect<s32>(posX, posY, posX + 260, posY + 25), tabHelper, -1, dataManager.GetSysString(1366));
chkAutoSaveReplay->setChecked(gameConf.auto_save_replay != 0); chkAutoSaveReplay->setChecked(gameConf.auto_save_replay != 0);
elmTabHelperLast = chkAutoSaveReplay; elmTabHelperLast = chkAutoSaveReplay;
...@@ -1313,6 +1316,8 @@ bool Game::LoadConfigFromFile(const char* file) { ...@@ -1313,6 +1316,8 @@ bool Game::LoadConfigFromFile(const char* file) {
gameConf.draw_single_chain = atoi(valbuf); gameConf.draw_single_chain = atoi(valbuf);
} else if(!strcmp(strbuf, "prefer_expansion_script")) { } else if(!strcmp(strbuf, "prefer_expansion_script")) {
gameConf.prefer_expansion_script = atoi(valbuf); gameConf.prefer_expansion_script = atoi(valbuf);
} else if(!strcmp(strbuf, "ask_mset")) {
gameConf.ask_mset = atoi(valbuf);
} else if(!strcmp(strbuf, "window_maximized")) { } else if(!strcmp(strbuf, "window_maximized")) {
gameConf.window_maximized = atoi(valbuf) > 0; gameConf.window_maximized = atoi(valbuf) > 0;
} else if(!strcmp(strbuf, "window_width")) { } else if(!strcmp(strbuf, "window_width")) {
...@@ -1403,6 +1408,7 @@ void Game::LoadConfig() { ...@@ -1403,6 +1408,7 @@ void Game::LoadConfig() {
gameConf.auto_save_replay = 0; gameConf.auto_save_replay = 0;
gameConf.draw_single_chain = 0; gameConf.draw_single_chain = 0;
gameConf.prefer_expansion_script = 0; gameConf.prefer_expansion_script = 0;
gameConf.ask_mset = 0;
gameConf.enable_sound = true; gameConf.enable_sound = true;
gameConf.sound_volume = 0.5; gameConf.sound_volume = 0.5;
gameConf.enable_music = true; gameConf.enable_music = true;
...@@ -1539,6 +1545,7 @@ void Game::SaveConfig() { ...@@ -1539,6 +1545,7 @@ void Game::SaveConfig() {
fprintf(fp, "auto_save_replay = %d\n", (chkAutoSaveReplay->isChecked() ? 1 : 0)); fprintf(fp, "auto_save_replay = %d\n", (chkAutoSaveReplay->isChecked() ? 1 : 0));
fprintf(fp, "draw_single_chain = %d\n", gameConf.draw_single_chain); fprintf(fp, "draw_single_chain = %d\n", gameConf.draw_single_chain);
fprintf(fp, "prefer_expansion_script = %d\n", gameConf.prefer_expansion_script); fprintf(fp, "prefer_expansion_script = %d\n", gameConf.prefer_expansion_script);
fprintf(fp, "ask_mset = %d\n", gameConf.ask_mset);
fprintf(fp, "window_maximized = %d\n", (gameConf.window_maximized ? 1 : 0)); fprintf(fp, "window_maximized = %d\n", (gameConf.window_maximized ? 1 : 0));
fprintf(fp, "window_width = %d\n", gameConf.window_width); fprintf(fp, "window_width = %d\n", gameConf.window_width);
fprintf(fp, "window_height = %d\n", gameConf.window_height); fprintf(fp, "window_height = %d\n", gameConf.window_height);
......
...@@ -57,6 +57,7 @@ struct Config { ...@@ -57,6 +57,7 @@ struct Config {
int auto_save_replay; int auto_save_replay;
int draw_single_chain; int draw_single_chain;
int prefer_expansion_script; int prefer_expansion_script;
int ask_mset;
bool enable_sound; bool enable_sound;
bool enable_music; bool enable_music;
double sound_volume; double sound_volume;
...@@ -320,6 +321,7 @@ public: ...@@ -320,6 +321,7 @@ public:
irr::gui::IGUICheckBox* chkQuickAnimation; irr::gui::IGUICheckBox* chkQuickAnimation;
irr::gui::IGUICheckBox* chkAutoSaveReplay; irr::gui::IGUICheckBox* chkAutoSaveReplay;
irr::gui::IGUICheckBox* chkDrawSingleChain; irr::gui::IGUICheckBox* chkDrawSingleChain;
irr::gui::IGUICheckBox* chkAskMSet;
irr::gui::IGUIWindow* tabSystem; irr::gui::IGUIWindow* tabSystem;
irr::gui::IGUIElement* elmTabSystemLast; irr::gui::IGUIElement* elmTabSystemLast;
irr::gui::IGUIScrollBar* scrTabSystem; irr::gui::IGUIScrollBar* scrTabSystem;
...@@ -828,6 +830,7 @@ extern Game* mainGame; ...@@ -828,6 +830,7 @@ extern Game* mainGame;
#define CHECKBOX_DRAW_SINGLE_CHAIN 374 #define CHECKBOX_DRAW_SINGLE_CHAIN 374
#define CHECKBOX_REGEX 375 #define CHECKBOX_REGEX 375
#define COMBOBOX_LOCALE 376 #define COMBOBOX_LOCALE 376
#define CHECKBOX_ASK_MSET 377
#define BUTTON_BIG_CARD_CLOSE 380 #define BUTTON_BIG_CARD_CLOSE 380
#define BUTTON_BIG_CARD_ZOOM_IN 381 #define BUTTON_BIG_CARD_ZOOM_IN 381
......
...@@ -39,6 +39,8 @@ bot_deck_path = ./windbot/Decks ...@@ -39,6 +39,8 @@ bot_deck_path = ./windbot/Decks
quick_animation = 1 quick_animation = 1
auto_save_replay = 1 auto_save_replay = 1
draw_single_chain = 0 draw_single_chain = 0
prefer_expansion_script = 1
ask_mset = 0
window_maximized = 0 window_maximized = 0
window_width = 1024 window_width = 1024
window_height = 640 window_height = 640
......
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