Commit e48406eb authored by mercury233's avatar mercury233

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

parents b156ec3f 2f3ef6a0
...@@ -445,7 +445,8 @@ void ClientField::ShowSelectCard(bool buttonok, bool chain) { ...@@ -445,7 +445,8 @@ void ClientField::ShowSelectCard(bool buttonok, bool chain) {
mainGame->stCardPos[i]->setOverrideColor(0xff0000ff); mainGame->stCardPos[i]->setOverrideColor(0xff0000ff);
if(selectable_cards[i]->overlayTarget->controler) if(selectable_cards[i]->overlayTarget->controler)
mainGame->stCardPos[i]->setBackgroundColor(0xffd0d0d0); mainGame->stCardPos[i]->setBackgroundColor(0xffd0d0d0);
else mainGame->stCardPos[i]->setBackgroundColor(0xffffffff); else
mainGame->stCardPos[i]->setBackgroundColor(0xffffffff);
} else if(selectable_cards[i]->location == LOCATION_DECK || selectable_cards[i]->location == LOCATION_EXTRA || selectable_cards[i]->location == LOCATION_REMOVED) { } else if(selectable_cards[i]->location == LOCATION_DECK || selectable_cards[i]->location == LOCATION_EXTRA || selectable_cards[i]->location == LOCATION_REMOVED) {
if(selectable_cards[i]->position & POS_FACEDOWN) if(selectable_cards[i]->position & POS_FACEDOWN)
mainGame->stCardPos[i]->setOverrideColor(0xff0000ff); mainGame->stCardPos[i]->setOverrideColor(0xff0000ff);
...@@ -465,7 +466,8 @@ void ClientField::ShowSelectCard(bool buttonok, bool chain) { ...@@ -465,7 +466,8 @@ void ClientField::ShowSelectCard(bool buttonok, bool chain) {
wchar_t formatBuffer[2048]; wchar_t formatBuffer[2048];
myswprintf(formatBuffer, L"%d", sort_list[i]); myswprintf(formatBuffer, L"%d", sort_list[i]);
mainGame->stCardPos[i]->setText(formatBuffer); mainGame->stCardPos[i]->setText(formatBuffer);
} else mainGame->stCardPos[i]->setText(L""); } else
mainGame->stCardPos[i]->setText(L"");
mainGame->stCardPos[i]->setBackgroundColor(0xffffffff); mainGame->stCardPos[i]->setBackgroundColor(0xffffffff);
} }
mainGame->stCardPos[i]->setVisible(true); mainGame->stCardPos[i]->setVisible(true);
......
...@@ -881,8 +881,8 @@ bool ClientField::OnEvent(const irr::SEvent& event) { ...@@ -881,8 +881,8 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
mainGame->btnCardSelect[i]->setRelativePosition(rect<s32>(30 + i * 125, 55, 30 + 120 + i * 125, 225)); mainGame->btnCardSelect[i]->setRelativePosition(rect<s32>(30 + i * 125, 55, 30 + 120 + i * 125, 225));
// text // text
wchar_t formatBuffer[2048]; wchar_t formatBuffer[2048];
if(sort_list.size()) { if(mainGame->dInfo.curMsg == MSG_SORT_CARD) {
if(sort_list[pos + i] > 0) if(sort_list[pos + i])
myswprintf(formatBuffer, L"%d", sort_list[pos + i]); myswprintf(formatBuffer, L"%d", sort_list[pos + i]);
else else
myswprintf(formatBuffer, L""); myswprintf(formatBuffer, L"");
...@@ -2541,6 +2541,7 @@ void ClientField::CancelOrFinish() { ...@@ -2541,6 +2541,7 @@ void ClientField::CancelOrFinish() {
if(mainGame->wCardSelect->isVisible()) { if(mainGame->wCardSelect->isVisible()) {
DuelClient::SetResponseI(-1); DuelClient::SetResponseI(-1);
mainGame->HideElement(mainGame->wCardSelect, true); mainGame->HideElement(mainGame->wCardSelect, true);
sort_list.clear();
} }
break; break;
} }
......
...@@ -71,14 +71,70 @@ bool Game::Initialize() { ...@@ -71,14 +71,70 @@ bool Game::Initialize() {
dataManager.LoadStrings("./expansions/strings.conf"); dataManager.LoadStrings("./expansions/strings.conf");
env = device->getGUIEnvironment(); env = device->getGUIEnvironment();
numFont = irr::gui::CGUITTFont::createTTFont(env, gameConf.numfont, 16); numFont = irr::gui::CGUITTFont::createTTFont(env, gameConf.numfont, 16);
adFont = irr::gui::CGUITTFont::createTTFont(env, gameConf.numfont, 12); if(!numFont) {
lpcFont = irr::gui::CGUITTFont::createTTFont(env, gameConf.numfont, 48); const wchar_t* numFontPaths[] = {
guiFont = irr::gui::CGUITTFont::createTTFont(env, gameConf.textfont, gameConf.textfontsize); L"C:/Windows/Fonts/arialbd.ttf",
L"/usr/share/fonts/truetype/DroidSansFallbackFull.ttf",
L"/usr/share/fonts/opentype/noto/NotoSansCJK-Bold.ttc",
L"/usr/share/fonts/google-noto-cjk/NotoSansCJK-Bold.ttc",
L"/System/Library/Fonts/SFNSTextCondensed-Bold.otf",
L"/System/Library/Fonts/SFNS.ttf",
L"./fonts/numFont.ttf",
L"./fonts/numFont.ttc",
L"./fonts/numFont.otf"
};
for(const wchar_t* path : numFontPaths) {
myswprintf(gameConf.numfont, path);
numFont = irr::gui::CGUITTFont::createTTFont(env, gameConf.numfont, 16);
if(numFont)
break;
}
}
textFont = irr::gui::CGUITTFont::createTTFont(env, gameConf.textfont, gameConf.textfontsize); textFont = irr::gui::CGUITTFont::createTTFont(env, gameConf.textfont, gameConf.textfontsize);
if(!textFont) {
const wchar_t* textFontPaths[] = {
L"C:/Windows/Fonts/msyh.ttc",
L"C:/Windows/Fonts/msyh.ttf",
L"C:/Windows/Fonts/simsun.ttc",
L"/usr/share/fonts/truetype/DroidSansFallbackFull.ttf",
L"/usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc",
L"/usr/share/fonts/google-noto-cjk/NotoSansCJK-Regular.ttc",
L"/System/Library/Fonts/PingFang.ttc",
L"./fonts/textFont.ttf",
L"./fonts/textFont.ttc",
L"./fonts/textFont.otf"
};
for(const wchar_t* path : textFontPaths) {
myswprintf(gameConf.textfont, path);
textFont = irr::gui::CGUITTFont::createTTFont(env, gameConf.textfont, gameConf.textfontsize);
if(textFont)
break;
}
}
if(!numFont || !textFont) { if(!numFont || !textFont) {
ErrorLog("Failed to load font(s)!"); wchar_t fpath[1024];
return false; fpath[0] = 0;
FileSystem::TraversalDir(L"./fonts", [&fpath](const wchar_t* name, bool isdir) {
if(!isdir && wcsrchr(name, '.') && (!mywcsncasecmp(wcsrchr(name, '.'), L".ttf", 4) || !mywcsncasecmp(wcsrchr(name, '.'), L".ttc", 4) || !mywcsncasecmp(wcsrchr(name, '.'), L".otf", 4))) {
myswprintf(fpath, L"./fonts/%ls", name);
}
});
if(fpath[0] == 0) {
ErrorLog("Failed to load font(s)!");
return false;
}
if(!numFont) {
myswprintf(gameConf.numfont, fpath);
numFont = irr::gui::CGUITTFont::createTTFont(env, gameConf.numfont, 16);
}
if(!textFont) {
myswprintf(gameConf.textfont, fpath);
textFont = irr::gui::CGUITTFont::createTTFont(env, gameConf.textfont, gameConf.textfontsize);
}
} }
adFont = irr::gui::CGUITTFont::createTTFont(env, gameConf.numfont, 12);
lpcFont = irr::gui::CGUITTFont::createTTFont(env, gameConf.numfont, 48);
guiFont = irr::gui::CGUITTFont::createTTFont(env, gameConf.textfont, gameConf.textfontsize);
smgr = device->getSceneManager(); smgr = device->getSceneManager();
device->setWindowCaption(L"YGOPro"); device->setWindowCaption(L"YGOPro");
device->setResizable(true); device->setResizable(true);
...@@ -762,7 +818,6 @@ bool Game::Initialize() { ...@@ -762,7 +818,6 @@ bool Game::Initialize() {
stCardListTip->setTextAlignment(irr::gui::EGUIA_CENTER, irr::gui::EGUIA_CENTER); stCardListTip->setTextAlignment(irr::gui::EGUIA_CENTER, irr::gui::EGUIA_CENTER);
stCardListTip->setVisible(false); stCardListTip->setVisible(false);
device->setEventReceiver(&menuHandler); device->setEventReceiver(&menuHandler);
LoadConfig();
if(!soundManager.Init()) { if(!soundManager.Init()) {
chkEnableSound->setChecked(false); chkEnableSound->setChecked(false);
chkEnableSound->setEnabled(false); chkEnableSound->setEnabled(false);
...@@ -1080,7 +1135,7 @@ void Game::LoadConfig() { ...@@ -1080,7 +1135,7 @@ void Game::LoadConfig() {
gameConf.use_image_scale = 1; gameConf.use_image_scale = 1;
gameConf.antialias = 0; gameConf.antialias = 0;
gameConf.serverport = 7911; gameConf.serverport = 7911;
gameConf.textfontsize = 12; gameConf.textfontsize = 14;
gameConf.nickname[0] = 0; gameConf.nickname[0] = 0;
gameConf.gamename[0] = 0; gameConf.gamename[0] = 0;
gameConf.lastdeck[0] = 0; gameConf.lastdeck[0] = 0;
...@@ -1133,7 +1188,7 @@ void Game::LoadConfig() { ...@@ -1133,7 +1188,7 @@ void Game::LoadConfig() {
enable_log = atoi(valbuf); enable_log = atoi(valbuf);
} else if(!strcmp(strbuf, "textfont")) { } else if(!strcmp(strbuf, "textfont")) {
BufferIO::DecodeUTF8(valbuf, wstr); BufferIO::DecodeUTF8(valbuf, wstr);
int textfontsize; int textfontsize = gameConf.textfontsize;
sscanf(linebuf, "%s = %s %d", strbuf, valbuf, &textfontsize); sscanf(linebuf, "%s = %s %d", strbuf, valbuf, &textfontsize);
gameConf.textfontsize = textfontsize; gameConf.textfontsize = textfontsize;
BufferIO::CopyWStr(wstr, gameConf.textfont, 256); BufferIO::CopyWStr(wstr, gameConf.textfont, 256);
......
...@@ -601,6 +601,7 @@ ...@@ -601,6 +601,7 @@
!counter 0x56 炎星指示物 !counter 0x56 炎星指示物
!counter 0x57 幻魔指示物 !counter 0x57 幻魔指示物
!counter 0x58 指示物(祢须三破鸣比) !counter 0x58 指示物(祢须三破鸣比)
!counter 0x59 落魂指示物
#setnames, using tab for comment #setnames, using tab for comment
!setname 0x1 正义盟军 AOJ !setname 0x1 正义盟军 AOJ
!setname 0x2 次世代 ジェネクス !setname 0x2 次世代 ジェネクス
...@@ -776,7 +777,9 @@ ...@@ -776,7 +777,9 @@
!setname 0x7c 炎舞 !setname 0x7c 炎舞
!setname 0x7d 阳炎 ヘイズ !setname 0x7d 阳炎 ヘイズ
!setname 0x107d 阳炎兽 陽炎獣 !setname 0x107d 阳炎兽 陽炎獣
!setname 0x7e 异热同心武器 ZW(ゼアル・ウェポン) !setname 0x7e 异热同心 ゼアル
!setname 0x107e 异热同心武器 ZW(ゼアル・ウェポン)
!setname 0x207e 异热同心从者 ZS(ゼアル・サーバス)
!setname 0x7f 霍普 ホープ !setname 0x7f 霍普 ホープ
!setname 0x107f 希望皇 霍普 希望皇ホープ !setname 0x107f 希望皇 霍普 希望皇ホープ
!setname 0x207f 未来皇 霍普 未来皇ホープ !setname 0x207f 未来皇 霍普 未来皇ホープ
...@@ -1053,3 +1056,7 @@ ...@@ -1053,3 +1056,7 @@
!setname 0x2158 圣天树 サンアバロン !setname 0x2158 圣天树 サンアバロン
!setname 0x159 圣夜骑士 ホーリーナイツ !setname 0x159 圣夜骑士 ホーリーナイツ
!setname 0x15a 人偶怪兽 ドール・モンスター !setname 0x15a 人偶怪兽 ドール・モンスター
!setname 0x15b 惊乐 アメイズメント
!setname 0x15c 游乐设施 アトラクション
!setname 0x15d 烙印
!setname 0x15e 降阶魔法 RDM
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