Make the connect/disconnect a lot nicer.
This commit is contained in:
@@ -11,6 +11,7 @@ NetworkSyncManager::~NetworkSyncManager () { }
|
|||||||
void NetworkSyncManager::CloseConnection() { }
|
void NetworkSyncManager::CloseConnection() { }
|
||||||
void NetworkSyncManager::PostStartUp(const CString& ServerIP ) { }
|
void NetworkSyncManager::PostStartUp(const CString& ServerIP ) { }
|
||||||
bool NetworkSyncManager::Connect(const CString& addy, unsigned short port) { return false; }
|
bool NetworkSyncManager::Connect(const CString& addy, unsigned short port) { return false; }
|
||||||
|
CString NetworkSyncManager::GetServerName() { }
|
||||||
void NetworkSyncManager::ReportNSSOnOff(int i) { }
|
void NetworkSyncManager::ReportNSSOnOff(int i) { }
|
||||||
void NetworkSyncManager::ReportTiming(float offset, int PlayerNumber) { }
|
void NetworkSyncManager::ReportTiming(float offset, int PlayerNumber) { }
|
||||||
void NetworkSyncManager::ReportScore(int playerID, int step, int score, int combo) { }
|
void NetworkSyncManager::ReportScore(int playerID, int step, int score, int combo) { }
|
||||||
@@ -256,6 +257,11 @@ void NetworkSyncManager::ReportNSSOnOff(int i)
|
|||||||
NetPlayerClient->SendPack((char*)m_packet.Data, m_packet.Position);
|
NetPlayerClient->SendPack((char*)m_packet.Data, m_packet.Position);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CString NetworkSyncManager::GetServerName()
|
||||||
|
{
|
||||||
|
return m_ServerName;
|
||||||
|
}
|
||||||
|
|
||||||
void NetworkSyncManager::ReportTiming(float offset, int PlayerNumber)
|
void NetworkSyncManager::ReportTiming(float offset, int PlayerNumber)
|
||||||
{
|
{
|
||||||
m_lastOffset[PlayerNumber] = offset;
|
m_lastOffset[PlayerNumber] = offset;
|
||||||
|
|||||||
@@ -91,6 +91,7 @@ public:
|
|||||||
void ReportStyle(); //Report to server the style, players, and names
|
void ReportStyle(); //Report to server the style, players, and names
|
||||||
void ReportNSSOnOff(int i); //Report song selection screen on/off
|
void ReportNSSOnOff(int i); //Report song selection screen on/off
|
||||||
void StartRequest(short position); //Request a start. Block until granted.
|
void StartRequest(short position); //Request a start. Block until granted.
|
||||||
|
CString GetServerName();
|
||||||
|
|
||||||
//SMOnline stuff
|
//SMOnline stuff
|
||||||
void SendSMOnline( PacketFunctions &PackData );
|
void SendSMOnline( PacketFunctions &PackData );
|
||||||
|
|||||||
@@ -318,7 +318,6 @@ void PrefsManager::Init()
|
|||||||
m_sMemoryCardProfileSubdir = PRODUCT_NAME;
|
m_sMemoryCardProfileSubdir = PRODUCT_NAME;
|
||||||
m_iProductID = 1;
|
m_iProductID = 1;
|
||||||
|
|
||||||
|
|
||||||
FOREACH_CONST( IPreference*, *g_pvpSubscribers, p ) (*p)->LoadDefault();
|
FOREACH_CONST( IPreference*, *g_pvpSubscribers, p ) (*p)->LoadDefault();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -584,6 +583,10 @@ void PrefsManager::ReadPrefsFromFile( CString sIni )
|
|||||||
ini.GetValue( "Debug", "LogCheckpoints", m_bLogCheckpoints );
|
ini.GetValue( "Debug", "LogCheckpoints", m_bLogCheckpoints );
|
||||||
ini.GetValue( "Debug", "ShowLoadingWindow", m_bShowLoadingWindow );
|
ini.GetValue( "Debug", "ShowLoadingWindow", m_bShowLoadingWindow );
|
||||||
|
|
||||||
|
#if defined (WITHOUT_NETWORKING)
|
||||||
|
#else
|
||||||
|
ini.GetValue( "Options", "LastConnectedServer", m_sLastServer );
|
||||||
|
#endif
|
||||||
|
|
||||||
FOREACH( IPreference*, *g_pvpSubscribers, p ) (*p)->ReadFrom( ini );
|
FOREACH( IPreference*, *g_pvpSubscribers, p ) (*p)->ReadFrom( ini );
|
||||||
}
|
}
|
||||||
@@ -830,6 +833,11 @@ void PrefsManager::SaveGlobalPrefsToDisk() const
|
|||||||
ini.SetValue( "Debug", "LogCheckpoints", m_bLogCheckpoints );
|
ini.SetValue( "Debug", "LogCheckpoints", m_bLogCheckpoints );
|
||||||
ini.SetValue( "Debug", "ShowLoadingWindow", m_bShowLoadingWindow );
|
ini.SetValue( "Debug", "ShowLoadingWindow", m_bShowLoadingWindow );
|
||||||
|
|
||||||
|
#if defined (WITHOUT_NETWORKING)
|
||||||
|
#else
|
||||||
|
ini.SetValue( "Options", "LastConnectedServer", m_sLastServer );
|
||||||
|
#endif
|
||||||
|
|
||||||
FOREACH_CONST( IPreference*, *g_pvpSubscribers, p ) (*p)->WriteTo( ini );
|
FOREACH_CONST( IPreference*, *g_pvpSubscribers, p ) (*p)->WriteTo( ini );
|
||||||
|
|
||||||
ini.WriteFile( STEPMANIA_INI_PATH );
|
ini.WriteFile( STEPMANIA_INI_PATH );
|
||||||
|
|||||||
@@ -283,6 +283,13 @@ public:
|
|||||||
|
|
||||||
void ResetToFactoryDefaults();
|
void ResetToFactoryDefaults();
|
||||||
|
|
||||||
|
#if defined (WITHOUT_NETWORKING)
|
||||||
|
#else
|
||||||
|
/* Network Info */
|
||||||
|
CString m_sLastServer;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// For self-registering prefs
|
// For self-registering prefs
|
||||||
//
|
//
|
||||||
|
|||||||
@@ -12,18 +12,12 @@
|
|||||||
#include "ScreenPrompt.h"
|
#include "ScreenPrompt.h"
|
||||||
#include "NetworkSyncServer.h"
|
#include "NetworkSyncServer.h"
|
||||||
|
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
PO_CONNECTION,
|
PO_CONNECTION,
|
||||||
PO_SERVER,
|
PO_SERVER,
|
||||||
NUM_NETWORK_OPTIONS_LINES
|
NUM_NETWORK_OPTIONS_LINES
|
||||||
};
|
};
|
||||||
|
|
||||||
enum {
|
|
||||||
NO_DISCONNECT=0,
|
|
||||||
NO_CONNECT
|
|
||||||
};
|
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
NO_STOP_SERVER=0,
|
NO_STOP_SERVER=0,
|
||||||
NO_START_SERVER
|
NO_START_SERVER
|
||||||
@@ -41,15 +35,18 @@ ScreenNetworkOptions::ScreenNetworkOptions( CString sClassName ) : ScreenOptions
|
|||||||
{
|
{
|
||||||
LOG->Trace( "ScreenNetworkOptions::ScreenNetworkOptions()" );
|
LOG->Trace( "ScreenNetworkOptions::ScreenNetworkOptions()" );
|
||||||
|
|
||||||
|
m_sClassName = sClassName;
|
||||||
|
|
||||||
g_NetworkOptionsLines[PO_CONNECTION].choices.clear();
|
g_NetworkOptionsLines[PO_CONNECTION].choices.clear();
|
||||||
g_NetworkOptionsLines[PO_CONNECTION].choices.push_back("Disconnect");
|
if ( NSMAN->useSMserver )
|
||||||
g_NetworkOptionsLines[PO_CONNECTION].choices.push_back("Connect...");
|
g_NetworkOptionsLines[PO_CONNECTION].choices.push_back("Disconnect from "+NSMAN->GetServerName());
|
||||||
|
else
|
||||||
|
g_NetworkOptionsLines[PO_CONNECTION].choices.push_back("Connect...");
|
||||||
|
|
||||||
g_NetworkOptionsLines[PO_SERVER].choices.clear();
|
g_NetworkOptionsLines[PO_SERVER].choices.clear();
|
||||||
g_NetworkOptionsLines[PO_SERVER].choices.push_back("Stop");
|
g_NetworkOptionsLines[PO_SERVER].choices.push_back("Stop");
|
||||||
g_NetworkOptionsLines[PO_SERVER].choices.push_back("Start...");
|
g_NetworkOptionsLines[PO_SERVER].choices.push_back("Start...");
|
||||||
|
|
||||||
|
|
||||||
Init(
|
Init(
|
||||||
INPUTMODE_SHARE_CURSOR,
|
INPUTMODE_SHARE_CURSOR,
|
||||||
g_NetworkOptionsLines,
|
g_NetworkOptionsLines,
|
||||||
@@ -79,6 +76,11 @@ void ScreenNetworkOptions::HandleScreenMessage( const ScreenMessage SM )
|
|||||||
CString sNewName = ScreenTextEntry::s_sLastAnswer;
|
CString sNewName = ScreenTextEntry::s_sLastAnswer;
|
||||||
NSMAN->PostStartUp(sNewName);
|
NSMAN->PostStartUp(sNewName);
|
||||||
NSMAN->DisplayStartupStatus();
|
NSMAN->DisplayStartupStatus();
|
||||||
|
UpdateConnectStatus( );
|
||||||
|
#if defined( WITHOUT_NETWORKING )
|
||||||
|
#else
|
||||||
|
PREFSMAN->m_sLastServer = ScreenTextEntry::s_sLastAnswer;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case SM_ServerNameEnter:
|
case SM_ServerNameEnter:
|
||||||
@@ -103,18 +105,17 @@ void ScreenNetworkOptions::HandleScreenMessage( const ScreenMessage SM )
|
|||||||
|
|
||||||
void ScreenNetworkOptions::MenuStart( PlayerNumber pn, const InputEventType type )
|
void ScreenNetworkOptions::MenuStart( PlayerNumber pn, const InputEventType type )
|
||||||
{
|
{
|
||||||
|
#if defined( WITHOUT_NETWORKING )
|
||||||
|
#else
|
||||||
switch( GetCurrentRow() )
|
switch( GetCurrentRow() )
|
||||||
{
|
{
|
||||||
case PO_CONNECTION:
|
case PO_CONNECTION:
|
||||||
switch (m_Rows[GetCurrentRow()]->GetOneSharedSelection())
|
if ( !NSMAN->useSMserver )
|
||||||
{
|
SCREENMAN->TextEntry( SM_DoneConnecting, "Enter a Network Address\n127.0.0.1 to connect to yourself", PREFSMAN->m_sLastServer );
|
||||||
case NO_CONNECT:
|
else {
|
||||||
SCREENMAN->TextEntry( SM_DoneConnecting, "Enter a Network Address\n127.0.0.1 to connect to yourself", "", NULL );
|
|
||||||
break;
|
|
||||||
case NO_DISCONNECT:
|
|
||||||
NSMAN->CloseConnection();
|
NSMAN->CloseConnection();
|
||||||
SCREENMAN->SystemMessage("Disconnected from server.");
|
SCREENMAN->SystemMessage("Disconnected from server.");
|
||||||
break;
|
UpdateConnectStatus( );
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case PO_SERVER:
|
case PO_SERVER:
|
||||||
@@ -135,17 +136,16 @@ void ScreenNetworkOptions::MenuStart( PlayerNumber pn, const InputEventType type
|
|||||||
default:
|
default:
|
||||||
ScreenOptions::MenuStart( pn, type );
|
ScreenOptions::MenuStart( pn, type );
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void ScreenNetworkOptions::ImportOptions()
|
void ScreenNetworkOptions::ImportOptions() { }
|
||||||
|
void ScreenNetworkOptions::ExportOptions() { }
|
||||||
|
|
||||||
|
void ScreenNetworkOptions::UpdateConnectStatus( )
|
||||||
{
|
{
|
||||||
|
SCREENMAN->SetNewScreen( m_sClassName );
|
||||||
}
|
}
|
||||||
void ScreenNetworkOptions::ExportOptions()
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -18,6 +18,10 @@ private:
|
|||||||
|
|
||||||
void GoToNextState();
|
void GoToNextState();
|
||||||
void GoToPrevState();
|
void GoToPrevState();
|
||||||
|
|
||||||
|
void UpdateConnectStatus();
|
||||||
|
|
||||||
|
CString m_sClassName;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Reference in New Issue
Block a user