18
18
#define SMALL_BUTTON_DC6 " data\\ global\\ ui\\ FrontEnd\\ MediumButtonBlank.dc6"
19
19
#define THIN_BUTTON_DC6 " data\\ global\\ ui\\ FrontEnd\\ NarrowButtonBlank.dc6"
20
20
21
+ /* * Tries to advance to the character select screen.
22
+ * If there's no save files present, it advances to the character creation screen instead.
23
+ */
24
+ void D2Client_AdvanceToCharSelect ()
25
+ {
26
+
27
+ }
28
+
21
29
namespace D2Panels
22
30
{
23
31
/*
@@ -59,6 +67,42 @@ namespace D2Panels
59
67
m_cinematicsButton->AttachText (engine->TBL_FindStringFromIndex (TBLTEXT_CINEMATICS));
60
68
m_exitButton->AttachText (engine->TBL_FindStringFromIndex (TBLTEXT_EXIT));
61
69
70
+ m_singleplayerButton->AddEventListener (Clicked, [] {
71
+ cl.szCurrentIPDestination [0 ] = ' \0 ' ; // set IP to blank
72
+ engine->NET_SetPlayerCount (1 );
73
+ cl.charSelectContext = CSC_SINGLEPLAYER;
74
+
75
+ int nNumFiles = 0 ;
76
+ char ** szFileList = engine->FS_ListFilesInDirectory (" Save" , " *.d2s" , &nNumFiles);
77
+
78
+ delete cl.pActiveMenu ;
79
+ if (nNumFiles <= 0 )
80
+ {
81
+ cl.pActiveMenu = new D2Menus::CharCreate ();
82
+ }
83
+ else
84
+ {
85
+ cl.pActiveMenu = new D2Menus::CharSelect (szFileList, nNumFiles);
86
+ engine->FS_FreeFileList (szFileList, nNumFiles);
87
+ }
88
+ });
89
+
90
+ m_multiplayerButton->AddEventListener (Clicked, [] {
91
+ delete cl.pActiveMenu ;
92
+ cl.pActiveMenu = new D2Menus::OtherMultiplayer ();
93
+ });
94
+
95
+ m_exitButton->AddEventListener (Clicked, [] {
96
+ cl.bKillGame = true ;
97
+ });
98
+
99
+ #ifdef _DEBUG
100
+ m_debugMapButton->AddEventListener (Clicked, [] {
101
+ delete cl.pActiveMenu ;
102
+ cl.pActiveMenu = new D2Menus::Debug ();
103
+ });
104
+ #endif
105
+
62
106
// Disable the battle.net button and the gateway button.
63
107
// Closed Battle.net is not allowed in OpenD2.
64
108
m_battleNetButton->Disable ();
@@ -86,25 +130,4 @@ namespace D2Panels
86
130
{
87
131
DrawAllWidgets ();
88
132
}
89
-
90
- /*
91
- * Tries to advance to the character select screen.
92
- * If there's no save files present, it advances to the character creation screen instead.
93
- */
94
- void D2Client_AdvanceToCharSelect ()
95
- {
96
- int nNumFiles = 0 ;
97
- char ** szFileList = engine->FS_ListFilesInDirectory (" Save" , " *.d2s" , &nNumFiles);
98
-
99
- delete cl.pActiveMenu ;
100
- if (nNumFiles <= 0 )
101
- {
102
- cl.pActiveMenu = new D2Menus::CharCreate ();
103
- }
104
- else
105
- {
106
- cl.pActiveMenu = new D2Menus::CharSelect (szFileList, nNumFiles);
107
- engine->FS_FreeFileList (szFileList, nNumFiles);
108
- }
109
- }
110
133
}
0 commit comments