Commit d3b6ad4c authored by nanahira's avatar nanahira

Merge branch 'master' of github.com:Fluorohydride/ygopro

parents 28e812ff e36d58d4
...@@ -279,7 +279,7 @@ const wchar_t* DataManager::FormatRace(int race) { ...@@ -279,7 +279,7 @@ const wchar_t* DataManager::FormatRace(int race) {
wchar_t* p = racBuffer; wchar_t* p = racBuffer;
unsigned filter = 1; unsigned filter = 1;
int i = 1020; int i = 1020;
for(; filter != 0x2000000; filter <<= 1, ++i) { for(; filter < (1 << RACES_COUNT); filter <<= 1, ++i) {
if(race & filter) { if(race & filter) {
BufferIO::CopyWStrRef(GetSysString(i), p, 16); BufferIO::CopyWStrRef(GetSysString(i), p, 16);
*p = L'|'; *p = L'|';
......
...@@ -637,20 +637,22 @@ void Game::DrawMisc() { ...@@ -637,20 +637,22 @@ void Game::DrawMisc() {
DrawShadowText(numFont, dInfo.strLP[0], Resize(330, 12, 631, 30), Resize(0, 1, 2, 0), 0xffffff00, 0xff000000, true, false, 0); DrawShadowText(numFont, dInfo.strLP[0], Resize(330, 12, 631, 30), Resize(0, 1, 2, 0), 0xffffff00, 0xff000000, true, false, 0);
DrawShadowText(numFont, dInfo.strLP[1], Resize(691, 12, 992, 30), Resize(0, 1, 2, 0), 0xffffff00, 0xff000000, true, false, 0); DrawShadowText(numFont, dInfo.strLP[1], Resize(691, 12, 992, 30), Resize(0, 1, 2, 0), 0xffffff00, 0xff000000, true, false, 0);
recti p1size = Resize(335, 31, 629, 50); if(!gameConf.hide_player_name) {
recti p2size = Resize(986, 31, 986, 50); recti p1size = Resize(335, 31, 629, 50);
if(!dInfo.isTag || !dInfo.tag_player[0]) recti p2size = Resize(986, 31, 986, 50);
textFont->draw(dInfo.hostname, p1size, 0xffffffff, false, false, 0); if(!dInfo.isTag || !dInfo.tag_player[0])
else textFont->draw(dInfo.hostname, p1size, 0xffffffff, false, false, 0);
textFont->draw(dInfo.hostname_tag, p1size, 0xffffffff, false, false, 0); else
if(!dInfo.isTag || !dInfo.tag_player[1]) { textFont->draw(dInfo.hostname_tag, p1size, 0xffffffff, false, false, 0);
auto cld = textFont->getDimension(dInfo.clientname); if(!dInfo.isTag || !dInfo.tag_player[1]) {
p2size.UpperLeftCorner.X -= cld.Width; auto cld = textFont->getDimension(dInfo.clientname);
textFont->draw(dInfo.clientname, p2size, 0xffffffff, false, false, 0); p2size.UpperLeftCorner.X -= cld.Width;
} else { textFont->draw(dInfo.clientname, p2size, 0xffffffff, false, false, 0);
auto cld = textFont->getDimension(dInfo.clientname_tag); } else {
p2size.UpperLeftCorner.X -= cld.Width; auto cld = textFont->getDimension(dInfo.clientname_tag);
textFont->draw(dInfo.clientname_tag, p2size, 0xffffffff, false, false, 0); p2size.UpperLeftCorner.X -= cld.Width;
textFont->draw(dInfo.clientname_tag, p2size, 0xffffffff, false, false, 0);
}
} }
driver->draw2DRectangle(Resize(632, 10, 688, 30), 0x00000000, 0x00000000, 0xffffffff, 0xffffffff); driver->draw2DRectangle(Resize(632, 10, 688, 30), 0x00000000, 0x00000000, 0xffffffff, 0xffffffff);
driver->draw2DRectangle(Resize(632, 30, 688, 50), 0xffffffff, 0xffffffff, 0x00000000, 0x00000000); driver->draw2DRectangle(Resize(632, 30, 688, 50), 0xffffffff, 0xffffffff, 0x00000000, 0x00000000);
......
...@@ -570,8 +570,11 @@ void DuelClient::HandleSTOCPacketLan(char* data, unsigned int len) { ...@@ -570,8 +570,11 @@ void DuelClient::HandleSTOCPacketLan(char* data, unsigned int len) {
mainGame->stHostPrepDuelist[2]->setVisible(false); mainGame->stHostPrepDuelist[2]->setVisible(false);
mainGame->stHostPrepDuelist[3]->setVisible(false); mainGame->stHostPrepDuelist[3]->setVisible(false);
} }
for(int i = 0; i < 4; ++i) for(int i = 0; i < 4; ++i) {
mainGame->chkHostPrepReady[i]->setChecked(false); mainGame->chkHostPrepReady[i]->setChecked(false);
mainGame->stHostPrepDuelist[i]->setText(L"");
mainGame->stHostPrepDuelist[i]->setToolTipText(L"");
}
mainGame->btnHostPrepReady->setVisible(true); mainGame->btnHostPrepReady->setVisible(true);
mainGame->btnHostPrepNotReady->setVisible(false); mainGame->btnHostPrepNotReady->setVisible(false);
mainGame->dInfo.time_limit = pkt->info.time_limit; mainGame->dInfo.time_limit = pkt->info.time_limit;
...@@ -581,10 +584,6 @@ void DuelClient::HandleSTOCPacketLan(char* data, unsigned int len) { ...@@ -581,10 +584,6 @@ void DuelClient::HandleSTOCPacketLan(char* data, unsigned int len) {
mainGame->deckBuilder.filterList = deckManager.GetLFListContent(pkt->info.lflist); mainGame->deckBuilder.filterList = deckManager.GetLFListContent(pkt->info.lflist);
if(mainGame->deckBuilder.filterList == nullptr) if(mainGame->deckBuilder.filterList == nullptr)
mainGame->deckBuilder.filterList = &deckManager._lfList[0].content; mainGame->deckBuilder.filterList = &deckManager._lfList[0].content;
mainGame->stHostPrepDuelist[0]->setText(L"");
mainGame->stHostPrepDuelist[1]->setText(L"");
mainGame->stHostPrepDuelist[2]->setText(L"");
mainGame->stHostPrepDuelist[3]->setText(L"");
mainGame->stHostPrepOB->setText(L""); mainGame->stHostPrepOB->setText(L"");
mainGame->SetStaticText(mainGame->stHostPrepRule, 180, mainGame->guiFont, str.c_str()); mainGame->SetStaticText(mainGame->stHostPrepRule, 180, mainGame->guiFont, str.c_str());
mainGame->RefreshCategoryDeck(mainGame->cbCategorySelect, mainGame->cbDeckSelect); mainGame->RefreshCategoryDeck(mainGame->cbCategorySelect, mainGame->cbDeckSelect);
...@@ -723,11 +722,11 @@ void DuelClient::HandleSTOCPacketLan(char* data, unsigned int len) { ...@@ -723,11 +722,11 @@ void DuelClient::HandleSTOCPacketLan(char* data, unsigned int len) {
mainGame->btnSpectatorSwap->setVisible(true); mainGame->btnSpectatorSwap->setVisible(true);
} }
if(selftype != 1) { if(selftype != 1) {
BufferIO::CopyWStr(mainGame->stHostPrepDuelist[0]->getText(), mainGame->dInfo.hostname, 20); BufferIO::CopyWStr(mainGame->stHostPrepDuelist[0]->getToolTipText().c_str(), mainGame->dInfo.hostname, 20);
BufferIO::CopyWStr(mainGame->stHostPrepDuelist[1]->getText(), mainGame->dInfo.clientname, 20); BufferIO::CopyWStr(mainGame->stHostPrepDuelist[1]->getToolTipText().c_str(), mainGame->dInfo.clientname, 20);
} else { } else {
BufferIO::CopyWStr(mainGame->stHostPrepDuelist[1]->getText(), mainGame->dInfo.hostname, 20); BufferIO::CopyWStr(mainGame->stHostPrepDuelist[1]->getToolTipText().c_str(), mainGame->dInfo.hostname, 20);
BufferIO::CopyWStr(mainGame->stHostPrepDuelist[0]->getText(), mainGame->dInfo.clientname, 20); BufferIO::CopyWStr(mainGame->stHostPrepDuelist[0]->getToolTipText().c_str(), mainGame->dInfo.clientname, 20);
} }
} else { } else {
if(selftype > 3) { if(selftype > 3) {
...@@ -737,15 +736,15 @@ void DuelClient::HandleSTOCPacketLan(char* data, unsigned int len) { ...@@ -737,15 +736,15 @@ void DuelClient::HandleSTOCPacketLan(char* data, unsigned int len) {
mainGame->btnSpectatorSwap->setVisible(true); mainGame->btnSpectatorSwap->setVisible(true);
} }
if(selftype > 1 && selftype < 4) { if(selftype > 1 && selftype < 4) {
BufferIO::CopyWStr(mainGame->stHostPrepDuelist[2]->getText(), mainGame->dInfo.hostname, 20); BufferIO::CopyWStr(mainGame->stHostPrepDuelist[2]->getToolTipText().c_str(), mainGame->dInfo.hostname, 20);
BufferIO::CopyWStr(mainGame->stHostPrepDuelist[3]->getText(), mainGame->dInfo.hostname_tag, 20); BufferIO::CopyWStr(mainGame->stHostPrepDuelist[3]->getToolTipText().c_str(), mainGame->dInfo.hostname_tag, 20);
BufferIO::CopyWStr(mainGame->stHostPrepDuelist[0]->getText(), mainGame->dInfo.clientname, 20); BufferIO::CopyWStr(mainGame->stHostPrepDuelist[0]->getToolTipText().c_str(), mainGame->dInfo.clientname, 20);
BufferIO::CopyWStr(mainGame->stHostPrepDuelist[1]->getText(), mainGame->dInfo.clientname_tag, 20); BufferIO::CopyWStr(mainGame->stHostPrepDuelist[1]->getToolTipText().c_str(), mainGame->dInfo.clientname_tag, 20);
} else { } else {
BufferIO::CopyWStr(mainGame->stHostPrepDuelist[0]->getText(), mainGame->dInfo.hostname, 20); BufferIO::CopyWStr(mainGame->stHostPrepDuelist[0]->getToolTipText().c_str(), mainGame->dInfo.hostname, 20);
BufferIO::CopyWStr(mainGame->stHostPrepDuelist[1]->getText(), mainGame->dInfo.hostname_tag, 20); BufferIO::CopyWStr(mainGame->stHostPrepDuelist[1]->getToolTipText().c_str(), mainGame->dInfo.hostname_tag, 20);
BufferIO::CopyWStr(mainGame->stHostPrepDuelist[2]->getText(), mainGame->dInfo.clientname, 20); BufferIO::CopyWStr(mainGame->stHostPrepDuelist[2]->getToolTipText().c_str(), mainGame->dInfo.clientname, 20);
BufferIO::CopyWStr(mainGame->stHostPrepDuelist[3]->getText(), mainGame->dInfo.clientname_tag, 20); BufferIO::CopyWStr(mainGame->stHostPrepDuelist[3]->getToolTipText().c_str(), mainGame->dInfo.clientname_tag, 20);
} }
mainGame->dInfo.tag_player[0] = false; mainGame->dInfo.tag_player[0] = false;
mainGame->dInfo.tag_player[1] = false; mainGame->dInfo.tag_player[1] = false;
...@@ -922,7 +921,11 @@ void DuelClient::HandleSTOCPacketLan(char* data, unsigned int len) { ...@@ -922,7 +921,11 @@ void DuelClient::HandleSTOCPacketLan(char* data, unsigned int len) {
BufferIO::CopyWStr(pkt->name, mainGame->dInfo.clientname, 20); BufferIO::CopyWStr(pkt->name, mainGame->dInfo.clientname, 20);
} }
mainGame->gMutex.lock(); mainGame->gMutex.lock();
mainGame->stHostPrepDuelist[pkt->pos]->setText(name); if(mainGame->gameConf.hide_player_name)
mainGame->stHostPrepDuelist[pkt->pos]->setText(L"[********]");
else
mainGame->stHostPrepDuelist[pkt->pos]->setText(name);
mainGame->stHostPrepDuelist[pkt->pos]->setToolTipText(name);
mainGame->gMutex.unlock(); mainGame->gMutex.unlock();
mainGame->FlashWindow(); mainGame->FlashWindow();
break; break;
...@@ -936,9 +939,14 @@ void DuelClient::HandleSTOCPacketLan(char* data, unsigned int len) { ...@@ -936,9 +939,14 @@ void DuelClient::HandleSTOCPacketLan(char* data, unsigned int len) {
mainGame->gMutex.lock(); mainGame->gMutex.lock();
if(state < 8) { if(state < 8) {
soundManager.PlaySoundEffect(SOUND_PLAYER_ENTER); soundManager.PlaySoundEffect(SOUND_PLAYER_ENTER);
wchar_t* prename = (wchar_t*)mainGame->stHostPrepDuelist[pos]->getText(); wchar_t* prename = (wchar_t*)mainGame->stHostPrepDuelist[pos]->getToolTipText().c_str();
mainGame->stHostPrepDuelist[state]->setText(prename); if(mainGame->gameConf.hide_player_name)
mainGame->stHostPrepDuelist[state]->setText(L"[********]");
else
mainGame->stHostPrepDuelist[state]->setText(prename);
mainGame->stHostPrepDuelist[state]->setToolTipText(prename);
mainGame->stHostPrepDuelist[pos]->setText(L""); mainGame->stHostPrepDuelist[pos]->setText(L"");
mainGame->stHostPrepDuelist[pos]->setToolTipText(L"");
mainGame->chkHostPrepReady[pos]->setChecked(false); mainGame->chkHostPrepReady[pos]->setChecked(false);
if(pos == 0) if(pos == 0)
BufferIO::CopyWStr(prename, mainGame->dInfo.hostname, 20); BufferIO::CopyWStr(prename, mainGame->dInfo.hostname, 20);
...@@ -962,12 +970,14 @@ void DuelClient::HandleSTOCPacketLan(char* data, unsigned int len) { ...@@ -962,12 +970,14 @@ void DuelClient::HandleSTOCPacketLan(char* data, unsigned int len) {
} }
} else if(state == PLAYERCHANGE_LEAVE) { } else if(state == PLAYERCHANGE_LEAVE) {
mainGame->stHostPrepDuelist[pos]->setText(L""); mainGame->stHostPrepDuelist[pos]->setText(L"");
mainGame->stHostPrepDuelist[pos]->setToolTipText(L"");
mainGame->chkHostPrepReady[pos]->setChecked(false); mainGame->chkHostPrepReady[pos]->setChecked(false);
} else if(state == PLAYERCHANGE_OBSERVE) { } else if(state == PLAYERCHANGE_OBSERVE) {
watching++; watching++;
wchar_t watchbuf[32]; wchar_t watchbuf[32];
myswprintf(watchbuf, L"%ls%d", dataManager.GetSysString(1253), watching); myswprintf(watchbuf, L"%ls%d", dataManager.GetSysString(1253), watching);
mainGame->stHostPrepDuelist[pos]->setText(L""); mainGame->stHostPrepDuelist[pos]->setText(L"");
mainGame->stHostPrepDuelist[pos]->setToolTipText(L"");
mainGame->chkHostPrepReady[pos]->setChecked(false); mainGame->chkHostPrepReady[pos]->setChecked(false);
mainGame->stHostPrepOB->setText(watchbuf); mainGame->stHostPrepOB->setText(watchbuf);
} }
...@@ -3788,7 +3798,7 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) { ...@@ -3788,7 +3798,7 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
/*int player = */mainGame->LocalPlayer(BufferIO::ReadInt8(pbuf)); /*int player = */mainGame->LocalPlayer(BufferIO::ReadInt8(pbuf));
mainGame->dField.announce_count = BufferIO::ReadInt8(pbuf); mainGame->dField.announce_count = BufferIO::ReadInt8(pbuf);
int available = BufferIO::ReadInt32(pbuf); int available = BufferIO::ReadInt32(pbuf);
for(int i = 0, filter = 0x1; i < 25; ++i, filter <<= 1) { for(int i = 0, filter = 0x1; i < RACES_COUNT; ++i, filter <<= 1) {
mainGame->chkRace[i]->setChecked(false); mainGame->chkRace[i]->setChecked(false);
if(filter & available) if(filter & available)
mainGame->chkRace[i]->setVisible(true); mainGame->chkRace[i]->setVisible(true);
......
...@@ -853,7 +853,7 @@ bool ClientField::OnEvent(const irr::SEvent& event) { ...@@ -853,7 +853,7 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
} }
case CHECK_RACE: { case CHECK_RACE: {
int rac = 0, filter = 0x1, count = 0; int rac = 0, filter = 0x1, count = 0;
for(int i = 0; i < 25; ++i, filter <<= 1) { for(int i = 0; i < RACES_COUNT; ++i, filter <<= 1) {
if(mainGame->chkRace[i]->isChecked()) { if(mainGame->chkRace[i]->isChecked()) {
rac |= filter; rac |= filter;
count++; count++;
...@@ -1966,6 +1966,13 @@ bool ClientField::OnCommonEvent(const irr::SEvent& event) { ...@@ -1966,6 +1966,13 @@ bool ClientField::OnCommonEvent(const irr::SEvent& event) {
return true; return true;
break; break;
} }
case CHECKBOX_HIDE_PLAYER_NAME: {
mainGame->gameConf.hide_player_name = mainGame->chkHidePlayerName->isChecked() ? 1 : 0;
if(mainGame->gameConf.hide_player_name)
mainGame->ClearChatMsg();
return true;
break;
}
case CHECKBOX_PREFER_EXPANSION: { case CHECKBOX_PREFER_EXPANSION: {
mainGame->gameConf.prefer_expansion_script = mainGame->chkPreferExpansionScript->isChecked() ? 1 : 0; mainGame->gameConf.prefer_expansion_script = mainGame->chkPreferExpansionScript->isChecked() ? 1 : 0;
return true; return true;
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
#include <sstream> #include <sstream>
#include <regex> #include <regex>
unsigned short PRO_VERSION = 0x1354; unsigned short PRO_VERSION = 0x1360;
namespace ygo { namespace ygo {
...@@ -431,6 +431,9 @@ bool Game::Initialize() { ...@@ -431,6 +431,9 @@ bool Game::Initialize() {
chkIgnore2 = env->addCheckBox(false, rect<s32>(posX, posY, posX + 260, posY + 25), tabSystem, -1, dataManager.GetSysString(1291)); chkIgnore2 = env->addCheckBox(false, rect<s32>(posX, posY, posX + 260, posY + 25), tabSystem, -1, dataManager.GetSysString(1291));
chkIgnore2->setChecked(gameConf.chkIgnore2 != 0); chkIgnore2->setChecked(gameConf.chkIgnore2 != 0);
posY += 30; posY += 30;
chkHidePlayerName = env->addCheckBox(false, rect<s32>(posX, posY, posX + 260, posY + 25), tabSystem, CHECKBOX_HIDE_PLAYER_NAME, dataManager.GetSysString(1289));
chkHidePlayerName->setChecked(gameConf.hide_player_name != 0);
posY += 30;
chkIgnoreDeckChanges = env->addCheckBox(false, rect<s32>(posX, posY, posX + 260, posY + 25), tabSystem, -1, dataManager.GetSysString(1357)); chkIgnoreDeckChanges = env->addCheckBox(false, rect<s32>(posX, posY, posX + 260, posY + 25), tabSystem, -1, dataManager.GetSysString(1357));
chkIgnoreDeckChanges->setChecked(gameConf.chkIgnoreDeckChanges != 0); chkIgnoreDeckChanges->setChecked(gameConf.chkIgnoreDeckChanges != 0);
posY += 30; posY += 30;
...@@ -485,7 +488,7 @@ bool Game::Initialize() { ...@@ -485,7 +488,7 @@ bool Game::Initialize() {
chkEnablePScale = env->addCheckBox(false, rect<s32>(posX, posY, posX + 260, posY + 25), tabSystem, -1, dataManager.GetSysString(1269)); chkEnablePScale = env->addCheckBox(false, rect<s32>(posX, posY, posX + 260, posY + 25), tabSystem, -1, dataManager.GetSysString(1269));
chkEnablePScale->setChecked(gameConf.chkEnablePScale != 0); chkEnablePScale->setChecked(gameConf.chkEnablePScale != 0);
posY += 30; posY += 30;
env->addStaticText(dataManager.GetSysString(1289), rect<s32>(posX + 23, posY + 3, posX + 160, posY + 28), false, false, tabSystem); env->addStaticText(dataManager.GetSysString(1267), rect<s32>(posX + 23, posY + 3, posX + 160, posY + 28), false, false, tabSystem);
cbLocale = env->addComboBox(rect<s32>(posX + 150, posY + 4, posX + 250, posY + 21), tabSystem, COMBOBOX_LOCALE); cbLocale = env->addComboBox(rect<s32>(posX + 150, posY + 4, posX + 250, posY + 21), tabSystem, COMBOBOX_LOCALE);
RefreshLocales(); RefreshLocales();
elmTabSystemLast = cbLocale; elmTabSystemLast = cbLocale;
...@@ -625,7 +628,7 @@ bool Game::Initialize() { ...@@ -625,7 +628,7 @@ bool Game::Initialize() {
wANRace = env->addWindow(rect<s32>(480, 200, 850, 410), false, dataManager.GetSysString(563)); wANRace = env->addWindow(rect<s32>(480, 200, 850, 410), false, dataManager.GetSysString(563));
wANRace->getCloseButton()->setVisible(false); wANRace->getCloseButton()->setVisible(false);
wANRace->setVisible(false); wANRace->setVisible(false);
for(int filter = 0x1, i = 0; i < 25; filter <<= 1, ++i) for(int filter = 0x1, i = 0; i < RACES_COUNT; filter <<= 1, ++i)
chkRace[i] = env->addCheckBox(false, rect<s32>(10 + (i % 4) * 90, 25 + (i / 4) * 25, 100 + (i % 4) * 90, 50 + (i / 4) * 25), chkRace[i] = env->addCheckBox(false, rect<s32>(10 + (i % 4) * 90, 25 + (i / 4) * 25, 100 + (i % 4) * 90, 50 + (i / 4) * 25),
wANRace, CHECK_RACE, dataManager.FormatRace(filter)); wANRace, CHECK_RACE, dataManager.FormatRace(filter));
//selection hint //selection hint
...@@ -772,7 +775,7 @@ bool Game::Initialize() { ...@@ -772,7 +775,7 @@ bool Game::Initialize() {
cbRace = env->addComboBox(rect<s32>(60, 40 + 75 / 6, 190, 60 + 75 / 6), wFilter, COMBOBOX_RACE); cbRace = env->addComboBox(rect<s32>(60, 40 + 75 / 6, 190, 60 + 75 / 6), wFilter, COMBOBOX_RACE);
cbRace->setMaxSelectionRows(10); cbRace->setMaxSelectionRows(10);
cbRace->addItem(dataManager.GetSysString(1310), 0); cbRace->addItem(dataManager.GetSysString(1310), 0);
for(int filter = 0x1; filter != 0x2000000; filter <<= 1) for(int filter = 0x1; filter < (1 << RACES_COUNT); filter <<= 1)
cbRace->addItem(dataManager.FormatRace(filter), filter); cbRace->addItem(dataManager.FormatRace(filter), filter);
stAttack = env->addStaticText(dataManager.GetSysString(1322), rect<s32>(205, 22 + 50 / 6, 280, 42 + 50 / 6), false, false, wFilter); stAttack = env->addStaticText(dataManager.GetSysString(1322), rect<s32>(205, 22 + 50 / 6, 280, 42 + 50 / 6), false, false, wFilter);
ebAttack = env->addEditBox(L"", rect<s32>(260, 20 + 50 / 6, 340, 40 + 50 / 6), true, wFilter, EDITBOX_INPUTS); ebAttack = env->addEditBox(L"", rect<s32>(260, 20 + 50 / 6, 340, 40 + 50 / 6), true, wFilter, EDITBOX_INPUTS);
...@@ -1463,6 +1466,8 @@ bool Game::LoadConfigFromFile(const char* file) { ...@@ -1463,6 +1466,8 @@ bool Game::LoadConfigFromFile(const char* file) {
gameConf.auto_save_replay = atoi(valbuf); gameConf.auto_save_replay = atoi(valbuf);
} else if(!strcmp(strbuf, "draw_single_chain")) { } else if(!strcmp(strbuf, "draw_single_chain")) {
gameConf.draw_single_chain = atoi(valbuf); gameConf.draw_single_chain = atoi(valbuf);
} else if(!strcmp(strbuf, "hide_player_name")) {
gameConf.hide_player_name = 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")) { } else if(!strcmp(strbuf, "ask_mset")) {
...@@ -1559,6 +1564,7 @@ void Game::LoadConfig() { ...@@ -1559,6 +1564,7 @@ void Game::LoadConfig() {
gameConf.quick_animation = 0; gameConf.quick_animation = 0;
gameConf.auto_save_replay = 0; gameConf.auto_save_replay = 0;
gameConf.draw_single_chain = 0; gameConf.draw_single_chain = 0;
gameConf.hide_player_name = 0;
gameConf.prefer_expansion_script = 0; gameConf.prefer_expansion_script = 0;
gameConf.ask_mset = 0; gameConf.ask_mset = 0;
gameConf.enable_sound = true; gameConf.enable_sound = true;
...@@ -1698,6 +1704,7 @@ void Game::SaveConfig() { ...@@ -1698,6 +1704,7 @@ void Game::SaveConfig() {
fprintf(fp, "quick_animation = %d\n", gameConf.quick_animation); fprintf(fp, "quick_animation = %d\n", gameConf.quick_animation);
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, "hide_player_name = %d\n", gameConf.hide_player_name);
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, "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));
...@@ -1836,6 +1843,8 @@ void Game::AddChatMsg(const wchar_t* msg, int player) { ...@@ -1836,6 +1843,8 @@ void Game::AddChatMsg(const wchar_t* msg, int player) {
chatMsg[0].clear(); chatMsg[0].clear();
chatTiming[0] = 1200; chatTiming[0] = 1200;
chatType[0] = player; chatType[0] = player;
if(gameConf.hide_player_name && player < 4)
player = 10;
switch(player) { switch(player) {
case 0: //from host case 0: //from host
chatMsg[0].append(dInfo.hostname); chatMsg[0].append(dInfo.hostname);
...@@ -1867,6 +1876,9 @@ void Game::AddChatMsg(const wchar_t* msg, int player) { ...@@ -1867,6 +1876,9 @@ void Game::AddChatMsg(const wchar_t* msg, int player) {
case 9: //error message case 9: //error message
chatMsg[0].append(L"[Script Error]: "); chatMsg[0].append(L"[Script Error]: ");
break; break;
case 10: //hidden name
chatMsg[0].append(L"[********]: ");
break;
default: //from watcher or unknown default: //from watcher or unknown
if(player < 11 || player > 19) if(player < 11 || player > 19)
chatMsg[0].append(L"[---]: "); chatMsg[0].append(L"[---]: ");
......
...@@ -59,6 +59,7 @@ struct Config { ...@@ -59,6 +59,7 @@ struct Config {
bool resize_popup_menu; bool resize_popup_menu;
int auto_save_replay; int auto_save_replay;
int draw_single_chain; int draw_single_chain;
int hide_player_name;
int prefer_expansion_script; int prefer_expansion_script;
int ask_mset; int ask_mset;
bool enable_sound; bool enable_sound;
...@@ -327,6 +328,7 @@ public: ...@@ -327,6 +328,7 @@ public:
irr::gui::IGUICheckBox* chkAutoSaveReplay; irr::gui::IGUICheckBox* chkAutoSaveReplay;
irr::gui::IGUICheckBox* chkDrawSingleChain; irr::gui::IGUICheckBox* chkDrawSingleChain;
irr::gui::IGUICheckBox* chkAskMSet; irr::gui::IGUICheckBox* chkAskMSet;
irr::gui::IGUICheckBox* chkHidePlayerName;
irr::gui::IGUIWindow* tabSystem; irr::gui::IGUIWindow* tabSystem;
irr::gui::IGUIElement* elmTabSystemLast; irr::gui::IGUIElement* elmTabSystemLast;
irr::gui::IGUIScrollBar* scrTabSystem; irr::gui::IGUIScrollBar* scrTabSystem;
...@@ -490,7 +492,7 @@ public: ...@@ -490,7 +492,7 @@ public:
irr::gui::IGUICheckBox* chkAttribute[7]; irr::gui::IGUICheckBox* chkAttribute[7];
//announce race //announce race
irr::gui::IGUIWindow* wANRace; irr::gui::IGUIWindow* wANRace;
irr::gui::IGUICheckBox* chkRace[25]; irr::gui::IGUICheckBox* chkRace[RACES_COUNT];
//cmd menu //cmd menu
irr::gui::IGUIWindow* wCmdMenu; irr::gui::IGUIWindow* wCmdMenu;
irr::gui::IGUIButton* btnActivate; irr::gui::IGUIButton* btnActivate;
...@@ -840,9 +842,10 @@ extern Game* mainGame; ...@@ -840,9 +842,10 @@ extern Game* mainGame;
#define CHECKBOX_PREFER_EXPANSION 373 #define CHECKBOX_PREFER_EXPANSION 373
#define CHECKBOX_DRAW_SINGLE_CHAIN 374 #define CHECKBOX_DRAW_SINGLE_CHAIN 374
#define CHECKBOX_LFLIST 375 #define CHECKBOX_LFLIST 375
#define CHECKBOX_REGEX 376 #define CHECKBOX_HIDE_PLAYER_NAME 376
#define COMBOBOX_LOCALE 377 #define CHECKBOX_REGEX 377
#define CHECKBOX_ASK_MSET 378 #define COMBOBOX_LOCALE 378
#define CHECKBOX_ASK_MSET 379
#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
......
This diff is collapsed.
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