Added server options to ScreenNetworkOptions
This commit is contained in:
@@ -42,6 +42,7 @@ const ScreenMessage SM_ChangeSong = ScreenMessage(SM_User+5);
|
||||
|
||||
NetworkSyncManager::NetworkSyncManager( LoadingWindow *ld )
|
||||
{
|
||||
LANserver = NULL; //So we know if it has been created yet
|
||||
if( GetCommandlineArgument( "runserver" )) {
|
||||
ld->SetText("Initilizing server...");
|
||||
LANserver = new StepManiaLanServer;
|
||||
|
||||
@@ -84,6 +84,8 @@ public:
|
||||
int m_iSelectMode;
|
||||
void SelectUserSong();
|
||||
|
||||
bool isLanServer; //Must be public for ScreenNetworkOptions
|
||||
StepManiaLanServer *LANserver;
|
||||
private:
|
||||
#if !defined(WITHOUT_NETWORKING)
|
||||
|
||||
@@ -112,10 +114,6 @@ private:
|
||||
bool Listen(unsigned short port);
|
||||
|
||||
PacketFunctions m_packet;
|
||||
|
||||
bool isLanServer;
|
||||
StepManiaLanServer *LANserver;
|
||||
|
||||
#endif
|
||||
};
|
||||
|
||||
|
||||
@@ -8,10 +8,12 @@
|
||||
#include "ScreenManager.h"
|
||||
#include "ScreenTextEntry.h"
|
||||
#include "ScreenPrompt.h"
|
||||
#include "NetworkSyncServer.h"
|
||||
|
||||
|
||||
enum {
|
||||
PO_CONNECTION,
|
||||
PO_SERVER,
|
||||
NUM_NETWORK_OPTIONS_LINES
|
||||
};
|
||||
|
||||
@@ -20,11 +22,18 @@ enum {
|
||||
NO_CONNECT
|
||||
};
|
||||
|
||||
enum {
|
||||
NO_STOP_SERVER=0,
|
||||
NO_START_SERVER
|
||||
};
|
||||
|
||||
OptionRowData g_NetworkOptionsLines[NUM_NETWORK_OPTIONS_LINES] = {
|
||||
OptionRowData( "Connection", true, "PRESS START" ),
|
||||
OptionRowData( "Server", true, "PRESS START" )
|
||||
};
|
||||
|
||||
const ScreenMessage SM_DoneConnecting = ScreenMessage(SM_User+1);
|
||||
const ScreenMessage SM_ServerNameEnter = ScreenMessage(SM_User+2);
|
||||
|
||||
ScreenNetworkOptions::ScreenNetworkOptions( CString sClassName ) : ScreenOptions( sClassName )
|
||||
{
|
||||
@@ -34,6 +43,11 @@ ScreenNetworkOptions::ScreenNetworkOptions( CString sClassName ) : ScreenOptions
|
||||
g_NetworkOptionsLines[PO_CONNECTION].choices.push_back("Disconnect");
|
||||
g_NetworkOptionsLines[PO_CONNECTION].choices.push_back("Connect...");
|
||||
|
||||
g_NetworkOptionsLines[PO_SERVER].choices.clear();
|
||||
g_NetworkOptionsLines[PO_SERVER].choices.push_back("Stop");
|
||||
g_NetworkOptionsLines[PO_SERVER].choices.push_back("Start...");
|
||||
|
||||
|
||||
Init(
|
||||
INPUTMODE_SHARE_CURSOR,
|
||||
g_NetworkOptionsLines,
|
||||
@@ -65,6 +79,20 @@ void ScreenNetworkOptions::HandleScreenMessage( const ScreenMessage SM )
|
||||
NSMAN->DisplayStartupStatus();
|
||||
}
|
||||
break;
|
||||
case SM_ServerNameEnter:
|
||||
if( !ScreenTextEntry::s_bCancelledLast )
|
||||
{
|
||||
if ( NSMAN->LANserver == NULL)
|
||||
NSMAN->LANserver = new StepManiaLanServer;
|
||||
NSMAN->LANserver->servername = ScreenTextEntry::s_sLastAnswer;
|
||||
if (NSMAN->LANserver->ServerStart())
|
||||
{
|
||||
NSMAN->isLanServer = true;
|
||||
SCREENMAN->SystemMessage( "Server Started." );
|
||||
}
|
||||
else
|
||||
SCREENMAN->SystemMessage( "Server FAILED to start." );
|
||||
}
|
||||
}
|
||||
|
||||
ScreenOptions::HandleScreenMessage( SM );
|
||||
@@ -87,6 +115,18 @@ void ScreenNetworkOptions::MenuStart( PlayerNumber pn, const InputEventType type
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case PO_SERVER:
|
||||
switch (m_Rows[GetCurrentRow()]->GetOneSharedSelection())
|
||||
{
|
||||
case NO_START_SERVER:
|
||||
SCREENMAN->TextEntry( SM_ServerNameEnter, "Enter a server name...", "", NULL );
|
||||
break;
|
||||
case NO_STOP_SERVER:
|
||||
if ( NSMAN->LANserver != NULL )
|
||||
NSMAN->LANserver->ServerStop();
|
||||
break;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
ScreenOptions::MenuStart( pn, type );
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user