Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Y
ygopro
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
赤子奈落
ygopro
Commits
e8ca4858
Commit
e8ca4858
authored
Mar 24, 2016
by
神楽坂玲奈
Browse files
Options
Browse Files
Download
Plain Diff
Merge
https://github.com/Fluorohydride/ygopro
into server
parents
579c823a
1f987b40
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
92 additions
and
75 deletions
+92
-75
gframe/client_field.cpp
gframe/client_field.cpp
+50
-5
gframe/client_field.h
gframe/client_field.h
+1
-0
gframe/duelclient.cpp
gframe/duelclient.cpp
+2
-4
gframe/event_handler.cpp
gframe/event_handler.cpp
+2
-29
strings.conf
strings.conf
+37
-37
No files found.
gframe/client_field.cpp
View file @
e8ca4858
#include "client_field.h"
#include "client_card.h"
#include "duelclient.h"
#include "data_manager.h"
#include "image_manager.h"
#include "game.h"
...
...
@@ -1099,6 +1100,47 @@ void ClientField::FadeCard(ClientCard * pcard, int alpha, int frame) {
pcard
->
is_fading
=
true
;
pcard
->
aniFrame
=
frame
;
}
bool
ClientField
::
ShowSelectSum
(
bool
panelmode
)
{
if
(
panelmode
)
{
if
(
CheckSelectSum
())
{
if
(
selectsum_cards
.
size
()
==
0
||
selectable_cards
.
size
()
==
0
)
{
SetResponseSelectedCards
();
if
(
mainGame
->
wCardSelect
->
isVisible
())
mainGame
->
HideElement
(
mainGame
->
wCardSelect
,
true
);
else
{
DuelClient
::
SendResponse
();
return
true
;
}
}
else
{
select_ready
=
true
;
mainGame
->
wCardSelect
->
setVisible
(
false
);
mainGame
->
dField
.
ShowSelectCard
(
true
);
}
}
else
{
select_ready
=
false
;
mainGame
->
wCardSelect
->
setVisible
(
false
);
mainGame
->
dField
.
ShowSelectCard
();
}
}
else
{
if
(
CheckSelectSum
())
{
if
(
selectsum_cards
.
size
()
==
0
||
selectable_cards
.
size
()
==
0
)
{
SetResponseSelectedCards
();
DuelClient
::
SendResponse
();
return
true
;
}
else
{
select_ready
=
true
;
wchar_t
wbuf
[
256
],
*
pwbuf
=
wbuf
;
BufferIO
::
CopyWStrRef
(
dataManager
.
GetSysString
(
209
),
pwbuf
,
256
);
*
pwbuf
++
=
L'\n'
;
BufferIO
::
CopyWStrRef
(
dataManager
.
GetSysString
(
210
),
pwbuf
,
256
);
mainGame
->
stQMessage
->
setText
(
wbuf
);
mainGame
->
PopupElement
(
mainGame
->
wQuery
);
}
}
else
select_ready
=
false
;
}
return
false
;
}
bool
ClientField
::
CheckSelectSum
()
{
std
::
set
<
ClientCard
*>
selable
;
std
::
set
<
ClientCard
*>::
iterator
sit
;
...
...
@@ -1116,9 +1158,8 @@ bool ClientField::CheckSelectSum() {
selable
.
erase
(
selected_cards
[
i
]);
}
selectsum_cards
.
clear
();
bool
ret
;
if
(
select_mode
==
0
)
{
ret
=
check_sel_sum_s
(
selable
,
0
,
select_sumval
);
bool
ret
=
check_sel_sum_s
(
selable
,
0
,
select_sumval
);
selectable_cards
.
clear
();
for
(
sit
=
selectsum_cards
.
begin
();
sit
!=
selectsum_cards
.
end
();
++
sit
)
{
(
*
sit
)
->
is_selectable
=
true
;
...
...
@@ -1127,7 +1168,7 @@ bool ClientField::CheckSelectSum() {
return
ret
;
}
else
{
int
op1
,
op2
,
mm
=
-
1
,
ms
,
m
,
max
=
0
,
sumc
=
0
,
sums
;
ret
=
false
;
bool
ret
=
false
;
for
(
size_t
i
=
0
;
i
<
selected_cards
.
size
();
++
i
)
{
op1
=
selected_cards
[
i
]
->
opParam
&
0xffff
;
op2
=
selected_cards
[
i
]
->
opParam
>>
16
;
...
...
@@ -1198,9 +1239,13 @@ bool ClientField::check_min(std::set<ClientCard*>& left, std::set<ClientCard*>::
||
check_min
(
left
,
index
,
min
,
max
);
}
bool
ClientField
::
check_sel_sum_s
(
const
std
::
set
<
ClientCard
*>&
left
,
int
index
,
int
acc
)
{
if
(
acc
<
0
)
return
false
;
if
(
index
==
(
int
)
selected_cards
.
size
())
{
if
(
acc
==
0
)
return
true
;
if
(
acc
==
0
)
{
int
count
=
selected_cards
.
size
()
-
must_select_count
;
return
count
>=
select_min
&&
count
<=
select_max
;
}
check_sel_sum_t
(
left
,
acc
);
return
false
;
}
...
...
gframe/client_field.h
View file @
e8ca4858
...
...
@@ -97,6 +97,7 @@ public:
void GetCardLocation(ClientCard* pcard, irr::core::vector3df* t, irr::core::vector3df* r, bool setTrans = false);
void MoveCard(ClientCard* pcard, int frame);
void FadeCard(ClientCard* pcard, int alpha, int frame);
bool ShowSelectSum(bool panelmode);
bool CheckSelectSum();
bool check_min(std::set<ClientCard*>& left, std::set<ClientCard*>::iterator index, int min, int max);
bool check_sel_sum_s(const std::set<ClientCard*>& left, int index, int acc);
...
...
gframe/duelclient.cpp
View file @
e8ca4858
...
...
@@ -1220,7 +1220,7 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
if
(
!
forced
&&
(
mainGame
->
ignore_chain
||
((
count
==
0
||
specount
==
0
)
&&
!
mainGame
->
always_chain
)))
{
SetResponseI
(
-
1
);
mainGame
->
dField
.
ClearChainSelect
();
if
(
mainGame
->
chkWaitChain
->
isChecked
())
{
if
(
mainGame
->
chkWaitChain
->
isChecked
()
&&
!
mainGame
->
ignore_chain
)
{
mainGame
->
WaitFrameSignal
(
rnd
.
real
()
*
20
+
20
);
}
DuelClient
::
SendResponse
();
...
...
@@ -1460,19 +1460,17 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
panelmode
=
true
;
}
std
::
sort
(
mainGame
->
dField
.
selectsum_all
.
begin
(),
mainGame
->
dField
.
selectsum_all
.
end
(),
ClientCard
::
client_card_sort
);
mainGame
->
dField
.
CheckSelectSum
();
if
(
select_hint
)
myswprintf
(
textBuffer
,
L"%ls(%d)"
,
dataManager
.
GetDesc
(
select_hint
),
mainGame
->
dField
.
select_sumval
);
else
myswprintf
(
textBuffer
,
L"%ls(%d)"
,
dataManager
.
GetSysString
(
560
),
mainGame
->
dField
.
select_sumval
);
select_hint
=
0
;
if
(
panelmode
)
{
mainGame
->
wCardSelect
->
setText
(
textBuffer
);
mainGame
->
dField
.
ShowSelectCard
();
}
else
{
mainGame
->
stHintMsg
->
setText
(
textBuffer
);
mainGame
->
stHintMsg
->
setVisible
(
true
);
}
return
false
;
return
mainGame
->
dField
.
ShowSelectSum
(
panelmode
)
;
}
case
MSG_SORT_CARD
:
case
MSG_SORT_CHAIN
:
{
...
...
gframe/event_handler.cpp
View file @
e8ca4858
...
...
@@ -576,20 +576,7 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
case
MSG_SELECT_SUM
:
{
command_card
=
selectable_cards
[
id
-
BUTTON_CARD_0
+
mainGame
->
scrCardList
->
getPos
()
/
10
];
selected_cards
.
push_back
(
command_card
);
if
(
CheckSelectSum
())
{
if
(
selectsum_cards
.
size
()
==
0
||
selectable_cards
.
size
()
==
0
)
{
SetResponseSelectedCards
();
mainGame
->
HideElement
(
mainGame
->
wCardSelect
,
true
);
}
else
{
select_ready
=
true
;
mainGame
->
wCardSelect
->
setVisible
(
false
);
mainGame
->
dField
.
ShowSelectCard
(
true
);
}
}
else
{
select_ready
=
false
;
mainGame
->
wCardSelect
->
setVisible
(
false
);
mainGame
->
dField
.
ShowSelectCard
();
}
ShowSelectSum
(
true
);
break
;
}
case
MSG_SORT_CHAIN
:
...
...
@@ -1218,21 +1205,7 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
selected_cards
.
erase
(
it
);
}
else
selected_cards
.
push_back
(
clicked_card
);
if
(
CheckSelectSum
())
{
if
(
selectsum_cards
.
size
()
==
0
||
selectable_cards
.
size
()
==
0
)
{
SetResponseSelectedCards
();
DuelClient
::
SendResponse
();
}
else
{
select_ready
=
true
;
wchar_t
wbuf
[
256
],
*
pwbuf
=
wbuf
;
BufferIO
::
CopyWStrRef
(
dataManager
.
GetSysString
(
209
),
pwbuf
,
256
);
*
pwbuf
++
=
L'\n'
;
BufferIO
::
CopyWStrRef
(
dataManager
.
GetSysString
(
210
),
pwbuf
,
256
);
mainGame
->
stQMessage
->
setText
(
wbuf
);
mainGame
->
PopupElement
(
mainGame
->
wQuery
);
}
}
else
select_ready
=
false
;
ShowSelectSum
(
false
);
break
;
}
}
...
...
strings.conf
View file @
e8ca4858
...
...
@@ -4,10 +4,10 @@
#system
!
system
1
通常召唤
!
system
2
特殊召唤
!
system
3
翻
转召唤
!
system
3
反
转召唤
!
system
4
通常召唤成功
!
system
5
特殊召唤成功
!
system
6
翻
转召唤成功
!
system
6
反
转召唤成功
!
system
7
发动
!
system
10
移除指示物
!
system
11
支付
LP
...
...
@@ -452,8 +452,8 @@
!
setname
0
x1
正义盟军
A
・
O
・
J
!
setname
0
x2
次世代 ジェネクス
!
setname
0
x1002
真次世代 レアル·ジェネクス
!
setname
0
x2002
盟军·次世代
A
·
ジェネクス
!
setname
0
x3
N
/
A
!
setname
0
x2002
盟军·次世代
A
・
ジェネクス
#
setname 0x3 N/A
!
setname
0
x4
亚马逊 アマゾネス
!
setname
0
x5
秘仪之力 アルカナフォース
!
setname
0
x6
暗黑界 暗黒界
...
...
@@ -464,38 +464,38 @@
#setname 0x6008 邪心英雄 E-HERO
!
setname
0
xa008
假面英雄
M
・
HERO
!
setname
0
xc008
命运英雄
D
-
HERO
!
setname
0
x9
新宇
侠
ネオス
!
setname
0
x9
新宇 ネオス
!
setname
0
xa
入魔 ヴェルズ
!
setname
0
x100a
侵入魔人 インヴェルズ
!
setname
0
xb
永火 インフェルニティ
!
setname
0
xc
外星
人
エーリアン
!
setname
0
xc
外星 エーリアン
!
setname
0
xd
剑士 セイバー
!
setname
0
x100d
X
-剑士
X
-セイバー
#setname 0x300d XX-剑士 XX-セイバー
!
setname
0
xe
电气 エレキ
!
setname
0
xf
扰乱
オ
ジャマ
!
setname
0
xf
扰乱
お
ジャマ
!
setname
0
x10
薰风 ガスタ
!
setname
0
x11
机巧 カラクリ
!
setname
0
x12
青蛙 ガエル
!
setname
0
x13
机皇 機皇
!
setname
0
x3013
机皇帝 機皇帝
!
setname
0
x6013
机皇兵 機皇兵
!
setname
0
x14
N
/
A
#
setname 0x14 N/A
!
setname
0
x15
巨大战舰 巨大戦艦
!
setname
0
x16
机人 ロイド
!
setname
0
x1016
交通机人 ビークロイド
!
setname
0
x2016
疾行机人
SR
(スピードロイド)
!
setname
0
x2016
疾行机人
スピードロイド
!
setname
0
x17
同调士 シンクロン
!
setname
0
x18
云魔物 雲魔物
!
setname
0
x19
剑斗兽 剣闘獣
!
setname
0
x1a
黑蝎 黒蠍
!
setname
0
x1b
幻兽 幻獣
!
setname
0
x101b
幻兽机 幻獣機
!
setname
0
x1c
N
/
A
#
setname 0x1c N/A
!
setname
0
x1d
核成 コアキメイル
!
setname
0
x1e
茧状体
C
(コクーン)
!
setname
0
x1f
新空间侠
N
(ネオスペーシアン)
!
setname
0
x20
紫炎 紫炎
(シエン)
!
setname
0
x20
紫炎 紫炎
!
setname
0
x21
地缚神 地縛神
!
setname
0
x22
朱罗纪 ジュラック
!
setname
0
x23
罪
Sin
...
...
@@ -508,7 +508,7 @@
!
setname
0
x2a
自然 ナチュル
!
setname
0
x2b
忍者
!
setname
0
x2c
炎狱 フレムベル
!
setname
0
x2d
N
/
A
#
setname 0x2d N/A
!
setname
0
x2e
守墓 墓守
!
setname
0
x2f
冰结界 氷結界
!
setname
0
x30
大日 ヴァイロン
...
...
@@ -525,12 +525,12 @@
!
setname
0
x39
熔岩 ラヴァル
!
setname
0
x3a
遗式 リチュア
!
setname
0
x3b
真红眼 レッドアイズ
!
setname
0
x3c
爬虫妖
女
レプティレス
!
setname
0
x3c
爬虫妖 レプティレス
!
setname
0
x3d
六武众 六武衆
!
setname
0
x3e
异虫 ワーム
!
setname
0
x3f
救世 セイヴァ
!
setname
0
x3f
救世 セイヴァ
ー
!
setname
0
x40
被封印者 封印されし
!
setname
0
x41
LV
LV
!
setname
0
x41
LV
LV
(レベル)
!
setname
0
x42
极星 極星
!
setname
0
x3042
极星天 極星天
!
setname
0
x6042
极星兽 極星獣
...
...
@@ -549,7 +549,7 @@
#setname 0x4a 时械神 時械神
!
setname
0
x4b
极神 極神
!
setname
0
x4c
落穴 落とし穴
!
setname
0
x4d
N
/
A
#
setname 0x4d N/A
#setname 0x4e 进化 エヴォル
!
setname
0
x304e
进化虫 エヴォルド
!
setname
0
x604e
进化龙 エヴォルダ
...
...
@@ -569,9 +569,9 @@
!
setname
0
x5a
企鹅 ペンギン
!
setname
0
x5b
番茄小子 トマボー
!
setname
0
x5c
斯芬克斯 スフィンクス
!
setname
0
x5d
N
/
A
!
setname
0
x5e
N
/
A
!
setname
0
x5f
N
/
A
#
setname 0x5d N/A
#
setname 0x5e N/A
#
setname 0x5f N/A
!
setname
0
x60
竹光
!
setname
0
x61
忍法
!
setname
0
x62
卡通 トゥーン
...
...
@@ -586,7 +586,7 @@
!
setname
0
x6a
幻蝶刺客 幻蝶の刺客
!
setname
0
x6b
保镖 バウンサー
#setname 0x6c 光芒使者 ライトレイ
!
setname
0
x6d
魔人 魔
(ま)人(じん)
!
setname
0
x6d
魔人 魔
人(まじん)
!
setname
0
x6e
魔导 魔導
!
setname
0
x106e
魔导书 魔導書
!
setname
0
x6f
英豪 ヒロイック
...
...
@@ -597,23 +597,23 @@
!
setname
0
x72
齿轮齿轮 ギアギア
!
setname
0
x1072
齿轮齿轮人 ギアギアーノ
!
setname
0
x73
超量 エクシーズ
!
setname
0
x1073
混沌超量
CX
!
setname
0
x1073
混沌超量
CX
(カオスエクシーズ)
!
setname
0
x74
水精鱗
!
setname
0
x75
深渊 アビス
!
setname
0
x76
纹章兽 紋章獣
!
setname
0
x77
海皇
!
setname
0
x78
迅捷 素早い
!
setname
0
x79
炎星
#setname 0x7a 圣 聖
(せい)
!
setname
0
x107a
圣骑士 聖騎士
(せいきし)
!
setname
0
x207a
圣剑 聖剣
(せいけん)
#setname 0x7a 圣 聖
!
setname
0
x107a
圣骑士 聖騎士
(せいきし)
!
setname
0
x207a
圣剑 聖剣
(せいけん)
!
setname
0
x7b
银河 ギャラクシー
!
setname
0
x107b
银河眼 ギャラクシーアイズ
!
setname
0
x307b
银河眼时空龙
!
setname
0
x307b
银河眼时空龙
ギャラクシーアイズ・タキオン・ドラゴン
!
setname
0
x7c
炎舞
!
setname
0
x7d
阳炎 ヘイズ
!
setname
0
x107d
阳炎兽 陽炎獣
!
setname
0
x7e
异热同心武器
ZW
!
setname
0
x7e
异热同心武器
ZW
(ゼアル・ウェポン)
!
setname
0
x7f
霍普 ホープ
!
setname
0
x107f
希望皇 霍普 希望皇ホープ
!
setname
0
x80
尘妖 ダストン
...
...
@@ -621,7 +621,7 @@
!
setname
0
x1081
炎王兽 炎王獣
!
setname
0
x82
怒怒怒 ドドド
!
setname
0
x83
机关傀儡 ギミック・パペット
!
setname
0
x84
燃烧拳击手
BK
!
setname
0
x84
燃烧拳击手
BK
(バーニングナックラー)
!
setname
0
x85
超级防御机器人
SD
ロボ
!
setname
0
x86
光天使
!
setname
0
x87
阴影 アンブラル
...
...
@@ -643,7 +643,7 @@
!
setname
0
x95
升阶魔法
RUM
!
setname
0
x96
电子鱼人 フィッシュボーグ
!
setname
0
x97
古遗物 アーティファクト
!
setname
0
x98
魔术师
!
setname
0
x98
魔术师
魔術師
!
setname
0
x99
异色眼 オッドアイズ
!
setname
0
x9a
超重武者
!
setname
0
x9b
幻奏
...
...
@@ -652,13 +652,13 @@
!
setname
0
x109c
星辉士 ステラナイト
!
setname
0
x9d
影依 シャドール
!
setname
0
x9e
龙星 竜星
!
setname
0
x9f
娱乐伙伴
EM
!
setname
0
x9f
娱乐伙伴
EM
(エンタメイト)
!
setname
0
xa0
传说的骑士 伝説の騎士
!
setname
0
xa1
传说之龙 伝説の竜
#setname 0xa2 魔术 マジシャン
!
setname
0
x10a2
黑魔术 ブラック
·
マジシャン
!
setname
0
x20a2
魔术少女 マジシャン
·
ガール
!
setname
0
x30a2
黑魔术少女 ブラック
·マジシャン·
ガール
!
setname
0
x10a2
黑魔术 ブラック
・
マジシャン
!
setname
0
x20a2
魔术少女 マジシャン
・
ガール
!
setname
0
x30a2
黑魔术少女 ブラック
・マジシャン・
ガール
!
setname
0
xa3
星尘 スターダスト
!
setname
0
xa4
羽翼栗子球 ハネクリボー
!
setname
0
xa5
变化 チェンジ
...
...
@@ -674,7 +674,7 @@
!
setname
0
xaf
DD
!
setname
0
x10af
DDD
!
setname
0
xb0
加特姆士 ガトムズ
!
setname
0
xb1
彼岸
Burning
Abyss
!
setname
0
xb1
彼岸
!
setname
0
xb2
超级运动员
U
.
A
.
!
setname
0
xb3
妖仙兽 妖仙獣
!
setname
0
xb4
影灵衣 影霊衣
...
...
@@ -685,8 +685,8 @@
!
setname
0
xb6
外神
!
setname
0
xb7
旧神
!
setname
0
xb8
古神
!
setname
0
xb9
烈焰加农炮 ブレイズ
·
キャノン
!
setname
0
xba
急袭猛禽
RR
!
setname
0
xb9
烈焰加农炮 ブレイズ
・
キャノン
!
setname
0
xba
急袭猛禽
RR
(レイド・ラプターズ)
!
setname
0
xbb
狱火机 インフェルノイド
!
setname
0
xbc
人造人 人造人間
!
setname
0
xbd
暗黑骑士 盖亚 暗黒騎士ガイア
...
...
@@ -694,11 +694,11 @@
!
setname
0
xbf
灵使 霊使い
!
setname
0
xc0
凭依装着 憑依装着
!
setname
0
xc1
PSY
骨架
PSY
フレーム
!
setname
0
xc2
动力工具 パワー
·
ツール
!
setname
0
xc2
动力工具 パワー
・
ツール
!
setname
0
xc3
锋利小鬼 エッジインプ
!
setname
0
xc4
神数 セフィラ
!
setname
0
xc5
炼狱 煉獄
!
setname
0
xc6
娱乐法师
Em
!
setname
0
xc6
娱乐法师
Em
(エンタメイジ)
!
setname
0
xc7
龙剑士 竜剣士
!
setname
0
xc8
点火骑士 イグナイト
!
setname
0
xc9
芳香 アロマ
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment