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
34491af5
Commit
34491af5
authored
Dec 18, 2017
by
nanahira
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update_rand_image
parent
dbaef5b9
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
36 additions
and
57 deletions
+36
-57
gframe/image_manager.cpp
gframe/image_manager.cpp
+35
-53
gframe/image_manager.h
gframe/image_manager.h
+1
-4
No files found.
gframe/image_manager.cpp
View file @
34491af5
...
...
@@ -6,11 +6,8 @@ namespace ygo {
ImageManager
imageManager
;
bool
ImageManager
::
Initial
()
{
#ifdef _WIN32
RefreshRandomImageList
();
#endif
#ifdef _WIN32
tCover
[
0
]
=
GetRandomImage
(
TEXTURE_COVER_S
);
if
(
!
tCover
[
0
])
tCover
[
0
]
=
driver
->
getTexture
(
"textures/cover.jpg"
);
...
...
@@ -19,24 +16,15 @@ bool ImageManager::Initial() {
tCover
[
1
]
=
driver
->
getTexture
(
"textures/cover2.jpg"
);
if
(
!
tCover
[
1
])
tCover
[
1
]
=
GetRandomImage
(
TEXTURE_COVER_S
);
#else
tCover
[
0
]
=
driver
->
getTexture
(
"textures/cover.jpg"
);
tCover
[
1
]
=
driver
->
getTexture
(
"textures/cover2.jpg"
);
#endif
if
(
!
tCover
[
1
])
tCover
[
1
]
=
tCover
[
0
];
tUnknown
=
driver
->
getTexture
(
"textures/unknown.jpg"
);
#ifdef _WIN32
tAct
=
GetRandomImage
(
TEXTURE_ACTIVATE
);
tAttack
=
GetRandomImage
(
TEXTURE_ATTACK
);
if
(
!
tAct
)
tAct
=
driver
->
getTexture
(
"textures/act.png"
);
if
(
!
tAttack
)
tAttack
=
driver
->
getTexture
(
"textures/attack.png"
);
#else
tAct
=
driver
->
getTexture
(
"textures/act.png"
);
tAttack
=
driver
->
getTexture
(
"textures/attack.png"
);
#endif
tChain
=
driver
->
getTexture
(
"textures/chain.png"
);
tNegated
=
driver
->
getTexture
(
"textures/negated.png"
);
tNumber
=
driver
->
getTexture
(
"textures/number.png"
);
...
...
@@ -51,7 +39,6 @@ bool ImageManager::Initial() {
tHand
[
0
]
=
driver
->
getTexture
(
"textures/f1.jpg"
);
tHand
[
1
]
=
driver
->
getTexture
(
"textures/f2.jpg"
);
tHand
[
2
]
=
driver
->
getTexture
(
"textures/f3.jpg"
);
#ifdef _WIN32
tBackGround
=
GetRandomImage
(
TEXTURE_DUEL
);
if
(
!
tBackGround
)
tBackGround
=
driver
->
getTexture
(
"textures/bg.jpg"
);
...
...
@@ -71,24 +58,12 @@ bool ImageManager::Initial() {
tBackGround_deck
=
GetRandomImage
(
TEXTURE_DUEL
);
if
(
!
tBackGround_deck
)
tBackGround_deck
=
tBackGround
;
#else
tBackGround
=
driver
->
getTexture
(
"textures/bg.jpg"
);
if
(
!
tBackGround
)
tBackGround
=
driver
->
getTexture
(
"textures/bg_duel.jpg"
);
tBackGround_menu
=
driver
->
getTexture
(
"textures/bg_menu.jpg"
);
if
(
!
tBackGround_menu
)
tBackGround_menu
=
tBackGround
;
tBackGround_deck
=
driver
->
getTexture
(
"textures/bg_deck.jpg"
);
if
(
!
tBackGround_deck
)
tBackGround_deck
=
tBackGround
;
#endif
tField
[
0
]
=
driver
->
getTexture
(
"textures/field2.png"
);
tFieldTransparent
[
0
]
=
driver
->
getTexture
(
"textures/field-transparent2.png"
);
tField
[
1
]
=
driver
->
getTexture
(
"textures/field3.png"
);
tFieldTransparent
[
1
]
=
driver
->
getTexture
(
"textures/field-transparent3.png"
);
return
true
;
}
#ifdef _WIN32
irr
::
video
::
ITexture
*
ImageManager
::
GetRandomImage
(
int
image_type
)
{
int
count
=
ImageList
[
image_type
].
size
();
if
(
count
<=
0
)
...
...
@@ -102,44 +77,51 @@ irr::video::ITexture* ImageManager::GetRandomImage(int image_type) {
return
driver
->
getTexture
(
ImageName
);
}
void
ImageManager
::
RefreshRandomImageList
()
{
Refresh
JPG
Dir
(
L"bg/"
,
TEXTURE_DUEL
);
Refresh
JPG
Dir
(
L"bg_duel/"
,
TEXTURE_DUEL
);
Refresh
JPG
Dir
(
L"bg_deck/"
,
TEXTURE_DECK
);
Refresh
JPG
Dir
(
L"bg_menu/"
,
TEXTURE_MENU
);
Refresh
JPG
Dir
(
L"cover/"
,
TEXTURE_COVER_S
);
Refresh
JPG
Dir
(
L"cover2/"
,
TEXTURE_COVER_O
);
Refresh
PNG
Dir
(
L"attack/"
,
TEXTURE_ATTACK
);
Refresh
PNG
Dir
(
L"act/"
,
TEXTURE_ACTIVATE
);
Refresh
Image
Dir
(
L"bg/"
,
TEXTURE_DUEL
);
Refresh
Image
Dir
(
L"bg_duel/"
,
TEXTURE_DUEL
);
Refresh
Image
Dir
(
L"bg_deck/"
,
TEXTURE_DECK
);
Refresh
Image
Dir
(
L"bg_menu/"
,
TEXTURE_MENU
);
Refresh
Image
Dir
(
L"cover/"
,
TEXTURE_COVER_S
);
Refresh
Image
Dir
(
L"cover2/"
,
TEXTURE_COVER_O
);
Refresh
Image
Dir
(
L"attack/"
,
TEXTURE_ATTACK
);
Refresh
Image
Dir
(
L"act/"
,
TEXTURE_ACTIVATE
);
}
void
ImageManager
::
RefreshPNGDir
(
std
::
wstring
path
,
int
image_type
)
{
void
ImageManager
::
RefreshImageDir
(
std
::
wstring
path
,
int
image_type
)
{
#ifdef _WIN32
WIN32_FIND_DATAW
fdataw
;
std
::
wstring
search
=
L"./textures/"
+
path
+
L"*.
png
"
;
std
::
wstring
search
=
L"./textures/"
+
path
+
L"*.
*
"
;
HANDLE
fh
=
FindFirstFileW
(
search
.
c_str
(),
&
fdataw
);
if
(
fh
==
INVALID_HANDLE_VALUE
)
return
;
do
{
if
(
!
(
fdataw
.
dwFileAttributes
&
FILE_ATTRIBUTE_DIRECTORY
))
{
std
::
wstring
filename
=
path
+
(
std
::
wstring
)
fdataw
.
cFileName
;
ImageList
[
image_type
].
push_back
(
filename
);
}
size_t
len
=
wcslen
(
fdataw
.
cFileName
);
if
((
fdataw
.
dwFileAttributes
&
FILE_ATTRIBUTE_DIRECTORY
)
||
len
<
5
||
!
(
wcsicmp
(
fdataw
.
cFileName
+
len
-
4
,
L".jpg"
)
==
0
||
wcsicmp
(
fdataw
.
cFileName
+
len
-
4
,
L".png"
)
==
0
))
continue
;
std
::
wstring
filename
=
path
+
(
std
::
wstring
)
fdataw
.
cFileName
;
ImageList
[
image_type
].
push_back
(
filename
);
}
while
(
FindNextFileW
(
fh
,
&
fdataw
));
FindClose
(
fh
);
}
void
ImageManager
::
RefreshJPGDir
(
std
::
wstring
path
,
int
image_type
)
{
WIN32_FIND_DATAW
fdataw
;
std
::
wstring
search
=
L"./textures/"
+
path
+
L"*.jpg"
;
HANDLE
fh
=
FindFirstFileW
(
search
.
c_str
(),
&
fdataw
);
if
(
fh
==
INVALID_HANDLE_VALUE
)
#else
DIR
*
dir
;
struct
dirent
*
dirp
;
std
::
wstring
wsearchpath
=
L"./textures/"
+
path
;
char
searchpath
[
256
];
BufferIO
::
EncodeUTF8
(
wsearchpath
.
c_str
(),
searchpath
);
if
((
dir
=
opendir
(
searchpath
))
==
NULL
)
return
;
do
{
if
(
!
(
fdataw
.
dwFileAttributes
&
FILE_ATTRIBUTE_DIRECTORY
))
{
std
::
wstring
filename
=
path
+
(
std
::
wstring
)
fdataw
.
cFileName
;
ImageList
[
image_type
].
push_back
(
filename
);
}
}
while
(
FindNextFileW
(
fh
,
&
fdataw
));
FindClose
(
fh
);
}
while
((
dirp
=
readdir
(
dir
))
!=
NULL
)
{
size_t
len
=
strlen
(
dirp
->
d_name
);
if
(
len
<
5
||
!
(
strcasecmp
(
dirp
->
d_name
+
len
-
4
,
".jpg"
)
==
0
||
strcasecmp
(
dirp
->
d_name
+
len
-
4
,
".png"
)))
continue
;
wchar_t
wname
[
256
];
BufferIO
::
DecodeUTF8
(
dirp
->
d_name
,
wname
);
std
::
wstring
filename
=
path
+
(
std
::
wstring
)
wname
;
ImageList
[
image_type
].
push_back
(
filename
);
}
closedir
(
dir
);
#endif
}
void
ImageManager
::
SetDevice
(
irr
::
IrrlichtDevice
*
dev
)
{
device
=
dev
;
driver
=
dev
->
getVideoDriver
();
...
...
gframe/image_manager.h
View file @
34491af5
...
...
@@ -12,12 +12,9 @@ public:
std
::
vector
<
std
::
wstring
>
ImageList
[
7
];
bool
Initial
();
//random image
#ifdef _WIN32
irr
::
video
::
ITexture
*
GetRandomImage
(
int
image_type
);
void
RefreshRandomImageList
();
void
RefreshPNGDir
(
std
::
wstring
path
,
int
image_type
);
void
RefreshJPGDir
(
std
::
wstring
path
,
int
image_type
);
#endif
void
RefreshImageDir
(
std
::
wstring
path
,
int
image_type
)
void
SetDevice
(
irr
::
IrrlichtDevice
*
dev
);
void
ClearTexture
();
void
RemoveTexture
(
int
code
);
...
...
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