diff --git a/stepmania/src/NetworkManager.cpp b/stepmania/src/NetworkManager.cpp new file mode 100644 index 0000000000..54f9c115fe --- /dev/null +++ b/stepmania/src/NetworkManager.cpp @@ -0,0 +1,87 @@ +#include "global.h" +/* +----------------------------------------------------------------------------- + Class: NetworkManager + + Desc: See Header. + + Copyright (c) 2001-2003 by the person(s) listed below. All rights reserved. + Kevin Slaughter +----------------------------------------------------------------------------- +*/ + +#include "GameState.h" +#include "NetworkManager.h" +#include "RageLog.h" +#include "SongManager.h" +NetworkManager* NETWORKMAN = NULL; + + +NetworkManager::NetworkManager() +{ + LOG->Trace("NetworkManager::NetworkManager"); + if( SDLNet_Init()==-1 ) + throw; +} + +NetworkManager::~NetworkManager() +{ + LOG->Trace("NetworkManager::~NetworkManager"); + SDLNet_Quit(); +} + +bool NetworkManager::Connect() +{ + LOG->Trace("NetworkManager::Connect()"); + + IPaddress ip; + TCPsocket tcpsock; + + if(SDLNet_ResolveHost(&ip,"localhost",9999)==-1) // Establish a connection. + LOG->Trace("SDLNet_ResolveHost: %s\n", SDLNet_GetError()); + + tcpsock=SDLNet_TCP_Open(&ip); + if(!tcpsock) // Make sure we opened a valid connection. + LOG->Trace("NetworkManager::SDLNet_TCP_Open: %s\n", SDLNet_GetError()); + + + + // Test send & recv data // + Uint8 data[512]; + char* test[1+1+256]; +// int pos + int len; +// int used; + + /* Has the connection been lost with the server? */ + test[3] = "$"; + SDLNet_TCP_Send(tcpsock, test, 4); + LOG->Trace("\n\n\nDATA BEING SENT.."); + len = SDLNet_TCP_Recv(tcpsock, (char *)data, 512); + LOG->Trace("\n\n\nDATA RECEIVED!!!"); +/* if ( len <= 0 ) { + //SDLNet_TCP_DelSocket(socketset, tcpsock); + SDLNet_TCP_Close(tcpsock); + tcpsock = NULL; + LOG->Trace("NetworkManager:: Connection lost!\n"); + } + else + { + pos = 0; + while ( len > 0 ) + { + used = 1; + pos += used; + len -= used; + if ( used == 0 ) + { + // We might lose data here.. oh well, + // we got a corrupt packet from server + + len = 0; + } + } + } +*/ + return true; +} \ No newline at end of file diff --git a/stepmania/src/NetworkManager.h b/stepmania/src/NetworkManager.h new file mode 100644 index 0000000000..fefc944d39 --- /dev/null +++ b/stepmania/src/NetworkManager.h @@ -0,0 +1,19 @@ +#ifndef NETWORKMANAGER_H +#define NETWORKMANAGER_H + +#include "SDL_net.h" + +class NetworkManager +{ +public: + NetworkManager(); + ~NetworkManager(); + + bool Connect(); + +private: + int i; +}; + +extern NetworkManager* NETWORKMAN; +#endif \ No newline at end of file diff --git a/stepmania/src/ScreenTitleMenu.cpp b/stepmania/src/ScreenTitleMenu.cpp index 4fc463a424..75b09d6540 100644 --- a/stepmania/src/ScreenTitleMenu.cpp +++ b/stepmania/src/ScreenTitleMenu.cpp @@ -30,6 +30,7 @@ #include "RageTextureManager.h" #include "UnlockSystem.h" #include "ProductInfo.h" +#include "NetworkManager.h" #define LOGO_ON_COMMAND THEME->GetMetric("ScreenTitleMenu","LogoOnCommand") @@ -332,6 +333,9 @@ void ScreenTitleMenu::HandleScreenMessage( const ScreenMessage SM ) SCREENMAN->SetNewScreen( "ScreenJukeboxMenu" ); break; #ifdef DEBUG + case CHOICE_NETWORKPLAY: + NETWORKMAN->Connect(); + break; case CHOICE_SANDBOX: SCREENMAN->SetNewScreen( "ScreenTest" ); break; diff --git a/stepmania/src/ScreenTitleMenu.h b/stepmania/src/ScreenTitleMenu.h index ac8a5e54f1..9c7feaafd0 100644 --- a/stepmania/src/ScreenTitleMenu.h +++ b/stepmania/src/ScreenTitleMenu.h @@ -38,6 +38,7 @@ public: CHOICE_EDIT_COURSES, CHOICE_JUKEBOX, #ifdef DEBUG + CHOICE_NETWORKPLAY, CHOICE_SANDBOX, #endif CHOICE_EXIT, @@ -54,6 +55,7 @@ public: "EDIT COURSES", "JUKEBOX", #ifdef DEBUG + "NETWORK PLAY", "SANDBOX", #endif "EXIT" diff --git a/stepmania/src/StepMania.dsp b/stepmania/src/StepMania.dsp index 198c759437..34b8834b7f 100644 --- a/stepmania/src/StepMania.dsp +++ b/stepmania/src/StepMania.dsp @@ -1,5 +1,5 @@ # Microsoft Developer Studio Project File - Name="StepMania" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 60000 +# Microsoft Developer Studio Generated Build File, Format Version 6.00 # ** DO NOT EDIT ** # TARGTYPE "Win32 (x86) Application" 0x0101 @@ -45,7 +45,7 @@ CFG=StepMania - Win32 Release # PROP Target_Dir "" CPP=cl.exe # ADD BASE CPP /nologo /MD /W3 /Gm /GX /ZI /Od /I "." /I "SDL-1.2.5\include" /I "SDL_image-1.2" /I "plib-1.6.0" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "DEBUG" /Fr /YX"global.h" /FD /c -# ADD CPP /nologo /MD /W3 /Gm /GX /ZI /Od /I "." /I "SDL-1.2.5\include" /I "SDL_image-1.2" /I "plib-1.6.0" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "DEBUG" /Fr /YX"global.h" /FD /c +# ADD CPP /nologo /MD /W3 /Gm /GX /ZI /Od /I "." /I "SDL-1.2.5\include" /I "SDL_image-1.2" /I "plib-1.6.0" /I "SDL_net-1.2.5\lib\sdl_net.lib" /I "SDL_net-1.2.5\include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "DEBUG" /Fr /YX"global.h" /FD /c MTL=midl.exe # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 @@ -58,14 +58,14 @@ BSC32=bscmake.exe LINK32=link.exe # ADD BASE LINK32 $(intdir)\verstub.obj kernel32.lib shell32.lib user32.lib gdi32.lib advapi32.lib winmm.lib /nologo /subsystem:windows /pdb:"../debug6/StepMania-debug.pdb" /map /debug /machine:I386 /nodefaultlib:"libcmtd.lib" /out:"../StepMania-debug.exe" # SUBTRACT BASE LINK32 /verbose /profile /pdb:none /incremental:no /nodefaultlib -# ADD LINK32 $(intdir)\verstub.obj kernel32.lib shell32.lib user32.lib gdi32.lib advapi32.lib winmm.lib /nologo /subsystem:windows /map /debug /machine:I386 /nodefaultlib:"libcmtd.lib" /out:"../StepMania-debug.exe" +# ADD LINK32 $(intdir)\verstub.obj kernel32.lib gdi32.lib shell32.lib user32.lib advapi32.lib winmm.lib "SDL_net-1.2.5\lib\sdl_net.lib" /nologo /subsystem:windows /map /debug /machine:I386 /nodefaultlib:"libcmtd.lib" /out:"../StepMania-debug.exe" # SUBTRACT LINK32 /verbose /profile /pdb:none /incremental:no /nodefaultlib # Begin Special Build Tool IntDir=.\../Debug6 -TargetDir=\CVS\stepmania\stepmania +TargetDir=\stepmania TargetName=StepMania-debug SOURCE="$(InputPath)" -PreLink_Cmds=disasm\verinc cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)\ +PreLink_Cmds=disasm\verinc cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)\ PostBuild_Cmds=disasm\mapconv $(IntDir)\$(TargetName).map $(TargetDir)\StepMania.vdi ia32.vdi # End Special Build Tool @@ -98,11 +98,7 @@ XBCP=xbecopy.exe # ADD BASE XBCP /NOLOGO # ADD XBCP /NOLOGO # Begin Special Build Tool -IntDir=.\Debug -TargetDir=\stepmania\stepmania -TargetName=default -SOURCE="$(InputPath)" -PreLink_Cmds=disasm\verinc cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)\ +PreLink_Cmds=disasm\verinc cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)\ PostBuild_Cmds=disasm\mapconv $(IntDir)\$(TargetName).map $(TargetDir)\StepMania.vdi ia32.vdi # End Special Build Tool @@ -122,7 +118,7 @@ PostBuild_Cmds=disasm\mapconv $(IntDir)\$(TargetName).map $(TargetDir)\StepMania # PROP Target_Dir "" CPP=cl.exe # ADD BASE CPP /nologo /MD /W3 /GX /Zi /O2 /Ob2 /I "." /I "SDL-1.2.5\include" /I "SDL_image-1.2" /I "plib-1.6.0" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /FR /YX /FD /c -# ADD CPP /nologo /MD /W3 /GX /Zi /O2 /Ob2 /I "." /I "SDL-1.2.5\include" /I "SDL_image-1.2" /I "plib-1.6.0" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /FR /YX /FD /c +# ADD CPP /nologo /MD /W3 /GX /Zi /O2 /Ob2 /I "." /I "SDL-1.2.5\include" /I "SDL_image-1.2" /I "plib-1.6.0" /I "SDL_net-1.2.5\lib\sdl_net.lib" /I "SDL_net-1.2.5\include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /FR /YX /FD /l "SDL_net-1.2.4\lib\sdl_net.lib" /c MTL=midl.exe # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 @@ -135,14 +131,14 @@ BSC32=bscmake.exe LINK32=link.exe # ADD BASE LINK32 $(intdir)\verstub.obj kernel32.lib gdi32.lib shell32.lib user32.lib advapi32.lib winmm.lib /nologo /subsystem:windows /pdb:"../release6/StepMania.pdb" /map /debug /machine:I386 # SUBTRACT BASE LINK32 /verbose /pdb:none -# ADD LINK32 $(intdir)\verstub.obj kernel32.lib gdi32.lib shell32.lib user32.lib advapi32.lib winmm.lib /nologo /subsystem:windows /map /debug /machine:I386 /out:"../StepMania.exe" +# ADD LINK32 $(intdir)\verstub.obj kernel32.lib gdi32.lib shell32.lib user32.lib advapi32.lib winmm.lib "SDL_net-1.2.5\lib\sdl_net.lib" /nologo /subsystem:windows /map /debug /machine:I386 /out:"../StepMania.exe" # SUBTRACT LINK32 /verbose /pdb:none # Begin Special Build Tool IntDir=.\../Release6 -TargetDir=\CVS\stepmania\stepmania +TargetDir=\stepmania TargetName=StepMania SOURCE="$(InputPath)" -PreLink_Cmds=disasm\verinc cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)\ +PreLink_Cmds=disasm\verinc cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)\ PostBuild_Cmds=disasm\mapconv $(IntDir)\$(TargetName).map $(TargetDir)\StepMania.vdi ia32.vdi # End Special Build Tool @@ -179,11 +175,7 @@ XBCP=xbecopy.exe # ADD BASE XBCP /NOLOGO # ADD XBCP /NOLOGO # Begin Special Build Tool -IntDir=.\StepMania___Xbox_Release -TargetDir=\stepmania\stepmania -TargetName=default -SOURCE="$(InputPath)" -PreLink_Cmds=disasm\verinc cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)\ +PreLink_Cmds=disasm\verinc cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)\ PostBuild_Cmds=disasm\mapconv $(IntDir)\$(TargetName).map $(TargetDir)\StepMania.vdi ia32.vdi # End Special Build Tool @@ -5302,6 +5294,25 @@ SOURCE=.\InputQueue.h # End Source File # Begin Source File +SOURCE=.\NetworkManager.cpp + +!IF "$(CFG)" == "StepMania - Win32 Debug" + +!ELSEIF "$(CFG)" == "StepMania - Xbox Debug" + +!ELSEIF "$(CFG)" == "StepMania - Win32 Release" + +!ELSEIF "$(CFG)" == "StepMania - Xbox Release" + +!ENDIF + +# End Source File +# Begin Source File + +SOURCE=.\NetworkManager.h +# End Source File +# Begin Source File + SOURCE=.\NoteSkinManager.cpp !IF "$(CFG)" == "StepMania - Win32 Debug"