Update & user list fix

This commit is contained in:
Charles Lohr
2004-10-29 01:58:56 +00:00
parent 15fd06145b
commit 0ec8f61a0e
4 changed files with 31 additions and 9 deletions
+18 -3
View File
@@ -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()
+8
View File
@@ -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;
+2 -2
View File
@@ -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 );
+3 -4
View File
@@ -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;