Maybe this will make the player's name show properly?

This commit is contained in:
Charles Lohr
2004-09-02 23:53:26 +00:00
parent 29f9214af1
commit b3905ec2d7
4 changed files with 36 additions and 7 deletions
+5
View File
@@ -39,6 +39,7 @@ void NetworkSyncManager::SelectUserSong() { }
const ScreenMessage SM_AddToChat = ScreenMessage(SM_User+4);
const ScreenMessage SM_ChangeSong = ScreenMessage(SM_User+5);
const ScreenMessage SM_GotEval = ScreenMessage(SM_User+6);
NetworkSyncManager::NetworkSyncManager( LoadingWindow *ld )
@@ -394,6 +395,7 @@ void NetworkSyncManager::StartRequest(short position)
//This needs to be reset before ScreenEvaluation could possibly be called
for (int i=0; i< NETMAXPLAYERS; i++)
{
m_EvalPlayerData[i].name=0;
m_EvalPlayerData[i].grade=0;
m_EvalPlayerData[i].score=0;
m_EvalPlayerData[i].difficulty=(Difficulty)0;
@@ -515,6 +517,8 @@ void NetworkSyncManager::ProcessInput()
case 4:
{
int PlayersInPack = m_packet.Read1();
for (int i=0;i<PlayersInPack;i++)
m_EvalPlayerData[i].name = m_packet.Read1();
for (int i=0;i<PlayersInPack;i++)
m_EvalPlayerData[i].score = m_packet.Read4();
for (int i=0;i<PlayersInPack;i++)
@@ -524,6 +528,7 @@ void NetworkSyncManager::ProcessInput()
for (int j=0;j<NETNUMTAPSCORES;j++)
for (int i=0;i<PlayersInPack; i++)
m_EvalPlayerData[i].tapScores[j] = m_packet.Read2();
SCREENMAN->SendMessageToTopScreen( SM_GotEval );
}
break;
case 5: //Scoreboard Update
+1
View File
@@ -15,6 +15,7 @@ const int NETNUMTAPSCORES=8;
struct EndOfGame_PlayerData
{
int name;
int score;
int grade;
Difficulty difficulty;
+26 -7
View File
@@ -13,8 +13,11 @@ const int NUM_SCORE_DIGITS = 9;
#define MAX_COMBO_NUM_DIGITS THEME->GetMetricI("ScreenEvaluation","MaxComboNumDigits")
const ScreenMessage SM_GotEval = ScreenMessage(SM_User+6);
ScreenNetEvaluation::ScreenNetEvaluation (const CString & sClassName) : ScreenEvaluation( sClassName )
{
m_bHasStats = false;
m_pActivePlayer = PLAYER_1;
FOREACH_PlayerNumber (pn)
@@ -48,22 +51,15 @@ ScreenNetEvaluation::ScreenNetEvaluation (const CString & sClassName) : ScreenEv
for( int i=0; i<m_iActivePlayers; i++ )
{
if (NSMAN->m_PlayerNames[NSMAN->m_ActivePlayer[i]] == GAMESTATE->GetPlayerDisplayName(m_pActivePlayer) )
m_iCurrentPlayer = i;
m_textUsers[i].LoadFromFont( THEME->GetPathF(m_sName,"names") );
m_textUsers[i].SetName( "User" );
m_textUsers[i].SetShadowLength( 1 );
m_textUsers[i].SetXY( cx, cy );
m_textUsers[i].SetText( NSMAN->m_PlayerNames[NSMAN->m_ActivePlayer[i]] );
ON_COMMAND( m_textUsers[i] );
this->AddChild( &m_textUsers[i] );
cx+=USERDX;
cy+=USERDY;
}
COMMAND( m_textUsers[m_iCurrentPlayer], "Sel" );
}
void ScreenNetEvaluation::MenuLeft( PlayerNumber pn, const InputEventType type )
@@ -73,6 +69,8 @@ void ScreenNetEvaluation::MenuLeft( PlayerNumber pn, const InputEventType type )
void ScreenNetEvaluation::MenuUp( PlayerNumber pn, const InputEventType type )
{
if (!m_bHasStats)
return;
COMMAND( m_textUsers[m_iCurrentPlayer], "DeSel" );
m_iCurrentPlayer = (m_iCurrentPlayer + m_iActivePlayers - 1) % m_iActivePlayers;
COMMAND( m_textUsers[m_iCurrentPlayer], "Sel" );
@@ -86,12 +84,33 @@ void ScreenNetEvaluation::MenuRight( PlayerNumber pn, const InputEventType type
void ScreenNetEvaluation::MenuDown( PlayerNumber pn, const InputEventType type )
{
if (!m_bHasStats)
return;
COMMAND( m_textUsers[m_iCurrentPlayer], "DeSel" );
m_iCurrentPlayer = (m_iCurrentPlayer + 1) % m_iActivePlayers;
COMMAND( m_textUsers[m_iCurrentPlayer], "Sel" );
UpdateStats();
}
void ScreenNetEvaluation::HandleScreenMessage( const ScreenMessage SM )
{
switch( SM )
{
case SM_GotEval:
m_bHasStats = true;
for( int i=0; i<m_iActivePlayers; i++ )
{
if (NSMAN->m_PlayerNames[NSMAN->m_ActivePlayer[i]] == GAMESTATE->GetPlayerDisplayName(m_pActivePlayer) )
m_iCurrentPlayer = i;
m_textUsers[i].SetText( NSMAN->m_PlayerNames[NSMAN->m_EvalPlayerData[i].name] );
ON_COMMAND( m_textUsers[i] );
}
COMMAND( m_textUsers[m_iCurrentPlayer], "Sel" );
break;
}
}
void ScreenNetEvaluation::UpdateStats()
{
m_Grades[m_pActivePlayer].SetGrade( (PlayerNumber)m_pActivePlayer, (Grade)NSMAN->m_EvalPlayerData[m_iCurrentPlayer].grade );
+4
View File
@@ -4,6 +4,7 @@
#include "NetworkSyncManager.h"
#include "Quad.h"
#include "BitmapText.h"
#include "ScreenMessage.h"
class ScreenNetEvaluation: public ScreenEvaluation
{
@@ -14,6 +15,7 @@ protected:
virtual void MenuUp( PlayerNumber pn, const InputEventType type );
virtual void MenuRight( PlayerNumber pn, const InputEventType type );
virtual void MenuDown( PlayerNumber pn, const InputEventType type );
virtual void HandleScreenMessage( const ScreenMessage SM );
void UpdateStats( );
private:
@@ -24,4 +26,6 @@ private:
int m_iActivePlayers;
PlayerNumber m_pActivePlayer;
bool m_bHasStats;
};