diff --git a/stepmania/Themes/default/Sounds/MemoryCardManager disconnect.ogg b/stepmania/Themes/default/Sounds/MemoryCardManager disconnect.ogg new file mode 100644 index 0000000000..ab3db0f2fc Binary files /dev/null and b/stepmania/Themes/default/Sounds/MemoryCardManager disconnect.ogg differ diff --git a/stepmania/src/MemoryCardManager.cpp b/stepmania/src/MemoryCardManager.cpp index 48e5486d6d..e696bf6131 100644 --- a/stepmania/src/MemoryCardManager.cpp +++ b/stepmania/src/MemoryCardManager.cpp @@ -15,6 +15,7 @@ #include "arch/MemoryCard/MemoryCardDriver.h" // for UsbStorageDevice #include "arch/arch.h" #include "ScreenManager.h" +#include "ThemeManager.h" MemoryCardManager* MEMCARDMAN = NULL; // global and accessable from anywhere in our program @@ -29,6 +30,10 @@ MemoryCardManager::MemoryCardManager() m_bTooLate[NUM_PLAYERS] = false; m_bWriteError[NUM_PLAYERS] = false; } + m_pDriver->GetStorageDevices( g_StorageDevices ); + + m_soundConnect.Load( THEME->GetPathToS("MemoryCardManager connect") ); + m_soundDisconnect.Load( THEME->GetPathToS("MemoryCardManager disconnect") ); } MemoryCardManager::~MemoryCardManager() @@ -51,7 +56,10 @@ void MemoryCardManager::Update( float fDelta ) { const UsbStorageDevice old = vOld[i]; if( find(vNew.begin(),vNew.end(),old) == vNew.end() ) + { SCREENMAN->SystemMessage( ssprintf("Disconnected bus %d port %d device %d path %s", old.iBus, old.iPortOnHub, old.iDeviceOnBus, old.sOsMountDir.c_str()) ); + m_soundDisconnect.Play(); + } } // check for connects @@ -59,7 +67,10 @@ void MemoryCardManager::Update( float fDelta ) { const UsbStorageDevice newd = vNew[i]; if( find(vOld.begin(),vOld.end(),newd) == vOld.end() ) + { SCREENMAN->SystemMessage( ssprintf("Connected bus %d port %d device %d path %s", newd.iBus, newd.iPortOnHub, newd.iDeviceOnBus, newd.sOsMountDir.c_str()) ); + m_soundConnect.Play(); + } } } } diff --git a/stepmania/src/MemoryCardManager.h b/stepmania/src/MemoryCardManager.h index bc9d862970..babef7f855 100644 --- a/stepmania/src/MemoryCardManager.h +++ b/stepmania/src/MemoryCardManager.h @@ -11,6 +11,7 @@ ----------------------------------------------------------------------------- */ #include "PlayerNumber.h" +#include "RageSound.h" struct UsbStorageDevice; class MemoryCardDriver; @@ -38,6 +39,9 @@ protected: bool m_bTooLate[NUM_PLAYERS]; // card was inserted after lock bool m_bWriteError[NUM_PLAYERS]; // couldn't write to the card UsbStorageDevice* m_pDevice[NUM_PLAYERS]; // device in the memory card slot, NULL if none + + RageSound m_soundConnect; + RageSound m_soundDisconnect; }; extern MemoryCardManager* MEMCARDMAN; // global and accessable from anywhere in our program