diff --git a/stepmania/Themes/default/metrics.ini b/stepmania/Themes/default/metrics.ini index a65fa3cf8c..a42b9e2f0c 100644 --- a/stepmania/Themes/default/metrics.ini +++ b/stepmania/Themes/default/metrics.ini @@ -717,9 +717,34 @@ Caution=Toggle whether the Caution screen is shown. SongGroup=Toggle whether the Select Group screen is shown. WheelSections=If YES, songs are broken down into sections in the Select Music screen. -[ScreenNetworkWaiting] -ServerInfoX=320 -ServerInfoY=120 -PlayerListX=320 -PlayerListY=280 -HelpText=Press Up to join, Down to unjoin.::Wait for more players to enter the game before joining. +[ScreenUnlock] +SecondsToShow=10 +NextScreen=ScreenHighScores + +[ScreenHighScores] +SecondsToShow=10 +NextScreen=ScreenMemoryCard + +[ScreenMemoryCard] +SecondsToShow=10 +NextScreen=ScreenWarning + +[ScreenWarning] +SecondsToShow=10 +NextScreen=ScreenCompany + +[ScreenCompany] +SecondsToShow=10 +NextScreen=ScreenAlbums + +[ScreenAlbums] +SecondsToShow=10 +NextScreen=ScreenLogo + +[ScreenLogo] +SecondsToShow=20 +NextScreen=ScreenDemonstration + +[ScreenDemonstration] +SecondsToShow=30 +NextScreen=ScreenUnlock \ No newline at end of file diff --git a/stepmania/src/RageNetworkClient.cpp b/stepmania/src/RageNetworkClient.cpp deleted file mode 100644 index b42ba17e74..0000000000 --- a/stepmania/src/RageNetworkClient.cpp +++ /dev/null @@ -1,155 +0,0 @@ -#include "stdafx.h" -/* ------------------------------------------------------------------------------ - Class: RageNetworkClient - - Desc: See header. - - Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved. - Brendan Walker - Chris Danford ------------------------------------------------------------------------------ -*/ - -#include "RageNetworkClient.h" -#include "RageUtil.h" -#include "RageException.h" -#include "RageLog.h" -#include "RageTimer.h" -#include "RageException.h" -#include "GameState.h" // remove this dependency later -#include "RageNetworkPacket.h" - -#include "SDL_net-1.2.4/include/SDL_net.h" -//#ifdef _DEBUG -//#pragma comment(lib, "SDL_net-1.2.4/lib/SDL_netd.lib") -//#else -#pragma comment(lib, "SDL_net-1.2.4/lib/SDL_net.lib") -//#endif - - -RageNetworkClient* CLIENT = NULL; - -const int MAX_CLIENTS = 16; - -/* -/////////////////////////////// -// -// THIS IS UNTESTED SINCE THE CONVERSION TO SDL_net!!!!! -// -/////////////////////////////// -*/ - -RageNetworkClient::RageNetworkClient() -{ - m_priSock = 0; - m_priSockSet = NULL; - - /* Don't do this; it'll fire up things we might not want. Let StepMania.cpp - * do the initial SDL config. */ - // SDL_Init(0); // this may have already been init'd somewhere else - - if( SDLNet_Init() < 0 ) - RageException::Throw("SDLNet_Init: %s\n", SDLNet_GetError()); - - // allocate socket sets - m_priSockSet = SDLNet_AllocSocketSet(1); - if(!m_priSockSet) - RageException::Throw("SDLNet_AllocSocketSet: %s\n", SDLNet_GetError()); -} - -RageNetworkClient::~RageNetworkClient() -{ - Disconnect(); - SDLNet_FreeSocketSet( m_priSockSet ); - SDLNet_Quit(); -} - - -void RageNetworkClient::Disconnect() -{ - if( m_priSock == NULL ) - return; - - SDLNet_TCP_DelSocket( m_priSockSet, m_priSock ); - SDLNet_TCP_Close( m_priSock ); - m_priSock = NULL; -} - -void RageNetworkClient::Connect(CString host, unsigned short port) -{ - Disconnect(); - - char szHost[1024]; - strcpy( szHost, host ); - - IPaddress ip; - if( SDLNet_ResolveHost(&ip,szHost,port)==-1 ) - { - LOG->Warn("SDLNet_ResolveHost: %s\n", SDLNet_GetError()); - return; - } - - m_priSock=SDLNet_TCP_Open(&ip); - if( !m_priSock ) - { - LOG->Warn("SDLNet_TCP_Open: %s\n", SDLNet_GetError()); - return; - } - - SDLNet_TCP_AddSocket( m_priSockSet, m_priSock ); - - return; -} - -void RageNetworkClient::Update( float fDeltaTime ) -{ - // receive - int numready = SDLNet_CheckSockets(m_priSockSet, 0); - if(numready==-1) - { - // XXX sorry, this was really noisy ... - glenn -// LOG->Warn("SDLNet_CheckSockets: %s\n", SDLNet_GetError()); - } - else if( numready ) - { - if( SDLNet_SocketReady(m_priSock) ) - { - RageNetworkPacket packet; - SDLNet_TCP_Recv( m_priSock, &packet, sizeof(RageNetworkPacket) ); - - switch( packet.type ) - { - case RageNetworkPacket::update_game: - this->m_NetGameState = packet.game; - break; - default: - LOG->Warn( "Invalid packet received with type '%d'", packet.type ); - break; - } - } - } -} - -void RageNetworkClient::SendMyPlayerState( NetPlayerState ps ) -{ - RageNetworkPacket packet; - packet.type = RageNetworkPacket::update_player; - packet.player = ps; - SendToServer( &packet ); -} - -void RageNetworkClient::Send( TCPsocket& socket, RageNetworkPacket* pPacket ) -{ - int result = SDLNet_TCP_Send(socket,pPacket,sizeof(RageNetworkPacket)); - if( resultWarn("SDLNet_TCP_Send: %s\n", SDLNet_GetError()); - // It may be good to disconnect sock because it is likely invalid now. - } -} - -void RageNetworkClient::SendToServer( RageNetworkPacket* pPacket ) -{ - Send( m_priSock, pPacket ); -} diff --git a/stepmania/src/RageNetworkClient.h b/stepmania/src/RageNetworkClient.h deleted file mode 100644 index d9997d8569..0000000000 --- a/stepmania/src/RageNetworkClient.h +++ /dev/null @@ -1,54 +0,0 @@ -#ifndef RAGENETWORKCLIENT_H -#define RAGENETWORKCLIENT_H -/* ------------------------------------------------------------------------------ - Class: RageNetworkClient - - Desc: Network transport layer. Note that this currently has SM-specific - functionality. All SM stuff should be moved out eventually. - - Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved. - Chris Danford ------------------------------------------------------------------------------ -*/ - -struct _TCPsocket; -typedef struct _TCPsocket *TCPsocket; - -struct _SDLNet_SocketSet; -typedef struct _SDLNet_SocketSet *SDLNet_SocketSet; - - -#include "NetGameState.h" - -class RageNetworkPacket; - - -class RageNetworkClient -{ -public: - RageNetworkClient(); - ~RageNetworkClient(); - - void Update( float fDeltaTime ); - - void Connect(CString ip, unsigned short port); - void Disconnect(); - - void SendMyPlayerState( NetPlayerState ps ); // calling this implies bReady = true - - NetGameState m_NetGameState; - -protected: - void SendToServer( RageNetworkPacket* pPacket ); - void Send( TCPsocket& socket, RageNetworkPacket* pPacket ); - - - TCPsocket m_priSock; // client: active socket. server: listen socket - SDLNet_SocketSet m_priSockSet; -}; - - -extern RageNetworkClient* CLIENT; // global and accessable from anywhere in our program - -#endif diff --git a/stepmania/src/RageNetworkPacket.h b/stepmania/src/RageNetworkPacket.h deleted file mode 100644 index a13e4f1cbd..0000000000 --- a/stepmania/src/RageNetworkPacket.h +++ /dev/null @@ -1,30 +0,0 @@ -#ifndef RAGENETWORKPACKET -#define RAGENETWORKPACKET - - -#include "NetGameState.h" - - -const int MAX_DATA_SIZE = sizeof(NetGameState); - -class RageNetworkPacket -{ -public: - RageNetworkPacket() { type=invalid; } - ~RageNetworkPacket() {} - - enum { - invalid, - update_player, // sent by clients - update_game, // sent by server - go_to_next_screen // sent by server - } type; - union - { -// char data[MAX_DATA_SIZE]; - NetGameState game; - NetPlayerState player; - }; -}; - -#endif \ No newline at end of file diff --git a/stepmania/src/RageNetworkServer.cpp b/stepmania/src/RageNetworkServer.cpp deleted file mode 100644 index 7e6dd8f6e2..0000000000 --- a/stepmania/src/RageNetworkServer.cpp +++ /dev/null @@ -1,205 +0,0 @@ -#include "stdafx.h" -/* ------------------------------------------------------------------------------ - Class: RageNetworkServer - - Desc: See header. - - Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved. - Brendan Walker - Chris Danford ------------------------------------------------------------------------------ -*/ - -#include "RageNetworkServer.h" -#include "RageUtil.h" -#include "RageException.h" -#include "RageLog.h" -#include "RageException.h" -#include "RageNetworkPacket.h" - -#include "SDL_net-1.2.4/include/SDL_net.h" -//#ifdef _DEBUG -//#pragma comment(lib, "SDL_net-1.2.4/lib/SDL_netd.lib") -//#else -#pragma comment(lib, "SDL_net-1.2.4/lib/SDL_net.lib") -//#endif - -#ifdef _DEBUG -#pragma comment(lib, "SDL-1.2.5/lib/SDLmaind.lib") -#else -#pragma comment(lib, "SDL-1.2.5/lib/SDLmain.lib") -#endif - -/* Pull in all of our SDL libraries here. */ -#ifdef _DEBUG -#pragma comment(lib, "SDL-1.2.5/lib/SDLd.lib") -#pragma comment(lib, "SDL_image-1.2/SDL_imaged.lib") -#else -#pragma comment(lib, "SDL-1.2.5/lib/SDL.lib") -#pragma comment(lib, "SDL_image-1.2/SDL_image.lib") -#endif - - -RageNetworkServer* SERVER = NULL; - -const int MAX_CLIENTS = 16; - -/* -/////////////////////////////// -// -// THIS IS UNTESTED SINCE THE CONVERSION TO SDL_net!!!!! -// -/////////////////////////////// -*/ - -RageNetworkServer::RageNetworkServer() -{ - m_listenSock = 0; - m_listenSockSet = NULL; - m_clientSocksSet = NULL; - - /* Don't do this; it'll fire up things we might not want. Let StepMania.cpp - * do the initial SDL config. */ - // SDL_Init(0); // this may have already been init'd somewhere else - - if( SDLNet_Init() < 0 ) - RageException::Throw("SDLNet_Init: %s\n", SDLNet_GetError()); - - // allocate socket sets - m_listenSockSet = SDLNet_AllocSocketSet(1); - if(!m_listenSockSet) - RageException::Throw("SDLNet_AllocSocketSet: %s\n", SDLNet_GetError()); - - m_clientSocksSet = SDLNet_AllocSocketSet(MAX_CLIENTS); - if(!m_clientSocksSet) - RageException::Throw("SDLNet_AllocSocketSet: %s\n", SDLNet_GetError()); -} - -RageNetworkServer::~RageNetworkServer() -{ - StopListening(); - DisconnectAllClients(); - SDLNet_FreeSocketSet( m_listenSockSet ); - SDLNet_FreeSocketSet( m_clientSocksSet ); - SDLNet_Quit(); -} - - -void RageNetworkServer::StopListening() -{ - if( m_listenSock == NULL ) - return; - - SDLNet_TCP_DelSocket( m_listenSockSet, m_listenSock ); - SDLNet_TCP_Close( m_listenSock ); - m_listenSock = NULL; -} - -void RageNetworkServer::DisconnectAllClients() -{ - // I hope passing NULL to these is OK... - for( unsigned int i=0; iTrace( "Accepting new client." ); - - m_NetGameState.num_players = m_clientSocks.size(); - } - } - - // receive - if( m_clientSocks.size() > 0 ) // there are some clients connected - { - int numready = SDLNet_CheckSockets(m_clientSocksSet, 0); - if(numready==-1) - { - // XXX sorry, this was really noisy ... - glenn -// LOG->Warn("SDLNet_CheckSockets: %s\n", SDLNet_GetError()); - } - else if( numready > 0 ) - { - for( unsigned int i=0; iWarn( "Invalid packet received with type '%d'", packet.type ); - break; - } - } - } - } - } -} - -void RageNetworkServer::TellClientsNetGameState() -{ - // tell everyone about the new names - RageNetworkPacket packet; - packet.type = RageNetworkPacket::update_game; - packet.game = m_NetGameState; - this->SendToClients( &packet ); -} - -void RageNetworkServer::Send( TCPsocket& socket, RageNetworkPacket* pPacket ) -{ -} - -void RageNetworkServer::SendToClients( RageNetworkPacket* pPacket ) -{ - for( int i=m_clientSocks.size()-1; i>=0; i-- ) // iterate backwards in case we need to delete - { - int result = SDLNet_TCP_Send(m_clientSocks[i],pPacket,sizeof(RageNetworkPacket)); - if( resultWarn("SDLNet_TCP_Send: %s\n", SDLNet_GetError()); - - LOG->Trace( "disconnecting %d", i ); - SDLNet_TCP_DelSocket( m_clientSocksSet, m_clientSocks[i] ); - SDLNet_TCP_Close( m_clientSocks[i] ); - m_clientSocks.erase( m_clientSocks.begin() + i ); - } - } -} - diff --git a/stepmania/src/RageNetworkServer.h b/stepmania/src/RageNetworkServer.h deleted file mode 100644 index 1ca9897fc9..0000000000 --- a/stepmania/src/RageNetworkServer.h +++ /dev/null @@ -1,57 +0,0 @@ -#ifndef RAGENETWORKSERVER_H -#define RAGENETWORKSERVER_H -/* ------------------------------------------------------------------------------ - Class: RageNetworkServer - - Desc: Network transport layer. Note that this currently has SM-specific - functionality. All SM stuff should be moved out eventually. - - Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved. - Chris Danford ------------------------------------------------------------------------------ -*/ - -struct _TCPsocket; -typedef struct _TCPsocket *TCPsocket; - -struct _SDLNet_SocketSet; -typedef struct _SDLNet_SocketSet *SDLNet_SocketSet; - - -#include "NetGameState.h" - - -class RageNetworkPacket; - -class RageNetworkServer -{ -public: - RageNetworkServer(); - ~RageNetworkServer(); - - void Update( float fDeltaTime ); - - void Listen(unsigned short port); - void StopListening(); - - void DisconnectAllClients(); - - void TellClientsNetGameState(); - - NetGameState m_NetGameState; - -protected: - void Send( TCPsocket& socket, RageNetworkPacket* pPacket ); - void SendToClients( RageNetworkPacket* pPacket ); - - TCPsocket m_listenSock; - SDLNet_SocketSet m_listenSockSet; - vector m_clientSocks; - SDLNet_SocketSet m_clientSocksSet; -}; - - -extern RageNetworkServer* SERVER; // global and accessable from anywhere in our program - -#endif diff --git a/stepmania/src/ScreenAlbums.cpp b/stepmania/src/ScreenAlbums.cpp new file mode 100644 index 0000000000..7a2e1d89df --- /dev/null +++ b/stepmania/src/ScreenAlbums.cpp @@ -0,0 +1,12 @@ +#include "stdafx.h" +/* +----------------------------------------------------------------------------- + Class: ScreenAlbums + + Desc: See header. + + Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved. + Chris Danford +----------------------------------------------------------------------------- +*/ + diff --git a/stepmania/src/ScreenAlbums.h b/stepmania/src/ScreenAlbums.h new file mode 100644 index 0000000000..45593f47eb --- /dev/null +++ b/stepmania/src/ScreenAlbums.h @@ -0,0 +1,26 @@ +/* +----------------------------------------------------------------------------- + Class: ScreenAlbums + + Desc: Base class for all attraction screens. + + Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved. + Chris Danford +----------------------------------------------------------------------------- +*/ + +#include "ScreenAttract.h" + + +class ScreenAlbums : public ScreenAttract +{ +public: + +private: + virtual CString GetMetricName() { return "Albums"; }; // used to loop up theme metrics + virtual CString GetElementName() { return "albums"; }; // used to loop up theme elements + +}; + + + diff --git a/stepmania/src/ScreenAttract.cpp b/stepmania/src/ScreenAttract.cpp new file mode 100644 index 0000000000..d1ee337849 --- /dev/null +++ b/stepmania/src/ScreenAttract.cpp @@ -0,0 +1,135 @@ +#include "stdafx.h" +/* +----------------------------------------------------------------------------- + Class: ScreenAttract + + Desc: See header. + + Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved. + Chris Danford +----------------------------------------------------------------------------- +*/ + +#include "ScreenAttract.h" +#include "ScreenManager.h" +#include "GameConstantsAndTypes.h" +#include "RageUtil.h" +#include "StepMania.h" +#include "PrefsManager.h" +#include "RageLog.h" +#include "SongManager.h" +#include "AnnouncerManager.h" +#include "GameState.h" +#include "GameManager.h" +#include "InputMapper.h" +#include "ThemeManager.h" +#include "SDL_Utils.h" +#include "RageSoundManager.h" + + +#define SECONDS_TO_SHOW THEME->GetMetricF("Screen"+this->GetMetricName(),"SecondsToShow") +#define NEXT_SCREEN THEME->GetMetric("Screen"+this->GetMetricName(),"NextScreen") + +const ScreenMessage SM_BeginFadingOut = ScreenMessage(SM_User+2); +const ScreenMessage SM_GoToNextScreen = ScreenMessage(SM_User+3); + + +ScreenAttract::ScreenAttract() +{ + LOG->Trace( "ScreenAttract::ScreenAttract()" ); + + m_bFirstUpdate = true; + + // + // I think it's better to do all the initialization here rather than have it scattered + // about in all the global singleton classes + // + GAMESTATE->Reset(); + PREFSMAN->ReadGamePrefsFromDisk(); + INPUTMAPPER->ReadMappingsFromDisk(); + GAMESTATE->m_bPlayersCanJoin = true; + + if( !GAMEMAN->DoesNoteSkinExist( GAMEMAN->GetCurNoteSkin() ) ) + { + CStringArray asNoteSkinNames; + GAMEMAN->GetNoteSkinNames( asNoteSkinNames ); + GAMEMAN->SwitchNoteSkin( asNoteSkinNames[0] ); + } + if( !THEME->DoesThemeExist( THEME->GetCurThemeName() ) ) + { + CString sGameName = GAMESTATE->GetCurrentGameDef()->m_szName; + if( THEME->DoesThemeExist( sGameName ) ) + THEME->SwitchTheme( sGameName ); + else + THEME->SwitchTheme( "default" ); + } + PREFSMAN->SaveGamePrefsToDisk(); +} + + +ScreenAttract::~ScreenAttract() +{ + LOG->Trace( "ScreenAttract::~ScreenAttract()" ); +} + + +void ScreenAttract::Input( const DeviceInput& DeviceI, const InputEventType type, const GameInput &GameI, const MenuInput &MenuI, const StyleInput &StyleI ) +{ +// LOG->Trace( "ScreenAttract::Input()" ); + + if( m_Fade.IsClosing() ) + return; + + Screen::Input( DeviceI, type, GameI, MenuI, StyleI ); +} + +void ScreenAttract::Update( float fDelta ) +{ + // We have to do initialization in the first update because this->GetElementName() won't + // work until the object has been fully constructed. + if( m_bFirstUpdate ) + { + m_Background.LoadFromAniDir( THEME->GetPathTo("BGAnimations",this->GetElementName()) ); + this->AddChild( &m_Background ); + + m_Fade.SetClosed(); + m_Fade.OpenWipingRight( SM_None ); + this->AddChild( &m_Fade ); + + SOUNDMAN->PlayOnceFromDir( ANNOUNCER->GetPathTo(this->GetElementName()) ); + + m_soundStart.Load( THEME->GetPathTo("Sounds","menu start") ); + + SOUNDMAN->PlayMusic( THEME->GetPathTo("Sounds",this->GetElementName() + " music") ); + + this->SendScreenMessage( SM_BeginFadingOut, SECONDS_TO_SHOW ); + + m_bFirstUpdate = false; + } + + Screen::Update(fDelta); +} + +void ScreenAttract::HandleScreenMessage( const ScreenMessage SM ) +{ + switch( SM ) + { + case SM_BeginFadingOut: + m_Fade.CloseWipingRight( SM_GoToNextScreen ); + break; + case SM_GoToNextScreen: + SCREENMAN->SetNewScreen( NEXT_SCREEN ); + break; + } +} + +void ScreenAttract::MenuStart( PlayerNumber pn ) +{ + GAMESTATE->m_bSideIsJoined[pn] = true; + GAMESTATE->m_MasterPlayerNumber = pn; + GAMESTATE->m_bPlayersCanJoin = false; + + SOUNDMAN->PlayOnce( THEME->GetPathTo("Sounds","insert coin") ); + ::Sleep( 1000 ); // do a little pause, like the arcade does + SCREENMAN->SetNewScreen( "ScreenTitleMenu" ); +} diff --git a/stepmania/src/ScreenAttract.h b/stepmania/src/ScreenAttract.h new file mode 100644 index 0000000000..60a42a0491 --- /dev/null +++ b/stepmania/src/ScreenAttract.h @@ -0,0 +1,47 @@ +#ifndef ScreenAttract_H +#define ScreenAttract_H +/* +----------------------------------------------------------------------------- + Class: ScreenAttract + + Desc: Base class for all attraction screens. + + Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved. + Chris Danford +----------------------------------------------------------------------------- +*/ + +#include "Screen.h" +#include "Sprite.h" +#include "BitmapText.h" +#include "TransitionFade.h" +#include "RandomSample.h" +#include "BGAnimation.h" +#include "RageTimer.h" + + +class ScreenAttract : public Screen +{ +public: + ScreenAttract(); + virtual ~ScreenAttract(); + + virtual void Input( const DeviceInput& DeviceI, const InputEventType type, const GameInput &GameI, const MenuInput &MenuI, const StyleInput &StyleI ); + virtual void Update( float fDelta ); + virtual void HandleScreenMessage( const ScreenMessage SM ); + +private: + void MenuStart( PlayerNumber pn ); + virtual CString GetMetricName() = 0; // used to loop up theme metrics + virtual CString GetElementName() = 0; // used to loop up theme elements + + bool m_bFirstUpdate; + + BGAnimation m_Background; + TransitionFade m_Fade; + RandomSample m_soundStart; +}; + + + +#endif \ No newline at end of file diff --git a/stepmania/src/ScreenCompany.h b/stepmania/src/ScreenCompany.h new file mode 100644 index 0000000000..9c62e9905a --- /dev/null +++ b/stepmania/src/ScreenCompany.h @@ -0,0 +1,26 @@ +/* +----------------------------------------------------------------------------- + Class: ScreenCompany + + Desc: Base class for all attraction screens. + + Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved. + Chris Danford +----------------------------------------------------------------------------- +*/ + +#include "ScreenAttract.h" + + +class ScreenCompany : public ScreenAttract +{ +public: + +private: + virtual CString GetMetricName() { return "Company"; }; // used to look up theme metrics + virtual CString GetElementName() { return "company"; }; // used to look up theme elements + +}; + + + diff --git a/stepmania/src/ScreenDemonstration.cpp b/stepmania/src/ScreenDemonstration.cpp new file mode 100644 index 0000000000..fe0d493b09 --- /dev/null +++ b/stepmania/src/ScreenDemonstration.cpp @@ -0,0 +1,12 @@ +#include "stdafx.h" +/* +----------------------------------------------------------------------------- + Class: ScreenDemonstration + + Desc: See header. + + Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved. + Chris Danford +----------------------------------------------------------------------------- +*/ + diff --git a/stepmania/src/ScreenDemonstration.h b/stepmania/src/ScreenDemonstration.h new file mode 100644 index 0000000000..faf98d0116 --- /dev/null +++ b/stepmania/src/ScreenDemonstration.h @@ -0,0 +1,26 @@ +/* +----------------------------------------------------------------------------- + Class: ScreenDemonstration + + Desc: Base class for all attraction screens. + + Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved. + Chris Danford +----------------------------------------------------------------------------- +*/ + +#include "ScreenAttract.h" + + +class ScreenDemonstration : public ScreenAttract +{ +public: + +private: + virtual CString GetMetricName() { return "Demonstration"; }; // used to look up theme metrics + virtual CString GetElementName() { return "demonstration"; }; // used to look up theme elements + +}; + + + diff --git a/stepmania/src/ScreenHighScores.cpp b/stepmania/src/ScreenHighScores.cpp new file mode 100644 index 0000000000..5a2421ade4 --- /dev/null +++ b/stepmania/src/ScreenHighScores.cpp @@ -0,0 +1,12 @@ +#include "stdafx.h" +/* +----------------------------------------------------------------------------- + Class: ScreenHighScores + + Desc: See header. + + Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved. + Chris Danford +----------------------------------------------------------------------------- +*/ + diff --git a/stepmania/src/ScreenHighScores.h b/stepmania/src/ScreenHighScores.h new file mode 100644 index 0000000000..1529a270d3 --- /dev/null +++ b/stepmania/src/ScreenHighScores.h @@ -0,0 +1,26 @@ +/* +----------------------------------------------------------------------------- + Class: ScreenHighScores + + Desc: Base class for all attraction screens. + + Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved. + Chris Danford +----------------------------------------------------------------------------- +*/ + +#include "ScreenAttract.h" + + +class ScreenHighScores : public ScreenAttract +{ +public: + +private: + virtual CString GetMetricName() { return "HighScores"; }; // used to loop up theme metrics + virtual CString GetElementName() { return "high scores"; }; // used to loop up theme elements + +}; + + + diff --git a/stepmania/src/ScreenHowToPlay.h b/stepmania/src/ScreenHowToPlay.h index 7118d12e5e..1db68e9e65 100644 --- a/stepmania/src/ScreenHowToPlay.h +++ b/stepmania/src/ScreenHowToPlay.h @@ -1,42 +1,26 @@ -#ifndef SCREENHOWTOPLAY_H -#define SCREENHOWTOPLAY_H /* ----------------------------------------------------------------------------- Class: ScreenHowToPlay - Desc: A grid of options, and the selected option is drawn with a highlight rectangle. + Desc: Base class for all attraction screens. Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved. Chris Danford ----------------------------------------------------------------------------- */ - -#include "Screen.h" -#include "Sprite.h" -#include "RandomSample.h" -#include "TransitionInvisible.h" -#include "MenuElements.h" +#include "ScreenAttract.h" -class ScreenHowToPlay : public Screen +class ScreenHowToPlay : public ScreenAttract { public: - ScreenHowToPlay(); - virtual ~ScreenHowToPlay(); - virtual void Update( float fDeltaTime ); - virtual void DrawPrimitives(); - virtual void Input( const DeviceInput& DeviceI, const InputEventType type, const GameInput &GameI, const MenuInput &MenuI, const StyleInput &StyleI ); - virtual void HandleScreenMessage( const ScreenMessage SM ); +private: + virtual CString GetMetricName() { return "HowToPlay"; }; // used to look up theme metrics + virtual CString GetElementName() { return "how to play"; }; // used to look up theme elements - virtual void MenuBack( PlayerNumber pn ); - virtual void MenuStart( PlayerNumber pn ); - -protected: - Sprite m_sprHowToPlay; - MenuElements m_Menu; }; -#endif + diff --git a/stepmania/src/ScreenHowToPlay.cpp b/stepmania/src/ScreenInstructions.cpp similarity index 72% rename from stepmania/src/ScreenHowToPlay.cpp rename to stepmania/src/ScreenInstructions.cpp index c6cbf91259..bb76da6417 100644 --- a/stepmania/src/ScreenHowToPlay.cpp +++ b/stepmania/src/ScreenInstructions.cpp @@ -1,7 +1,7 @@ #include "stdafx.h" /* ----------------------------------------------------------------------------- - Class: ScreenHowToPlay + Class: ScreenInstructions Desc: See header. @@ -10,7 +10,7 @@ ----------------------------------------------------------------------------- */ -#include "ScreenHowToPlay.h" +#include "ScreenInstructions.h" #include "RageTextureManager.h" #include "RageUtil.h" #include "RageSoundManager.h" @@ -22,19 +22,19 @@ #include "PrefsManager.h" -#define HELP_TEXT THEME->GetMetric("ScreenHowToPlay","HelpText") -#define TIMER_SECONDS THEME->GetMetricI("ScreenHowToPlay","TimerSeconds") -#define NEXT_SCREEN_ARCADE THEME->GetMetric("ScreenHowToPlay","NextScreenArcade") -#define NEXT_SCREEN_ONI THEME->GetMetric("ScreenHowToPlay","NextScreenOni") +#define HELP_TEXT THEME->GetMetric("ScreenInstructions","HelpText") +#define TIMER_SECONDS THEME->GetMetricI("ScreenInstructions","TimerSeconds") +#define NEXT_SCREEN_ARCADE THEME->GetMetric("ScreenInstructions","NextScreenArcade") +#define NEXT_SCREEN_ONI THEME->GetMetric("ScreenInstructions","NextScreenOni") const ScreenMessage SM_GoToPrevScreen = ScreenMessage(SM_User+1); const ScreenMessage SM_GoToNextScreen = ScreenMessage(SM_User+2); -ScreenHowToPlay::ScreenHowToPlay() +ScreenInstructions::ScreenInstructions() { - LOG->Trace( "ScreenHowToPlay::ScreenHowToPlay()" ); + LOG->Trace( "ScreenInstructions::ScreenInstructions()" ); m_Menu.Load( THEME->GetPathTo("BGAnimations","How To Play"), @@ -80,26 +80,26 @@ ScreenHowToPlay::ScreenHowToPlay() SOUNDMAN->PlayMusic( THEME->GetPathTo("Sounds","how to play music") ); } -ScreenHowToPlay::~ScreenHowToPlay() +ScreenInstructions::~ScreenInstructions() { - LOG->Trace( "ScreenHowToPlay::~ScreenHowToPlay()" ); + LOG->Trace( "ScreenInstructions::~ScreenInstructions()" ); } -void ScreenHowToPlay::Update( float fDeltaTime ) +void ScreenInstructions::Update( float fDeltaTime ) { - //LOG->Trace( "ScreenHowToPlay::Update(%f)", fDeltaTime ); + //LOG->Trace( "ScreenInstructions::Update(%f)", fDeltaTime ); Screen::Update( fDeltaTime ); } -void ScreenHowToPlay::DrawPrimitives() +void ScreenInstructions::DrawPrimitives() { m_Menu.DrawBottomLayer(); m_Menu.DrawTopLayer(); Screen::DrawPrimitives(); // draw How To Play graphic on top of all the others! } -void ScreenHowToPlay::Input( const DeviceInput& DeviceI, const InputEventType type, const GameInput &GameI, const MenuInput &MenuI, const StyleInput &StyleI ) +void ScreenInstructions::Input( const DeviceInput& DeviceI, const InputEventType type, const GameInput &GameI, const MenuInput &MenuI, const StyleInput &StyleI ) { if( m_Menu.IsClosing() ) return; @@ -108,7 +108,7 @@ void ScreenHowToPlay::Input( const DeviceInput& DeviceI, const InputEventType ty Screen::Input( DeviceI, type, GameI, MenuI, StyleI ); } -void ScreenHowToPlay::HandleScreenMessage( const ScreenMessage SM ) +void ScreenInstructions::HandleScreenMessage( const ScreenMessage SM ) { switch( SM ) { @@ -135,12 +135,12 @@ void ScreenHowToPlay::HandleScreenMessage( const ScreenMessage SM ) } } -void ScreenHowToPlay::MenuBack( PlayerNumber pn ) +void ScreenInstructions::MenuBack( PlayerNumber pn ) { m_Menu.TweenOffScreenToBlack( SM_GoToPrevScreen, true ); } -void ScreenHowToPlay::MenuStart( PlayerNumber pn ) +void ScreenInstructions::MenuStart( PlayerNumber pn ) { m_Menu.TweenOffScreenToMenu( SM_GoToNextScreen ); diff --git a/stepmania/src/ScreenNetworkWaiting.h b/stepmania/src/ScreenInstructions.h similarity index 57% rename from stepmania/src/ScreenNetworkWaiting.h rename to stepmania/src/ScreenInstructions.h index 7a24a2a9ad..ef8b229f51 100644 --- a/stepmania/src/ScreenNetworkWaiting.h +++ b/stepmania/src/ScreenInstructions.h @@ -1,43 +1,42 @@ +#ifndef ScreenInstructions_H +#define ScreenInstructions_H /* ----------------------------------------------------------------------------- - Class: ScreenNetworkWaiting + Class: ScreenInstructions - Desc: See header. + Desc: A grid of options, and the selected option is drawn with a highlight rectangle. Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved. Chris Danford ----------------------------------------------------------------------------- */ -#include "Screen.h" -#include "SongSelector.h" -#include "BitmapText.h" -#include "TransitionFade.h" -#include "RandomSample.h" -class ScreenNetworkWaiting : public Screen +#include "Screen.h" +#include "Sprite.h" +#include "RandomSample.h" +#include "TransitionInvisible.h" +#include "MenuElements.h" + + +class ScreenInstructions : public Screen { public: - ScreenNetworkWaiting(); - virtual ~ScreenNetworkWaiting(); + ScreenInstructions(); + virtual ~ScreenInstructions(); virtual void Update( float fDeltaTime ); virtual void DrawPrimitives(); virtual void Input( const DeviceInput& DeviceI, const InputEventType type, const GameInput &GameI, const MenuInput &MenuI, const StyleInput &StyleI ); virtual void HandleScreenMessage( const ScreenMessage SM ); - virtual void MenuUp( PlayerNumber pn ); - virtual void MenuDown( PlayerNumber pn ); - -private: + virtual void MenuBack( PlayerNumber pn ); + virtual void MenuStart( PlayerNumber pn ); +protected: + Sprite m_sprHowToPlay; MenuElements m_Menu; - - BitmapText m_textServerInfo; - BitmapText m_textPlayerList; - bool m_bReady; - float m_fUpdateTimer; }; - +#endif diff --git a/stepmania/src/ScreenLogo.h b/stepmania/src/ScreenLogo.h new file mode 100644 index 0000000000..a29c6bab41 --- /dev/null +++ b/stepmania/src/ScreenLogo.h @@ -0,0 +1,26 @@ +/* +----------------------------------------------------------------------------- + Class: ScreenLogo + + Desc: Base class for all attraction screens. + + Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved. + Chris Danford +----------------------------------------------------------------------------- +*/ + +#include "ScreenAttract.h" + + +class ScreenLogo : public ScreenAttract +{ +public: + +private: + virtual CString GetMetricName() { return "Logo"; }; // used to look up theme metrics + virtual CString GetElementName() { return "logo"; }; // used to look up theme elements + +}; + + + diff --git a/stepmania/src/ScreenManager.cpp b/stepmania/src/ScreenManager.cpp index 17f4ac0558..8489148b8e 100644 --- a/stepmania/src/ScreenManager.cpp +++ b/stepmania/src/ScreenManager.cpp @@ -176,7 +176,6 @@ void ScreenManager::Input( const DeviceInput& DeviceI, const InputEventType type #include "ScreenMachineOptions.h" #include "ScreenMapControllers.h" #include "ScreenMusicScroll.h" -#include "ScreenNetworkWaiting.h" #include "ScreenPlayerOptions.h" #include "ScreenSandbox.h" #include "ScreenSelectCourse.h" @@ -190,7 +189,14 @@ void ScreenManager::Input( const DeviceInput& DeviceI, const InputEventType type #include "ScreenStage.h" #include "ScreenTitleMenu.h" #include "ScreenEz2SelectMusic.h" - +#include "ScreenWarning.h" +#include "ScreenHighScores.h" +#include "ScreenMemoryCard.h" +#include "ScreenCompany.h" +#include "ScreenAlbums.h" +#include "ScreenLogo.h" +#include "ScreenUnlock.h" +#include "ScreenDemonstration.h" #include "ScreenPrompt.h" #include "ScreenTextEntry.h" @@ -216,7 +222,6 @@ Screen* ScreenManager::MakeNewScreen( CString sClassName ) else if( 0==stricmp(sClassName, "ScreenMapControllers") ) ret = new ScreenMapControllers; else if( 0==stricmp(sClassName, "ScreenInputOptions") ) ret = new ScreenInputOptions; else if( 0==stricmp(sClassName, "ScreenMusicScroll") ) ret = new ScreenMusicScroll; - else if( 0==stricmp(sClassName, "ScreenNetworkWaiting") ) ret = new ScreenNetworkWaiting; else if( 0==stricmp(sClassName, "ScreenPlayerOptions") ) ret = new ScreenPlayerOptions; else if( 0==stricmp(sClassName, "ScreenSandbox") ) ret = new ScreenSandbox; else if( 0==stricmp(sClassName, "ScreenSelectCourse") ) ret = new ScreenSelectCourse; @@ -230,6 +235,14 @@ Screen* ScreenManager::MakeNewScreen( CString sClassName ) else if( 0==stricmp(sClassName, "ScreenStage") ) ret = new ScreenStage; else if( 0==stricmp(sClassName, "ScreenTitleMenu") ) ret = new ScreenTitleMenu; else if( 0==stricmp(sClassName, "ScreenEz2SelectMusic") ) ret = new ScreenEz2SelectMusic; + else if( 0==stricmp(sClassName, "ScreenWarning") ) ret = new ScreenWarning; + else if( 0==stricmp(sClassName, "ScreenHighScores") ) ret = new ScreenHighScores; + else if( 0==stricmp(sClassName, "ScreenMemoryCard") ) ret = new ScreenMemoryCard; + else if( 0==stricmp(sClassName, "ScreenCompany") ) ret = new ScreenCompany; + else if( 0==stricmp(sClassName, "ScreenAlbums") ) ret = new ScreenAlbums; + else if( 0==stricmp(sClassName, "ScreenLogo") ) ret = new ScreenLogo; + else if( 0==stricmp(sClassName, "ScreenUnlock") ) ret = new ScreenUnlock; + else if( 0==stricmp(sClassName, "ScreenDemonstration") ) ret = new ScreenDemonstration; else RageException::Throw( "Invalid Screen class name '%s'", sClassName.GetString() ); diff --git a/stepmania/src/ScreenMemoryCard.h b/stepmania/src/ScreenMemoryCard.h new file mode 100644 index 0000000000..f3ff7bb553 --- /dev/null +++ b/stepmania/src/ScreenMemoryCard.h @@ -0,0 +1,26 @@ +/* +----------------------------------------------------------------------------- + Class: ScreenMemoryCard + + Desc: . + + Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved. + Chris Danford +----------------------------------------------------------------------------- +*/ + +#include "ScreenAttract.h" + + +class ScreenMemoryCard : public ScreenAttract +{ +public: + +private: + virtual CString GetMetricName() { return "MemoryCard"; }; // used to look up theme metrics + virtual CString GetElementName() { return "memory card"; }; // used to look up theme elements + +}; + + + diff --git a/stepmania/src/ScreenNetworkWaiting.cpp b/stepmania/src/ScreenNetworkWaiting.cpp deleted file mode 100644 index 7b2293a5ac..0000000000 --- a/stepmania/src/ScreenNetworkWaiting.cpp +++ /dev/null @@ -1,170 +0,0 @@ -#include "stdafx.h" -/* ------------------------------------------------------------------------------ - Class: ScreenNetworkWaiting - - Desc: The main title screen and menu. - - Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved. - Chris Danford ------------------------------------------------------------------------------ -*/ - -#include "ScreenNetworkWaiting.h" -#include "SongManager.h" -#include "ScreenManager.h" -#include "GameConstantsAndTypes.h" -#include "RageUtil.h" -#include "PrefsManager.h" -#include "GameManager.h" -#include "RageLog.h" -#include "GameState.h" -#include "RageSoundManager.h" -#include "ThemeManager.h" -#include "RageNetworkClient.h" -#include "NetGameState.h" -#include "InputMapper.h" - - -// -// Defines specific to ScreenNetworkWaiting -// -const int SERVER_WAIT_TIMEOUT_SECS = 60; -const float REFRESH_SECONDS = 0.2f; - -#define SERVER_INFO_X THEME->GetMetricF("ScreenNetworkWaiting","ServerInfoX") -#define SERVER_INFO_Y THEME->GetMetricF("ScreenNetworkWaiting","ServerInfoY") -#define PLAYER_LIST_X THEME->GetMetricF("ScreenNetworkWaiting","PlayerListX") -#define PLAYER_LIST_Y THEME->GetMetricF("ScreenNetworkWaiting","PlayerListY") -#define HELP_TEXT THEME->GetMetric("ScreenNetworkWaiting","HelpText") - -const ScreenMessage SM_ServerGoToNextScreen = ScreenMessage(SM_User+1); -const ScreenMessage SM_GoToPrevScreen = ScreenMessage(SM_User+3); -const ScreenMessage SM_GoToNextScreen = ScreenMessage(SM_User+4); - - -ScreenNetworkWaiting::ScreenNetworkWaiting() -{ - LOG->Trace( "ScreenNetworkWaiting::ScreenNetworkWaiting()" ); - - - // - // I think it's better to do all the initialization here rather than have it scattered - // about in all the global singleton classes - // - GAMESTATE->Reset(); - PREFSMAN->ReadGamePrefsFromDisk(); - INPUTMAPPER->ReadMappingsFromDisk(); - GAMESTATE->m_bPlayersCanJoin = true; - if( !GAMEMAN->DoesNoteSkinExist( GAMEMAN->GetCurNoteSkin() ) ) - { - CStringArray asNoteSkinNames; - GAMEMAN->GetNoteSkinNames( asNoteSkinNames ); - GAMEMAN->SwitchNoteSkin( asNoteSkinNames[0] ); - } - if( !THEME->DoesThemeExist( THEME->GetCurThemeName() ) ) - { - CString sGameName = GAMESTATE->GetCurrentGameDef()->m_szName; - if( THEME->DoesThemeExist( sGameName ) ) - THEME->SwitchTheme( sGameName ); - else - THEME->SwitchTheme( "default" ); - } - PREFSMAN->SaveGamePrefsToDisk(); - - - - m_Menu.Load( - THEME->GetPathTo("BGAnimations","network waiting"), - THEME->GetPathTo("Graphics","network waiting top edge"), - HELP_TEXT, false, false, 99 - ); - this->AddChild( &m_Menu ); - - - m_textServerInfo.LoadFromFont( THEME->GetPathTo("Fonts","normal") ); - m_textServerInfo.SetXY( SERVER_INFO_X, SERVER_INFO_Y ); - m_textServerInfo.SetText( "Server Info" ); - this->AddChild( &m_textServerInfo ); - - m_textPlayerList.LoadFromFont( THEME->GetPathTo("Fonts","normal") ); - m_textPlayerList.SetXY( PLAYER_LIST_X, PLAYER_LIST_Y ); - this->AddChild( &m_textPlayerList ); - - SOUNDMAN->PlayMusic( THEME->GetPathTo("Sounds","network waiting music") ); - - m_Menu.TweenOnScreenFromBlack( SM_None ); - - m_bReady = false; - NetPlayerState ps = { "billy", 100, 100, m_bReady }; - CLIENT->SendMyPlayerState( ps ); - - m_fUpdateTimer = REFRESH_SECONDS; -} - - -ScreenNetworkWaiting::~ScreenNetworkWaiting() -{ - LOG->Trace( "ScreenNetworkWaiting::~ScreenNetworkWaiting()" ); -} - -void ScreenNetworkWaiting::Update( float fDeltaTime ) -{ - Screen::Update( fDeltaTime ); - - m_fUpdateTimer -= fDeltaTime; - if( m_fUpdateTimer < 0 ) - { - CString s; - NetGameState& gns = CLIENT->m_NetGameState; - for( int i=0; iTrace( "ScreenNetworkWaiting::Input()" ); - - Screen::Input( DeviceI, type, GameI, MenuI, StyleI ); -} - -void ScreenNetworkWaiting::HandleScreenMessage( const ScreenMessage SM ) -{ - switch( SM ) - { - case SM_ServerGoToNextScreen: - SCREENMAN->SetNewScreen( "ScreenNetworkMenu" ); - break; - } -} - -void ScreenNetworkWaiting::MenuUp( PlayerNumber pn ) -{ - m_bReady = true; - NetPlayerState ps = { "billy", 100, 100, m_bReady }; - CLIENT->SendMyPlayerState( ps ); -} - -void ScreenNetworkWaiting::MenuDown( PlayerNumber pn ) -{ - m_bReady = false; - NetPlayerState ps = { "billy", 100, 100, m_bReady }; - CLIENT->SendMyPlayerState( ps ); -} - diff --git a/stepmania/src/ScreenUnlock.h b/stepmania/src/ScreenUnlock.h new file mode 100644 index 0000000000..cadb2ff68f --- /dev/null +++ b/stepmania/src/ScreenUnlock.h @@ -0,0 +1,26 @@ +/* +----------------------------------------------------------------------------- + Class: ScreenUnlock + + Desc: Base class for all attraction screens. + + Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved. + Chris Danford +----------------------------------------------------------------------------- +*/ + +#include "ScreenAttract.h" + + +class ScreenUnlock : public ScreenAttract +{ +public: + +private: + virtual CString GetMetricName() { return "Unlock"; }; // used to look up theme metrics + virtual CString GetElementName() { return "unlock"; }; // used to look up theme elements + +}; + + + diff --git a/stepmania/src/ScreenWarning.h b/stepmania/src/ScreenWarning.h new file mode 100644 index 0000000000..3f83ebee86 --- /dev/null +++ b/stepmania/src/ScreenWarning.h @@ -0,0 +1,26 @@ +/* +----------------------------------------------------------------------------- + Class: ScreenWarning + + Desc: Base class for all attraction screens. + + Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved. + Chris Danford +----------------------------------------------------------------------------- +*/ + +#include "ScreenAttract.h" + + +class ScreenWarning : public ScreenAttract +{ +public: + +private: + virtual CString GetMetricName() { return "Warning"; }; // used to look up theme metrics + virtual CString GetElementName() { return "warning"; }; // used to look up theme elements + +}; + + + diff --git a/stepmania/src/StepMania.cpp b/stepmania/src/StepMania.cpp index 1b93a8bbf9..233becffd1 100644 --- a/stepmania/src/StepMania.cpp +++ b/stepmania/src/StepMania.cpp @@ -20,7 +20,6 @@ #include "RageInput.h" #include "RageTimer.h" #include "RageException.h" -#include "RageNetworkClient.h" #include "RageMath.h" #include "arch/arch.h" @@ -74,11 +73,6 @@ HWND g_hWndMain = NULL; #include -// command line arguments -CString g_sSongPath = ""; -CString g_sServerIP = ""; - -const int SM_PORT = 573; // "Ko" + "na" + "mitsu" static void ChangeToDirOfExecutable(const char *argv0) { @@ -144,16 +138,6 @@ int main(int argc, char* argv[]) atexit(SDL_Quit); /* Clean up on exit */ - /* - * Handle command line args. - * Only allow one command line arg so we can validate the number of - * parameters easier. - */ - if( argc > 1 ) - g_sSongPath = argv[1]; - if( argc > 2 ) - g_sServerIP = argv[2]; - SetUnhandledExceptionFilter(CrashHandler); InitThreadData("Main thread"); VDCHECKPOINT; @@ -202,7 +186,6 @@ int main(int argc, char* argv[]) ANNOUNCER = new AnnouncerManager; INPUTFILTER = new InputFilter; INPUTMAPPER = new InputMapper; - CLIENT = new RageNetworkClient; INPUTQUEUE = new InputQueue; SONGINDEX = new SongCacheIndex; /* depends on SONGINDEX: */ @@ -237,23 +220,9 @@ int main(int argc, char* argv[]) FONT = new FontManager; SCREENMAN = new ScreenManager; - /* - * Load initial screen depending on network mode - */ - if( g_sServerIP != "" ) - { - // immediately try to connect to server - GAMESTATE->m_pCurSong = SONGMAN->GetSongFromDir( g_sSongPath ); - if( GAMESTATE->m_pCurSong == NULL ) - RageException::Throw( "The song '%s' is required to play this network game.", g_sSongPath.GetString() ); - CLIENT->Connect( (const char*)g_sServerIP, SM_PORT ); - SCREENMAN->SetNewScreen( "ScreenNetworkWaiting" ); - } - else - { - // normal game - SCREENMAN->SetNewScreen( "ScreenTitleMenu" ); - } + + // normal game + SCREENMAN->SetNewScreen( "ScreenWarning" ); /* Run the main loop. */ GameLoop(); @@ -281,7 +250,6 @@ int main(int argc, char* argv[]) #endif SAFE_DELETE( SCREENMAN ); - SAFE_DELETE( CLIENT ); SAFE_DELETE( INPUTQUEUE ); SAFE_DELETE( INPUTMAPPER ); SAFE_DELETE( INPUTFILTER ); @@ -428,7 +396,6 @@ static void GameLoop() TEXTUREMAN->Update( fDeltaTime ); SCREENMAN->Update( fDeltaTime ); - CLIENT->Update( fDeltaTime ); SOUNDMAN->Update( fDeltaTime ); HandleInputEvents( fDeltaTime ); diff --git a/stepmania/src/smserver.cpp b/stepmania/src/smserver.cpp deleted file mode 100644 index 984250a9f0..0000000000 --- a/stepmania/src/smserver.cpp +++ /dev/null @@ -1,40 +0,0 @@ -#include "stdafx.h" -#include "SDL.h" -#include "RageNetworkServer.h" -#include "RageLog.h" - -const int SM_PORT = 573; // "Ko" + "na" + "mitsu" - -int main(int argc, char* argv[]) -{ - SDL_Init(0); /* Fire up the SDL, but don't actually start any subsystems. */ - - LOG = new RageLog; - LOG->ShowConsole(); - - LOG->Trace( "smserver starting up..." ); - - - SERVER = new RageNetworkServer; - SERVER->Listen( SM_PORT ); - - - SDL_Event event; - while( 1 ) - { - // process all queued events - while(SDL_PollEvent(&event)) - { - switch(event.type) - { - case SDL_KEYDOWN: - SERVER->DisconnectAllClients(); - exit(1); - break; - } - } - SERVER->Update( 0.1f ); - SERVER->TellClientsNetGameState(); - ::Sleep( 100 ); - } -} \ No newline at end of file diff --git a/stepmania/src/smserver.dsp b/stepmania/src/smserver.dsp deleted file mode 100644 index f54020bdbf..0000000000 --- a/stepmania/src/smserver.dsp +++ /dev/null @@ -1,134 +0,0 @@ -# Microsoft Developer Studio Project File - Name="smserver" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Application" 0x0101 - -CFG=smserver - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "smserver.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "smserver.mak" CFG="smserver - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "smserver - Win32 Release" (based on "Win32 (x86) Application") -!MESSAGE "smserver - Win32 Debug" (based on "Win32 (x86) Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -MTL=midl.exe -RSC=rc.exe - -!IF "$(CFG)" == "smserver - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Release" -# PROP Intermediate_Dir "Release" -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /c -# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 -# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 -# ADD BASE RSC /l 0x409 /d "NDEBUG" -# ADD RSC /l 0x409 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386 -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386 - -!ELSEIF "$(CFG)" == "smserver - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "../" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /FR /YX /FD /GZ /c -# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 -# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 -# ADD BASE RSC /l 0x409 /d "_DEBUG" -# ADD RSC /l 0x409 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept - -!ENDIF - -# Begin Target - -# Name "smserver - Win32 Release" -# Name "smserver - Win32 Debug" -# Begin Source File - -SOURCE=.\NetGameState.h -# End Source File -# Begin Source File - -SOURCE=.\RageException.cpp -# End Source File -# Begin Source File - -SOURCE=.\RageException.h -# End Source File -# Begin Source File - -SOURCE=.\RageLog.cpp -# End Source File -# Begin Source File - -SOURCE=.\RageLog.h -# End Source File -# Begin Source File - -SOURCE=.\RageNetworkPacket.h -# End Source File -# Begin Source File - -SOURCE=.\RageNetworkServer.cpp -# End Source File -# Begin Source File - -SOURCE=.\RageNetworkServer.h -# End Source File -# Begin Source File - -SOURCE=.\RageUtil.cpp -# End Source File -# Begin Source File - -SOURCE=.\RageUtil.h -# End Source File -# Begin Source File - -SOURCE=.\smserver.cpp -# End Source File -# End Target -# End Project diff --git a/stepmania/src/smserver.dsw b/stepmania/src/smserver.dsw deleted file mode 100644 index 4974e239a3..0000000000 --- a/stepmania/src/smserver.dsw +++ /dev/null @@ -1,29 +0,0 @@ -Microsoft Developer Studio Workspace File, Format Version 6.00 -# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! - -############################################################################### - -Project: "smserver"=.\smserver.dsp - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Global: - -Package=<5> -{{{ -}}} - -Package=<3> -{{{ -}}} - -############################################################################### -