I have added some command-line processing. Look at the bottom of
StepMania.cpp for it. I have also moved the connect stuff out of the NetworkSyncManager constructor, so it doens't do ANYTHING unless it's in the command-line args. Also, now NSMAN works by the '--NETIP=' flag.
This commit is contained in:
@@ -21,46 +21,42 @@
|
||||
#include "RageUtil.h"
|
||||
//String compare functions for command line args
|
||||
|
||||
NetworkSyncManager::NetworkSyncManager(int argc, char **argv)
|
||||
NetworkSyncManager::NetworkSyncManager()
|
||||
{
|
||||
NetPlayerClient = new EzSockets;
|
||||
m_ServerVersion = 0;
|
||||
|
||||
useSMserver = false;
|
||||
|
||||
if (argc > 1) {
|
||||
LOG->Trace("Multiple arguements were entered.");
|
||||
int argCtr = 1;
|
||||
|
||||
while (argCtr<argc) {
|
||||
CString tempargv(argv[argCtr]);
|
||||
CString Checking(tempargv.substr(0,8));
|
||||
Checking.MakeUpper();
|
||||
if (strcmp(Checking.c_str(),"--NETIP:")==0)
|
||||
{
|
||||
CString IPAddy (tempargv.substr(8,tempargv.GetLength()-8));
|
||||
|
||||
LOG->Trace ("NetIP Found:%s",IPAddy.c_str());
|
||||
|
||||
}
|
||||
|
||||
NetworkSyncManager::~NetworkSyncManager ()
|
||||
{
|
||||
//Close Connection to server nicely.
|
||||
if (useSMserver)
|
||||
NetPlayerClient->close();
|
||||
delete NetPlayerClient;
|
||||
}
|
||||
|
||||
void NetworkSyncManager::StartUp (CString ServerIP)
|
||||
{
|
||||
LOG->Trace ("Network Sync IP:%s",ServerIP.c_str());
|
||||
|
||||
if (!IPAddy.CompareNoCase("LISTEN"))
|
||||
if (Listen(8765)) {
|
||||
useSMserver = true;
|
||||
} else
|
||||
useSMserver = false;
|
||||
else
|
||||
if (Connect(IPAddy.c_str(),8765) == true)
|
||||
{
|
||||
useSMserver = true;
|
||||
} else
|
||||
useSMserver = false;
|
||||
|
||||
break;//Once connected, break outta loop.
|
||||
}
|
||||
argCtr++;
|
||||
}
|
||||
}
|
||||
else
|
||||
useSMserver = false;
|
||||
|
||||
|
||||
if (!ServerIP.CompareNoCase("LISTEN"))
|
||||
if (Listen(8765)) {
|
||||
useSMserver = true;
|
||||
} else
|
||||
useSMserver = false;
|
||||
else
|
||||
if (Connect(ServerIP.c_str(),8765) == true)
|
||||
{
|
||||
useSMserver = true;
|
||||
} else
|
||||
useSMserver = false;
|
||||
|
||||
|
||||
if (useSMserver) {
|
||||
int ClientCommand=3;
|
||||
@@ -90,17 +86,10 @@ NetworkSyncManager::NetworkSyncManager(int argc, char **argv)
|
||||
NetPlayerClient->send((char*) &PlayerName,20);
|
||||
}
|
||||
LOG->Info("Server Version: %d",m_ServerVersion);
|
||||
}
|
||||
|
||||
} else
|
||||
LOG->Info("Network Sync Manager failed to connect");
|
||||
}
|
||||
|
||||
NetworkSyncManager::~NetworkSyncManager ()
|
||||
{
|
||||
//Close Connection to server nicely.
|
||||
if (useSMserver)
|
||||
NetPlayerClient->close();
|
||||
delete NetPlayerClient;
|
||||
}
|
||||
|
||||
bool NetworkSyncManager::Connect(const CString& addy, unsigned short port)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user