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
MobiusMei
ygopro
Commits
3820e8c4
You need to sign in or sign up before continuing.
Commit
3820e8c4
authored
Sep 18, 2016
by
mercury233
Browse files
Options
Browse Files
Download
Plain Diff
Merge
https://github.com/Fluorohydride/ygopro
parents
7a566f2c
64f6ff07
Changes
10
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
314 additions
and
54 deletions
+314
-54
gframe/client_field.cpp
gframe/client_field.cpp
+7
-0
gframe/client_field.h
gframe/client_field.h
+3
-1
gframe/deck_con.cpp
gframe/deck_con.cpp
+27
-19
gframe/duelclient.cpp
gframe/duelclient.cpp
+15
-1
gframe/event_handler.cpp
gframe/event_handler.cpp
+228
-11
gframe/game.cpp
gframe/game.cpp
+16
-11
gframe/game.h
gframe/game.h
+5
-3
script
script
+1
-1
strings.conf
strings.conf
+9
-5
system.conf
system.conf
+3
-2
No files found.
gframe/client_field.cpp
View file @
3820e8c4
...
@@ -1131,6 +1131,7 @@ bool ClientField::ShowSelectSum(bool panelmode) {
...
@@ -1131,6 +1131,7 @@ bool ClientField::ShowSelectSum(bool panelmode) {
if
(
CheckSelectSum
())
{
if
(
CheckSelectSum
())
{
if
(
selectsum_cards
.
size
()
==
0
||
selectable_cards
.
size
()
==
0
)
{
if
(
selectsum_cards
.
size
()
==
0
||
selectable_cards
.
size
()
==
0
)
{
SetResponseSelectedCards
();
SetResponseSelectedCards
();
ShowCancelOrFinishButton
(
0
);
if
(
mainGame
->
wCardSelect
->
isVisible
())
if
(
mainGame
->
wCardSelect
->
isVisible
())
mainGame
->
HideElement
(
mainGame
->
wCardSelect
,
true
);
mainGame
->
HideElement
(
mainGame
->
wCardSelect
,
true
);
else
{
else
{
...
@@ -1151,6 +1152,7 @@ bool ClientField::ShowSelectSum(bool panelmode) {
...
@@ -1151,6 +1152,7 @@ bool ClientField::ShowSelectSum(bool panelmode) {
if
(
CheckSelectSum
())
{
if
(
CheckSelectSum
())
{
if
(
selectsum_cards
.
size
()
==
0
||
selectable_cards
.
size
()
==
0
)
{
if
(
selectsum_cards
.
size
()
==
0
||
selectable_cards
.
size
()
==
0
)
{
SetResponseSelectedCards
();
SetResponseSelectedCards
();
ShowCancelOrFinishButton
(
0
);
DuelClient
::
SendResponse
();
DuelClient
::
SendResponse
();
return
true
;
return
true
;
}
else
{
}
else
{
...
@@ -1165,6 +1167,11 @@ bool ClientField::ShowSelectSum(bool panelmode) {
...
@@ -1165,6 +1167,11 @@ bool ClientField::ShowSelectSum(bool panelmode) {
}
else
}
else
select_ready
=
false
;
select_ready
=
false
;
}
}
if
(
select_ready
)
{
ShowCancelOrFinishButton
(
1
);
}
else
{
ShowCancelOrFinishButton
(
0
);
}
return
false
;
return
false
;
}
}
bool
ClientField
::
CheckSelectSum
()
{
bool
ClientField
::
CheckSelectSum
()
{
...
...
gframe/client_field.h
View file @
3820e8c4
...
@@ -39,6 +39,7 @@ public:
...
@@ -39,6 +39,7 @@ public:
std
::
vector
<
ClientCard
*>
conti_cards
;
std
::
vector
<
ClientCard
*>
conti_cards
;
std
::
vector
<
int
>
activatable_descs
;
std
::
vector
<
int
>
activatable_descs
;
std
::
set
<
int
>
reset_descs
;
std
::
set
<
int
>
reset_descs
;
std
::
set
<
int
>
conti_descs
;
std
::
vector
<
int
>
select_options
;
std
::
vector
<
int
>
select_options
;
std
::
vector
<
ChainInfo
>
chains
;
std
::
vector
<
ChainInfo
>
chains
;
int
extra_p_count
[
2
];
int
extra_p_count
[
2
];
...
@@ -127,6 +128,7 @@ public:
...
@@ -127,6 +128,7 @@ public:
void
GetHoverField
(
int
x
,
int
y
);
void
GetHoverField
(
int
x
,
int
y
);
void
ShowMenu
(
int
flag
,
int
x
,
int
y
);
void
ShowMenu
(
int
flag
,
int
x
,
int
y
);
void
UpdateChainButtons
();
void
UpdateChainButtons
();
void
ShowCancelOrFinishButton
(
int
buttonOp
);
void
SetResponseSelectedCards
()
const
;
void
SetResponseSelectedCards
()
const
;
};
};
...
...
gframe/deck_con.cpp
View file @
3820e8c4
...
@@ -39,6 +39,25 @@ static int parse_filter(const wchar_t* pstr, unsigned int* type) {
...
@@ -39,6 +39,25 @@ static int parse_filter(const wchar_t* pstr, unsigned int* type) {
*
type
=
0
;
*
type
=
0
;
return
0
;
return
0
;
}
}
static
bool
check_set_code
(
const
CardDataC
&
data
,
int
set_code
)
{
unsigned
long
long
sc
=
data
.
setcode
;
if
(
data
.
alias
)
{
auto
aptr
=
dataManager
.
_datas
.
find
(
data
.
alias
);
if
(
aptr
!=
dataManager
.
_datas
.
end
())
sc
=
aptr
->
second
.
setcode
;
}
bool
res
=
false
;
int
settype
=
set_code
&
0xfff
;
int
setsubtype
=
set_code
&
0xf000
;
while
(
sc
)
{
if
((
sc
&
0xfff
)
==
settype
&&
(
sc
&
0xf000
&
setsubtype
)
==
setsubtype
)
res
=
true
;
sc
=
sc
>>
16
;
}
return
res
;
}
bool
DeckBuilder
::
OnEvent
(
const
irr
::
SEvent
&
event
)
{
bool
DeckBuilder
::
OnEvent
(
const
irr
::
SEvent
&
event
)
{
switch
(
event
.
EventType
)
{
switch
(
event
.
EventType
)
{
case
irr
:
:
EET_GUI_EVENT
:
{
case
irr
:
:
EET_GUI_EVENT
:
{
...
@@ -358,7 +377,7 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
...
@@ -358,7 +377,7 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
case
irr
:
:
EET_MOUSE_INPUT_EVENT
:
{
case
irr
:
:
EET_MOUSE_INPUT_EVENT
:
{
switch
(
event
.
MouseInput
.
Event
)
{
switch
(
event
.
MouseInput
.
Event
)
{
case
irr
:
:
EMIE_LMOUSE_PRESSED_DOWN
:
{
case
irr
:
:
EMIE_LMOUSE_PRESSED_DOWN
:
{
position2d
<
s32
>
mouse_pos
=
position2d
<
s32
>
(
event
.
MouseInput
.
X
,
event
.
MouseInput
.
Y
);
irr
::
core
::
position2di
mouse_pos
(
event
.
MouseInput
.
X
,
event
.
MouseInput
.
Y
);
irr
::
gui
::
IGUIElement
*
root
=
mainGame
->
env
->
getRootGUIElement
();
irr
::
gui
::
IGUIElement
*
root
=
mainGame
->
env
->
getRootGUIElement
();
if
(
root
->
getElementFromPoint
(
mouse_pos
)
!=
root
)
if
(
root
->
getElementFromPoint
(
mouse_pos
)
!=
root
)
break
;
break
;
...
@@ -629,7 +648,7 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
...
@@ -629,7 +648,7 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
case
irr
:
:
EMIE_MOUSE_MOVED
:
{
case
irr
:
:
EMIE_MOUSE_MOVED
:
{
int
x
=
event
.
MouseInput
.
X
;
int
x
=
event
.
MouseInput
.
X
;
int
y
=
event
.
MouseInput
.
Y
;
int
y
=
event
.
MouseInput
.
Y
;
position2d
<
s32
>
mouse_pos
=
position2d
<
s32
>
(
x
,
y
);
irr
::
core
::
position2di
mouse_pos
(
x
,
y
);
irr
::
gui
::
IGUIElement
*
root
=
mainGame
->
env
->
getRootGUIElement
();
irr
::
gui
::
IGUIElement
*
root
=
mainGame
->
env
->
getRootGUIElement
();
if
(
root
->
getElementFromPoint
(
mouse_pos
)
!=
root
)
if
(
root
->
getElementFromPoint
(
mouse_pos
)
!=
root
)
break
;
break
;
...
@@ -833,26 +852,15 @@ void DeckBuilder::FilterCards() {
...
@@ -833,26 +852,15 @@ void DeckBuilder::FilterCards() {
if
(
wcsstr
(
text
.
name
,
&
pstr
[
1
])
==
0
)
if
(
wcsstr
(
text
.
name
,
&
pstr
[
1
])
==
0
)
continue
;
continue
;
}
else
if
(
pstr
[
0
]
==
L'@'
&&
set_code
)
{
}
else
if
(
pstr
[
0
]
==
L'@'
&&
set_code
)
{
unsigned
long
long
sc
=
data
.
setcode
;
if
(
!
check_set_code
(
data
,
set_code
))
continue
;
if
(
data
.
alias
)
{
auto
aptr
=
dataManager
.
_datas
.
find
(
data
.
alias
);
if
(
aptr
!=
dataManager
.
_datas
.
end
())
sc
=
aptr
->
second
.
setcode
;
}
bool
res
=
false
;
int
settype
=
set_code
&
0xfff
;
int
setsubtype
=
set_code
&
0xf000
;
while
(
sc
)
{
if
((
sc
&
0xfff
)
==
settype
&&
(
sc
&
0xf000
&
setsubtype
)
==
setsubtype
)
res
=
true
;
sc
=
sc
>>
16
;
}
if
(
!
res
)
continue
;
}
else
{
}
else
{
if
(
wcsstr
(
text
.
name
,
pstr
)
==
0
&&
wcsstr
(
text
.
text
,
pstr
)
==
0
)
if
(
wcsstr
(
text
.
name
,
pstr
)
==
0
&&
wcsstr
(
text
.
text
,
pstr
)
==
0
)
{
set_code
=
dataManager
.
GetSetCode
(
&
pstr
[
0
]);
if
(
!
set_code
||
!
check_set_code
(
data
,
set_code
))
continue
;
continue
;
}
}
}
}
}
results
.
push_back
(
ptr
);
results
.
push_back
(
ptr
);
}
}
myswprintf
(
result_string
,
L"%d"
,
results
.
size
());
myswprintf
(
result_string
,
L"%d"
,
results
.
size
());
...
...
gframe/duelclient.cpp
View file @
3820e8c4
...
@@ -288,6 +288,7 @@ void DuelClient::HandleSTOCPacketLan(char* data, unsigned int len) {
...
@@ -288,6 +288,7 @@ void DuelClient::HandleSTOCPacketLan(char* data, unsigned int len) {
mainGame
->
btnChainIgnore
->
setVisible
(
false
);
mainGame
->
btnChainIgnore
->
setVisible
(
false
);
mainGame
->
btnChainAlways
->
setVisible
(
false
);
mainGame
->
btnChainAlways
->
setVisible
(
false
);
mainGame
->
btnChainWhenAvail
->
setVisible
(
false
);
mainGame
->
btnChainWhenAvail
->
setVisible
(
false
);
mainGame
->
btnCancelOrFinish
->
setVisible
(
false
);
mainGame
->
deckBuilder
.
result_string
[
0
]
=
L'0'
;
mainGame
->
deckBuilder
.
result_string
[
0
]
=
L'0'
;
mainGame
->
deckBuilder
.
result_string
[
1
]
=
0
;
mainGame
->
deckBuilder
.
result_string
[
1
]
=
0
;
mainGame
->
deckBuilder
.
results
.
clear
();
mainGame
->
deckBuilder
.
results
.
clear
();
...
@@ -510,6 +511,7 @@ void DuelClient::HandleSTOCPacketLan(char* data, unsigned int len) {
...
@@ -510,6 +511,7 @@ void DuelClient::HandleSTOCPacketLan(char* data, unsigned int len) {
mainGame
->
btnChainIgnore
->
setVisible
(
false
);
mainGame
->
btnChainIgnore
->
setVisible
(
false
);
mainGame
->
btnChainAlways
->
setVisible
(
false
);
mainGame
->
btnChainAlways
->
setVisible
(
false
);
mainGame
->
btnChainWhenAvail
->
setVisible
(
false
);
mainGame
->
btnChainWhenAvail
->
setVisible
(
false
);
mainGame
->
btnCancelOrFinish
->
setVisible
(
false
);
mainGame
->
stMessage
->
setText
(
dataManager
.
GetSysString
(
1500
));
mainGame
->
stMessage
->
setText
(
dataManager
.
GetSysString
(
1500
));
mainGame
->
PopupElement
(
mainGame
->
wMessage
);
mainGame
->
PopupElement
(
mainGame
->
wMessage
);
mainGame
->
gMutex
.
Unlock
();
mainGame
->
gMutex
.
Unlock
();
...
@@ -539,6 +541,7 @@ void DuelClient::HandleSTOCPacketLan(char* data, unsigned int len) {
...
@@ -539,6 +541,7 @@ void DuelClient::HandleSTOCPacketLan(char* data, unsigned int len) {
mainGame
->
btnChainIgnore
->
setVisible
(
false
);
mainGame
->
btnChainIgnore
->
setVisible
(
false
);
mainGame
->
btnChainAlways
->
setVisible
(
false
);
mainGame
->
btnChainAlways
->
setVisible
(
false
);
mainGame
->
btnChainWhenAvail
->
setVisible
(
false
);
mainGame
->
btnChainWhenAvail
->
setVisible
(
false
);
mainGame
->
btnCancelOrFinish
->
setVisible
(
false
);
time_t
nowtime
=
time
(
NULL
);
time_t
nowtime
=
time
(
NULL
);
struct
tm
*
localedtime
=
localtime
(
&
nowtime
);
struct
tm
*
localedtime
=
localtime
(
&
nowtime
);
char
timebuf
[
40
];
char
timebuf
[
40
];
...
@@ -1179,6 +1182,11 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
...
@@ -1179,6 +1182,11 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
mainGame
->
stHintMsg
->
setText
(
textBuffer
);
mainGame
->
stHintMsg
->
setText
(
textBuffer
);
mainGame
->
stHintMsg
->
setVisible
(
true
);
mainGame
->
stHintMsg
->
setVisible
(
true
);
}
}
if
(
mainGame
->
dField
.
select_cancelable
)
{
mainGame
->
dField
.
ShowCancelOrFinishButton
(
1
);
}
else
{
mainGame
->
dField
.
ShowCancelOrFinishButton
(
0
);
}
return
false
;
return
false
;
}
}
case
MSG_SELECT_CHAIN
:
{
case
MSG_SELECT_CHAIN
:
{
...
@@ -1197,6 +1205,7 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
...
@@ -1197,6 +1205,7 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
mainGame
->
dField
.
activatable_descs
.
clear
();
mainGame
->
dField
.
activatable_descs
.
clear
();
mainGame
->
dField
.
conti_cards
.
clear
();
mainGame
->
dField
.
conti_cards
.
clear
();
mainGame
->
dField
.
reset_descs
.
clear
();
mainGame
->
dField
.
reset_descs
.
clear
();
mainGame
->
dField
.
conti_descs
.
clear
();
for
(
int
i
=
0
;
i
<
count
;
++
i
)
{
for
(
int
i
=
0
;
i
<
count
;
++
i
)
{
int
flag
=
BufferIO
::
ReadInt8
(
pbuf
);
int
flag
=
BufferIO
::
ReadInt8
(
pbuf
);
code
=
BufferIO
::
ReadInt32
(
pbuf
);
code
=
BufferIO
::
ReadInt32
(
pbuf
);
...
@@ -1214,6 +1223,7 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
...
@@ -1214,6 +1223,7 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
pcard
->
chain_code
=
code
;
pcard
->
chain_code
=
code
;
mainGame
->
dField
.
conti_cards
.
push_back
(
pcard
);
mainGame
->
dField
.
conti_cards
.
push_back
(
pcard
);
mainGame
->
dField
.
conti_act
=
true
;
mainGame
->
dField
.
conti_act
=
true
;
mainGame
->
dField
.
conti_descs
.
insert
(
desc
);
conti_exist
=
true
;
conti_exist
=
true
;
}
else
{
}
else
{
pcard
->
chain_code
=
code
;
pcard
->
chain_code
=
code
;
...
@@ -1412,6 +1422,9 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
...
@@ -1412,6 +1422,9 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
mainGame
->
gMutex
.
Lock
();
mainGame
->
gMutex
.
Lock
();
mainGame
->
stHintMsg
->
setText
(
textBuffer
);
mainGame
->
stHintMsg
->
setText
(
textBuffer
);
mainGame
->
stHintMsg
->
setVisible
(
true
);
mainGame
->
stHintMsg
->
setVisible
(
true
);
if
(
mainGame
->
dField
.
select_cancelable
)
{
mainGame
->
dField
.
ShowCancelOrFinishButton
(
1
);
}
mainGame
->
gMutex
.
Unlock
();
mainGame
->
gMutex
.
Unlock
();
return
false
;
return
false
;
}
}
...
@@ -1866,7 +1879,7 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
...
@@ -1866,7 +1879,7 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
mainGame
->
btnLeaveGame
->
setVisible
(
true
);
mainGame
->
btnLeaveGame
->
setVisible
(
true
);
}
}
if
(
!
mainGame
->
dInfo
.
isReplay
&&
mainGame
->
dInfo
.
player_type
<
7
)
{
if
(
!
mainGame
->
dInfo
.
isReplay
&&
mainGame
->
dInfo
.
player_type
<
7
)
{
if
(
!
mainGame
->
chkHideChainButton
->
isChecked
()
)
{
if
(
mainGame
->
gameConf
.
control_mode
==
0
)
{
mainGame
->
btnChainIgnore
->
setVisible
(
true
);
mainGame
->
btnChainIgnore
->
setVisible
(
true
);
mainGame
->
btnChainAlways
->
setVisible
(
true
);
mainGame
->
btnChainAlways
->
setVisible
(
true
);
mainGame
->
btnChainWhenAvail
->
setVisible
(
true
);
mainGame
->
btnChainWhenAvail
->
setVisible
(
true
);
...
@@ -1875,6 +1888,7 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
...
@@ -1875,6 +1888,7 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
mainGame
->
btnChainIgnore
->
setVisible
(
false
);
mainGame
->
btnChainIgnore
->
setVisible
(
false
);
mainGame
->
btnChainAlways
->
setVisible
(
false
);
mainGame
->
btnChainAlways
->
setVisible
(
false
);
mainGame
->
btnChainWhenAvail
->
setVisible
(
false
);
mainGame
->
btnChainWhenAvail
->
setVisible
(
false
);
mainGame
->
btnCancelOrFinish
->
setVisible
(
false
);
}
}
}
}
if
(
mainGame
->
dInfo
.
isTag
&&
mainGame
->
dInfo
.
turn
!=
1
)
{
if
(
mainGame
->
dInfo
.
isTag
&&
mainGame
->
dInfo
.
turn
!=
1
)
{
...
...
gframe/event_handler.cpp
View file @
3820e8c4
...
@@ -148,6 +148,137 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
...
@@ -148,6 +148,137 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
UpdateChainButtons
();
UpdateChainButtons
();
break
;
break
;
}
}
case
BUTTON_CANCEL_OR_FINISH
:
{
switch
(
mainGame
->
dInfo
.
curMsg
)
{
case
MSG_WAITING
:
{
if
(
mainGame
->
wCardSelect
->
isVisible
())
{
mainGame
->
HideElement
(
mainGame
->
wCardSelect
);
ShowCancelOrFinishButton
(
0
);
}
break
;
}
case
MSG_SELECT_BATTLECMD
:
{
if
(
mainGame
->
wCardSelect
->
isVisible
())
{
mainGame
->
HideElement
(
mainGame
->
wCardSelect
);
ShowCancelOrFinishButton
(
0
);
}
if
(
mainGame
->
wOptions
->
isVisible
())
{
mainGame
->
HideElement
(
mainGame
->
wOptions
);
ShowCancelOrFinishButton
(
0
);
}
break
;
}
case
MSG_SELECT_IDLECMD
:
{
if
(
mainGame
->
wCardSelect
->
isVisible
())
{
mainGame
->
HideElement
(
mainGame
->
wCardSelect
);
ShowCancelOrFinishButton
(
0
);
}
if
(
mainGame
->
wOptions
->
isVisible
())
{
mainGame
->
HideElement
(
mainGame
->
wOptions
);
ShowCancelOrFinishButton
(
0
);
}
break
;
}
case
MSG_SELECT_YESNO
:
case
MSG_SELECT_EFFECTYN
:
{
if
(
highlighting_card
)
highlighting_card
->
is_highlighting
=
false
;
highlighting_card
=
0
;
DuelClient
::
SetResponseI
(
0
);
mainGame
->
HideElement
(
mainGame
->
wQuery
,
true
);
break
;
}
case
MSG_SELECT_CARD
:
{
if
(
selected_cards
.
size
()
==
0
)
{
if
(
select_cancelable
)
{
DuelClient
::
SetResponseI
(
-
1
);
ShowCancelOrFinishButton
(
0
);
if
(
mainGame
->
wCardSelect
->
isVisible
())
mainGame
->
HideElement
(
mainGame
->
wCardSelect
,
true
);
else
DuelClient
::
SendResponse
();
}
break
;
}
if
(
mainGame
->
wQuery
->
isVisible
())
{
SetResponseSelectedCards
();
ShowCancelOrFinishButton
(
0
);
mainGame
->
HideElement
(
mainGame
->
wQuery
,
true
);
break
;
}
if
(
select_ready
)
{
SetResponseSelectedCards
();
ShowCancelOrFinishButton
(
0
);
if
(
mainGame
->
wCardSelect
->
isVisible
())
mainGame
->
HideElement
(
mainGame
->
wCardSelect
,
true
);
else
DuelClient
::
SendResponse
();
}
break
;
}
case
MSG_SELECT_TRIBUTE
:
{
if
(
selected_cards
.
size
()
==
0
)
{
if
(
select_cancelable
)
{
DuelClient
::
SetResponseI
(
-
1
);
if
(
mainGame
->
wCardSelect
->
isVisible
())
mainGame
->
HideElement
(
mainGame
->
wCardSelect
,
true
);
else
DuelClient
::
SendResponse
();
}
break
;
}
if
(
mainGame
->
wQuery
->
isVisible
())
{
SetResponseSelectedCards
();
ShowCancelOrFinishButton
(
0
);
mainGame
->
HideElement
(
mainGame
->
wQuery
,
true
);
break
;
}
break
;
}
case
MSG_SELECT_SUM
:
{
if
(
mainGame
->
wQuery
->
isVisible
())
{
SetResponseSelectedCards
();
ShowCancelOrFinishButton
(
0
);
mainGame
->
HideElement
(
mainGame
->
wQuery
,
true
);
break
;
}
break
;
}
case
MSG_SELECT_CHAIN
:
{
if
(
chain_forced
)
break
;
if
(
mainGame
->
wCardSelect
->
isVisible
())
{
mainGame
->
HideElement
(
mainGame
->
wCardSelect
);
ShowCancelOrFinishButton
(
0
);
break
;
}
if
(
mainGame
->
wQuery
->
isVisible
())
{
DuelClient
::
SetResponseI
(
-
1
);
ShowCancelOrFinishButton
(
0
);
mainGame
->
HideElement
(
mainGame
->
wQuery
,
true
);
}
else
{
mainGame
->
PopupElement
(
mainGame
->
wQuery
);
ShowCancelOrFinishButton
(
0
);
}
if
(
mainGame
->
wOptions
->
isVisible
())
{
DuelClient
::
SetResponseI
(
-
1
);
ShowCancelOrFinishButton
(
0
);
mainGame
->
HideElement
(
mainGame
->
wOptions
);
}
break
;
}
case
MSG_SORT_CHAIN
:
case
MSG_SORT_CARD
:
{
if
(
mainGame
->
wCardSelect
->
isVisible
())
{
DuelClient
::
SetResponseI
(
-
1
);
mainGame
->
HideElement
(
mainGame
->
wCardSelect
,
true
);
}
break
;
}
}
break
;
}
case
BUTTON_MSG_OK
:
{
case
BUTTON_MSG_OK
:
{
mainGame
->
HideElement
(
mainGame
->
wMessage
);
mainGame
->
HideElement
(
mainGame
->
wMessage
);
mainGame
->
actionSignal
.
Set
();
mainGame
->
actionSignal
.
Set
();
...
@@ -164,13 +295,19 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
...
@@ -164,13 +295,19 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
mainGame
->
HideElement
(
mainGame
->
wQuery
,
true
);
mainGame
->
HideElement
(
mainGame
->
wQuery
,
true
);
break
;
break
;
}
}
case
MSG_SELECT_CHAIN
:
case
MSG_SELECT_CARD
:
case
MSG_SELECT_CARD
:
case
MSG_SELECT_TRIBUTE
:
case
MSG_SELECT_TRIBUTE
:
case
MSG_SELECT_SUM
:
{
case
MSG_SELECT_SUM
:
{
mainGame
->
HideElement
(
mainGame
->
wQuery
);
mainGame
->
HideElement
(
mainGame
->
wQuery
);
break
;
break
;
}
}
case
MSG_SELECT_CHAIN
:
{
mainGame
->
HideElement
(
mainGame
->
wQuery
);
if
(
!
chain_forced
)
{
ShowCancelOrFinishButton
(
1
);
}
break
;
}
default:
{
default:
{
mainGame
->
HideElement
(
mainGame
->
wQuery
);
mainGame
->
HideElement
(
mainGame
->
wQuery
);
break
;
break
;
...
@@ -192,12 +329,14 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
...
@@ -192,12 +329,14 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
case
MSG_SELECT_CHAIN
:
{
case
MSG_SELECT_CHAIN
:
{
DuelClient
::
SetResponseI
(
-
1
);
DuelClient
::
SetResponseI
(
-
1
);
mainGame
->
HideElement
(
mainGame
->
wQuery
,
true
);
mainGame
->
HideElement
(
mainGame
->
wQuery
,
true
);
ShowCancelOrFinishButton
(
0
);
break
;
break
;
}
}
case
MSG_SELECT_CARD
:
case
MSG_SELECT_CARD
:
case
MSG_SELECT_TRIBUTE
:
case
MSG_SELECT_TRIBUTE
:
case
MSG_SELECT_SUM
:
{
case
MSG_SELECT_SUM
:
{
SetResponseSelectedCards
();
SetResponseSelectedCards
();
ShowCancelOrFinishButton
(
0
);
mainGame
->
HideElement
(
mainGame
->
wQuery
,
true
);
mainGame
->
HideElement
(
mainGame
->
wQuery
,
true
);
break
;
break
;
}
}
...
@@ -285,15 +424,19 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
...
@@ -285,15 +424,19 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
case
BUTTON_CMD_ACTIVATE
:
case
BUTTON_CMD_ACTIVATE
:
case
BUTTON_CMD_RESET
:
{
case
BUTTON_CMD_RESET
:
{
mainGame
->
wCmdMenu
->
setVisible
(
false
);
mainGame
->
wCmdMenu
->
setVisible
(
false
);
ShowCancelOrFinishButton
(
0
);
if
(
!
list_command
)
{
if
(
!
list_command
)
{
int
index
=
-
1
;
int
index
=
-
1
;
select_options
.
clear
();
select_options
.
clear
();
for
(
size_t
i
=
0
;
i
<
activatable_cards
.
size
();
++
i
)
{
for
(
size_t
i
=
0
;
i
<
activatable_cards
.
size
();
++
i
)
{
if
(
activatable_cards
[
i
]
==
clicked_card
)
{
if
(
activatable_cards
[
i
]
==
clicked_card
)
{
if
(
reset_descs
.
find
(
activatable_descs
[
i
])
!=
reset_descs
.
end
())
if
(
conti_descs
.
find
(
activatable_descs
[
i
])
!=
conti_descs
.
end
())
continue
;
if
(
reset_descs
.
find
(
activatable_descs
[
i
])
!=
reset_descs
.
end
())
{
if
(
id
==
BUTTON_CMD_ACTIVATE
)
continue
;
if
(
id
==
BUTTON_CMD_ACTIVATE
)
continue
;
else
}
else
{
if
(
id
==
BUTTON_CMD_RESET
)
continue
;
if
(
id
==
BUTTON_CMD_RESET
)
continue
;
}
select_options
.
push_back
(
activatable_descs
[
i
]);
select_options
.
push_back
(
activatable_descs
[
i
]);
if
(
index
==
-
1
)
index
=
i
;
if
(
index
==
-
1
)
index
=
i
;
}
}
...
@@ -412,6 +555,7 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
...
@@ -412,6 +555,7 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
list_command
=
COMMAND_SPSUMMON
;
list_command
=
COMMAND_SPSUMMON
;
mainGame
->
wCardSelect
->
setText
(
dataManager
.
GetSysString
(
509
));
mainGame
->
wCardSelect
->
setText
(
dataManager
.
GetSysString
(
509
));
ShowSelectCard
();
ShowSelectCard
();
ShowCancelOrFinishButton
(
1
);
}
}
break
;
break
;
}
}
...
@@ -564,6 +708,11 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
...
@@ -564,6 +708,11 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
select_options
.
clear
();
select_options
.
clear
();
for
(
size_t
i
=
0
;
i
<
activatable_cards
.
size
();
++
i
)
{
for
(
size_t
i
=
0
;
i
<
activatable_cards
.
size
();
++
i
)
{
if
(
activatable_cards
[
i
]
==
command_card
)
{
if
(
activatable_cards
[
i
]
==
command_card
)
{
if
(
conti_descs
.
find
(
activatable_descs
[
i
])
!=
conti_descs
.
end
())
{
if
(
list_command
==
COMMAND_ACTIVATE
)
continue
;
}
else
{
if
(
list_command
==
COMMAND_OPERATION
)
continue
;
}
select_options
.
push_back
(
activatable_descs
[
i
]);
select_options
.
push_back
(
activatable_descs
[
i
]);
if
(
index
==
-
1
)
index
=
i
;
if
(
index
==
-
1
)
index
=
i
;
}
}
...
@@ -607,13 +756,19 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
...
@@ -607,13 +756,19 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
int
sel
=
selected_cards
.
size
();
int
sel
=
selected_cards
.
size
();
if
(
sel
>=
select_max
)
{
if
(
sel
>=
select_max
)
{
SetResponseSelectedCards
();
SetResponseSelectedCards
();
ShowCancelOrFinishButton
(
0
);
mainGame
->
HideElement
(
mainGame
->
wCardSelect
,
true
);
mainGame
->
HideElement
(
mainGame
->
wCardSelect
,
true
);
}
else
if
(
sel
>=
select_min
)
{
}
else
if
(
sel
>=
select_min
)
{
select_ready
=
true
;
select_ready
=
true
;
mainGame
->
btnSelectOK
->
setVisible
(
true
);
mainGame
->
btnSelectOK
->
setVisible
(
true
);
ShowCancelOrFinishButton
(
2
);
}
else
{
}
else
{
select_ready
=
false
;
select_ready
=
false
;
mainGame
->
btnSelectOK
->
setVisible
(
false
);
mainGame
->
btnSelectOK
->
setVisible
(
false
);
if
(
select_cancelable
&&
sel
==
0
)
ShowCancelOrFinishButton
(
1
);
else
ShowCancelOrFinishButton
(
0
);
}
}
break
;
break
;
}
}
...
@@ -670,6 +825,7 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
...
@@ -670,6 +825,7 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
if
(
mainGame
->
dInfo
.
curMsg
==
MSG_SELECT_CARD
||
mainGame
->
dInfo
.
curMsg
==
MSG_SELECT_SUM
)
{
if
(
mainGame
->
dInfo
.
curMsg
==
MSG_SELECT_CARD
||
mainGame
->
dInfo
.
curMsg
==
MSG_SELECT_SUM
)
{
if
(
select_ready
)
{
if
(
select_ready
)
{
SetResponseSelectedCards
();
SetResponseSelectedCards
();
ShowCancelOrFinishButton
(
0
);
mainGame
->
HideElement
(
mainGame
->
wCardSelect
,
true
);
mainGame
->
HideElement
(
mainGame
->
wCardSelect
,
true
);
}
}
break
;
break
;
...
@@ -1253,13 +1409,16 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
...
@@ -1253,13 +1409,16 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
}
}
if
(
min
>=
select_max
)
{
if
(
min
>=
select_max
)
{
SetResponseSelectedCards
();
SetResponseSelectedCards
();
ShowCancelOrFinishButton
(
0
);
DuelClient
::
SendResponse
();
DuelClient
::
SendResponse
();
}
else
if
(
max
>=
select_min
)
{
}
else
if
(
max
>=
select_min
)
{
if
(
selected_cards
.
size
()
==
selectable_cards
.
size
())
{
if
(
selected_cards
.
size
()
==
selectable_cards
.
size
())
{
SetResponseSelectedCards
();
SetResponseSelectedCards
();
ShowCancelOrFinishButton
(
0
);
DuelClient
::
SendResponse
();
DuelClient
::
SendResponse
();
}
else
{
}
else
{
select_ready
=
true
;
select_ready
=
true
;
ShowCancelOrFinishButton
(
2
);
if
(
mainGame
->
dInfo
.
curMsg
==
MSG_SELECT_TRIBUTE
)
{
if
(
mainGame
->
dInfo
.
curMsg
==
MSG_SELECT_TRIBUTE
)
{
wchar_t
wbuf
[
256
],
*
pwbuf
=
wbuf
;
wchar_t
wbuf
[
256
],
*
pwbuf
=
wbuf
;
BufferIO
::
CopyWStrRef
(
dataManager
.
GetSysString
(
209
),
pwbuf
,
256
);
BufferIO
::
CopyWStrRef
(
dataManager
.
GetSysString
(
209
),
pwbuf
,
256
);
...
@@ -1271,6 +1430,10 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
...
@@ -1271,6 +1430,10 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
}
}
}
else
{
}
else
{
select_ready
=
false
;
select_ready
=
false
;
if
(
select_cancelable
&&
min
==
0
)
ShowCancelOrFinishButton
(
1
);
else
ShowCancelOrFinishButton
(
0
);
}
}
break
;
break
;
}
}
...
@@ -1313,6 +1476,12 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
...
@@ -1313,6 +1476,12 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
case
irr
:
:
EMIE_RMOUSE_LEFT_UP
:
{
case
irr
:
:
EMIE_RMOUSE_LEFT_UP
:
{
if
(
mainGame
->
dInfo
.
isReplay
)
if
(
mainGame
->
dInfo
.
isReplay
)
break
;
break
;
s32
x
=
event
.
MouseInput
.
X
;
s32
y
=
event
.
MouseInput
.
Y
;
irr
::
core
::
position2di
pos
(
x
,
y
);
irr
::
gui
::
IGUIElement
*
root
=
mainGame
->
env
->
getRootGUIElement
();
if
(
root
->
getElementFromPoint
(
pos
)
==
mainGame
->
btnCancelOrFinish
)
mainGame
->
chkHideHintButton
->
setChecked
(
true
);
if
(
mainGame
->
gameConf
.
control_mode
==
1
&&
event
.
MouseInput
.
X
>
300
)
{
if
(
mainGame
->
gameConf
.
control_mode
==
1
&&
event
.
MouseInput
.
X
>
300
)
{
mainGame
->
ignore_chain
=
event
.
MouseInput
.
isRightPressed
();
mainGame
->
ignore_chain
=
event
.
MouseInput
.
isRightPressed
();
mainGame
->
always_chain
=
false
;
mainGame
->
always_chain
=
false
;
...
@@ -1326,24 +1495,29 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
...
@@ -1326,24 +1495,29 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
case
MSG_WAITING
:
{
case
MSG_WAITING
:
{
if
(
mainGame
->
wCardSelect
->
isVisible
())
{
if
(
mainGame
->
wCardSelect
->
isVisible
())
{
mainGame
->
HideElement
(
mainGame
->
wCardSelect
);
mainGame
->
HideElement
(
mainGame
->
wCardSelect
);
ShowCancelOrFinishButton
(
0
);
}
}
break
;
break
;
}
}
case
MSG_SELECT_BATTLECMD
:
{
case
MSG_SELECT_BATTLECMD
:
{
if
(
mainGame
->
wCardSelect
->
isVisible
())
{
if
(
mainGame
->
wCardSelect
->
isVisible
())
{
mainGame
->
HideElement
(
mainGame
->
wCardSelect
);
mainGame
->
HideElement
(
mainGame
->
wCardSelect
);
ShowCancelOrFinishButton
(
0
);
}
}
if
(
mainGame
->
wOptions
->
isVisible
())
{
if
(
mainGame
->
wOptions
->
isVisible
())
{
mainGame
->
HideElement
(
mainGame
->
wOptions
);
mainGame
->
HideElement
(
mainGame
->
wOptions
);
ShowCancelOrFinishButton
(
0
);
}
}
break
;
break
;
}
}
case
MSG_SELECT_IDLECMD
:
{
case
MSG_SELECT_IDLECMD
:
{
if
(
mainGame
->
wCardSelect
->
isVisible
())
{
if
(
mainGame
->
wCardSelect
->
isVisible
())
{
mainGame
->
HideElement
(
mainGame
->
wCardSelect
);
mainGame
->
HideElement
(
mainGame
->
wCardSelect
);
ShowCancelOrFinishButton
(
0
);
}
}
if
(
mainGame
->
wOptions
->
isVisible
())
{
if
(
mainGame
->
wOptions
->
isVisible
())
{
mainGame
->
HideElement
(
mainGame
->
wOptions
);
mainGame
->
HideElement
(
mainGame
->
wOptions
);
ShowCancelOrFinishButton
(
0
);
}
}
break
;
break
;
}
}
...
@@ -1360,6 +1534,7 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
...
@@ -1360,6 +1534,7 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
if
(
selected_cards
.
size
()
==
0
)
{
if
(
selected_cards
.
size
()
==
0
)
{
if
(
select_cancelable
)
{
if
(
select_cancelable
)
{
DuelClient
::
SetResponseI
(
-
1
);
DuelClient
::
SetResponseI
(
-
1
);
ShowCancelOrFinishButton
(
0
);
if
(
mainGame
->
wCardSelect
->
isVisible
())
if
(
mainGame
->
wCardSelect
->
isVisible
())
mainGame
->
HideElement
(
mainGame
->
wCardSelect
,
true
);
mainGame
->
HideElement
(
mainGame
->
wCardSelect
,
true
);
else
else
...
@@ -1369,11 +1544,13 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
...
@@ -1369,11 +1544,13 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
}
}
if
(
mainGame
->
wQuery
->
isVisible
())
{
if
(
mainGame
->
wQuery
->
isVisible
())
{
SetResponseSelectedCards
();
SetResponseSelectedCards
();
ShowCancelOrFinishButton
(
0
);
mainGame
->
HideElement
(
mainGame
->
wQuery
,
true
);
mainGame
->
HideElement
(
mainGame
->
wQuery
,
true
);
break
;
break
;
}
}
if
(
select_ready
)
{
if
(
select_ready
)
{
SetResponseSelectedCards
();
SetResponseSelectedCards
();
ShowCancelOrFinishButton
(
0
);
if
(
mainGame
->
wCardSelect
->
isVisible
())
if
(
mainGame
->
wCardSelect
->
isVisible
())
mainGame
->
HideElement
(
mainGame
->
wCardSelect
,
true
);
mainGame
->
HideElement
(
mainGame
->
wCardSelect
,
true
);
else
else
...
@@ -1394,6 +1571,7 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
...
@@ -1394,6 +1571,7 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
}
}
if
(
mainGame
->
wQuery
->
isVisible
())
{
if
(
mainGame
->
wQuery
->
isVisible
())
{
SetResponseSelectedCards
();
SetResponseSelectedCards
();
ShowCancelOrFinishButton
(
0
);
mainGame
->
HideElement
(
mainGame
->
wQuery
,
true
);
mainGame
->
HideElement
(
mainGame
->
wQuery
,
true
);
break
;
break
;
}
}
...
@@ -1402,6 +1580,7 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
...
@@ -1402,6 +1580,7 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
case
MSG_SELECT_SUM
:
{
case
MSG_SELECT_SUM
:
{
if
(
mainGame
->
wQuery
->
isVisible
())
{
if
(
mainGame
->
wQuery
->
isVisible
())
{
SetResponseSelectedCards
();
SetResponseSelectedCards
();
ShowCancelOrFinishButton
(
0
);
mainGame
->
HideElement
(
mainGame
->
wQuery
,
true
);
mainGame
->
HideElement
(
mainGame
->
wQuery
,
true
);
break
;
break
;
}
}
...
@@ -1412,16 +1591,20 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
...
@@ -1412,16 +1591,20 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
break
;
break
;
if
(
mainGame
->
wCardSelect
->
isVisible
())
{
if
(
mainGame
->
wCardSelect
->
isVisible
())
{
mainGame
->
HideElement
(
mainGame
->
wCardSelect
);
mainGame
->
HideElement
(
mainGame
->
wCardSelect
);
ShowCancelOrFinishButton
(
0
);
break
;
break
;
}
}
if
(
mainGame
->
wQuery
->
isVisible
())
{
if
(
mainGame
->
wQuery
->
isVisible
())
{
DuelClient
::
SetResponseI
(
-
1
);
DuelClient
::
SetResponseI
(
-
1
);
ShowCancelOrFinishButton
(
0
);
mainGame
->
HideElement
(
mainGame
->
wQuery
,
true
);
mainGame
->
HideElement
(
mainGame
->
wQuery
,
true
);
}
else
{
}
else
{
mainGame
->
PopupElement
(
mainGame
->
wQuery
);
mainGame
->
PopupElement
(
mainGame
->
wQuery
);
ShowCancelOrFinishButton
(
0
);
}
}
if
(
mainGame
->
wOptions
->
isVisible
())
{
if
(
mainGame
->
wOptions
->
isVisible
())
{
DuelClient
::
SetResponseI
(
-
1
);
DuelClient
::
SetResponseI
(
-
1
);
ShowCancelOrFinishButton
(
0
);
mainGame
->
HideElement
(
mainGame
->
wOptions
);
mainGame
->
HideElement
(
mainGame
->
wOptions
);
}
}
break
;
break
;
...
@@ -1440,12 +1623,25 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
...
@@ -1440,12 +1623,25 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
case
irr
:
:
EMIE_MOUSE_MOVED
:
{
case
irr
:
:
EMIE_MOUSE_MOVED
:
{
if
(
!
mainGame
->
dInfo
.
isStarted
)
if
(
!
mainGame
->
dInfo
.
isStarted
)
break
;
break
;
bool
should_show_tip
=
false
;
s32
x
=
event
.
MouseInput
.
X
;
s32
x
=
event
.
MouseInput
.
X
;
s32
y
=
event
.
MouseInput
.
Y
;
s32
y
=
event
.
MouseInput
.
Y
;
hovered_location
=
0
;
irr
::
core
::
position2di
pos
(
x
,
y
);
irr
::
core
::
position2di
pos
(
x
,
y
);
if
(
x
<
300
)
wchar_t
formatBuffer
[
2048
];
if
(
x
<
300
)
{
irr
::
gui
::
IGUIElement
*
root
=
mainGame
->
env
->
getRootGUIElement
();
irr
::
gui
::
IGUIElement
*
elem
=
root
->
getElementFromPoint
(
pos
);
if
(
elem
==
mainGame
->
btnCancelOrFinish
)
{
should_show_tip
=
true
;
myswprintf
(
formatBuffer
,
dataManager
.
GetSysString
(
1700
),
mainGame
->
btnCancelOrFinish
->
getText
());
mainGame
->
stTip
->
setText
(
formatBuffer
);
irr
::
core
::
dimension2d
<
unsigned
int
>
dtip
=
mainGame
->
textFont
->
getDimension
(
formatBuffer
)
+
irr
::
core
::
dimension2d
<
unsigned
int
>
(
10
,
10
);
mainGame
->
stTip
->
setRelativePosition
(
recti
(
x
-
10
-
dtip
.
Width
,
y
-
10
-
dtip
.
Height
,
x
-
10
,
y
-
10
));
}
mainGame
->
stTip
->
setVisible
(
should_show_tip
);
break
;
break
;
}
hovered_location
=
0
;
ClientCard
*
mcard
=
0
;
ClientCard
*
mcard
=
0
;
int
mplayer
=
-
1
;
int
mplayer
=
-
1
;
if
(
!
panel
||
!
panel
->
isVisible
()
||
!
panel
->
getRelativePosition
().
isPointInside
(
pos
))
{
if
(
!
panel
||
!
panel
->
isVisible
()
||
!
panel
->
getRelativePosition
().
isPointInside
(
pos
))
{
...
@@ -1471,12 +1667,14 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
...
@@ -1471,12 +1667,14 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
mplayer
=
1
;
mplayer
=
1
;
}
}
}
}
if
(
hovered_location
==
LOCATION_HAND
&&
(
mainGame
->
dInfo
.
is_shuffling
||
mainGame
->
dInfo
.
curMsg
==
MSG_SHUFFLE_HAND
))
if
(
hovered_location
==
LOCATION_HAND
&&
(
mainGame
->
dInfo
.
is_shuffling
||
mainGame
->
dInfo
.
curMsg
==
MSG_SHUFFLE_HAND
))
mcard
=
0
;
mcard
=
0
;
if
(
mcard
==
0
&&
mplayer
<
0
)
if
(
mcard
==
0
&&
mplayer
<
0
)
mainGame
->
stTip
->
setVisible
(
false
)
;
should_show_tip
=
false
;
else
if
(
mcard
==
hovered_card
&&
mplayer
==
hovered_player
)
{
else
if
(
mcard
==
hovered_card
&&
mplayer
==
hovered_player
)
{
if
(
mainGame
->
stTip
->
isVisible
())
{
if
(
mainGame
->
stTip
->
isVisible
())
{
should_show_tip
=
true
;
irr
::
core
::
recti
tpos
=
mainGame
->
stTip
->
getRelativePosition
();
irr
::
core
::
recti
tpos
=
mainGame
->
stTip
->
getRelativePosition
();
mainGame
->
stTip
->
setRelativePosition
(
irr
::
core
::
position2di
(
x
-
tpos
.
getWidth
()
-
10
,
mcard
?
y
-
tpos
.
getHeight
()
-
10
:
y
+
10
));
mainGame
->
stTip
->
setRelativePosition
(
irr
::
core
::
position2di
(
x
-
tpos
.
getWidth
()
-
10
,
mcard
?
y
-
tpos
.
getHeight
()
-
10
:
y
+
10
));
}
}
...
@@ -1522,7 +1720,6 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
...
@@ -1522,7 +1720,6 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
mainGame
->
ShowCardInfo
(
mcard
->
code
);
mainGame
->
ShowCardInfo
(
mcard
->
code
);
if
(
mcard
->
location
&
0xe
)
{
if
(
mcard
->
location
&
0xe
)
{
std
::
wstring
str
;
std
::
wstring
str
;
wchar_t
formatBuffer
[
2048
];
myswprintf
(
formatBuffer
,
L"%ls"
,
dataManager
.
GetName
(
mcard
->
code
));
myswprintf
(
formatBuffer
,
L"%ls"
,
dataManager
.
GetName
(
mcard
->
code
));
str
.
append
(
formatBuffer
);
str
.
append
(
formatBuffer
);
if
(
mcard
->
type
&
TYPE_MONSTER
)
{
if
(
mcard
->
type
&
TYPE_MONSTER
)
{
...
@@ -1572,13 +1769,13 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
...
@@ -1572,13 +1769,13 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
myswprintf
(
formatBuffer
,
L"
\n
*%ls"
,
dataManager
.
GetDesc
(
iter
->
first
));
myswprintf
(
formatBuffer
,
L"
\n
*%ls"
,
dataManager
.
GetDesc
(
iter
->
first
));
str
.
append
(
formatBuffer
);
str
.
append
(
formatBuffer
);
}
}
mainGame
->
stTip
->
setVisible
(
true
)
;
should_show_tip
=
true
;
irr
::
core
::
dimension2d
<
unsigned
int
>
dtip
=
mainGame
->
textFont
->
getDimension
(
str
.
c_str
())
+
irr
::
core
::
dimension2d
<
unsigned
int
>
(
10
,
10
);
irr
::
core
::
dimension2d
<
unsigned
int
>
dtip
=
mainGame
->
textFont
->
getDimension
(
str
.
c_str
())
+
irr
::
core
::
dimension2d
<
unsigned
int
>
(
10
,
10
);
mainGame
->
stTip
->
setRelativePosition
(
recti
(
x
-
10
-
dtip
.
Width
,
y
-
10
-
dtip
.
Height
,
x
-
10
,
y
-
10
));
mainGame
->
stTip
->
setRelativePosition
(
recti
(
x
-
10
-
dtip
.
Width
,
y
-
10
-
dtip
.
Height
,
x
-
10
,
y
-
10
));
mainGame
->
stTip
->
setText
(
str
.
c_str
());
mainGame
->
stTip
->
setText
(
str
.
c_str
());
}
}
}
else
{
}
else
{
mainGame
->
stTip
->
setVisible
(
false
)
;
should_show_tip
=
false
;
mainGame
->
imgCard
->
setImage
(
imageManager
.
tCover
[
0
]);
mainGame
->
imgCard
->
setImage
(
imageManager
.
tCover
[
0
]);
mainGame
->
stName
->
setText
(
L""
);
mainGame
->
stName
->
setText
(
L""
);
mainGame
->
stInfo
->
setText
(
L""
);
mainGame
->
stInfo
->
setText
(
L""
);
...
@@ -1605,19 +1802,19 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
...
@@ -1605,19 +1802,19 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
player_name
=
mainGame
->
dInfo
.
clientname_tag
;
player_name
=
mainGame
->
dInfo
.
clientname_tag
;
}
}
std
::
wstring
str
(
player_name
);
std
::
wstring
str
(
player_name
);
wchar_t
formatBuffer
[
2048
];
const
auto
&
player_desc_hints
=
mainGame
->
dField
.
player_desc_hints
[
mplayer
];
const
auto
&
player_desc_hints
=
mainGame
->
dField
.
player_desc_hints
[
mplayer
];
for
(
auto
iter
=
player_desc_hints
.
begin
();
iter
!=
player_desc_hints
.
end
();
++
iter
)
{
for
(
auto
iter
=
player_desc_hints
.
begin
();
iter
!=
player_desc_hints
.
end
();
++
iter
)
{
myswprintf
(
formatBuffer
,
L"
\n
*%ls"
,
dataManager
.
GetDesc
(
iter
->
first
));
myswprintf
(
formatBuffer
,
L"
\n
*%ls"
,
dataManager
.
GetDesc
(
iter
->
first
));
str
.
append
(
formatBuffer
);
str
.
append
(
formatBuffer
);
}
}
mainGame
->
stTip
->
setVisible
(
true
)
;
should_show_tip
=
true
;
irr
::
core
::
dimension2d
<
unsigned
int
>
dtip
=
mainGame
->
textFont
->
getDimension
(
str
.
c_str
())
+
irr
::
core
::
dimension2d
<
unsigned
int
>
(
10
,
10
);
irr
::
core
::
dimension2d
<
unsigned
int
>
dtip
=
mainGame
->
textFont
->
getDimension
(
str
.
c_str
())
+
irr
::
core
::
dimension2d
<
unsigned
int
>
(
10
,
10
);
mainGame
->
stTip
->
setRelativePosition
(
recti
(
x
-
10
-
dtip
.
Width
,
y
+
10
,
x
-
10
,
y
+
10
+
dtip
.
Height
));
mainGame
->
stTip
->
setRelativePosition
(
recti
(
x
-
10
-
dtip
.
Width
,
y
+
10
,
x
-
10
,
y
+
10
+
dtip
.
Height
));
mainGame
->
stTip
->
setText
(
str
.
c_str
());
mainGame
->
stTip
->
setText
(
str
.
c_str
());
}
}
hovered_player
=
mplayer
;
hovered_player
=
mplayer
;
}
}
mainGame
->
stTip
->
setVisible
(
should_show_tip
);
break
;
break
;
}
}
case
irr
:
:
EMIE_MOUSE_WHEEL
:
{
case
irr
:
:
EMIE_MOUSE_WHEEL
:
{
...
@@ -2006,6 +2203,26 @@ void ClientField::UpdateChainButtons() {
...
@@ -2006,6 +2203,26 @@ void ClientField::UpdateChainButtons() {
mainGame
->
btnChainWhenAvail
->
setPressed
(
mainGame
->
chain_when_avail
);
mainGame
->
btnChainWhenAvail
->
setPressed
(
mainGame
->
chain_when_avail
);
}
}
}
}
void
ClientField
::
ShowCancelOrFinishButton
(
int
buttonOp
)
{
if
(
!
mainGame
->
chkHideHintButton
->
isChecked
()
&&
!
mainGame
->
dInfo
.
isReplay
)
{
switch
(
buttonOp
)
{
case
1
:
mainGame
->
btnCancelOrFinish
->
setText
(
dataManager
.
GetSysString
(
1295
));
mainGame
->
btnCancelOrFinish
->
setVisible
(
true
);
break
;
case
2
:
mainGame
->
btnCancelOrFinish
->
setText
(
dataManager
.
GetSysString
(
1296
));
mainGame
->
btnCancelOrFinish
->
setVisible
(
true
);
break
;
case
0
:
default:
mainGame
->
btnCancelOrFinish
->
setVisible
(
false
);
break
;
}
}
else
{
mainGame
->
btnCancelOrFinish
->
setVisible
(
false
);
}
}
void
ClientField
::
SetResponseSelectedCards
()
const
{
void
ClientField
::
SetResponseSelectedCards
()
const
{
unsigned
char
respbuf
[
64
];
unsigned
char
respbuf
[
64
];
respbuf
[
0
]
=
selected_cards
.
size
();
respbuf
[
0
]
=
selected_cards
.
size
();
...
...
gframe/game.cpp
View file @
3820e8c4
...
@@ -241,8 +241,8 @@ bool Game::Initialize() {
...
@@ -241,8 +241,8 @@ bool Game::Initialize() {
chkIgnore2
->
setChecked
(
gameConf
.
chkIgnore2
!=
0
);
chkIgnore2
->
setChecked
(
gameConf
.
chkIgnore2
!=
0
);
chkHideSetname
=
env
->
addCheckBox
(
false
,
rect
<
s32
>
(
20
,
260
,
280
,
285
),
tabSystem
,
-
1
,
dataManager
.
GetSysString
(
1354
));
chkHideSetname
=
env
->
addCheckBox
(
false
,
rect
<
s32
>
(
20
,
260
,
280
,
285
),
tabSystem
,
-
1
,
dataManager
.
GetSysString
(
1354
));
chkHideSetname
->
setChecked
(
gameConf
.
chkHideSetname
!=
0
);
chkHideSetname
->
setChecked
(
gameConf
.
chkHideSetname
!=
0
);
chkHide
Chain
Button
=
env
->
addCheckBox
(
false
,
rect
<
s32
>
(
20
,
290
,
280
,
315
),
tabSystem
,
-
1
,
dataManager
.
GetSysString
(
1355
));
chkHide
Hint
Button
=
env
->
addCheckBox
(
false
,
rect
<
s32
>
(
20
,
290
,
280
,
315
),
tabSystem
,
-
1
,
dataManager
.
GetSysString
(
1355
));
chkHide
ChainButton
->
setChecked
(
gameConf
.
chkHideChain
Button
!=
0
);
chkHide
HintButton
->
setChecked
(
gameConf
.
chkHideHint
Button
!=
0
);
//
//
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
);
...
@@ -367,10 +367,6 @@ bool Game::Initialize() {
...
@@ -367,10 +367,6 @@ bool Game::Initialize() {
stHintMsg
->
setBackgroundColor
(
0xc0ffffff
);
stHintMsg
->
setBackgroundColor
(
0xc0ffffff
);
stHintMsg
->
setTextAlignment
(
irr
::
gui
::
EGUIA_CENTER
,
irr
::
gui
::
EGUIA_CENTER
);
stHintMsg
->
setTextAlignment
(
irr
::
gui
::
EGUIA_CENTER
,
irr
::
gui
::
EGUIA_CENTER
);
stHintMsg
->
setVisible
(
false
);
stHintMsg
->
setVisible
(
false
);
stTip
=
env
->
addStaticText
(
L""
,
rect
<
s32
>
(
0
,
0
,
150
,
150
),
false
,
true
,
0
,
-
1
,
true
);
stTip
->
setBackgroundColor
(
0xc0ffffff
);
stTip
->
setTextAlignment
(
irr
::
gui
::
EGUIA_CENTER
,
irr
::
gui
::
EGUIA_CENTER
);
stTip
->
setVisible
(
false
);
//cmd menu
//cmd menu
wCmdMenu
=
env
->
addWindow
(
rect
<
s32
>
(
10
,
10
,
110
,
179
),
false
,
L""
);
wCmdMenu
=
env
->
addWindow
(
rect
<
s32
>
(
10
,
10
,
110
,
179
),
false
,
L""
);
wCmdMenu
->
setDrawTitlebar
(
false
);
wCmdMenu
->
setDrawTitlebar
(
false
);
...
@@ -541,9 +537,17 @@ bool Game::Initialize() {
...
@@ -541,9 +537,17 @@ bool Game::Initialize() {
btnChainIgnore
->
setVisible
(
false
);
btnChainIgnore
->
setVisible
(
false
);
btnChainAlways
->
setVisible
(
false
);
btnChainAlways
->
setVisible
(
false
);
btnChainWhenAvail
->
setVisible
(
false
);
btnChainWhenAvail
->
setVisible
(
false
);
//cancel or finish
btnCancelOrFinish
=
env
->
addButton
(
rect
<
s32
>
(
205
,
230
,
295
,
265
),
0
,
BUTTON_CANCEL_OR_FINISH
,
dataManager
.
GetSysString
(
1295
));
btnCancelOrFinish
->
setVisible
(
false
);
//leave/surrender/exit
//leave/surrender/exit
btnLeaveGame
=
env
->
addButton
(
rect
<
s32
>
(
205
,
5
,
295
,
80
),
0
,
BUTTON_LEAVE_GAME
,
L""
);
btnLeaveGame
=
env
->
addButton
(
rect
<
s32
>
(
205
,
5
,
295
,
80
),
0
,
BUTTON_LEAVE_GAME
,
L""
);
btnLeaveGame
->
setVisible
(
false
);
btnLeaveGame
->
setVisible
(
false
);
//tip
stTip
=
env
->
addStaticText
(
L""
,
rect
<
s32
>
(
0
,
0
,
150
,
150
),
false
,
true
,
0
,
-
1
,
true
);
stTip
->
setBackgroundColor
(
0xc0ffffff
);
stTip
->
setTextAlignment
(
irr
::
gui
::
EGUIA_CENTER
,
irr
::
gui
::
EGUIA_CENTER
);
stTip
->
setVisible
(
false
);
device
->
setEventReceiver
(
&
menuHandler
);
device
->
setEventReceiver
(
&
menuHandler
);
LoadConfig
();
LoadConfig
();
env
->
getSkin
()
->
setFont
(
guiFont
);
env
->
getSkin
()
->
setFont
(
guiFont
);
...
@@ -861,7 +865,7 @@ void Game::LoadConfig() {
...
@@ -861,7 +865,7 @@ void Game::LoadConfig() {
gameConf
.
chkIgnore1
=
0
;
gameConf
.
chkIgnore1
=
0
;
gameConf
.
chkIgnore2
=
0
;
gameConf
.
chkIgnore2
=
0
;
gameConf
.
chkHideSetname
=
0
;
gameConf
.
chkHideSetname
=
0
;
gameConf
.
chkHide
Chain
Button
=
0
;
gameConf
.
chkHide
Hint
Button
=
0
;
gameConf
.
control_mode
=
0
;
gameConf
.
control_mode
=
0
;
gameConf
.
draw_field_spell
=
1
;
gameConf
.
draw_field_spell
=
1
;
gameConf
.
separate_clear_button
=
1
;
gameConf
.
separate_clear_button
=
1
;
...
@@ -911,8 +915,8 @@ void Game::LoadConfig() {
...
@@ -911,8 +915,8 @@ void Game::LoadConfig() {
gameConf
.
chkIgnore2
=
atoi
(
valbuf
);
gameConf
.
chkIgnore2
=
atoi
(
valbuf
);
}
else
if
(
!
strcmp
(
strbuf
,
"hide_setname"
))
{
}
else
if
(
!
strcmp
(
strbuf
,
"hide_setname"
))
{
gameConf
.
chkHideSetname
=
atoi
(
valbuf
);
gameConf
.
chkHideSetname
=
atoi
(
valbuf
);
}
else
if
(
!
strcmp
(
strbuf
,
"hide_
chain
_button"
))
{
}
else
if
(
!
strcmp
(
strbuf
,
"hide_
hint
_button"
))
{
gameConf
.
chkHide
Chain
Button
=
atoi
(
valbuf
);
gameConf
.
chkHide
Hint
Button
=
atoi
(
valbuf
);
}
else
if
(
!
strcmp
(
strbuf
,
"control_mode"
))
{
}
else
if
(
!
strcmp
(
strbuf
,
"control_mode"
))
{
gameConf
.
control_mode
=
atoi
(
valbuf
);
gameConf
.
control_mode
=
atoi
(
valbuf
);
}
else
if
(
!
strcmp
(
strbuf
,
"draw_field_spell"
))
{
}
else
if
(
!
strcmp
(
strbuf
,
"draw_field_spell"
))
{
...
@@ -967,8 +971,8 @@ void Game::SaveConfig() {
...
@@ -967,8 +971,8 @@ void Game::SaveConfig() {
fprintf
(
fp
,
"mute_opponent = %d
\n
"
,
((
mainGame
->
chkIgnore1
->
isChecked
())
?
1
:
0
));
fprintf
(
fp
,
"mute_opponent = %d
\n
"
,
((
mainGame
->
chkIgnore1
->
isChecked
())
?
1
:
0
));
fprintf
(
fp
,
"mute_spectators = %d
\n
"
,
((
mainGame
->
chkIgnore2
->
isChecked
())
?
1
:
0
));
fprintf
(
fp
,
"mute_spectators = %d
\n
"
,
((
mainGame
->
chkIgnore2
->
isChecked
())
?
1
:
0
));
fprintf
(
fp
,
"hide_setname = %d
\n
"
,
((
mainGame
->
chkHideSetname
->
isChecked
())
?
1
:
0
));
fprintf
(
fp
,
"hide_setname = %d
\n
"
,
((
mainGame
->
chkHideSetname
->
isChecked
())
?
1
:
0
));
fprintf
(
fp
,
"hide_
chain_button = %d
\n
"
,
((
mainGame
->
chkHideChain
Button
->
isChecked
())
?
1
:
0
));
fprintf
(
fp
,
"hide_
hint_button = %d
\n
"
,
((
mainGame
->
chkHideHint
Button
->
isChecked
())
?
1
:
0
));
fprintf
(
fp
,
"#control_mode = 0: Key A/S/D/R
. control_mode = 1: MouseLeft/MouseRight/NULL/F9
\n
"
);
fprintf
(
fp
,
"#control_mode = 0: Key A/S/D/R
Chain Buttons. control_mode = 1: MouseLeft/MouseRight/NULL/F9 Without Chain Buttons
\n
"
);
fprintf
(
fp
,
"control_mode = %d
\n
"
,
gameConf
.
control_mode
);
fprintf
(
fp
,
"control_mode = %d
\n
"
,
gameConf
.
control_mode
);
fprintf
(
fp
,
"draw_field_spell = %d
\n
"
,
gameConf
.
draw_field_spell
);
fprintf
(
fp
,
"draw_field_spell = %d
\n
"
,
gameConf
.
draw_field_spell
);
fprintf
(
fp
,
"separate_clear_button = %d
\n
"
,
gameConf
.
separate_clear_button
);
fprintf
(
fp
,
"separate_clear_button = %d
\n
"
,
gameConf
.
separate_clear_button
);
...
@@ -1122,6 +1126,7 @@ void Game::CloseDuelWindow() {
...
@@ -1122,6 +1126,7 @@ void Game::CloseDuelWindow() {
btnChainIgnore
->
setVisible
(
false
);
btnChainIgnore
->
setVisible
(
false
);
btnChainAlways
->
setVisible
(
false
);
btnChainAlways
->
setVisible
(
false
);
btnChainWhenAvail
->
setVisible
(
false
);
btnChainWhenAvail
->
setVisible
(
false
);
btnCancelOrFinish
->
setVisible
(
false
);
wChat
->
setVisible
(
false
);
wChat
->
setVisible
(
false
);
lstLog
->
clear
();
lstLog
->
clear
();
logParam
.
clear
();
logParam
.
clear
();
...
...
gframe/game.h
View file @
3820e8c4
...
@@ -32,7 +32,7 @@ struct Config {
...
@@ -32,7 +32,7 @@ struct Config {
int
chkIgnore1
;
int
chkIgnore1
;
int
chkIgnore2
;
int
chkIgnore2
;
int
chkHideSetname
;
int
chkHideSetname
;
int
chkHide
Chain
Button
;
int
chkHide
Hint
Button
;
int
control_mode
;
int
control_mode
;
int
draw_field_spell
;
int
draw_field_spell
;
int
separate_clear_button
;
int
separate_clear_button
;
...
@@ -193,7 +193,7 @@ public:
...
@@ -193,7 +193,7 @@ public:
irr
::
gui
::
IGUICheckBox
*
chkAutoChain
;
irr
::
gui
::
IGUICheckBox
*
chkAutoChain
;
irr
::
gui
::
IGUICheckBox
*
chkWaitChain
;
irr
::
gui
::
IGUICheckBox
*
chkWaitChain
;
irr
::
gui
::
IGUICheckBox
*
chkHideSetname
;
irr
::
gui
::
IGUICheckBox
*
chkHideSetname
;
irr
::
gui
::
IGUICheckBox
*
chkHide
Chain
Button
;
irr
::
gui
::
IGUICheckBox
*
chkHide
Hint
Button
;
irr
::
gui
::
IGUIListBox
*
lstLog
;
irr
::
gui
::
IGUIListBox
*
lstLog
;
irr
::
gui
::
IGUIButton
*
btnClearLog
;
irr
::
gui
::
IGUIButton
*
btnClearLog
;
irr
::
gui
::
IGUIButton
*
btnSaveLog
;
irr
::
gui
::
IGUIButton
*
btnSaveLog
;
...
@@ -395,7 +395,8 @@ public:
...
@@ -395,7 +395,8 @@ public:
irr
::
gui
::
IGUIButton
*
btnChainIgnore
;
irr
::
gui
::
IGUIButton
*
btnChainIgnore
;
irr
::
gui
::
IGUIButton
*
btnChainAlways
;
irr
::
gui
::
IGUIButton
*
btnChainAlways
;
irr
::
gui
::
IGUIButton
*
btnChainWhenAvail
;
irr
::
gui
::
IGUIButton
*
btnChainWhenAvail
;
//cancel or finish
irr
::
gui
::
IGUIButton
*
btnCancelOrFinish
;
};
};
extern
Game
*
mainGame
;
extern
Game
*
mainGame
;
...
@@ -486,6 +487,7 @@ extern Game* mainGame;
...
@@ -486,6 +487,7 @@ extern Game* mainGame;
#define BUTTON_CHAIN_IGNORE 264
#define BUTTON_CHAIN_IGNORE 264
#define BUTTON_CHAIN_ALWAYS 265
#define BUTTON_CHAIN_ALWAYS 265
#define BUTTON_CHAIN_WHENAVAIL 266
#define BUTTON_CHAIN_WHENAVAIL 266
#define BUTTON_CANCEL_OR_FINISH 267
#define BUTTON_CLEAR_LOG 270
#define BUTTON_CLEAR_LOG 270
#define LISTBOX_LOG 271
#define LISTBOX_LOG 271
#define SCROLL_CARDTEXT 280
#define SCROLL_CARDTEXT 280
...
...
script
@
69d9a324
Subproject commit
87063a011d7bc19e6535347d5c9f0956d5f0e25a
Subproject commit
69d9a3241eb9841fb3433e45d2c43cf13d5f9412
strings.conf
View file @
3820e8c4
...
@@ -286,6 +286,8 @@
...
@@ -286,6 +286,8 @@
!
system
1292
忽略时点
!
system
1292
忽略时点
!
system
1293
显示时点
!
system
1293
显示时点
!
system
1294
可用时点
!
system
1294
可用时点
!
system
1295
取消操作
!
system
1296
完成选择
!
system
1300
禁限卡表:
!
system
1300
禁限卡表:
!
system
1301
卡组列表:
!
system
1301
卡组列表:
!
system
1302
保存
!
system
1302
保存
...
@@ -338,7 +340,7 @@
...
@@ -338,7 +340,7 @@
!
system
1352
主要信息:
!
system
1352
主要信息:
!
system
1353
播放起始于回合:
!
system
1353
播放起始于回合:
!
system
1354
不显示卡片系列
!
system
1354
不显示卡片系列
!
system
1355
不显示
询问连锁
按钮
!
system
1355
不显示
提示
按钮
!
system
1360
上一步
!
system
1360
上一步
!
system
1370
星数↑
!
system
1370
星数↑
!
system
1371
攻击↑
!
system
1371
攻击↑
...
@@ -390,6 +392,8 @@
...
@@ -390,6 +392,8 @@
!
system
1622
[%
ls
]错过时点
!
system
1622
[%
ls
]错过时点
!
system
1623
投掷硬币结果:
!
system
1623
投掷硬币结果:
!
system
1624
投掷骰子结果:
!
system
1624
投掷骰子结果:
#tips
!
system
1700
可以用鼠标右键%
ls
#victory reason
#victory reason
!
victory
0
x0
投降
!
victory
0
x0
投降
!
victory
0
x1
LP
变成
0
!
victory
0
x1
LP
变成
0
...
@@ -464,7 +468,7 @@
...
@@ -464,7 +468,7 @@
!
counter
0
x34
指示物(
BOX
)
!
counter
0
x34
指示物(
BOX
)
!
counter
0
x35
音响指示物
!
counter
0
x35
音响指示物
!
counter
0
x36
娱乐法师指示物
!
counter
0
x36
娱乐法师指示物
!
counter
0
x37
大怪
兽指示物
!
counter
0
x37
坏
兽指示物
!
counter
0
x1038
方界指示物
!
counter
0
x1038
方界指示物
!
counter
0
x1039
咕咚指示物
!
counter
0
x1039
咕咚指示物
!
counter
0
x40
指示物(
No
.
51
怪腕之必杀摔角手)
!
counter
0
x40
指示物(
No
.
51
怪腕之必杀摔角手)
...
@@ -737,9 +741,9 @@
...
@@ -737,9 +741,9 @@
!
setname
0
x10cf
混沌战士 カオス・ソルジャー
!
setname
0
x10cf
混沌战士 カオス・ソルジャー
!
setname
0
xd0
威风妖怪 マジェスペクター
!
setname
0
xd0
威风妖怪 マジェスペクター
!
setname
0
xd1
灰篮 グレイドル
!
setname
0
xd1
灰篮 グレイドル
!
setname
0
xd2
星
兹
Kozmo
!
setname
0
xd2
星
际仙踪
Kozmo
!
setname
0
xd3
大怪兽
Kaiju
!
setname
0
xd3
坏兽 壊獣
!
setname
0
xd4
古生物 버제스토마
!
setname
0
xd4
伯吉斯异兽 バージェストマ
!
setname
0
xd5
但丁 ダンテ
!
setname
0
xd5
但丁 ダンテ
!
setname
0
xd6
破坏剑 破壊剣
!
setname
0
xd6
破坏剑 破壊剣
!
setname
0
xd7
巴斯达·布雷达 バスター・ブレイダー
!
setname
0
xd7
巴斯达·布雷达 バスター・ブレイダー
...
...
system.conf
View file @
3820e8c4
...
@@ -18,7 +18,8 @@ waitchain = 0
...
@@ -18,7 +18,8 @@ waitchain = 0
mute_opponent
=
0
mute_opponent
=
0
mute_spectators
=
0
mute_spectators
=
0
hide_setname
=
0
hide_setname
=
0
hide_
chain_button
=
0
hide_
hint_button
=
1
#control_mode = 0: Key A/S/D/R
. control_mode = 1: MouseLeft/MouseRight/NULL/F9
#control_mode = 0: Key A/S/D/R
Chain Buttons. control_mode = 1: MouseLeft/MouseRight/NULL/F9 Without Chain Buttons
control_mode
=
0
control_mode
=
0
draw_field_spell
=
1
draw_field_spell
=
1
separate_clear_button
=
1
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