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-520DIY
ygopro
Commits
1957cbc7
Commit
1957cbc7
authored
May 24, 2014
by
VanillaSalt
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #792 from Buttys2/master
Field Adjustments
parents
5356ef44
5f4df1ee
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
60 additions
and
56 deletions
+60
-56
gframe/drawing.cpp
gframe/drawing.cpp
+20
-20
gframe/event_handler.cpp
gframe/event_handler.cpp
+15
-11
gframe/game.cpp
gframe/game.cpp
+2
-2
ocgcore/field.cpp
ocgcore/field.cpp
+15
-15
ocgcore/operations.cpp
ocgcore/operations.cpp
+8
-8
No files found.
gframe/drawing.cpp
View file @
1957cbc7
...
@@ -361,7 +361,7 @@ void Game::DrawMisc() {
...
@@ -361,7 +361,7 @@ void Game::DrawMisc() {
for
(
int
i
=
0
;
i
<
5
;
++
i
)
{
for
(
int
i
=
0
;
i
<
5
;
++
i
)
{
pcard
=
dField
.
mzone
[
0
][
i
];
pcard
=
dField
.
mzone
[
0
][
i
];
if
(
pcard
&&
pcard
->
code
!=
0
)
{
if
(
pcard
&&
pcard
->
code
!=
0
)
{
int
m
=
4
63
+
i
*
90
;
int
m
=
4
93
+
i
*
85
;
adFont
->
draw
(
L"/"
,
recti
(
m
-
4
,
416
,
m
+
4
,
436
),
0xff000000
,
true
,
false
,
0
);
adFont
->
draw
(
L"/"
,
recti
(
m
-
4
,
416
,
m
+
4
,
436
),
0xff000000
,
true
,
false
,
0
);
adFont
->
draw
(
L"/"
,
recti
(
m
-
3
,
417
,
m
+
5
,
437
),
0xffffffff
,
true
,
false
,
0
);
adFont
->
draw
(
L"/"
,
recti
(
m
-
3
,
417
,
m
+
5
,
437
),
0xffffffff
,
true
,
false
,
0
);
int
w
=
adFont
->
getDimension
(
pcard
->
atkstring
).
Width
;
int
w
=
adFont
->
getDimension
(
pcard
->
atkstring
).
Width
;
...
@@ -372,15 +372,15 @@ void Game::DrawMisc() {
...
@@ -372,15 +372,15 @@ void Game::DrawMisc() {
adFont
->
draw
(
pcard
->
defstring
,
recti
(
m
+
4
,
416
,
m
+
4
+
w
,
436
),
0xff000000
,
false
,
false
,
0
);
adFont
->
draw
(
pcard
->
defstring
,
recti
(
m
+
4
,
416
,
m
+
4
+
w
,
436
),
0xff000000
,
false
,
false
,
0
);
adFont
->
draw
(
pcard
->
defstring
,
recti
(
m
+
5
,
417
,
m
+
5
+
w
,
437
),
adFont
->
draw
(
pcard
->
defstring
,
recti
(
m
+
5
,
417
,
m
+
5
+
w
,
437
),
pcard
->
defence
>
pcard
->
base_defence
?
0xffffff00
:
pcard
->
defence
<
pcard
->
base_defence
?
0xffff2090
:
0xffffffff
,
false
,
false
,
0
);
pcard
->
defence
>
pcard
->
base_defence
?
0xffffff00
:
pcard
->
defence
<
pcard
->
base_defence
?
0xffff2090
:
0xffffffff
,
false
,
false
,
0
);
adFont
->
draw
(
pcard
->
lvstring
,
recti
(
4
43
+
i
*
85
,
356
,
475
+
i
*
85
,
366
),
0xff000000
,
false
,
false
,
0
);
adFont
->
draw
(
pcard
->
lvstring
,
recti
(
4
73
+
i
*
80
,
356
,
475
+
i
*
80
,
366
),
0xff000000
,
false
,
false
,
0
);
adFont
->
draw
(
pcard
->
lvstring
,
recti
(
4
44
+
i
*
85
,
357
,
476
+
i
*
85
,
367
),
adFont
->
draw
(
pcard
->
lvstring
,
recti
(
4
74
+
i
*
80
,
357
,
476
+
i
*
80
,
367
),
(
pcard
->
type
&
TYPE_XYZ
)
?
0xffff80ff
:
(
pcard
->
type
&
TYPE_TUNER
)
?
0xffffff00
:
0xffffffff
,
false
,
false
,
0
);
(
pcard
->
type
&
TYPE_XYZ
)
?
0xffff80ff
:
(
pcard
->
type
&
TYPE_TUNER
)
?
0xffffff00
:
0xffffffff
,
false
,
false
,
0
);
}
}
}
}
for
(
int
i
=
0
;
i
<
5
;
++
i
)
{
for
(
int
i
=
0
;
i
<
5
;
++
i
)
{
pcard
=
dField
.
mzone
[
1
][
i
];
pcard
=
dField
.
mzone
[
1
][
i
];
if
(
pcard
&&
(
pcard
->
position
&
POS_FACEUP
))
{
if
(
pcard
&&
(
pcard
->
position
&
POS_FACEUP
))
{
int
m
=
795
-
i
*
73
;
int
m
=
803
-
i
*
68
;
adFont
->
draw
(
L"/"
,
recti
(
m
-
4
,
235
,
m
+
4
,
255
),
0xff000000
,
true
,
false
,
0
);
adFont
->
draw
(
L"/"
,
recti
(
m
-
4
,
235
,
m
+
4
,
255
),
0xff000000
,
true
,
false
,
0
);
adFont
->
draw
(
L"/"
,
recti
(
m
-
3
,
236
,
m
+
5
,
256
),
0xffffffff
,
true
,
false
,
0
);
adFont
->
draw
(
L"/"
,
recti
(
m
-
3
,
236
,
m
+
5
,
256
),
0xffffffff
,
true
,
false
,
0
);
int
w
=
adFont
->
getDimension
(
pcard
->
atkstring
).
Width
;
int
w
=
adFont
->
getDimension
(
pcard
->
atkstring
).
Width
;
...
@@ -391,8 +391,8 @@ void Game::DrawMisc() {
...
@@ -391,8 +391,8 @@ void Game::DrawMisc() {
adFont
->
draw
(
pcard
->
defstring
,
recti
(
m
+
4
,
235
,
m
+
4
+
w
,
255
),
0xff000000
,
false
,
false
,
0
);
adFont
->
draw
(
pcard
->
defstring
,
recti
(
m
+
4
,
235
,
m
+
4
+
w
,
255
),
0xff000000
,
false
,
false
,
0
);
adFont
->
draw
(
pcard
->
defstring
,
recti
(
m
+
5
,
236
,
m
+
5
+
w
,
256
),
adFont
->
draw
(
pcard
->
defstring
,
recti
(
m
+
5
,
236
,
m
+
5
+
w
,
256
),
pcard
->
defence
>
pcard
->
base_defence
?
0xffffff00
:
pcard
->
defence
<
pcard
->
base_defence
?
0xffff2090
:
0xffffffff
,
false
,
false
,
0
);
pcard
->
defence
>
pcard
->
base_defence
?
0xffffff00
:
pcard
->
defence
<
pcard
->
base_defence
?
0xffff2090
:
0xffffffff
,
false
,
false
,
0
);
adFont
->
draw
(
pcard
->
lvstring
,
recti
(
7
69
-
i
*
76
,
272
,
800
-
i
*
76
,
292
),
0xff000000
,
false
,
false
,
0
);
adFont
->
draw
(
pcard
->
lvstring
,
recti
(
7
79
-
i
*
71
,
272
,
800
-
i
*
71
,
292
),
0xff000000
,
false
,
false
,
0
);
adFont
->
draw
(
pcard
->
lvstring
,
recti
(
7
69
-
i
*
76
,
273
,
800
-
i
*
76
,
293
),
adFont
->
draw
(
pcard
->
lvstring
,
recti
(
7
80
-
i
*
71
,
273
,
800
-
i
*
71
,
293
),
(
pcard
->
type
&
TYPE_XYZ
)
?
0xffff80ff
:
(
pcard
->
type
&
TYPE_TUNER
)
?
0xffffff00
:
0xffffffff
,
false
,
false
,
0
);
(
pcard
->
type
&
TYPE_XYZ
)
?
0xffff80ff
:
(
pcard
->
type
&
TYPE_TUNER
)
?
0xffffff00
:
0xffffffff
,
false
,
false
,
0
);
}
}
}
}
...
@@ -417,36 +417,36 @@ void Game::DrawMisc() {
...
@@ -417,36 +417,36 @@ void Game::DrawMisc() {
adFont
->
draw
(
pcard
->
rscstring
,
recti
(
429
,
246
,
461
,
266
),
0xffffffff
,
true
,
false
,
0
);
adFont
->
draw
(
pcard
->
rscstring
,
recti
(
429
,
246
,
461
,
266
),
0xffffffff
,
true
,
false
,
0
);
}
}
if
(
dField
.
extra
[
0
].
size
())
{
if
(
dField
.
extra
[
0
].
size
())
{
numFont
->
draw
(
dataManager
.
GetNumString
(
dField
.
extra
[
0
].
size
()),
recti
(
245
,
562
,
381
,
552
),
0xff000000
,
true
,
false
,
0
);
numFont
->
draw
(
dataManager
.
GetNumString
(
dField
.
extra
[
0
].
size
()),
recti
(
330
,
562
,
381
,
552
),
0xff000000
,
true
,
false
,
0
);
numFont
->
draw
(
dataManager
.
GetNumString
(
dField
.
extra
[
0
].
size
()),
recti
(
245
,
563
,
383
,
553
),
0xffffff00
,
true
,
false
,
0
);
numFont
->
draw
(
dataManager
.
GetNumString
(
dField
.
extra
[
0
].
size
()),
recti
(
330
,
563
,
383
,
553
),
0xffffff00
,
true
,
false
,
0
);
}
}
if
(
dField
.
deck
[
0
].
size
())
{
if
(
dField
.
deck
[
0
].
size
())
{
numFont
->
draw
(
dataManager
.
GetNumString
(
dField
.
deck
[
0
].
size
()),
recti
(
9
12
,
562
,
1021
,
552
),
0xff000000
,
true
,
false
,
0
);
numFont
->
draw
(
dataManager
.
GetNumString
(
dField
.
deck
[
0
].
size
()),
recti
(
9
07
,
562
,
1021
,
552
),
0xff000000
,
true
,
false
,
0
);
numFont
->
draw
(
dataManager
.
GetNumString
(
dField
.
deck
[
0
].
size
()),
recti
(
9
13
,
563
,
1023
,
553
),
0xffffff00
,
true
,
false
,
0
);
numFont
->
draw
(
dataManager
.
GetNumString
(
dField
.
deck
[
0
].
size
()),
recti
(
9
08
,
563
,
1023
,
553
),
0xffffff00
,
true
,
false
,
0
);
}
}
if
(
dField
.
grave
[
0
].
size
())
{
if
(
dField
.
grave
[
0
].
size
())
{
numFont
->
draw
(
dataManager
.
GetNumString
(
dField
.
grave
[
0
].
size
()),
recti
(
837
,
375
,
984
,
456
),
0xff000000
,
true
,
false
,
0
);
numFont
->
draw
(
dataManager
.
GetNumString
(
dField
.
grave
[
0
].
size
()),
recti
(
837
,
375
,
984
,
456
),
0xff000000
,
true
,
false
,
0
);
numFont
->
draw
(
dataManager
.
GetNumString
(
dField
.
grave
[
0
].
size
()),
recti
(
837
,
376
,
986
,
457
),
0xffffff00
,
true
,
false
,
0
);
numFont
->
draw
(
dataManager
.
GetNumString
(
dField
.
grave
[
0
].
size
()),
recti
(
837
,
376
,
986
,
457
),
0xffffff00
,
true
,
false
,
0
);
}
}
if
(
dField
.
remove
[
0
].
size
())
{
if
(
dField
.
remove
[
0
].
size
())
{
numFont
->
draw
(
dataManager
.
GetNumString
(
dField
.
remove
[
0
].
size
()),
recti
(
10
2
5
,
375
,
957
,
380
),
0xff000000
,
true
,
false
,
0
);
numFont
->
draw
(
dataManager
.
GetNumString
(
dField
.
remove
[
0
].
size
()),
recti
(
10
1
5
,
375
,
957
,
380
),
0xff000000
,
true
,
false
,
0
);
numFont
->
draw
(
dataManager
.
GetNumString
(
dField
.
remove
[
0
].
size
()),
recti
(
10
2
5
,
376
,
959
,
381
),
0xffffff00
,
true
,
false
,
0
);
numFont
->
draw
(
dataManager
.
GetNumString
(
dField
.
remove
[
0
].
size
()),
recti
(
10
1
5
,
376
,
959
,
381
),
0xffffff00
,
true
,
false
,
0
);
}
}
if
(
dField
.
extra
[
1
].
size
())
{
if
(
dField
.
extra
[
1
].
size
())
{
numFont
->
draw
(
dataManager
.
GetNumString
(
dField
.
extra
[
1
].
size
()),
recti
(
8
0
8
,
207
,
908
,
232
),
0xff000000
,
true
,
false
,
0
);
numFont
->
draw
(
dataManager
.
GetNumString
(
dField
.
extra
[
1
].
size
()),
recti
(
8
1
8
,
207
,
908
,
232
),
0xff000000
,
true
,
false
,
0
);
numFont
->
draw
(
dataManager
.
GetNumString
(
dField
.
extra
[
1
].
size
()),
recti
(
8
0
8
,
208
,
910
,
233
),
0xffffff00
,
true
,
false
,
0
);
numFont
->
draw
(
dataManager
.
GetNumString
(
dField
.
extra
[
1
].
size
()),
recti
(
8
1
8
,
208
,
910
,
233
),
0xffffff00
,
true
,
false
,
0
);
}
}
if
(
dField
.
deck
[
1
].
size
())
{
if
(
dField
.
deck
[
1
].
size
())
{
numFont
->
draw
(
dataManager
.
GetNumString
(
dField
.
deck
[
1
].
size
()),
recti
(
391
,
207
,
481
,
232
),
0xff000000
,
true
,
false
,
0
);
numFont
->
draw
(
dataManager
.
GetNumString
(
dField
.
deck
[
1
].
size
()),
recti
(
465
,
207
,
481
,
232
),
0xff000000
,
true
,
false
,
0
);
numFont
->
draw
(
dataManager
.
GetNumString
(
dField
.
deck
[
1
].
size
()),
recti
(
391
,
208
,
483
,
233
),
0xffffff00
,
true
,
false
,
0
);
numFont
->
draw
(
dataManager
.
GetNumString
(
dField
.
deck
[
1
].
size
()),
recti
(
465
,
208
,
483
,
233
),
0xffffff00
,
true
,
false
,
0
);
}
}
if
(
dField
.
grave
[
1
].
size
())
{
if
(
dField
.
grave
[
1
].
size
())
{
numFont
->
draw
(
dataManager
.
GetNumString
(
dField
.
grave
[
1
].
size
()),
recti
(
348
,
310
,
462
,
281
),
0xff000000
,
true
,
false
,
0
);
numFont
->
draw
(
dataManager
.
GetNumString
(
dField
.
grave
[
1
].
size
()),
recti
(
420
,
310
,
462
,
281
),
0xff000000
,
true
,
false
,
0
);
numFont
->
draw
(
dataManager
.
GetNumString
(
dField
.
grave
[
1
].
size
()),
recti
(
348
,
311
,
464
,
282
),
0xffffff00
,
true
,
false
,
0
);
numFont
->
draw
(
dataManager
.
GetNumString
(
dField
.
grave
[
1
].
size
()),
recti
(
420
,
311
,
464
,
282
),
0xffffff00
,
true
,
false
,
0
);
}
}
if
(
dField
.
remove
[
1
].
size
())
{
if
(
dField
.
remove
[
1
].
size
())
{
numFont
->
draw
(
dataManager
.
GetNumString
(
dField
.
remove
[
1
].
size
()),
recti
(
216
,
310
,
443
,
340
),
0xff000000
,
true
,
false
,
0
);
numFont
->
draw
(
dataManager
.
GetNumString
(
dField
.
remove
[
1
].
size
()),
recti
(
300
,
310
,
443
,
340
),
0xff000000
,
true
,
false
,
0
);
numFont
->
draw
(
dataManager
.
GetNumString
(
dField
.
remove
[
1
].
size
()),
recti
(
216
,
311
,
445
,
341
),
0xffffff00
,
true
,
false
,
0
);
numFont
->
draw
(
dataManager
.
GetNumString
(
dField
.
remove
[
1
].
size
()),
recti
(
300
,
311
,
445
,
341
),
0xffffff00
,
true
,
false
,
0
);
}
}
}
}
void
Game
::
DrawGUI
()
{
void
Game
::
DrawGUI
()
{
...
...
gframe/event_handler.cpp
View file @
1957cbc7
...
@@ -1502,21 +1502,23 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
...
@@ -1502,21 +1502,23 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
return
false
;
return
false
;
}
}
void
ClientField
::
GetHoverField
(
int
x
,
int
y
)
{
void
ClientField
::
GetHoverField
(
int
x
,
int
y
)
{
irr
::
core
::
recti
sfRect
(
393
,
504
,
875
,
600
);
irr
::
core
::
recti
sfRect
(
430
,
504
,
875
,
600
);
irr
::
core
::
recti
ofRect
(
5
01
,
135
,
79
0
,
191
);
irr
::
core
::
recti
ofRect
(
5
31
,
135
,
80
0
,
191
);
irr
::
core
::
position2di
pos
(
x
,
y
);
irr
::
core
::
position2di
pos
(
x
,
y
);
if
(
sfRect
.
isPointInside
(
pos
))
{
if
(
sfRect
.
isPointInside
(
pos
))
{
int
hc
=
hand
[
0
].
size
();
int
hc
=
hand
[
0
].
size
();
if
(
hc
==
0
)
if
(
hc
==
0
)
hovered_location
=
0
;
hovered_location
=
0
;
else
if
(
hc
<
7
)
{
else
if
(
hc
<
7
)
{
int
left
=
393
+
82
*
(
6
-
hc
)
/
2
;
int
cardSize
=
66
;
int
cardSpace
=
10
;
int
left
=
sfRect
.
UpperLeftCorner
.
X
+
(
cardSize
+
cardSpace
)
*
(
6
-
hc
)
/
2
;
if
(
x
<
left
)
if
(
x
<
left
)
hovered_location
=
0
;
hovered_location
=
0
;
else
{
else
{
int
seq
=
(
x
-
left
)
/
82
;
int
seq
=
(
x
-
left
)
/
(
cardSize
+
cardSpace
)
;
if
(
seq
>=
hc
)
seq
=
hc
-
1
;
if
(
seq
>=
hc
)
seq
=
hc
-
1
;
if
(
x
-
left
-
82
*
seq
<
71
)
{
if
(
x
-
left
-
(
cardSize
+
cardSpace
)
*
seq
<
cardSize
)
{
hovered_controler
=
0
;
hovered_controler
=
0
;
hovered_location
=
LOCATION_HAND
;
hovered_location
=
LOCATION_HAND
;
hovered_sequence
=
seq
;
hovered_sequence
=
seq
;
...
@@ -1528,20 +1530,22 @@ void ClientField::GetHoverField(int x, int y) {
...
@@ -1528,20 +1530,22 @@ void ClientField::GetHoverField(int x, int y) {
if
(
x
>=
804
)
if
(
x
>=
804
)
hovered_sequence
=
hc
-
1
;
hovered_sequence
=
hc
-
1
;
else
else
hovered_sequence
=
(
x
-
393
)
*
(
hc
-
1
)
/
411
;
hovered_sequence
=
(
x
-
sfRect
.
UpperLeftCorner
.
X
)
*
(
hc
-
1
)
/
393
;
}
}
}
else
if
(
ofRect
.
isPointInside
(
pos
))
{
}
else
if
(
ofRect
.
isPointInside
(
pos
))
{
int
hc
=
hand
[
1
].
size
();
int
hc
=
hand
[
1
].
size
();
if
(
hc
==
0
)
if
(
hc
==
0
)
hovered_location
=
0
;
hovered_location
=
0
;
else
if
(
hc
<
7
)
{
else
if
(
hc
<
7
)
{
int
left
=
501
+
49
*
(
6
-
hc
)
/
2
;
int
cardSize
=
39
;
int
cardSpace
=
7
;
int
left
=
ofRect
.
UpperLeftCorner
.
X
+
(
cardSize
+
cardSpace
)
*
(
6
-
hc
)
/
2
;
if
(
x
<
left
)
if
(
x
<
left
)
hovered_location
=
0
;
hovered_location
=
0
;
else
{
else
{
int
seq
=
(
x
-
left
)
/
49
;
int
seq
=
(
x
-
left
)
/
(
cardSize
+
cardSpace
)
;
if
(
seq
>=
hc
)
seq
=
hc
-
1
;
if
(
seq
>=
hc
)
seq
=
hc
-
1
;
if
(
x
-
left
-
49
*
seq
<
42
)
{
if
(
x
-
left
-
(
cardSize
+
cardSpace
)
*
seq
<
cardSize
)
{
hovered_controler
=
1
;
hovered_controler
=
1
;
hovered_location
=
LOCATION_HAND
;
hovered_location
=
LOCATION_HAND
;
hovered_sequence
=
hc
-
1
-
seq
;
hovered_sequence
=
hc
-
1
-
seq
;
...
@@ -1553,10 +1557,10 @@ void ClientField::GetHoverField(int x, int y) {
...
@@ -1553,10 +1557,10 @@ void ClientField::GetHoverField(int x, int y) {
if
(
x
>=
748
)
if
(
x
>=
748
)
hovered_sequence
=
0
;
hovered_sequence
=
0
;
else
else
hovered_sequence
=
hc
-
1
-
(
x
-
501
)
*
(
hc
-
1
)
/
247
;
hovered_sequence
=
hc
-
1
-
(
x
-
ofRect
.
UpperLeftCorner
.
X
)
*
(
hc
-
1
)
/
247
;
}
}
}
else
{
}
else
{
double
screenx
=
x
/
1024.0
*
1.
25
-
0.81
;
double
screenx
=
x
/
1024.0
*
1.
35
-
0.90
;
double
screeny
=
y
/
640.0
*
0.84
-
0.42
;
double
screeny
=
y
/
640.0
*
0.84
-
0.42
;
double
angle
=
0.798056
-
atan
(
screeny
);
//0.798056 = arctan(8.0/7.8)
double
angle
=
0.798056
-
atan
(
screeny
);
//0.798056 = arctan(8.0/7.8)
double
vlen
=
sqrt
(
1.0
+
screeny
*
screeny
);
double
vlen
=
sqrt
(
1.0
+
screeny
*
screeny
);
...
...
gframe/game.cpp
View file @
1957cbc7
...
@@ -176,7 +176,7 @@ bool Game::Initialize() {
...
@@ -176,7 +176,7 @@ bool Game::Initialize() {
imgCard
=
env
->
addImage
(
rect
<
s32
>
(
9
,
9
,
187
,
262
),
wCardImg
);
imgCard
=
env
->
addImage
(
rect
<
s32
>
(
9
,
9
,
187
,
262
),
wCardImg
);
imgCard
->
setUseAlphaChannel
(
true
);
imgCard
->
setUseAlphaChannel
(
true
);
//phase
//phase
wPhase
=
env
->
addStaticText
(
L""
,
rect
<
s32
>
(
4
55
,
310
,
830
,
330
));
wPhase
=
env
->
addStaticText
(
L""
,
rect
<
s32
>
(
4
80
,
310
,
855
,
330
));
wPhase
->
setVisible
(
false
);
wPhase
->
setVisible
(
false
);
btnDP
=
env
->
addButton
(
rect
<
s32
>
(
0
,
0
,
50
,
20
),
wPhase
,
-
1
,
L"
\xff24\xff30
"
);
btnDP
=
env
->
addButton
(
rect
<
s32
>
(
0
,
0
,
50
,
20
),
wPhase
,
-
1
,
L"
\xff24\xff30
"
);
btnDP
->
setEnabled
(
false
);
btnDP
->
setEnabled
(
false
);
...
@@ -497,7 +497,7 @@ void Game::MainLoop() {
...
@@ -497,7 +497,7 @@ void Game::MainLoop() {
wchar_t
cap
[
256
];
wchar_t
cap
[
256
];
camera
=
smgr
->
addCameraSceneNode
(
0
);
camera
=
smgr
->
addCameraSceneNode
(
0
);
irr
::
core
::
matrix4
mProjection
;
irr
::
core
::
matrix4
mProjection
;
BuildProjectionMatrix
(
mProjection
,
-
0.
81
f
,
0.44
f
,
-
0.42
f
,
0.42
f
,
1.0
f
,
100.0
f
);
BuildProjectionMatrix
(
mProjection
,
-
0.
90
f
,
0.45
f
,
-
0.42
f
,
0.42
f
,
1.0
f
,
100.0
f
);
camera
->
setProjectionMatrix
(
mProjection
);
camera
->
setProjectionMatrix
(
mProjection
);
mProjection
.
buildCameraLookAtMatrixLH
(
vector3df
(
4.2
f
,
8.0
f
,
7.8
f
),
vector3df
(
4.2
f
,
0
,
0
),
vector3df
(
0
,
0
,
1
));
mProjection
.
buildCameraLookAtMatrixLH
(
vector3df
(
4.2
f
,
8.0
f
,
7.8
f
),
vector3df
(
4.2
f
,
0
,
0
),
vector3df
(
0
,
0
,
1
));
...
...
ocgcore/field.cpp
View file @
1957cbc7
...
@@ -1293,20 +1293,20 @@ void field::get_xyz_material(card* scard, int32 findex, int32 maxc) {
...
@@ -1293,20 +1293,20 @@ void field::get_xyz_material(card* scard, int32 findex, int32 maxc) {
cv
.
push_back
(
pcard
);
cv
.
push_back
(
pcard
);
}
}
if
(
core
.
global_flag
&
GLOBALFLAG_XMAT_COUNT_LIMIT
)
{
if
(
core
.
global_flag
&
GLOBALFLAG_XMAT_COUNT_LIMIT
)
{
for
(
auto
pcard
:
cv
)
{
for
(
auto
pcard
=
cv
.
begin
();
pcard
!=
cv
.
end
();
++
pcard
)
{
effect
*
peffect
=
pcard
->
is_affected_by_effect
(
EFFECT_XMAT_COUNT_LIMIT
);
effect
*
peffect
=
(
*
pcard
)
->
is_affected_by_effect
(
EFFECT_XMAT_COUNT_LIMIT
);
if
(
peffect
)
{
if
(
peffect
)
{
int32
v
=
peffect
->
get_value
();
int32
v
=
peffect
->
get_value
();
core
.
xmaterial_lst
.
insert
(
std
::
make_pair
(
v
,
pcard
));
core
.
xmaterial_lst
.
insert
(
std
::
make_pair
(
v
,
*
pcard
));
}
else
}
else
core
.
xmaterial_lst
.
insert
(
std
::
make_pair
(
0
,
pcard
));
core
.
xmaterial_lst
.
insert
(
std
::
make_pair
(
0
,
*
pcard
));
}
}
auto
iter
=
core
.
xmaterial_lst
.
begin
();
auto
iter
=
core
.
xmaterial_lst
.
begin
();
while
((
iter
!=
core
.
xmaterial_lst
.
end
())
&&
((
iter
->
first
>
core
.
xmaterial_lst
.
size
())
||
(
iter
->
first
>
maxc
)))
while
((
iter
!=
core
.
xmaterial_lst
.
end
())
&&
((
iter
->
first
>
core
.
xmaterial_lst
.
size
())
||
(
iter
->
first
>
maxc
)))
core
.
xmaterial_lst
.
erase
(
iter
++
);
core
.
xmaterial_lst
.
erase
(
iter
++
);
}
else
{
}
else
{
for
(
auto
pcard
:
cv
)
for
(
auto
pcard
=
cv
.
begin
();
pcard
!=
cv
.
end
();
++
pcard
)
core
.
xmaterial_lst
.
insert
(
std
::
make_pair
(
0
,
pcard
));
core
.
xmaterial_lst
.
insert
(
std
::
make_pair
(
0
,
*
pcard
));
}
}
}
}
void
field
::
get_overlay_group
(
uint8
self
,
uint8
s
,
uint8
o
,
card_set
*
pset
)
{
void
field
::
get_overlay_group
(
uint8
self
,
uint8
s
,
uint8
o
,
card_set
*
pset
)
{
...
@@ -1680,25 +1680,25 @@ int32 field::check_xyz_material(card* scard, int32 findex, int32 min, int32 max,
...
@@ -1680,25 +1680,25 @@ int32 field::check_xyz_material(card* scard, int32 findex, int32 min, int32 max,
if
(
mg
)
{
if
(
mg
)
{
card_vector
cv
;
card_vector
cv
;
core
.
xmaterial_lst
.
clear
();
core
.
xmaterial_lst
.
clear
();
for
(
auto
pcard
:
mg
->
container
)
{
for
(
auto
pcard
=
mg
->
container
.
begin
();
pcard
!=
mg
->
container
.
end
();
++
pcard
)
{
if
(
pduel
->
lua
->
check_matching
(
pcard
,
findex
,
0
))
if
(
pduel
->
lua
->
check_matching
(
*
pcard
,
findex
,
0
))
cv
.
push_back
(
pcard
);
cv
.
push_back
(
*
pcard
);
}
}
if
(
core
.
global_flag
&
GLOBALFLAG_XMAT_COUNT_LIMIT
)
{
if
(
core
.
global_flag
&
GLOBALFLAG_XMAT_COUNT_LIMIT
)
{
for
(
auto
pcard
:
cv
)
{
for
(
auto
pcard
=
cv
.
begin
();
pcard
!=
cv
.
end
();
++
pcard
)
{
effect
*
peffect
=
pcard
->
is_affected_by_effect
(
EFFECT_XMAT_COUNT_LIMIT
);
effect
*
peffect
=
(
*
pcard
)
->
is_affected_by_effect
(
EFFECT_XMAT_COUNT_LIMIT
);
if
(
peffect
)
{
if
(
peffect
)
{
int32
v
=
peffect
->
get_value
();
int32
v
=
peffect
->
get_value
();
core
.
xmaterial_lst
.
insert
(
std
::
make_pair
(
v
,
pcard
));
core
.
xmaterial_lst
.
insert
(
std
::
make_pair
(
v
,
*
pcard
));
}
else
}
else
core
.
xmaterial_lst
.
insert
(
std
::
make_pair
(
0
,
pcard
));
core
.
xmaterial_lst
.
insert
(
std
::
make_pair
(
0
,
*
pcard
));
}
}
auto
iter
=
core
.
xmaterial_lst
.
begin
();
auto
iter
=
core
.
xmaterial_lst
.
begin
();
while
((
iter
!=
core
.
xmaterial_lst
.
end
())
&&
((
iter
->
first
>
core
.
xmaterial_lst
.
size
())
||
(
iter
->
first
>
max
)))
while
((
iter
!=
core
.
xmaterial_lst
.
end
())
&&
((
iter
->
first
>
core
.
xmaterial_lst
.
size
())
||
(
iter
->
first
>
max
)))
core
.
xmaterial_lst
.
erase
(
iter
++
);
core
.
xmaterial_lst
.
erase
(
iter
++
);
}
else
{
}
else
{
for
(
auto
pcard
:
cv
)
for
(
auto
pcard
=
cv
.
begin
();
pcard
!=
cv
.
end
();
++
pcard
)
core
.
xmaterial_lst
.
insert
(
std
::
make_pair
(
0
,
pcard
));
core
.
xmaterial_lst
.
insert
(
std
::
make_pair
(
0
,
*
pcard
));
}
}
}
else
{
}
else
{
pduel
->
game_field
->
get_xyz_material
(
scard
,
findex
,
max
);
pduel
->
game_field
->
get_xyz_material
(
scard
,
findex
,
max
);
...
...
ocgcore/operations.cpp
View file @
1957cbc7
...
@@ -3986,8 +3986,8 @@ int32 field::select_xyz_material(int16 step, uint8 playerid, card* scard, int32
...
@@ -3986,8 +3986,8 @@ int32 field::select_xyz_material(int16 step, uint8 playerid, card* scard, int32
maxv
=
core
.
xmaterial_lst
.
begin
()
->
first
;
maxv
=
core
.
xmaterial_lst
.
begin
()
->
first
;
if
(
min
>=
maxv
)
{
if
(
min
>=
maxv
)
{
core
.
select_cards
.
clear
();
core
.
select_cards
.
clear
();
for
(
auto
iter
:
core
.
xmaterial_lst
)
for
(
auto
iter
=
core
.
xmaterial_lst
.
begin
();
iter
!=
core
.
xmaterial_lst
.
end
();
++
iter
)
core
.
select_cards
.
push_back
(
iter
.
second
);
core
.
select_cards
.
push_back
(
iter
->
second
);
pduel
->
write_buffer8
(
MSG_HINT
);
pduel
->
write_buffer8
(
MSG_HINT
);
pduel
->
write_buffer8
(
HINT_SELECTMSG
);
pduel
->
write_buffer8
(
HINT_SELECTMSG
);
pduel
->
write_buffer8
(
playerid
);
pduel
->
write_buffer8
(
playerid
);
...
@@ -4009,8 +4009,8 @@ int32 field::select_xyz_material(int16 step, uint8 playerid, card* scard, int32
...
@@ -4009,8 +4009,8 @@ int32 field::select_xyz_material(int16 step, uint8 playerid, card* scard, int32
case
2
:
{
case
2
:
{
core
.
operated_set
.
clear
();
core
.
operated_set
.
clear
();
core
.
select_cards
.
clear
();
core
.
select_cards
.
clear
();
for
(
auto
iter
:
core
.
xmaterial_lst
)
for
(
auto
iter
=
core
.
xmaterial_lst
.
begin
();
iter
!=
core
.
xmaterial_lst
.
end
();
++
iter
)
core
.
select_cards
.
push_back
(
iter
.
second
);
core
.
select_cards
.
push_back
(
iter
->
second
);
pduel
->
write_buffer8
(
MSG_HINT
);
pduel
->
write_buffer8
(
MSG_HINT
);
pduel
->
write_buffer8
(
HINT_SELECTMSG
);
pduel
->
write_buffer8
(
HINT_SELECTMSG
);
pduel
->
write_buffer8
(
playerid
);
pduel
->
write_buffer8
(
playerid
);
...
@@ -4055,8 +4055,8 @@ int32 field::select_xyz_material(int16 step, uint8 playerid, card* scard, int32
...
@@ -4055,8 +4055,8 @@ int32 field::select_xyz_material(int16 step, uint8 playerid, card* scard, int32
return
TRUE
;
return
TRUE
;
}
}
core
.
select_cards
.
clear
();
core
.
select_cards
.
clear
();
for
(
auto
iter
:
core
.
xmaterial_lst
)
for
(
auto
iter
=
core
.
xmaterial_lst
.
begin
();
iter
!=
core
.
xmaterial_lst
.
end
();
iter
++
)
core
.
select_cards
.
push_back
(
iter
.
second
);
core
.
select_cards
.
push_back
(
iter
->
second
);
int
maxv
=
core
.
xmaterial_lst
.
begin
()
->
first
;
int
maxv
=
core
.
xmaterial_lst
.
begin
()
->
first
;
pduel
->
write_buffer8
(
MSG_HINT
);
pduel
->
write_buffer8
(
MSG_HINT
);
pduel
->
write_buffer8
(
HINT_SELECTMSG
);
pduel
->
write_buffer8
(
HINT_SELECTMSG
);
...
@@ -4072,8 +4072,8 @@ int32 field::select_xyz_material(int16 step, uint8 playerid, card* scard, int32
...
@@ -4072,8 +4072,8 @@ int32 field::select_xyz_material(int16 step, uint8 playerid, card* scard, int32
}
}
case
5
:
{
case
5
:
{
group
*
pgroup
=
pduel
->
new_group
();
group
*
pgroup
=
pduel
->
new_group
();
for
(
auto
pcard
:
core
.
operated_set
)
for
(
auto
pcard
=
core
.
operated_set
.
begin
();
pcard
!=
core
.
operated_set
.
end
();
++
pcard
)
pgroup
->
container
.
insert
(
pcard
);
pgroup
->
container
.
insert
(
*
pcard
);
for
(
int32
i
=
0
;
i
<
returns
.
bvalue
[
0
];
++
i
)
{
for
(
int32
i
=
0
;
i
<
returns
.
bvalue
[
0
];
++
i
)
{
card
*
pcard
=
core
.
select_cards
[
returns
.
bvalue
[
i
+
1
]];
card
*
pcard
=
core
.
select_cards
[
returns
.
bvalue
[
i
+
1
]];
pgroup
->
container
.
insert
(
pcard
);
pgroup
->
container
.
insert
(
pcard
);
...
...
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