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
7eea7786
Commit
7eea7786
authored
Apr 14, 2019
by
Edoardo Lolletti
Committed by
mercury233
Apr 14, 2019
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update ShowSelectOption (#2131)
Allow select option quick to select among more than 5 values
parent
f11e4aec
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
32 additions
and
31 deletions
+32
-31
gframe/client_field.cpp
gframe/client_field.cpp
+12
-6
gframe/event_handler.cpp
gframe/event_handler.cpp
+14
-25
gframe/game.cpp
gframe/game.cpp
+4
-0
gframe/game.h
gframe/game.h
+2
-0
No files found.
gframe/client_field.cpp
View file @
7eea7786
...
...
@@ -594,18 +594,23 @@ void ClientField::ShowSelectOption(int select_hint) {
selected_option
=
0
;
wchar_t
textBuffer
[
256
];
int
count
=
select_options
.
size
();
bool
quickmode
=
(
count
<=
5
)
;
bool
quickmode
=
true
;
mainGame
->
gMutex
.
Lock
();
for
(
int
i
=
0
;
(
i
<
count
)
&&
quickmode
;
i
++
)
{
const
wchar_t
*
option
=
dataManager
.
GetDesc
(
select_options
[
i
]);
irr
::
core
::
dimension2d
<
unsigned
int
>
dtxt
=
mainGame
->
guiFont
->
getDimension
(
option
);
if
(
dtxt
.
Width
>
310
)
{
for
(
auto
option
:
select_options
)
{
if
(
mainGame
->
guiFont
->
getDimension
(
dataManager
.
GetDesc
(
option
)).
Width
>
310
)
{
quickmode
=
false
;
break
;
}
}
for
(
int
i
=
0
;
(
i
<
count
)
&&
(
i
<
5
)
&&
quickmode
;
i
++
)
{
const
wchar_t
*
option
=
dataManager
.
GetDesc
(
select_options
[
i
]);
mainGame
->
btnOption
[
i
]
->
setText
(
option
);
}
if
(
quickmode
)
{
bool
scrollbar
=
count
>
5
;
mainGame
->
scrOption
->
setVisible
(
scrollbar
);
mainGame
->
scrOption
->
setPos
(
0
);
mainGame
->
scrOption
->
setMax
(
scrollbar
?
(
count
-
5
)
:
1
);
mainGame
->
stOptions
->
setVisible
(
false
);
mainGame
->
btnOptionp
->
setVisible
(
false
);
mainGame
->
btnOptionn
->
setVisible
(
false
);
...
...
@@ -613,9 +618,10 @@ void ClientField::ShowSelectOption(int select_hint) {
for
(
int
i
=
0
;
i
<
5
;
i
++
)
mainGame
->
btnOption
[
i
]
->
setVisible
(
i
<
count
);
recti
pos
=
mainGame
->
wOptions
->
getRelativePosition
();
int
newheight
=
30
+
40
*
count
;
int
newheight
=
30
+
40
*
(
scrollbar
?
5
:
count
)
;
int
oldheight
=
pos
.
LowerRightCorner
.
Y
-
pos
.
UpperLeftCorner
.
Y
;
pos
.
UpperLeftCorner
.
Y
=
pos
.
UpperLeftCorner
.
Y
+
(
oldheight
-
newheight
)
/
2
;
pos
.
LowerRightCorner
.
X
=
pos
.
UpperLeftCorner
.
X
+
(
scrollbar
?
375
:
350
);
pos
.
LowerRightCorner
.
Y
=
pos
.
UpperLeftCorner
.
Y
+
newheight
;
mainGame
->
wOptions
->
setRelativePosition
(
pos
);
}
else
{
...
...
gframe/event_handler.cpp
View file @
7eea7786
...
...
@@ -291,33 +291,14 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
mainGame
->
SetStaticText
(
mainGame
->
stOptions
,
310
,
mainGame
->
guiFont
,
dataManager
.
GetDesc
(
select_options
[
selected_option
]));
break
;
}
case
BUTTON_OPTION_0
:
{
soundManager
.
PlaySoundEffect
(
SOUND_BUTTON
);
selected_option
=
0
;
SetResponseSelectedOption
();
break
;
}
case
BUTTON_OPTION_1
:
{
soundManager
.
PlaySoundEffect
(
SOUND_BUTTON
);
selected_option
=
1
;
SetResponseSelectedOption
();
break
;
}
case
BUTTON_OPTION_2
:
{
soundManager
.
PlaySoundEffect
(
SOUND_BUTTON
);
selected_option
=
2
;
SetResponseSelectedOption
();
break
;
}
case
BUTTON_OPTION_3
:
{
soundManager
.
PlaySoundEffect
(
SOUND_BUTTON
);
selected_option
=
3
;
SetResponseSelectedOption
();
break
;
}
case
BUTTON_OPTION_0
:
case
BUTTON_OPTION_1
:
case
BUTTON_OPTION_2
:
case
BUTTON_OPTION_3
:
case
BUTTON_OPTION_4
:
{
soundManager
.
PlaySoundEffect
(
SOUND_BUTTON
);
selected_option
=
4
;
int
step
=
mainGame
->
scrOption
->
isVisible
()
?
mainGame
->
scrOption
->
getPos
()
:
0
;
selected_option
=
id
-
BUTTON_OPTION_0
+
step
;
SetResponseSelectedOption
();
break
;
}
...
...
@@ -846,6 +827,14 @@ bool ClientField::OnEvent(const irr::SEvent& event) {
}
case
irr
:
:
gui
::
EGET_SCROLL_BAR_CHANGED
:
{
switch
(
id
)
{
case
SCROLL_OPTION_SELECT
:
{
int
step
=
mainGame
->
scrOption
->
isVisible
()
?
mainGame
->
scrOption
->
getPos
()
:
0
;
for
(
int
i
=
0
;
i
<
5
;
i
++
)
{
const
wchar_t
*
option
=
dataManager
.
GetDesc
(
select_options
[
i
+
step
]);
mainGame
->
btnOption
[
i
]
->
setText
(
option
);
}
break
;
}
case
SCROLL_CARD_SELECT
:
{
int
pos
=
mainGame
->
scrCardList
->
getPos
()
/
10
;
for
(
int
i
=
0
;
i
<
5
;
++
i
)
{
...
...
gframe/game.cpp
View file @
7eea7786
...
...
@@ -397,6 +397,10 @@ bool Game::Initialize() {
for
(
int
i
=
0
;
i
<
5
;
++
i
)
{
btnOption
[
i
]
=
env
->
addButton
(
rect
<
s32
>
(
10
,
30
+
40
*
i
,
340
,
60
+
40
*
i
),
wOptions
,
BUTTON_OPTION_0
+
i
,
L""
);
}
scrOption
=
env
->
addScrollBar
(
false
,
rect
<
s32
>
(
350
,
30
,
365
,
220
),
wOptions
,
SCROLL_OPTION_SELECT
);
scrOption
->
setLargeStep
(
1
);
scrOption
->
setSmallStep
(
1
);
scrOption
->
setMin
(
0
);
//pos select
wPosSelect
=
env
->
addWindow
(
rect
<
s32
>
(
340
,
200
,
935
,
410
),
false
,
dataManager
.
GetSysString
(
561
));
wPosSelect
->
getCloseButton
()
->
setVisible
(
false
);
...
...
gframe/game.h
View file @
7eea7786
...
...
@@ -388,6 +388,7 @@ public:
irr
::
gui
::
IGUIButton
*
btnOptionn
;
irr
::
gui
::
IGUIButton
*
btnOptionOK
;
irr
::
gui
::
IGUIButton
*
btnOption
[
5
];
irr
::
gui
::
IGUIScrollBar
*
scrOption
;
//pos selection
irr
::
gui
::
IGUIWindow
*
wPosSelect
;
irr
::
gui
::
CGUIImageButton
*
btnPSAU
;
...
...
@@ -595,6 +596,7 @@ extern Game* mainGame;
#define BUTTON_OPTION_2 225
#define BUTTON_OPTION_3 226
#define BUTTON_OPTION_4 227
#define SCROLL_OPTION_SELECT 228
#define BUTTON_CARD_0 230
#define BUTTON_CARD_1 231
#define BUTTON_CARD_2 232
...
...
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