Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Y
YGOMobile
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
fallenstardust
YGOMobile
Commits
ea54e5ce
Commit
ea54e5ce
authored
Mar 15, 2023
by
JSY1728
Committed by
GitHub
Mar 15, 2023
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'fallenstardust:master' into patch-3
parents
8e51370b
c80e3e35
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
176 additions
and
274 deletions
+176
-274
Classes/gframe/CGUITTFont.h
Classes/gframe/CGUITTFont.h
+4
-1
Classes/gframe/deck_con.cpp
Classes/gframe/deck_con.cpp
+4
-4
Classes/gframe/drawing.cpp
Classes/gframe/drawing.cpp
+73
-169
Classes/gframe/duelclient.cpp
Classes/gframe/duelclient.cpp
+3
-3
Classes/gframe/event_handler.cpp
Classes/gframe/event_handler.cpp
+40
-13
Classes/gframe/game.cpp
Classes/gframe/game.cpp
+40
-69
Classes/gframe/game.h
Classes/gframe/game.h
+4
-0
mobile/assets/changelog.html
mobile/assets/changelog.html
+6
-13
mobile/build.gradle
mobile/build.gradle
+2
-2
mobile/src/main/res/drawable-xhdpi/ic_launcher3.png
mobile/src/main/res/drawable-xhdpi/ic_launcher3.png
+0
-0
No files found.
Classes/gframe/CGUITTFont.h
View file @
ea54e5ce
...
...
@@ -218,7 +218,10 @@ public:
virtual
void
setMaxPageTextureSize
(
const
core
::
dimension2du
&
texture_size
)
{
max_page_texture_size
=
texture_size
;
}
//! Set the font size.
virtual
void
setFontSize
(
u32
new_size
)
{
size
=
new_size
;
}
//! Get the font size.
virtual
u32
getFontSize
()
const
{
return
size
;
...
...
Classes/gframe/deck_con.cpp
View file @
ea54e5ce
...
...
@@ -172,7 +172,7 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
switch
(
id
)
{
case
BUTTON_CLEAR_DECK
:
{
mainGame
->
gMutex
.
lock
();
mainGame
->
SetStaticText
(
mainGame
->
stQMessage
,
370
,
mainGame
->
text
Font
,
dataManager
.
GetSysString
(
1339
));
mainGame
->
SetStaticText
(
mainGame
->
stQMessage
,
370
,
mainGame
->
gui
Font
,
dataManager
.
GetSysString
(
1339
));
mainGame
->
PopupElement
(
mainGame
->
wQuery
);
mainGame
->
gMutex
.
unlock
();
prev_operation
=
id
;
...
...
@@ -246,7 +246,7 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
mainGame
->
gMutex
.
lock
();
wchar_t
textBuffer
[
256
];
myswprintf
(
textBuffer
,
L"%ls
\n
%ls"
,
mainGame
->
cbDBDecks
->
getItem
(
sel
),
dataManager
.
GetSysString
(
1337
));
mainGame
->
SetStaticText
(
mainGame
->
stQMessage
,
370
*
mainGame
->
xScale
,
mainGame
->
text
Font
,
textBuffer
);
mainGame
->
SetStaticText
(
mainGame
->
stQMessage
,
370
*
mainGame
->
xScale
,
mainGame
->
gui
Font
,
textBuffer
);
mainGame
->
PopupElement
(
mainGame
->
wQuery
);
mainGame
->
gMutex
.
unlock
();
prev_operation
=
id
;
...
...
@@ -883,7 +883,7 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
}
if
(
is_modified
&&
!
readonly
&&
!
mainGame
->
chkIgnoreDeckChanges
->
isChecked
())
{
mainGame
->
gMutex
.
lock
();
mainGame
->
SetStaticText
(
mainGame
->
stQMessage
,
370
*
mainGame
->
xScale
,
mainGame
->
text
Font
,
dataManager
.
GetSysString
(
1356
));
mainGame
->
SetStaticText
(
mainGame
->
stQMessage
,
370
*
mainGame
->
xScale
,
mainGame
->
gui
Font
,
dataManager
.
GetSysString
(
1356
));
mainGame
->
PopupElement
(
mainGame
->
wQuery
);
mainGame
->
gMutex
.
unlock
();
prev_operation
=
id
;
...
...
@@ -1671,7 +1671,7 @@ void DeckBuilder::RefreshPackListScroll() {
}
}
else
{
mainGame
->
scrPackCards
->
setVisible
(
false
);
mainGame
->
scrPackCards
->
setPos
(
0
);
mainGame
->
scrPackCards
->
setPos
(
0
);
}
}
void
DeckBuilder
::
ChangeCategory
(
int
catesel
)
{
...
...
Classes/gframe/drawing.cpp
View file @
ea54e5ce
...
...
@@ -17,56 +17,18 @@ inline void SetS3DVertex(S3DVertex* v, f32 x1, f32 y1, f32 x2, f32 y2, f32 z, f3
void
Game
::
DrawSelectionLine
(
irr
::
video
::
S3DVertex
*
vec
,
bool
strip
,
int
width
,
float
*
cv
)
{
#ifdef _IRR_ANDROID_PLATFORM_
glLineWidth
(
width
+
2
);
driver
->
setMaterial
(
matManager
.
mOutLine
);
if
(
strip
)
{
if
(
linePatternD3D
<
15
)
{
driver
->
draw3DLine
(
vec
[
0
].
Pos
,
vec
[
0
].
Pos
+
(
vec
[
1
].
Pos
-
vec
[
0
].
Pos
)
*
(
linePatternD3D
+
1
)
/
15.0
);
driver
->
draw3DLine
(
vec
[
1
].
Pos
,
vec
[
1
].
Pos
+
(
vec
[
3
].
Pos
-
vec
[
1
].
Pos
)
*
(
linePatternD3D
+
1
)
/
15.0
);
driver
->
draw3DLine
(
vec
[
3
].
Pos
,
vec
[
3
].
Pos
+
(
vec
[
2
].
Pos
-
vec
[
3
].
Pos
)
*
(
linePatternD3D
+
1
)
/
15.0
);
driver
->
draw3DLine
(
vec
[
2
].
Pos
,
vec
[
2
].
Pos
+
(
vec
[
0
].
Pos
-
vec
[
2
].
Pos
)
*
(
linePatternD3D
+
1
)
/
15.0
);
}
else
{
driver
->
draw3DLine
(
vec
[
0
].
Pos
+
(
vec
[
1
].
Pos
-
vec
[
0
].
Pos
)
*
(
linePatternD3D
-
14
)
/
15.0
,
vec
[
1
].
Pos
);
driver
->
draw3DLine
(
vec
[
1
].
Pos
+
(
vec
[
3
].
Pos
-
vec
[
1
].
Pos
)
*
(
linePatternD3D
-
14
)
/
15.0
,
vec
[
3
].
Pos
);
driver
->
draw3DLine
(
vec
[
3
].
Pos
+
(
vec
[
2
].
Pos
-
vec
[
3
].
Pos
)
*
(
linePatternD3D
-
14
)
/
15.0
,
vec
[
2
].
Pos
);
driver
->
draw3DLine
(
vec
[
2
].
Pos
+
(
vec
[
0
].
Pos
-
vec
[
2
].
Pos
)
*
(
linePatternD3D
-
14
)
/
15.0
,
vec
[
0
].
Pos
);
}
}
else
{
driver
->
draw3DLine
(
vec
[
0
].
Pos
,
vec
[
1
].
Pos
);
driver
->
draw3DLine
(
vec
[
1
].
Pos
,
vec
[
3
].
Pos
);
driver
->
draw3DLine
(
vec
[
3
].
Pos
,
vec
[
2
].
Pos
);
driver
->
draw3DLine
(
vec
[
2
].
Pos
,
vec
[
0
].
Pos
);
}
#else
if
(
!
gameConf
.
use_d3d
)
{
float
origin
[
4
]
=
{
1.0
f
,
1.0
f
,
1.0
f
,
1.0
f
};
glLineWidth
(
width
);
glLineStipple
(
1
,
linePattern
);
if
(
strip
)
glEnable
(
GL_LINE_STIPPLE
);
glDisable
(
GL_TEXTURE_2D
);
glMaterialfv
(
GL_FRONT
,
GL_AMBIENT
,
cv
);
glBegin
(
GL_LINE_LOOP
);
glVertex3fv
((
float
*
)
&
vec
[
0
].
Pos
);
glVertex3fv
((
float
*
)
&
vec
[
1
].
Pos
);
glVertex3fv
((
float
*
)
&
vec
[
3
].
Pos
);
glVertex3fv
((
float
*
)
&
vec
[
2
].
Pos
);
glEnd
();
glMaterialfv
(
GL_FRONT
,
GL_AMBIENT
,
origin
);
glDisable
(
GL_LINE_STIPPLE
);
glEnable
(
GL_TEXTURE_2D
);
}
else
{
driver
->
setMaterial
(
matManager
.
mOutLine
);
if
(
strip
)
{
if
(
linePattern
<
15
)
{
driver
->
draw3DLine
(
vec
[
0
].
Pos
,
vec
[
0
].
Pos
+
(
vec
[
1
].
Pos
-
vec
[
0
].
Pos
)
*
(
linePattern
+
1
)
/
15.0
);
driver
->
draw3DLine
(
vec
[
1
].
Pos
,
vec
[
1
].
Pos
+
(
vec
[
3
].
Pos
-
vec
[
1
].
Pos
)
*
(
linePattern
+
1
)
/
15.0
);
driver
->
draw3DLine
(
vec
[
3
].
Pos
,
vec
[
3
].
Pos
+
(
vec
[
2
].
Pos
-
vec
[
3
].
Pos
)
*
(
linePattern
+
1
)
/
15.0
);
driver
->
draw3DLine
(
vec
[
2
].
Pos
,
vec
[
2
].
Pos
+
(
vec
[
0
].
Pos
-
vec
[
2
].
Pos
)
*
(
linePattern
+
1
)
/
15.0
);
if
(
linePattern
D3D
<
15
)
{
driver
->
draw3DLine
(
vec
[
0
].
Pos
,
vec
[
0
].
Pos
+
(
vec
[
1
].
Pos
-
vec
[
0
].
Pos
)
*
(
linePattern
D3D
+
1
)
/
15.0
);
driver
->
draw3DLine
(
vec
[
1
].
Pos
,
vec
[
1
].
Pos
+
(
vec
[
3
].
Pos
-
vec
[
1
].
Pos
)
*
(
linePattern
D3D
+
1
)
/
15.0
);
driver
->
draw3DLine
(
vec
[
3
].
Pos
,
vec
[
3
].
Pos
+
(
vec
[
2
].
Pos
-
vec
[
3
].
Pos
)
*
(
linePattern
D3D
+
1
)
/
15.0
);
driver
->
draw3DLine
(
vec
[
2
].
Pos
,
vec
[
2
].
Pos
+
(
vec
[
0
].
Pos
-
vec
[
2
].
Pos
)
*
(
linePattern
D3D
+
1
)
/
15.0
);
}
else
{
driver
->
draw3DLine
(
vec
[
0
].
Pos
+
(
vec
[
1
].
Pos
-
vec
[
0
].
Pos
)
*
(
linePattern
-
14
)
/
15.0
,
vec
[
1
].
Pos
);
driver
->
draw3DLine
(
vec
[
1
].
Pos
+
(
vec
[
3
].
Pos
-
vec
[
1
].
Pos
)
*
(
linePattern
-
14
)
/
15.0
,
vec
[
3
].
Pos
);
driver
->
draw3DLine
(
vec
[
3
].
Pos
+
(
vec
[
2
].
Pos
-
vec
[
3
].
Pos
)
*
(
linePattern
-
14
)
/
15.0
,
vec
[
2
].
Pos
);
driver
->
draw3DLine
(
vec
[
2
].
Pos
+
(
vec
[
0
].
Pos
-
vec
[
2
].
Pos
)
*
(
linePattern
-
14
)
/
15.0
,
vec
[
0
].
Pos
);
driver
->
draw3DLine
(
vec
[
0
].
Pos
+
(
vec
[
1
].
Pos
-
vec
[
0
].
Pos
)
*
(
linePattern
D3D
-
14
)
/
15.0
,
vec
[
1
].
Pos
);
driver
->
draw3DLine
(
vec
[
1
].
Pos
+
(
vec
[
3
].
Pos
-
vec
[
1
].
Pos
)
*
(
linePattern
D3D
-
14
)
/
15.0
,
vec
[
3
].
Pos
);
driver
->
draw3DLine
(
vec
[
3
].
Pos
+
(
vec
[
2
].
Pos
-
vec
[
3
].
Pos
)
*
(
linePattern
D3D
-
14
)
/
15.0
,
vec
[
2
].
Pos
);
driver
->
draw3DLine
(
vec
[
2
].
Pos
+
(
vec
[
0
].
Pos
-
vec
[
2
].
Pos
)
*
(
linePattern
D3D
-
14
)
/
15.0
,
vec
[
0
].
Pos
);
}
}
else
{
driver
->
draw3DLine
(
vec
[
0
].
Pos
,
vec
[
1
].
Pos
);
...
...
@@ -74,10 +36,8 @@ void Game::DrawSelectionLine(irr::video::S3DVertex* vec, bool strip, int width,
driver
->
draw3DLine
(
vec
[
3
].
Pos
,
vec
[
2
].
Pos
);
driver
->
draw3DLine
(
vec
[
2
].
Pos
,
vec
[
0
].
Pos
);
}
}
#endif
}
void
Game
::
DrawSelectionLine
(
irr
::
gui
::
IGUIElement
*
element
,
int
width
,
irr
::
video
::
SColor
color
)
{
recti
pos
=
element
->
getAbsolutePosition
();
float
x1
=
pos
.
UpperLeftCorner
.
X
;
...
...
@@ -200,10 +160,10 @@ void Game::DrawBackGround() {
}
else
{
driver
->
drawVertexPrimitiveList
(
matManager
.
vTotalAtkopT
,
4
,
matManager
.
iRectangle
,
2
);
DrawShadowText
(
numFont
,
dInfo
.
str_total_attack
[
1
],
recti
(
740
*
mainGame
->
xScale
,
295
*
mainGame
->
yScale
,
760
*
mainGame
->
xScale
,
315
*
mainGame
->
yScale
),
recti
(
0
,
1
,
2
,
0
),
dInfo
.
total_attack_color
[
1
],
0xff000000
,
true
,
false
,
0
);
}
}
//disabled field
{
/*float cv[4] = {0.0f, 0.0f, 1.0f, 1.0f};*/
...
...
@@ -248,39 +208,6 @@ void Game::DrawBackGround() {
}
}
DrawSelField
(
dField
.
hovered_controler
,
dField
.
hovered_location
,
dField
.
hovered_sequence
,
imageManager
.
tSelField
,
false
);
#else
S3DVertex
*
vertex
=
0
;
if
(
dField
.
hovered_location
==
LOCATION_DECK
)
vertex
=
matManager
.
vFieldDeck
[
dField
.
hovered_controler
];
else
if
(
dField
.
hovered_location
==
LOCATION_MZONE
)
{
vertex
=
matManager
.
vFieldMzone
[
dField
.
hovered_controler
][
dField
.
hovered_sequence
];
ClientCard
*
pcard
=
mainGame
->
dField
.
mzone
[
dField
.
hovered_controler
][
dField
.
hovered_sequence
];
if
(
pcard
&&
pcard
->
type
&
TYPE_LINK
)
{
DrawLinkedZones
(
pcard
);
}
}
else
if
(
dField
.
hovered_location
==
LOCATION_SZONE
)
vertex
=
matManager
.
vFieldSzone
[
dField
.
hovered_controler
][
dField
.
hovered_sequence
][
rule
];
else
if
(
dField
.
hovered_location
==
LOCATION_GRAVE
)
vertex
=
matManager
.
vFieldGrave
[
dField
.
hovered_controler
][
rule
];
else
if
(
dField
.
hovered_location
==
LOCATION_REMOVED
)
vertex
=
matManager
.
vFieldRemove
[
dField
.
hovered_controler
][
rule
];
else
if
(
dField
.
hovered_location
==
LOCATION_EXTRA
)
vertex
=
matManager
.
vFieldExtra
[
dField
.
hovered_controler
];
selFieldAlpha
+=
selFieldDAlpha
;
if
(
selFieldAlpha
<=
5
)
{
selFieldAlpha
=
5
;
selFieldDAlpha
=
10
;
}
if
(
selFieldAlpha
>=
205
)
{
selFieldAlpha
=
205
;
selFieldDAlpha
=
-
10
;
}
S3DVertex
v2
[
4
];
//fix the highlight grid
SetS3DVertex
(
v2
,
vertex
[
0
].
Pos
.
X
,
vertex
[
1
].
Pos
.
Y
,
vertex
[
3
].
Pos
.
X
,
vertex
[
2
].
Pos
.
Y
,
0.001
f
,
1
,
0
,
0
,
0
,
0
);
//z(0.001f)
matManager
.
mSelField
.
AmbientColor
=
0xffffffff
;
matManager
.
mSelField
.
DiffuseColor
=
selFieldAlpha
<<
24
;
driver
->
setMaterial
(
matManager
.
mSelField
);
driver
->
drawVertexPrimitiveList
(
v2
,
4
,
matManager
.
iRectangle
,
2
);
#endif
}
}
...
...
@@ -475,7 +402,7 @@ void Game::DrawCard(ClientCard* pcard) {
}
void
Game
::
DrawShadowText
(
CGUITTFont
*
font
,
const
core
::
stringw
&
text
,
const
core
::
rect
<
s32
>&
position
,
const
core
::
rect
<
s32
>&
padding
,
video
::
SColor
color
,
video
::
SColor
shadowcolor
,
bool
hcenter
,
bool
vcenter
,
const
core
::
rect
<
s32
>*
clip
)
{
core
::
rect
<
s32
>
shadowposition
=
recti
(
position
.
UpperLeftCorner
.
X
-
padding
.
UpperLeftCorner
.
X
,
position
.
UpperLeftCorner
.
Y
-
padding
.
UpperLeftCorner
.
Y
,
core
::
rect
<
s32
>
shadowposition
=
recti
(
position
.
UpperLeftCorner
.
X
-
padding
.
UpperLeftCorner
.
X
,
position
.
UpperLeftCorner
.
Y
-
padding
.
UpperLeftCorner
.
Y
,
position
.
LowerRightCorner
.
X
-
padding
.
LowerRightCorner
.
X
,
position
.
LowerRightCorner
.
Y
-
padding
.
LowerRightCorner
.
Y
);
font
->
draw
(
text
,
shadowposition
,
shadowcolor
,
hcenter
,
vcenter
,
clip
);
font
->
draw
(
text
,
position
,
color
,
hcenter
,
vcenter
,
clip
);
...
...
@@ -591,7 +518,7 @@ void Game::DrawMisc() {
auto
layerCount
=
dInfo
.
lp
[
0
]
/
maxLP
;
auto
partialLP
=
dInfo
.
lp
[
0
]
%
maxLP
;
auto
bgColorPos
=
(
layerCount
-
1
)
%
5
;
auto
fgColorPos
=
layerCount
%
5
;
auto
fgColorPos
=
layerCount
%
5
;
driver
->
draw2DImage
(
imageManager
.
tLPBar
,
recti
((
390
+
235
*
partialLP
/
maxLP
)
*
mainGame
->
xScale
,
12
*
mainGame
->
yScale
,
625
*
mainGame
->
xScale
,
74
*
mainGame
->
yScale
),
recti
(
0
,
bgColorPos
*
60
,
60
,
(
bgColorPos
+
1
)
*
60
),
0
,
0
,
true
);
if
(
partialLP
>
0
)
{
driver
->
draw2DImage
(
imageManager
.
tLPBar
,
recti
(
390
*
mainGame
->
xScale
,
12
*
mainGame
->
yScale
,
(
390
+
235
*
partialLP
/
maxLP
)
*
mainGame
->
xScale
,
74
*
mainGame
->
yScale
),
recti
(
0
,
fgColorPos
*
60
,
60
,
(
fgColorPos
+
1
)
*
60
),
0
,
0
,
true
);
...
...
@@ -668,29 +595,27 @@ void Game::DrawMisc() {
DrawShadowText
(
numFont
,
dInfo
.
str_card_count
[
0
],
recti
(
600
*
mainGame
->
xScale
,
51
*
mainGame
->
yScale
,
625
*
mainGame
->
xScale
,
70
*
mainGame
->
yScale
),
recti
(
0
,
1
*
mainGame
->
yScale
,
2
*
mainGame
->
xScale
,
0
),
dInfo
.
card_count_color
[
0
],
0xff000000
,
true
,
false
,
0
);
DrawShadowText
(
numFont
,
dInfo
.
str_card_count
[
1
],
recti
(
710
*
mainGame
->
xScale
,
51
*
mainGame
->
yScale
,
735
*
mainGame
->
xScale
,
70
*
mainGame
->
yScale
),
recti
(
0
,
1
*
mainGame
->
yScale
,
2
*
mainGame
->
xScale
,
0
),
dInfo
.
card_count_color
[
1
],
0xff000000
,
true
,
false
,
0
);
}
numFont
->
draw
(
dInfo
.
strLP
[
0
],
recti
(
305
*
mainGame
->
xScale
,
49
*
mainGame
->
yScale
,
614
*
mainGame
->
xScale
,
68
*
mainGame
->
yScale
),
0xff000000
,
true
,
false
,
0
);
numFont
->
draw
(
dInfo
.
strLP
[
0
],
recti
(
305
*
mainGame
->
xScale
,
50
*
mainGame
->
yScale
,
616
*
mainGame
->
xScale
,
69
*
mainGame
->
yScale
),
0xffffff00
,
true
,
false
,
0
);
numFont
->
draw
(
dInfo
.
strLP
[
1
],
recti
(
711
*
mainGame
->
xScale
,
49
*
mainGame
->
yScale
,
1010
*
mainGame
->
xScale
,
68
*
mainGame
->
yScale
),
0xff000000
,
true
,
false
,
0
);
numFont
->
draw
(
dInfo
.
strLP
[
1
],
recti
(
711
*
mainGame
->
xScale
,
50
*
mainGame
->
yScale
,
1012
*
mainGame
->
xScale
,
69
*
mainGame
->
yScale
),
0xffffff00
,
true
,
false
,
0
);
DrawShadowText
(
numFont
,
dInfo
.
strLP
[
0
],
recti
(
305
*
mainGame
->
xScale
,
49
*
mainGame
->
yScale
,
614
*
mainGame
->
xScale
,
68
*
mainGame
->
yScale
),
recti
(
0
,
1
*
mainGame
->
yScale
,
2
*
mainGame
->
xScale
,
0
),
0xffffffff
,
0xff000000
,
true
,
false
);
DrawShadowText
(
numFont
,
dInfo
.
strLP
[
1
],
recti
(
711
*
mainGame
->
xScale
,
50
*
mainGame
->
yScale
,
1012
*
mainGame
->
xScale
,
69
*
mainGame
->
yScale
),
recti
(
0
,
1
*
mainGame
->
yScale
,
2
*
mainGame
->
xScale
,
0
),
0xffffffff
,
0xff000000
,
true
,
false
);
recti
p1size
=
recti
(
400
*
mainGame
->
xScale
,
18
*
mainGame
->
yScale
,
629
*
mainGame
->
xScale
,
37
*
mainGame
->
yScale
);
recti
p2size
=
recti
(
920
*
mainGame
->
xScale
,
18
*
mainGame
->
yScale
,
986
*
mainGame
->
xScale
,
37
*
mainGame
->
yScale
);
if
(
!
dInfo
.
isTag
||
!
dInfo
.
tag_player
[
0
])
textFont
->
draw
(
dInfo
.
hostname
,
recti
(
400
*
mainGame
->
xScale
,
18
*
mainGame
->
yScale
,
629
*
mainGame
->
xScale
,
37
*
mainGame
->
yScale
)
,
0xffffffff
,
false
,
false
,
0
);
guiFont
->
draw
(
dInfo
.
hostname
,
p1size
,
0xffffffff
,
false
,
false
,
0
);
else
textFont
->
draw
(
dInfo
.
hostname_tag
,
recti
(
400
*
mainGame
->
xScale
,
18
*
mainGame
->
yScale
,
629
*
mainGame
->
xScale
,
37
*
mainGame
->
yScale
)
,
0xffffffff
,
false
,
false
,
0
);
guiFont
->
draw
(
dInfo
.
hostname_tag
,
p1size
,
0xffffffff
,
false
,
false
,
0
);
if
(
!
dInfo
.
isTag
||
!
dInfo
.
tag_player
[
1
])
{
auto
cld
=
textFont
->
getDimension
(
dInfo
.
clientname
);
textFont
->
draw
(
dInfo
.
clientname
,
recti
(
920
*
mainGame
->
xScale
-
cld
.
Width
,
18
*
mainGame
->
yScale
,
986
*
mainGame
->
xScale
,
37
*
mainGame
->
yScale
),
0xffffffff
,
false
,
false
,
0
);
auto
cld
=
guiFont
->
getDimension
(
dInfo
.
clientname
);
p2size
.
UpperLeftCorner
.
X
-=
cld
.
Width
;
guiFont
->
draw
(
dInfo
.
clientname
,
p2size
,
0xffffffff
,
false
,
false
,
0
);
}
else
{
auto
cld
=
textFont
->
getDimension
(
dInfo
.
clientname_tag
);
textFont
->
draw
(
dInfo
.
clientname_tag
,
recti
(
920
*
mainGame
->
xScale
-
cld
.
Width
,
18
*
mainGame
->
yScale
,
986
*
mainGame
->
xScale
,
37
*
mainGame
->
yScale
),
0xffffffff
,
false
,
false
,
0
);
auto
cld
=
guiFont
->
getDimension
(
dInfo
.
clientname_tag
);
p2size
.
UpperLeftCorner
.
X
-=
cld
.
Width
;
guiFont
->
draw
(
dInfo
.
clientname_tag
,
p2size
,
0xffffffff
,
false
,
false
,
0
);
}
driver
->
draw2DRectangle
(
recti
(
632
*
mainGame
->
xScale
,
10
*
mainGame
->
yScale
,
688
*
mainGame
->
xScale
,
30
*
mainGame
->
yScale
),
0x00000000
,
0x00000000
,
0xffffffff
,
0xffffffff
);
driver
->
draw2DRectangle
(
recti
(
632
*
mainGame
->
xScale
,
30
*
mainGame
->
yScale
,
688
*
mainGame
->
xScale
,
50
*
mainGame
->
yScale
),
0xffffffff
,
0xffffffff
,
0x00000000
,
0x00000000
);
lpcFont
->
draw
(
dataManager
.
GetNumString
(
dInfo
.
turn
),
recti
(
635
*
mainGame
->
xScale
,
5
*
mainGame
->
yScale
,
685
*
mainGame
->
xScale
,
40
*
mainGame
->
yScale
),
0x80000000
,
true
,
false
,
0
);
lpcFont
->
draw
(
dataManager
.
GetNumString
(
dInfo
.
turn
),
recti
(
635
*
mainGame
->
xScale
,
5
*
mainGame
->
yScale
,
687
*
mainGame
->
xScale
,
40
*
mainGame
->
yScale
),
0x8000ffff
,
true
,
false
,
0
);
ClientCard
*
pcard
;
DrawShadowText
(
lpcFont
,
dataManager
.
GetNumString
(
dInfo
.
turn
),
recti
(
635
*
mainGame
->
xScale
,
5
*
mainGame
->
yScale
,
685
*
mainGame
->
xScale
,
40
*
mainGame
->
yScale
),
recti
(
0
,
1
*
mainGame
->
yScale
,
2
*
mainGame
->
xScale
,
0
),
0x80000000
,
0x8000ffff
,
true
,
false
);
ClientCard
*
pcard
;
for
(
int
i
=
0
;
i
<
5
;
++
i
)
{
pcard
=
dField
.
mzone
[
0
][
i
];
if
(
pcard
&&
pcard
->
code
!=
0
)
...
...
@@ -716,106 +641,84 @@ void Game::DrawMisc() {
if
(
dInfo
.
duel_rule
<
4
)
{
pcard
=
dField
.
szone
[
0
][
6
];
if
(
pcard
)
{
adFont
->
draw
(
pcard
->
lscstring
,
recti
(
426
*
mainGame
->
xScale
,
394
*
mainGame
->
yScale
,
438
*
mainGame
->
xScale
,
414
*
mainGame
->
yScale
),
0xff000000
,
true
,
false
,
0
);
adFont
->
draw
(
pcard
->
lscstring
,
recti
(
427
*
mainGame
->
xScale
,
395
*
mainGame
->
yScale
,
439
*
mainGame
->
xScale
,
415
*
mainGame
->
yScale
),
0xffffffff
,
true
,
false
,
0
);
DrawShadowText
(
adFont
,
pcard
->
lscstring
,
recti
(
426
*
mainGame
->
xScale
,
394
*
mainGame
->
yScale
,
438
*
mainGame
->
xScale
,
414
*
mainGame
->
yScale
),
recti
(
1
*
mainGame
->
xScale
,
1
*
mainGame
->
yScale
,
1
*
mainGame
->
xScale
,
1
*
mainGame
->
yScale
),
0xffffffff
,
0xff000000
,
true
,
false
);
}
pcard
=
dField
.
szone
[
0
][
7
];
if
(
pcard
)
{
adFont
->
draw
(
pcard
->
rscstring
,
recti
(
880
*
mainGame
->
xScale
,
394
*
mainGame
->
yScale
,
912
*
mainGame
->
xScale
,
414
*
mainGame
->
yScale
),
0xff000000
,
true
,
false
,
0
);
adFont
->
draw
(
pcard
->
rscstring
,
recti
(
881
*
mainGame
->
xScale
,
395
*
mainGame
->
yScale
,
913
*
mainGame
->
xScale
,
415
*
mainGame
->
yScale
),
0xffffffff
,
true
,
false
,
0
);
DrawShadowText
(
adFont
,
pcard
->
lscstring
,
recti
(
880
*
mainGame
->
xScale
,
394
*
mainGame
->
yScale
,
912
*
mainGame
->
xScale
,
414
*
mainGame
->
yScale
),
recti
(
1
*
mainGame
->
xScale
,
1
*
mainGame
->
yScale
,
1
*
mainGame
->
xScale
,
1
*
mainGame
->
yScale
),
0xffffffff
,
0xff000000
,
true
,
false
);
}
pcard
=
dField
.
szone
[
1
][
6
];
if
(
pcard
)
{
adFont
->
draw
(
pcard
->
lscstring
,
recti
(
839
*
mainGame
->
xScale
,
245
*
mainGame
->
yScale
,
871
*
mainGame
->
xScale
,
265
*
mainGame
->
yScale
),
0xff000000
,
true
,
false
,
0
);
adFont
->
draw
(
pcard
->
lscstring
,
recti
(
840
*
mainGame
->
xScale
,
246
*
mainGame
->
yScale
,
872
*
mainGame
->
xScale
,
266
*
mainGame
->
yScale
),
0xffffffff
,
true
,
false
,
0
);
DrawShadowText
(
adFont
,
pcard
->
lscstring
,
recti
(
839
*
mainGame
->
xScale
,
245
*
mainGame
->
yScale
,
871
*
mainGame
->
xScale
,
265
*
mainGame
->
yScale
),
recti
(
1
*
mainGame
->
xScale
,
1
*
mainGame
->
yScale
,
1
*
mainGame
->
xScale
,
1
*
mainGame
->
yScale
),
0xffffffff
,
0xff000000
,
true
,
false
);
}
pcard
=
dField
.
szone
[
1
][
7
];
if
(
pcard
)
{
adFont
->
draw
(
pcard
->
rscstring
,
recti
(
463
*
mainGame
->
xScale
,
245
*
mainGame
->
yScale
,
495
*
mainGame
->
xScale
,
265
*
mainGame
->
yScale
),
0xff000000
,
true
,
false
,
0
);
adFont
->
draw
(
pcard
->
rscstring
,
recti
(
464
*
mainGame
->
xScale
,
246
*
mainGame
->
yScale
,
496
*
mainGame
->
xScale
,
266
*
mainGame
->
yScale
),
0xffffffff
,
true
,
false
,
0
);
DrawShadowText
(
adFont
,
pcard
->
lscstring
,
recti
(
463
*
mainGame
->
xScale
,
245
*
mainGame
->
yScale
,
495
*
mainGame
->
xScale
,
265
*
mainGame
->
yScale
),
recti
(
1
*
mainGame
->
xScale
,
1
*
mainGame
->
yScale
,
1
*
mainGame
->
xScale
,
1
*
mainGame
->
yScale
),
0xffffffff
,
0xff000000
,
true
,
false
);
}
}
else
{
pcard
=
dField
.
szone
[
0
][
0
];
if
(
pcard
&&
(
pcard
->
type
&
TYPE_PENDULUM
)
&&
!
pcard
->
equipTarget
)
{
adFont
->
draw
(
pcard
->
lscstring
,
recti
(
454
*
mainGame
->
xScale
,
430
*
mainGame
->
yScale
,
466
*
mainGame
->
xScale
,
450
*
mainGame
->
yScale
),
0xff000000
,
true
,
false
,
0
);
adFont
->
draw
(
pcard
->
lscstring
,
recti
(
455
*
mainGame
->
xScale
,
431
*
mainGame
->
yScale
,
467
*
mainGame
->
xScale
,
451
*
mainGame
->
yScale
),
0xffffffff
,
true
,
false
,
0
);
DrawShadowText
(
adFont
,
pcard
->
lscstring
,
recti
(
454
*
mainGame
->
xScale
,
430
*
mainGame
->
yScale
,
466
*
mainGame
->
xScale
,
450
*
mainGame
->
yScale
),
recti
(
1
*
mainGame
->
xScale
,
1
*
mainGame
->
yScale
,
1
*
mainGame
->
xScale
,
1
*
mainGame
->
yScale
),
0xffffffff
,
0xff000000
,
true
,
false
);
}
pcard
=
dField
.
szone
[
0
][
4
];
if
(
pcard
&&
(
pcard
->
type
&
TYPE_PENDULUM
)
&&
!
pcard
->
equipTarget
)
{
adFont
->
draw
(
pcard
->
rscstring
,
recti
(
850
*
mainGame
->
xScale
,
430
*
mainGame
->
yScale
,
882
*
mainGame
->
xScale
,
450
*
mainGame
->
yScale
),
0xff000000
,
true
,
false
,
0
);
adFont
->
draw
(
pcard
->
rscstring
,
recti
(
851
*
mainGame
->
xScale
,
431
*
mainGame
->
yScale
,
883
*
mainGame
->
xScale
,
451
*
mainGame
->
yScale
),
0xffffffff
,
true
,
false
,
0
);
DrawShadowText
(
adFont
,
pcard
->
lscstring
,
recti
(
850
*
mainGame
->
xScale
,
430
*
mainGame
->
yScale
,
882
*
mainGame
->
xScale
,
450
*
mainGame
->
yScale
),
recti
(
1
*
mainGame
->
xScale
,
1
*
mainGame
->
yScale
,
1
*
mainGame
->
xScale
,
1
*
mainGame
->
yScale
),
0xffffffff
,
0xff000000
,
true
,
false
);
}
pcard
=
dField
.
szone
[
1
][
0
];
if
(
pcard
&&
(
pcard
->
type
&
TYPE_PENDULUM
)
&&
!
pcard
->
equipTarget
)
{
adFont
->
draw
(
pcard
->
lscstring
,
recti
(
806
*
mainGame
->
xScale
,
222
*
mainGame
->
yScale
,
838
*
mainGame
->
xScale
,
242
*
mainGame
->
yScale
),
0xff000000
,
true
,
false
,
0
);
adFont
->
draw
(
pcard
->
lscstring
,
recti
(
807
*
mainGame
->
xScale
,
223
*
mainGame
->
yScale
,
839
*
mainGame
->
xScale
,
243
*
mainGame
->
yScale
),
0xffffffff
,
true
,
false
,
0
);
DrawShadowText
(
adFont
,
pcard
->
lscstring
,
recti
(
806
*
mainGame
->
xScale
,
222
*
mainGame
->
yScale
,
838
*
mainGame
->
xScale
,
242
*
mainGame
->
yScale
),
recti
(
1
*
mainGame
->
xScale
,
1
*
mainGame
->
yScale
,
1
*
mainGame
->
xScale
,
1
*
mainGame
->
yScale
),
0xffffffff
,
0xff000000
,
true
,
false
);
}
pcard
=
dField
.
szone
[
1
][
4
];
if
(
pcard
&&
(
pcard
->
type
&
TYPE_PENDULUM
)
&&
!
pcard
->
equipTarget
)
{
adFont
->
draw
(
pcard
->
rscstring
,
recti
(
498
*
mainGame
->
xScale
,
222
*
mainGame
->
yScale
,
530
*
mainGame
->
xScale
,
242
*
mainGame
->
yScale
),
0xff000000
,
true
,
false
,
0
);
adFont
->
draw
(
pcard
->
rscstring
,
recti
(
499
*
mainGame
->
xScale
,
223
*
mainGame
->
yScale
,
531
*
mainGame
->
xScale
,
243
*
mainGame
->
yScale
),
0xffffffff
,
true
,
false
,
0
);
}
}
DrawShadowText
(
adFont
,
pcard
->
lscstring
,
recti
(
498
*
mainGame
->
xScale
,
222
*
mainGame
->
yScale
,
530
*
mainGame
->
xScale
,
242
*
mainGame
->
yScale
),
recti
(
1
*
mainGame
->
xScale
,
1
*
mainGame
->
yScale
,
1
*
mainGame
->
xScale
,
1
*
mainGame
->
yScale
),
0xffffffff
,
0xff000000
,
true
,
false
);
}
if
(
dField
.
extra
[
0
].
size
())
{
int
offset
=
(
dField
.
extra
[
0
].
size
()
>=
10
)
?
0
:
mainGame
->
textFont
->
getDimension
(
dataManager
.
GetNumString
(
1
)).
Width
;
numFont
->
draw
(
dataManager
.
GetNumString
(
dField
.
extra
[
0
].
size
()),
recti
((
320
+
offset
)
*
mainGame
->
xScale
,
562
*
mainGame
->
yScale
,
371
*
mainGame
->
xScale
,
552
*
mainGame
->
yScale
),
0xff000000
,
true
,
false
,
0
);
numFont
->
draw
(
dataManager
.
GetNumString
(
dField
.
extra
[
0
].
size
()),
recti
((
320
+
offset
)
*
mainGame
->
xScale
,
563
*
mainGame
->
yScale
,
373
*
mainGame
->
xScale
,
553
*
mainGame
->
yScale
),
0xffffff00
,
true
,
false
,
0
);
numFont
->
draw
(
dataManager
.
GetNumString
(
dField
.
extra_p_count
[
0
],
true
),
recti
(
340
*
mainGame
->
xScale
,
562
*
mainGame
->
yScale
,
391
*
mainGame
->
xScale
,
552
*
mainGame
->
yScale
),
0xff000000
,
true
,
false
,
0
);
numFont
->
draw
(
dataManager
.
GetNumString
(
dField
.
extra_p_count
[
0
],
true
),
recti
(
340
*
mainGame
->
xScale
,
563
*
mainGame
->
yScale
,
393
*
mainGame
->
xScale
,
553
*
mainGame
->
yScale
),
0xffffff00
,
true
,
false
,
0
);
}
int
offset
=
(
dField
.
extra
[
0
].
size
()
>=
10
)
?
0
:
mainGame
->
numFont
->
getDimension
(
dataManager
.
GetNumString
(
1
)).
Width
;
DrawShadowText
(
numFont
,
dataManager
.
GetNumString
(
dField
.
extra
[
0
].
size
()),
recti
((
320
+
offset
)
*
mainGame
->
xScale
,
562
*
mainGame
->
yScale
,
371
*
mainGame
->
xScale
,
552
*
mainGame
->
yScale
),
recti
(
1
*
mainGame
->
xScale
,
1
*
mainGame
->
yScale
,
1
*
mainGame
->
xScale
,
1
*
mainGame
->
yScale
),
0xffffff00
,
0xff000000
,
true
,
false
);
DrawShadowText
(
numFont
,
dataManager
.
GetNumString
(
dField
.
extra_p_count
[
0
],
true
),
recti
(
340
*
mainGame
->
xScale
,
562
*
mainGame
->
yScale
,
391
*
mainGame
->
xScale
,
552
*
mainGame
->
yScale
),
recti
(
1
*
mainGame
->
xScale
,
1
*
mainGame
->
yScale
,
1
*
mainGame
->
xScale
,
1
*
mainGame
->
yScale
),
0xffffff00
,
0xff000000
,
true
,
false
);
}
if
(
dField
.
deck
[
0
].
size
())
{
numFont
->
draw
(
dataManager
.
GetNumString
(
dField
.
deck
[
0
].
size
()),
recti
(
907
*
mainGame
->
xScale
,
562
*
mainGame
->
yScale
,
1021
*
mainGame
->
xScale
,
552
*
mainGame
->
yScale
)
,
0xff000000
,
true
,
false
,
0
);
numFont
->
draw
(
dataManager
.
GetNumString
(
dField
.
deck
[
0
].
size
()),
recti
(
908
*
mainGame
->
xScale
,
563
*
mainGame
->
yScale
,
1023
*
mainGame
->
xScale
,
553
*
mainGame
->
yScale
),
0xffffff00
,
true
,
false
,
0
);
DrawShadowText
(
numFont
,
dataManager
.
GetNumString
(
dField
.
deck
[
0
].
size
()),
recti
(
907
*
mainGame
->
xScale
,
562
*
mainGame
->
yScale
,
1021
*
mainGame
->
xScale
,
552
*
mainGame
->
yScale
),
recti
(
1
*
mainGame
->
xScale
,
1
*
mainGame
->
yScale
,
1
*
mainGame
->
xScale
,
1
*
mainGame
->
yScale
),
0xffffff00
,
0xff000000
,
true
,
false
);
}
if
(
rule
==
0
)
{
if
(
dField
.
grave
[
0
].
size
())
{
numFont
->
draw
(
dataManager
.
GetNumString
(
dField
.
grave
[
0
].
size
()),
recti
(
837
*
mainGame
->
xScale
,
375
*
mainGame
->
yScale
,
984
*
mainGame
->
xScale
,
380
*
mainGame
->
yScale
),
0xff000000
,
true
,
false
,
0
);
numFont
->
draw
(
dataManager
.
GetNumString
(
dField
.
grave
[
0
].
size
()),
recti
(
837
*
mainGame
->
xScale
,
376
*
mainGame
->
yScale
,
986
*
mainGame
->
xScale
,
381
*
mainGame
->
yScale
),
0xffffff00
,
true
,
false
,
0
);
DrawShadowText
(
numFont
,
dataManager
.
GetNumString
(
dField
.
grave
[
0
].
size
()),
recti
(
837
*
mainGame
->
xScale
,
375
*
mainGame
->
yScale
,
984
*
mainGame
->
xScale
,
380
*
mainGame
->
yScale
),
recti
(
1
*
mainGame
->
xScale
,
1
*
mainGame
->
yScale
,
1
*
mainGame
->
xScale
,
1
*
mainGame
->
yScale
),
0xffffff00
,
0xff000000
,
true
,
false
);
}
if
(
dField
.
remove
[
0
].
size
())
{
numFont
->
draw
(
dataManager
.
GetNumString
(
dField
.
remove
[
0
].
size
()),
recti
(
1015
*
mainGame
->
xScale
,
375
*
mainGame
->
yScale
,
957
*
mainGame
->
xScale
,
380
*
mainGame
->
yScale
),
0xff000000
,
true
,
false
,
0
);
numFont
->
draw
(
dataManager
.
GetNumString
(
dField
.
remove
[
0
].
size
()),
recti
(
1015
*
mainGame
->
xScale
,
376
*
mainGame
->
yScale
,
959
*
mainGame
->
xScale
,
381
*
mainGame
->
yScale
),
0xffffff00
,
true
,
false
,
0
);
DrawShadowText
(
numFont
,
dataManager
.
GetNumString
(
dField
.
remove
[
0
].
size
()),
recti
(
1015
*
mainGame
->
xScale
,
375
*
mainGame
->
yScale
,
957
*
mainGame
->
xScale
,
380
*
mainGame
->
yScale
),
recti
(
1
*
mainGame
->
xScale
,
1
*
mainGame
->
yScale
,
1
*
mainGame
->
xScale
,
1
*
mainGame
->
yScale
),
0xffffff00
,
0xff000000
,
true
,
false
);
}
}
else
{
if
(
dField
.
grave
[
0
].
size
())
{
numFont
->
draw
(
dataManager
.
GetNumString
(
dField
.
grave
[
0
].
size
()),
recti
(
870
*
mainGame
->
xScale
,
456
*
mainGame
->
yScale
,
1002
*
mainGame
->
xScale
,
461
*
mainGame
->
yScale
),
0xff000000
,
true
,
false
,
0
);
numFont
->
draw
(
dataManager
.
GetNumString
(
dField
.
grave
[
0
].
size
()),
recti
(
870
*
mainGame
->
xScale
,
457
*
mainGame
->
yScale
,
1004
*
mainGame
->
xScale
,
462
*
mainGame
->
yScale
),
0xffffff00
,
true
,
false
,
0
);
DrawShadowText
(
numFont
,
dataManager
.
GetNumString
(
dField
.
grave
[
0
].
size
()),
recti
(
870
*
mainGame
->
xScale
,
456
*
mainGame
->
yScale
,
1002
*
mainGame
->
xScale
,
461
*
mainGame
->
yScale
),
recti
(
1
*
mainGame
->
xScale
,
1
*
mainGame
->
yScale
,
1
*
mainGame
->
xScale
,
1
*
mainGame
->
yScale
),
0xffffff00
,
0xff000000
,
true
,
false
);
}
if
(
dField
.
remove
[
0
].
size
())
{
numFont
->
draw
(
dataManager
.
GetNumString
(
dField
.
remove
[
0
].
size
()),
recti
(
837
*
mainGame
->
xScale
,
375
*
mainGame
->
yScale
,
984
*
mainGame
->
xScale
,
380
*
mainGame
->
yScale
),
0xff000000
,
true
,
false
,
0
);
numFont
->
draw
(
dataManager
.
GetNumString
(
dField
.
remove
[
0
].
size
()),
recti
(
837
*
mainGame
->
xScale
,
376
*
mainGame
->
yScale
,
986
*
mainGame
->
xScale
,
381
*
mainGame
->
yScale
),
0xffffff00
,
true
,
false
,
0
);
DrawShadowText
(
numFont
,
dataManager
.
GetNumString
(
dField
.
remove
[
0
].
size
()),
recti
(
837
*
mainGame
->
xScale
,
375
*
mainGame
->
yScale
,
984
*
mainGame
->
xScale
,
380
*
mainGame
->
yScale
),
recti
(
1
*
mainGame
->
xScale
,
1
*
mainGame
->
yScale
,
1
*
mainGame
->
xScale
,
1
*
mainGame
->
yScale
),
0xffffff00
,
0xff000000
,
true
,
false
);
}
}
if
(
dField
.
extra
[
1
].
size
())
{
int
offset
=
(
dField
.
extra
[
1
].
size
()
>=
10
)
?
0
:
mainGame
->
textFont
->
getDimension
(
dataManager
.
GetNumString
(
1
)).
Width
;
numFont
->
draw
(
dataManager
.
GetNumString
(
dField
.
extra
[
1
].
size
()),
recti
((
808
+
offset
)
*
mainGame
->
xScale
,
207
*
mainGame
->
yScale
,
898
*
mainGame
->
xScale
,
232
*
mainGame
->
yScale
),
0xff000000
,
true
,
false
,
0
);
numFont
->
draw
(
dataManager
.
GetNumString
(
dField
.
extra
[
1
].
size
()),
recti
((
808
+
offset
)
*
mainGame
->
xScale
,
208
*
mainGame
->
yScale
,
900
*
mainGame
->
xScale
,
233
*
mainGame
->
yScale
),
0xffffff00
,
true
,
false
,
0
);
numFont
->
draw
(
dataManager
.
GetNumString
(
dField
.
extra_p_count
[
1
],
true
),
recti
(
828
*
mainGame
->
xScale
,
207
*
mainGame
->
yScale
,
918
*
mainGame
->
xScale
,
232
*
mainGame
->
yScale
),
0xff000000
,
true
,
false
,
0
);
numFont
->
draw
(
dataManager
.
GetNumString
(
dField
.
extra_p_count
[
1
],
true
),
recti
(
828
*
mainGame
->
xScale
,
208
*
mainGame
->
yScale
,
920
*
mainGame
->
xScale
,
233
*
mainGame
->
yScale
),
0xffffff00
,
true
,
false
,
0
);
int
offset
=
(
dField
.
extra
[
1
].
size
()
>=
10
)
?
0
:
mainGame
->
numFont
->
getDimension
(
dataManager
.
GetNumString
(
1
)).
Width
;
DrawShadowText
(
numFont
,
dataManager
.
GetNumString
(
dField
.
extra
[
1
].
size
()),
recti
((
808
+
offset
)
*
mainGame
->
xScale
,
207
*
mainGame
->
yScale
,
898
*
mainGame
->
xScale
,
232
*
mainGame
->
yScale
),
recti
(
1
*
mainGame
->
xScale
,
1
*
mainGame
->
yScale
,
1
*
mainGame
->
xScale
,
1
*
mainGame
->
yScale
),
0xffffff00
,
0xff000000
,
true
,
false
);
DrawShadowText
(
numFont
,
dataManager
.
GetNumString
(
dField
.
extra_p_count
[
1
],
true
),
recti
(
828
*
mainGame
->
xScale
,
207
*
mainGame
->
yScale
,
918
*
mainGame
->
xScale
,
232
*
mainGame
->
yScale
),
recti
(
1
*
mainGame
->
xScale
,
1
*
mainGame
->
yScale
,
1
*
mainGame
->
xScale
,
1
*
mainGame
->
yScale
),
0xffffff00
,
0xff000000
,
true
,
false
);
}
if
(
dField
.
deck
[
1
].
size
())
{
numFont
->
draw
(
dataManager
.
GetNumString
(
dField
.
deck
[
1
].
size
()),
recti
(
465
*
mainGame
->
xScale
,
207
*
mainGame
->
yScale
,
481
*
mainGame
->
xScale
,
232
*
mainGame
->
yScale
),
0xff000000
,
true
,
false
,
0
);
numFont
->
draw
(
dataManager
.
GetNumString
(
dField
.
deck
[
1
].
size
()),
recti
(
465
*
mainGame
->
xScale
,
208
*
mainGame
->
yScale
,
483
*
mainGame
->
xScale
,
233
*
mainGame
->
yScale
),
0xffffff00
,
true
,
false
,
0
);
}
DrawShadowText
(
numFont
,
dataManager
.
GetNumString
(
dField
.
deck
[
1
].
size
()),
recti
(
465
*
mainGame
->
xScale
,
207
*
mainGame
->
yScale
,
481
*
mainGame
->
xScale
,
232
*
mainGame
->
yScale
),
recti
(
1
*
mainGame
->
xScale
,
1
*
mainGame
->
yScale
,
1
*
mainGame
->
xScale
,
1
*
mainGame
->
yScale
),
0xffffff00
,
0xff000000
,
true
,
false
);
}
if
(
rule
==
0
)
{
if
(
dField
.
grave
[
1
].
size
())
{
numFont
->
draw
(
dataManager
.
GetNumString
(
dField
.
grave
[
1
].
size
()),
recti
(
420
*
mainGame
->
xScale
,
310
*
mainGame
->
yScale
,
462
*
mainGame
->
xScale
,
281
*
mainGame
->
yScale
),
0xff000000
,
true
,
false
,
0
);
numFont
->
draw
(
dataManager
.
GetNumString
(
dField
.
grave
[
1
].
size
()),
recti
(
420
*
mainGame
->
xScale
,
311
*
mainGame
->
yScale
,
464
*
mainGame
->
xScale
,
282
*
mainGame
->
yScale
),
0xffffff00
,
true
,
false
,
0
);
}
DrawShadowText
(
numFont
,
dataManager
.
GetNumString
(
dField
.
grave
[
1
].
size
()),
recti
(
420
*
mainGame
->
xScale
,
310
*
mainGame
->
yScale
,
462
*
mainGame
->
xScale
,
281
*
mainGame
->
yScale
),
recti
(
1
*
mainGame
->
xScale
,
1
*
mainGame
->
yScale
,
1
*
mainGame
->
xScale
,
1
*
mainGame
->
yScale
),
0xffffff00
,
0xff000000
,
true
,
false
);
}
if
(
dField
.
remove
[
1
].
size
())
{
numFont
->
draw
(
dataManager
.
GetNumString
(
dField
.
remove
[
1
].
size
()),
recti
(
300
*
mainGame
->
xScale
,
310
*
mainGame
->
yScale
,
443
*
mainGame
->
xScale
,
340
*
mainGame
->
yScale
),
0xff000000
,
true
,
false
,
0
);
numFont
->
draw
(
dataManager
.
GetNumString
(
dField
.
remove
[
1
].
size
()),
recti
(
300
*
mainGame
->
xScale
,
311
*
mainGame
->
yScale
,
445
*
mainGame
->
xScale
,
341
*
mainGame
->
yScale
),
0xffffff00
,
true
,
false
,
0
);
DrawShadowText
(
numFont
,
dataManager
.
GetNumString
(
dField
.
remove
[
1
].
size
()),
recti
(
300
*
mainGame
->
xScale
,
310
*
mainGame
->
yScale
,
443
*
mainGame
->
xScale
,
340
*
mainGame
->
yScale
),
recti
(
1
*
mainGame
->
xScale
,
1
*
mainGame
->
yScale
,
1
*
mainGame
->
xScale
,
1
*
mainGame
->
yScale
),
0xffffff00
,
0xff000000
,
true
,
false
);
}
}
else
{
if
(
dField
.
grave
[
1
].
size
())
{
numFont
->
draw
(
dataManager
.
GetNumString
(
dField
.
grave
[
1
].
size
()),
recti
(
455
*
mainGame
->
xScale
,
249
*
mainGame
->
yScale
,
462
*
mainGame
->
xScale
,
299
*
mainGame
->
yScale
),
0xff000000
,
true
,
false
,
0
);
numFont
->
draw
(
dataManager
.
GetNumString
(
dField
.
grave
[
1
].
size
()),
recti
(
455
*
mainGame
->
xScale
,
250
*
mainGame
->
yScale
,
464
*
mainGame
->
xScale
,
300
*
mainGame
->
yScale
),
0xffffff00
,
true
,
false
,
0
);
DrawShadowText
(
numFont
,
dataManager
.
GetNumString
(
dField
.
grave
[
1
].
size
()),
recti
(
455
*
mainGame
->
xScale
,
249
*
mainGame
->
yScale
,
462
*
mainGame
->
xScale
,
299
*
mainGame
->
yScale
),
recti
(
1
*
mainGame
->
xScale
,
1
*
mainGame
->
yScale
,
1
*
mainGame
->
xScale
,
1
*
mainGame
->
yScale
),
0xffffff00
,
0xff000000
,
true
,
false
);
}
if
(
dField
.
remove
[
1
].
size
())
{
numFont
->
draw
(
dataManager
.
GetNumString
(
dField
.
remove
[
1
].
size
()),
recti
(
420
*
mainGame
->
xScale
,
310
*
mainGame
->
yScale
,
462
*
mainGame
->
xScale
,
281
*
mainGame
->
yScale
),
0xff000000
,
true
,
false
,
0
);
numFont
->
draw
(
dataManager
.
GetNumString
(
dField
.
remove
[
1
].
size
()),
recti
(
420
*
mainGame
->
xScale
,
311
*
mainGame
->
yScale
,
464
*
mainGame
->
xScale
,
282
*
mainGame
->
yScale
),
0xffffff00
,
true
,
false
,
0
);
}
DrawShadowText
(
numFont
,
dataManager
.
GetNumString
(
dField
.
remove
[
1
].
size
()),
recti
(
420
*
mainGame
->
xScale
,
310
*
mainGame
->
yScale
,
462
*
mainGame
->
xScale
,
281
*
mainGame
->
yScale
),
recti
(
1
*
mainGame
->
xScale
,
1
*
mainGame
->
yScale
,
1
*
mainGame
->
xScale
,
1
*
mainGame
->
yScale
),
0xffffff00
,
0xff000000
,
true
,
false
);
}
}
}
}
void
Game
::
DrawStatus
(
ClientCard
*
pcard
,
int
x1
,
int
y1
,
int
x2
,
int
y2
)
{
adFont
->
draw
(
L"/"
,
recti
(
x1
-
4
,
y1
,
x1
+
4
,
y1
+
20
),
0xff000000
,
true
,
false
,
0
);
...
...
@@ -1114,10 +1017,10 @@ void Game::DrawSpec() {
continue
;
if
(
!
showChat
&&
i
>
2
)
continue
;
int
w
=
text
Font
->
getDimension
(
chatMsg
[
i
].
c_str
()).
Width
;
int
w
=
gui
Font
->
getDimension
(
chatMsg
[
i
].
c_str
()).
Width
;
driver
->
draw2DRectangle
(
recti
(
305
*
mainGame
->
xScale
,
(
596
-
20
*
i
)
*
mainGame
->
yScale
,
307
*
mainGame
->
xScale
+
w
,
(
616
-
20
*
i
)
*
mainGame
->
yScale
),
0xa0000000
,
0xa0000000
,
0xa0000000
,
0xa0000000
);
text
Font
->
draw
(
chatMsg
[
i
].
c_str
(),
rect
<
s32
>
(
305
*
mainGame
->
xScale
,
(
595
-
20
*
i
)
*
mainGame
->
yScale
,
1020
*
mainGame
->
xScale
,
(
615
-
20
*
i
)
*
mainGame
->
yScale
),
0xff000000
,
false
,
false
);
text
Font
->
draw
(
chatMsg
[
i
].
c_str
(),
rect
<
s32
>
(
306
*
mainGame
->
xScale
,
(
596
-
20
*
i
)
*
mainGame
->
yScale
,
1021
*
mainGame
->
xScale
,
(
616
-
20
*
i
)
*
mainGame
->
yScale
),
chatColor
[
chatType
[
i
]],
false
,
false
);
gui
Font
->
draw
(
chatMsg
[
i
].
c_str
(),
rect
<
s32
>
(
305
*
mainGame
->
xScale
,
(
595
-
20
*
i
)
*
mainGame
->
yScale
,
1020
*
mainGame
->
xScale
,
(
615
-
20
*
i
)
*
mainGame
->
yScale
),
0xff000000
,
false
,
false
);
gui
Font
->
draw
(
chatMsg
[
i
].
c_str
(),
rect
<
s32
>
(
306
*
mainGame
->
xScale
,
(
596
-
20
*
i
)
*
mainGame
->
yScale
,
1021
*
mainGame
->
xScale
,
(
616
-
20
*
i
)
*
mainGame
->
yScale
),
chatColor
[
chatType
[
i
]],
false
,
false
);
}
}
}
...
...
@@ -1278,7 +1181,7 @@ void Game::DrawDeckBd() {
int
mainsize
=
deckManager
.
current_deck
.
main
.
size
();
driver
->
draw2DRectangle
(
recti
(
310
*
mainGame
->
xScale
,
137
*
mainGame
->
yScale
,
410
*
mainGame
->
xScale
,
157
*
mainGame
->
yScale
),
0x400000ff
,
0x400000ff
,
0x40000000
,
0x40000000
);
driver
->
draw2DRectangleOutline
(
recti
(
309
*
mainGame
->
xScale
,
136
*
mainGame
->
yScale
,
410
*
mainGame
->
xScale
,
157
*
mainGame
->
yScale
));
DrawShadowText
(
text
Font
,
dataManager
.
GetSysString
(
deckBuilder
.
showing_pack
?
1477
:
1330
),
recti
(
300
*
mainGame
->
xScale
,
136
*
mainGame
->
yScale
,
395
*
mainGame
->
xScale
,
156
*
mainGame
->
yScale
),
recti
(
0
,
1
*
mainGame
->
yScale
,
2
*
mainGame
->
xScale
,
0
),
0xffffffff
,
0xff000000
,
true
,
false
);
DrawShadowText
(
gui
Font
,
dataManager
.
GetSysString
(
deckBuilder
.
showing_pack
?
1477
:
1330
),
recti
(
300
*
mainGame
->
xScale
,
136
*
mainGame
->
yScale
,
395
*
mainGame
->
xScale
,
156
*
mainGame
->
yScale
),
recti
(
0
,
1
*
mainGame
->
yScale
,
2
*
mainGame
->
xScale
,
0
),
0xffffffff
,
0xff000000
,
true
,
false
);
DrawShadowText
(
numFont
,
dataManager
.
numStrings
[
mainsize
],
recti
(
360
*
mainGame
->
xScale
,
137
*
mainGame
->
yScale
,
420
*
mainGame
->
xScale
,
157
*
mainGame
->
yScale
),
recti
(
0
,
1
*
mainGame
->
yScale
,
2
*
mainGame
->
xScale
,
0
),
0xffffffff
,
0xff000000
,
true
,
false
);
driver
->
draw2DRectangle
(
recti
(
310
*
mainGame
->
xScale
,
160
*
mainGame
->
yScale
,
797
*
mainGame
->
xScale
,
(
deckBuilder
.
showing_pack
?
630
:
436
)
*
mainGame
->
yScale
),
0x400000ff
,
0x400000ff
,
0x40000000
,
0x40000000
);
driver
->
draw2DRectangleOutline
(
recti
(
309
*
mainGame
->
xScale
,
159
*
mainGame
->
yScale
,
797
*
mainGame
->
xScale
,
(
deckBuilder
.
showing_pack
?
630
:
436
)
*
mainGame
->
yScale
));
...
...
@@ -1324,7 +1227,7 @@ void Game::DrawDeckBd() {
//extra deck
driver
->
draw2DRectangle
(
recti
(
310
*
mainGame
->
xScale
,
440
*
mainGame
->
yScale
,
410
*
mainGame
->
xScale
,
460
*
mainGame
->
yScale
),
0x400000ff
,
0x400000ff
,
0x40000000
,
0x40000000
);
driver
->
draw2DRectangleOutline
(
recti
(
309
*
mainGame
->
xScale
,
439
*
mainGame
->
yScale
,
410
*
mainGame
->
xScale
,
460
*
mainGame
->
yScale
));
DrawShadowText
(
text
Font
,
dataManager
.
GetSysString
(
1331
),
recti
(
300
*
mainGame
->
xScale
,
439
*
mainGame
->
yScale
,
395
*
mainGame
->
xScale
,
459
*
mainGame
->
yScale
),
recti
(
0
,
1
*
mainGame
->
yScale
,
2
*
mainGame
->
xScale
,
0
),
0xffffffff
,
0xff000000
,
true
,
false
);
DrawShadowText
(
gui
Font
,
dataManager
.
GetSysString
(
1331
),
recti
(
300
*
mainGame
->
xScale
,
439
*
mainGame
->
yScale
,
395
*
mainGame
->
xScale
,
459
*
mainGame
->
yScale
),
recti
(
0
,
1
*
mainGame
->
yScale
,
2
*
mainGame
->
xScale
,
0
),
0xffffffff
,
0xff000000
,
true
,
false
);
DrawShadowText
(
numFont
,
dataManager
.
numStrings
[
deckManager
.
current_deck
.
extra
.
size
()],
recti
(
360
*
mainGame
->
xScale
,
440
*
mainGame
->
yScale
,
420
*
mainGame
->
xScale
,
460
*
mainGame
->
yScale
),
recti
(
0
,
1
*
mainGame
->
yScale
,
2
*
mainGame
->
xScale
,
0
),
0xffffffff
,
0xff000000
,
true
,
false
);
driver
->
draw2DRectangle
(
recti
(
310
*
mainGame
->
xScale
,
463
*
mainGame
->
yScale
,
797
*
mainGame
->
xScale
,
533
*
mainGame
->
yScale
),
0x400000ff
,
0x400000ff
,
0x40000000
,
0x40000000
);
driver
->
draw2DRectangleOutline
(
recti
(
309
*
mainGame
->
xScale
,
462
*
mainGame
->
yScale
,
797
*
mainGame
->
xScale
,
533
*
mainGame
->
yScale
));
...
...
@@ -1354,7 +1257,7 @@ void Game::DrawDeckBd() {
//side deck
driver
->
draw2DRectangle
(
recti
(
310
*
mainGame
->
xScale
,
537
*
mainGame
->
yScale
,
410
*
mainGame
->
xScale
,
557
*
mainGame
->
yScale
),
0x400000ff
,
0x400000ff
,
0x40000000
,
0x40000000
);
driver
->
draw2DRectangleOutline
(
recti
(
309
*
mainGame
->
xScale
,
536
*
mainGame
->
yScale
,
410
*
mainGame
->
xScale
,
557
*
mainGame
->
yScale
));
DrawShadowText
(
text
Font
,
dataManager
.
GetSysString
(
1332
),
recti
(
300
*
mainGame
->
xScale
,
536
*
mainGame
->
yScale
,
395
*
mainGame
->
xScale
,
556
*
mainGame
->
yScale
),
recti
(
0
,
1
*
mainGame
->
yScale
,
2
*
mainGame
->
xScale
,
0
),
0xffffffff
,
0xff000000
,
true
,
false
);
DrawShadowText
(
gui
Font
,
dataManager
.
GetSysString
(
1332
),
recti
(
300
*
mainGame
->
xScale
,
536
*
mainGame
->
yScale
,
395
*
mainGame
->
xScale
,
556
*
mainGame
->
yScale
),
recti
(
0
,
1
*
mainGame
->
yScale
,
2
*
mainGame
->
xScale
,
0
),
0xffffffff
,
0xff000000
,
true
,
false
);
DrawShadowText
(
numFont
,
dataManager
.
numStrings
[
deckManager
.
current_deck
.
side
.
size
()],
recti
(
360
*
mainGame
->
xScale
,
537
*
mainGame
->
yScale
,
420
*
mainGame
->
xScale
,
557
*
mainGame
->
yScale
),
recti
(
0
,
1
*
mainGame
->
yScale
,
2
*
mainGame
->
xScale
,
0
),
0xffffffff
,
0xff000000
,
true
,
false
);
driver
->
draw2DRectangle
(
recti
(
310
*
mainGame
->
xScale
,
560
*
mainGame
->
yScale
,
797
*
mainGame
->
xScale
,
630
*
mainGame
->
yScale
),
0x400000ff
,
0x400000ff
,
0x40000000
,
0x40000000
);
driver
->
draw2DRectangleOutline
(
recti
(
309
*
mainGame
->
xScale
,
559
*
mainGame
->
yScale
,
797
*
mainGame
->
xScale
,
630
*
mainGame
->
yScale
));
...
...
@@ -1380,10 +1283,10 @@ void Game::DrawDeckBd() {
}
}
//search result
driver
->
draw2DRectangle
(
recti
(
805
*
mainGame
->
xScale
,
137
*
mainGame
->
yScale
,
9
15
*
mainGame
->
xScale
,
157
*
mainGame
->
yScale
),
0x400000ff
,
0x400000ff
,
0x40000000
,
0x40000000
);
driver
->
draw2DRectangleOutline
(
recti
(
80
4
*
mainGame
->
xScale
,
136
*
mainGame
->
yScale
,
915
*
mainGame
->
xScale
,
157
*
mainGame
->
yScale
));
DrawShadowText
(
textFont
,
dataManager
.
GetSysString
(
1333
),
recti
(
790
*
mainGame
->
xScale
,
136
*
mainGame
->
yScale
,
90
0
*
mainGame
->
xScale
,
156
*
mainGame
->
yScale
),
recti
(
0
,
1
*
mainGame
->
yScale
,
2
*
mainGame
->
xScale
,
0
),
0xffffffff
,
0xff000000
,
true
,
false
);
DrawShadowText
(
numFont
,
deckBuilder
.
result_string
,
recti
(
865
*
mainGame
->
xScale
,
136
*
mainGame
->
yScale
,
9
25
*
mainGame
->
xScale
,
156
*
mainGame
->
yScale
),
recti
(
0
,
1
*
mainGame
->
yScale
,
2
*
mainGame
->
xScale
,
0
),
0xffffffff
,
0xff000000
,
true
,
false
);
driver
->
draw2DRectangle
(
recti
(
805
*
mainGame
->
xScale
,
137
*
mainGame
->
yScale
,
9
30
*
mainGame
->
xScale
,
157
*
mainGame
->
yScale
),
0x400000ff
,
0x400000ff
,
0x40000000
,
0x40000000
);
driver
->
draw2DRectangleOutline
(
recti
(
80
5
*
mainGame
->
xScale
,
136
*
mainGame
->
yScale
,
930
*
mainGame
->
xScale
,
157
*
mainGame
->
yScale
));
DrawShadowText
(
guiFont
,
dataManager
.
GetSysString
(
1333
),
recti
(
795
*
mainGame
->
xScale
,
136
*
mainGame
->
yScale
,
93
0
*
mainGame
->
xScale
,
156
*
mainGame
->
yScale
),
recti
(
0
,
1
*
mainGame
->
yScale
,
2
*
mainGame
->
xScale
,
0
),
0xffffffff
,
0xff000000
,
true
,
false
);
DrawShadowText
(
numFont
,
deckBuilder
.
result_string
,
recti
(
865
*
mainGame
->
xScale
,
136
*
mainGame
->
yScale
,
9
30
*
mainGame
->
xScale
,
156
*
mainGame
->
yScale
),
recti
(
0
,
1
*
mainGame
->
yScale
,
2
*
mainGame
->
xScale
,
0
),
0xffffffff
,
0xff000000
,
true
,
false
);
driver
->
draw2DRectangle
(
recti
(
805
*
mainGame
->
xScale
,
160
*
mainGame
->
yScale
,
1020
*
mainGame
->
xScale
,
630
*
mainGame
->
yScale
),
0x400000ff
,
0x400000ff
,
0x40000000
,
0x40000000
);
driver
->
draw2DRectangleOutline
(
recti
(
804
*
mainGame
->
xScale
,
159
*
mainGame
->
yScale
,
1020
*
mainGame
->
xScale
,
630
*
mainGame
->
yScale
));
#ifdef _IRR_ANDROID_PLATFORM_
...
...
@@ -1394,12 +1297,12 @@ void Game::DrawDeckBd() {
DrawThumb
(
ptr
,
position2di
(
805
*
mainGame
->
xScale
,
(
165
+
i
*
66
)
*
mainGame
->
yScale
),
deckBuilder
.
filterList
);
if
(
ptr
->
second
.
type
&
TYPE_MONSTER
)
{
myswprintf
(
textBuffer
,
L"%ls"
,
dataManager
.
GetName
(
ptr
->
first
));
DrawShadowText
(
text
Font
,
textBuffer
,
recti
(
850
*
mainGame
->
xScale
,
(
164
+
i
*
66
)
*
mainGame
->
yScale
,
1000
*
mainGame
->
xScale
,
(
185
+
i
*
66
)
*
mainGame
->
yScale
),
recti
(
0
,
1
*
mainGame
->
yScale
,
2
*
mainGame
->
xScale
,
0
),
0xffffffff
,
0xff000000
,
false
,
false
);
DrawShadowText
(
gui
Font
,
textBuffer
,
recti
(
850
*
mainGame
->
xScale
,
(
164
+
i
*
66
)
*
mainGame
->
yScale
,
1000
*
mainGame
->
xScale
,
(
185
+
i
*
66
)
*
mainGame
->
yScale
),
recti
(
0
,
1
*
mainGame
->
yScale
,
2
*
mainGame
->
xScale
,
0
),
0xffffffff
,
0xff000000
,
false
,
false
);
if
(
!
(
ptr
->
second
.
type
&
TYPE_LINK
))
{
const
wchar_t
*
form
=
L"\u2605"
;
if
(
ptr
->
second
.
type
&
TYPE_XYZ
)
form
=
L"\u2606"
;
myswprintf
(
textBuffer
,
L"%ls/%ls %ls%d"
,
dataManager
.
FormatAttribute
(
ptr
->
second
.
attribute
),
dataManager
.
FormatRace
(
ptr
->
second
.
race
),
form
,
ptr
->
second
.
level
);
DrawShadowText
(
text
Font
,
textBuffer
,
recti
(
850
*
mainGame
->
xScale
,
(
186
+
i
*
66
)
*
mainGame
->
yScale
,
1000
*
mainGame
->
xScale
,
(
207
+
i
*
66
)
*
mainGame
->
yScale
),
recti
(
0
,
1
*
mainGame
->
yScale
,
2
*
mainGame
->
xScale
,
0
),
0xffffffff
,
0xff000000
,
false
,
false
);
DrawShadowText
(
gui
Font
,
textBuffer
,
recti
(
850
*
mainGame
->
xScale
,
(
186
+
i
*
66
)
*
mainGame
->
yScale
,
1000
*
mainGame
->
xScale
,
(
207
+
i
*
66
)
*
mainGame
->
yScale
),
recti
(
0
,
1
*
mainGame
->
yScale
,
2
*
mainGame
->
xScale
,
0
),
0xffffffff
,
0xff000000
,
false
,
false
);
if
(
ptr
->
second
.
attack
<
0
&&
ptr
->
second
.
defense
<
0
)
myswprintf
(
textBuffer
,
L"?/?"
);
else
if
(
ptr
->
second
.
attack
<
0
)
...
...
@@ -1409,7 +1312,7 @@ void Game::DrawDeckBd() {
else
myswprintf
(
textBuffer
,
L"%d/%d"
,
ptr
->
second
.
attack
,
ptr
->
second
.
defense
);
}
else
{
myswprintf
(
textBuffer
,
L"%ls/%ls LINK-%d"
,
dataManager
.
FormatAttribute
(
ptr
->
second
.
attribute
),
dataManager
.
FormatRace
(
ptr
->
second
.
race
),
ptr
->
second
.
level
);
DrawShadowText
(
textFont
,
textBuffer
,
recti
(
850
*
mainGame
->
xScale
,
(
186
+
i
*
66
)
*
mainGame
->
yScale
,
955
*
mainGame
->
xScale
,
(
207
+
i
*
66
)
*
mainGame
->
yScale
),
recti
(
0
,
1
*
mainGame
->
yScale
,
2
*
mainGame
->
xScale
,
0
),
0xffffffff
,
0xff000000
,
false
,
false
);
DrawShadowText
(
guiFont
,
textBuffer
,
recti
(
850
*
mainGame
->
xScale
,
(
186
+
i
*
66
)
*
mainGame
->
yScale
,
1000
*
mainGame
->
xScale
,
(
207
+
i
*
66
)
*
mainGame
->
yScale
),
recti
(
0
,
1
*
mainGame
->
yScale
,
2
*
mainGame
->
xScale
,
0
),
0xffffffff
,
0xff000000
,
false
,
false
);
if
(
ptr
->
second
.
attack
<
0
)
myswprintf
(
textBuffer
,
L"?/-"
);
else
myswprintf
(
textBuffer
,
L"%d/-"
,
ptr
->
second
.
attack
);
...
...
@@ -1425,11 +1328,12 @@ void Game::DrawDeckBd() {
wcscat
(
textBuffer
,
L" [TCG]"
);
else
if
((
ptr
->
second
.
ot
&
AVAIL_CUSTOM
)
==
AVAIL_CUSTOM
)
wcscat
(
textBuffer
,
L" [Custom]"
);
DrawShadowText
(
guiFont
,
textBuffer
,
recti
(
850
*
mainGame
->
xScale
,
(
209
+
i
*
66
)
*
mainGame
->
yScale
,
1000
*
mainGame
->
xScale
,
(
230
+
i
*
66
)
*
mainGame
->
yScale
),
recti
(
0
,
1
*
mainGame
->
yScale
,
2
*
mainGame
->
xScale
,
0
),
0xffffffff
,
0xff000000
,
false
,
false
);
}
else
{
myswprintf
(
textBuffer
,
L"%ls"
,
dataManager
.
GetName
(
ptr
->
first
));
DrawShadowText
(
text
Font
,
textBuffer
,
recti
(
850
*
mainGame
->
xScale
,
(
164
+
i
*
66
)
*
mainGame
->
yScale
,
1000
*
mainGame
->
xScale
,
(
185
+
i
*
66
)
*
mainGame
->
yScale
),
recti
(
0
,
1
*
mainGame
->
yScale
,
2
*
mainGame
->
xScale
,
0
),
0xffffffff
,
0xff000000
,
false
,
false
);
DrawShadowText
(
gui
Font
,
textBuffer
,
recti
(
850
*
mainGame
->
xScale
,
(
164
+
i
*
66
)
*
mainGame
->
yScale
,
1000
*
mainGame
->
xScale
,
(
185
+
i
*
66
)
*
mainGame
->
yScale
),
recti
(
0
,
1
*
mainGame
->
yScale
,
2
*
mainGame
->
xScale
,
0
),
0xffffffff
,
0xff000000
,
false
,
false
);
const
wchar_t
*
ptype
=
dataManager
.
FormatType
(
ptr
->
second
.
type
);
DrawShadowText
(
text
Font
,
ptype
,
recti
(
850
*
mainGame
->
xScale
,
(
186
+
i
*
66
)
*
mainGame
->
yScale
,
1000
*
mainGame
->
xScale
,
(
207
+
i
*
66
)
*
mainGame
->
yScale
),
recti
(
0
,
1
*
mainGame
->
yScale
,
2
*
mainGame
->
xScale
,
0
),
0xffffffff
,
0xff000000
,
false
,
false
);
DrawShadowText
(
gui
Font
,
ptype
,
recti
(
850
*
mainGame
->
xScale
,
(
186
+
i
*
66
)
*
mainGame
->
yScale
,
1000
*
mainGame
->
xScale
,
(
207
+
i
*
66
)
*
mainGame
->
yScale
),
recti
(
0
,
1
*
mainGame
->
yScale
,
2
*
mainGame
->
xScale
,
0
),
0xffffffff
,
0xff000000
,
false
,
false
);
textBuffer
[
0
]
=
0
;
if
((
ptr
->
second
.
ot
&
AVAIL_OCGTCG
)
==
AVAIL_OCG
)
wcscat
(
textBuffer
,
L"[OCG]"
);
...
...
Classes/gframe/duelclient.cpp
View file @
ea54e5ce
...
...
@@ -1461,7 +1461,7 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
myswprintf
(
textBuffer
,
dataManager
.
GetDesc
(
desc
),
dataManager
.
GetName
(
code
));
}
mainGame
->
gMutex
.
lock
();
mainGame
->
SetStaticText
(
mainGame
->
stQMessage
,
3
7
0
*
mainGame
->
xScale
,
mainGame
->
guiFont
,
textBuffer
);
mainGame
->
SetStaticText
(
mainGame
->
stQMessage
,
3
9
0
*
mainGame
->
xScale
,
mainGame
->
guiFont
,
textBuffer
);
mainGame
->
PopupElement
(
mainGame
->
wQuery
);
mainGame
->
gMutex
.
unlock
();
return
false
;
...
...
@@ -1471,7 +1471,7 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
int
desc
=
BufferIO
::
ReadInt32
(
pbuf
);
mainGame
->
dField
.
highlighting_card
=
0
;
mainGame
->
gMutex
.
lock
();
mainGame
->
SetStaticText
(
mainGame
->
stQMessage
,
3
70
*
mainGame
->
xScale
,
mainGame
->
text
Font
,
dataManager
.
GetDesc
(
desc
));
mainGame
->
SetStaticText
(
mainGame
->
stQMessage
,
3
90
*
mainGame
->
xScale
,
mainGame
->
gui
Font
,
dataManager
.
GetDesc
(
desc
));
mainGame
->
PopupElement
(
mainGame
->
wQuery
);
mainGame
->
gMutex
.
unlock
();
return
false
;
...
...
@@ -1731,7 +1731,7 @@ int DuelClient::ClientAnalyze(char * msg, unsigned int len) {
myswprintf
(
textBuffer
,
L"%ls
\n
%ls
\n
%ls"
,
event_string
,
dataManager
.
GetSysString
(
222
),
dataManager
.
GetSysString
(
223
));
else
myswprintf
(
textBuffer
,
L"%ls
\n
%ls"
,
event_string
,
dataManager
.
GetSysString
(
203
));
mainGame
->
SetStaticText
(
mainGame
->
stQMessage
,
3
7
0
*
mainGame
->
xScale
,
mainGame
->
guiFont
,
textBuffer
);
mainGame
->
SetStaticText
(
mainGame
->
stQMessage
,
3
9
0
*
mainGame
->
xScale
,
mainGame
->
guiFont
,
textBuffer
);
mainGame
->
PopupElement
(
mainGame
->
wQuery
);
}
}
...
...
Classes/gframe/event_handler.cpp
View file @
ea54e5ce
...
...
@@ -225,6 +225,32 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
mainGame
->
ClearChatMsg
();
break
;
}
case
BUTTON_REDUCE_CARD_TEXT
:
{
if
(
mainGame
->
gameConf
.
textfontsize
<
24
)
{
mainGame
->
btnEnlargeCardText
->
setEnabled
(
true
);
if
(
mainGame
->
gameConf
.
textfontsize
=
16
)
mainGame
->
btnReduceCardText
->
setEnabled
(
false
);
}
else
{
mainGame
->
gameConf
.
textfontsize
=
mainGame
->
gameConf
.
textfontsize
-
2
;
mainGame
->
textFont
->
setFontSize
(
mainGame
->
gameConf
.
textfontsize
*
mainGame
->
yScale
);
const
auto
&
tsize
=
mainGame
->
stText
->
getRelativePosition
();
mainGame
->
InitStaticText
(
mainGame
->
stText
,
tsize
.
getWidth
(),
tsize
.
getHeight
(),
mainGame
->
textFont
,
mainGame
->
showingtext
);
}
break
;
}
case
BUTTON_ENLARGE_CARD_TEXT
:
{
if
(
mainGame
->
gameConf
.
textfontsize
=
24
)
{
mainGame
->
btnEnlargeCardText
->
setEnabled
(
false
);
if
(
mainGame
->
gameConf
.
textfontsize
>
16
)
mainGame
->
btnReduceCardText
->
setEnabled
(
true
);
}
else
{
mainGame
->
gameConf
.
textfontsize
=
mainGame
->
gameConf
.
textfontsize
+
2
;
mainGame
->
textFont
->
setFontSize
(
mainGame
->
gameConf
.
textfontsize
*
mainGame
->
yScale
);
const
auto
&
tsize
=
mainGame
->
stText
->
getRelativePosition
();
mainGame
->
InitStaticText
(
mainGame
->
stText
,
tsize
.
getWidth
(),
tsize
.
getHeight
(),
mainGame
->
textFont
,
mainGame
->
showingtext
);
}
break
;
}
case
BUTTON_CHAIN_IGNORE
:
{
mainGame
->
soundManager
->
PlaySoundEffect
(
SoundManager
::
SFX
::
BUTTON
);
mainGame
->
ignore_chain
=
mainGame
->
btnChainIgnore
->
isPressed
();
...
...
@@ -2098,7 +2124,7 @@ bool ClientField::OnCommonEvent(const irr::SEvent& event) {
break
;
}
u32
pos
=
mainGame
->
scrCardText
->
getPos
();
mainGame
->
SetStaticText
(
mainGame
->
stText
,
mainGame
->
stText
->
getRelativePosition
().
getWidth
()
-
25
,
mainGame
->
gui
Font
,
mainGame
->
showingtext
,
pos
);
mainGame
->
SetStaticText
(
mainGame
->
stText
,
mainGame
->
stText
->
getRelativePosition
().
getWidth
()
-
15
,
mainGame
->
text
Font
,
mainGame
->
showingtext
,
pos
);
return
true
;
break
;
}
...
...
@@ -2254,6 +2280,7 @@ bool ClientField::OnCommonEvent(const irr::SEvent& event) {
eventElement
==
mainGame
->
wLanWindow
)
{
mainGame
->
gMutex
.
lock
();
mainGame
->
textFont
->
setTransparency
(
true
);
mainGame
->
guiFont
->
setTransparency
(
true
);
mainGame
->
ClearChatMsg
();
mainGame
->
gMutex
.
unlock
();
break
;
...
...
@@ -2286,7 +2313,7 @@ bool ClientField::OnCommonEvent(const irr::SEvent& event) {
if
(
pos
<
0
)
pos
=
0
;
if
(
pos
>
max
)
pos
=
max
;
mainGame
->
scrCardText
->
setPos
(
pos
);
mainGame
->
SetStaticText
(
mainGame
->
stText
,
mainGame
->
stText
->
getRelativePosition
().
getWidth
()
-
25
,
mainGame
->
gui
Font
,
mainGame
->
showingtext
,
pos
);
mainGame
->
SetStaticText
(
mainGame
->
stText
,
mainGame
->
stText
->
getRelativePosition
().
getWidth
()
-
15
,
mainGame
->
text
Font
,
mainGame
->
showingtext
,
pos
);
}
if
(
is_dragging_lstLog
)
{
if
(
!
mainGame
->
lstLog
->
getVerticalScrollBar
()
->
isVisible
())
{
...
...
@@ -2577,28 +2604,28 @@ void ClientField::ShowMenu(int flag, int x, int y) {
mainGame
->
btnActivate
->
setVisible
(
true
);
mainGame
->
btnActivate
->
setRelativePosition
(
position2di
(
0
,
height
));
#ifdef _IRR_ANDROID_PLATFORM_
height
+=
5
0
*
mainGame
->
yScale
;
height
+=
6
0
*
mainGame
->
yScale
;
#endif
}
else
mainGame
->
btnActivate
->
setVisible
(
false
);
if
(
flag
&
COMMAND_SUMMON
)
{
mainGame
->
btnSummon
->
setVisible
(
true
);
mainGame
->
btnSummon
->
setRelativePosition
(
position2di
(
0
,
height
));
#ifdef _IRR_ANDROID_PLATFORM_
height
+=
5
0
*
mainGame
->
yScale
;
height
+=
6
0
*
mainGame
->
yScale
;
#endif
}
else
mainGame
->
btnSummon
->
setVisible
(
false
);
if
(
flag
&
COMMAND_SPSUMMON
)
{
mainGame
->
btnSPSummon
->
setVisible
(
true
);
mainGame
->
btnSPSummon
->
setRelativePosition
(
position2di
(
0
,
height
));
#ifdef _IRR_ANDROID_PLATFORM_
height
+=
5
0
*
mainGame
->
yScale
;
height
+=
6
0
*
mainGame
->
yScale
;
#endif
}
else
mainGame
->
btnSPSummon
->
setVisible
(
false
);
if
(
flag
&
COMMAND_MSET
)
{
mainGame
->
btnMSet
->
setVisible
(
true
);
mainGame
->
btnMSet
->
setRelativePosition
(
position2di
(
0
,
height
));
#ifdef _IRR_ANDROID_PLATFORM_
height
+=
5
0
*
mainGame
->
yScale
;
height
+=
6
0
*
mainGame
->
yScale
;
#endif
}
else
mainGame
->
btnMSet
->
setVisible
(
false
);
if
(
flag
&
COMMAND_SSET
)
{
...
...
@@ -2609,7 +2636,7 @@ void ClientField::ShowMenu(int flag, int x, int y) {
mainGame
->
btnSSet
->
setVisible
(
true
);
mainGame
->
btnSSet
->
setRelativePosition
(
position2di
(
0
,
height
));
#ifdef _IRR_ANDROID_PLATFORM_
height
+=
5
0
*
mainGame
->
yScale
;
height
+=
6
0
*
mainGame
->
yScale
;
#endif
}
else
mainGame
->
btnSSet
->
setVisible
(
false
);
if
(
flag
&
COMMAND_REPOS
)
{
...
...
@@ -2622,40 +2649,40 @@ void ClientField::ShowMenu(int flag, int x, int y) {
mainGame
->
btnRepos
->
setVisible
(
true
);
mainGame
->
btnRepos
->
setRelativePosition
(
position2di
(
0
,
height
));
#ifdef _IRR_ANDROID_PLATFORM_
height
+=
5
0
*
mainGame
->
yScale
;
height
+=
6
0
*
mainGame
->
yScale
;
#endif
}
else
mainGame
->
btnRepos
->
setVisible
(
false
);
if
(
flag
&
COMMAND_ATTACK
)
{
mainGame
->
btnAttack
->
setVisible
(
true
);
mainGame
->
btnAttack
->
setRelativePosition
(
position2di
(
0
,
height
));
#ifdef _IRR_ANDROID_PLATFORM_
height
+=
5
0
*
mainGame
->
yScale
;
height
+=
6
0
*
mainGame
->
yScale
;
#endif
}
else
mainGame
->
btnAttack
->
setVisible
(
false
);
if
(
flag
&
COMMAND_LIST
)
{
mainGame
->
btnShowList
->
setVisible
(
true
);
mainGame
->
btnShowList
->
setRelativePosition
(
position2di
(
0
,
height
));
#ifdef _IRR_ANDROID_PLATFORM_
height
+=
5
0
*
mainGame
->
yScale
;
height
+=
6
0
*
mainGame
->
yScale
;
#endif
}
else
mainGame
->
btnShowList
->
setVisible
(
false
);
if
(
flag
&
COMMAND_OPERATION
)
{
mainGame
->
btnOperation
->
setVisible
(
true
);
mainGame
->
btnOperation
->
setRelativePosition
(
position2di
(
0
,
height
));
#ifdef _IRR_ANDROID_PLATFORM_
height
+=
5
0
*
mainGame
->
yScale
;
height
+=
6
0
*
mainGame
->
yScale
;
#endif
}
else
mainGame
->
btnOperation
->
setVisible
(
false
);
if
(
flag
&
COMMAND_RESET
)
{
mainGame
->
btnReset
->
setVisible
(
true
);
mainGame
->
btnReset
->
setRelativePosition
(
position2di
(
0
,
height
));
#ifdef _IRR_ANDROID_PLATFORM_
height
+=
5
0
*
mainGame
->
yScale
;
height
+=
6
0
*
mainGame
->
yScale
;
#endif
}
else
mainGame
->
btnReset
->
setVisible
(
false
);
panel
=
mainGame
->
wCmdMenu
;
mainGame
->
wCmdMenu
->
setVisible
(
true
);
mainGame
->
wCmdMenu
->
setRelativePosition
(
irr
::
core
::
recti
(
x
-
10
*
mainGame
->
xScale
,
y
-
30
*
mainGame
->
yScale
-
height
,
x
+
100
*
mainGame
->
xScale
,
y
-
2
0
*
mainGame
->
yScale
));
mainGame
->
wCmdMenu
->
setRelativePosition
(
irr
::
core
::
recti
(
x
-
20
*
mainGame
->
xScale
,
y
-
30
*
mainGame
->
yScale
-
height
,
x
+
130
*
mainGame
->
xScale
,
y
-
3
0
*
mainGame
->
yScale
));
}
void
ClientField
::
HideMenu
()
{
mainGame
->
wCmdMenu
->
setVisible
(
false
);
...
...
Classes/gframe/game.cpp
View file @
ea54e5ce
...
...
@@ -110,13 +110,10 @@ bool Game::Initialize(ANDROID_APP app, android::InitOptions *options) {
params
.
ZBufferBits
=
16
;
params
.
AntiAlias
=
0
;
params
.
WindowSize
=
irr
::
core
::
dimension2d
<
u32
>
(
0
,
0
);
#endif
device
=
irr
::
createDeviceEx
(
params
);
if
(
!
device
)
return
false
;
#ifdef _IRR_ANDROID_PLATFORM_
if
(
!
android
::
perfromTrick
(
app
))
{
return
false
;
}
...
...
@@ -236,20 +233,20 @@ bool Game::Initialize(ANDROID_APP app, android::InitOptions *options) {
LoadExpansions
();
env
=
device
->
getGUIEnvironment
();
bool
isAntialias
=
options
->
isFontAntiAliasEnabled
();
numFont
=
irr
::
gui
::
CGUITTFont
::
createTTFont
(
env
,
gameConf
.
numfont
,
1
6
*
yScale
,
isAntialias
,
false
);
numFont
=
irr
::
gui
::
CGUITTFont
::
createTTFont
(
env
,
gameConf
.
numfont
,
1
8
*
yScale
,
isAntialias
,
false
);
adFont
=
irr
::
gui
::
CGUITTFont
::
createTTFont
(
env
,
gameConf
.
numfont
,
12
*
yScale
,
isAntialias
,
false
);
lpcFont
=
irr
::
gui
::
CGUITTFont
::
createTTFont
(
env
,
gameConf
.
numfont
,
48
*
yScale
,
isAntialias
,
true
);
guiFont
=
irr
::
gui
::
CGUITTFont
::
createTTFont
(
env
,
gameConf
.
textfont
,
1
6
*
yScale
,
isAntialias
,
true
);
guiFont
=
irr
::
gui
::
CGUITTFont
::
createTTFont
(
env
,
gameConf
.
textfont
,
1
8
*
yScale
,
isAntialias
,
true
);
titleFont
=
irr
::
gui
::
CGUITTFont
::
createTTFont
(
env
,
gameConf
.
textfont
,
32
*
yScale
,
isAntialias
,
true
);
textFont
=
irr
::
gui
::
CGUITTFont
::
createTTFont
(
env
,
gameConf
.
textfont
,
(
int
)
gameConf
.
textfontsize
*
yScale
,
isAntialias
,
true
);
if
(
!
numFont
||
!
text
Font
)
{
if
(
!
numFont
||
!
gui
Font
)
{
ALOGW
(
"add font fail "
);
}
smgr
=
device
->
getSceneManager
();
device
->
setWindowCaption
(
L"[---]"
);
device
->
setResizable
(
false
);
gui
::
IGUISkin
*
newskin
=
CAndroidGUISkin
::
createAndroidSkin
(
gui
::
EGST_BURNING_SKIN
,
driver
,
env
,
xScale
,
yScale
);
newskin
->
setFont
(
text
Font
);
newskin
->
setFont
(
gui
Font
);
env
->
setSkin
(
newskin
);
newskin
->
drop
();
#ifdef _IRR_ANDROID_PLATFORM_
...
...
@@ -322,8 +319,7 @@ bool Game::Initialize(ANDROID_APP app, android::InitOptions *options) {
ChangeToIGUIImageButton
(
btnJoinCancel
,
imageManager
.
tButton_S
,
imageManager
.
tButton_S_pressed
);
btnCreateHost
=
env
->
addButton
(
rect
<
s32
>
(
430
*
xScale
,
25
*
yScale
,
540
*
xScale
,
65
*
yScale
),
wLanWindow
,
BUTTON_CREATE_HOST
,
dataManager
.
GetSysString
(
1224
));
ChangeToIGUIImageButton
(
btnCreateHost
,
imageManager
.
tButton_S
,
imageManager
.
tButton_S_pressed
);
#endif
#ifdef _IRR_ANDROID_PLATFORM_
//create host
wCreateHost
=
env
->
addWindow
(
rect
<
s32
>
(
220
*
xScale
,
100
*
yScale
,
800
*
xScale
,
520
*
yScale
),
false
,
dataManager
.
GetSysString
(
1224
));
wCreateHost
->
getCloseButton
()
->
setVisible
(
false
);
...
...
@@ -401,8 +397,7 @@ bool Game::Initialize(ANDROID_APP app, android::InitOptions *options) {
ChangeToIGUIImageButton
(
btnHostConfirm
,
imageManager
.
tButton_S
,
imageManager
.
tButton_S_pressed
);
btnHostCancel
=
env
->
addButton
(
rect
<
s32
>
(
430
*
xScale
,
350
*
yScale
,
540
*
xScale
,
390
*
yScale
),
wCreateHost
,
BUTTON_HOST_CANCEL
,
dataManager
.
GetSysString
(
1212
));
ChangeToIGUIImageButton
(
btnHostCancel
,
imageManager
.
tButton_S
,
imageManager
.
tButton_S_pressed
);
#endif
#ifdef _IRR_ANDROID_PLATFORM_
//host(single)
wHostPrepare
=
env
->
addWindow
(
rect
<
s32
>
(
220
*
xScale
,
100
*
yScale
,
800
*
xScale
,
520
*
yScale
),
false
,
dataManager
.
GetSysString
(
1250
));
wHostPrepare
->
setDraggable
(
false
);
...
...
@@ -448,7 +443,7 @@ bool Game::Initialize(ANDROID_APP app, android::InitOptions *options) {
ChangeToIGUIImageButton
(
btnHostPrepStart
,
imageManager
.
tButton_S
,
imageManager
.
tButton_S_pressed
);
btnHostPrepCancel
=
env
->
addButton
(
rect
<
s32
>
(
440
*
xScale
,
350
*
yScale
,
550
*
xScale
,
390
*
yScale
),
wHostPrepare
,
BUTTON_HP_CANCEL
,
dataManager
.
GetSysString
(
1210
));
ChangeToIGUIImageButton
(
btnHostPrepCancel
,
imageManager
.
tButton_S
,
imageManager
.
tButton_S_pressed
);
#endif
//img always use *yScale to keep proportion
wCardImg
=
env
->
addImage
(
rect
<
s32
>
(
1
*
yScale
,
1
*
yScale
,
(
1
+
CARD_IMG_WIDTH
+
20
)
*
yScale
,
(
1
+
CARD_IMG_HEIGHT
+
18
)
*
yScale
),
0
,
-
1
,
0
,
true
);
wCardImg
->
setImage
(
imageManager
.
tDialog_S
);
...
...
@@ -458,7 +453,7 @@ bool Game::Initialize(ANDROID_APP app, android::InitOptions *options) {
imgCard
->
setImage
(
imageManager
.
tCover
[
0
]);
imgCard
->
setScaleImage
(
true
);
imgCard
->
setUseAlphaChannel
(
true
);
#ifdef _IRR_ANDROID_PLATFORM_
//phase
wPhase
=
env
->
addStaticText
(
L""
,
rect
<
s32
>
(
480
*
xScale
,
305
*
yScale
,
895
*
xScale
,
335
*
yScale
));
wPhase
->
setVisible
(
false
);
...
...
@@ -476,7 +471,7 @@ bool Game::Initialize(ANDROID_APP app, android::InitOptions *options) {
btnEP
=
env
->
addButton
(
rect
<
s32
>
(
320
*
xScale
,
0
*
yScale
,
370
*
xScale
,
30
*
yScale
),
wPhase
,
BUTTON_EP
,
L"
\xff25\xff30
"
);
ChangeToIGUIImageButton
(
btnEP
,
imageManager
.
tButton_S
,
imageManager
.
tButton_S_pressed
);
btnEP
->
setVisible
(
false
);
#endif
//tab(changed)
wInfos
=
env
->
addWindow
(
rect
<
s32
>
(
1
*
xScale
,
275
*
yScale
,
260
*
xScale
,
639
*
yScale
),
false
,
L""
);
wInfos
->
getCloseButton
()
->
setVisible
(
false
);
...
...
@@ -493,12 +488,13 @@ bool Game::Initialize(ANDROID_APP app, android::InitOptions *options) {
stSetName
=
env
->
addStaticText
(
L""
,
rect
<
s32
>
(
10
*
xScale
,
83
*
yScale
,
260
*
xScale
,
106
*
yScale
),
false
,
true
,
wInfos
,
-
1
,
false
);
stSetName
->
setOverrideColor
(
SColor
(
255
,
255
,
152
,
42
));
//255, 0, 0, 255
stText
=
env
->
addStaticText
(
L""
,
rect
<
s32
>
(
10
*
xScale
,
106
*
yScale
,
260
*
xScale
,
345
*
yScale
),
false
,
true
,
wInfos
,
-
1
,
false
);
#ifdef _IRR_ANDROID_PLATFORM_
scrCardText
=
env
->
addScrollBar
(
false
,
rect
<
s32
>
(
238
*
xScale
,
106
*
yScale
,
258
*
xScale
,
639
*
yScale
),
wInfos
,
SCROLL_CARDTEXT
);
#endif
stText
->
setOverrideFont
(
textFont
);
scrCardText
=
env
->
addScrollBar
(
false
,
rect
<
s32
>
(
250
*
xScale
,
106
*
yScale
,
258
*
xScale
,
639
*
yScale
),
wInfos
,
SCROLL_CARDTEXT
);
scrCardText
->
setLargeStep
(
1
);
scrCardText
->
setSmallStep
(
1
);
scrCardText
->
setVisible
(
false
);
btnReduceCardText
=
env
->
addButton
(
rect
<
s32
>
(
140
*
yScale
,
340
*
yScale
,
165
*
yScale
,
365
*
yScale
),
wInfos
,
BUTTON_REDUCE_CARD_TEXT
,
L"A-"
);
btnEnlargeCardText
=
env
->
addButton
(
rect
<
s32
>
(
175
*
yScale
,
340
*
yScale
,
200
*
yScale
,
365
*
yScale
),
wInfos
,
BUTTON_ENLARGE_CARD_TEXT
,
L"A+"
);
//imageButtons pallet
wPallet
=
env
->
addWindow
(
rect
<
s32
>
(
262
*
xScale
,
275
*
yScale
,
307
*
xScale
,
639
*
yScale
),
false
,
L""
);
wPallet
->
getCloseButton
()
->
setVisible
(
false
);
...
...
@@ -629,7 +625,7 @@ bool Game::Initialize(ANDROID_APP app, android::InitOptions *options) {
btnHand
[
i
]
->
setImage
(
imageManager
.
tHand
[
i
]);
btnHand
[
i
]
->
setImageScale
(
core
::
vector2df
(
xScale
,
yScale
));
}
#ifdef _IRR_ANDROID_PLATFORM_
//first or second to go
wFTSelect
=
env
->
addWindow
(
rect
<
s32
>
(
470
*
xScale
,
180
*
yScale
,
860
*
xScale
,
360
*
yScale
),
false
,
L""
);
wFTSelect
->
getCloseButton
()
->
setVisible
(
false
);
...
...
@@ -670,7 +666,7 @@ bool Game::Initialize(ANDROID_APP app, android::InitOptions *options) {
wQuery
->
getCloseButton
()
->
setVisible
(
false
);
wQuery
->
setVisible
(
false
);
ChangeToIGUIImageWindow
(
wQuery
,
&
bgQuery
,
imageManager
.
tDialog_L
);
stQMessage
=
env
->
addStaticText
(
L""
,
rect
<
s32
>
(
20
*
xScale
,
20
*
yScale
,
370
*
xScale
,
1
0
0
*
yScale
),
false
,
true
,
wQuery
,
-
1
,
false
);
stQMessage
=
env
->
addStaticText
(
L""
,
rect
<
s32
>
(
20
*
xScale
,
20
*
yScale
,
370
*
xScale
,
1
1
0
*
yScale
),
false
,
true
,
wQuery
,
-
1
,
false
);
stQMessage
->
setTextAlignment
(
irr
::
gui
::
EGUIA_UPPERLEFT
,
irr
::
gui
::
EGUIA_CENTER
);
btnYes
=
env
->
addButton
(
rect
<
s32
>
(
60
*
xScale
,
120
*
yScale
,
170
*
xScale
,
170
*
yScale
),
wQuery
,
BUTTON_YES
,
dataManager
.
GetSysString
(
1213
));
ChangeToIGUIImageButton
(
btnYes
,
imageManager
.
tButton_S
,
imageManager
.
tButton_S_pressed
);
...
...
@@ -824,30 +820,30 @@ bool Game::Initialize(ANDROID_APP app, android::InitOptions *options) {
stTip
->
setTextAlignment
(
irr
::
gui
::
EGUIA_CENTER
,
irr
::
gui
::
EGUIA_CENTER
);
stTip
->
setVisible
(
false
);
//cmd menu
wCmdMenu
=
env
->
addWindow
(
rect
<
s32
>
(
0
,
0
,
1
10
*
xScale
,
51
0
*
yScale
),
false
,
L""
);
wCmdMenu
=
env
->
addWindow
(
rect
<
s32
>
(
0
,
0
,
1
50
*
xScale
,
60
0
*
yScale
),
false
,
L""
);
wCmdMenu
->
setDrawTitlebar
(
false
);
wCmdMenu
->
setDrawBackground
(
false
);
wCmdMenu
->
setVisible
(
false
);
wCmdMenu
->
getCloseButton
()
->
setVisible
(
false
);
btnActivate
=
env
->
addButton
(
rect
<
s32
>
(
0
,
0
,
1
10
*
xScale
,
5
0
*
yScale
),
wCmdMenu
,
BUTTON_CMD_ACTIVATE
,
dataManager
.
GetSysString
(
1150
));
btnActivate
=
env
->
addButton
(
rect
<
s32
>
(
0
,
0
,
1
50
*
xScale
,
6
0
*
yScale
),
wCmdMenu
,
BUTTON_CMD_ACTIVATE
,
dataManager
.
GetSysString
(
1150
));
ChangeToIGUIImageButton
(
btnActivate
,
imageManager
.
tButton_S
,
imageManager
.
tButton_S_pressed
);
btnSummon
=
env
->
addButton
(
rect
<
s32
>
(
0
,
50
*
yScale
,
110
*
xScale
,
10
0
*
yScale
),
wCmdMenu
,
BUTTON_CMD_SUMMON
,
dataManager
.
GetSysString
(
1151
));
btnSummon
=
env
->
addButton
(
rect
<
s32
>
(
0
,
60
*
yScale
,
150
*
xScale
,
12
0
*
yScale
),
wCmdMenu
,
BUTTON_CMD_SUMMON
,
dataManager
.
GetSysString
(
1151
));
ChangeToIGUIImageButton
(
btnSummon
,
imageManager
.
tButton_S
,
imageManager
.
tButton_S_pressed
);
btnSPSummon
=
env
->
addButton
(
rect
<
s32
>
(
0
,
1
00
*
yScale
,
110
*
xScale
,
15
0
*
yScale
),
wCmdMenu
,
BUTTON_CMD_SPSUMMON
,
dataManager
.
GetSysString
(
1152
));
btnSPSummon
=
env
->
addButton
(
rect
<
s32
>
(
0
,
1
20
*
yScale
,
150
*
xScale
,
18
0
*
yScale
),
wCmdMenu
,
BUTTON_CMD_SPSUMMON
,
dataManager
.
GetSysString
(
1152
));
ChangeToIGUIImageButton
(
btnSPSummon
,
imageManager
.
tButton_S
,
imageManager
.
tButton_S_pressed
);
btnMSet
=
env
->
addButton
(
rect
<
s32
>
(
0
,
1
50
*
yScale
,
110
*
xScale
,
20
0
*
yScale
),
wCmdMenu
,
BUTTON_CMD_MSET
,
dataManager
.
GetSysString
(
1153
));
btnMSet
=
env
->
addButton
(
rect
<
s32
>
(
0
,
1
80
*
yScale
,
150
*
xScale
,
24
0
*
yScale
),
wCmdMenu
,
BUTTON_CMD_MSET
,
dataManager
.
GetSysString
(
1153
));
ChangeToIGUIImageButton
(
btnMSet
,
imageManager
.
tButton_S
,
imageManager
.
tButton_S_pressed
);
btnSSet
=
env
->
addButton
(
rect
<
s32
>
(
0
,
2
00
*
yScale
,
110
*
xScale
,
25
0
*
yScale
),
wCmdMenu
,
BUTTON_CMD_SSET
,
dataManager
.
GetSysString
(
1153
));
btnSSet
=
env
->
addButton
(
rect
<
s32
>
(
0
,
2
40
*
yScale
,
150
*
xScale
,
30
0
*
yScale
),
wCmdMenu
,
BUTTON_CMD_SSET
,
dataManager
.
GetSysString
(
1153
));
ChangeToIGUIImageButton
(
btnSSet
,
imageManager
.
tButton_S
,
imageManager
.
tButton_S_pressed
);
btnRepos
=
env
->
addButton
(
rect
<
s32
>
(
0
,
250
*
yScale
,
110
*
xScale
,
30
0
*
yScale
),
wCmdMenu
,
BUTTON_CMD_REPOS
,
dataManager
.
GetSysString
(
1154
));
btnRepos
=
env
->
addButton
(
rect
<
s32
>
(
0
,
300
*
yScale
,
150
*
xScale
,
36
0
*
yScale
),
wCmdMenu
,
BUTTON_CMD_REPOS
,
dataManager
.
GetSysString
(
1154
));
ChangeToIGUIImageButton
(
btnRepos
,
imageManager
.
tButton_S
,
imageManager
.
tButton_S_pressed
);
btnAttack
=
env
->
addButton
(
rect
<
s32
>
(
0
,
3
00
*
yScale
,
110
*
xScale
,
35
0
*
yScale
),
wCmdMenu
,
BUTTON_CMD_ATTACK
,
dataManager
.
GetSysString
(
1157
));
btnAttack
=
env
->
addButton
(
rect
<
s32
>
(
0
,
3
60
*
yScale
,
150
*
xScale
,
42
0
*
yScale
),
wCmdMenu
,
BUTTON_CMD_ATTACK
,
dataManager
.
GetSysString
(
1157
));
ChangeToIGUIImageButton
(
btnAttack
,
imageManager
.
tButton_S
,
imageManager
.
tButton_S_pressed
);
btnShowList
=
env
->
addButton
(
rect
<
s32
>
(
0
,
350
*
yScale
,
110
*
xScale
,
40
0
*
yScale
),
wCmdMenu
,
BUTTON_CMD_SHOWLIST
,
dataManager
.
GetSysString
(
1158
));
btnShowList
=
env
->
addButton
(
rect
<
s32
>
(
0
,
420
*
yScale
,
150
*
xScale
,
48
0
*
yScale
),
wCmdMenu
,
BUTTON_CMD_SHOWLIST
,
dataManager
.
GetSysString
(
1158
));
ChangeToIGUIImageButton
(
btnShowList
,
imageManager
.
tButton_S
,
imageManager
.
tButton_S_pressed
);
btnOperation
=
env
->
addButton
(
rect
<
s32
>
(
0
,
4
00
*
yScale
,
110
*
xScale
,
45
0
*
yScale
),
wCmdMenu
,
BUTTON_CMD_ACTIVATE
,
dataManager
.
GetSysString
(
1161
));
btnOperation
=
env
->
addButton
(
rect
<
s32
>
(
0
,
4
80
*
yScale
,
150
*
xScale
,
54
0
*
yScale
),
wCmdMenu
,
BUTTON_CMD_ACTIVATE
,
dataManager
.
GetSysString
(
1161
));
ChangeToIGUIImageButton
(
btnOperation
,
imageManager
.
tButton_S
,
imageManager
.
tButton_S_pressed
);
btnReset
=
env
->
addButton
(
rect
<
s32
>
(
0
,
450
*
yScale
,
110
*
xScale
,
5
00
*
yScale
),
wCmdMenu
,
BUTTON_CMD_RESET
,
dataManager
.
GetSysString
(
1162
));
btnReset
=
env
->
addButton
(
rect
<
s32
>
(
0
,
540
*
yScale
,
150
*
xScale
,
6
00
*
yScale
),
wCmdMenu
,
BUTTON_CMD_RESET
,
dataManager
.
GetSysString
(
1162
));
ChangeToIGUIImageButton
(
btnReset
,
imageManager
.
tButton_S
,
imageManager
.
tButton_S_pressed
);
//deck edit
wDeckEdit
=
env
->
addWindow
(
rect
<
s32
>
(
309
*
xScale
,
1
*
yScale
,
605
*
xScale
,
130
*
yScale
),
false
,
L""
);
...
...
@@ -997,10 +993,10 @@ bool Game::Initialize(ANDROID_APP app, android::InitOptions *options) {
env
->
addStaticText
(
dataManager
.
GetSysString
(
1324
),
rect
<
s32
>
(
10
*
xScale
,
74
*
yScale
,
80
*
xScale
,
94
*
yScale
),
false
,
false
,
wFilter
);
ebStar
=
CAndroidGUIEditBox
::
addAndroidEditBox
(
L""
,
true
,
env
,
rect
<
s32
>
(
60
*
xScale
,
(
60
+
100
/
6
)
*
yScale
,
100
*
xScale
,
(
80
+
100
/
6
)
*
yScale
),
wFilter
,
EDITBOX_INPUTS
);
ebStar
->
setTextAlignment
(
irr
::
gui
::
EGUIA_CENTER
,
irr
::
gui
::
EGUIA_CENTER
);
env
->
addStaticText
(
dataManager
.
GetSysString
(
1336
),
rect
<
s32
>
(
101
*
xScale
,
(
6
2
+
100
/
6
)
*
yScale
,
150
*
xScale
,
(
82
+
100
/
6
)
*
yScale
),
false
,
false
,
wFilter
);
env
->
addStaticText
(
dataManager
.
GetSysString
(
1336
),
rect
<
s32
>
(
101
*
xScale
,
(
6
0
+
100
/
6
)
*
yScale
,
150
*
xScale
,
(
82
+
100
/
6
)
*
yScale
),
false
,
false
,
wFilter
);
ebScale
=
CAndroidGUIEditBox
::
addAndroidEditBox
(
L""
,
true
,
env
,
rect
<
s32
>
(
150
*
xScale
,
(
60
+
100
/
6
)
*
yScale
,
190
*
xScale
,
(
80
+
100
/
6
)
*
yScale
),
wFilter
,
EDITBOX_INPUTS
);
ebScale
->
setTextAlignment
(
irr
::
gui
::
EGUIA_CENTER
,
irr
::
gui
::
EGUIA_CENTER
);
env
->
addStaticText
(
dataManager
.
GetSysString
(
1325
),
rect
<
s32
>
(
205
*
xScale
,
(
6
2
+
100
/
6
)
*
yScale
,
280
*
xScale
,
(
82
+
100
/
6
)
*
yScale
),
false
,
false
,
wFilter
);
env
->
addStaticText
(
dataManager
.
GetSysString
(
1325
),
rect
<
s32
>
(
205
*
xScale
,
(
6
0
+
100
/
6
)
*
yScale
,
280
*
xScale
,
(
82
+
100
/
6
)
*
yScale
),
false
,
false
,
wFilter
);
ebCardName
=
CAndroidGUIEditBox
::
addAndroidEditBox
(
L""
,
true
,
env
,
rect
<
s32
>
(
260
*
xScale
,
72
*
yScale
,
390
*
xScale
,
92
*
yScale
),
wFilter
,
EDITBOX_KEYWORD
);
ebCardName
->
setTextAlignment
(
irr
::
gui
::
EGUIA_CENTER
,
irr
::
gui
::
EGUIA_CENTER
);
btnEffectFilter
=
env
->
addButton
(
rect
<
s32
>
(
345
*
xScale
,
28
*
yScale
,
390
*
xScale
,
69
*
yScale
),
wFilter
,
BUTTON_EFFECT_FILTER
,
dataManager
.
GetSysString
(
1326
));
...
...
@@ -1407,12 +1403,6 @@ void Game::MainLoop() {
DrawGUI
();
DrawSpec
();
driver
->
enableMaterial2D
(
false
);
#else
}
else
{
DrawBackImage
(
imageManager
.
tBackGround_menu
);
}
DrawGUI
();
DrawSpec
();
#endif
gMutex
.
unlock
();
#ifdef _IRR_ANDROID_PLATFORM_
...
...
@@ -1448,15 +1438,6 @@ void Game::MainLoop() {
str
+=
(
s32
)
device
->
getVideoDriver
()
->
getFPS
();
stat
->
setText
(
str
.
c_str
()
);
}
#else
if
(
cur_time
<
fps
*
17
-
20
)
#ifdef _WIN32
Sleep
(
20
);
#else
usleep
(
20000
);
#endif
myswprintf
(
cap
,
L"FPS: %d"
,
fps
);
device
->
setWindowCaption
(
cap
);
#endif
fps
=
0
;
cur_time
-=
1000
;
...
...
@@ -1474,11 +1455,8 @@ void Game::MainLoop() {
DuelClient
::
StopClient
(
true
);
if
(
dInfo
.
isSingleMode
)
SingleMode
::
StopPlay
(
true
);
#ifdef _WIN32
Sleep
(
500
);
#else
usleep
(
500000
);
#endif
SaveConfig
();
usleep
(
500000
);
// device->drop();
...
...
@@ -1520,7 +1498,7 @@ void Game::InitStaticText(irr::gui::IGUIStaticText* pControl, u32 cWidth, u32 cH
env
->
removeFocus
(
scrCardText
);
return
;
}
format_text
=
SetStaticText
(
pControl
,
cWidth
-
int
(
2
5
*
xScale
),
font
,
text
);
format_text
=
SetStaticText
(
pControl
,
cWidth
-
int
(
1
5
*
xScale
),
font
,
text
);
u32
fontheight
=
font
->
getDimension
(
L"A"
).
Height
+
font
->
getKerningHeight
();
u32
step
=
(
font
->
getDimension
(
format_text
.
c_str
()).
Height
-
cHeight
)
/
fontheight
+
1
;
scrCardText
->
setVisible
(
true
);
...
...
@@ -1585,21 +1563,13 @@ void Game::LoadExpansions() {
for
(
u32
i
=
0
;
i
<
DataManager
::
FileSystem
->
getFileArchiveCount
();
++
i
)
{
const
IFileList
*
archive
=
DataManager
::
FileSystem
->
getFileArchive
(
i
)
->
getFileList
();
for
(
u32
j
=
0
;
j
<
archive
->
getFileCount
();
++
j
)
{
#ifdef _WIN32
const
wchar_t
*
fname
=
archive
->
getFullFileName
(
j
).
c_str
();
#else
wchar_t
fname
[
1024
];
wchar_t
fname
[
1024
];
const
char
*
uname
=
archive
->
getFullFileName
(
j
).
c_str
();
BufferIO
::
DecodeUTF8
(
uname
,
fname
);
#endif
if
(
wcsrchr
(
fname
,
'.'
)
&&
!
wcsncasecmp
(
wcsrchr
(
fname
,
'.'
),
L".cdb"
,
4
))
dataManager
.
LoadDB
(
fname
);
if
(
wcsrchr
(
fname
,
'.'
)
&&
!
wcsncasecmp
(
wcsrchr
(
fname
,
'.'
),
L".conf"
,
5
))
{
#ifdef _WIN32
IReadFile
*
reader
=
DataManager
::
FileSystem
->
createAndOpenFile
(
fname
);
#else
IReadFile
*
reader
=
DataManager
::
FileSystem
->
createAndOpenFile
(
uname
);
#endif
dataManager
.
LoadStrings
(
reader
);
}
if
(
wcsrchr
(
fname
,
'.'
)
&&
!
wcsncasecmp
(
wcsrchr
(
fname
,
'.'
),
L".ydk"
,
4
))
{
...
...
@@ -1735,7 +1705,7 @@ void Game::LoadConfig() {
gameConf
.
_init
=
TRUE
;
gameConf
.
antialias
=
1
;
gameConf
.
serverport
=
7911
;
gameConf
.
textfontsize
=
16
;
gameConf
.
textfontsize
=
android
::
getIntSetting
(
appMain
,
"textfontsize"
,
18
);
;
gameConf
.
nickname
[
0
]
=
0
;
gameConf
.
gamename
[
0
]
=
0
;
BufferIO
::
DecodeUTF8
(
android
::
getLastCategory
(
appMain
).
c_str
(),
wstr
);;
...
...
@@ -1788,6 +1758,7 @@ void Game::LoadConfig() {
}
void
Game
::
SaveConfig
()
{
android
::
saveIntSetting
(
appMain
,
"textfontsize"
,
gameConf
.
textfontsize
);
//helper
gameConf
.
chkMAutoPos
=
chkMAutoPos
->
isChecked
()
?
1
:
0
;
android
::
saveIntSetting
(
appMain
,
"chkMAutoPos"
,
gameConf
.
chkMAutoPos
);
...
...
@@ -1843,8 +1814,8 @@ void Game::ShowCardInfo(int code) {
imgCard
->
setImage
(
imageManager
.
GetTexture
(
code
));
imgCard
->
setScaleImage
(
true
);
if
(
cd
.
alias
!=
0
&&
(
cd
.
alias
-
code
<
CARD_ARTWORK_VERSIONS_OFFSET
||
code
-
cd
.
alias
<
CARD_ARTWORK_VERSIONS_OFFSET
))
myswprintf
(
formatBuffer
,
L"%ls
[%08d]"
,
dataManager
.
GetName
(
cd
.
alias
),
cd
.
alias
);
else
myswprintf
(
formatBuffer
,
L"%ls
[%08d]"
,
dataManager
.
GetName
(
code
),
code
);
myswprintf
(
formatBuffer
,
L"%ls
"
,
dataManager
.
GetName
(
cd
.
alias
)
);
else
myswprintf
(
formatBuffer
,
L"%ls
"
,
dataManager
.
GetName
(
code
)
);
stName
->
setText
(
formatBuffer
);
int
offset
=
0
;
if
(
!
gameConf
.
hide_setname
)
{
...
...
@@ -1897,15 +1868,15 @@ void Game::ShowCardInfo(int code) {
}
stDataInfo
->
setText
(
formatBuffer
);
stSetName
->
setRelativePosition
(
rect
<
s32
>
(
10
*
xScale
,
83
*
yScale
,
250
*
xScale
,
106
*
yScale
));
stText
->
setRelativePosition
(
rect
<
s32
>
(
10
*
xScale
,
(
83
+
offset
)
*
yScale
,
2
5
0
*
xScale
,
345
*
yScale
));
scrCardText
->
setRelativePosition
(
rect
<
s32
>
(
2
38
*
xScale
,
(
83
+
offset
)
*
yScale
,
258
*
xScale
,
345
*
yScale
));
stText
->
setRelativePosition
(
rect
<
s32
>
(
10
*
xScale
,
(
83
+
offset
)
*
yScale
,
2
6
0
*
xScale
,
345
*
yScale
));
scrCardText
->
setRelativePosition
(
rect
<
s32
>
(
2
55
*
xScale
,
(
83
+
offset
)
*
yScale
,
258
*
xScale
,
345
*
yScale
));
}
else
{
myswprintf
(
formatBuffer
,
L"[%ls]"
,
dataManager
.
FormatType
(
cd
.
type
));
stInfo
->
setText
(
formatBuffer
);
stDataInfo
->
setText
(
L""
);
stSetName
->
setRelativePosition
(
rect
<
s32
>
(
10
*
xScale
,
60
*
yScale
,
250
*
xScale
,
106
*
yScale
));
stText
->
setRelativePosition
(
rect
<
s32
>
(
10
*
xScale
,
(
60
+
offset
)
*
yScale
,
2
5
0
*
xScale
,
345
*
yScale
));
scrCardText
->
setRelativePosition
(
rect
<
s32
>
(
2
38
*
xScale
,
(
60
+
offset
)
*
yScale
,
258
*
xScale
,
345
*
yScale
));
stText
->
setRelativePosition
(
rect
<
s32
>
(
10
*
xScale
,
(
60
+
offset
)
*
yScale
,
2
6
0
*
xScale
,
345
*
yScale
));
scrCardText
->
setRelativePosition
(
rect
<
s32
>
(
2
55
*
xScale
,
(
60
+
offset
)
*
yScale
,
258
*
xScale
,
345
*
yScale
));
}
showingtext
=
dataManager
.
GetText
(
code
);
const
auto
&
tsize
=
stText
->
getRelativePosition
();
...
...
@@ -2002,7 +1973,7 @@ void Game::ErrorLog(const char* msg) {
fclose
(
fp
);
}
void
Game
::
addMessageBox
(
const
wchar_t
*
caption
,
const
wchar_t
*
text
)
{
SetStaticText
(
stSysMessage
,
370
*
xScale
,
text
Font
,
text
);
SetStaticText
(
stSysMessage
,
370
*
xScale
,
gui
Font
,
text
);
wSysMessage
->
setVisible
(
true
);
wSysMessage
->
getParent
()
->
bringToFront
(
wSysMessage
);
//env->setFocus(wSysMessage);
...
...
Classes/gframe/game.h
View file @
ea54e5ce
...
...
@@ -305,6 +305,8 @@ public:
irr
::
gui
::
IGUIStaticText
*
stSetName
;
irr
::
gui
::
IGUIStaticText
*
stText
;
irr
::
gui
::
IGUIScrollBar
*
scrCardText
;
irr
::
gui
::
IGUIButton
*
btnReduceCardText
;
irr
::
gui
::
IGUIButton
*
btnEnlargeCardText
;
irr
::
gui
::
IGUICheckBox
*
chkMAutoPos
;
irr
::
gui
::
IGUICheckBox
*
chkSTAutoPos
;
irr
::
gui
::
IGUICheckBox
*
chkRandomPos
;
...
...
@@ -911,6 +913,8 @@ extern Game* mainGame;
#define BUTTON_BIG_CARD_ZOOM_IN 381
#define BUTTON_BIG_CARD_ZOOM_OUT 382
#define BUTTON_BIG_CARD_ORIG_SIZE 383
#define BUTTON_ENLARGE_CARD_TEXT 384
#define BUTTON_REDUCE_CARD_TEXT 385
#define AVAIL_OCG 0x1
#define AVAIL_TCG 0x2
...
...
mobile/assets/changelog.html
View file @
ea54e5ce
...
...
@@ -16,23 +16,16 @@
特别感谢: 尸体233,废话多,大毛, zhuhongbo, JSY1728, 幻兽L 等的支持与努力.
</pre>
<ul>
<li
style=
"color:#ffff00"
>
3.10.
8
</li>
<li
style=
"color:#ffff00"
>
3.10.
9
</li>
</ul>
<pre>
更新:
1.更新ygo内核;
2.新卡1112+PPC2+VJ等;
3.新增人机:地天使泪珠哀歌族;
1.更新ygopro内核;
2.新卡T1112+VJ等;
变更:
1.优化竖屏卡组管理UI;
2.优化使得在大量卡组下也能快速加载;
3.显示卡包展示下的首图和张数统计;
4.先行卡展示卡组统一纳入卡包展示置顶显示;
5.先行卡展示卡组不再可被备份;
6.先行卡展示卡组会随着拓展卡包下载更新自动替换,不再会残留旧的;
7.卡组管理增加关键字搜索卡组功能;
8.修正ygopro卡组管理下不显示先行卡展示的问题;
9.修正一些场合覆盖安装不完整复制文件的问题;
1.修正没有卡组或者一些场景无法读取卡组时时打开卡组编辑错误退出的问题;
2.从ygopro退出后切换到卡组编辑将重新加载最后使用的卡组;
3.修正卡包展示中先行卡展示卡堆统计数量错误的问题;
</pre>
<h3
style=
"color:#ff0000"
>
注意
</h3>
...
...
mobile/build.gradle
View file @
ea54e5ce
...
...
@@ -9,8 +9,8 @@ android {
minSdkVersion
21
//noinspection ExpiredTargetSdkVersion
targetSdkVersion
29
versionCode
3100
80942
versionName
"3.10.
8
"
versionCode
3100
90943
versionName
"3.10.
9
"
flavorDimensions
"versionCode"
vectorDrawables
.
useSupportLibrary
=
true
ndk
{
...
...
mobile/src/main/res/drawable-xhdpi/ic_launcher3.png
View replaced file @
8e51370b
View file @
ea54e5ce
180 KB
|
W:
|
H:
127 KB
|
W:
|
H:
2-up
Swipe
Onion skin
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