Commit d51e1ba4 authored by mercury233's avatar mercury233
parents 6f0c03da 72451201
...@@ -51,9 +51,11 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) { ...@@ -51,9 +51,11 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
case irr::gui::EGET_BUTTON_CLICKED: { case irr::gui::EGET_BUTTON_CLICKED: {
switch(id) { switch(id) {
case BUTTON_CLEAR_DECK: { case BUTTON_CLEAR_DECK: {
deckManager.current_deck.main.clear(); mainGame->gMutex.Lock();
deckManager.current_deck.extra.clear(); mainGame->SetStaticText(mainGame->stQMessage, 310, mainGame->textFont, (wchar_t*)dataManager.GetSysString(1339));
deckManager.current_deck.side.clear(); mainGame->PopupElement(mainGame->wQuery);
mainGame->gMutex.Unlock();
is_clearing = true;
break; break;
} }
case BUTTON_SORT_DECK: { case BUTTON_SORT_DECK: {
...@@ -97,12 +99,16 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) { ...@@ -97,12 +99,16 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
break; break;
} }
case BUTTON_DELETE_DECK: { case BUTTON_DELETE_DECK: {
if(mainGame->cbDBDecks->getSelected() == -1) int sel = mainGame->cbDBDecks->getSelected();
if(sel == -1)
break; break;
mainGame->gMutex.Lock(); mainGame->gMutex.Lock();
mainGame->SetStaticText(mainGame->stQMessage, 310, mainGame->textFont, (wchar_t*)dataManager.GetSysString(1337)); wchar_t textBuffer[256];
myswprintf(textBuffer, L"%ls\n%ls", mainGame->cbDBDecks->getItem(sel), dataManager.GetSysString(1337));
mainGame->SetStaticText(mainGame->stQMessage, 310, mainGame->textFont, (wchar_t*)textBuffer);
mainGame->PopupElement(mainGame->wQuery); mainGame->PopupElement(mainGame->wQuery);
mainGame->gMutex.Unlock(); mainGame->gMutex.Unlock();
is_deleting = true;
break; break;
} }
case BUTTON_LEAVE_GAME: { case BUTTON_LEAVE_GAME: {
...@@ -181,22 +187,35 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) { ...@@ -181,22 +187,35 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
} }
case BUTTON_YES: { case BUTTON_YES: {
mainGame->HideElement(mainGame->wQuery); mainGame->HideElement(mainGame->wQuery);
int sel = mainGame->cbDBDecks->getSelected(); if(!mainGame->is_building || mainGame->is_siding)
if(deckManager.DeleteDeck(deckManager.current_deck, mainGame->cbDBDecks->getItem(sel))) { break;
mainGame->cbDBDecks->removeItem(sel); if(is_deleting) {
int count = mainGame->cbDBDecks->getItemCount(); int sel = mainGame->cbDBDecks->getSelected();
if(sel >= count) if (deckManager.DeleteDeck(deckManager.current_deck, mainGame->cbDBDecks->getItem(sel))) {
sel = count - 1; mainGame->cbDBDecks->removeItem(sel);
mainGame->cbDBDecks->setSelected(sel); int count = mainGame->cbDBDecks->getItemCount();
if(sel != -1) if (sel >= count)
deckManager.LoadDeck(mainGame->cbDBDecks->getItem(sel)); sel = count - 1;
mainGame->stACMessage->setText(dataManager.GetSysString(1338)); mainGame->cbDBDecks->setSelected(sel);
mainGame->PopupElement(mainGame->wACMessage, 20); if (sel != -1)
deckManager.LoadDeck(mainGame->cbDBDecks->getItem(sel));
mainGame->stACMessage->setText(dataManager.GetSysString(1338));
mainGame->PopupElement(mainGame->wACMessage, 20);
}
is_deleting = false;
}
if(is_clearing) {
deckManager.current_deck.main.clear();
deckManager.current_deck.extra.clear();
deckManager.current_deck.side.clear();
is_clearing = false;
} }
break; break;
} }
case BUTTON_NO: { case BUTTON_NO: {
mainGame->HideElement(mainGame->wQuery); mainGame->HideElement(mainGame->wQuery);
is_deleting = false;
is_clearing = false;
break; break;
} }
} }
...@@ -883,6 +902,15 @@ void DeckBuilder::SortList() { ...@@ -883,6 +902,15 @@ void DeckBuilder::SortList() {
std::sort(results.begin(), results.end(), ClientCard::deck_sort_name); std::sort(results.begin(), results.end(), ClientCard::deck_sort_name);
break; break;
} }
const wchar_t* pstr = mainGame->ebCardName->getText();
for (size_t i = 0, pos = 0; i < results.size(); ++i){
code_pointer ptr = results[i];
if (wcscmp(pstr, dataManager.GetName(ptr->first))==0) {
results.insert(results.begin() + pos, ptr);
results.erase(results.begin() + i + 1);
pos++;
}
}
} }
} }
...@@ -41,6 +41,8 @@ public: ...@@ -41,6 +41,8 @@ public:
size_t pre_extrac; size_t pre_extrac;
size_t pre_sidec; size_t pre_sidec;
code_pointer draging_pointer; code_pointer draging_pointer;
bool is_deleting;
bool is_clearing;
std::unordered_map<int, int>* filterList; std::unordered_map<int, int>* filterList;
std::vector<code_pointer> results; std::vector<code_pointer> results;
......
...@@ -59,8 +59,12 @@ irr::video::ITexture* ImageManager::GetTexture(int code) { ...@@ -59,8 +59,12 @@ irr::video::ITexture* ImageManager::GetTexture(int code) {
auto tit = tMap.find(code); auto tit = tMap.find(code);
if(tit == tMap.end()) { if(tit == tMap.end()) {
char file[256]; char file[256];
sprintf(file, "pics/%d.jpg", code); sprintf(file, "expansions/pics/%d.jpg", code);
irr::video::ITexture* img = driver->getTexture(file); irr::video::ITexture* img = driver->getTexture(file);
if(img == NULL) {
sprintf(file, "pics/%d.jpg", code);
img = driver->getTexture(file);
}
if(img == NULL) { if(img == NULL) {
tMap[code] = NULL; tMap[code] = NULL;
return GetTextureThumb(code); return GetTextureThumb(code);
...@@ -80,8 +84,12 @@ irr::video::ITexture* ImageManager::GetTextureThumb(int code) { ...@@ -80,8 +84,12 @@ irr::video::ITexture* ImageManager::GetTextureThumb(int code) {
auto tit = tThumb.find(code); auto tit = tThumb.find(code);
if(tit == tThumb.end()) { if(tit == tThumb.end()) {
char file[256]; char file[256];
sprintf(file, "pics/thumbnail/%d.jpg", code); sprintf(file, "expansions/pics/thumbnail/%d.jpg", code);
irr::video::ITexture* img = driver->getTexture(file); irr::video::ITexture* img = driver->getTexture(file);
if(img == NULL) {
sprintf(file, "pics/thumbnail/%d.jpg", code);
img = driver->getTexture(file);
}
if(img == NULL) { if(img == NULL) {
tThumb[code] = NULL; tThumb[code] = NULL;
return tUnknown; return tUnknown;
...@@ -101,8 +109,16 @@ irr::video::ITexture* ImageManager::GetTextureField(int code) { ...@@ -101,8 +109,16 @@ irr::video::ITexture* ImageManager::GetTextureField(int code) {
auto tit = tFields.find(code); auto tit = tFields.find(code);
if(tit == tFields.end()) { if(tit == tFields.end()) {
char file[256]; char file[256];
sprintf(file, "pics/field/%d.png", code); sprintf(file, "expansions/pics/field/%d.png", code);
irr::video::ITexture* img = driver->getTexture(file); irr::video::ITexture* img = driver->getTexture(file);
if(img == NULL) {
sprintf(file, "expansions/pics/field/%d.jpg", code);
img = driver->getTexture(file);
}
if(img == NULL) {
sprintf(file, "pics/field/%d.png", code);
img = driver->getTexture(file);
}
if(img == NULL) { if(img == NULL) {
sprintf(file, "pics/field/%d.jpg", code); sprintf(file, "pics/field/%d.jpg", code);
img = driver->getTexture(file); img = driver->getTexture(file);
......
#[2016.4][2016.1][2015.10][2015.4][2015.1][2014.10][2014.7][2014.4][2014.2][2013.9][2016.4 TCG][2015.11 TCG][2015.7 TCG][2015.4 TCG][2015.1 TCG][2014.10 TCG][2014.7 TCG][2014.4 TCG][2014.1.1 TCG][2013.10.11 TCG][2013.3.1][2012.9.1][2012.3.1][2011.9.1] #[2016.7][2016.4][2016.1][2015.10][2015.4][2015.1][2014.10][2014.7][2014.4][2014.2][2013.9][2016.4 TCG][2015.11 TCG][2015.7 TCG][2015.4 TCG][2015.1 TCG][2014.10 TCG][2014.7 TCG][2014.4 TCG][2014.1.1 TCG][2013.10.11 TCG][2013.3.1][2012.9.1][2012.3.1][2011.9.1]
!2016.7
#forbidden
20663556 0 --イレカエル
44910027 0 --ヴィクトリー・ドラゴン
20366274 0 --エルシャドール・ネフィリム
53804307 0 --焔征竜-ブラスター
68819554 0 --Emダメージ・ジャグラー
07563579 0 --Emヒグルミ
17330916 0 --EMモンキーボード
90411554 0 --巌征竜-レドックス
78010363 0 --黒き森のウィッチ
07391448 0 --ゴヨウ·ガーディアン
34124316 0 --サイバーポッド
21593977 0 --処刑人-マキュラ
31560081 0 --聖なる魔術師
16923472 0 --ゼンマイハンター
56570271 0 --DHERO ディスクガイ
33184167 0 --同族感染ウィルス
54719828 0 --No.16 色の支配者ショック・ルーラー
26400609 0 --瀑征竜-タイダル
50321796 0 --氷結界の龍 ブリューナク
78706415 0 --ファイバーポッド
93369354 0 --フィッシュボーグ-ガンナー
34206604 0 --魔導サイエンティスト
96782886 0 --メンタルマスター
03078576 0 --八汰烏
34086406 0 --ラヴァルバル・チェイン
89399912 0 --嵐征竜-テンペスト
14878871 0 --レスキューキャット
41482598 0 --悪夢の蜃気楼
44763025 0 --いたずら好きな双子悪魔
19613556 0 --大嵐
17375316 0 --押収
74191942 0 --苦渋の選択
42829885 0 --強引な番兵
45986603 0 --強奪
55144522 0 --強欲な壺
04031928 0 --心変わり
12580477 0 --サンダー·ボルト
23557835 0 --次元融合
57953380 0 --生還の宝札
87910978 0 --洗脳-ブレインコントロール
60682203 0 --大寒波
69243953 0 --蝶の短剣-エルマ
79571449 0 --天使の施し
70828912 0 --早すぎた埋葬
42703248 0 --ハリケーン
34906152 0 --マスドライバー
46448938 0 --魔導書の神判
77565204 0 --未来融合-フューチャー·フュージョン
46411259 0 --突然変異
85602018 0 --遺言状
27174286 0 --異次元からの帰還
93016201 0 --王宮の弾圧
61740673 0 --王宮の勅命
03280747 0 --第六感
64697231 0 --ダスト·シュート
80604091 0 --血の代償
35316708 0 --刻の封印
17178486 0 --ライフチェンジャー
28566710 0 --ラストバトル!
17412721 0 --旧神ノーデン
18326736 0 --星守の騎士 プトレマイオス
#limit
85103922 1 --アーティファクト-モラルタ
64034255 1 --A·ジェネクス·バードマン
68184115 1 --甲虫装機 ダンセル
40044918 1 --E·HERO エアーマン
40318957 1 --EMドクロバット・ジョーカー
47075569 1 --EMペンデュラム・マジシャン
72989439 1 --カオス·ソルジャー -開闢の使者-
06602300 1 --重爆撃禽 ボム・フェネクス
28985331 1 --終末の騎士
00423585 1 --召喚僧サモンプリースト
65192027 1 --ダーク·アームド·ドラゴン
15341821 1 --ダンディライオン
90953320 1 --TG ハイパー·ライブラリアン
16226786 1 --深淵の暗殺者
28297833 1 --ネクロフェイス
18239909 1 --爆竜剣士イグニスターP
84764038 1 --彼岸の悪鬼 スカラマリオン
83531441 1 --彼岸の旅人 ダンテ
52687916 1 --氷結界の龍 トリシューラ
33396948 1 --封印されしエクゾディア
07902349 1 --封印されし者の左腕
70903634 1 --封印されし者の右腕
44519536 1 --封印されし者の左足
08124921 1 --封印されし者の右足
26674724 1 --ブリューナクの影霊衣
91110378 1 --光天使スローネ
10802915 1 --魔界発現世行きデスガイド
41386308 1 --マスマティシャン
33508719 1 --メタモルポット
89463537 1 --ユニコールの影霊衣
92746535 1 --竜剣士ラスターP
88264978 1 --レッドアイズ·ダークネスメタルドラゴン
48976825 1 --異次元からの埋葬
33782437 1 --一時休戦
66957584 1 --インフェルニティガン
06417578 1 --神の写し身との接触
81439173 1 --おろかな埋葬
23701465 1 --原初の種
96729612 1 --儀式の準備
67723438 1 --緊急テレポート
45305419 1 --継承の印
17639150 1 --機殻の生贄
83764718 1 --死者蘇生
84171830 1 --真帝王領域
32807846 1 --増援
54447022 1 --ソウル・チャージ
48130397 1 --超融合
72892473 1 --手札抹殺
67169062 1 --貪欲な壺
97211663 1 --影霊衣の反魂術
18144506 1 --ハーピィの羽根帚
22842126 1 --汎神の帝王
53129443 1 --ブラック·ホール
53208660 1 --ペンデュラム・コール
93600443 1 --マスク・チェンジ・セカンド
15854426 1 --霞の谷の神風
58577036 1 --名推理
43040603 1 --モンスターゲート
31222701 1 --揺れる眼差し
23171610 1 --リミッター解除
14733538 1 --竜呼相打つ
62265044 1 --竜の渓谷
02295440 1 --ワン·フォー·ワン
05851097 1 --虚無空間
84749824 1 --神の警告
41420027 1 --神の宣告
36468556 1 --停戦協定
83555666 1 --破壊輪
32723153 1 --マジカル·エクスプロージョン
78868119 1 --深海のディーヴァ
50720316 1 --E·HERO シャドー·ミスト
72714461 1 --慧眼の魔術師
90307777 1 --影霊衣の術士 シュリット
#semi limit
26202165 2 --クリッター
63519819 2 --サウザンド·アイズ·サクリファイス
17078030 2 --光の護封壁
74311226 2 --海皇の竜騎隊
65518099 2 --クリフォート・ツール
70583986 2 --氷結界の虎王ドゥローレン
92826944 2 --馬頭鬼
10028593 2 --輪廻天狗
91623717 2 --連鎖爆撃
94886282 2 --光の援軍
77505534 2 --堕ち影の蠢き
45222299 2 --イビリチュア·ガストクラーケ
27970830 2 --六武の門
!2016.4 !2016.4
#forbidden #forbidden
20663556 0 --イレカエル 20663556 0 --イレカエル
......
...@@ -318,6 +318,7 @@ ...@@ -318,6 +318,7 @@
!system 1336 刻度: !system 1336 刻度:
!system 1337 是否删除这个卡组? !system 1337 是否删除这个卡组?
!system 1338 删除成功 !system 1338 删除成功
!system 1339 是否清空正在编辑的卡组?
!system 1340 是否保存录像? !system 1340 是否保存录像?
!system 1341 保存 !system 1341 保存
!system 1342 录像文件: !system 1342 录像文件:
...@@ -596,6 +597,7 @@ ...@@ -596,6 +597,7 @@
!setname 0x65 侵略的 侵略の !setname 0x65 侵略的 侵略の
!setname 0x66 战士 ウォリアー !setname 0x66 战士 ウォリアー
!setname 0x1066 音响战士 音響戦士 !setname 0x1066 音响战士 音響戦士
!setname 0x2066 磁石战士 マグネット・ウォリアー
#setname 0x67 钢铁 アイアン #setname 0x67 钢铁 アイアン
#setname 0x68 铁皮 ブリキ #setname 0x68 铁皮 ブリキ
!setname 0x69 圣刻 聖刻 !setname 0x69 圣刻 聖刻
...@@ -755,3 +757,4 @@ ...@@ -755,3 +757,4 @@
!setname 0xe6 花札卫 花札衛 !setname 0xe6 花札卫 花札衛
!setname 0xe7 沉默剑士 サイレント・ソードマン !setname 0xe7 沉默剑士 サイレント・ソードマン
!setname 0xe8 沉默魔术师 サイレント・マジシャン !setname 0xe8 沉默魔术师 サイレント・マジシャン
!setname 0xe9 磁石战士 磁石の戦士(じしゃくのせんし)
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