diff --git a/stepmania/src/arch/ArchHooks/ArchHooks.cpp b/stepmania/src/arch/ArchHooks/ArchHooks.cpp index c24bc59aea..270da05334 100644 --- a/stepmania/src/arch/ArchHooks/ArchHooks.cpp +++ b/stepmania/src/arch/ArchHooks/ArchHooks.cpp @@ -1,4 +1,27 @@ #include "global.h" #include "ArchHooks.h" +#include "PrefsManager.h" +#include "RageUtil.h" ArchHooks *HOOKS = NULL; + +bool ArchHooks::MessageIsIgnored( CString ID ) +{ + vector list; + split( PREFSMAN->m_sIgnoredMessageWindows, ",", list ); + for( unsigned i = 0; i < list.size(); ++i ) + if( !ID.CompareNoCase(list[i]) ) + return true; + return false; +} + +void ArchHooks::IgnoreMessage( CString ID ) +{ + if( MessageIsIgnored(ID) ) + return; + vector list; + split( PREFSMAN->m_sIgnoredMessageWindows, ",", list ); + list.push_back( ID ); + PREFSMAN->m_sIgnoredMessageWindows = join( ",", list ); + PREFSMAN->SaveGlobalPrefsToDisk(); +} diff --git a/stepmania/src/arch/ArchHooks/ArchHooks.h b/stepmania/src/arch/ArchHooks/ArchHooks.h index 24573c829f..1500564bae 100644 --- a/stepmania/src/arch/ArchHooks/ArchHooks.h +++ b/stepmania/src/arch/ArchHooks/ArchHooks.h @@ -17,6 +17,9 @@ */ class ArchHooks { + bool MessageIsIgnored( CString ID ); + void IgnoreMessage( CString ID ); + public: /* This receives all logs. 'important' is set for Warn and Info. */ virtual void Log(CString str, bool important) { } diff --git a/stepmania/src/arch/ArchHooks/ArchHooks_Win32.cpp b/stepmania/src/arch/ArchHooks/ArchHooks_Win32.cpp index af93a0741c..38c88fd78d 100644 --- a/stepmania/src/arch/ArchHooks/ArchHooks_Win32.cpp +++ b/stepmania/src/arch/ArchHooks/ArchHooks_Win32.cpp @@ -39,27 +39,6 @@ void ArchHooks_Win32::DumpDebugInfo() SearchForDebugInfo(); } -bool ArchHooks_Win32::MessageIsIgnored( CString ID ) -{ - vector list; - split( PREFSMAN->m_sIgnoredMessageWindows, ",", list ); - for( unsigned i = 0; i < list.size(); ++i ) - if( !ID.CompareNoCase(list[i]) ) - return true; - return false; -} - -void ArchHooks_Win32::IgnoreMessage( CString ID ) -{ - if( MessageIsIgnored(ID) ) - return; - vector list; - split( PREFSMAN->m_sIgnoredMessageWindows, ",", list ); - list.push_back( ID ); - PREFSMAN->m_sIgnoredMessageWindows = join( ",", list ); - PREFSMAN->SaveGlobalPrefsToDisk(); -} - static CString g_sMessage; static bool g_AllowHush; static bool g_Hush; diff --git a/stepmania/src/arch/ArchHooks/ArchHooks_Win32.h b/stepmania/src/arch/ArchHooks/ArchHooks_Win32.h index 6284fec7e2..d2994c8dc7 100644 --- a/stepmania/src/arch/ArchHooks/ArchHooks_Win32.h +++ b/stepmania/src/arch/ArchHooks/ArchHooks_Win32.h @@ -4,16 +4,13 @@ #include "ArchHooks.h" class ArchHooks_Win32: public ArchHooks { - bool MessageIsIgnored( CString ID ); - void IgnoreMessage( CString ID ); - public: - ArchHooks_Win32(); - void Log(CString str, bool important); - void DumpDebugInfo(); - void AdditionalLog(CString str); - void MessageBoxOK( CString sMessage, CString ID ); - MessageBoxResult MessageBoxAbortRetryIgnore( CString sMessage, CString ID ); + ArchHooks_Win32(); + void Log(CString str, bool important); + void DumpDebugInfo(); + void AdditionalLog(CString str); + void MessageBoxOK( CString sMessage, CString ID ); + MessageBoxResult MessageBoxAbortRetryIgnore( CString sMessage, CString ID ); }; #undef ARCH_HOOKS diff --git a/stepmania/src/arch/ArchHooks/ArchHooks_darwin.cpp b/stepmania/src/arch/ArchHooks/ArchHooks_darwin.cpp new file mode 100644 index 0000000000..f35c0eb69d --- /dev/null +++ b/stepmania/src/arch/ArchHooks/ArchHooks_darwin.cpp @@ -0,0 +1,28 @@ +/* + * ArchHooks_darwin.cpp + * stepmania + * + * Created by Steve Checkoway on Tue Jul 15 2003. + * Copyright (c) 2003 Steve Checkoway. All rights reserved. + * + */ + +#include "global.h" +#include "PrefsManager.h" +#include "ArchHooks_darwin.h" + +ArchHooks_darwin::ArchHooks_darwin() { + +} + +void ArchHooks_darwin::Log(CString str, bool important) { + +} + +void ArchHooks_darwin::MessageBoxOK(CString sMessage, CString ID) { + +} + +ArchHooks::MessageBoxResult ArchHooks_darwin::MessageBoxAbortRetryIgnore(CString sMessage, CString ID) { + return ignore; +} \ No newline at end of file diff --git a/stepmania/src/arch/ArchHooks/ArchHooks_darwin.h b/stepmania/src/arch/ArchHooks/ArchHooks_darwin.h new file mode 100644 index 0000000000..8062b838bc --- /dev/null +++ b/stepmania/src/arch/ArchHooks/ArchHooks_darwin.h @@ -0,0 +1,31 @@ +#ifndef ARCH_HOOKS_DARWIN_H +#define ARCH_HOOKS_DARWIN_H +/* + * ArchHooks_darwin.h + * stepmania + * + * Created by Steve Checkoway on Tue Jul 15 2003. + * Copyright (c) 2003 Steve Checkoway. All rights reserved. + * + */ + +#include "ArchHooks.h" +#include + +class ArchHooks_darwin : public ArchHooks { +private: + queue logs; + CString aLog; + +public: + ArchHooks_darwin(); + void Log(CString str, bool important); + void AdditionalLog(CString str) { aLog = str; } + void MessageBoxOK(CString sMessage, CString ID = ""); + MessageBoxResult MessageBoxAbortRetryIgnore(CString sMessage, CString ID = ""); +}; + +#undef ARCH_HOOKS +#define ARCH_HOOKS ArchHooks_darwin + +#endif /* ARCH_HOOKS_DARWIN_H */ \ No newline at end of file diff --git a/stepmania/src/arch/arch_darwin.h b/stepmania/src/arch/arch_darwin.h index 847abe5d11..dbb1c1b959 100644 --- a/stepmania/src/arch/arch_darwin.h +++ b/stepmania/src/arch/arch_darwin.h @@ -13,6 +13,7 @@ #include "Sound/RageSoundDriver_QT1.h" #include "Sound/RageSoundDriver_QT.h" #include "LoadingWindow/LoadingWindow_Cocoa.h" +#include "ArchHooks/ArchHooks_darwin.h" #endif