I added life and Macromedia Flash XMLSocket Support.

This commit is contained in:
Charles Lohr
2004-03-30 05:50:36 +00:00
parent 72c26f501a
commit 4cd8d6b6f3
3 changed files with 33 additions and 1 deletions
+16
View File
@@ -26,11 +26,17 @@ NetworkSyncManager::NetworkSyncManager(int argc, char **argv)
useSMserver = true; useSMserver = true;
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->receive(m_ServerVersion); NetPlayerClient->receive(m_ServerVersion);
//If network play is desired //If network play is desired
//AND the connection works //AND the connection works
//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)
appendWithZero = true;
else
appendWithZero = false;
} else } else
useSMserver = false; useSMserver = false;
else else
@@ -77,9 +83,13 @@ void NetworkSyncManager::ReportScore(int playerID, int step, int score, int comb
SendNetPack.m_combo=combo; SendNetPack.m_combo=combo;
SendNetPack.m_score=score; //Load packet with aproperate info SendNetPack.m_score=score; //Load packet with aproperate info
SendNetPack.m_step=step-1; SendNetPack.m_step=step-1;
SendNetPack.m_life=m_playerLife[playerID];
//Send packet to server //Send packet to server
NetPlayerClient->send((char*)&SendNetPack, sizeof(netHolder)); NetPlayerClient->send((char*)&SendNetPack, sizeof(netHolder));
if (appendWithZero)
NetPlayerClient->send(0);
} }
void NetworkSyncManager::ReportSongOver() void NetworkSyncManager::ReportSongOver()
@@ -93,8 +103,13 @@ void NetworkSyncManager::ReportSongOver()
SendNetPack.m_combo=0; SendNetPack.m_combo=0;
SendNetPack.m_score=0; //Use PID 21 (Song over Packet) SendNetPack.m_score=0; //Use PID 21 (Song over Packet)
SendNetPack.m_step=0; SendNetPack.m_step=0;
SendNetPack.m_life=0;
NetPlayerClient->send((char*)&SendNetPack, sizeof(netHolder)); NetPlayerClient->send((char*)&SendNetPack, sizeof(netHolder));
if (appendWithZero)
NetPlayerClient->send(0);
return; return;
} }
@@ -113,6 +128,7 @@ void NetworkSyncManager::StartRequest()
SendNetPack.m_combo=0; SendNetPack.m_combo=0;
SendNetPack.m_score=0; //PID 20 (Song Start Request Packet) SendNetPack.m_score=0; //PID 20 (Song Start Request Packet)
SendNetPack.m_step=0; SendNetPack.m_step=0;
SendNetPack.m_life=0;
NetPlayerClient->send((char*)&SendNetPack, sizeof(netHolder)); NetPlayerClient->send((char*)&SendNetPack, sizeof(netHolder));
+12 -1
View File
@@ -13,6 +13,9 @@
----------------------------------------------------------------------------- -----------------------------------------------------------------------------
*/ */
#include "global.h"
#include "GameState.h"
class EzSockets; class EzSockets;
class NetworkSyncManager class NetworkSyncManager
@@ -27,12 +30,19 @@ public:
void StartRequest(); //Request a start. Block until granted. void StartRequest(); //Request a start. Block until granted.
bool Connect(const CString& addy, unsigned short port); // Connect to SM Server bool Connect(const CString& addy, unsigned short port); // Connect to SM Server
int m_playerLife[NUM_PLAYERS]; //Life
private: private:
int m_playerID; //these are currently unused, but need to stay int m_playerID; //these are currently unused, but need to stay
int m_step; int m_step;
int m_score; int m_score;
int m_combo; int m_combo;
bool useSMserver;
bool appendWithZero; //Append 4 0s at end of packet.
//For FLASH client.
bool useSMserver;
EzSockets *NetPlayerClient; EzSockets *NetPlayerClient;
int m_ServerVersion; //ServerVersion int m_ServerVersion; //ServerVersion
@@ -43,6 +53,7 @@ private:
int m_step; //SID (StepID, 0-6 for Miss to Marv, 7,8 for boo and ok) int m_step; //SID (StepID, 0-6 for Miss to Marv, 7,8 for boo and ok)
int m_score; //Player's Score int m_score; //Player's Score
int m_combo; //Player's Current Combo int m_combo; //Player's Current Combo
int m_life; //Player's Life
}; };
}; };
+5
View File
@@ -1403,6 +1403,11 @@ void ScreenGameplay::Update( float fDeltaTime )
float fPercentPositionSong = GAMESTATE->m_fMusicSeconds / fMusicLengthSeconds; float fPercentPositionSong = GAMESTATE->m_fMusicSeconds / fMusicLengthSeconds;
CLAMP( fPercentPositionSong, 0, 1 ); CLAMP( fPercentPositionSong, 0, 1 );
m_meterSongPosition.SetPercent( fPercentPositionSong ); m_meterSongPosition.SetPercent( fPercentPositionSong );
//NSMAN Update Life in NSMAN.
for (int i=0;i<NUM_PLAYERS;i++)
NSMAN->m_playerLife[i] = int(m_pLifeMeter[i]->GetLife()*10000);
} }
/* Set g_CurStageStats.bFailed for failed players. In, FAIL_ARCADE, send /* Set g_CurStageStats.bFailed for failed players. In, FAIL_ARCADE, send