Fixed "Fix" and undid that SM_NET message thing, as per glenn's request.

This commit is contained in:
Charles Lohr
2004-08-18 05:16:45 +00:00
parent 941a77964b
commit 6c34abf843
2 changed files with 31 additions and 22 deletions
-2
View File
@@ -33,7 +33,6 @@ bool NetworkSyncManager::ChangedScoreboard(int Column) { return false; }
#include "ScreenMessage.h" #include "ScreenMessage.h"
#include "arch/LoadingWindow/LoadingWindow.h" #include "arch/LoadingWindow/LoadingWindow.h"
const ScreenMessage SM_NET_UpdateScoreboard = ScreenMessage(SM_User+12);
const ScreenMessage SM_NET_SelectSong = ScreenMessage(SM_User+2); const ScreenMessage SM_NET_SelectSong = ScreenMessage(SM_User+2);
@@ -452,7 +451,6 @@ void NetworkSyncManager::ProcessInput()
} }
break; break;
} }
SCREENMAN->SendMessageToTopScreen(SM_NET_UpdateScoreboard);
m_Scoreboard[ColumnNumber] = ColumnData; m_Scoreboard[ColumnNumber] = ColumnData;
m_scoreboardchange[ColumnNumber]=true; m_scoreboardchange[ColumnNumber]=true;
} }
+21 -10
View File
@@ -66,7 +66,6 @@ const ScreenMessage SM_PlayGo = ScreenMessage(SM_User+1);
// received while STATE_DANCING // received while STATE_DANCING
const ScreenMessage SM_NotesEnded = ScreenMessage(SM_User+10); const ScreenMessage SM_NotesEnded = ScreenMessage(SM_User+10);
const ScreenMessage SM_LoadNextSong = ScreenMessage(SM_User+11); const ScreenMessage SM_LoadNextSong = ScreenMessage(SM_User+11);
const ScreenMessage SM_NET_UpdateScoreboard = ScreenMessage(SM_User+12);
// received while STATE_OUTRO // received while STATE_OUTRO
const ScreenMessage SM_SaveChangedBeforeGoingBack = ScreenMessage(SM_User+20); const ScreenMessage SM_SaveChangedBeforeGoingBack = ScreenMessage(SM_User+20);
@@ -424,18 +423,30 @@ void ScreenGameplay::Init()
break; break;
} }
m_ShowScoreboard = false; m_ShowScoreboard=false;
//the following is only used in SMLAN/SMOnline //the following is only used in SMLAN/SMOnline
if( NSMAN->useSMserver ) if( NSMAN->useSMserver )
{ {
PlayerNumber pn = GAMESTATE->m_MasterPlayerNumber; //PlayerNumber pn = GAMESTATE->m_MasterPlayerNumber;
//We need not the master player, but the not-master-player
//So, we gotta see which one isn't the master player
//NOTE: If both players are playing, do not show scoreboard
//There may be a later solution for this, like a horizontal
//scoreboard, but for now, we cannot have a scoreboard over
//people's arrows.
int i=-1;
FOREACH_PlayerNumber(p)
if (!GAMESTATE->IsPlayerEnabled(p))
i=p;
if (i!=-1)
FOREACH_NSScoreBoardColumn( i2 ) FOREACH_NSScoreBoardColumn( i2 )
{ {
m_Scoreboard[i2].LoadFromFont( THEME->GetPathF(m_sName,"scoreboard") ); m_Scoreboard[i2].LoadFromFont( THEME->GetPathF(m_sName,"scoreboard") );
m_Scoreboard[i2].SetShadowLength( 0 ); m_Scoreboard[i2].SetShadowLength( 0 );
m_Scoreboard[i2].SetName( ssprintf("ScoreboardC%iP%i",i2+1,pn+1) ); m_Scoreboard[i2].SetName( ssprintf("ScoreboardC%iP%i",i2+1,i+1) );
SET_XY( m_Scoreboard[i2] ); SET_XY( m_Scoreboard[i2] );
this->AddChild( &m_Scoreboard[i2] ); this->AddChild( &m_Scoreboard[i2] );
m_Scoreboard[i2].SetText(NSMAN->m_Scoreboard[i2]); m_Scoreboard[i2].SetText(NSMAN->m_Scoreboard[i2]);
@@ -1570,9 +1581,15 @@ void ScreenGameplay::Update( float fDeltaTime )
m_meterSongPosition.SetPercent( fPercentPositionSong ); m_meterSongPosition.SetPercent( fPercentPositionSong );
if (NSMAN->useSMserver) if (NSMAN->useSMserver)
{
FOREACH_EnabledPlayer( pn2 ) FOREACH_EnabledPlayer( pn2 )
if( m_pLifeMeter[pn2] ) if( m_pLifeMeter[pn2] )
NSMAN->m_playerLife[pn2] = int(m_pLifeMeter[pn2]->GetLife()*10000); NSMAN->m_playerLife[pn2] = int(m_pLifeMeter[pn2]->GetLife()*10000);
if( m_ShowScoreboard )
FOREACH_NSScoreBoardColumn(cn)
if( NSMAN->ChangedScoreboard(cn) )
m_Scoreboard[cn].SetText( NSMAN->m_Scoreboard[cn] );
}
} }
void ScreenGameplay::AbortGiveUp() void ScreenGameplay::AbortGiveUp()
@@ -2317,12 +2334,6 @@ void ScreenGameplay::HandleScreenMessage( const ScreenMessage SM )
case SM_StopMusic: case SM_StopMusic:
m_soundMusic.Stop(); m_soundMusic.Stop();
break; break;
case SM_NET_UpdateScoreboard:
if( m_ShowScoreboard )
FOREACH_NSScoreBoardColumn(cn)
if( NSMAN->ChangedScoreboard(cn) )
m_Scoreboard[cn].SetText( NSMAN->m_Scoreboard[cn] );
break;
} }
} }