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
1
Merge Requests
1
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
nanahira
ygopro
Commits
664f102d
Commit
664f102d
authored
Mar 22, 2021
by
nanahira
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'patch-deck-category' of github.com:mercury233/ygopro
parents
e7891669
342b54ea
Changes
9
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
228 additions
and
100 deletions
+228
-100
gframe/deck_con.cpp
gframe/deck_con.cpp
+124
-55
gframe/deck_con.h
gframe/deck_con.h
+4
-0
gframe/duelclient.cpp
gframe/duelclient.cpp
+1
-1
gframe/event_handler.cpp
gframe/event_handler.cpp
+21
-0
gframe/game.cpp
gframe/game.cpp
+35
-31
gframe/game.h
gframe/game.h
+11
-5
gframe/gframe.cpp
gframe/gframe.cpp
+1
-1
gframe/menu_handler.cpp
gframe/menu_handler.cpp
+28
-4
strings.conf
strings.conf
+3
-3
No files found.
gframe/deck_con.cpp
View file @
664f102d
This diff is collapsed.
Click to expand it.
gframe/deck_con.h
View file @
664f102d
...
...
@@ -21,6 +21,10 @@ public:
void
ClearSearch
();
void
SortList
();
void
RefreshDeckList
();
void
RefreshReadonly
(
int
catesel
);
void
ChangeCategory
(
int
catesel
);
void
ShowDeckManage
();
void
ShowBigCard
(
int
code
,
float
zoom
);
void
ZoomBigCard
(
s32
centerx
=
-
1
,
s32
centery
=
-
1
);
void
CloseBigCard
();
...
...
gframe/duelclient.cpp
View file @
664f102d
...
...
@@ -153,7 +153,7 @@ void DuelClient::ClientEvent(bufferevent *bev, short events, void *ctx) {
cscg
.
info
.
start_lp
=
_wtoi
(
mainGame
->
ebStartLP
->
getText
());
cscg
.
info
.
draw_count
=
_wtoi
(
mainGame
->
ebDrawCount
->
getText
());
cscg
.
info
.
time_limit
=
_wtoi
(
mainGame
->
ebTimeLimit
->
getText
());
cscg
.
info
.
lflist
=
mainGame
->
cb
LFlist
->
getItemData
(
mainGame
->
cb
LFlist
->
getSelected
());
cscg
.
info
.
lflist
=
mainGame
->
cb
HostLFlist
->
getItemData
(
mainGame
->
cbHost
LFlist
->
getSelected
());
cscg
.
info
.
duel_rule
=
mainGame
->
cbDuelRule
->
getSelected
()
+
1
;
cscg
.
info
.
no_check_deck
=
mainGame
->
chkNoCheckDeck
->
isChecked
();
cscg
.
info
.
no_shuffle_deck
=
mainGame
->
chkNoShuffleDeck
->
isChecked
();
...
...
gframe/event_handler.cpp
View file @
664f102d
...
...
@@ -1957,6 +1957,27 @@ bool ClientField::OnCommonEvent(const irr::SEvent& event) {
return
true
;
break
;
}
case
CHECKBOX_LFLIST
:
{
mainGame
->
gameConf
.
use_lflist
=
mainGame
->
chkLFlist
->
isChecked
()
?
1
:
0
;
mainGame
->
cbLFlist
->
setEnabled
(
mainGame
->
gameConf
.
use_lflist
);
mainGame
->
cbLFlist
->
setSelected
(
mainGame
->
gameConf
.
use_lflist
?
mainGame
->
gameConf
.
default_lflist
:
mainGame
->
cbLFlist
->
getItemCount
()
-
1
);
mainGame
->
cbHostLFlist
->
setSelected
(
mainGame
->
gameConf
.
use_lflist
?
mainGame
->
gameConf
.
default_lflist
:
mainGame
->
cbHostLFlist
->
getItemCount
()
-
1
);
mainGame
->
deckBuilder
.
filterList
=
&
deckManager
.
_lfList
[
mainGame
->
cbLFlist
->
getSelected
()].
content
;
return
true
;
break
;
}
}
break
;
}
case
irr
:
:
gui
::
EGET_COMBO_BOX_CHANGED
:
{
switch
(
id
)
{
case
COMBOBOX_LFLIST
:
{
mainGame
->
gameConf
.
default_lflist
=
mainGame
->
cbLFlist
->
getSelected
();
mainGame
->
cbHostLFlist
->
setSelected
(
mainGame
->
gameConf
.
default_lflist
);
mainGame
->
deckBuilder
.
filterList
=
&
deckManager
.
_lfList
[
mainGame
->
gameConf
.
default_lflist
].
content
;
return
true
;
break
;
}
}
break
;
}
...
...
gframe/game.cpp
View file @
664f102d
...
...
@@ -209,9 +209,10 @@ bool Game::Initialize() {
wCreateHost
->
getCloseButton
()
->
setVisible
(
false
);
wCreateHost
->
setVisible
(
false
);
env
->
addStaticText
(
dataManager
.
GetSysString
(
1226
),
rect
<
s32
>
(
20
,
30
,
220
,
50
),
false
,
false
,
wCreateHost
);
cbLFlist
=
env
->
addComboBox
(
rect
<
s32
>
(
140
,
25
,
300
,
50
),
wCreateHost
);
cb
Host
LFlist
=
env
->
addComboBox
(
rect
<
s32
>
(
140
,
25
,
300
,
50
),
wCreateHost
);
for
(
unsigned
int
i
=
0
;
i
<
deckManager
.
_lfList
.
size
();
++
i
)
cbLFlist
->
addItem
(
deckManager
.
_lfList
[
i
].
listName
.
c_str
(),
deckManager
.
_lfList
[
i
].
hash
);
cbHostLFlist
->
addItem
(
deckManager
.
_lfList
[
i
].
listName
.
c_str
(),
deckManager
.
_lfList
[
i
].
hash
);
cbHostLFlist
->
setSelected
(
gameConf
.
use_lflist
?
gameConf
.
default_lflist
:
cbHostLFlist
->
getItemCount
()
-
1
);
env
->
addStaticText
(
dataManager
.
GetSysString
(
1225
),
rect
<
s32
>
(
20
,
60
,
220
,
80
),
false
,
false
,
wCreateHost
);
cbRule
=
env
->
addComboBox
(
rect
<
s32
>
(
140
,
55
,
300
,
80
),
wCreateHost
);
cbRule
->
addItem
(
dataManager
.
GetSysString
(
1240
));
...
...
@@ -411,12 +412,21 @@ bool Game::Initialize() {
chkPreferExpansionScript
=
env
->
addCheckBox
(
false
,
rect
<
s32
>
(
posX
,
posY
,
posX
+
260
,
posY
+
25
),
tabSystem
,
CHECKBOX_PREFER_EXPANSION
,
dataManager
.
GetSysString
(
1379
));
chkPreferExpansionScript
->
setChecked
(
gameConf
.
prefer_expansion_script
!=
0
);
posY
+=
30
;
env
->
addStaticText
(
dataManager
.
GetSysString
(
1282
),
rect
<
s32
>
(
posX
+
23
,
posY
+
3
,
posX
+
1
2
0
,
posY
+
28
),
false
,
false
,
tabSystem
);
env
->
addStaticText
(
dataManager
.
GetSysString
(
1282
),
rect
<
s32
>
(
posX
+
23
,
posY
+
3
,
posX
+
1
1
0
,
posY
+
28
),
false
,
false
,
tabSystem
);
btnWinResizeS
=
env
->
addButton
(
rect
<
s32
>
(
posX
+
115
,
posY
,
posX
+
145
,
posY
+
25
),
tabSystem
,
BUTTON_WINDOW_RESIZE_S
,
dataManager
.
GetSysString
(
1283
));
btnWinResizeM
=
env
->
addButton
(
rect
<
s32
>
(
posX
+
150
,
posY
,
posX
+
180
,
posY
+
25
),
tabSystem
,
BUTTON_WINDOW_RESIZE_M
,
dataManager
.
GetSysString
(
1284
));
btnWinResizeL
=
env
->
addButton
(
rect
<
s32
>
(
posX
+
185
,
posY
,
posX
+
215
,
posY
+
25
),
tabSystem
,
BUTTON_WINDOW_RESIZE_L
,
dataManager
.
GetSysString
(
1285
));
btnWinResizeXL
=
env
->
addButton
(
rect
<
s32
>
(
posX
+
220
,
posY
,
posX
+
250
,
posY
+
25
),
tabSystem
,
BUTTON_WINDOW_RESIZE_XL
,
dataManager
.
GetSysString
(
1286
));
posY
+=
30
;
chkLFlist
=
env
->
addCheckBox
(
false
,
rect
<
s32
>
(
posX
,
posY
,
posX
+
110
,
posY
+
25
),
tabSystem
,
CHECKBOX_LFLIST
,
dataManager
.
GetSysString
(
1288
));
chkLFlist
->
setChecked
(
gameConf
.
use_lflist
);
cbLFlist
=
env
->
addComboBox
(
rect
<
s32
>
(
posX
+
115
,
posY
,
posX
+
250
,
posY
+
25
),
tabSystem
,
COMBOBOX_LFLIST
);
cbLFlist
->
setMaxSelectionRows
(
6
);
for
(
unsigned
int
i
=
0
;
i
<
deckManager
.
_lfList
.
size
();
++
i
)
cbLFlist
->
addItem
(
deckManager
.
_lfList
[
i
].
listName
.
c_str
());
cbLFlist
->
setEnabled
(
gameConf
.
use_lflist
);
cbLFlist
->
setSelected
(
gameConf
.
use_lflist
?
gameConf
.
default_lflist
:
cbLFlist
->
getItemCount
()
-
1
);
posY
+=
30
;
chkEnableSound
=
env
->
addCheckBox
(
gameConf
.
enable_sound
,
rect
<
s32
>
(
posX
,
posY
,
posX
+
120
,
posY
+
25
),
tabSystem
,
CHECKBOX_ENABLE_SOUND
,
dataManager
.
GetSysString
(
1279
));
chkEnableSound
->
setChecked
(
gameConf
.
enable_sound
);
scrSoundVolume
=
env
->
addScrollBar
(
true
,
rect
<
s32
>
(
posX
+
116
,
posY
+
4
,
posX
+
250
,
posY
+
21
),
tabSystem
,
SCROLL_VOLUME
);
...
...
@@ -441,7 +451,7 @@ bool Game::Initialize() {
chkEnablePScale
=
env
->
addCheckBox
(
false
,
rect
<
s32
>
(
posX
,
posY
,
posX
+
260
,
posY
+
25
),
tabSystem
,
-
1
,
dataManager
.
GetSysString
(
1269
));
chkEnablePScale
->
setChecked
(
gameConf
.
chkEnablePScale
!=
0
);
posY
+=
30
;
env
->
addStaticText
(
dataManager
.
GetSysString
(
128
8
),
rect
<
s32
>
(
posX
+
23
,
posY
+
3
,
posX
+
160
,
posY
+
28
),
false
,
false
,
tabSystem
);
env
->
addStaticText
(
dataManager
.
GetSysString
(
128
9
),
rect
<
s32
>
(
posX
+
23
,
posY
+
3
,
posX
+
160
,
posY
+
28
),
false
,
false
,
tabSystem
);
cbLocale
=
env
->
addComboBox
(
rect
<
s32
>
(
posX
+
150
,
posY
+
4
,
posX
+
250
,
posY
+
21
),
tabSystem
,
COMBOBOX_LOCALE
);
RefreshLocales
();
elmTabSystemLast
=
cbLocale
;
...
...
@@ -615,25 +625,20 @@ bool Game::Initialize() {
lstDecks
=
env
->
addListBox
(
rect
<
s32
>
(
150
,
30
,
340
,
320
),
wDeckManage
,
LISTBOX_DECKS
,
true
);
posY
=
30
;
btnNewCategory
=
env
->
addButton
(
rect
<
s32
>
(
350
,
posY
,
480
,
posY
+
25
),
wDeckManage
,
BUTTON_NEW_CATEGORY
,
dataManager
.
GetSysString
(
1461
));
posY
+=
3
0
;
posY
+=
3
5
;
btnRenameCategory
=
env
->
addButton
(
rect
<
s32
>
(
350
,
posY
,
480
,
posY
+
25
),
wDeckManage
,
BUTTON_RENAME_CATEGORY
,
dataManager
.
GetSysString
(
1462
));
posY
+=
3
0
;
posY
+=
3
5
;
btnDeleteCategory
=
env
->
addButton
(
rect
<
s32
>
(
350
,
posY
,
480
,
posY
+
25
),
wDeckManage
,
BUTTON_DELETE_CATEGORY
,
dataManager
.
GetSysString
(
1463
));
posY
+=
3
0
;
posY
+=
3
5
;
btnNewDeck
=
env
->
addButton
(
rect
<
s32
>
(
350
,
posY
,
480
,
posY
+
25
),
wDeckManage
,
BUTTON_NEW_DECK
,
dataManager
.
GetSysString
(
1464
));
posY
+=
3
0
;
posY
+=
3
5
;
btnRenameDeck
=
env
->
addButton
(
rect
<
s32
>
(
350
,
posY
,
480
,
posY
+
25
),
wDeckManage
,
BUTTON_RENAME_DECK
,
dataManager
.
GetSysString
(
1465
));
posY
+=
3
0
;
posY
+=
3
5
;
btnDMDeleteDeck
=
env
->
addButton
(
rect
<
s32
>
(
350
,
posY
,
480
,
posY
+
25
),
wDeckManage
,
BUTTON_DELETE_DECK_DM
,
dataManager
.
GetSysString
(
1466
));
posY
+=
3
0
;
posY
+=
3
5
;
btnMoveDeck
=
env
->
addButton
(
rect
<
s32
>
(
350
,
posY
,
480
,
posY
+
25
),
wDeckManage
,
BUTTON_MOVE_DECK
,
dataManager
.
GetSysString
(
1467
));
posY
+=
3
0
;
posY
+=
3
5
;
btnCopyDeck
=
env
->
addButton
(
rect
<
s32
>
(
350
,
posY
,
480
,
posY
+
25
),
wDeckManage
,
BUTTON_COPY_DECK
,
dataManager
.
GetSysString
(
1468
));
posY
+=
55
;
cbLFList
=
env
->
addComboBox
(
rect
<
s32
>
(
350
,
posY
,
480
,
posY
+
25
),
wDeckManage
,
COMBOBOX_LFLIST
);
cbLFList
->
setMaxSelectionRows
(
10
);
for
(
unsigned
int
i
=
0
;
i
<
deckManager
.
_lfList
.
size
();
++
i
)
cbLFList
->
addItem
(
deckManager
.
_lfList
[
i
].
listName
.
c_str
());
//deck manage query
wDMQuery
=
env
->
addWindow
(
rect
<
s32
>
(
400
,
200
,
710
,
320
),
false
,
dataManager
.
GetSysString
(
1460
));
wDMQuery
->
getCloseButton
()
->
setVisible
(
false
);
...
...
@@ -814,6 +819,9 @@ bool Game::Initialize() {
btnBotCancel
=
env
->
addButton
(
rect
<
s32
>
(
459
,
331
,
569
,
356
),
tabBot
,
BUTTON_CANCEL_SINGLEPLAY
,
dataManager
.
GetSysString
(
1210
));
env
->
addStaticText
(
dataManager
.
GetSysString
(
1382
),
rect
<
s32
>
(
360
,
10
,
550
,
30
),
false
,
true
,
tabBot
);
stBotInfo
=
env
->
addStaticText
(
L""
,
rect
<
s32
>
(
360
,
40
,
560
,
160
),
false
,
true
,
tabBot
);
cbBotDeckCategory
=
env
->
addComboBox
(
rect
<
s32
>
(
360
,
95
,
560
,
120
),
tabBot
,
COMBOBOX_BOT_DECKCATEGORY
);
cbBotDeckCategory
->
setMaxSelectionRows
(
6
);
cbBotDeckCategory
->
setVisible
(
false
);
cbBotDeck
=
env
->
addComboBox
(
rect
<
s32
>
(
360
,
130
,
560
,
155
),
tabBot
);
cbBotDeck
->
setMaxSelectionRows
(
6
);
cbBotDeck
->
setVisible
(
false
);
...
...
@@ -1281,6 +1289,8 @@ void Game::RefreshBot() {
}
lstBotList
->
clear
();
stBotInfo
->
setText
(
L""
);
cbBotDeckCategory
->
setVisible
(
false
);
cbBotDeck
->
setVisible
(
false
);
for
(
unsigned
int
i
=
0
;
i
<
botInfo
.
size
();
++
i
)
{
lstBotList
->
addItem
(
botInfo
[
i
].
name
);
}
...
...
@@ -1288,18 +1298,7 @@ void Game::RefreshBot() {
SetStaticText
(
stBotInfo
,
200
,
guiFont
,
dataManager
.
GetSysString
(
1385
));
}
else
{
cbBotDeck
->
clear
();
cbBotDeck
->
setVisible
(
false
);
irr
::
gui
::
IGUIComboBox
*
cbDeck
=
cbBotDeck
;
FileSystem
::
TraversalDir
(
gameConf
.
bot_deck_path
,
[
cbDeck
](
const
wchar_t
*
name
,
bool
isdir
)
{
if
(
!
isdir
&&
wcsrchr
(
name
,
'.'
)
&&
!
mywcsncasecmp
(
wcsrchr
(
name
,
'.'
),
L".ydk"
,
4
))
{
size_t
len
=
wcslen
(
name
);
wchar_t
deckname
[
256
];
wcsncpy
(
deckname
,
name
,
len
-
4
);
deckname
[
len
-
4
]
=
0
;
cbDeck
->
addItem
(
deckname
);
}
});
RefreshCategoryDeck
(
cbBotDeckCategory
,
cbBotDeck
);
}
}
bool
Game
::
LoadConfigFromFile
(
const
char
*
file
)
{
...
...
@@ -1357,6 +1356,10 @@ bool Game::LoadConfigFromFile(const char* file) {
gameConf
.
chkIgnore1
=
atoi
(
valbuf
);
}
else
if
(
!
strcmp
(
strbuf
,
"mute_spectators"
))
{
gameConf
.
chkIgnore2
=
atoi
(
valbuf
);
}
else
if
(
!
strcmp
(
strbuf
,
"use_lflist"
))
{
gameConf
.
use_lflist
=
atoi
(
valbuf
);
}
else
if
(
!
strcmp
(
strbuf
,
"default_lflist"
))
{
gameConf
.
default_lflist
=
atoi
(
valbuf
);
}
else
if
(
!
strcmp
(
strbuf
,
"default_rule"
))
{
gameConf
.
default_rule
=
atoi
(
valbuf
);
if
(
gameConf
.
default_rule
<=
0
)
...
...
@@ -1426,9 +1429,6 @@ bool Game::LoadConfigFromFile(const char* file) {
}
else
if
(
!
strcmp
(
strbuf
,
"gamename"
))
{
BufferIO
::
DecodeUTF8
(
valbuf
,
wstr
);
BufferIO
::
CopyWStr
(
wstr
,
gameConf
.
gamename
,
20
);
}
else
if
(
!
strcmp
(
strbuf
,
"bot_deck_path"
))
{
BufferIO
::
DecodeUTF8
(
valbuf
,
wstr
);
BufferIO
::
CopyWStr
(
wstr
,
gameConf
.
bot_deck_path
,
64
);
}
else
if
(
!
strcmp
(
strbuf
,
"lastcategory"
))
{
BufferIO
::
DecodeUTF8
(
valbuf
,
wstr
);
BufferIO
::
CopyWStr
(
wstr
,
gameConf
.
lastcategory
,
64
);
...
...
@@ -1470,6 +1470,8 @@ void Game::LoadConfig() {
gameConf
.
chkWaitChain
=
0
;
gameConf
.
chkIgnore1
=
0
;
gameConf
.
chkIgnore2
=
0
;
gameConf
.
use_lflist
=
1
;
gameConf
.
default_lflist
=
0
;
gameConf
.
default_rule
=
DEFAULT_DUEL_RULE
;
gameConf
.
hide_setname
=
0
;
gameConf
.
hide_hint_button
=
0
;
...
...
@@ -1602,6 +1604,8 @@ void Game::SaveConfig() {
fprintf
(
fp
,
"waitchain = %d
\n
"
,
(
chkWaitChain
->
isChecked
()
?
1
:
0
));
fprintf
(
fp
,
"mute_opponent = %d
\n
"
,
(
chkIgnore1
->
isChecked
()
?
1
:
0
));
fprintf
(
fp
,
"mute_spectators = %d
\n
"
,
(
chkIgnore2
->
isChecked
()
?
1
:
0
));
fprintf
(
fp
,
"use_lflist = %d
\n
"
,
gameConf
.
use_lflist
);
fprintf
(
fp
,
"default_lflist = %d
\n
"
,
gameConf
.
default_lflist
);
fprintf
(
fp
,
"default_rule = %d
\n
"
,
gameConf
.
default_rule
==
DEFAULT_DUEL_RULE
?
0
:
gameConf
.
default_rule
);
fprintf
(
fp
,
"hide_setname = %d
\n
"
,
gameConf
.
hide_setname
);
fprintf
(
fp
,
"hide_hint_button = %d
\n
"
,
gameConf
.
hide_hint_button
);
...
...
gframe/game.h
View file @
664f102d
...
...
@@ -37,6 +37,8 @@ struct Config {
int
chkWaitChain
;
int
chkIgnore1
;
int
chkIgnore2
;
int
use_lflist
;
int
default_lflist
;
int
default_rule
;
int
hide_setname
;
int
hide_hint_button
;
...
...
@@ -331,6 +333,8 @@ public:
irr
::
gui
::
IGUICheckBox
*
chkMultiKeywords
;
irr
::
gui
::
IGUICheckBox
*
chkPreferExpansionScript
;
irr
::
gui
::
IGUICheckBox
*
chkRegex
;
irr
::
gui
::
IGUICheckBox
*
chkLFlist
;
irr
::
gui
::
IGUIComboBox
*
cbLFlist
;
irr
::
gui
::
IGUICheckBox
*
chkEnableSound
;
irr
::
gui
::
IGUICheckBox
*
chkEnableMusic
;
irr
::
gui
::
IGUIScrollBar
*
scrSoundVolume
;
...
...
@@ -363,7 +367,7 @@ public:
irr
::
gui
::
IGUIButton
*
btnCreateHost
;
//create host
irr
::
gui
::
IGUIWindow
*
wCreateHost
;
irr
::
gui
::
IGUIComboBox
*
cbLFlist
;
irr
::
gui
::
IGUIComboBox
*
cb
Host
LFlist
;
irr
::
gui
::
IGUIComboBox
*
cbMatchMode
;
irr
::
gui
::
IGUIComboBox
*
cbRule
;
irr
::
gui
::
IGUIEditBox
*
ebTimeLimit
;
...
...
@@ -408,6 +412,7 @@ public:
irr
::
gui
::
IGUIStaticText
*
stBotInfo
;
irr
::
gui
::
IGUIButton
*
btnStartBot
;
irr
::
gui
::
IGUIButton
*
btnBotCancel
;
irr
::
gui
::
IGUIComboBox
*
cbBotDeckCategory
;
irr
::
gui
::
IGUIComboBox
*
cbBotDeck
;
irr
::
gui
::
IGUIComboBox
*
cbBotRule
;
irr
::
gui
::
IGUICheckBox
*
chkBotHand
;
...
...
@@ -566,7 +571,6 @@ public:
irr
::
gui
::
IGUIComboBox
*
cbDMCategory
;
irr
::
gui
::
IGUIButton
*
btnDMOK
;
irr
::
gui
::
IGUIButton
*
btnDMCancel
;
irr
::
gui
::
IGUIComboBox
*
cbLFList
;
//filter
irr
::
gui
::
IGUIStaticText
*
wFilter
;
irr
::
gui
::
IGUIScrollBar
*
scrFilter
;
...
...
@@ -692,6 +696,7 @@ extern Game* mainGame;
#define LISTBOX_BOT_LIST 153
#define BUTTON_BOT_START 154
#define COMBOBOX_BOT_RULE 155
#define COMBOBOX_BOT_DECKCATEGORY 156
#define EDITBOX_CHAT 199
#define BUTTON_MSG_OK 200
...
...
@@ -830,9 +835,10 @@ extern Game* mainGame;
#define CHECKBOX_MULTI_KEYWORDS 372
#define CHECKBOX_PREFER_EXPANSION 373
#define CHECKBOX_DRAW_SINGLE_CHAIN 374
#define CHECKBOX_REGEX 375
#define COMBOBOX_LOCALE 376
#define CHECKBOX_ASK_MSET 377
#define CHECKBOX_LFLIST 375
#define CHECKBOX_REGEX 376
#define COMBOBOX_LOCALE 377
#define CHECKBOX_ASK_MSET 378
#define BUTTON_BIG_CARD_CLOSE 380
#define BUTTON_BIG_CARD_ZOOM_IN 381
...
...
gframe/gframe.cpp
View file @
664f102d
...
...
@@ -114,8 +114,8 @@ int main(int argc, char* argv[]) {
auto_watch_mode
=
true
;
}
else
if
(
!
wcscmp
(
wargv
[
i
],
L"-d"
))
{
// Deck
++
i
;
ygo
::
mainGame
->
gameConf
.
lastcategory
[
0
]
=
0
;
if
(
i
+
1
<
wargc
)
{
// select deck
ygo
::
mainGame
->
gameConf
.
lastcategory
[
0
]
=
0
;
wcscpy
(
ygo
::
mainGame
->
gameConf
.
lastdeck
,
wargv
[
i
]);
continue
;
}
else
{
// open deck
...
...
gframe/menu_handler.cpp
View file @
664f102d
...
...
@@ -339,8 +339,11 @@ bool MenuHandler::OnEvent(const irr::SEvent& event) {
ZeroMemory
(
&
pi
,
sizeof
(
pi
));
wchar_t
cmd
[
MAX_PATH
];
wchar_t
arg1
[
512
];
if
(
mainGame
->
botInfo
[
sel
].
select_deckfile
)
myswprintf
(
arg1
,
L"%ls DeckFile='%ls'"
,
mainGame
->
botInfo
[
sel
].
command
,
mainGame
->
cbBotDeck
->
getItem
(
mainGame
->
cbBotDeck
->
getSelected
()));
if
(
mainGame
->
botInfo
[
sel
].
select_deckfile
)
{
wchar_t
botdeck
[
256
];
deckManager
.
GetDeckFile
(
botdeck
,
mainGame
->
cbBotDeckCategory
,
mainGame
->
cbBotDeck
);
myswprintf
(
arg1
,
L"%ls DeckFile='%ls'"
,
mainGame
->
botInfo
[
sel
].
command
,
botdeck
);
}
else
myswprintf
(
arg1
,
L"%ls"
,
mainGame
->
botInfo
[
sel
].
command
);
int
flag
=
0
;
...
...
@@ -355,8 +358,11 @@ bool MenuHandler::OnEvent(const irr::SEvent& event) {
if
(
fork
()
==
0
)
{
usleep
(
100000
);
wchar_t
warg1
[
512
];
if
(
mainGame
->
botInfo
[
sel
].
select_deckfile
)
myswprintf
(
warg1
,
L"%ls DeckFile='%ls'"
,
mainGame
->
botInfo
[
sel
].
command
,
mainGame
->
cbBotDeck
->
getItem
(
mainGame
->
cbBotDeck
->
getSelected
()));
if
(
mainGame
->
botInfo
[
sel
].
select_deckfile
)
{
wchar_t
botdeck
[
256
];
deckManager
.
GetDeckFile
(
botdeck
,
mainGame
->
cbBotDeckCategory
,
mainGame
->
cbBotDeck
);
myswprintf
(
warg1
,
L"%ls DeckFile='%ls'"
,
mainGame
->
botInfo
[
sel
].
command
,
botdeck
);
}
else
myswprintf
(
warg1
,
L"%ls"
,
mainGame
->
botInfo
[
sel
].
command
);
char
arg1
[
512
];
...
...
@@ -408,10 +414,15 @@ bool MenuHandler::OnEvent(const irr::SEvent& event) {
wcsncpy
(
deck_name
,
dash
+
1
,
dot
-
dash
-
1
);
deck_name
[
dot
-
dash
-
1
]
=
L'\0'
;
mainGame
->
ebDeckname
->
setText
(
deck_name
);
mainGame
->
cbDBCategory
->
setSelected
(
-
1
);
mainGame
->
cbDBDecks
->
setSelected
(
-
1
);
mainGame
->
btnManageDeck
->
setEnabled
(
false
);
mainGame
->
cbDBCategory
->
setEnabled
(
false
);
mainGame
->
cbDBDecks
->
setEnabled
(
false
);
}
else
{
for
(
size_t
i
=
0
;
i
<
mainGame
->
cbDBDecks
->
getItemCount
();
++
i
)
{
if
(
!
wcscmp
(
mainGame
->
cbDBDecks
->
getItem
(
i
),
open_file_name
))
{
wcscpy
(
mainGame
->
gameConf
.
lastdeck
,
open_file_name
);
mainGame
->
cbDBDecks
->
setSelected
(
i
);
break
;
}
...
...
@@ -573,6 +584,7 @@ bool MenuHandler::OnEvent(const irr::SEvent& event) {
if
(
sel
==
-
1
)
break
;
mainGame
->
SetStaticText
(
mainGame
->
stBotInfo
,
200
,
mainGame
->
guiFont
,
mainGame
->
botInfo
[
sel
].
desc
);
mainGame
->
cbBotDeckCategory
->
setVisible
(
mainGame
->
botInfo
[
sel
].
select_deckfile
);
mainGame
->
cbBotDeck
->
setVisible
(
mainGame
->
botInfo
[
sel
].
select_deckfile
);
break
;
}
...
...
@@ -623,6 +635,18 @@ bool MenuHandler::OnEvent(const irr::SEvent& event) {
}
break
;
}
case
COMBOBOX_BOT_DECKCATEGORY
:
{
int
catesel
=
mainGame
->
cbBotDeckCategory
->
getSelected
();
if
(
catesel
==
3
)
{
catesel
=
2
;
mainGame
->
cbBotDeckCategory
->
setSelected
(
2
);
}
if
(
catesel
>=
0
)
{
mainGame
->
RefreshDeck
(
mainGame
->
cbBotDeckCategory
,
mainGame
->
cbBotDeck
);
mainGame
->
cbBotDeck
->
setSelected
(
0
);
}
break
;
}
}
break
;
}
...
...
strings.conf
View file @
664f102d
...
...
@@ -338,8 +338,8 @@
!
system
1285
大
!
system
1286
特大
!
system
1287
只有连锁
1
也显示连锁动画
!
system
1288
语言(重启后生效)
!
system
1289
默认
!
system
1288
禁限卡表
!
system
1289
语言(重启后生效)
!
system
1290
忽略对方发言
!
system
1291
忽略观战者发言
!
system
1292
忽略时点
...
...
@@ -404,7 +404,7 @@
!
system
1352
主要信息:
!
system
1353
播放起始于回合:
!
system
1355
是否确定盖放[%
ls
]?
!
system
1356
是否要放弃对卡组的修改
?
!
system
1356
此操作将放弃对当前卡组的修改,是否继续
?
!
system
1357
不提示保留对卡组的修改
!
system
1358
键入关键字后自动进行搜索
!
system
1359
是否确定投降?
...
...
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