Commit 39fcde5a authored by mercury233's avatar mercury233
parents d5bd65e1 8bc78821
...@@ -394,7 +394,6 @@ void ClientField::ShowSelectCard(bool buttonok, bool chain) { ...@@ -394,7 +394,6 @@ void ClientField::ShowSelectCard(bool buttonok, bool chain) {
mainGame->stCardPos[i]->setBackgroundColor(0xffd0d0d0); mainGame->stCardPos[i]->setBackgroundColor(0xffd0d0d0);
else mainGame->stCardPos[i]->setBackgroundColor(0xffffffff); else mainGame->stCardPos[i]->setBackgroundColor(0xffffffff);
} }
mainGame->stCardPos[i]->setVisible(true);
} else { } else {
if(sort_list[i]) { if(sort_list[i]) {
myswprintf(formatBuffer, L"%d", sort_list[i]); myswprintf(formatBuffer, L"%d", sort_list[i]);
...@@ -402,6 +401,7 @@ void ClientField::ShowSelectCard(bool buttonok, bool chain) { ...@@ -402,6 +401,7 @@ void ClientField::ShowSelectCard(bool buttonok, bool chain) {
} 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]->setRelativePosition(rect<s32>(startpos + i * 125, 30, startpos + 120 + i * 125, 50)); mainGame->stCardPos[i]->setRelativePosition(rect<s32>(startpos + i * 125, 30, startpos + 120 + i * 125, 50));
} }
if(selectable_cards.size() <= 5) { if(selectable_cards.size() <= 5) {
......
...@@ -85,19 +85,19 @@ bool DataManager::LoadStrings(const char* file) { ...@@ -85,19 +85,19 @@ bool DataManager::LoadStrings(const char* file) {
continue; continue;
sscanf(linebuf, "!%s", strbuf); sscanf(linebuf, "!%s", strbuf);
if(!strcmp(strbuf, "system")) { if(!strcmp(strbuf, "system")) {
sscanf(&linebuf[7], "%d %s", &value, strbuf); sscanf(&linebuf[7], "%d %240[^\n]", &value, strbuf);
int len = BufferIO::DecodeUTF8(strbuf, strBuffer); int len = BufferIO::DecodeUTF8(strbuf, strBuffer);
wchar_t* pbuf = new wchar_t[len + 1]; wchar_t* pbuf = new wchar_t[len + 1];
wcscpy(pbuf, strBuffer); wcscpy(pbuf, strBuffer);
_sysStrings[value] = pbuf; _sysStrings[value] = pbuf;
} else if(!strcmp(strbuf, "victory")) { } else if(!strcmp(strbuf, "victory")) {
sscanf(&linebuf[8], "%x %s", &value, strbuf); sscanf(&linebuf[8], "%x %240[^\n]", &value, strbuf);
int len = BufferIO::DecodeUTF8(strbuf, strBuffer); int len = BufferIO::DecodeUTF8(strbuf, strBuffer);
wchar_t* pbuf = new wchar_t[len + 1]; wchar_t* pbuf = new wchar_t[len + 1];
wcscpy(pbuf, strBuffer); wcscpy(pbuf, strBuffer);
_victoryStrings[value] = pbuf; _victoryStrings[value] = pbuf;
} else if(!strcmp(strbuf, "counter")) { } else if(!strcmp(strbuf, "counter")) {
sscanf(&linebuf[8], "%x %s", &value, strbuf); sscanf(&linebuf[8], "%x %240[^\n]", &value, strbuf);
int len = BufferIO::DecodeUTF8(strbuf, strBuffer); int len = BufferIO::DecodeUTF8(strbuf, strBuffer);
wchar_t* pbuf = new wchar_t[len + 1]; wchar_t* pbuf = new wchar_t[len + 1];
wcscpy(pbuf, strBuffer); wcscpy(pbuf, strBuffer);
......
#include "event_handler.h"
#include "client_field.h" #include "client_field.h"
#include "math.h" #include "math.h"
#include "network.h" #include "network.h"
...@@ -819,7 +820,8 @@ bool ClientField::OnEvent(const irr::SEvent& event) { ...@@ -819,7 +820,8 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
CardString cstr; CardString cstr;
CardData cd; CardData cd;
if(dataManager.GetString(trycode, &cstr) && dataManager.GetData(trycode, &cd) if(dataManager.GetString(trycode, &cstr) && dataManager.GetData(trycode, &cd)
&& (cd.code == 78734254 || cd.code == 13857930 || !cd.alias && !((cd.type & (TYPE_MONSTER + TYPE_TOKEN)) == (TYPE_MONSTER + TYPE_TOKEN)))) { && (cd.code == CARD_MARINE_DOLPHIN || cd.code == CARD_TWINKLE_MOSS
|| !cd.alias && !((cd.type & (TYPE_MONSTER + TYPE_TOKEN)) == (TYPE_MONSTER + TYPE_TOKEN)))) {
mainGame->lstANCard->clear(); mainGame->lstANCard->clear();
ancard.clear(); ancard.clear();
mainGame->lstANCard->addItem(cstr.name); mainGame->lstANCard->addItem(cstr.name);
...@@ -834,7 +836,7 @@ bool ClientField::OnEvent(const irr::SEvent& event) { ...@@ -834,7 +836,7 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
if(wcsstr(cit->second.name, pname) != 0) { if(wcsstr(cit->second.name, pname) != 0) {
auto cp = dataManager.GetCodePointer(cit->first); //verified by _strings auto cp = dataManager.GetCodePointer(cit->first); //verified by _strings
//datas.alias can be double card names or alias //datas.alias can be double card names or alias
if(cp->second.code == 78734254 || cp->second.code == 13857930 if(cp->second.code == CARD_MARINE_DOLPHIN || cp->second.code == CARD_TWINKLE_MOSS
|| !cp->second.alias && !((cp->second.type & (TYPE_MONSTER + TYPE_TOKEN)) == (TYPE_MONSTER + TYPE_TOKEN))) { || !cp->second.alias && !((cp->second.type & (TYPE_MONSTER + TYPE_TOKEN)) == (TYPE_MONSTER + TYPE_TOKEN))) {
mainGame->lstANCard->addItem(cit->second.name); mainGame->lstANCard->addItem(cit->second.name);
ancard.push_back(cit->first); ancard.push_back(cit->first);
...@@ -854,7 +856,8 @@ bool ClientField::OnEvent(const irr::SEvent& event) { ...@@ -854,7 +856,8 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
CardString cstr; CardString cstr;
CardData cd; CardData cd;
if(dataManager.GetString(trycode, &cstr) && dataManager.GetData(trycode, &cd) if(dataManager.GetString(trycode, &cstr) && dataManager.GetData(trycode, &cd)
&& (cd.code == 78734254 || cd.code == 13857930 || !cd.alias && !((cd.type & (TYPE_MONSTER + TYPE_TOKEN)) == (TYPE_MONSTER + TYPE_TOKEN)))) { && (cd.code == CARD_MARINE_DOLPHIN || cd.code == CARD_TWINKLE_MOSS
|| !cd.alias && !((cd.type & (TYPE_MONSTER + TYPE_TOKEN)) == (TYPE_MONSTER + TYPE_TOKEN)))) {
mainGame->lstANCard->clear(); mainGame->lstANCard->clear();
ancard.clear(); ancard.clear();
mainGame->lstANCard->addItem(cstr.name); mainGame->lstANCard->addItem(cstr.name);
...@@ -869,7 +872,7 @@ bool ClientField::OnEvent(const irr::SEvent& event) { ...@@ -869,7 +872,7 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
if(wcsstr(cit->second.name, pname) != 0) { if(wcsstr(cit->second.name, pname) != 0) {
auto cp = dataManager.GetCodePointer(cit->first); //verified by _strings auto cp = dataManager.GetCodePointer(cit->first); //verified by _strings
//datas.alias can be double card names or alias //datas.alias can be double card names or alias
if(cp->second.code == 78734254 || cp->second.code == 13857930 if(cp->second.code == CARD_MARINE_DOLPHIN || cp->second.code == CARD_TWINKLE_MOSS
|| !cp->second.alias && !((cp->second.type & (TYPE_MONSTER + TYPE_TOKEN)) == (TYPE_MONSTER + TYPE_TOKEN))) { || !cp->second.alias && !((cp->second.type & (TYPE_MONSTER + TYPE_TOKEN)) == (TYPE_MONSTER + TYPE_TOKEN))) {
mainGame->lstANCard->addItem(cit->second.name); mainGame->lstANCard->addItem(cit->second.name);
ancard.push_back(cit->first); ancard.push_back(cit->first);
......
#ifndef EVENT_HANDLER_H #ifndef EVENT_HANDLER_H
#define EVENT_HANDLER_H #define EVENT_HANDLER_H
//special cards
#define CARD_MARINE_DOLPHIN 78734254
#define CARD_TWINKLE_MOSS 13857930
#include "config.h" #include "config.h"
#include "game.h" #include "game.h"
#include "client_card.h" #include "client_card.h"
......
...@@ -850,7 +850,7 @@ void Game::LoadConfig() { ...@@ -850,7 +850,7 @@ void Game::LoadConfig() {
int fsize = ftell(fp); int fsize = ftell(fp);
fseek(fp, 0, SEEK_SET); fseek(fp, 0, SEEK_SET);
while(ftell(fp) < fsize) { while(ftell(fp) < fsize) {
fgets(linebuf, 250, fp); fgets(linebuf, 256, fp);
sscanf(linebuf, "%s = %s", strbuf, valbuf); sscanf(linebuf, "%s = %s", strbuf, valbuf);
if(!strcmp(strbuf, "antialias")) { if(!strcmp(strbuf, "antialias")) {
gameConf.antialias = atoi(valbuf); gameConf.antialias = atoi(valbuf);
...@@ -858,15 +858,6 @@ void Game::LoadConfig() { ...@@ -858,15 +858,6 @@ void Game::LoadConfig() {
gameConf.use_d3d = atoi(valbuf) > 0; gameConf.use_d3d = atoi(valbuf) > 0;
} else if(!strcmp(strbuf, "errorlog")) { } else if(!strcmp(strbuf, "errorlog")) {
enable_log = atoi(valbuf); enable_log = atoi(valbuf);
} else if(!strcmp(strbuf, "nickname")) {
BufferIO::DecodeUTF8(valbuf, wstr);
BufferIO::CopyWStr(wstr, gameConf.nickname, 20);
} else if(!strcmp(strbuf, "gamename")) {
BufferIO::DecodeUTF8(valbuf, wstr);
BufferIO::CopyWStr(wstr, gameConf.gamename, 20);
} else if(!strcmp(strbuf, "lastdeck")) {
BufferIO::DecodeUTF8(valbuf, wstr);
BufferIO::CopyWStr(wstr, gameConf.lastdeck, 64);
} else if(!strcmp(strbuf, "textfont")) { } else if(!strcmp(strbuf, "textfont")) {
BufferIO::DecodeUTF8(valbuf, wstr); BufferIO::DecodeUTF8(valbuf, wstr);
int textfontsize; int textfontsize;
...@@ -887,6 +878,21 @@ void Game::LoadConfig() { ...@@ -887,6 +878,21 @@ 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 {
// options allowing multiple words
sscanf(linebuf, "%s = %240[^\n]", strbuf, valbuf);
if (!strcmp(strbuf, "nickname")) {
BufferIO::DecodeUTF8(valbuf, wstr);
BufferIO::CopyWStr(wstr, gameConf.nickname, 20);
}
else if (!strcmp(strbuf, "gamename")) {
BufferIO::DecodeUTF8(valbuf, wstr);
BufferIO::CopyWStr(wstr, gameConf.gamename, 20);
}
else if (!strcmp(strbuf, "lastdeck")) {
BufferIO::DecodeUTF8(valbuf, wstr);
BufferIO::CopyWStr(wstr, gameConf.lastdeck, 64);
}
} }
} }
fclose(fp); fclose(fp);
......
#[2015.10][2015.4][2015.1][2014.10][2014.7][2014.4][2014.2][2013.9][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] #[2015.10][2015.4][2015.1][2014.10][2014.7][2014.4][2014.2][2013.9][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]
!2015.10 !2015.10
#forbidden #forbidden
20663556 0 --イレカエル 20663556 0 --イレカエル
...@@ -1215,6 +1215,168 @@ ...@@ -1215,6 +1215,168 @@
53582587 2 --激流葬 53582587 2 --激流葬
29401950 2 --奈落の落とし穴 29401950 2 --奈落の落とし穴
!2015.11 TCG
#forbidden
27279764 0 --アポクリフォート・キラー
20663556 0 --イレカエル
40044918 0 --E·HERO エアーマン
20366274 0 --エルシャドール・ネフィリム
53804307 0 --焔征竜-ブラスター
44910027 0 --ヴィクトリー・ドラゴン
82301904 0 --混沌帝龍 -終焉の使者-
79106360 0 --カオスポッド
90411554 0 --巌征竜-レドックス
08903700 0 --儀式魔人リリーサー
26202165 0 --クリッター
78010363 0 --黒き森のウィッチ
40737112 0 --混沌の黒魔術師
34124316 0 --サイバーポッド
63519819 0 --サウザンド·アイズ·サクリファイス
81122844 0 --発条空母ゼンマイティ
21593977 0 --処刑人-マキュラ
56570271 0 --DHERO ディスクガイ
69015963 0 --デビル·フランケン
33184167 0 --同族感染ウィルス
54719828 0 --No.16 色の支配者ショック·ルーラー
90307777 0 --影霊衣の術士 シュリット
26400609 0 --瀑征竜-タイダル
50321796 0 --氷結界の龍 ブリューナク
78706415 0 --ファイバーポッド
93369354 0 --フィッシュボーグ-ガンナー
34206604 0 --魔導サイエンティスト
33508719 0 --メタモルポット
96782886 0 --メンタルマスター
03078576 0 --八汰烏
89399912 0 --嵐征竜-テンペスト
34086406 0 --ラヴァルバル·チェイン
46772449 0 --励輝士 ヴェルズビュート
14878871 0 --レスキューキャット
41482598 0 --悪夢の蜃気楼
44763025 0 --いたずら好きな双子悪魔
19613556 0 --大嵐
17375316 0 --押収
74191942 0 --苦渋の選択
42829885 0 --強引な番兵
45986603 0 --強奪
55144522 0 --強欲な壺
04031928 0 --心変わり
23557835 0 --次元融合
83764718 0 --死者蘇生
57953380 0 --生還の宝札
87910978 0 --洗脳-ブレインコントロール
60682203 0 --大寒波
48130397 0 --超融合
67169062 0 --貪欲な壺
27770341 0 --超再生能力
69243953 0 --蝶の短剣-エルマ
72892473 0 --手札抹殺
79571449 0 --天使の施し
42703248 0 --ハリケーン
18144506 0 --ハーピィの羽根帚
70828912 0 --早すぎた埋葬
34906152 0 --マスドライバー
46448938 0 --魔導書の神判
77565204 0 --未来融合-フューチャー·フュージョン
27970830 0 --六武の門
46411259 0 --突然変異
85602018 0 --遺言状
27174286 0 --異次元からの帰還
61740673 0 --王宮の勅命
93016201 0 --王宮の弾圧
41420027 0 --神の宣告
57585212 0 --自爆スイッチ
03280747 0 --第六感
64697231 0 --ダスト·シュート
35316708 0 --刻の封印
80604091 0 --血の代償
28566710 0 --ラストバトル!
#limit
85103922 1 --アーティファクト-モラルタ
64034255 1 --A·ジェネクス·バードマン
45222299 1 --イビリチュア·ガストクラーケ
11877465 1 --イビリチュア·マインドオーガス
99177923 1 --インフェルニティ·デーモン
68184115 1 --甲虫装機 ダンセル
69207766 1 --甲虫装機 ホーネット
72989439 1 --カオス·ソルジャー -開闢の使者-
65518099 1 --クリフォート・ツール
12580477 1 --サンダー·ボルト
78868119 1 --深海のディーヴァ
48063985 1 --聖霊獣騎 カンナホーク
59297550 1 --ゼンマイマジシャン
65192027 1 --ダーク·アームド·ドラゴン
15341821 1 --ダンディライオン
90953320 1 --TG ハイパー·ライブラリアン
14943837 1 --デブリ·ドラゴン
16226786 1 --深淵の暗殺者
80344569 1 --N·グラン·モール
20758643 1 --彼岸の悪鬼 グラバースニッチ
70583986 1 --氷結界の虎王ドゥローレン
52687916 1 --氷結界の龍 トリシューラ
33396948 1 --封印されしエクゾディア
07902349 1 --封印されし者の左腕
70903634 1 --封印されし者の右腕
44519536 1 --封印されし者の左足
08124921 1 --封印されし者の右足
26674724 1 --ブリューナクの影霊衣
10802915 1 --魔界発現世行きデスガイド
41386308 1 --マスマティシャン
89463537 1 --ユニコールの影霊衣
71564252 1 --ライオウ
85138716 1 --レスキューラビット
88264978 1 --レッドアイズ·ダークネスメタルドラゴン
48976825 1 --異次元からの埋葬
33782437 1 --一時休戦
66957584 1 --インフェルニティガン
06417578 1 --神の写し身との接触
72405967 1 --王家の生け贄
81439173 1 --おろかな埋葬
96729612 1 --儀式の準備
45305419 1 --継承の印
17639150 1 --機殻の生贄
95308449 1 --終焉のカウントダウン
74845897 1 --真炎の爆発
37520316 1 --精神操作
32807846 1 --増援
54447022 1 --ソウル・チャージ
14087893 1 --月の書
81674782 1 --次元の裂け目
75500286 1 --封印の黄金櫃
15854426 1 --霞の谷の神風
43040603 1 --モンスターゲート
01475311 1 --闇の誘惑
23171610 1 --リミッター解除
02295440 1 --ワン·フォー·ワン
09059700 1 --インフェルニティ・バリア
05851097 1 --虚無空間
84749824 1 --神の警告
94192409 1 --強制脱出装置
53582587 1 --激流葬
57728570 1 --死のデッキ破壊ウイルス
82732705 1 --スキルドレイン
73599290 1 --ソウルドレイン
29401950 1 --奈落の落とし穴
83555666 1 --破壊輪
17078030 1 --光の護封壁
30241314 1 --マクロコスモス
32723153 1 --マジカル·エクスプロージョン
54974237 1 --闇のデッキ破壊ウイルス
#semi limit
37742478 2 --オネスト
85087012 2 --カードガンナー
74311226 2 --海皇の竜騎隊
00423585 2 --召喚僧サモンプリースト
98777036 2 --トラゴエディア
57143342 2 --彼岸の悪鬼 ガトルホッグ
28297833 2 --ネクロフェイス
46052429 2 --高等儀式術
94886282 2 --光の援軍
53129443 2 --ブラック·ホール
62265044 2 --竜の渓谷
91623717 2 --連鎖爆撃
29843091 2 --おジャマトリオ
36468556 2 --停戦協定
!2015.7 TCG !2015.7 TCG
#forbidden #forbidden
48130397 0 --超融合 48130397 0 --超融合
......
Subproject commit 1a179cebde187c00b28e47394e4104ba6f0d103a Subproject commit febeec6fcc51217d2d4f877911304021a6f8f882
Subproject commit 57598a0854fbea5cc0ad9aa631a3255df7e1e513 Subproject commit 3f155a114706ec58ae1243e04201ad792756c0e6
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