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
Commits
1ed80e02
Commit
1ed80e02
authored
Jan 06, 2012
by
argon.sun
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
recon
parent
a74e5e5b
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
164 additions
and
176 deletions
+164
-176
gframe/deck_con.cpp
gframe/deck_con.cpp
+0
-1
gframe/game.cpp
gframe/game.cpp
+39
-39
gframe/game.h
gframe/game.h
+78
-62
gframe/menu_handler.cpp
gframe/menu_handler.cpp
+20
-2
gframe/message.cpp
gframe/message.cpp
+5
-18
gframe/network.cpp
gframe/network.cpp
+9
-43
gframe/network.h
gframe/network.h
+5
-9
strings.conf
strings.conf
+8
-2
No files found.
gframe/deck_con.cpp
View file @
1ed80e02
...
...
@@ -46,7 +46,6 @@ bool DeckBuilder::OnEvent(const irr::SEvent& event) {
mainGame
->
cbDBDecks
->
setSelected
(
sel
);
else
{
mainGame
->
cbDBDecks
->
addItem
(
dname
);
mainGame
->
cbDeckSel
->
addItem
(
dname
);
mainGame
->
cbDBDecks
->
setSelected
(
mainGame
->
cbDBDecks
->
getItemCount
()
-
1
);
}
mainGame
->
deckManager
.
SaveDeck
(
mainGame
->
deckManager
.
deckhost
,
dname
);
...
...
gframe/game.cpp
View file @
1ed80e02
...
...
@@ -88,60 +88,60 @@ bool Game::Initialize() {
btnCreateHost
=
env
->
addButton
(
rect
<
s32
>
(
460
,
25
,
570
,
50
),
wLanWindow
,
BUTTON_CREATE_HOST
,
dataManager
.
GetSysString
(
1224
));
wLanWindow
->
setVisible
(
false
);
//create host
w
HostWindow
=
env
->
addWindow
(
rect
<
s32
>
(
320
,
100
,
700
,
520
),
false
,
dataManager
.
GetSysString
(
1224
));
w
HostWindow
->
getCloseButton
()
->
setVisible
(
false
);
env
->
addStaticText
(
dataManager
.
GetSysString
(
1225
),
rect
<
s32
>
(
20
,
30
,
220
,
50
),
false
,
false
,
w
HostWindow
);
cbRule
=
env
->
addComboBox
(
rect
<
s32
>
(
140
,
25
,
300
,
50
),
w
HostWindow
);
w
CreateHost
=
env
->
addWindow
(
rect
<
s32
>
(
320
,
100
,
700
,
520
),
false
,
dataManager
.
GetSysString
(
1224
));
w
CreateHost
->
getCloseButton
()
->
setVisible
(
false
);
env
->
addStaticText
(
dataManager
.
GetSysString
(
1225
),
rect
<
s32
>
(
20
,
30
,
220
,
50
),
false
,
false
,
w
CreateHost
);
cbRule
=
env
->
addComboBox
(
rect
<
s32
>
(
140
,
25
,
300
,
50
),
w
CreateHost
);
cbRule
->
addItem
(
dataManager
.
GetSysString
(
1240
));
cbRule
->
addItem
(
dataManager
.
GetSysString
(
1241
));
cbRule
->
addItem
(
dataManager
.
GetSysString
(
1242
));
env
->
addStaticText
(
dataManager
.
GetSysString
(
1226
),
rect
<
s32
>
(
20
,
60
,
220
,
80
),
false
,
false
,
w
HostWindow
);
cbLFlist
=
env
->
addComboBox
(
rect
<
s32
>
(
140
,
55
,
300
,
80
),
w
HostWindow
);
env
->
addStaticText
(
dataManager
.
GetSysString
(
1226
),
rect
<
s32
>
(
20
,
60
,
220
,
80
),
false
,
false
,
w
CreateHost
);
cbLFlist
=
env
->
addComboBox
(
rect
<
s32
>
(
140
,
55
,
300
,
80
),
w
CreateHost
);
for
(
int
i
=
0
;
i
<
deckManager
.
_lfList
.
size
();
++
i
)
cbLFlist
->
addItem
(
deckManager
.
_lfList
[
i
].
listName
);
env
->
addStaticText
(
dataManager
.
GetSysString
(
1227
),
rect
<
s32
>
(
20
,
90
,
220
,
110
),
false
,
false
,
w
HostWindow
);
cbMatchMode
=
env
->
addComboBox
(
rect
<
s32
>
(
140
,
85
,
300
,
110
),
w
HostWindow
);
env
->
addStaticText
(
dataManager
.
GetSysString
(
1227
),
rect
<
s32
>
(
20
,
90
,
220
,
110
),
false
,
false
,
w
CreateHost
);
cbMatchMode
=
env
->
addComboBox
(
rect
<
s32
>
(
140
,
85
,
300
,
110
),
w
CreateHost
);
cbMatchMode
->
addItem
(
dataManager
.
GetSysString
(
1243
));
cbMatchMode
->
addItem
(
dataManager
.
GetSysString
(
1244
));
env
->
addStaticText
(
dataManager
.
GetSysString
(
1228
),
rect
<
s32
>
(
20
,
120
,
320
,
140
),
false
,
false
,
w
HostWindow
);
chkNoCheckDeck
=
env
->
addCheckBox
(
false
,
rect
<
s32
>
(
20
,
150
,
320
,
170
),
w
HostWindow
,
-
1
,
dataManager
.
GetSysString
(
1229
));
chkNoShuffleDeck
=
env
->
addCheckBox
(
false
,
rect
<
s32
>
(
20
,
180
,
320
,
200
),
w
HostWindow
,
-
1
,
dataManager
.
GetSysString
(
1230
));
env
->
addStaticText
(
dataManager
.
GetSysString
(
1231
),
rect
<
s32
>
(
20
,
210
,
320
,
230
),
false
,
false
,
w
HostWindow
);
env
->
addStaticText
(
dataManager
.
GetSysString
(
1228
),
rect
<
s32
>
(
20
,
120
,
320
,
140
),
false
,
false
,
w
CreateHost
);
chkNoCheckDeck
=
env
->
addCheckBox
(
false
,
rect
<
s32
>
(
20
,
150
,
320
,
170
),
w
CreateHost
,
-
1
,
dataManager
.
GetSysString
(
1229
));
chkNoShuffleDeck
=
env
->
addCheckBox
(
false
,
rect
<
s32
>
(
20
,
180
,
320
,
200
),
w
CreateHost
,
-
1
,
dataManager
.
GetSysString
(
1230
));
env
->
addStaticText
(
dataManager
.
GetSysString
(
1231
),
rect
<
s32
>
(
20
,
210
,
320
,
230
),
false
,
false
,
w
CreateHost
);
myswprintf
(
dataManager
.
strBuffer
,
L"%d"
,
8000
);
ebStartLP
=
env
->
addEditBox
(
dataManager
.
strBuffer
,
rect
<
s32
>
(
140
,
205
,
220
,
230
),
true
,
w
HostWindow
);
ebStartLP
=
env
->
addEditBox
(
dataManager
.
strBuffer
,
rect
<
s32
>
(
140
,
205
,
220
,
230
),
true
,
w
CreateHost
);
ebStartLP
->
setTextAlignment
(
irr
::
gui
::
EGUIA_CENTER
,
irr
::
gui
::
EGUIA_CENTER
);
env
->
addStaticText
(
dataManager
.
GetSysString
(
1232
),
rect
<
s32
>
(
20
,
240
,
320
,
260
),
false
,
false
,
w
HostWindow
);
env
->
addStaticText
(
dataManager
.
GetSysString
(
1232
),
rect
<
s32
>
(
20
,
240
,
320
,
260
),
false
,
false
,
w
CreateHost
);
myswprintf
(
dataManager
.
strBuffer
,
L"%d"
,
5
);
ebStartHand
=
env
->
addEditBox
(
dataManager
.
strBuffer
,
rect
<
s32
>
(
140
,
235
,
220
,
260
),
true
,
w
HostWindow
);
ebStartHand
=
env
->
addEditBox
(
dataManager
.
strBuffer
,
rect
<
s32
>
(
140
,
235
,
220
,
260
),
true
,
w
CreateHost
);
ebStartHand
->
setTextAlignment
(
irr
::
gui
::
EGUIA_CENTER
,
irr
::
gui
::
EGUIA_CENTER
);
env
->
addStaticText
(
dataManager
.
GetSysString
(
1233
),
rect
<
s32
>
(
20
,
270
,
320
,
290
),
false
,
false
,
w
HostWindow
);
env
->
addStaticText
(
dataManager
.
GetSysString
(
1233
),
rect
<
s32
>
(
20
,
270
,
320
,
290
),
false
,
false
,
w
CreateHost
);
myswprintf
(
dataManager
.
strBuffer
,
L"%d"
,
1
);
ebDrawCount
=
env
->
addEditBox
(
dataManager
.
strBuffer
,
rect
<
s32
>
(
140
,
265
,
220
,
290
),
true
,
w
HostWindow
);
ebDrawCount
=
env
->
addEditBox
(
dataManager
.
strBuffer
,
rect
<
s32
>
(
140
,
265
,
220
,
290
),
true
,
w
CreateHost
);
ebDrawCount
->
setTextAlignment
(
irr
::
gui
::
EGUIA_CENTER
,
irr
::
gui
::
EGUIA_CENTER
);
env
->
addStaticText
(
dataManager
.
GetSysString
(
1234
),
rect
<
s32
>
(
10
,
360
,
220
,
380
),
false
,
false
,
w
HostWindow
);
ebServerName
=
env
->
addEditBox
(
gameConf
.
gamename
,
rect
<
s32
>
(
110
,
355
,
250
,
380
),
true
,
w
HostWindow
);
env
->
addStaticText
(
dataManager
.
GetSysString
(
1234
),
rect
<
s32
>
(
10
,
360
,
220
,
380
),
false
,
false
,
w
CreateHost
);
ebServerName
=
env
->
addEditBox
(
gameConf
.
gamename
,
rect
<
s32
>
(
110
,
355
,
250
,
380
),
true
,
w
CreateHost
);
ebServerName
->
setTextAlignment
(
irr
::
gui
::
EGUIA_CENTER
,
irr
::
gui
::
EGUIA_CENTER
);
env
->
addStaticText
(
dataManager
.
GetSysString
(
1235
),
rect
<
s32
>
(
10
,
390
,
220
,
410
),
false
,
false
,
w
HostWindow
);
ebServerPass
=
env
->
addEditBox
(
L""
,
rect
<
s32
>
(
110
,
385
,
250
,
410
),
true
,
w
HostWindow
);
env
->
addStaticText
(
dataManager
.
GetSysString
(
1235
),
rect
<
s32
>
(
10
,
390
,
220
,
410
),
false
,
false
,
w
CreateHost
);
ebServerPass
=
env
->
addEditBox
(
L""
,
rect
<
s32
>
(
110
,
385
,
250
,
410
),
true
,
w
CreateHost
);
ebServerPass
->
setTextAlignment
(
irr
::
gui
::
EGUIA_CENTER
,
irr
::
gui
::
EGUIA_CENTER
);
btnHostConfirm
=
env
->
addButton
(
rect
<
s32
>
(
260
,
355
,
370
,
380
),
w
HostWindow
,
BUTTON_HOST_CONFIRM
,
dataManager
.
GetSysString
(
1211
));
btnHostCancel
=
env
->
addButton
(
rect
<
s32
>
(
260
,
385
,
370
,
410
),
w
HostWindow
,
BUTTON_HOST_CANCEL
,
dataManager
.
GetSysString
(
1212
));
w
HostWindow
->
setVisible
(
false
);
/
* chkNoCheckDeck = env->addCheckBox(false, rect<s32>(10, 10, 210, 30), tabLanS, -1, L"不检查卡组");
lstReplayList = env->addListBox(rect<s32>(10, 10, 460, 190), tabReplay, LISTBOX_REPLAY_LIST, tru
e);
lstReplayList->setItemHeight(18
);
btnLoadReplay = env->addButton(rect<s32>(180, 200, 280, 225), tabReplay, BUTTON_LOAD_REPLAY, L"载入录像"
);
env->addStaticText(L"昵称:", rect<s32>(10, 30, 90, 50), false, false, wModeSelection
);
ebUsername = env->addEditBox(L"", rect<s32>(80, 25, 240, 50), true, wModeSelection
);
ebUsername->setTextAlignment(irr::gui::EGUIA_CENTER, irr::gui::EGUIA_CENTER
);
env->addStaticText(L"卡组:", rect<s32>(250, 30, 350, 50), false, false, wModeSelection
);
cbDeckSel = env->addComboBox(rect<s32>(310, 25, 410, 50), wModeSelection, -1
);
RefreshDeck(cbDeckSel
);
btnDeckEdit = env->addButton(rect<s32>(420, 25, 470, 50), wModeSelection, BUTTON_DECK_EDIT, L"编辑");
st
ModeStatus = env->addStaticText(L"", rect<s32>(20, 360, 350, 380), false, false, wModeSelection
);
*/
btnHostConfirm
=
env
->
addButton
(
rect
<
s32
>
(
260
,
355
,
370
,
380
),
w
CreateHost
,
BUTTON_HOST_CONFIRM
,
dataManager
.
GetSysString
(
1211
));
btnHostCancel
=
env
->
addButton
(
rect
<
s32
>
(
260
,
385
,
370
,
410
),
w
CreateHost
,
BUTTON_HOST_CANCEL
,
dataManager
.
GetSysString
(
1212
));
w
CreateHost
->
setVisible
(
false
);
/
/create host
wHostSingle
=
env
->
addWindow
(
rect
<
s32
>
(
220
,
100
,
800
,
520
),
false
,
dataManager
.
GetSysString
(
1245
));
wHostSingle
->
getCloseButton
()
->
setVisible
(
fals
e
);
btnHostSingleDuelist
=
env
->
addButton
(
rect
<
s32
>
(
10
,
30
,
110
,
55
),
wHostSingle
,
BUTTON_HS_DUELIST
,
dataManager
.
GetSysString
(
1246
)
);
stHostSingleDuelist
[
0
]
=
env
->
addStaticText
(
L""
,
rect
<
s32
>
(
120
,
30
,
320
,
50
),
true
,
false
,
wHostSingle
);
stHostSingleDuelist
[
1
]
=
env
->
addStaticText
(
L""
,
rect
<
s32
>
(
120
,
55
,
320
,
75
),
true
,
false
,
wHostSingle
);
chkHostSingleReady
[
0
]
=
env
->
addCheckBox
(
false
,
rect
<
s32
>
(
330
,
30
,
350
,
50
),
wHostSingle
,
-
1
,
L""
);
chkHostSingleReady
[
0
]
->
setEnabled
(
false
);
chkHostSingleReady
[
1
]
=
env
->
addCheckBox
(
false
,
rect
<
s32
>
(
330
,
55
,
350
,
75
),
wHostSingle
,
-
1
,
L""
);
chkHostSingleReady
[
1
]
->
setEnabled
(
false
);
btnHostSingleOB
=
env
->
addButton
(
rect
<
s32
>
(
10
,
80
,
110
,
105
),
wHostSingle
,
BUTTON_HS_OBSERVER
,
dataManager
.
GetSysString
(
1247
)
);
for
(
int
i
=
0
;
i
<
8
;
++
i
)
st
HostSingleOB
[
i
]
=
env
->
addStaticText
(
L""
,
rect
<
s32
>
(
120
,
80
+
25
*
i
,
320
,
100
+
25
*
i
),
true
,
false
,
wHostSingle
);
btnHostSingleStart
=
env
->
addButton
(
rect
<
s32
>
(
460
,
355
,
570
,
380
),
wHostSingle
,
BUTTON_HS_START
,
dataManager
.
GetSysString
(
1215
));
btnHostSingleCancel
=
env
->
addButton
(
rect
<
s32
>
(
460
,
385
,
570
,
410
),
wHostSingle
,
BUTTON_HS_CANCEL
,
dataManager
.
GetSysString
(
1212
));
//img
wCardImg
=
env
->
addStaticText
(
L""
,
rect
<
s32
>
(
1
,
1
,
199
,
273
),
true
,
false
,
0
,
-
1
,
true
);
wCardImg
->
setBackgroundColor
(
0xc0c0c0c0
);
...
...
gframe/game.h
View file @
1ed80e02
...
...
@@ -216,6 +216,7 @@ public:
irr
::
gui
::
IGUIButton
*
btnTestMode
;
irr
::
gui
::
IGUIButton
*
btnDeckEdit
;
irr
::
gui
::
IGUIButton
*
btnModeExit
;
//lan
irr
::
gui
::
IGUIWindow
*
wLanWindow
;
irr
::
gui
::
IGUIEditBox
*
ebNickName
;
irr
::
gui
::
IGUIListBox
*
lstHostList
;
...
...
@@ -225,7 +226,8 @@ public:
irr
::
gui
::
IGUIButton
*
btnJoinHost
;
irr
::
gui
::
IGUIButton
*
btnJoinCancel
;
irr
::
gui
::
IGUIButton
*
btnCreateHost
;
irr
::
gui
::
IGUIWindow
*
wHostWindow
;
//create host
irr
::
gui
::
IGUIWindow
*
wCreateHost
;
irr
::
gui
::
IGUIComboBox
*
cbLFlist
;
irr
::
gui
::
IGUIComboBox
*
cbMatchMode
;
irr
::
gui
::
IGUIComboBox
*
cbRule
;
...
...
@@ -238,12 +240,21 @@ public:
irr
::
gui
::
IGUICheckBox
*
chkNoShuffleDeck
;
irr
::
gui
::
IGUIButton
*
btnHostConfirm
;
irr
::
gui
::
IGUIButton
*
btnHostCancel
;
//host(single)
irr
::
gui
::
IGUIWindow
*
wHostSingle
;
irr
::
gui
::
IGUIButton
*
btnHostSingleDuelist
;
irr
::
gui
::
IGUIButton
*
btnHostSingleOB
;
irr
::
gui
::
IGUIStaticText
*
stHostSingleDuelist
[
2
];
irr
::
gui
::
IGUIStaticText
*
stHostSingleOB
[
8
];
irr
::
gui
::
IGUIStaticText
*
stHostSingleRule
;
irr
::
gui
::
IGUICheckBox
*
chkHostSingleReady
[
2
];
irr
::
gui
::
IGUIComboBox
*
cbDeckSelect
;
irr
::
gui
::
IGUIButton
*
btnHostSingleReady
;
irr
::
gui
::
IGUIButton
*
btnHostSingleStart
;
irr
::
gui
::
IGUIButton
*
btnHostSingleCancel
;
//replay
irr
::
gui
::
IGUIListBox
*
lstReplayList
;
irr
::
gui
::
IGUIButton
*
btnLoadReplay
;
irr
::
gui
::
IGUIEditBox
*
ebUsername
;
irr
::
gui
::
IGUIComboBox
*
cbDeckSel
;
irr
::
gui
::
IGUIStaticText
*
stModeStatus
;
irr
::
gui
::
IGUIComboBox
*
cbIPList
;
//message
irr
::
gui
::
IGUIWindow
*
wMessage
;
irr
::
gui
::
IGUIStaticText
*
stMessage
;
...
...
@@ -376,61 +387,66 @@ extern Game* mainGame;
#define BUTTON_CREATE_HOST 113
#define BUTTON_HOST_CONFIRM 114
#define BUTTON_HOST_CANCEL 115
#define BUTTON_MSG_OK 150
#define BUTTON_YES 151
#define BUTTON_NO 152
#define BUTTON_POS_AU 160
#define BUTTON_POS_AD 161
#define BUTTON_POS_DU 162
#define BUTTON_POS_DD 163
#define BUTTON_OPTION_PREV 170
#define BUTTON_OPTION_NEXT 171
#define BUTTON_OPTION_OK 172
#define BUTTON_CARD_0 180
#define BUTTON_CARD_1 181
#define BUTTON_CARD_2 182
#define BUTTON_CARD_3 183
#define BUTTON_CARD_4 184
#define SCROLL_CARD_SELECT 185
#define BUTTON_CARD_SEL_OK 186
#define BUTTON_CMD_ACTIVATE 190
#define BUTTON_CMD_SUMMON 191
#define BUTTON_CMD_SPSUMMON 192
#define BUTTON_CMD_MSET 193
#define BUTTON_CMD_SSET 194
#define BUTTON_CMD_REPOS 195
#define BUTTON_CMD_ATTACK 196
#define BUTTON_CMD_SHOWLIST 197
#define BUTTON_ANNUMBER_OK 200
#define BUTTON_ANCARD_OK 201
#define EDITBOX_ANCARD 202
#define LISTBOX_ANCARD 203
#define CHECK_ATTRIBUTE 204
#define CHECK_RACE 205
#define BUTTON_BP 210
#define BUTTON_M2 211
#define BUTTON_EP 212
#define BUTTON_CLEAR_LOG 220
#define LISTBOX_LOG 221
#define BUTTON_CATEGORY_OK 250
#define COMBOBOX_DBLFLIST 251
#define COMBOBOX_DBDECKS 252
#define BUTTON_CLEAR_DECK 253
#define BUTTON_SAVE_DECK 254
#define BUTTON_SAVE_DECK_AS 255
#define BUTTON_DBEXIT 256
#define BUTTON_SORT_DECK 257
#define COMBOBOX_MAINTYPE 260
#define BUTTON_EFFECT_FILTER 261
#define BUTTON_START_FILTER 262
#define BUTTON_RESULT_FILTER 263
#define SCROLL_FILTER 264
#define SCROLL_KEYWORD 265
#define BUTTON_REPLAY_START 270
#define BUTTON_REPLAY_PAUSE 271
#define BUTTON_REPLAY_STEP 272
#define BUTTON_REPLAY_EXIT 273
#define BUTTON_REPLAY_SWAP 274
#define BUTTON_REPLAY_SAVE 280
#define BUTTON_REPLAY_CANCEL 281
#define BUTTON_HS_DUELIST 120
#define BUTTON_HS_OBSERVER 121
#define BUTTON_HS_READY 122
#define BUTTON_HS_START 123
#define BUTTON_HS_CANCEL 124
#define BUTTON_MSG_OK 200
#define BUTTON_YES 201
#define BUTTON_NO 202
#define BUTTON_POS_AU 210
#define BUTTON_POS_AD 211
#define BUTTON_POS_DU 212
#define BUTTON_POS_DD 213
#define BUTTON_OPTION_PREV 220
#define BUTTON_OPTION_NEXT 221
#define BUTTON_OPTION_OK 222
#define BUTTON_CARD_0 230
#define BUTTON_CARD_1 231
#define BUTTON_CARD_2 232
#define BUTTON_CARD_3 233
#define BUTTON_CARD_4 234
#define SCROLL_CARD_SELECT 235
#define BUTTON_CARD_SEL_OK 236
#define BUTTON_CMD_ACTIVATE 240
#define BUTTON_CMD_SUMMON 241
#define BUTTON_CMD_SPSUMMON 242
#define BUTTON_CMD_MSET 243
#define BUTTON_CMD_SSET 244
#define BUTTON_CMD_REPOS 245
#define BUTTON_CMD_ATTACK 246
#define BUTTON_CMD_SHOWLIST 247
#define BUTTON_ANNUMBER_OK 250
#define BUTTON_ANCARD_OK 251
#define EDITBOX_ANCARD 252
#define LISTBOX_ANCARD 253
#define CHECK_ATTRIBUTE 254
#define CHECK_RACE 255
#define BUTTON_BP 260
#define BUTTON_M2 261
#define BUTTON_EP 262
#define BUTTON_CLEAR_LOG 270
#define LISTBOX_LOG 271
#define BUTTON_CATEGORY_OK 300
#define COMBOBOX_DBLFLIST 301
#define COMBOBOX_DBDECKS 302
#define BUTTON_CLEAR_DECK 303
#define BUTTON_SAVE_DECK 304
#define BUTTON_SAVE_DECK_AS 305
#define BUTTON_DBEXIT 306
#define BUTTON_SORT_DECK 307
#define COMBOBOX_MAINTYPE 310
#define BUTTON_EFFECT_FILTER 311
#define BUTTON_START_FILTER 312
#define BUTTON_RESULT_FILTER 313
#define SCROLL_FILTER 314
#define SCROLL_KEYWORD 315
#define BUTTON_REPLAY_START 320
#define BUTTON_REPLAY_PAUSE 321
#define BUTTON_REPLAY_STEP 322
#define BUTTON_REPLAY_EXIT 323
#define BUTTON_REPLAY_SWAP 324
#define BUTTON_REPLAY_SAVE 330
#define BUTTON_REPLAY_CANCEL 331
#endif // GAME_H
gframe/menu_handler.cpp
View file @
1ed80e02
...
...
@@ -28,14 +28,29 @@ bool MenuHandler::OnEvent(const irr::SEvent& event) {
break
;
}
case
BUTTON_CREATE_HOST
:
{
mainGame
->
HideElement
(
mainGame
->
wLanWindow
,
false
,
mainGame
->
w
HostWindow
);
mainGame
->
HideElement
(
mainGame
->
wLanWindow
,
false
,
mainGame
->
w
CreateHost
);
break
;
}
case
BUTTON_HOST_CONFIRM
:
{
break
;
}
case
BUTTON_HOST_CANCEL
:
{
mainGame
->
HideElement
(
mainGame
->
wHostWindow
,
false
,
mainGame
->
wLanWindow
);
mainGame
->
HideElement
(
mainGame
->
wCreateHost
,
false
,
mainGame
->
wLanWindow
);
break
;
}
case
BUTTON_HS_DUELIST
:
{
break
;
}
case
BUTTON_HS_OBSERVER
:
{
break
;
}
case
BUTTON_HS_READY
:
{
break
;
}
case
BUTTON_HS_START
:
{
break
;
}
case
BUTTON_HS_CANCEL
:
{
break
;
}
case
BUTTON_DECK_EDIT
:
{
...
...
@@ -166,6 +181,9 @@ bool MenuHandler::OnEvent(const irr::SEvent& event) {
}
break
;
}
case
irr
:
:
EET_USER_EVENT
:
{
break
;
}
}
return
false
;
}
...
...
gframe/message.cpp
View file @
1ed80e02
...
...
@@ -211,19 +211,11 @@ int Game::EngineThread(void* pd) {
mainGame
->
lastReplay
.
BeginRecord
();
mainGame
->
lastReplay
.
WriteHeader
(
rh
);
mainGame
->
rnd
.
reset
(
seed
);
if
(
mainGame
->
netManager
.
hInfo
.
no_shuffle_player
||
mainGame
->
rnd
.
real
()
<
0.5
)
{
pdInfo
->
is_host_player
[
0
]
=
true
;
pdInfo
->
is_host_player
[
1
]
=
false
;
pdInfo
->
is_first_turn
=
true
;
mainGame
->
lastReplay
.
WriteData
(
pdInfo
->
hostname
,
40
,
false
);
mainGame
->
lastReplay
.
WriteData
(
pdInfo
->
clientname
,
40
,
false
);
}
else
{
pdInfo
->
is_host_player
[
0
]
=
false
;
pdInfo
->
is_host_player
[
1
]
=
true
;
pdInfo
->
is_first_turn
=
false
;
mainGame
->
lastReplay
.
WriteData
(
pdInfo
->
clientname
,
40
,
false
);
mainGame
->
lastReplay
.
WriteData
(
pdInfo
->
hostname
,
40
,
false
);
}
pdInfo
->
is_host_player
[
0
]
=
false
;
pdInfo
->
is_host_player
[
1
]
=
true
;
pdInfo
->
is_first_turn
=
false
;
mainGame
->
lastReplay
.
WriteData
(
pdInfo
->
clientname
,
40
,
false
);
mainGame
->
lastReplay
.
WriteData
(
pdInfo
->
hostname
,
40
,
false
);
if
(
!
mainGame
->
netManager
.
hInfo
.
no_shuffle_deck
)
{
for
(
int
i
=
0
;
i
<
mainGame
->
deckManager
.
deckhost
.
main
.
size
();
++
i
)
{
int
swap
=
mainGame
->
rnd
.
real
()
*
mainGame
->
deckManager
.
deckhost
.
main
.
size
();
...
...
@@ -251,10 +243,6 @@ int Game::EngineThread(void* pd) {
set_player_info
(
pdInfo
->
pDuel
,
0
,
hi
.
start_lp
,
hi
.
start_hand
,
hi
.
draw_count
);
set_player_info
(
pdInfo
->
pDuel
,
1
,
hi
.
start_lp
,
hi
.
start_hand
,
hi
.
draw_count
);
int
opt
=
0
;
if
(
mainGame
->
netManager
.
hInfo
.
no_chain_hint
)
opt
|=
DUEL_NO_CHAIN_HINT
;
if
(
mainGame
->
netManager
.
hInfo
.
attack_ft
)
opt
|=
DUEL_ATTACK_FIRST_TURN
;
mainGame
->
lastReplay
.
WriteInt32
(
hi
.
start_lp
,
false
);
mainGame
->
lastReplay
.
WriteInt32
(
hi
.
start_hand
,
false
);
mainGame
->
lastReplay
.
WriteInt32
(
hi
.
draw_count
,
false
);
...
...
@@ -3019,7 +3007,6 @@ int Game::ReplayThread(void* pd) {
mainGame
->
stInfo
->
setText
(
L""
);
mainGame
->
stDataInfo
->
setText
(
L""
);
mainGame
->
stText
->
setText
(
L""
);
mainGame
->
stModeStatus
->
setText
(
L""
);
mainGame
->
btnReplayStart
->
setVisible
(
false
);
mainGame
->
btnReplayPause
->
setVisible
(
true
);
mainGame
->
btnReplayStep
->
setVisible
(
false
);
...
...
gframe/network.cpp
View file @
1ed80e02
...
...
@@ -19,11 +19,6 @@ bool NetManager::CreateHost(int ipindex) {
hInfo
.
start_lp
=
_wtoi
(
mainGame
->
ebStartLP
->
getText
());
hInfo
.
start_hand
=
_wtoi
(
mainGame
->
ebStartHand
->
getText
());
hInfo
.
draw_count
=
_wtoi
(
mainGame
->
ebDrawCount
->
getText
());
hInfo
.
is_match
=
mainGame
->
cbMatchMode
->
getSelected
()
==
0
?
false
:
true
;
hInfo
.
lfindex
=
mainGame
->
cbLFlist
->
getSelected
();
for
(
wp
=
0
,
pstr
=
(
wchar_t
*
)
mainGame
->
cbLFlist
->
getItem
(
mainGame
->
cbLFlist
->
getSelected
());
wp
<
19
&&
pstr
[
wp
];
++
wp
)
hInfo
.
lflist
[
wp
]
=
pstr
[
wp
];
hInfo
.
lflist
[
wp
]
=
0
;
sBHost
=
socket
(
AF_INET
,
SOCK_DGRAM
,
IPPROTO_UDP
);
if
(
sBHost
==
INVALID_SOCKET
)
return
false
;
...
...
@@ -217,8 +212,7 @@ int NetManager::BroadcastClient(void* np) {
std
::
vector
<
HostInfo
>::
iterator
it
;
mainGame
->
gMutex
.
Lock
();
for
(
it
=
net
->
hosts
.
begin
();
it
!=
net
->
hosts
.
end
();
++
it
)
{
if
(
!
it
->
no_check_deck
&&
!
it
->
no_shuffle_deck
&&
!
it
->
no_shuffle_deck
&&
!
it
->
attack_ft
&&
!
it
->
no_chain_hint
&&
it
->
start_lp
==
8000
&&
it
->
start_hand
==
5
&&
it
->
draw_count
==
1
)
if
(
!
it
->
no_check_deck
&&
!
it
->
no_shuffle_deck
&&
it
->
start_lp
==
8000
&&
it
->
start_hand
==
5
&&
it
->
draw_count
==
1
)
mode
=
L"标准设定"
;
else
mode
=
L"自定义设定"
;
}
...
...
@@ -256,8 +250,7 @@ int NetManager::ListenThread(void* np) {
continue
;
}
int
mode
=
ReadInt16
(
pbuf
);
if
(
mode
==
1
&&
(
net
->
hInfo
.
no_chain_hint
||
net
->
hInfo
.
no_check_deck
||
net
->
hInfo
.
no_shuffle_deck
||
net
->
hInfo
.
no_shuffle_player
||
net
->
hInfo
.
attack_ft
||
net
->
hInfo
.
start_lp
!=
8000
||
net
->
hInfo
.
start_hand
!=
5
||
net
->
hInfo
.
draw_count
!=
1
))
{
if
(
mode
==
1
&&
(
net
->
hInfo
.
no_check_deck
||
net
->
hInfo
.
no_shuffle_deck
||
net
->
hInfo
.
start_lp
!=
8000
||
net
->
hInfo
.
start_hand
!=
5
||
net
->
hInfo
.
draw_count
!=
1
))
{
psbuf
=
net
->
send_buf
;
WriteInt8
(
psbuf
,
0x4
);
send
(
net
->
sRemote
,
net
->
send_buf
,
1
,
0
);
...
...
@@ -290,22 +283,13 @@ int NetManager::ListenThread(void* np) {
int
maincount
=
ReadInt16
(
pbuf
);
int
sidecount
=
ReadInt16
(
pbuf
);
mainGame
->
deckManager
.
LoadDeck
(
mainGame
->
deckManager
.
deckclient
,
(
int
*
)
pbuf
,
maincount
,
sidecount
);
if
(
!
net
->
hInfo
.
no_check_deck
&&
!
mainGame
->
deckManager
.
CheckLFList
(
mainGame
->
deckManager
.
deckclient
,
net
->
hInfo
.
lfindex
))
{
psbuf
=
net
->
send_buf
;
WriteInt8
(
psbuf
,
0x2
);
send
(
net
->
sRemote
,
net
->
send_buf
,
1
,
0
);
closesocket
(
net
->
sRemote
);
net
->
sRemote
=
accept
(
net
->
sListen
,
0
,
0
);
continue
;
}
psbuf
=
net
->
send_buf
;
WriteInt8
(
psbuf
,
0
);
const
wchar_t
*
ln
=
mainGame
->
ebUsername
->
getText
();
int
li
=
0
;
while
(
ln
[
li
]
&&
li
<
19
)
{
mainGame
->
dInfo
.
hostname
[
li
]
=
ln
[
li
];
WriteInt16
(
psbuf
,
ln
[
li
++
]);
}
//
while(ln[li] && li < 19) {
//
mainGame->dInfo.hostname[li] = ln[li];
//
WriteInt16(psbuf, ln[li++]);
//
}
mainGame
->
dInfo
.
hostname
[
li
]
=
0
;
WriteInt16
(
psbuf
,
0
);
send
(
net
->
sRemote
,
net
->
send_buf
,
3
+
li
*
2
,
0
);
...
...
@@ -317,7 +301,6 @@ int NetManager::ListenThread(void* np) {
mainGame
->
stInfo
->
setText
(
L""
);
mainGame
->
stDataInfo
->
setText
(
L""
);
mainGame
->
stText
->
setText
(
L""
);
mainGame
->
stModeStatus
->
setText
(
L""
);
mainGame
->
dInfo
.
engLen
=
0
;
mainGame
->
dInfo
.
msgLen
=
0
;
mainGame
->
dField
.
Clear
();
...
...
@@ -341,7 +324,7 @@ int NetManager::JoinThread(void* adr) {
if
(
connect
(
pnet
->
sRemote
,
(
sockaddr
*
)
&
server
,
sizeof
(
sockaddr
))
==
SOCKET_ERROR
)
{
closesocket
(
pnet
->
sRemote
);
if
(
!
mainGame
->
is_closing
)
{
mainGame
->
stModeStatus
->
setText
(
L"无法连接至主机"
);
//
mainGame->stModeStatus->setText(L"无法连接至主机");
}
return
0
;
}
...
...
@@ -354,7 +337,7 @@ int NetManager::JoinThread(void* adr) {
NetManager
::
WriteInt16
(
pbuf
,
pname
[
i
++
]);
NetManager
::
WriteInt16
(
pbuf
,
0
);
i
=
0
;
pname
=
mainGame
->
ebUsername
->
getText
();
//
pname = mainGame->ebUsername->getText();
while
(
pname
[
i
]
!=
0
&&
i
<
19
)
{
mainGame
->
dInfo
.
hostname
[
i
]
=
pname
[
i
];
NetManager
::
WriteInt16
(
pbuf
,
pname
[
i
++
]);
...
...
@@ -373,24 +356,7 @@ int NetManager::JoinThread(void* adr) {
int
result
=
recv
(
pnet
->
sRemote
,
pnet
->
recv_buf
,
4096
,
0
);
if
(
result
==
SOCKET_ERROR
||
pnet
->
recv_buf
[
0
]
!=
0
)
{
closesocket
(
pnet
->
sRemote
);
if
(
!
mainGame
->
is_closing
)
{
if
(
result
==
SOCKET_ERROR
)
mainGame
->
stModeStatus
->
setText
(
L"网络连接发生错误"
);
else
if
(
pnet
->
recv_buf
[
0
]
==
0x1
)
{
wchar_t
errorbuf
[
32
];
myswprintf
(
errorbuf
,
L"当前版本(0x%X)与主机版本(0x%X)不匹配"
,
PROTO_VERSION
,
(
int
)(
*
(
short
*
)
&
pnet
->
recv_buf
[
1
]));
mainGame
->
stModeStatus
->
setText
(
errorbuf
);
}
else
if
(
pnet
->
recv_buf
[
0
]
==
0x2
)
mainGame
->
stModeStatus
->
setText
(
L"无效卡组或者卡组不符合禁卡表规范"
);
else
if
(
pnet
->
recv_buf
[
0
]
==
0x3
)
mainGame
->
stModeStatus
->
setText
(
L"密码错误"
);
else
if
(
pnet
->
recv_buf
[
0
]
==
0x4
)
mainGame
->
stModeStatus
->
setText
(
L"主机非标准对战模式,拒绝连接"
);
else
mainGame
->
stModeStatus
->
setText
(
L"未知错误"
);
}
return
0
;
}
mainGame
->
stModeStatus
->
setText
(
L""
);
wchar_t
*
pn
=
(
wchar_t
*
)
&
pnet
->
recv_buf
[
1
];
int
pi
=
0
;
while
(
pn
[
pi
]
&&
pi
<
19
)
{
...
...
@@ -406,7 +372,7 @@ int NetManager::JoinThread(void* adr) {
mainGame
->
stInfo
->
setText
(
L""
);
mainGame
->
stDataInfo
->
setText
(
L""
);
mainGame
->
stText
->
setText
(
L""
);
mainGame
->
stModeStatus
->
setText
(
L""
);
//
mainGame->stModeStatus->setText(L"");
mainGame
->
dInfo
.
engLen
=
0
;
mainGame
->
dInfo
.
msgLen
=
0
;
mainGame
->
dInfo
.
is_local_host
=
false
;
...
...
gframe/network.h
View file @
1ed80e02
...
...
@@ -13,19 +13,15 @@ struct HostInfo {
unsigned
short
version
;
unsigned
int
address
;
unsigned
short
port
;
wchar_t
name
[
20
];
char
name
[
32
];
unsigned
char
rule
;
unsigned
char
mode
;
unsigned
int
lflist
;
bool
no_check_deck
;
bool
no_shuffle_deck
;
bool
no_shuffle_player
;
bool
attack_ft
;
bool
no_chain_hint
;
int
start_lp
;
unsigned
int
start_lp
;
unsigned
char
start_hand
;
unsigned
char
draw_count
;
wchar_t
lflist
[
20
];
bool
is_match
;
unsigned
char
lfindex
;
unsigned
char
time_limit
;
};
struct
HostRequest
{
...
...
strings.conf
View file @
1ed80e02
...
...
@@ -177,15 +177,16 @@
!
system
1158
查看列表
#menu
!
system
1200
局域网模式
!
system
1201
???
!
system
1201
N/A
!
system
1202
观看录像
!
system
1203
???
!
system
1203
N/A
!
system
1204
编辑卡组
!
system
1210
退出
!
system
1211
确定
!
system
1212
取消
!
system
1213
是
!
system
1214
否
!
system
1215
开始
!
system
1220
昵称:
!
system
1221
主机信息:
!
system
1222
主机密码:
...
...
@@ -207,6 +208,11 @@
!
system
1242
世界赛
!
system
1243
单局模式
!
system
1244
比赛模式
!
system
1245
决斗准备
!
system
1246
决斗者
!
system
1247
OB
!
system
1248
卡组选择
!
system
1249
准备完成
#vistory reason
!
victory
0
x1
LP
变成
0
!
victory
0
x2
没有卡可抽
...
...
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