Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Y
ygopro
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
YGOPRO-520DIY
ygopro
Commits
70884f34
Commit
70884f34
authored
Jul 08, 2020
by
nanahira
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of github.com:Fluorohydride/ygopro
parents
f6ee80a9
1c36764c
Changes
12
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
200 additions
and
7 deletions
+200
-7
cards.cdb
cards.cdb
+0
-0
gframe/deck_con.cpp
gframe/deck_con.cpp
+92
-1
gframe/deck_con.h
gframe/deck_con.h
+2
-0
gframe/drawing.cpp
gframe/drawing.cpp
+14
-2
gframe/event_handler.cpp
gframe/event_handler.cpp
+5
-1
gframe/game.cpp
gframe/game.cpp
+22
-0
gframe/game.h
gframe/game.h
+12
-0
gframe/image_manager.cpp
gframe/image_manager.cpp
+36
-0
gframe/image_manager.h
gframe/image_manager.h
+2
-0
ocgcore
ocgcore
+1
-1
script
script
+1
-1
strings.conf
strings.conf
+13
-1
No files found.
cards.cdb
View file @
70884f34
No preview for this file type
gframe/deck_con.cpp
View file @
70884f34
...
@@ -122,6 +122,52 @@ inline void showDeckManage() {
...
@@ -122,6 +122,52 @@ inline void showDeckManage() {
mainGame
->
PopupElement
(
mainGame
->
wDeckManage
);
mainGame
->
PopupElement
(
mainGame
->
wDeckManage
);
}
}
inline
void
ShowBigCard
(
int
code
,
float
zoom
)
{
mainGame
->
deckBuilder
.
bigcard_code
=
code
;
mainGame
->
deckBuilder
.
bigcard_zoom
=
zoom
;
ITexture
*
img
=
imageManager
.
GetBigPicture
(
code
,
zoom
);
mainGame
->
imgBigCard
->
setImage
(
img
);
auto
size
=
img
->
getSize
();
s32
left
=
mainGame
->
window_size
.
Width
/
2
-
size
.
Width
/
2
;
s32
top
=
mainGame
->
window_size
.
Height
/
2
-
size
.
Height
/
2
;
mainGame
->
imgBigCard
->
setRelativePosition
(
recti
(
0
,
0
,
size
.
Width
,
size
.
Height
));
mainGame
->
wBigCard
->
setRelativePosition
(
recti
(
left
,
top
,
left
+
size
.
Width
,
top
+
size
.
Height
));
mainGame
->
gMutex
.
lock
();
mainGame
->
btnBigCardOriginalSize
->
setVisible
(
true
);
mainGame
->
btnBigCardZoomIn
->
setVisible
(
true
);
mainGame
->
btnBigCardZoomOut
->
setVisible
(
true
);
mainGame
->
btnBigCardClose
->
setVisible
(
true
);
mainGame
->
ShowElement
(
mainGame
->
wBigCard
);
mainGame
->
env
->
getRootGUIElement
()
->
bringToFront
(
mainGame
->
wBigCard
);
mainGame
->
gMutex
.
unlock
();
}
inline
void
ZoomBigCard
(
s32
centerx
=
-
1
,
s32
centery
=
-
1
)
{
if
(
mainGame
->
deckBuilder
.
bigcard_zoom
>=
4
)
mainGame
->
deckBuilder
.
bigcard_zoom
=
4
;
if
(
mainGame
->
deckBuilder
.
bigcard_zoom
<=
0.2
)
mainGame
->
deckBuilder
.
bigcard_zoom
=
0.2
;
ITexture
*
img
=
imageManager
.
GetBigPicture
(
mainGame
->
deckBuilder
.
bigcard_code
,
mainGame
->
deckBuilder
.
bigcard_zoom
);
mainGame
->
imgBigCard
->
setImage
(
img
);
auto
size
=
img
->
getSize
();
auto
pos
=
mainGame
->
wBigCard
->
getRelativePosition
();
if
(
centerx
==
-
1
)
{
centerx
=
pos
.
UpperLeftCorner
.
X
+
pos
.
getWidth
()
/
2
;
centery
=
pos
.
UpperLeftCorner
.
Y
+
pos
.
getHeight
()
*
0.444
f
;
}
float
posx
=
(
float
)(
centerx
-
pos
.
UpperLeftCorner
.
X
)
/
pos
.
getWidth
();
float
posy
=
(
float
)(
centery
-
pos
.
UpperLeftCorner
.
Y
)
/
pos
.
getHeight
();
s32
left
=
centerx
-
size
.
Width
*
posx
;
s32
top
=
centery
-
size
.
Height
*
posy
;
mainGame
->
imgBigCard
->
setRelativePosition
(
recti
(
0
,
0
,
size
.
Width
,
size
.
Height
));
mainGame
->
wBigCard
->
setRelativePosition
(
recti
(
left
,
top
,
left
+
size
.
Width
,
top
+
size
.
Height
));
}
inline
void
CloseBigCard
()
{
mainGame
->
HideElement
(
mainGame
->
wBigCard
);
mainGame
->
btnBigCardOriginalSize
->
setVisible
(
false
);
mainGame
->
btnBigCardZoomIn
->
setVisible
(
false
);
mainGame
->
btnBigCardZoomOut
->
setVisible
(
false
);
mainGame
->
btnBigCardClose
->
setVisible
(
false
);
}
void
DeckBuilder
::
Initialize
()
{
void
DeckBuilder
::
Initialize
()
{
mainGame
->
is_building
=
true
;
mainGame
->
is_building
=
true
;
mainGame
->
is_siding
=
false
;
mainGame
->
is_siding
=
false
;
...
@@ -167,6 +213,11 @@ void DeckBuilder::Terminate() {
...
@@ -167,6 +213,11 @@ void DeckBuilder::Terminate() {
mainGame
->
wCardImg
->
setVisible
(
false
);
mainGame
->
wCardImg
->
setVisible
(
false
);
mainGame
->
wInfos
->
setVisible
(
false
);
mainGame
->
wInfos
->
setVisible
(
false
);
mainGame
->
btnLeaveGame
->
setVisible
(
false
);
mainGame
->
btnLeaveGame
->
setVisible
(
false
);
mainGame
->
wBigCard
->
setVisible
(
false
);
mainGame
->
btnBigCardOriginalSize
->
setVisible
(
false
);
mainGame
->
btnBigCardZoomIn
->
setVisible
(
false
);
mainGame
->
btnBigCardZoomOut
->
setVisible
(
false
);
mainGame
->
btnBigCardClose
->
setVisible
(
false
);
mainGame
->
PopupElement
(
mainGame
->
wMainMenu
);
mainGame
->
PopupElement
(
mainGame
->
wMainMenu
);
mainGame
->
device
->
setEventReceiver
(
&
mainGame
->
menuHandler
);
mainGame
->
device
->
setEventReceiver
(
&
mainGame
->
menuHandler
);
mainGame
->
wACMessage
->
setVisible
(
false
);
mainGame
->
wACMessage
->
setVisible
(
false
);
...
@@ -754,6 +805,24 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
...
@@ -754,6 +805,24 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
deckManager
.
LoadDeck
(
mainGame
->
cbCategorySelect
,
mainGame
->
cbDeckSelect
);
deckManager
.
LoadDeck
(
mainGame
->
cbCategorySelect
,
mainGame
->
cbDeckSelect
);
break
;
break
;
}
}
case
BUTTON_BIG_CARD_ORIG_SIZE
:
{
ShowBigCard
(
bigcard_code
,
1
);
break
;
}
case
BUTTON_BIG_CARD_ZOOM_IN
:
{
bigcard_zoom
+=
0.2
;
ZoomBigCard
();
break
;
}
case
BUTTON_BIG_CARD_ZOOM_OUT
:
{
bigcard_zoom
-=
0.2
;
ZoomBigCard
();
break
;
}
case
BUTTON_BIG_CARD_CLOSE
:
{
CloseBigCard
();
break
;
}
case
BUTTON_MSG_OK
:
{
case
BUTTON_MSG_OK
:
{
mainGame
->
HideElement
(
mainGame
->
wMessage
);
mainGame
->
HideElement
(
mainGame
->
wMessage
);
mainGame
->
actionSignal
.
Set
();
mainGame
->
actionSignal
.
Set
();
...
@@ -1110,6 +1179,11 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
...
@@ -1110,6 +1179,11 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
}
}
case
irr
:
:
EMIE_LMOUSE_LEFT_UP
:
{
case
irr
:
:
EMIE_LMOUSE_LEFT_UP
:
{
is_starting_dragging
=
false
;
is_starting_dragging
=
false
;
irr
::
gui
::
IGUIElement
*
root
=
mainGame
->
env
->
getRootGUIElement
();
if
(
!
is_draging
&&
!
mainGame
->
is_siding
&&
root
->
getElementFromPoint
(
mouse_pos
)
==
mainGame
->
imgCard
)
{
ShowBigCard
(
mainGame
->
showingcode
,
1
);
break
;
}
if
(
!
is_draging
)
if
(
!
is_draging
)
break
;
break
;
soundManager
.
PlaySoundEffect
(
SOUND_CARD_DROP
);
soundManager
.
PlaySoundEffect
(
SOUND_CARD_DROP
);
...
@@ -1133,6 +1207,14 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
...
@@ -1133,6 +1207,14 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
is_draging
=
false
;
is_draging
=
false
;
break
;
break
;
}
}
case
irr
:
:
EMIE_LMOUSE_DOUBLE_CLICK
:
{
irr
::
gui
::
IGUIElement
*
root
=
mainGame
->
env
->
getRootGUIElement
();
if
(
!
is_draging
&&
!
mainGame
->
is_siding
&&
root
->
getElementFromPoint
(
mouse_pos
)
==
root
&&
hovered_code
)
{
ShowBigCard
(
hovered_code
,
1
);
break
;
}
break
;
}
case
irr
:
:
EMIE_RMOUSE_LEFT_UP
:
{
case
irr
:
:
EMIE_RMOUSE_LEFT_UP
:
{
if
(
mainGame
->
is_siding
)
{
if
(
mainGame
->
is_siding
)
{
if
(
is_draging
)
if
(
is_draging
)
...
@@ -1155,6 +1237,10 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
...
@@ -1155,6 +1237,10 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
}
}
break
;
break
;
}
}
if
(
mainGame
->
wBigCard
->
isVisible
())
{
CloseBigCard
();
break
;
}
if
(
havePopupWindow
())
if
(
havePopupWindow
())
break
;
break
;
if
(
!
is_draging
)
{
if
(
!
is_draging
)
{
...
@@ -1237,11 +1323,16 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
...
@@ -1237,11 +1323,16 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
break
;
break
;
}
}
case
irr
:
:
EMIE_MOUSE_WHEEL
:
{
case
irr
:
:
EMIE_MOUSE_WHEEL
:
{
irr
::
gui
::
IGUIElement
*
root
=
mainGame
->
env
->
getRootGUIElement
();
if
(
root
->
getElementFromPoint
(
mouse_pos
)
==
mainGame
->
imgBigCard
)
{
bigcard_zoom
+=
0.1
f
*
event
.
MouseInput
.
Wheel
;
ZoomBigCard
(
mouse_pos
.
X
,
mouse_pos
.
Y
);
break
;
}
if
(
!
mainGame
->
scrFilter
->
isVisible
())
if
(
!
mainGame
->
scrFilter
->
isVisible
())
break
;
break
;
if
(
mainGame
->
env
->
hasFocus
(
mainGame
->
scrFilter
))
if
(
mainGame
->
env
->
hasFocus
(
mainGame
->
scrFilter
))
break
;
break
;
irr
::
gui
::
IGUIElement
*
root
=
mainGame
->
env
->
getRootGUIElement
();
if
(
root
->
getElementFromPoint
(
mouse_pos
)
!=
root
)
if
(
root
->
getElementFromPoint
(
mouse_pos
)
!=
root
)
break
;
break
;
if
(
event
.
MouseInput
.
Wheel
<
0
)
{
if
(
event
.
MouseInput
.
Wheel
<
0
)
{
...
...
gframe/deck_con.h
View file @
70884f34
...
@@ -56,6 +56,8 @@ public:
...
@@ -56,6 +56,8 @@ public:
bool
is_starting_dragging
;
bool
is_starting_dragging
;
int
dragx
;
int
dragx
;
int
dragy
;
int
dragy
;
int
bigcard_code
;
float
bigcard_zoom
;
size_t
pre_mainc
;
size_t
pre_mainc
;
size_t
pre_extrac
;
size_t
pre_extrac
;
size_t
pre_sidec
;
size_t
pre_sidec
;
...
...
gframe/drawing.cpp
View file @
70884f34
...
@@ -491,9 +491,21 @@ void Game::DrawMisc() {
...
@@ -491,9 +491,21 @@ void Game::DrawMisc() {
driver
->
drawVertexPrimitiveList
(
matManager
.
vActivate
,
4
,
matManager
.
iRectangle
,
2
);
driver
->
drawVertexPrimitiveList
(
matManager
.
vActivate
,
4
,
matManager
.
iRectangle
,
2
);
}
}
if
(
dField
.
conti_act
)
{
if
(
dField
.
conti_act
)
{
im
.
setTranslation
(
vector3df
((
matManager
.
vFieldContiAct
[
0
].
X
+
matManager
.
vFieldContiAct
[
1
].
X
)
/
2
,
irr
::
core
::
vector3df
pos
=
vector3df
((
matManager
.
vFieldContiAct
[
0
].
X
+
matManager
.
vFieldContiAct
[
1
].
X
)
/
2
,
(
matManager
.
vFieldContiAct
[
0
].
Y
+
matManager
.
vFieldContiAct
[
2
].
Y
)
/
2
,
0.03
f
));
(
matManager
.
vFieldContiAct
[
0
].
Y
+
matManager
.
vFieldContiAct
[
2
].
Y
)
/
2
,
0
);
im
.
setRotationRadians
(
irr
::
core
::
vector3df
(
0
,
0
,
0
));
for
(
auto
cit
=
dField
.
conti_cards
.
begin
();
cit
!=
dField
.
conti_cards
.
end
();
++
cit
)
{
im
.
setTranslation
(
pos
);
driver
->
setTransform
(
irr
::
video
::
ETS_WORLD
,
im
);
matManager
.
mCard
.
setTexture
(
0
,
imageManager
.
GetTexture
((
*
cit
)
->
code
));
driver
->
setMaterial
(
matManager
.
mCard
);
driver
->
drawVertexPrimitiveList
(
matManager
.
vCardFront
,
4
,
matManager
.
iRectangle
,
2
);
pos
.
Z
+=
0.03
f
;
}
im
.
setTranslation
(
pos
);
im
.
setRotationRadians
(
act_rot
);
driver
->
setTransform
(
irr
::
video
::
ETS_WORLD
,
im
);
driver
->
setTransform
(
irr
::
video
::
ETS_WORLD
,
im
);
driver
->
setMaterial
(
matManager
.
mTexture
);
driver
->
drawVertexPrimitiveList
(
matManager
.
vActivate
,
4
,
matManager
.
iRectangle
,
2
);
driver
->
drawVertexPrimitiveList
(
matManager
.
vActivate
,
4
,
matManager
.
iRectangle
,
2
);
}
}
if
(
dField
.
chains
.
size
()
>
1
||
mainGame
->
gameConf
.
draw_single_chain
)
{
if
(
dField
.
chains
.
size
()
>
1
||
mainGame
->
gameConf
.
draw_single_chain
)
{
...
...
gframe/event_handler.cpp
View file @
70884f34
...
@@ -1808,10 +1808,14 @@ bool ClientField::OnCommonEvent(const irr::SEvent& event) {
...
@@ -1808,10 +1808,14 @@ bool ClientField::OnCommonEvent(const irr::SEvent& event) {
mainGame
->
SetCursor
(
event
.
GUIEvent
.
Caller
->
isEnabled
()
?
ECI_IBEAM
:
ECI_NORMAL
);
mainGame
->
SetCursor
(
event
.
GUIEvent
.
Caller
->
isEnabled
()
?
ECI_IBEAM
:
ECI_NORMAL
);
return
true
;
return
true
;
}
}
if
(
event
.
GUIEvent
.
Caller
==
mainGame
->
imgCard
&&
mainGame
->
is_building
&&
!
mainGame
->
is_siding
)
{
mainGame
->
SetCursor
(
ECI_HAND
);
return
true
;
}
break
;
break
;
}
}
case
irr
:
:
gui
::
EGET_ELEMENT_LEFT
:
{
case
irr
:
:
gui
::
EGET_ELEMENT_LEFT
:
{
if
(
event
.
GUIEvent
.
Caller
->
getType
()
==
EGUIET_EDIT_BOX
)
{
if
(
event
.
GUIEvent
.
Caller
->
getType
()
==
EGUIET_EDIT_BOX
||
event
.
GUIEvent
.
Caller
==
mainGame
->
imgCard
)
{
mainGame
->
SetCursor
(
ECI_NORMAL
);
mainGame
->
SetCursor
(
ECI_NORMAL
);
return
true
;
return
true
;
}
}
...
...
gframe/game.cpp
View file @
70884f34
...
@@ -819,6 +819,23 @@ bool Game::Initialize() {
...
@@ -819,6 +819,23 @@ bool Game::Initialize() {
//cancel or finish
//cancel or finish
btnCancelOrFinish
=
env
->
addButton
(
rect
<
s32
>
(
205
,
230
,
295
,
265
),
0
,
BUTTON_CANCEL_OR_FINISH
,
dataManager
.
GetSysString
(
1295
));
btnCancelOrFinish
=
env
->
addButton
(
rect
<
s32
>
(
205
,
230
,
295
,
265
),
0
,
BUTTON_CANCEL_OR_FINISH
,
dataManager
.
GetSysString
(
1295
));
btnCancelOrFinish
->
setVisible
(
false
);
btnCancelOrFinish
->
setVisible
(
false
);
//big picture
wBigCard
=
env
->
addWindow
(
rect
<
s32
>
(
0
,
0
,
0
,
0
),
false
,
L""
);
wBigCard
->
getCloseButton
()
->
setVisible
(
false
);
wBigCard
->
setDrawTitlebar
(
false
);
wBigCard
->
setDrawBackground
(
false
);
wBigCard
->
setVisible
(
false
);
imgBigCard
=
env
->
addImage
(
rect
<
s32
>
(
0
,
0
,
0
,
0
),
wBigCard
);
imgBigCard
->
setScaleImage
(
false
);
imgBigCard
->
setUseAlphaChannel
(
true
);
btnBigCardOriginalSize
=
env
->
addButton
(
rect
<
s32
>
(
205
,
100
,
295
,
135
),
0
,
BUTTON_BIG_CARD_ORIG_SIZE
,
dataManager
.
GetSysString
(
1443
));
btnBigCardZoomIn
=
env
->
addButton
(
rect
<
s32
>
(
205
,
140
,
295
,
175
),
0
,
BUTTON_BIG_CARD_ZOOM_IN
,
dataManager
.
GetSysString
(
1441
));
btnBigCardZoomOut
=
env
->
addButton
(
rect
<
s32
>
(
205
,
180
,
295
,
215
),
0
,
BUTTON_BIG_CARD_ZOOM_OUT
,
dataManager
.
GetSysString
(
1442
));
btnBigCardClose
=
env
->
addButton
(
rect
<
s32
>
(
205
,
230
,
295
,
265
),
0
,
BUTTON_BIG_CARD_CLOSE
,
dataManager
.
GetSysString
(
1440
));
btnBigCardOriginalSize
->
setVisible
(
false
);
btnBigCardZoomIn
->
setVisible
(
false
);
btnBigCardZoomOut
->
setVisible
(
false
);
btnBigCardClose
->
setVisible
(
false
);
//leave/surrender/exit
//leave/surrender/exit
btnLeaveGame
=
env
->
addButton
(
rect
<
s32
>
(
205
,
5
,
295
,
80
),
0
,
BUTTON_LEAVE_GAME
,
L""
);
btnLeaveGame
=
env
->
addButton
(
rect
<
s32
>
(
205
,
5
,
295
,
80
),
0
,
BUTTON_LEAVE_GAME
,
L""
);
btnLeaveGame
->
setVisible
(
false
);
btnLeaveGame
->
setVisible
(
false
);
...
@@ -2034,6 +2051,11 @@ void Game::OnResize() {
...
@@ -2034,6 +2051,11 @@ void Game::OnResize() {
btnChainWhenAvail
->
setRelativePosition
(
Resize
(
205
,
180
,
295
,
215
));
btnChainWhenAvail
->
setRelativePosition
(
Resize
(
205
,
180
,
295
,
215
));
btnShuffle
->
setRelativePosition
(
Resize
(
205
,
230
,
295
,
265
));
btnShuffle
->
setRelativePosition
(
Resize
(
205
,
230
,
295
,
265
));
btnCancelOrFinish
->
setRelativePosition
(
Resize
(
205
,
230
,
295
,
265
));
btnCancelOrFinish
->
setRelativePosition
(
Resize
(
205
,
230
,
295
,
265
));
btnBigCardOriginalSize
->
setRelativePosition
(
Resize
(
205
,
100
,
295
,
135
));
btnBigCardZoomIn
->
setRelativePosition
(
Resize
(
205
,
140
,
295
,
175
));
btnBigCardZoomOut
->
setRelativePosition
(
Resize
(
205
,
180
,
295
,
215
));
btnBigCardClose
->
setRelativePosition
(
Resize
(
205
,
230
,
295
,
265
));
}
}
recti
Game
::
Resize
(
s32
x
,
s32
y
,
s32
x2
,
s32
y2
)
{
recti
Game
::
Resize
(
s32
x
,
s32
y
,
s32
x2
,
s32
y2
)
{
x
=
x
*
xScale
;
x
=
x
*
xScale
;
...
...
gframe/game.h
View file @
70884f34
...
@@ -612,6 +612,13 @@ public:
...
@@ -612,6 +612,13 @@ public:
irr
::
gui
::
IGUIButton
*
btnChainWhenAvail
;
irr
::
gui
::
IGUIButton
*
btnChainWhenAvail
;
//cancel or finish
//cancel or finish
irr
::
gui
::
IGUIButton
*
btnCancelOrFinish
;
irr
::
gui
::
IGUIButton
*
btnCancelOrFinish
;
//big picture
irr
::
gui
::
IGUIWindow
*
wBigCard
;
irr
::
gui
::
IGUIImage
*
imgBigCard
;
irr
::
gui
::
IGUIButton
*
btnBigCardOriginalSize
;
irr
::
gui
::
IGUIButton
*
btnBigCardZoomIn
;
irr
::
gui
::
IGUIButton
*
btnBigCardZoomOut
;
irr
::
gui
::
IGUIButton
*
btnBigCardClose
;
};
};
extern
Game
*
mainGame
;
extern
Game
*
mainGame
;
...
@@ -822,6 +829,11 @@ extern Game* mainGame;
...
@@ -822,6 +829,11 @@ extern Game* mainGame;
#define CHECKBOX_REGEX 375
#define CHECKBOX_REGEX 375
#define COMBOBOX_LOCALE 376
#define COMBOBOX_LOCALE 376
#define BUTTON_BIG_CARD_CLOSE 380
#define BUTTON_BIG_CARD_ZOOM_IN 381
#define BUTTON_BIG_CARD_ZOOM_OUT 382
#define BUTTON_BIG_CARD_ORIG_SIZE 383
#define BUTTON_DECK_CODE 389
#define BUTTON_DECK_CODE 389
#define BUTTON_DECK_CODE_SAVE 390
#define BUTTON_DECK_CODE_SAVE 390
#define BUTTON_DECK_CODE_CANCEL 391
#define BUTTON_DECK_CODE_CANCEL 391
...
...
gframe/image_manager.cpp
View file @
70884f34
...
@@ -21,6 +21,7 @@ bool ImageManager::Initial() {
...
@@ -21,6 +21,7 @@ bool ImageManager::Initial() {
tUnknown
=
NULL
;
tUnknown
=
NULL
;
tUnknownFit
=
NULL
;
tUnknownFit
=
NULL
;
tUnknownThumb
=
NULL
;
tUnknownThumb
=
NULL
;
tBigPicture
=
NULL
;
tLoading
=
NULL
;
tLoading
=
NULL
;
tThumbLoadingThreadRunning
=
false
;
tThumbLoadingThreadRunning
=
false
;
tAct
=
GetRandomImage
(
TEXTURE_ACTIVATE
);
tAct
=
GetRandomImage
(
TEXTURE_ACTIVATE
);
...
@@ -132,6 +133,10 @@ void ImageManager::ClearTexture() {
...
@@ -132,6 +133,10 @@ void ImageManager::ClearTexture() {
if
(
tit
->
second
&&
tit
->
second
!=
tLoading
)
if
(
tit
->
second
&&
tit
->
second
!=
tLoading
)
driver
->
removeTexture
(
tit
->
second
);
driver
->
removeTexture
(
tit
->
second
);
}
}
if
(
tBigPicture
!=
NULL
)
{
driver
->
removeTexture
(
tBigPicture
);
tBigPicture
=
NULL
;
}
tMap
[
0
].
clear
();
tMap
[
0
].
clear
();
tMap
[
1
].
clear
();
tMap
[
1
].
clear
();
tThumb
.
clear
();
tThumb
.
clear
();
...
@@ -352,6 +357,37 @@ irr::video::ITexture* ImageManager::GetTexture(int code, bool fit) {
...
@@ -352,6 +357,37 @@ irr::video::ITexture* ImageManager::GetTexture(int code, bool fit) {
else
else
return
mainGame
->
gameConf
.
use_image_scale
?
(
fit
?
tUnknownFit
:
tUnknown
)
:
GetTextureThumb
(
code
);
return
mainGame
->
gameConf
.
use_image_scale
?
(
fit
?
tUnknownFit
:
tUnknown
)
:
GetTextureThumb
(
code
);
}
}
irr
::
video
::
ITexture
*
ImageManager
::
GetBigPicture
(
int
code
,
float
zoom
)
{
if
(
code
==
0
)
return
tUnknown
;
if
(
tBigPicture
!=
NULL
)
{
driver
->
removeTexture
(
tBigPicture
);
tBigPicture
=
NULL
;
}
irr
::
video
::
ITexture
*
texture
;
char
file
[
256
];
sprintf
(
file
,
"expansions/pics/%d.jpg"
,
code
);
irr
::
video
::
IImage
*
srcimg
=
driver
->
createImageFromFile
(
file
);
if
(
srcimg
==
NULL
)
{
sprintf
(
file
,
"pics/%d.jpg"
,
code
);
srcimg
=
driver
->
createImageFromFile
(
file
);
}
if
(
srcimg
==
NULL
)
{
return
tUnknown
;
}
if
(
zoom
==
1
)
{
texture
=
driver
->
addTexture
(
file
,
srcimg
);
}
else
{
auto
origsize
=
srcimg
->
getDimension
();
video
::
IImage
*
destimg
=
driver
->
createImage
(
srcimg
->
getColorFormat
(),
irr
::
core
::
dimension2d
<
u32
>
(
origsize
.
Width
*
zoom
,
origsize
.
Height
*
zoom
));
imageScaleNNAA
(
srcimg
,
destimg
);
texture
=
driver
->
addTexture
(
file
,
destimg
);
destimg
->
drop
();
}
srcimg
->
drop
();
tBigPicture
=
texture
;
return
texture
;
}
int
ImageManager
::
LoadThumbThread
()
{
int
ImageManager
::
LoadThumbThread
()
{
while
(
true
)
{
while
(
true
)
{
imageManager
.
tThumbLoadingMutex
.
lock
();
imageManager
.
tThumbLoadingMutex
.
lock
();
...
...
gframe/image_manager.h
View file @
70884f34
...
@@ -24,6 +24,7 @@ public:
...
@@ -24,6 +24,7 @@ public:
void
ResizeTexture
();
void
ResizeTexture
();
irr
::
video
::
ITexture
*
GetTextureFromFile
(
const
char
*
file
,
s32
width
,
s32
height
);
irr
::
video
::
ITexture
*
GetTextureFromFile
(
const
char
*
file
,
s32
width
,
s32
height
);
irr
::
video
::
ITexture
*
GetTexture
(
int
code
,
bool
fit
=
false
);
irr
::
video
::
ITexture
*
GetTexture
(
int
code
,
bool
fit
=
false
);
irr
::
video
::
ITexture
*
GetBigPicture
(
int
code
,
float
zoom
);
irr
::
video
::
ITexture
*
GetTextureThumb
(
int
code
);
irr
::
video
::
ITexture
*
GetTextureThumb
(
int
code
);
irr
::
video
::
ITexture
*
GetTextureField
(
int
code
);
irr
::
video
::
ITexture
*
GetTextureField
(
int
code
);
static
int
LoadThumbThread
();
static
int
LoadThumbThread
();
...
@@ -41,6 +42,7 @@ public:
...
@@ -41,6 +42,7 @@ public:
irr
::
video
::
ITexture
*
tUnknown
;
irr
::
video
::
ITexture
*
tUnknown
;
irr
::
video
::
ITexture
*
tUnknownFit
;
irr
::
video
::
ITexture
*
tUnknownFit
;
irr
::
video
::
ITexture
*
tUnknownThumb
;
irr
::
video
::
ITexture
*
tUnknownThumb
;
irr
::
video
::
ITexture
*
tBigPicture
;
irr
::
video
::
ITexture
*
tLoading
;
irr
::
video
::
ITexture
*
tLoading
;
irr
::
video
::
ITexture
*
tAct
;
irr
::
video
::
ITexture
*
tAct
;
irr
::
video
::
ITexture
*
tAttack
;
irr
::
video
::
ITexture
*
tAttack
;
...
...
ocgcore
@
fcce7dc6
Subproject commit
4125653617d74159f6f93888b41d73efbfdc10b3
Subproject commit
fcce7dc6e1551daef6352bdc2db192924dda412a
script
@
4a7eeb6c
Subproject commit
2a7871a29313e8dfe7f350c47e7366f0bb7e59b6
Subproject commit
4a7eeb6c90210ae3ee6b1a69baff91c4a40efcd5
strings.conf
View file @
70884f34
...
@@ -465,6 +465,10 @@
...
@@ -465,6 +465,10 @@
!
system
1429
选择的位置不符合条件。
!
system
1429
选择的位置不符合条件。
!
system
1430
选择的表示形式不符合条件。
!
system
1430
选择的表示形式不符合条件。
!
system
1431
选择的指示物不符合条件。
!
system
1431
选择的指示物不符合条件。
!
system
1440
关闭大图
!
system
1441
放大
!
system
1442
缩小
!
system
1443
原始尺寸
!
system
1450
卡包展示
!
system
1450
卡包展示
!
system
1451
人机卡组
!
system
1451
人机卡组
!
system
1452
未分类卡组
!
system
1452
未分类卡组
...
@@ -886,7 +890,8 @@
...
@@ -886,7 +890,8 @@
!
setname
0
xbd
暗黑骑士 盖亚 暗黒騎士ガイア
!
setname
0
xbd
暗黑骑士 盖亚 暗黒騎士ガイア
!
setname
0
xbe
帝王 帝王
!
setname
0
xbe
帝王 帝王
!
setname
0
xbf
灵使 霊使い
!
setname
0
xbf
灵使 霊使い
!
setname
0
xc0
凭依装着 憑依装着
!
setname
0
xc0
凭依 憑依
!
setname
0
x10c0
凭依装着 憑依装着
!
setname
0
xc1
PSY
骨架
PSY
フレーム
!
setname
0
xc1
PSY
骨架
PSY
フレーム
!
setname
0
x10c1
PSY
骨架装备
PSY
フレームギア
!
setname
0
x10c1
PSY
骨架装备
PSY
フレームギア
!
setname
0
xc2
动力工具 パワー・ツール
!
setname
0
xc2
动力工具 パワー・ツール
...
@@ -1048,3 +1053,10 @@
...
@@ -1048,3 +1053,10 @@
!
setname
0
x14a
源数 ヌメロン
!
setname
0
x14a
源数 ヌメロン
!
setname
0
x114a
源数之门 ゲート・オブ・ヌメロン
!
setname
0
x114a
源数之门 ゲート・オブ・ヌメロン
!
setname
0
x14b
机块 機塊
!
setname
0
x14b
机块 機塊
#setname 0x14c 灵术 霊術
!
setname
0
x314c
地灵术 地霊術
#setname 0x514c 水灵术 水霊術
!
setname
0
x614c
火灵术 火霊術
#setname 0x914c 风灵术 風霊術
#setname 0xa14c 光灵术 光霊術
#setname 0xc14c 暗灵术 闇霊術
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