Fixed linux compile error.

Modified for Macromedia Flash Support.
This commit is contained in:
Charles Lohr
2004-03-31 04:18:44 +00:00
parent 2ada267834
commit b31fd636ff
2 changed files with 98 additions and 36 deletions
+83 -26
View File
@@ -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");
+6 -1
View File
@@ -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;