Fixed linux compile error.
Modified for Macromedia Flash Support.
This commit is contained in:
@@ -10,8 +10,26 @@
|
|||||||
Joshua Allen
|
Joshua Allen
|
||||||
-----------------------------------------------------------------------------
|
-----------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
-----------------------
|
||||||
|
NOTE TO DEVS:
|
||||||
|
|
||||||
|
This file is still under heavy editing.
|
||||||
|
Don't bother to edit it. I will be editing it as I go.
|
||||||
|
-----------------------
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include "global.h"
|
#include "global.h"
|
||||||
|
#include <string.h>
|
||||||
#include "NetworkSyncManager.h"
|
#include "NetworkSyncManager.h"
|
||||||
|
|
||||||
|
#include "BPMDisplay.h"
|
||||||
|
//for ssprintf
|
||||||
#include "ezsockets.h"
|
#include "ezsockets.h"
|
||||||
#include "RageLog.h"
|
#include "RageLog.h"
|
||||||
|
|
||||||
@@ -28,25 +46,20 @@ NetworkSyncManager::NetworkSyncManager(int argc, char **argv)
|
|||||||
if (!tempargv.CompareNoCase("LISTEN"))
|
if (!tempargv.CompareNoCase("LISTEN"))
|
||||||
if (Listen(8765)) {
|
if (Listen(8765)) {
|
||||||
useSMserver = true;
|
useSMserver = true;
|
||||||
int ClientCommand=3;
|
|
||||||
NetPlayerClient->send((char*) &ClientCommand, 4);
|
|
||||||
NetPlayerClient->send(0);//Send 0 for flash client
|
|
||||||
|
|
||||||
NetPlayerClient->receive(m_ServerVersion);
|
|
||||||
//If network play is desired
|
|
||||||
//AND the connection works
|
|
||||||
//Halt until we know what server
|
|
||||||
//version we're dealing with
|
|
||||||
if (((m_ServerVersion / 512) % 2) == 1)
|
|
||||||
appendWithZero = true;
|
|
||||||
else
|
|
||||||
appendWithZero = false;
|
|
||||||
} else
|
} else
|
||||||
useSMserver = false;
|
useSMserver = false;
|
||||||
else
|
else
|
||||||
if (Connect(argv[1],8765) == true)
|
if (Connect(argv[1],8765) == true)
|
||||||
{
|
{
|
||||||
useSMserver = true;
|
useSMserver = true;
|
||||||
|
} else
|
||||||
|
useSMserver = false;
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
useSMserver = false;
|
||||||
|
|
||||||
|
if (useSMserver) {
|
||||||
int ClientCommand=3;
|
int ClientCommand=3;
|
||||||
NetPlayerClient->send((char*) &ClientCommand, 4);
|
NetPlayerClient->send((char*) &ClientCommand, 4);
|
||||||
NetPlayerClient->send(0);//Send 0 for flash client
|
NetPlayerClient->send(0);//Send 0 for flash client
|
||||||
@@ -57,15 +70,13 @@ NetworkSyncManager::NetworkSyncManager(int argc, char **argv)
|
|||||||
//Halt until we know what server
|
//Halt until we know what server
|
||||||
//version we're dealing with
|
//version we're dealing with
|
||||||
if (((m_ServerVersion / 512) % 2) == 1)
|
if (((m_ServerVersion / 512) % 2) == 1)
|
||||||
appendWithZero = true;
|
FlashXMLStyle = true;
|
||||||
else
|
else
|
||||||
appendWithZero = false;
|
FlashXMLStyle = false;
|
||||||
} else
|
|
||||||
useSMserver = false;
|
|
||||||
|
|
||||||
|
LOG->Info("Server Version: %d",m_ServerVersion);
|
||||||
}
|
}
|
||||||
else
|
|
||||||
useSMserver = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
NetworkSyncManager::~NetworkSyncManager ()
|
NetworkSyncManager::~NetworkSyncManager ()
|
||||||
@@ -126,7 +137,7 @@ bool NetworkSyncManager::Listen(unsigned short port)
|
|||||||
EZListener->close(); //Kill Listener
|
EZListener->close(); //Kill Listener
|
||||||
delete EZListener;
|
delete EZListener;
|
||||||
|
|
||||||
LOG->Info("Accept Responce:",useSMserver);
|
//LOG->Info("Accept Responce: ",useSMserver);
|
||||||
useSMserver=true;
|
useSMserver=true;
|
||||||
return useSMserver;
|
return useSMserver;
|
||||||
}
|
}
|
||||||
@@ -147,12 +158,43 @@ void NetworkSyncManager::ReportScore(int playerID, int step, int score, int comb
|
|||||||
SendNetPack.m_life=m_playerLife[playerID];
|
SendNetPack.m_life=m_playerLife[playerID];
|
||||||
|
|
||||||
//Send packet to server
|
//Send packet to server
|
||||||
|
if (FlashXMLStyle)
|
||||||
|
{
|
||||||
|
netHolderFlash FlashSendPack;
|
||||||
|
FlashSendPack.data[72]='\0';
|
||||||
|
int i=0;
|
||||||
|
for (i=0;i<72;i++)
|
||||||
|
FlashSendPack.data[i] = ' ';
|
||||||
|
CString TID;
|
||||||
|
FlashSendPack.data[0]='D';
|
||||||
|
TID = ssprintf("%d",playerID);
|
||||||
|
for (i=0;i<TID.GetLength();i++)
|
||||||
|
FlashSendPack.data[i+1] = (TID.c_str())[i];
|
||||||
|
|
||||||
|
TID = ssprintf("%d",combo);
|
||||||
|
for (i=0;i<TID.GetLength();i++)
|
||||||
|
FlashSendPack.data[i+17] = (TID.c_str())[i];
|
||||||
|
|
||||||
|
TID = ssprintf("%d",score);
|
||||||
|
for (i=0;i<TID.GetLength();i++)
|
||||||
|
FlashSendPack.data[i+33] = (TID.c_str())[i];
|
||||||
|
|
||||||
|
TID = ssprintf("%d",step-1);
|
||||||
|
for (i=0;i<TID.GetLength();i++)
|
||||||
|
FlashSendPack.data[i+65] = (TID.c_str())[i];
|
||||||
|
|
||||||
|
TID = ssprintf("%d",m_playerLife[playerID]);
|
||||||
|
for (i=0;i<TID.GetLength();i++)
|
||||||
|
FlashSendPack.data[i+81] = (TID.c_str())[i];
|
||||||
|
|
||||||
|
NetPlayerClient->send((char*)&FlashSendPack,sizeof(netHolderFlash));
|
||||||
|
|
||||||
|
} else
|
||||||
NetPlayerClient->send((char*)&SendNetPack, sizeof(netHolder));
|
NetPlayerClient->send((char*)&SendNetPack, sizeof(netHolder));
|
||||||
|
|
||||||
if (appendWithZero)
|
|
||||||
NetPlayerClient->send(0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void NetworkSyncManager::ReportSongOver()
|
void NetworkSyncManager::ReportSongOver()
|
||||||
{
|
{
|
||||||
if (!useSMserver) //Make sure that we are using the network
|
if (!useSMserver) //Make sure that we are using the network
|
||||||
@@ -166,11 +208,17 @@ void NetworkSyncManager::ReportSongOver()
|
|||||||
SendNetPack.m_step=0;
|
SendNetPack.m_step=0;
|
||||||
SendNetPack.m_life=0;
|
SendNetPack.m_life=0;
|
||||||
|
|
||||||
|
|
||||||
|
if (FlashXMLStyle)
|
||||||
|
{
|
||||||
|
netHolderFlash FlashSendPack;
|
||||||
|
FlashSendPack.data[72]='\0';
|
||||||
|
for ( int i=0;i<72;i++)
|
||||||
|
FlashSendPack.data[i] = ' ';
|
||||||
|
FlashSendPack.data[0] = 'E';
|
||||||
|
NetPlayerClient->send((char*)&FlashSendPack,sizeof(netHolderFlash));
|
||||||
|
} else
|
||||||
NetPlayerClient->send((char*)&SendNetPack, sizeof(netHolder));
|
NetPlayerClient->send((char*)&SendNetPack, sizeof(netHolder));
|
||||||
|
|
||||||
if (appendWithZero)
|
|
||||||
NetPlayerClient->send(0);
|
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -191,6 +239,15 @@ void NetworkSyncManager::StartRequest()
|
|||||||
SendNetPack.m_step=0;
|
SendNetPack.m_step=0;
|
||||||
SendNetPack.m_life=0;
|
SendNetPack.m_life=0;
|
||||||
|
|
||||||
|
if (FlashXMLStyle)
|
||||||
|
{
|
||||||
|
netHolderFlash FlashSendPack;
|
||||||
|
FlashSendPack.data[72]='\0';
|
||||||
|
for (int i=0;i<72;i++)
|
||||||
|
FlashSendPack.data[i] = ' ';
|
||||||
|
FlashSendPack.data[0] = 'S';
|
||||||
|
NetPlayerClient->send((char*)&FlashSendPack,sizeof(netHolderFlash));
|
||||||
|
} else
|
||||||
NetPlayerClient->send((char*)&SendNetPack, sizeof(netHolder));
|
NetPlayerClient->send((char*)&SendNetPack, sizeof(netHolder));
|
||||||
|
|
||||||
LOG->Info("Waiting for RECV");
|
LOG->Info("Waiting for RECV");
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ private:
|
|||||||
int m_score;
|
int m_score;
|
||||||
int m_combo;
|
int m_combo;
|
||||||
|
|
||||||
bool appendWithZero; //Append 4 0s at end of packet.
|
bool FlashXMLStyle; //Append 4 0s at end of packet.
|
||||||
//For FLASH client.
|
//For FLASH client.
|
||||||
|
|
||||||
bool useSMserver;
|
bool useSMserver;
|
||||||
@@ -58,6 +58,11 @@ private:
|
|||||||
int m_life; //Player's Life
|
int m_life; //Player's Life
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct netHolderFlash
|
||||||
|
{
|
||||||
|
char data[73];
|
||||||
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
extern NetworkSyncManager *NSMAN;
|
extern NetworkSyncManager *NSMAN;
|
||||||
|
|||||||
Reference in New Issue
Block a user