From 308872ddc657c96996158922dcf4750d75870b7e Mon Sep 17 00:00:00 2001 From: Charles Lohr Date: Wed, 2 Jun 2004 22:39:45 +0000 Subject: [PATCH] Screen with two extra networking options (this will expand as networking increases) --- stepmania/src/ScreenNetworkOptions.cpp | 112 +++++++++++++++++++++++++ stepmania/src/ScreenNetworkOptions.h | 30 +++++++ 2 files changed, 142 insertions(+) create mode 100644 stepmania/src/ScreenNetworkOptions.cpp create mode 100644 stepmania/src/ScreenNetworkOptions.h diff --git a/stepmania/src/ScreenNetworkOptions.cpp b/stepmania/src/ScreenNetworkOptions.cpp new file mode 100644 index 0000000000..bb714f1b76 --- /dev/null +++ b/stepmania/src/ScreenNetworkOptions.cpp @@ -0,0 +1,112 @@ +#include "global.h" +/* +----------------------------------------------------------------------------- + Class: ScreenNetworkOptions + + Desc: See header. + + Copyright (c) 2004 by the person(s) listed below. All rights reserved. + Charles Lohr +----------------------------------------------------------------------------- +*/ +#include "NetworkSyncManager.h" +#include "ScreenNetworkOptions.h" +#include "RageLog.h" +#include "RageSounds.h" +#include "ThemeManager.h" +#include "PrefsManager.h" +#include "ScreenManager.h" +#include "ScreenTextEntry.h" +#include "ScreenPrompt.h" + + +enum { + PO_CONNECTION, + NUM_NETWORK_OPTIONS_LINES +}; + +enum { + NO_DISCONNECT=0, + NO_CONNECT +}; + +OptionRowData g_NetworkOptionsLines[NUM_NETWORK_OPTIONS_LINES] = { + OptionRowData( "Connection", true, "PRESS START" ), +}; + +const ScreenMessage SM_DoneConnecting = ScreenMessage(SM_User+1); + +ScreenNetworkOptions::ScreenNetworkOptions( CString sClassName ) : ScreenOptions( sClassName ) +{ + LOG->Trace( "ScreenNetworkOptions::ScreenNetworkOptions()" ); + + g_NetworkOptionsLines[PO_CONNECTION].choices.clear(); + g_NetworkOptionsLines[PO_CONNECTION].choices.push_back("Disconnect"); + g_NetworkOptionsLines[PO_CONNECTION].choices.push_back("Connect..."); + + Init( + INPUTMODE_SHARE_CURSOR, + g_NetworkOptionsLines, + NUM_NETWORK_OPTIONS_LINES ); + + SOUND->PlayMusic( THEME->GetPathToS("ScreenMachineOptions music") ); +} + + +void ScreenNetworkOptions::GoToPrevState() +{ + SCREENMAN->SetNewScreen( "ScreenOptionsMenu" ); +} + +void ScreenNetworkOptions::GoToNextState() +{ + GoToPrevState(); +} + +void ScreenNetworkOptions::HandleScreenMessage( const ScreenMessage SM ) +{ + switch( SM ) + { + case SM_DoneConnecting: + if( !ScreenTextEntry::s_bCancelledLast ) + { + CString sNewName = ScreenTextEntry::s_sLastAnswer; + NSMAN->PostStartUp(sNewName); + NSMAN->DisplayStartupStatus(); + } + break; + } + + ScreenOptions::HandleScreenMessage( SM ); +} + + +void ScreenNetworkOptions::MenuStart( PlayerNumber pn, const InputEventType type ) +{ + switch( GetCurrentRow() ) + { + case PO_CONNECTION: + switch (m_Rows[GetCurrentRow()]->GetOneSharedSelection()) + { + case NO_CONNECT: + SCREENMAN->TextEntry( SM_DoneConnecting, "Enter a Network Address", "", NULL ); + break; + case NO_DISCONNECT: + NSMAN->CloseConnection(); + SCREENMAN->SystemMessage("Disconnected from server."); + break; + } + break; + default: + ScreenOptions::MenuStart( pn, type ); + } +} + +void ScreenNetworkOptions::ImportOptions() +{ + +} +void ScreenNetworkOptions::ExportOptions() +{ + +} \ No newline at end of file diff --git a/stepmania/src/ScreenNetworkOptions.h b/stepmania/src/ScreenNetworkOptions.h new file mode 100644 index 0000000000..31dae80ffe --- /dev/null +++ b/stepmania/src/ScreenNetworkOptions.h @@ -0,0 +1,30 @@ +/* +----------------------------------------------------------------------------- + File: ScreenNetworkOptions + + Desc: Select a song. + + Copyright (c) 2004 by the person(s) listed below. All rights reserved. + Charles Lohr +----------------------------------------------------------------------------- +*/ + +#include "ScreenOptions.h" + +class ScreenNetworkOptions : public ScreenOptions +{ +public: + ScreenNetworkOptions( CString sName ); + + virtual void HandleScreenMessage( const ScreenMessage SM ); + + virtual void MenuStart( PlayerNumber pn, const InputEventType type ); + +private: + void ImportOptions(); + void ExportOptions(); + + void GoToNextState(); + void GoToPrevState(); +}; +