Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Y
ygopro-2pick
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
MyCard
ygopro-2pick
Commits
5a6295c5
Commit
5a6295c5
authored
Mar 25, 2012
by
argon.sun
Browse files
Options
Browse Files
Download
Plain Diff
merge
parents
8af6db19
6b40d746
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
47 additions
and
17 deletions
+47
-17
gframe/drawing.cpp
gframe/drawing.cpp
+11
-1
gframe/game.cpp
gframe/game.cpp
+2
-1
gframe/gframe.cpp
gframe/gframe.cpp
+15
-11
gframe/image_manager.cpp
gframe/image_manager.cpp
+19
-4
No files found.
gframe/drawing.cpp
View file @
5a6295c5
...
...
@@ -703,11 +703,21 @@ void Game::WaitFrameSignal(int frame) {
frameSignal
.
Wait
();
}
void
Game
::
DrawThumb
(
code_pointer
cp
,
position2di
pos
,
std
::
unordered_map
<
int
,
int
>*
lflist
)
{
const
int
width
=
44
;
//standard pic size, maybe it should be defined in game.h
const
int
height
=
64
;
int
code
=
cp
->
first
;
int
lcode
=
cp
->
second
.
alias
;
if
(
lcode
==
0
)
lcode
=
code
;
driver
->
draw2DImage
(
imageManager
.
GetTextureThumb
(
code
),
pos
);
irr
::
video
::
ITexture
*
img
=
imageManager
.
GetTextureThumb
(
code
);
if
(
img
==
NULL
)
return
;
//NULL->getSize() will cause a crash
dimension2d
<
u32
>
size
=
img
->
getSize
();
if
(
size
.
Width
==
width
and
size
.
Height
==
height
)
driver
->
draw2DImage
(
img
,
pos
);
else
driver
->
draw2DImage
(
img
,
rect
<
s32
>
(
pos
.
X
,
pos
.
Y
,
pos
.
X
+
width
,
pos
.
Y
+
height
),
rect
<
s32
>
(
0
,
0
,
size
.
Width
,
size
.
Height
));
if
(
lflist
->
count
(
lcode
))
{
switch
((
*
lflist
)[
lcode
])
{
case
0
:
...
...
gframe/game.cpp
View file @
5a6295c5
...
...
@@ -710,7 +710,8 @@ void Game::ShowCardInfo(int code) {
CardData
cd
;
wchar_t
formatBuffer
[
256
];
dataManager
.
GetData
(
code
,
&
cd
);
imgCard
->
setImage
(
imageManager
.
GetTexture
(
code
));
imgCard
->
setImage
(
imageManager
.
GetTexture
(
code
));
imgCard
->
setScaleImage
(
true
);
//I don't know weather check size or not will be faster; if Irrlicht don't check size internal and cause slow, check size like Game::DrawThumb()
if
(
cd
.
alias
!=
0
&&
(
cd
.
alias
-
code
<
10
||
code
-
cd
.
alias
<
10
))
myswprintf
(
formatBuffer
,
L"%ls[%08d]"
,
dataManager
.
GetName
(
cd
.
alias
),
cd
.
alias
);
else
myswprintf
(
formatBuffer
,
L"%ls[%08d]"
,
dataManager
.
GetName
(
code
),
code
);
...
...
gframe/gframe.cpp
View file @
5a6295c5
...
...
@@ -19,6 +19,7 @@ int main(int argc, char* argv[]) {
ygo
::
mainGame
=
&
_game
;
if
(
!
ygo
::
mainGame
->
Initialize
())
return
0
;
if
(
argc
>=
2
)
if
(
!
strcmp
(
argv
[
1
],
"-debug"
))
enable_log
=
true
;
...
...
@@ -35,22 +36,25 @@ int main(int argc, char* argv[]) {
if
(
!
strcmp
(
argv
[
1
],
"-j"
))
{
event
.
GUIEvent
.
Caller
=
ygo
::
mainGame
->
btnLanMode
;
ygo
::
mainGame
->
device
->
postEventFromUser
(
event
);
//TODO: wait for wLanWindow show. if network connection faster than wLanWindow, wLanWindow will still show on duel scene.
event
.
GUIEvent
.
Caller
=
ygo
::
mainGame
->
btnJoinHost
;
ygo
::
mainGame
->
device
->
postEventFromUser
(
event
);
}
else
if
(
!
strcmp
(
argv
[
1
],
"-d"
))
{
event
.
GUIEvent
.
Caller
=
ygo
::
mainGame
->
btnDeckEdit
;
ygo
::
mainGame
->
device
->
postEventFromUser
(
event
);
}
else
if
(
!
strcmp
(
argv
[
1
],
"-r"
))
{
event
.
GUIEvent
.
Caller
=
ygo
::
mainGame
->
btnReplayMode
;
ygo
::
mainGame
->
device
->
postEventFromUser
(
event
);
ygo
::
mainGame
->
lstReplayList
->
setSelected
(
0
);
event
.
GUIEvent
.
Caller
=
ygo
::
mainGame
->
btnDeckEdit
;
ygo
::
mainGame
->
device
->
postEventFromUser
(
event
);
}
else
if
(
!
strcmp
(
argv
[
1
],
"-r"
))
{
event
.
GUIEvent
.
Caller
=
ygo
::
mainGame
->
btnReplayMode
;
ygo
::
mainGame
->
device
->
postEventFromUser
(
event
);
ygo
::
mainGame
->
lstReplayList
->
setSelected
(
0
);
event
.
GUIEvent
.
Caller
=
ygo
::
mainGame
->
btnLoadReplay
;
ygo
::
mainGame
->
device
->
postEventFromUser
(
event
);
}
}
ygo
::
mainGame
->
MainLoop
();
#ifdef _WIN32
WSACleanup
();
#else
}
ygo
::
mainGame
->
MainLoop
();
#ifdef _WIN32
WSACleanup
();
#else
#endif //_WIN32
return
EXIT_SUCCESS
;
}
gframe/image_manager.cpp
View file @
5a6295c5
...
...
@@ -42,7 +42,7 @@ void ImageManager::ClearTexture() {
}
void
ImageManager
::
RemoveTexture
(
int
code
)
{
auto
tit
=
tMap
.
find
(
code
);
if
(
tit
!=
tMap
.
end
()
)
{
if
(
tit
!=
tMap
.
end
()
and
tThumb
.
find
(
code
)
->
second
!=
tit
->
second
)
{
//if member of tThumb point to this; don't remove
if
(
tit
->
second
)
driver
->
removeTexture
(
tit
->
second
);
tMap
.
erase
(
tit
);
...
...
@@ -54,8 +54,14 @@ irr::video::ITexture* ImageManager::GetTexture(int code) {
auto
tit
=
tMap
.
find
(
code
);
if
(
tit
==
tMap
.
end
())
{
char
file
[
256
];
sprintf
(
file
,
"pics/%d.jpg"
,
code
);
sprintf
(
file
,
"pics/%d.jpg"
,
code
);
//suggest that define the path in game.h
irr
::
video
::
ITexture
*
img
=
driver
->
getTexture
(
file
);
if
(
img
==
NULL
){
sprintf
(
file
,
"pics/thumbnail/%d.jpg"
,
code
);
img
=
driver
->
getTexture
(
file
);
if
(
img
)
tThumb
[
code
]
=
img
;
}
tMap
[
code
]
=
img
;
return
img
;
}
...
...
@@ -66,15 +72,24 @@ irr::video::ITexture* ImageManager::GetTexture(int code) {
}
irr
::
video
::
ITexture
*
ImageManager
::
GetTextureThumb
(
int
code
)
{
if
(
code
==
0
)
return
0
;
return
tUnknown
;
auto
tit
=
tThumb
.
find
(
code
);
if
(
tit
==
tThumb
.
end
())
{
char
file
[
32
];
sprintf
(
file
,
"pics/thumbnail/%d.jpg"
,
code
);
irr
::
video
::
ITexture
*
img
=
driver
->
getTexture
(
file
);
if
(
img
==
NULL
){
sprintf
(
file
,
"pics/%d.jpg"
,
code
);
img
=
driver
->
getTexture
(
file
);
if
(
img
)
tMap
[
code
]
=
img
;
}
tThumb
[
code
]
=
img
;
return
img
;
}
return
tit
->
second
;
if
(
tit
->
second
)
return
tit
->
second
;
else
return
tUnknown
;
}
}
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