Commit 56e0f1b6 authored by nanahira's avatar nanahira

Merge branch 'ask-set' into another

parents e3695c30 16c7cff5
......@@ -63,7 +63,8 @@ public:
int announce_count;
int select_counter_count;
int select_counter_type;
std::vector<ClientCard*> selectable_cards;
int current_mset_param;
std::vector<ClientCard *> selectable_cards;
std::vector<ClientCard*> selected_cards;
std::set<ClientCard*> selectsum_cards;
std::vector<ClientCard*> selectsum_all;
......
......@@ -219,6 +219,13 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
}
break;
}
case MSG_SELECT_IDLECMD: {
mainGame->HideElement(mainGame->wQuery);
if(current_mset_param) {
DuelClient::SetResponseI(current_mset_param);
DuelClient::SendResponse();
}
}
default: {
mainGame->HideElement(mainGame->wQuery);
break;
......@@ -505,8 +512,16 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
break;
for(size_t i = 0; i < msetable_cards.size(); ++i) {
if(msetable_cards[i] == clicked_card) {
DuelClient::SetResponseI((i << 16) + 3);
DuelClient::SendResponse();
current_mset_param = (i << 16) + 3;
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;
}
}
......@@ -1915,6 +1930,11 @@ bool ClientField::OnCommonEvent(const irr::SEvent& event) {
return true;
break;
}
case CHECKBOX_ASK_MSET: {
mainGame->gameConf.ask_mset = mainGame->chkAskMSet->isChecked() ? 1 : 0;
return true;
break;
}
}
break;
}
......
......@@ -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->setChecked(gameConf.draw_single_chain != 0);
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->setChecked(gameConf.auto_save_replay != 0);
elmTabHelperLast = chkAutoSaveReplay;
......@@ -1313,6 +1316,8 @@ bool Game::LoadConfigFromFile(const char* file) {
gameConf.draw_single_chain = atoi(valbuf);
} else if(!strcmp(strbuf, "prefer_expansion_script")) {
gameConf.prefer_expansion_script = atoi(valbuf);
} else if(!strcmp(strbuf, "ask_mset")) {
gameConf.ask_mset = atoi(valbuf);
} else if(!strcmp(strbuf, "window_maximized")) {
gameConf.window_maximized = atoi(valbuf) > 0;
} else if(!strcmp(strbuf, "window_width")) {
......@@ -1403,6 +1408,7 @@ void Game::LoadConfig() {
gameConf.auto_save_replay = 0;
gameConf.draw_single_chain = 0;
gameConf.prefer_expansion_script = 0;
gameConf.ask_mset = 0;
gameConf.enable_sound = true;
gameConf.sound_volume = 0.5;
gameConf.enable_music = true;
......@@ -1539,6 +1545,7 @@ void Game::SaveConfig() {
fprintf(fp, "auto_save_replay = %d\n", (chkAutoSaveReplay->isChecked() ? 1 : 0));
fprintf(fp, "draw_single_chain = %d\n", gameConf.draw_single_chain);
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_width = %d\n", gameConf.window_width);
fprintf(fp, "window_height = %d\n", gameConf.window_height);
......
......@@ -57,6 +57,7 @@ struct Config {
int auto_save_replay;
int draw_single_chain;
int prefer_expansion_script;
int ask_mset;
bool enable_sound;
bool enable_music;
double sound_volume;
......@@ -326,6 +327,7 @@ public:
irr::gui::IGUICheckBox* chkQuickAnimation;
irr::gui::IGUICheckBox* chkAutoSaveReplay;
irr::gui::IGUICheckBox* chkDrawSingleChain;
irr::gui::IGUICheckBox* chkAskMSet;
irr::gui::IGUIWindow* tabSystem;
irr::gui::IGUIElement* elmTabSystemLast;
irr::gui::IGUIScrollBar* scrTabSystem;
......@@ -834,6 +836,7 @@ extern Game* mainGame;
#define CHECKBOX_DRAW_SINGLE_CHAIN 374
#define CHECKBOX_REGEX 375
#define COMBOBOX_LOCALE 376
#define CHECKBOX_ASK_MSET 377
#define BUTTON_BIG_CARD_CLOSE 380
#define BUTTON_BIG_CARD_ZOOM_IN 381
......
......@@ -16,8 +16,8 @@ VALUE "InternalName", "KoishiPro"
VALUE "LegalCopyright", "Copyright (C) 2019 Nanahira"
VALUE "OriginalFilename", "ygopro_another.exe"
VALUE "ProductName", "KoishiPro"
VALUE "FileVersion", "Moonlight"
VALUE "ProductVersion", "Moonlight"
VALUE "FileVersion", "Kitasaitama"
VALUE "ProductVersion", "Kitasaitama"
END
END
BLOCK "VarFileInfo"
......
......@@ -317,6 +317,7 @@
!system 1262 大师规则3
!system 1263 新大师规则
!system 1264 大师规则2020
!system 1268 盖放怪兽前询问
!system 1269 数字灵摆图片
!system 1270 卡片信息
!system 1271 消息记录
......@@ -401,6 +402,7 @@
!system 1351 投降
!system 1352 主要信息:
!system 1353 播放起始于回合:
!system 1355 是否确定盖放[%ls]?
!system 1356 是否要放弃对卡组的修改?
!system 1357 不提示保留对卡组的修改
!system 1358 键入关键字后自动进行搜索
......
......@@ -39,6 +39,8 @@ bot_deck_path = ./windbot/Decks
quick_animation = 1
auto_save_replay = 1
draw_single_chain = 0
prefer_expansion_script = 1
ask_mset = 0
window_maximized = 0
window_width = 1024
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