Update & user list fix
This commit is contained in:
@@ -108,6 +108,7 @@ GameClient::GameClient()
|
||||
isStarting = false; //Used for after ScreenNetMusicSelect but before InGame
|
||||
wasIngame = false;
|
||||
lowerJudge = false;
|
||||
NetScreenInfo = NS_NOWHERE;
|
||||
}
|
||||
|
||||
void StepManiaLanServer::Disconnect(const unsigned int clientNum)
|
||||
@@ -131,6 +132,7 @@ void StepManiaLanServer::Disconnect(const unsigned int clientNum)
|
||||
++Iterator;
|
||||
}
|
||||
}
|
||||
SendUserList ();
|
||||
}
|
||||
|
||||
int GameClient::GetData(PacketFunctions& Packet)
|
||||
@@ -825,7 +827,7 @@ void StepManiaLanServer::SendUserList()
|
||||
if (Client[x]->Player[y].name.length() == 0)
|
||||
Reply.Write1(0);
|
||||
else
|
||||
Reply.Write1(1);
|
||||
Reply.Write1( (int)Client[x]->NetScreenInfo + 1);
|
||||
Reply.WriteNT(Client[x]->Player[y].name);
|
||||
}
|
||||
|
||||
@@ -847,6 +849,8 @@ void StepManiaLanServer::ScreenNetMusicSelectStatus(PacketFunctions& Packet, uns
|
||||
else
|
||||
Client[clientNum]->inNetMusicSelect = false;
|
||||
|
||||
GameClient::LastNetScreen LastScreenInfo = GameClient::NS_NOWHERE;
|
||||
|
||||
switch (EntExitCode)
|
||||
{
|
||||
case 0:
|
||||
@@ -854,15 +858,26 @@ void StepManiaLanServer::ScreenNetMusicSelectStatus(PacketFunctions& Packet, uns
|
||||
break;
|
||||
case 1:
|
||||
message += " entered the song selection.";
|
||||
LastScreenInfo = GameClient::NS_SELECTSCREEN;
|
||||
break;
|
||||
case 2:
|
||||
message += " went into options.";
|
||||
message += " exited options.";
|
||||
break;
|
||||
case 3:
|
||||
message += " came back from options.";
|
||||
message += " went into options.";
|
||||
LastScreenInfo = GameClient::NS_OPTIONS;
|
||||
break;
|
||||
case 4:
|
||||
//no need to mention exiting of options
|
||||
break;
|
||||
case 5:
|
||||
message += " finished the game.";
|
||||
LastScreenInfo = GameClient::NS_EVALUATION;
|
||||
break;
|
||||
}
|
||||
ServerChat(message);
|
||||
Client[clientNum]->NetScreenInfo = LastScreenInfo;
|
||||
SendUserList ();
|
||||
}
|
||||
|
||||
CString StepManiaLanServer::ListPlayers()
|
||||
|
||||
@@ -58,6 +58,14 @@ public:
|
||||
bool isStarting;
|
||||
bool wasIngame;
|
||||
bool lowerJudge;
|
||||
|
||||
enum LastNetScreen
|
||||
{
|
||||
NS_NOWHERE = 0,
|
||||
NS_SELECTSCREEN,
|
||||
NS_OPTIONS,
|
||||
NS_EVALUATION
|
||||
} NetScreenInfo;
|
||||
|
||||
private:
|
||||
string build;
|
||||
|
||||
@@ -64,7 +64,7 @@ ScreenNetEvaluation::ScreenNetEvaluation (const CString & sClassName) : ScreenEv
|
||||
cx+=USERDX;
|
||||
cy+=USERDY;
|
||||
}
|
||||
NSMAN->ReportNSSOnOff( 1 );
|
||||
NSMAN->ReportNSSOnOff( 5 );
|
||||
}
|
||||
|
||||
void ScreenNetEvaluation::MenuLeft( PlayerNumber pn, const InputEventType type )
|
||||
@@ -114,7 +114,7 @@ void ScreenNetEvaluation::HandleScreenMessage( const ScreenMessage SM )
|
||||
}
|
||||
return; //no need to let ScreenEvaluation get ahold of this.
|
||||
case SM_GoToNextScreen:
|
||||
NSMAN->ReportNSSOnOff( 0 );
|
||||
NSMAN->ReportNSSOnOff( 4 );
|
||||
break;
|
||||
}
|
||||
ScreenEvaluation::HandleScreenMessage( SM );
|
||||
|
||||
@@ -26,7 +26,6 @@
|
||||
#define CHATOUTPUT_COLOR THEME->GetMetricC("ScreenNetSelectMusic","ChatOutputBoxColor")
|
||||
#define SHOW_CHAT_LINES THEME->GetMetricI("ScreenNetSelectMusic","ChatOutputLines")
|
||||
|
||||
|
||||
#define GROUPSBG_WIDTH THEME->GetMetricF("ScreenNetSelectMusic","GroupsBGWidth")
|
||||
#define GROUPSBG_HEIGHT THEME->GetMetricF("ScreenNetSelectMusic","GroupsBGHeight")
|
||||
#define GROUPSBG_COLOR THEME->GetMetricC("ScreenNetSelectMusic","GroupsBGColor")
|
||||
@@ -460,7 +459,7 @@ void ScreenNetSelectMusic::HandleScreenMessage( const ScreenMessage SM )
|
||||
break;
|
||||
case SM_BackFromOpts:
|
||||
//XXX: HACK: This will causes ScreenSelectOptions to go back here.
|
||||
NSMAN->ReportNSSOnOff(3);
|
||||
NSMAN->ReportNSSOnOff(1);
|
||||
GAMESTATE->m_bEditing = false;
|
||||
NSMAN->ReportPlayerOptions();
|
||||
break;
|
||||
@@ -518,7 +517,7 @@ void ScreenNetSelectMusic::MenuLeft( PlayerNumber pn, const InputEventType type
|
||||
break;
|
||||
case SelectOptions:
|
||||
//XXX: HACK: This will causes ScreenSelectOptions to go back here.
|
||||
NSMAN->ReportNSSOnOff(2);
|
||||
NSMAN->ReportNSSOnOff(3);
|
||||
GAMESTATE->m_bEditing = true;
|
||||
SCREENMAN->AddNewScreenToTop( "ScreenPlayerOptions", SM_BackFromOpts );
|
||||
break;
|
||||
@@ -576,7 +575,7 @@ void ScreenNetSelectMusic::MenuRight( PlayerNumber pn, const InputEventType type
|
||||
break;
|
||||
case SelectOptions:
|
||||
//XXX: HACK: This will causes ScreenSelectOptions to go back here.
|
||||
NSMAN->ReportNSSOnOff(2);
|
||||
NSMAN->ReportNSSOnOff(3);
|
||||
GAMESTATE->m_bEditing = true;
|
||||
SCREENMAN->AddNewScreenToTop( "ScreenPlayerOptions", SM_BackFromOpts );
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user