Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Y
ygopro-2pick
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
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
MyCard
ygopro-2pick
Commits
f546e271
Commit
f546e271
authored
Mar 18, 2016
by
VanillaSalt
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update MSG_SELECT_SUM
parent
0811b914
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
49 additions
and
38 deletions
+49
-38
gframe/client_field.cpp
gframe/client_field.cpp
+43
-5
gframe/client_field.h
gframe/client_field.h
+1
-0
gframe/duelclient.cpp
gframe/duelclient.cpp
+1
-2
gframe/event_handler.cpp
gframe/event_handler.cpp
+2
-29
ocgcore
ocgcore
+1
-1
script
script
+1
-1
No files found.
gframe/client_field.cpp
View file @
f546e271
#include "client_field.h"
#include "client_field.h"
#include "client_card.h"
#include "client_card.h"
#include "duelclient.h"
#include "data_manager.h"
#include "data_manager.h"
#include "image_manager.h"
#include "image_manager.h"
#include "game.h"
#include "game.h"
...
@@ -1099,6 +1100,40 @@ void ClientField::FadeCard(ClientCard * pcard, int alpha, int frame) {
...
@@ -1099,6 +1100,40 @@ void ClientField::FadeCard(ClientCard * pcard, int alpha, int frame) {
pcard
->
is_fading
=
true
;
pcard
->
is_fading
=
true
;
pcard
->
aniFrame
=
frame
;
pcard
->
aniFrame
=
frame
;
}
}
void
ClientField
::
ShowSelectSum
(
bool
panelmode
)
{
if
(
panelmode
)
{
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
();
}
}
else
{
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
;
}
}
bool
ClientField
::
CheckSelectSum
()
{
bool
ClientField
::
CheckSelectSum
()
{
std
::
set
<
ClientCard
*>
selable
;
std
::
set
<
ClientCard
*>
selable
;
std
::
set
<
ClientCard
*>::
iterator
sit
;
std
::
set
<
ClientCard
*>::
iterator
sit
;
...
@@ -1116,9 +1151,8 @@ bool ClientField::CheckSelectSum() {
...
@@ -1116,9 +1151,8 @@ bool ClientField::CheckSelectSum() {
selable
.
erase
(
selected_cards
[
i
]);
selable
.
erase
(
selected_cards
[
i
]);
}
}
selectsum_cards
.
clear
();
selectsum_cards
.
clear
();
bool
ret
;
if
(
select_mode
==
0
)
{
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
();
selectable_cards
.
clear
();
for
(
sit
=
selectsum_cards
.
begin
();
sit
!=
selectsum_cards
.
end
();
++
sit
)
{
for
(
sit
=
selectsum_cards
.
begin
();
sit
!=
selectsum_cards
.
end
();
++
sit
)
{
(
*
sit
)
->
is_selectable
=
true
;
(
*
sit
)
->
is_selectable
=
true
;
...
@@ -1127,7 +1161,7 @@ bool ClientField::CheckSelectSum() {
...
@@ -1127,7 +1161,7 @@ bool ClientField::CheckSelectSum() {
return
ret
;
return
ret
;
}
else
{
}
else
{
int
op1
,
op2
,
mm
=
-
1
,
ms
,
m
,
max
=
0
,
sumc
=
0
,
sums
;
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
)
{
for
(
size_t
i
=
0
;
i
<
selected_cards
.
size
();
++
i
)
{
op1
=
selected_cards
[
i
]
->
opParam
&
0xffff
;
op1
=
selected_cards
[
i
]
->
opParam
&
0xffff
;
op2
=
selected_cards
[
i
]
->
opParam
>>
16
;
op2
=
selected_cards
[
i
]
->
opParam
>>
16
;
...
@@ -1198,9 +1232,13 @@ bool ClientField::check_min(std::set<ClientCard*>& left, std::set<ClientCard*>::
...
@@ -1198,9 +1232,13 @@ bool ClientField::check_min(std::set<ClientCard*>& left, std::set<ClientCard*>::
||
check_min
(
left
,
index
,
min
,
max
);
||
check_min
(
left
,
index
,
min
,
max
);
}
}
bool
ClientField
::
check_sel_sum_s
(
const
std
::
set
<
ClientCard
*>&
left
,
int
index
,
int
acc
)
{
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
(
index
==
(
int
)
selected_cards
.
size
())
{
if
(
acc
==
0
)
if
(
acc
==
0
)
{
return
true
;
int
count
=
selected_cards
.
size
()
-
must_select_count
;
return
count
>=
select_min
&&
count
<=
select_max
;
}
check_sel_sum_t
(
left
,
acc
);
check_sel_sum_t
(
left
,
acc
);
return
false
;
return
false
;
}
}
...
...
gframe/client_field.h
View file @
f546e271
...
@@ -96,6 +96,7 @@ public:
...
@@ -96,6 +96,7 @@ public:
void
GetCardLocation
(
ClientCard
*
pcard
,
irr
::
core
::
vector3df
*
t
,
irr
::
core
::
vector3df
*
r
,
bool
setTrans
=
false
);
void
GetCardLocation
(
ClientCard
*
pcard
,
irr
::
core
::
vector3df
*
t
,
irr
::
core
::
vector3df
*
r
,
bool
setTrans
=
false
);
void
MoveCard
(
ClientCard
*
pcard
,
int
frame
);
void
MoveCard
(
ClientCard
*
pcard
,
int
frame
);
void
FadeCard
(
ClientCard
*
pcard
,
int
alpha
,
int
frame
);
void
FadeCard
(
ClientCard
*
pcard
,
int
alpha
,
int
frame
);
void
ShowSelectSum
(
bool
panelmode
);
bool
CheckSelectSum
();
bool
CheckSelectSum
();
bool
check_min
(
std
::
set
<
ClientCard
*>&
left
,
std
::
set
<
ClientCard
*>::
iterator
index
,
int
min
,
int
max
);
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
);
bool
check_sel_sum_s
(
const
std
::
set
<
ClientCard
*>&
left
,
int
index
,
int
acc
);
...
...
gframe/duelclient.cpp
View file @
f546e271
...
@@ -1460,18 +1460,17 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
...
@@ -1460,18 +1460,17 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
panelmode
=
true
;
panelmode
=
true
;
}
}
std
::
sort
(
mainGame
->
dField
.
selectsum_all
.
begin
(),
mainGame
->
dField
.
selectsum_all
.
end
(),
ClientCard
::
client_card_sort
);
std
::
sort
(
mainGame
->
dField
.
selectsum_all
.
begin
(),
mainGame
->
dField
.
selectsum_all
.
end
(),
ClientCard
::
client_card_sort
);
mainGame
->
dField
.
CheckSelectSum
();
if
(
select_hint
)
if
(
select_hint
)
myswprintf
(
textBuffer
,
L"%ls(%d)"
,
dataManager
.
GetDesc
(
select_hint
),
mainGame
->
dField
.
select_sumval
);
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
);
else
myswprintf
(
textBuffer
,
L"%ls(%d)"
,
dataManager
.
GetSysString
(
560
),
mainGame
->
dField
.
select_sumval
);
select_hint
=
0
;
select_hint
=
0
;
if
(
panelmode
)
{
if
(
panelmode
)
{
mainGame
->
wCardSelect
->
setText
(
textBuffer
);
mainGame
->
wCardSelect
->
setText
(
textBuffer
);
mainGame
->
dField
.
ShowSelectCard
();
}
else
{
}
else
{
mainGame
->
stHintMsg
->
setText
(
textBuffer
);
mainGame
->
stHintMsg
->
setText
(
textBuffer
);
mainGame
->
stHintMsg
->
setVisible
(
true
);
mainGame
->
stHintMsg
->
setVisible
(
true
);
}
}
mainGame
->
dField
.
ShowSelectSum
(
panelmode
);
return
false
;
return
false
;
}
}
case
MSG_SORT_CARD
:
case
MSG_SORT_CARD
:
...
...
gframe/event_handler.cpp
View file @
f546e271
...
@@ -576,20 +576,7 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
...
@@ -576,20 +576,7 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
case
MSG_SELECT_SUM
:
{
case
MSG_SELECT_SUM
:
{
command_card
=
selectable_cards
[
id
-
BUTTON_CARD_0
+
mainGame
->
scrCardList
->
getPos
()
/
10
];
command_card
=
selectable_cards
[
id
-
BUTTON_CARD_0
+
mainGame
->
scrCardList
->
getPos
()
/
10
];
selected_cards
.
push_back
(
command_card
);
selected_cards
.
push_back
(
command_card
);
if
(
CheckSelectSum
())
{
ShowSelectSum
(
true
);
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
();
}
break
;
break
;
}
}
case
MSG_SORT_CHAIN
:
case
MSG_SORT_CHAIN
:
...
@@ -1218,21 +1205,7 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
...
@@ -1218,21 +1205,7 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
selected_cards
.
erase
(
it
);
selected_cards
.
erase
(
it
);
}
else
}
else
selected_cards
.
push_back
(
clicked_card
);
selected_cards
.
push_back
(
clicked_card
);
if
(
CheckSelectSum
())
{
ShowSelectSum
(
false
);
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
;
break
;
break
;
}
}
}
}
...
...
ocgcore
@
68920d71
Subproject commit 6
207519a410f53a2c25e30d19a739000fcf29032
Subproject commit 6
8920d7142b4af9c65af5d3ee4673651727ec59e
script
@
7154552c
Subproject commit
b69936137b2a53affa7dd4a111b92fbc66be016
b
Subproject commit
7154552ca78d01b4cddd19ea3c7152e8d919c6e
b
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