Commit 4a861544 authored by salix5's avatar salix5

Merge branch 'patch-win' of https://github.com/Tianchenglipu/ygopro into Tianchenglipu-patch-win

parents e3283e01 7ca36267
...@@ -826,7 +826,7 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) { ...@@ -826,7 +826,7 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
else if(type < 0x10) else if(type < 0x10)
myswprintf(vic_buf, L"[%ls] %ls", mainGame->dInfo.clientname, dataManager.GetVictoryString(type)); myswprintf(vic_buf, L"[%ls] %ls", mainGame->dInfo.clientname, dataManager.GetVictoryString(type));
else else
myswprintf(vic_buf, L"%ls", dataManager.GetVictoryString(type)); myswprintf(vic_buf, dataManager.GetVictoryString(0x10), dataManager.GetName(BufferIO::ReadInt32(pbuf)));
mainGame->dInfo.vic_string = vic_buf; mainGame->dInfo.vic_string = vic_buf;
} else { } else {
mainGame->showcardcode = 2; mainGame->showcardcode = 2;
...@@ -835,7 +835,7 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) { ...@@ -835,7 +835,7 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
else if(type < 0x10) else if(type < 0x10)
myswprintf(vic_buf, L"[%ls] %ls", mainGame->dInfo.hostname, dataManager.GetVictoryString(type)); myswprintf(vic_buf, L"[%ls] %ls", mainGame->dInfo.hostname, dataManager.GetVictoryString(type));
else else
myswprintf(vic_buf, L"%ls", dataManager.GetVictoryString(type)); myswprintf(vic_buf, dataManager.GetVictoryString(0x10), dataManager.GetName(BufferIO::ReadInt32(pbuf)));
mainGame->dInfo.vic_string = vic_buf; mainGame->dInfo.vic_string = vic_buf;
} }
mainGame->showcard = 101; mainGame->showcard = 101;
......
...@@ -259,13 +259,19 @@ bool Game::Initialize() { ...@@ -259,13 +259,19 @@ bool Game::Initialize() {
//system //system
irr::gui::IGUITab* tabSystem = wInfos->addTab(dataManager.GetSysString(1273)); irr::gui::IGUITab* tabSystem = wInfos->addTab(dataManager.GetSysString(1273));
chkAutoPos = env->addCheckBox(false, rect<s32>(20, 20, 280, 45), tabSystem, -1, dataManager.GetSysString(1274)); chkAutoPos = env->addCheckBox(false, rect<s32>(20, 20, 280, 45), tabSystem, -1, dataManager.GetSysString(1274));
chkAutoPos->setChecked(true); chkAutoPos->setChecked(gameConf.chkAutoPos >= 1);
chkRandomPos = env->addCheckBox(false, rect<s32>(40, 50, 300, 75), tabSystem, -1, dataManager.GetSysString(1275)); chkRandomPos = env->addCheckBox(false, rect<s32>(40, 50, 300, 75), tabSystem, -1, dataManager.GetSysString(1275));
chkRandomPos->setChecked(gameConf.chkRandomPos >= 1);
chkAutoChain = env->addCheckBox(false, rect<s32>(20, 80, 280, 105), tabSystem, -1, dataManager.GetSysString(1276)); chkAutoChain = env->addCheckBox(false, rect<s32>(20, 80, 280, 105), tabSystem, -1, dataManager.GetSysString(1276));
chkAutoChain->setChecked(gameConf.chkAutoChain >= 1);
chkWaitChain = env->addCheckBox(false, rect<s32>(20, 110, 280, 135), tabSystem, -1, dataManager.GetSysString(1277)); chkWaitChain = env->addCheckBox(false, rect<s32>(20, 110, 280, 135), tabSystem, -1, dataManager.GetSysString(1277));
chkWaitChain->setChecked(gameConf.chkWaitChain >= 1);
chkIgnore1 = env->addCheckBox(false, rect<s32>(20, 170, 280, 195), tabSystem, -1, dataManager.GetSysString(1290)); chkIgnore1 = env->addCheckBox(false, rect<s32>(20, 170, 280, 195), tabSystem, -1, dataManager.GetSysString(1290));
chkIgnore1->setChecked(gameConf.chkIgnore1 >= 1);
chkIgnore2 = env->addCheckBox(false, rect<s32>(20, 200, 280, 225), tabSystem, -1, dataManager.GetSysString(1291)); chkIgnore2 = env->addCheckBox(false, rect<s32>(20, 200, 280, 225), tabSystem, -1, dataManager.GetSysString(1291));
chkIgnore2->setChecked(false); chkIgnore2->setChecked(gameConf.chkIgnore2 >= 1);
chkHideSetname = env->addCheckBox(false, rect<s32>(20, 200, 280, 285), tabSystem, -1, dataManager.GetSysString(1354));
chkHideSetname->setChecked(gameConf.chkHideSetname >= 1);
// //
wHand = env->addWindow(rect<s32>(500, 450, 825, 605), false, L""); wHand = env->addWindow(rect<s32>(500, 450, 825, 605), false, L"");
wHand->getCloseButton()->setVisible(false); wHand->getCloseButton()->setVisible(false);
...@@ -800,6 +806,14 @@ void Game::LoadConfig() { ...@@ -800,6 +806,14 @@ void Game::LoadConfig() {
gameConf.lastip[0] = 0; gameConf.lastip[0] = 0;
gameConf.lastport[0] = 0; gameConf.lastport[0] = 0;
gameConf.roompass[0] = 0; gameConf.roompass[0] = 0;
//settings
gameConf.chkAutoPos = 1;
gameConf.chkRandomPos = 0;
gameConf.chkAutoChain = 0;
gameConf.chkWaitChain = 0;
gameConf.chkIgnore1 = 0;
gameConf.chkIgnore2 = 0;
gameConf.chkHideSetname = 0;
fseek(fp, 0, SEEK_END); fseek(fp, 0, SEEK_END);
int fsize = ftell(fp); int fsize = ftell(fp);
fseek(fp, 0, SEEK_SET); fseek(fp, 0, SEEK_SET);
...@@ -832,6 +846,20 @@ void Game::LoadConfig() { ...@@ -832,6 +846,20 @@ void Game::LoadConfig() {
} else if(!strcmp(strbuf, "roompass")) { } else if(!strcmp(strbuf, "roompass")) {
BufferIO::DecodeUTF8(valbuf, wstr); BufferIO::DecodeUTF8(valbuf, wstr);
BufferIO::CopyWStr(wstr, gameConf.roompass, 20); BufferIO::CopyWStr(wstr, gameConf.roompass, 20);
} else if(!strcmp(strbuf, "chkAutoPos")) {
gameConf.chkAutoPos = atoi(valbuf);
} else if(!strcmp(strbuf, "chkRandomPos")) {
gameConf.chkRandomPos = atoi(valbuf);
} else if(!strcmp(strbuf, "chkAutoChain")) {
gameConf.chkAutoChain = atoi(valbuf);
} else if(!strcmp(strbuf, "chkWaitChain")) {
gameConf.chkWaitChain = atoi(valbuf);
} else if(!strcmp(strbuf, "chkIgnore1")) {
gameConf.chkIgnore1 = atoi(valbuf);
} else if(!strcmp(strbuf, "chkIgnore2")) {
gameConf.chkIgnore2 = atoi(valbuf);
} else if(!strcmp(strbuf, "chkHideSetname")) {
gameConf.chkHideSetname = atoi(valbuf);
} else { } else {
// options allowing multiple words // options allowing multiple words
sscanf(linebuf, "%s = %240[^\n]", strbuf, valbuf); sscanf(linebuf, "%s = %240[^\n]", strbuf, valbuf);
...@@ -874,6 +902,14 @@ void Game::SaveConfig() { ...@@ -874,6 +902,14 @@ void Game::SaveConfig() {
fprintf(fp, "lastip = %s\n", linebuf); fprintf(fp, "lastip = %s\n", linebuf);
BufferIO::EncodeUTF8(gameConf.lastport, linebuf); BufferIO::EncodeUTF8(gameConf.lastport, linebuf);
fprintf(fp, "lastport = %s\n", linebuf); fprintf(fp, "lastport = %s\n", linebuf);
//settings
fprintf(fp, "chkAutoPos = %d\n", ((mainGame->chkAutoPos->isChecked()) ? 1 : 0));
fprintf(fp, "chkRandomPos = %d\n", ((mainGame->chkRandomPos->isChecked()) ? 1 : 0));
fprintf(fp, "chkAutoChain = %d\n", ((mainGame->chkAutoChain->isChecked()) ? 1 : 0));
fprintf(fp, "chkWaitChain = %d\n", ((mainGame->chkWaitChain->isChecked()) ? 1 : 0));
fprintf(fp, "chkIgnore1 = %d\n", ((mainGame->chkIgnore1->isChecked()) ? 1 : 0));
fprintf(fp, "chkIgnore2 = %d\n", ((mainGame->chkIgnore2->isChecked()) ? 1 : 0));
fprintf(fp, "chkHideSetname = %d\n", ((mainGame->chkHideSetname->isChecked()) ? 1 : 0));
fclose(fp); fclose(fp);
} }
void Game::ShowCardInfo(int code) { void Game::ShowCardInfo(int code) {
...@@ -888,18 +924,22 @@ void Game::ShowCardInfo(int code) { ...@@ -888,18 +924,22 @@ 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;
unsigned long long sc = cd.setcode; if(!mainGame->chkHideSetname->isChecked()) {
if(cd.alias) { unsigned long long sc = cd.setcode;
auto aptr = dataManager._datas.find(cd.alias); if(cd.alias) {
if(aptr != dataManager._datas.end()) auto aptr = dataManager._datas.find(cd.alias);
sc = aptr->second.setcode; if(aptr != dataManager._datas.end())
} sc = aptr->second.setcode;
if(sc) { }
offset = 23; if(sc) {
myswprintf(formatBuffer, L"%ls%ls", dataManager.GetSysString(1329), dataManager.FormatSetName(sc)); offset = 23;
stSetName->setText(formatBuffer); myswprintf(formatBuffer, L"%ls%ls", dataManager.GetSysString(1329), dataManager.FormatSetName(sc));
} else stSetName->setText(formatBuffer);
} else
stSetName->setText(L"");
} else {
stSetName->setText(L""); stSetName->setText(L"");
}
if(cd.type & TYPE_MONSTER) { if(cd.type & TYPE_MONSTER) {
myswprintf(formatBuffer, L"[%ls] %ls/%ls", dataManager.FormatType(cd.type), dataManager.FormatRace(cd.race), dataManager.FormatAttribute(cd.attribute)); myswprintf(formatBuffer, L"[%ls] %ls/%ls", dataManager.FormatType(cd.type), dataManager.FormatRace(cd.race), dataManager.FormatAttribute(cd.attribute));
stInfo->setText(formatBuffer); stInfo->setText(formatBuffer);
......
...@@ -24,6 +24,14 @@ struct Config { ...@@ -24,6 +24,14 @@ struct Config {
wchar_t textfont[256]; wchar_t textfont[256];
wchar_t numfont[256]; wchar_t numfont[256];
wchar_t roompass[20]; wchar_t roompass[20];
//settings
int chkAutoPos;
int chkRandomPos;
int chkAutoChain;
int chkWaitChain;
int chkIgnore1;
int chkIgnore2;
int chkHideSetname;
}; };
struct DuelInfo { struct DuelInfo {
...@@ -179,6 +187,7 @@ public: ...@@ -179,6 +187,7 @@ public:
irr::gui::IGUICheckBox* chkRandomPos; irr::gui::IGUICheckBox* chkRandomPos;
irr::gui::IGUICheckBox* chkAutoChain; irr::gui::IGUICheckBox* chkAutoChain;
irr::gui::IGUICheckBox* chkWaitChain; irr::gui::IGUICheckBox* chkWaitChain;
irr::gui::IGUICheckBox* chkHideSetname;
irr::gui::IGUIListBox* lstLog; irr::gui::IGUIListBox* lstLog;
irr::gui::IGUIButton* btnClearLog; irr::gui::IGUIButton* btnClearLog;
irr::gui::IGUIButton* btnSaveLog; irr::gui::IGUIButton* btnSaveLog;
......
#The first line is used for comment #The first line is used for comment
#line doesn't start with '!' is also neglected #line doesn't start with '!' is also neglected
#called by DataManager::GetSysString(), DataManager::GetDesc() #called by DataManager::GetSysString(), DataManager::GetDesc()
#system #system
...@@ -325,6 +325,7 @@ ...@@ -325,6 +325,7 @@
!system 1351 投降 !system 1351 投降
!system 1352 主要信息: !system 1352 主要信息:
!system 1353 播放起始于回合: !system 1353 播放起始于回合:
!system 1354 不显示卡片系列
!system 1390 等待行动中... !system 1390 等待行动中...
!system 1391 等待行动中.... !system 1391 等待行动中....
!system 1392 等待行动中..... !system 1392 等待行动中.....
...@@ -377,18 +378,7 @@ ...@@ -377,18 +378,7 @@
!victory 0x2 没有卡可抽 !victory 0x2 没有卡可抽
!victory 0x3 超时 !victory 0x3 超时
!victory 0x4 失去连接 !victory 0x4 失去连接
!victory 0x10 「被封印的艾克佐迪亚」效果胜利 !victory 0x10 「%ls」效果胜利
!victory 0x11 「终焉的倒计时」效果胜利
!victory 0x12 「毒蛇神 维诺米纳迦」效果胜利
!victory 0x13 「光之创造神 哈拉克提」效果胜利
!victory 0x14 「究极封印神 艾克佐迪奥斯」效果胜利
!victory 0x15 「通灵盘」效果胜利
!victory 0x16 「最终一战!」效果胜利
!victory 0x17No.88 机关傀儡-命运狮子」效果胜利
!victory 0x18 「混沌No.88 机关傀儡-灾厄狮子」效果胜利
!victory 0x19 「头奖壶7」效果胜利
!victory 0x1a 「魂之接力」效果胜利
!victory 0x1b 「鬼计惰天使」效果胜利
!victory 0x20 由于「%ls」的效果获得比赛胜利 !victory 0x20 由于「%ls」的效果获得比赛胜利
#counters #counters
!counter 0x3001 魔力指示物 !counter 0x3001 魔力指示物
......
...@@ -11,3 +11,10 @@ numfont = c:/windows/fonts/arialbd.ttf ...@@ -11,3 +11,10 @@ numfont = c:/windows/fonts/arialbd.ttf
serverport = 7911 serverport = 7911
lastip = 127.0.0.1 lastip = 127.0.0.1
lastport = 7911 lastport = 7911
chkAutoPos = 1
chkRandomPos = 0
chkAutoChain = 0
chkWaitChain = 0
chkIgnore1 = 0
chkIgnore2 = 0
chkHideSetname = 0
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